@dogsbay/format-astro 0.2.0-beta.114 → 0.2.0-beta.116

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.
Files changed (62) hide show
  1. package/dist/api-markdown.d.ts +8 -0
  2. package/dist/api-markdown.d.ts.map +1 -0
  3. package/dist/api-markdown.js +41 -0
  4. package/dist/api-markdown.js.map +1 -0
  5. package/dist/blog.d.ts.map +1 -1
  6. package/dist/blog.js +5 -1
  7. package/dist/blog.js.map +1 -1
  8. package/dist/browser.d.ts +14 -0
  9. package/dist/browser.d.ts.map +1 -0
  10. package/dist/browser.js +14 -0
  11. package/dist/browser.js.map +1 -0
  12. package/dist/canonical.d.ts +34 -0
  13. package/dist/canonical.d.ts.map +1 -0
  14. package/dist/canonical.js +107 -0
  15. package/dist/canonical.js.map +1 -0
  16. package/dist/head-metadata.d.ts +26 -0
  17. package/dist/head-metadata.d.ts.map +1 -0
  18. package/dist/head-metadata.js +56 -0
  19. package/dist/head-metadata.js.map +1 -0
  20. package/dist/index.d.ts +4 -2
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +7 -3
  23. package/dist/index.js.map +1 -1
  24. package/dist/llms-txt.d.ts +3 -3
  25. package/dist/llms-txt.d.ts.map +1 -1
  26. package/dist/llms-txt.js +48 -242
  27. package/dist/llms-txt.js.map +1 -1
  28. package/dist/plugins.d.ts.map +1 -1
  29. package/dist/plugins.js +3 -1
  30. package/dist/plugins.js.map +1 -1
  31. package/dist/project.d.ts +36 -1
  32. package/dist/project.d.ts.map +1 -1
  33. package/dist/project.js +292 -840
  34. package/dist/project.js.map +1 -1
  35. package/dist/redirects.d.ts +22 -0
  36. package/dist/redirects.d.ts.map +1 -1
  37. package/dist/redirects.js +70 -123
  38. package/dist/redirects.js.map +1 -1
  39. package/dist/serialize.d.ts +4 -13
  40. package/dist/serialize.d.ts.map +1 -1
  41. package/dist/serialize.js +305 -103
  42. package/dist/serialize.js.map +1 -1
  43. package/dist/sitemap.d.ts +44 -17
  44. package/dist/sitemap.d.ts.map +1 -1
  45. package/dist/sitemap.js +31 -104
  46. package/dist/sitemap.js.map +1 -1
  47. package/dist/taxonomy.d.ts.map +1 -1
  48. package/dist/taxonomy.js +7 -1
  49. package/dist/taxonomy.js.map +1 -1
  50. package/dist/theme-css.d.ts +26 -0
  51. package/dist/theme-css.d.ts.map +1 -0
  52. package/dist/theme-css.js +642 -0
  53. package/dist/theme-css.js.map +1 -0
  54. package/dist/tone-classes.d.ts +14 -0
  55. package/dist/tone-classes.d.ts.map +1 -0
  56. package/dist/tone-classes.js +30 -0
  57. package/dist/tone-classes.js.map +1 -0
  58. package/dist/write-if-changed.d.ts +21 -0
  59. package/dist/write-if-changed.d.ts.map +1 -0
  60. package/dist/write-if-changed.js +58 -0
  61. package/dist/write-if-changed.js.map +1 -0
  62. package/package.json +13 -5
@@ -0,0 +1,8 @@
1
+ /** Block Markdown → HTML (an operation's description). */
2
+ export declare function apiBlockHtml(text: string): string;
3
+ /** One line of Markdown → inline HTML (a parameter or property). */
4
+ export declare function apiInlineHtml(text: string): string;
5
+ /** A schema property list with every `description` rendered inline,
6
+ * through nested `properties` / `items`. A copy; the node is untouched. */
7
+ export declare function apiPropertiesHtml(list: unknown): unknown;
8
+ //# sourceMappingURL=api-markdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-markdown.d.ts","sourceRoot":"","sources":["../src/api-markdown.ts"],"names":[],"mappings":"AAgBA,0DAA0D;AAC1D,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,oEAAoE;AACpE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAID;4EAC4E;AAC5E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAUxD"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * API description text → HTML, for the API components that render it with
3
+ * `set:html` (EndpointCard, PropertyItem, ParameterTable).
4
+ *
5
+ * OpenAPI defines `description` as CommonMark, and every producer of an
6
+ * `endpoint` node (format-openapi, the MDX adapters) supplies text or
7
+ * Markdown, never HTML. It was passed through as HTML: a spec's markdown
8
+ * showed as `## Authentication` and `**Creating a token**`, and a spec from
9
+ * someone else's repository could put a `<script>` into the built site.
10
+ * Rendered here with raw HTML OFF (`<` is escaped) and markdown-it's link
11
+ * validation (no `javascript:` / `vbscript:` / `file:` / `data:` links).
12
+ */
13
+ import MarkdownIt from "markdown-it";
14
+ const md = new MarkdownIt({ html: false, linkify: false, typographer: false });
15
+ /** Block Markdown → HTML (an operation's description). */
16
+ export function apiBlockHtml(text) {
17
+ return md.render(text).trim();
18
+ }
19
+ /** One line of Markdown → inline HTML (a parameter or property). */
20
+ export function apiInlineHtml(text) {
21
+ return md.renderInline(text.replace(/\s*\n\s*/g, " ")).trim();
22
+ }
23
+ /** A schema property list with every `description` rendered inline,
24
+ * through nested `properties` / `items`. A copy; the node is untouched. */
25
+ export function apiPropertiesHtml(list) {
26
+ if (!Array.isArray(list))
27
+ return list;
28
+ return list.map((p) => {
29
+ if (!p || typeof p !== "object")
30
+ return p;
31
+ const o = { ...p };
32
+ if (typeof o.description === "string")
33
+ o.description = apiInlineHtml(o.description);
34
+ if (o.properties)
35
+ o.properties = apiPropertiesHtml(o.properties);
36
+ if (o.items)
37
+ o.items = apiPropertiesHtml(o.items);
38
+ return o;
39
+ });
40
+ }
41
+ //# sourceMappingURL=api-markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-markdown.js","sourceRoot":"","sources":["../src/api-markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,UAAU,MAAM,aAAa,CAAC;AAErC,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;AAE/E,0DAA0D;AAC1D,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AAChC,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAChE,CAAC;AAID;4EAC4E;AAC5E,MAAM,UAAU,iBAAiB,CAAC,IAAa;IAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACpB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,EAAE,GAAI,CAAU,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;YAAE,CAAC,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACpF,IAAI,CAAC,CAAC,UAAU;YAAE,CAAC,CAAC,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,CAAC,CAAC,KAAK;YAAE,CAAC,CAAC,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"blog.d.ts","sourceRoot":"","sources":["../src/blog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blog.d.ts","sourceRoot":"","sources":["../src/blog.ts"],"names":[],"mappings":"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"}
package/dist/blog.js CHANGED
@@ -25,7 +25,9 @@
25
25
  * never changes after the build, so doing it in the browser would
