@t8/docsgen 0.1.40 → 0.1.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bin.js CHANGED
@@ -369,21 +369,31 @@ async function getNav(ctx, navItems) {
369
369
  navContent = navDom.innerHTML;
370
370
  }
371
371
  let navItemCount = 0;
372
- for (let { id, title, items } of navItems) {
372
+ if (navItems.length === 1) {
373
+ let { id, items } = navItems[0];
373
374
  let itemLink = `${root}${contentDir}/${encodeURIComponent(id)}`;
374
- s += `
375
+ for (let { id: id2, title } of items) {
376
+ s += `
377
+ <li><a href="${itemLink}#${encodeURIComponent(id2)}">${title}</a></li>`;
378
+ navItemCount++;
379
+ }
380
+ } else {
381
+ for (let { id, title, items } of navItems) {
382
+ let itemLink = `${root}${contentDir}/${encodeURIComponent(id)}`;
383
+ s += `
375
384
  <li data-id="${id}"><a href="${itemLink}">${title}</a>`;
376
- if (items.length !== 0) {
377
- s += "\n <ul>";
378
- for (let { id: id2, title: title2 } of items) {
379
- s += `
385
+ if (items.length !== 0) {
386
+ s += "\n <ul>";
387
+ for (let { id: id2, title: title2 } of items) {
388
+ s += `
380
389
  <li><a href="${itemLink}#${encodeURIComponent(id2)}">${title2}</a></li>`;
381
- navItemCount++;
390
+ navItemCount++;
391
+ }
392
+ s += "\n </ul>\n";
382
393
  }
383
- s += "\n </ul>\n";
394
+ s += "</li>";
395
+ navItemCount++;
384
396
  }
385
- s += "</li>";
386
- navItemCount++;
387
397
  }
388
398
  if ((!s || navItemCount < 2) && !navContent) return "";
389
399
  s = s.trim() ? `<section><ul>${s}
@@ -446,8 +456,9 @@ function buildNav(ctx, dom) {
446
456
  let slug = getSlug(element.textContent);
447
457
  let sectionId = isSectionTitle ? slug : navItem?.id ?? "";
448
458
  let link = `${root}${contentDir}/${sectionId}`;
449
- if (!isSectionTitle) link += `#${slug}`;
450
- linkMap[`#${slug}`] = link;
459
+ let elementId = element.id || slug.toLowerCase().replace(/_/g, "-");
460
+ if (elementId)
461
+ linkMap[`#${elementId}`] = `${link}${isSectionTitle ? "" : `#${slug}`}`;
451
462
  if (singlePage && isSectionTitle) {
452
463
  if (navItem) {
453
464
  element.id = slug;
@@ -457,7 +468,6 @@ function buildNav(ctx, dom) {
457
468
  });
458
469
  }
459
470
  } else if (isSectionTitle) {
460
- element.id = slug;
461
471
  if (navItem) nav.push(navItem);
462
472
  navItem = {
463
473
  id: slug,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@t8/docsgen",
3
- "version": "0.1.40",
3
+ "version": "0.1.42",
4
4
  "description": "",
5
5
  "main": "dist/bin.js",
6
6
  "bin": {
package/src/bin/getNav.ts CHANGED
@@ -32,24 +32,35 @@ export async function getNav(ctx: Context, navItems: NavItem[]) {
32
32
 
33
33
  let navItemCount = 0;
34
34
 
35
- for (let { id, title, items } of navItems) {
35
+ if (navItems.length === 1) {
36
+ let { id, items } = navItems[0];
36
37
  let itemLink = `${root}${contentDir}/${encodeURIComponent(id)}`;
37
38
 
38
- s += `\n<li data-id="${id}"><a href="${itemLink}">${title}</a>`;
39
+ for (let { id, title } of items) {
40
+ s += `\n<li><a href="${itemLink}#${encodeURIComponent(id)}">${title}</a></li>`;
41
+ navItemCount++;
42
+ }
43
+ }
44
+ else {
45
+ for (let { id, title, items } of navItems) {
46
+ let itemLink = `${root}${contentDir}/${encodeURIComponent(id)}`;
47
+
48
+ s += `\n<li data-id="${id}"><a href="${itemLink}">${title}</a>`;
39
49
 
40
- if (items.length !== 0) {
41
- s += "\n <ul>";
50
+ if (items.length !== 0) {
51
+ s += "\n <ul>";
42
52
 
43
- for (let { id, title } of items) {
44
- s += `\n <li><a href="${itemLink}#${encodeURIComponent(id)}">${title}</a></li>`;
45
- navItemCount++;
53
+ for (let { id, title } of items) {
54
+ s += `\n <li><a href="${itemLink}#${encodeURIComponent(id)}">${title}</a></li>`;
55
+ navItemCount++;
56
+ }
57
+
58
+ s += "\n </ul>\n";
46
59
  }
47
60
 
48
- s += "\n </ul>\n";
61
+ s += "</li>";
62
+ navItemCount++;
49
63
  }
50
-
51
- s += "</li>";
52
- navItemCount++;
53
64
  }
54
65
 
55
66
  if ((!s || navItemCount < 2) && !navContent) return "";
@@ -41,9 +41,10 @@ function buildNav(ctx: Context, dom: JSDOM) {
41
41
  let sectionId = isSectionTitle ? slug : (navItem?.id ?? "");
42
42
  let link = `${root}${contentDir}/${sectionId}`;
43
43
 
44
- if (!isSectionTitle) link += `#${slug}`;
44
+ let elementId = element.id || slug.toLowerCase().replace(/_/g, "-");
45
45
 
46
- linkMap[`#${slug}`] = link;
46
+ if (elementId)
47
+ linkMap[`#${elementId}`] = `${link}${isSectionTitle ? "" : `#${slug}`}`;
47
48
 
48
49
  if (singlePage && isSectionTitle) {
49
50
  if (navItem) {
@@ -54,8 +55,6 @@ function buildNav(ctx: Context, dom: JSDOM) {
54
55
  });
55
56
  }
56
57
  } else if (isSectionTitle) {
57
- element.id = slug;
58
-
59
58
  if (navItem) nav.push(navItem);
60
59
 
61
60
  navItem = {