26
26
  * re-walk the DOM on every page load for a constant.
27
27
  */
28
- import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
28
+ import { existsSync, mkdirSync, readFileSync, rmSync } from "node:fs";
29
+ // Unchanged files are not rewritten, so `site dev` reloads only what changed
30
+ import { writeFileSync } from "./write-if-changed.js";
29
31
  import { dirname, join } from "node:path";
30
32
  import { basePathSegments, joinBaseUrl, withBasePath } from "./base-path.js";
31
33
  import { derivePageDescription, textOfNode } from "./taxonomy.js";
@@ -287,6 +289,7 @@ const title = pageNo === 1 ? siteConfig.siteName : \`\${siteConfig.siteName} —
287
289
  ---
288
290
  <DocsLayout
289
291
  siteName={siteConfig.siteName}
292
+ siteTagline={siteConfig.tagline}
290
293
  title={title}
291
294
  nav={navData as any[]}
292
295
  headings={[]}
@@ -301,6 +304,7 @@ const title = pageNo === 1 ? siteConfig.siteName : \`\${siteConfig.siteName} —
301
304
  plausibleScriptUrl={siteConfig.plausible?.scriptUrl}
302
305
  tagPrefixes={siteConfig.tagPrefixes}
303
306
  tagLabels={siteConfig.tagLabels}
307
+ tagAutoColor={siteConfig.tagAutoColor}
304
308
  taxonomyIndexPaths={siteConfig.taxonomyIndexPaths}
305
309
  chrome="blog"
306
310
  favicon={favicon}
package/dist/blog.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"blog.js","sourceRoot":"","sources":["../src/blog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blog.js","sourceRoot":"","sources":["../src/blog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtE,6EAA6E;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAElE,wDAAwD;AACxD,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,kEAAkE;AAClE,MAAM,qBAAqB,GAAG,8BAA8B,CAAC;AAE7D;;;;;;GAMG;AACH,MAAM,WAAW,GAAG,yCAAyC,CAAC;AAkB9D,sDAAsD;AACtD,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,SAAS,EAAE,GAAG;IACd,YAAY,EAAE,EAAE;IAChB,GAAG,EAAE,IAAI;IACT,SAAS,EAAE,SAAS;CACrB,CAAC;AAsDF;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,IAAgB;IACzC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;SAC3B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAC/B,IAAI,CAAC,GAAG,CAAC;SACT,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;IACV,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AAChC,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,cAAc,CAAC,IAAgB;IAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAmB,EACnB,IAQC;IAED,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC3C,wEAAwE;IACxE,qEAAqE;IACrE,gEAAgE;IAChE,qEAAqE;IACrE,sBAAsB;IACtB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC;IAC7C,MAAM,KAAK,GAAkB,EAAE,CAAC;IAEhC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,kEAAkE;QAClE,gCAAgC;QAChC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,SAAS,KAAK,GAAG;YAAE,SAAS;QAEhE,mEAAmE;QACnE,oEAAoE;QACpE,iEAAiE;QACjE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAA4B,CAAC;QAC/D,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,EAAE,CAAC,SAAS,KAAK,IAAI;YAAE,SAAS;QAC9D,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAE5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAE7B,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI;YAC9B,8DAA8D;YAC9D,wDAAwD;YACxD,4CAA4C;YAC5C,GAAG,EAAE,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;YAC/C,WAAW,EAAE,qBAAqB,CAAC,IAAI,CAAC;YACxC,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC,SAAS,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,cAAc,EAAE,cAAc,CAAC,IAAI,CAAC;SACrC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAClB,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC;QACrB,OAAO,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,SAAS,EACP,MAAM,CAAC,SAAS,KAAK,GAAG;YACtB,CAAC,CAAC,SAAS,IAAI,GAAG;YAClB,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;QAC/C,QAAQ;QACR,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,SAAS;QACT,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,KAAK;QACL,SAAS,EAAE,KAAK,CAAC,MAAM;KACxB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,aAAa,CAAC,IAAc;IAC1C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAC7B,qEAAqE;QACrE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;YACjB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7C,wEAAwE;IACxE,kEAAkE;IAClE,OAAO,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACpF,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,cAAc,CAAC,IAAc;IAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;AACvE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAC3B,SAAiB,EACjB,IAAc,EACd,MAAsB;IAEtB,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,aAAa,CACX,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAC3C,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAC9B,CAAC;IAEF,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,qEAAqE;IACrE,sEAAsE;IACtE,cAAc;IACd,MAAM,QAAQ,GAAG;QACf,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;QAClC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9D,CAAC;IACF,MAAM,aAAa,GACjB,MAAM,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAEnC,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,IAAI,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;QAC/C,MAAM,KAAK,GACT,MAAM,KAAK,CAAC;YACV,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,aAAa,EAAE,aAAa,CAAC;YAChD,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxB,SAAS;QACX,CAAC;QACD,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,aAAa,CAAC,SAAS,EAAE,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IAED,kEAAkE;IAClE,kEAAkE;IAClE,oEAAoE;IACpE,oEAAoE;IACpE,SAAS;IACT,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,GAAI,KAAK,EAAE,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,IAAI,CACpB,SAAS,EACT,KAAK,EACL,OAAO,EACP,GAAG,QAAQ,EACX,GAAG,aAAa,EAChB,MAAM,EACN,GAAG,KAAK,QAAQ,CACjB,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,MAAM;QAClC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;YAAE,MAAM,CAAC,sBAAsB;QAC/D,MAAM,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACrC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,MAAc,EAAE,UAAkB;IACzD,yEAAyE;IACzE,uEAAuE;IACvE,kDAAkD;IAClD,EAAE;IACF,uEAAuE;IACvE,wEAAwE;IACxE,gEAAgE;IAChE,OAAO;EACP,qBAAqB;;;;;;;;;;;;;;iBAcN,MAAM;qBACF,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqC9B,CAAC;AACF,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * The Worker- and browser-safe part of @dogsbay/format-astro: the builders
3
+ * and helpers that import no Node built-ins. The main entry also writes files
4
+ * (project generation, plugins, taxonomy pages) and needs Node.
5
+ *
6
+ * Used by packages that run in a Worker or a browser as well as in Node,
7
+ * such as @dogsbay/site-check and dogsbay-ssg.
8
+ */
9
+ export * from "./lead.js";
10
+ export * from "./llms-txt.js";
11
+ export * from "./sitemap.js";
12
+ export * from "./redirects.js";
13
+ export * from "./base-path.js";
14
+ //# sourceMappingURL=browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * The Worker- and browser-safe part of @dogsbay/format-astro: the builders
3
+ * and helpers that import no Node built-ins. The main entry also writes files
4
+ * (project generation, plugins, taxonomy pages) and needs Node.
5
+ *
6
+ * Used by packages that run in a Worker or a browser as well as in Node,
7
+ * such as @dogsbay/site-check and dogsbay-ssg.
8
+ */
9
+ export * from "./lead.js";
10
+ export * from "./llms-txt.js";
11
+ export * from "./sitemap.js";
12
+ export * from "./redirects.js";
13
+ export * from "./base-path.js";
14
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Canonical URLs on a versioned site: a page of an older version names the
3
+ * same page in the default version, and leaves the sitemap. The decision is
4
+ * `decideCanonical` in @dogsbay/site-files, shared with dogsbay-ssg (its
5
+ * src/core/canonical.ts); this file gives it the default version's pages
6
+ * and redirects from the imported pages. See dogsbay-ssg
7
+ * plans/canonical-versions.md, step 2.
8
+ */
9
+ import type { ExportPage } from "@dogsbay/types";
10
+ import { type VersionSeo } from "@dogsbay/site-files";
11
+ export interface CanonicalPlanOptions {
12
+ /** Pages the build does not emit (fragments, `excludeFromRoutes`): never a canonical target. */
13
+ isEmitted?: (page: ExportPage) => boolean;
14
+ siteUrl?: string;
15
+ /** urlBase + basePath, as the sitemap takes it. */
16
+ basePath?: string;
17
+ versions?: Array<{
18
+ id: string;
19
+ } & VersionSeo>;
20
+ defaultVersion?: string;
21
+ redirects?: Record<string, string | {
22
+ to: string;
23
+ status?: number;
24
+ }>;
25
+ }
26
+ export interface PageCanonical {
27
+ /** The canonical URL when it is not the page itself (DocsLayout computes that one). */
28
+ url?: string;
29
+ noindex: boolean;
30
+ sitemap: boolean;
31
+ }
32
+ /** Per page slug: its canonical, noindex and sitemap decision. */
33
+ export declare function canonicalPlan(pages: ExportPage[], o: CanonicalPlanOptions): Map<string, PageCanonical>;
34
+ //# sourceMappingURL=canonical.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../src/canonical.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIvE,MAAM,WAAW,oBAAoB;IACnC,gGAAgG;IAChG,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC,CAAC;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtE;AAED,MAAM,WAAW,aAAa;IAC5B,uFAAuF;IACvF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAID,kEAAkE;AAClE,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,oBAAoB,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CA4FtG"}
@@ -0,0 +1,107 @@
1
+ import { decideCanonical } from "@dogsbay/site-files";
2
+ import { normalizePrefix, originOf, pageHref } from "./sitemap.js";
3
+ import { inPageUnit, pageUnitPrefix } from "./redirects.js";
4
+ const URL_RE = /^[a-z][a-z0-9+.-]*:/i;
5
+ /** Per page slug: its canonical, noindex and sitemap decision. */
6
+ export function canonicalPlan(pages, o) {
7
+ const plan = new Map();
8
+ const prefix = normalizePrefix(o.basePath);
9
+ const origin = o.siteUrl && /^https?:\/\//.test(o.siteUrl) ? originOf(o.siteUrl).replace(/\/+$/, "") : undefined;
10
+ const basePath = prefix.replace(/^\//, "");
11
+ // Site paths as page slugs are written: no slashes at the ends, no base path, no suffix.
12
+ const norm = (s) => {
13
+ let p = s.trim().replace(/[?#].*$/, "").replace(/^\/+|\/+$/g, "");
14
+ if (basePath && (p === basePath || p.startsWith(basePath + "/")))
15
+ p = p.slice(basePath.length).replace(/^\//, "");
16
+ return p.replace(/(^|\/)index$/, "");
17
+ };
18
+ const live = (p) => !p.redirect && p.frontmatter?.draft !== true && p.frontmatter?.status !== "draft" && (o.isEmitted?.(p) ?? true);
19
+ const slugOf = (p) => norm(p.slug);
20
+ const pageSlugs = new Set(pages.filter(live).map(slugOf));
21
+ // Redirects by site path, chains collapsed; front matter paths are inside the page's unit (#096).
22
+ const raw = new Map();
23
+ for (const p of pages) {
24
+ // Front matter paths are relative to the page's language and version (#096), as collectRedirects reads them.
25
+ const unit = pageUnitPrefix(p);
26
+ if (typeof p.redirect === "string")
27
+ raw.set(slugOf(p), URL_RE.test(p.redirect) ? p.redirect : norm(inPageUnit(p.redirect, unit, prefix)));
28
+ const aliases = p.frontmatter?.aliases;
29
+ if (Array.isArray(aliases))
30
+ for (const a of aliases)
31
+ if (typeof a === "string" && !URL_RE.test(a))
32
+ raw.set(norm(inPageUnit(a, unit, prefix)), slugOf(p));
33
+ }
34
+ for (const [from, v] of Object.entries(o.redirects ?? {})) {
35
+ const to = typeof v === "string" ? v : v.to;
36
+ raw.set(norm(from), URL_RE.test(to) ? to : norm(to));
37
+ }
38
+ const resolve = (from) => {
39
+ let to = raw.get(from);
40
+ const seen = new Set([from]);
41
+ while (to !== undefined && !URL_RE.test(to) && !pageSlugs.has(to) && raw.has(to) && !seen.has(to)) {
42
+ seen.add(to);
43
+ to = raw.get(to);
44
+ }
45
+ if (to === undefined || seen.has(to))
46
+ return undefined;
47
+ return URL_RE.test(to) || pageSlugs.has(to) ? to : undefined;
48
+ };
49
+ // The default version's pages per language and namespace, by path inside the version.
50
+ const group = (p) => `${p.multiSource?.namespace ?? ""}\0${p.multiSource?.locale ?? ""}`;
51
+ const inVersion = (p) => {
52
+ const orig = (p.multiSource?.originalSlug ?? p.slug).replace(/^\/+|\/+$/g, "");
53
+ return orig === "" ? "index" : orig.replace(/\/index$/, "");
54
+ };
55
+ /** The page's site-path prefix: its slug without the path inside its version. */
56
+ const prefixOf = (p) => {
57
+ const s = slugOf(p);
58
+ const inV = inVersion(p);
59
+ if (inV === "index")
60
+ return s;
61
+ return s.endsWith("/" + inV) ? s.slice(0, -inV.length - 1) : s === inV ? "" : s;
62
+ };
63
+ const defaults = new Map();
64
+ if (o.defaultVersion) {
65
+ for (const p of pages) {
66
+ if (p.multiSource?.version !== o.defaultVersion || !live(p))
67
+ continue;
68
+ const g = defaults.get(group(p)) ?? { prefix: prefixOf(p), pages: new Map() };
69
+ g.pages.set(inVersion(p), slugOf(p));
70
+ defaults.set(group(p), g);
71
+ }
72
+ }
73
+ const hasOlder = pages.some((p) => p.multiSource?.version && p.multiSource.version !== o.defaultVersion);
74
+ const url = (slug) => (origin ? `${origin}${pageHref(slug, prefix)}` : undefined);
75
+ for (const p of pages) {
76
+ if (!live(p))
77
+ continue;
78
+ const version = o.versions?.find((v) => v.id === p.multiSource?.version);
79
+ const table = defaults.get(group(p));
80
+ const fm = typeof p.frontmatter?.canonicalUrl === "string" ? p.frontmatter.canonicalUrl : undefined;
81
+ const d = decideCanonical({
82
+ selfUrl: url(slugOf(p)),
83
+ isDefault: !hasOlder || !p.multiSource?.version || p.multiSource.version === o.defaultVersion || !table,
84
+ path: inVersion(p),
85
+ version,
86
+ frontmatter: fm,
87
+ defaultHas: (path) => !!table?.pages.has(path),
88
+ defaultRedirect: (path) => {
89
+ if (!table)
90
+ return undefined;
91
+ const r = resolve([table.prefix, path === "index" ? "" : path].filter(Boolean).join("/"));
92
+ if (r === undefined || URL_RE.test(r))
93
+ return r;
94
+ const inside = table.prefix ? (r === table.prefix ? "index" : r.startsWith(table.prefix + "/") ? r.slice(table.prefix.length + 1) : undefined) : r || "index";
95
+ return inside !== undefined && table.pages.has(inside) ? inside : `/${r}`;
96
+ },
97
+ });
98
+ const t = d.target;
99
+ plan.set(p.slug, {
100
+ url: t.kind === "self" ? undefined : t.kind === "url" ? t.url : url(table.pages.get(t.path)),
101
+ noindex: d.noindex,
102
+ sitemap: d.sitemap,
103
+ });
104
+ }
105
+ return plan;
106
+ }
107
+ //# sourceMappingURL=canonical.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonical.js","sourceRoot":"","sources":["../src/canonical.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Head metadata per page (dogsbay-ssg plans/head-metadata.md, Blume item 2):
3
+ * whether it is a home page (JSON-LD `WebSite`, og:type website), its
4
+ * `hreflang` alternates across languages, and its nav trail for JSON-LD
5
+ * `BreadcrumbList`. The builders are @dogsbay/site-files', shared with
6
+ * dogsbay-ssg; this file finds the inputs in the imported pages and the nav.
7
+ */
8
+ import type { ExportPage, NavItem } from "@dogsbay/types";
9
+ import { type HreflangLink } from "@dogsbay/site-files";
10
+ export interface HeadMetadata {
11
+ home: boolean;
12
+ alternates: HreflangLink[];
13
+ breadcrumbJsonLd?: Record<string, unknown>;
14
+ }
15
+ export interface HeadMetadataOptions {
16
+ siteUrl?: string;
17
+ /** urlBase + basePath, as the sitemap takes it. */
18
+ basePath?: string;
19
+ defaultLocale?: string;
20
+ /** Pages the build writes (not fragments or excluded routes); others are never an alternate. Drafts and redirects are left out as well. */
21
+ isEmitted?: (p: ExportPage) => boolean;
22
+ /** Pages that list alternates: their own canonical and indexable (hreflang between non-canonical URLs is ignored by search engines). */
23
+ indexable?: (p: ExportPage) => boolean;
24
+ }
25
+ export declare function headMetadata(pages: ExportPage[], nav: NavItem[], o: HeadMetadataOptions): Map<string, HeadMetadata>;
26
+ //# sourceMappingURL=head-metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"head-metadata.d.ts","sourceRoot":"","sources":["../src/head-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAA6C,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnG,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2IAA2I;IAC3I,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC;IACvC,wIAAwI;IACxI,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC;CACxC;AAQD,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,mBAAmB,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CA+CnH"}
@@ -0,0 +1,56 @@
1
+ import { buildBreadcrumbJsonLd, buildHreflangLinks } from "@dogsbay/site-files";
2
+ import { normalizePrefix, originOf, pageHref } from "./sitemap.js";
3
+ /** Path inside the page's source (`guide/install`), `index` for a home page. */
4
+ function inside(p) {
5
+ const orig = (p.multiSource?.originalSlug ?? p.slug).replace(/^\/+|\/+$/g, "");
6
+ return orig === "" || orig === "index" ? "index" : orig.replace(/\/index$/, "");
7
+ }
8
+ export function headMetadata(pages, nav, o) {
9
+ const plan = new Map();
10
+ const live = (p) => !p.redirect && p.frontmatter?.draft !== true && p.frontmatter?.status !== "draft" && (o.isEmitted?.(p) ?? true);
11
+ const prefix = normalizePrefix(o.basePath);
12
+ const origin = o.siteUrl && /^https?:\/\//.test(o.siteUrl) ? originOf(o.siteUrl).replace(/\/+$/, "") : undefined;
13
+ const url = (slug) => (origin ? `${origin}${pageHref(slug, prefix)}` : undefined);
14
+ // Copies of one page across languages: same namespace, version and path inside the source.
15
+ const copies = new Map();
16
+ const locales = new Set(pages.map((p) => p.multiSource?.locale).filter(Boolean));
17
+ if (origin && locales.size >= 2) {
18
+ for (const p of pages) {
19
+ const m = p.multiSource;
20
+ if (!m?.locale || !live(p))
21
+ continue;
22
+ const key = `${m.namespace ?? ""}\0${m.version ?? ""}\0${inside(p)}`;
23
+ const list = copies.get(key) ?? [];
24
+ list.push({ lang: m.locale, url: url(p.slug) });
25
+ copies.set(key, list);
26
+ }
27
+ }
28
+ // The nav trail to each page: labels and hrefs from the top level down.
29
+ const trails = new Map();
30
+ const clean = (href) => href.replace(/[?#].*$/, "").replace(/^\/+|\/+$/g, "").replace(/(^|\/)index$/, "");
31
+ const mount = prefix.replace(/^\/+/, "");
32
+ const key = (href) => {
33
+ const h = clean(href);
34
+ return mount && (h === mount || h.startsWith(`${mount}/`)) ? h.slice(mount.length).replace(/^\/+/, "") : h;
35
+ };
36
+ const walk = (items, chain) => {
37
+ for (const it of items) {
38
+ const here = [...chain, { name: it.label, href: it.href }];
39
+ if (it.href && !/^[a-z][a-z0-9+.-]*:/i.test(it.href) && !it.href.includes("#") && !trails.has(key(it.href)))
40
+ trails.set(key(it.href), here);
41
+ if (it.children?.length)
42
+ walk(it.children, here);
43
+ }
44
+ };
45
+ walk(nav, []);
46
+ for (const p of pages) {
47
+ const home = inside(p) === "index";
48
+ const m = p.multiSource;
49
+ const alternates = m?.locale && live(p) && (o.indexable?.(p) ?? true) ? buildHreflangLinks(copies.get(`${m.namespace ?? ""}\0${m.version ?? ""}\0${inside(p)}`) ?? [], o.defaultLocale) : [];
50
+ const trail = origin && !home ? trails.get(clean(p.slug)) : undefined;
51
+ const breadcrumbJsonLd = trail ? buildBreadcrumbJsonLd(trail.map((t) => ({ name: t.name, url: t.href ? url(key(t.href)) : undefined }))) : undefined;
52
+ plan.set(p.slug, { home, alternates, ...(breadcrumbJsonLd ? { breadcrumbJsonLd } : {}) });
53
+ }
54
+ return plan;
55
+ }
56
+ //# sourceMappingURL=head-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"head-metadata.js","sourceRoot":"","sources":["../src/head-metadata.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,15 +1,16 @@
1
1
  export { treeToAstro, escapeExpr, escapeAttr, escapeTemplate } from "./serialize.js";
2
+ export { writeFileSync, copyFileSync } from "./write-if-changed.js";
2
3
  export { detectLeadingNodes, deriveDescription } from "./lead.js";
3
4
  export type { LeadingNodeInfo } from "./lead.js";
4
5
  export type { AstroGenResult, AstroGenOptions, AstroRenderMode } from "./serialize.js";
5
6
  export { DEFAULT_BASE_PATH, normalizeBasePath, basePathSegments, joinBaseUrl, buildCurrentPath, parseSiteUrl, combinePrefix, resolvePrefixes, } from "./base-path.js";
6
7
  export { buildLlmsTxt, buildSectionLlmsTxt, buildLlmsFullTxt, extractFirstParagraph, } from "./llms-txt.js";
7
8
  export type { BuildLlmsTxtOptions, BuildLlmsFullTxtOptions, } from "./llms-txt.js";
8
- export { buildSitemap, buildSitemapIndex } from "./sitemap.js";
9
+ export { assertLeafSitemap, buildSitemap, buildSitemapFiles, buildSitemapIndex } from "./sitemap.js";
9
10
  export { buildBlogData, blogAdjacency, emitBlogFiles, indexPageCount, readingMinutes, countWords, BLOG_DEFAULTS, } from "./blog.js";
10
11
  export type { BlogEmitConfig, BlogData, BlogPostRef, BlogAdjacency, } from "./blog.js";
11
12
  export type { BuildSitemapOptions } from "./sitemap.js";
12
- export { exportAstroProject, emitSiteScaffold, emitSiteConfig, emitAstroPages, emitConfigDerivedFiles, syncSiteDependencies, emitAgentReadinessFiles, emitSwitcherMap, emitMissingTranslationStubs, emitPassthroughAstroPages, emitDeployArtifacts, workersSubpathOutDir, makeSlugExcluder, } from "./project.js";
13
+ export { exportAstroProject, emitSiteScaffold, emitSiteConfig, emitAstroPages, emitConfigDerivedFiles, syncSiteDependencies, copyComponents, emitAgentReadinessFiles, emitSwitcherMap, emitMissingTranslationStubs, emitPassthroughAstroPages, emitDeployArtifacts, workersSubpathOutDir, makeSlugExcluder, dropUnsafeNavHrefs, } from "./project.js";
13
14
  export type { AstroProjectOptions, SwitcherMap, PassthroughCopy, } from "./project.js";
14
15
  export { emitPluginRuntime } from "./plugins.js";
15
16
  export type { EmitPluginRuntimeOptions, PluginClientModulesGroup, PluginStylesGroup, PluginClientConfig, } from "./plugins.js";
@@ -29,4 +30,5 @@ export type { DiffMarks } from "./diff-decoration.js";
29
30
  */
30
31
  export { BOOK_SEGMENT, assembleBook, bookHeading, bookSlugFrom, estimateTreeBytes, openAsPageNode, rewriteIntraBookLinks, shiftHeadings, slugFromHref, } from "./granularity.js";
31
32
  export type { AssembleBookOptions, BookView } from "./granularity.js";
33
+ export { pageUnitPrefix, inPageUnit, normalizeTarget } from "./redirects.js";
32
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAMrF,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAClE,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAKvF,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAK/D,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,EACV,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,cAAc,EACd,QAAQ,EACR,WAAW,EACX,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAaxD,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,EACf,2BAA2B,EAC3B,yBAAyB,EACzB,mBAAmB,EAKnB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,eAAe,GAChB,MAAM,cAAc,CAAC;AAKtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,YAAY,EACV,wBAAwB,EACxB,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAKtB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;;;;;GASG;AACH,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,YAAY,GACb,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAMpE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAClE,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAKvF,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAKrG,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,EACV,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,cAAc,EACd,QAAQ,EACR,WAAW,EACX,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAaxD,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,uBAAuB,EACvB,eAAe,EACf,2BAA2B,EAC3B,yBAAyB,EACzB,mBAAmB,EAKnB,oBAAoB,EACpB,gBAAgB,EAEhB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,eAAe,GAChB,MAAM,cAAc,CAAC;AAKtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,YAAY,EACV,wBAAwB,EACxB,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAKtB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;;;;;GASG;AACH,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,YAAY,GACb,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  // Astro serializer (TreeNode[] → Astro component markup)
2
2
  export { treeToAstro, escapeExpr, escapeAttr, escapeTemplate } from "./serialize.js";
3
+ export { writeFileSync, copyFileSync } from "./write-if-changed.js";
3
4
  // Auto-lede detection — figures out whether a page tree already
4
5
  // has a leading H1 / paragraph so format-astro can decide whether
5
6
  // to inject frontmatter title + description at the top of <main>.
@@ -12,7 +13,7 @@ export { DEFAULT_BASE_PATH, normalizeBasePath, basePathSegments, joinBaseUrl, bu
12
13
  // llms.txt + llms-full.txt builders (LLM discovery files)
13
14
  export { buildLlmsTxt, buildSectionLlmsTxt, buildLlmsFullTxt, extractFirstParagraph, } from "./llms-txt.js";
14
15
  // Sitemap builders (per-mount, sitemaps.org 0.9)
15
- export { buildSitemap, buildSitemapIndex } from "./sitemap.js";
16
+ export { assertLeafSitemap, buildSitemap, buildSitemapFiles, buildSitemapIndex } from "./sitemap.js";
16
17
  // Blog emission — reverse-chron index + post adjacency. The sibling of
17
18
  // taxonomy.ts: same data-file + generated-route + writer-override shape,
18
19
  // sorted by date instead of grouped by term. See plans/blog-capability.md.
@@ -28,12 +29,14 @@ export { buildBlogData, blogAdjacency, emitBlogFiles, indexPageCount, readingMin
28
29
  // alone; `dogsbay site build` calls `emitAstroPages` +
29
30
  // `emitConfigDerivedFiles` + `emitAgentReadinessFiles`. Pure
30
31
  // `dogsbay convert --to astro` (Step 7) calls only `emitAstroPages`.
31
- export { exportAstroProject, emitSiteScaffold, emitSiteConfig, emitAstroPages, emitConfigDerivedFiles, syncSiteDependencies, emitAgentReadinessFiles, emitSwitcherMap, emitMissingTranslationStubs, emitPassthroughAstroPages, emitDeployArtifacts,
32
+ export { exportAstroProject, emitSiteScaffold, emitSiteConfig, emitAstroPages, emitConfigDerivedFiles, syncSiteDependencies, copyComponents, emitAgentReadinessFiles, emitSwitcherMap, emitMissingTranslationStubs, emitPassthroughAstroPages, emitDeployArtifacts,
32
33
  // Where a Workers subpath-mounted build actually lands. Consumers that
33
34
  // read the BUILT site (e.g. `dogsbay site check --dist`) must resolve
34
35
  // the same directory the emitter told Astro to write to, or they audit
35
36
  // an empty dist/ root.
36
- workersSubpathOutDir, makeSlugExcluder, } from "./project.js";
37
+ workersSubpathOutDir, makeSlugExcluder,
38
+ // Drops nav hrefs with a scheme other than http(s)/mailto/tel.
39
+ dropUnsafeNavHrefs, } from "./project.js";
37
40
  // Plugin runtime codegen — emits the entry, virtual config modules,
38
41
  // stylesheets, and Vite alias file each plugin needs to participate
39
42
  // in the Astro / Vite build. See plans/plugin-api.md.
@@ -54,4 +57,5 @@ export { DIFF_CSS, decorateDiff, diffMarksOf, hasDiffMarks, injectAttrs, inlineS
54
57
  * See plans/granularity-views.md and docs/single-page-view.md.
55
58
  */
56
59
  export { BOOK_SEGMENT, assembleBook, bookHeading, bookSlugFrom, estimateTreeBytes, openAsPageNode, rewriteIntraBookLinks, shiftHeadings, slugFromHref, } from "./granularity.js";
60
+ export { pageUnitPrefix, inPageUnit, normalizeTarget } from "./redirects.js";
57
61
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErF,gEAAgE;AAChE,kEAAkE;AAClE,kEAAkE;AAClE,0BAA0B;AAC1B,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAIlE,oEAAoE;AACpE,qEAAqE;AACrE,uCAAuC;AACvC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,0DAA0D;AAC1D,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAMvB,iDAAiD;AACjD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAE/D,uEAAuE;AACvE,yEAAyE;AACzE,2EAA2E;AAC3E,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,EACV,aAAa,GACd,MAAM,WAAW,CAAC;AASnB,oDAAoD;AACpD,EAAE;AACF,qEAAqE;AACrE,kEAAkE;AAClE,mBAAmB;AACnB,EAAE;AACF,gEAAgE;AAChE,sEAAsE;AACtE,uDAAuD;AACvD,6DAA6D;AAC7D,qEAAqE;AACrE,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,EACf,2BAA2B,EAC3B,yBAAyB,EACzB,mBAAmB;AACnB,uEAAuE;AACvE,sEAAsE;AACtE,uEAAuE;AACvE,uBAAuB;AACvB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAOtB,oEAAoE;AACpE,oEAAoE;AACpE,sDAAsD;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAQjD,kEAAkE;AAClE,uEAAuE;AACvE,0DAA0D;AAC1D,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,GACb,MAAM,eAAe,CAAC;AAOvB,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAG9B;;;;;;;;;GASG;AACH,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,YAAY,GACb,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEpE,gEAAgE;AAChE,kEAAkE;AAClE,kEAAkE;AAClE,0BAA0B;AAC1B,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAIlE,oEAAoE;AACpE,qEAAqE;AACrE,uCAAuC;AACvC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,0DAA0D;AAC1D,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAMvB,iDAAiD;AACjD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAErG,uEAAuE;AACvE,yEAAyE;AACzE,2EAA2E;AAC3E,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,EACV,aAAa,GACd,MAAM,WAAW,CAAC;AASnB,oDAAoD;AACpD,EAAE;AACF,qEAAqE;AACrE,kEAAkE;AAClE,mBAAmB;AACnB,EAAE;AACF,gEAAgE;AAChE,sEAAsE;AACtE,uDAAuD;AACvD,6DAA6D;AAC7D,qEAAqE;AACrE,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,uBAAuB,EACvB,eAAe,EACf,2BAA2B,EAC3B,yBAAyB,EACzB,mBAAmB;AACnB,uEAAuE;AACvE,sEAAsE;AACtE,uEAAuE;AACvE,uBAAuB;AACvB,oBAAoB,EACpB,gBAAgB;AAChB,+DAA+D;AAC/D,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAOtB,oEAAoE;AACpE,oEAAoE;AACpE,sDAAsD;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAQjD,kEAAkE;AAClE,uEAAuE;AACvE,0DAA0D;AAC1D,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,GACb,MAAM,eAAe,CAAC;AAOvB,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAG9B;;;;;;;;;GASG;AACH,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
@@ -103,7 +103,7 @@ export interface BuildLlmsFullTxtOptions extends BuildLlmsTxtOptions {
103
103
  * - Pages reachable in `pages` but absent from `nav` appended under
104
104
  * a final `## {otherPagesLabel}` section. Set `otherPagesLabel`
105
105
  * to `false` to suppress (e.g. when nav is the publish list).
106
- * - External hrefs are skipped.
106
+ * - External hrefs, and hrefs outside `hrefPrefix`, are skipped.
107
107
  */
108
108
  export declare function buildLlmsTxt(siteConfig: Pick<SiteConfig, "siteName" | "description" | "siteUrl">, nav: NavItem[], pages: ExportPage[], options?: BuildLlmsTxtOptions): string;
109
109
  /**
@@ -113,8 +113,8 @@ export declare function buildLlmsTxt(siteConfig: Pick<SiteConfig, "siteName" | "
113
113
  */
114
114
  export declare function buildSectionLlmsTxt(siteConfig: Pick<SiteConfig, "siteName" | "siteUrl">, group: NavItem, pages: ExportPage[], options?: BuildLlmsTxtOptions): string;
115
115
  /**
116
- * Bundle every page reachable from `nav` into a single document, in
117
- * nav order. Each page is delimited by a `# Title` header and `URL:`
116
+ * Bundle every page into a single document: nav order, then pages outside
117
+ * the nav by slug. Each page is delimited by a `# Title` header and `URL:`
118
118
  * line, then either the full body (default) or just a description.
119
119
  */
120
120
  export declare function buildLlmsFullTxt(siteConfig: Pick<SiteConfig, "siteName" | "description" | "siteUrl">, nav: NavItem[], pages: ExportPage[], options?: BuildLlmsFullTxtOptions): string;
@@ -1 +1 @@
1
- {"version":3,"file":"llms-txt.d.ts","sourceRoot":"","sources":["../src/llms-txt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EACV,UAAU,EAEV,OAAO,EACP,UAAU,EACV,QAAQ,EACT,MAAM,gBAAgB,CAAC;AAYxB,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACjC;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,kEAAkE;AAClE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IACjC;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,MAAM,CAAC;CAC9C;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,GAAG,SAAS,CAAC,EACpE,GAAG,EAAE,OAAO,EAAE,EACd,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,GAAE,mBAAwB,GAChC,MAAM,CAsGR;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC,EACpD,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,GAAE,mBAAwB,GAChC,MAAM,CAqBR;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,GAAG,SAAS,CAAC,EACpE,GAAG,EAAE,OAAO,EAAE,EACd,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,GAAE,uBAA4B,GACpC,MAAM,CA+DR;AA4KD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,CAO9D"}
1
+ {"version":3,"file":"llms-txt.d.ts","sourceRoot":"","sources":["../src/llms-txt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EACV,UAAU,EAEV,OAAO,EACP,UAAU,EACV,QAAQ,EACT,MAAM,gBAAgB,CAAC;AAmBxB,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACjC;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,kEAAkE;AAClE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IACjC;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,MAAM,CAAC;CAC9C;AASD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,GAAG,SAAS,CAAC,EACpE,GAAG,EAAE,OAAO,EAAE,EACd,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,GAAE,mBAAwB,GAChC,MAAM,CAeR;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC,EACpD,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,GAAE,mBAAwB,GAChC,MAAM,CAGR;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,GAAG,SAAS,CAAC,EACpE,GAAG,EAAE,OAAO,EAAE,EACd,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,GAAE,uBAA4B,GACpC,MAAM,CAqBR;AAkGD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,CAO9D"}