@dogsbay/format-astro 0.2.0-beta.1 → 0.2.0-beta.100

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 (50) hide show
  1. package/dist/base-path.d.ts +115 -7
  2. package/dist/base-path.d.ts.map +1 -1
  3. package/dist/base-path.js +147 -8
  4. package/dist/base-path.js.map +1 -1
  5. package/dist/blog.d.ts +134 -0
  6. package/dist/blog.d.ts.map +1 -0
  7. package/dist/blog.js +319 -0
  8. package/dist/blog.js.map +1 -0
  9. package/dist/cli.d.ts.map +1 -1
  10. package/dist/cli.js +1 -0
  11. package/dist/cli.js.map +1 -1
  12. package/dist/diff-decoration.d.ts +79 -0
  13. package/dist/diff-decoration.d.ts.map +1 -0
  14. package/dist/diff-decoration.js +541 -0
  15. package/dist/diff-decoration.js.map +1 -0
  16. package/dist/granularity.d.ts +83 -0
  17. package/dist/granularity.d.ts.map +1 -0
  18. package/dist/granularity.js +247 -0
  19. package/dist/granularity.js.map +1 -0
  20. package/dist/index.d.ts +22 -4
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +26 -3
  23. package/dist/index.js.map +1 -1
  24. package/dist/lead.d.ts +19 -0
  25. package/dist/lead.d.ts.map +1 -1
  26. package/dist/lead.js +101 -6
  27. package/dist/lead.js.map +1 -1
  28. package/dist/llms-txt.d.ts +48 -2
  29. package/dist/llms-txt.d.ts.map +1 -1
  30. package/dist/llms-txt.js +131 -14
  31. package/dist/llms-txt.js.map +1 -1
  32. package/dist/plugins.js +1 -1
  33. package/dist/plugins.js.map +1 -1
  34. package/dist/project.d.ts +310 -13
  35. package/dist/project.d.ts.map +1 -1
  36. package/dist/project.js +2270 -193
  37. package/dist/project.js.map +1 -1
  38. package/dist/serialize.d.ts +23 -0
  39. package/dist/serialize.d.ts.map +1 -1
  40. package/dist/serialize.js +442 -136
  41. package/dist/serialize.js.map +1 -1
  42. package/dist/sitemap.d.ts +81 -0
  43. package/dist/sitemap.d.ts.map +1 -0
  44. package/dist/sitemap.js +200 -0
  45. package/dist/sitemap.js.map +1 -0
  46. package/dist/taxonomy.d.ts +61 -1
  47. package/dist/taxonomy.d.ts.map +1 -1
  48. package/dist/taxonomy.js +83 -21
  49. package/dist/taxonomy.js.map +1 -1
  50. package/package.json +8 -7
package/dist/project.d.ts CHANGED
@@ -1,4 +1,40 @@
1
1
  import type { ExportPage, NavItem } from "@dogsbay/types";
2
+ import { type BlogEmitConfig } from "./blog.js";
3
+ /**
4
+ * Astro `outDir` for a Cloudflare Workers deploy mounted on a host subpath.
5
+ *
6
+ * Workers Static Assets resolves the FULL request pathname against the
7
+ * asset manifest and strips nothing. A site mounted at `dogsbay.ai/blog/*`
8
+ * is therefore asked for `/blog/index.html`, and unless the build output
9
+ * actually contains `blog/`, every request 404s. Astro's `base` does not
10
+ * do this: it prefixes generated URLs (including `/blog/_astro/...`) but
11
+ * leaves the emitted files at `dist/` root. Setting `outDir` to
12
+ * `./dist<urlBase>` is what makes the two agree.
13
+ *
14
+ * GitHub Pages needs the OPPOSITE and must not get this. There the
15
+ * uploaded artifact IS the site root, served at `https://<user>.github.io/
16
+ * <repo>/`, so the host supplies the prefix: URLs must carry it, files
17
+ * must not. Emitting `outDir` for a Pages build would produce
18
+ * `/<repo>/<repo>/`. Hence the deploy-target gate — the same `site.url`
19
+ * deliberately yields different layouts per target.
20
+ *
21
+ * Returns `undefined` when the target is not Workers or the site sits at
22
+ * the host root (no path in `site.url`), which is the common case.
23
+ */
24
+ export declare function workersSubpathOutDir(deploy: AstroProjectOptions["deploy"], urlBase: string): string | undefined;
25
+ /**
26
+ * Build the `excludeFromRoutes` predicate.
27
+ *
28
+ * Exported because more than one emitter has to agree on which pages
29
+ * become routes. The blog listed excluded pages as posts, producing index
30
+ * cards and Newer/Older links to pages that were never emitted — a 404
31
+ * from the site's own front page.
32
+ *
33
+ * A single-segment pattern matches ANY segment (fragment dirs symlink to
34
+ * many depths in AsciiBinder corpora); a multi-segment pattern matches as
35
+ * a leading path prefix, so `welcome/_internal` excludes only that tree.
36
+ */
37
+ export declare function makeSlugExcluder(excludeFromRoutes?: string[]): (slug: string) => boolean;
2
38
  export interface AstroProjectOptions {
3
39
  siteName?: string;
4
40
  theme?: string;
@@ -11,8 +47,47 @@ export interface AstroProjectOptions {
11
47
  * so the `seo/h1-brand-keyword` audit rule can read them.
12
48
  */
13
49
  brandKeywords?: string[];
50
+ /**
51
+ * Site-wide noindex. When true, every emitted page passes
52
+ * `noindex={true}` to DocsLayout regardless of frontmatter, and
53
+ * the sitemap emits zero `<url>` entries. Pages can ESCALATE
54
+ * (frontmatter `noindex: true` still works) but not opt out.
55
+ * See plans/site-level-robots-meta.md.
56
+ */
57
+ noindex?: boolean;
58
+ /**
59
+ * Site-wide nofollow. Same one-way semantics as `noindex` — site
60
+ * forces, page frontmatter `nofollow: true` can escalate but
61
+ * cannot opt out. Independent of `noindex`.
62
+ */
63
+ nofollow?: boolean;
14
64
  /** Source project directory (for copying extra_css, assets, etc.) */
15
65
  sourceDir?: string;
66
+ /**
67
+ * External asset directories mounted into the `_assets` convention. Each
68
+ * dir's CONTENTS are copied to `public/_assets/` (e.g. a Docusaurus `static/`
69
+ * dir, whose `/img/x` refs the importer rewrote to `/_assets/img/x`).
70
+ * `into` targets an `_assets/<into>` subdir; `mediaOnly` copies only media
71
+ * files (for mounts whose dir is the docs tree itself).
72
+ */
73
+ assetMounts?: {
74
+ dir: string;
75
+ into?: string;
76
+ mediaOnly?: boolean;
77
+ }[];
78
+ /**
79
+ * Per-source asset directories with the URL prefix their content refs
80
+ * were rewritten with. Used by multi-source (versioned/localised) builds
81
+ * so EACH source's assets are copied under `public/<urlPrefix>/...`
82
+ * (e.g. `public/8.8/_assets/...`) and same-path images across versions
83
+ * don't collide. When set, it REPLACES the single-`sourceDir` asset copy
84
+ * (which only ever copied the first source, version-less). `urlPrefix`
85
+ * empty/absent copies to `public/...` flat (the baseline source).
86
+ */
87
+ assetSourceDirs?: {
88
+ dir: string;
89
+ urlPrefix?: string;
90
+ }[];
16
91
  /** Custom CSS files from mkdocs.yml extra_css */
17
92
  extraCss?: string[];
18
93
  /** Enable Astro image optimization (copies to src/assets/ instead of public/) */
@@ -91,11 +166,14 @@ export interface AstroProjectOptions {
91
166
  id: string;
92
167
  label?: string;
93
168
  eol?: boolean;
169
+ prerelease?: boolean;
170
+ hidden?: boolean;
94
171
  }>;
95
172
  /**
96
173
  * Which version is the default. Marked in switcherMap.json so
97
- * the switcher can highlight it; PR 4c wires the default-
98
- * version redirect that uses this same field.
174
+ * the switcher can highlight it, and drives the default-version
175
+ * redirect middleware. A pre-release version is never the
176
+ * default (enforced at config load).
99
177
  */
100
178
  defaultVersion?: string;
101
179
  /**
@@ -112,12 +190,83 @@ export interface AstroProjectOptions {
112
190
  */
113
191
  defaultLocale?: string;
114
192
  /**
115
- * When set, emit a deploy config file + dev dep + script for the
116
- * named platform. Only "cloudflare-workers" supported today.
117
- * Other adapters (netlify, vercel, gh-pages) follow the same shape;
118
- * left unimplemented per Phase 1 scope.
193
+ * When set, emit deploy artifacts for the named platform.
194
+ *
195
+ * - `"cloudflare-workers"` — `wrangler.jsonc` + `wrangler` devDep +
196
+ * `deploy` script.
197
+ * - `"github-pages"` — `.github/workflows/deploy.yml` (Astro →
198
+ * `actions/deploy-pages` workflow) + `public/.nojekyll`.
199
+ *
200
+ * Both targets scaffold their files write-if-missing — re-running
201
+ * the build never clobbers an author-edited workflow YAML or
202
+ * wrangler config.
203
+ */
204
+ /**
205
+ * Other sites on this host whose sitemap / llms.txt this site
206
+ * aggregates. See `AggregateSource` in `@dogsbay/cli` and
207
+ * plans/subpath-robots-txt.md.
208
+ */
209
+ aggregates?: {
210
+ name: string;
211
+ description?: string;
212
+ url?: string;
213
+ sitemap?: string;
214
+ llmsTxt?: string;
215
+ }[];
216
+ deploy?: "cloudflare-workers" | "github-pages";
217
+ /**
218
+ * Astro `build.inlineStylesheets` policy.
219
+ *
220
+ * - `"auto"` (default): inline only stylesheets below 4 KB,
221
+ * externalize the rest. Best for multi-page sites.
222
+ * - `"always"`: inline every stylesheet. Best for single-page
223
+ * sites where first-paint latency dominates.
224
+ * - `"never"`: always externalize. Maximizes cache reuse.
225
+ *
226
+ * Mirrors `dogsbay.config.yml`'s `build.inlineStylesheets`. Flows
227
+ * through `astro.config.dogsbay.mjs` so changes propagate without
228
+ * a scaffold rebuild. See docs/perf-tuning.md.
229
+ */
230
+ inlineStylesheets?: "auto" | "always" | "never";
231
+ /**
232
+ * Sidebar navigation render mode.
233
+ *
234
+ * - `"client"` (default): emit `<DocsNavClient />` — an empty placeholder
235
+ * that a tiny client script hydrates from `/_dogsbay/nav.json`.
236
+ * Page HTML stays small regardless of nav size; the nav DOM persists
237
+ * across view transitions. Trade-off: no-JS users see no sidebar
238
+ * nav, search-engine crawlers reach pages via `sitemap.xml` and
239
+ * in-content links rather than the sidebar.
240
+ * - `"ssr-full"`: render the full nav tree into every page's HTML.
241
+ * Best for tiny sites or strict no-JS / SEO contexts.
242
+ *
243
+ * See plans/client-rendered-nav.md.
119
244
  */
120
- deploy?: "cloudflare-workers";
245
+ navMode?: "client" | "ssr-full";
246
+ /**
247
+ * Table-of-contents placement — forwarded to DocsLayout's `toc` prop.
248
+ * Mirrors `DogsbayConfig.toc`:
249
+ * - `"top"` (default) — expandable "On this page" at the top of the
250
+ * article; frees the right rail for plugin content (e.g. Ask AI).
251
+ * - `"popover"` — an "On this page" control in the header.
252
+ * - `"rail"` — the classic right-hand TOC sidebar. In this mode the rail
253
+ * belongs to the TOC, so the `RightRail` plugin region is not emitted.
254
+ * - `"off"` — no table of contents.
255
+ */
256
+ toc?: "top" | "popover" | "rail" | "off";
257
+ /**
258
+ * Repo root — the directory containing `dogsbay.config.yml`. The
259
+ * Astro project (`outputDir`) is typically a subdirectory like
260
+ * `<projectDir>/astro/`. Deploy artifacts that GitHub Actions
261
+ * needs at the repo root (`.github/workflows/deploy.yml`) are
262
+ * written here, while artifacts that ship inside the Astro build
263
+ * (e.g. `public/.nojekyll`) stay under `outputDir`.
264
+ *
265
+ * When unset, defaults to `outputDir` — covers flat-layout flows
266
+ * (`dogsbay convert --to astro`) where the Astro project IS the
267
+ * repo. site-init and site-build always pass it explicitly.
268
+ */
269
+ projectDir?: string;
121
270
  /**
122
271
  * Overwrite all files including maintainer-customizable scaffold
123
272
  * files (theme.css, astro.config.mjs, package.json, site.json,
@@ -143,6 +292,31 @@ export interface AstroProjectOptions {
143
292
  * to static `.md` files in `dist/`. Default `true`.
144
293
  */
145
294
  mdMirror?: boolean;
295
+ /**
296
+ * Granularity views — emit aggregate "single-page" views alongside the
297
+ * topic-grained pages. Additive: the topic site is unchanged; aggregates
298
+ * are quarantined (noindex + excludeFromSearch → robots/sitemap/pagefind/
299
+ * llms all exclude them) and kept out of nav. See plans/granularity-views.md.
300
+ *
301
+ * Per-node opt-in via the nav file's `single-page: yes | no | children`
302
+ * annotation (default "no"). `book: true` is the legacy all-on switch: it
303
+ * seeds the top-level groups as if each were `single-page: yes`, so a node's
304
+ * own annotation still overrides. `maxSinglePageMB` (default 3) is a safety
305
+ * cap — a rollup whose source exceeds it is skipped with a warning instead of
306
+ * building a multi-minute / multi-MB page. See plans/granularity-views.md and
307
+ * docs-dev/granularity-book-perf.md.
308
+ */
309
+ granularity?: {
310
+ book?: boolean;
311
+ maxSinglePageMB?: number;
312
+ };
313
+ /**
314
+ * Blog mode. When set, every emitted page wears `chrome="blog"` (no
315
+ * sidebar), carries a byline, and takes its prev/next from DATE order
316
+ * rather than nav order. The reverse-chron index itself is emitted
317
+ * separately by `emitBlogFiles`. See plans/blog-capability.md.
318
+ */
319
+ blog?: BlogEmitConfig;
146
320
  /**
147
321
  * `Content-Signal` directive for the AI training corpus permission
148
322
  * emitted in robots.txt. Default `"no"` — opt out of training by
@@ -160,6 +334,22 @@ export interface AstroProjectOptions {
160
334
  * search results emitted in robots.txt. Default `"yes"`.
161
335
  */
162
336
  aiSearch?: "yes" | "no";
337
+ /**
338
+ * Emit the Article 4 reservation-of-rights preamble above the
339
+ * `Content-Signal` line in robots.txt. Default `false`.
340
+ * See `contentSignalPreamble`.
341
+ */
342
+ contentSignalPreamble?: boolean;
343
+ /**
344
+ * Emit the non-standard `Llms-Txt:` line in robots.txt. Default
345
+ * `false` — see `AgentConfig.llmsTxtDirective` in `@dogsbay/cli`.
346
+ */
347
+ llmsTxtDirective?: boolean;
348
+ /**
349
+ * "When to use this" guidance for llms.txt. See
350
+ * `AgentConfig.llmsWhenToUse` in `@dogsbay/cli`.
351
+ */
352
+ llmsWhenToUse?: string;
163
353
  /**
164
354
  * Per-page LLM action UI ("Copy as markdown", "Open in Claude/
165
355
  * ChatGPT/Perplexity/Gemini"). When omitted, the cluster is not
@@ -168,6 +358,46 @@ export interface AstroProjectOptions {
168
358
  * See plans/llm-page-actions.md.
169
359
  */
170
360
  llmActions?: import("@dogsbay/types").SiteConfig["llmActions"];
361
+ /**
362
+ * Resolved glyphs for the internal/external link-icon affordance.
363
+ * Baked into `site.json` as `linkIcons` and consumed by `DocsLayout`.
364
+ * Omitted when the feature is off. See plans/link-resolution-and-icons.md.
365
+ */
366
+ linkIcons?: import("@dogsbay/types").SiteConfig["linkIcons"];
367
+ /**
368
+ * Patterns that mark slugs as fragments (no Astro route).
369
+ * Pages matching any pattern are written to neither
370
+ * `src/pages/*.astro` nor `src/pages/*.md.ts`. The `.md` source
371
+ * files remain on disk under `content/` so `{% include %}`
372
+ * directives in other pages can still resolve them; they just
373
+ * aren't reachable as URLs.
374
+ *
375
+ * Match semantics depend on whether the pattern contains `/`:
376
+ * - `"modules"` (single segment) matches ANY path segment of
377
+ * the slug equal to "modules" — `modules/foo`,
378
+ * `welcome/modules/foo`, `a/b/modules/c` all exclude.
379
+ * What AsciiBinder corpora want — fragment dirs symlink
380
+ * into section dirs so the same dir name appears at many
381
+ * depths.
382
+ * - `"foo/bar"` (multi-segment) matches as a leading prefix
383
+ * only — `foo/bar` and `foo/bar/baz` exclude, but
384
+ * `welcome/foo/bar` does not. For when a specific path
385
+ * tree is fragment territory.
386
+ *
387
+ * The companion signal — frontmatter `_fragment: true` — is also
388
+ * honoured (per-page opt-out, set by importers that know which
389
+ * `.md` files are include-only fragments vs navigable pages —
390
+ * `migrate-asciidoc` is the first such importer). Either signal
391
+ * is enough to skip; both stack.
392
+ *
393
+ * Typical use case: AsciiBinder-style corpora where shared
394
+ * fragments live under `modules/`, `_attributes/`, `snippets/`
395
+ * — the converter writes them as `.md` so includes resolve, but
396
+ * they have no business being navigable as standalone pages
397
+ * (and emitting 18k useless routes punishes the Astro compiler).
398
+ * See plans/build-at-scale.md.
399
+ */
400
+ excludeFromRoutes?: string[];
171
401
  }
172
402
  /**
173
403
  * Export pages + nav to a complete Astro project directory.
@@ -205,16 +435,39 @@ export declare function exportAstroProject(pages: ExportPage[], nav: NavItem[],
205
435
  */
206
436
  export declare function emitSiteConfig(outputDir: string, siteName: string, options: AstroProjectOptions): void;
207
437
  export declare function emitSiteScaffold(outputDir: string, siteName: string, options: AstroProjectOptions, writeScaffold: boolean): number;
208
- /**
209
- * Emit content-tier files: nav.json, every page's .astro, the per-page
210
- * .md mirror endpoint (when `mdMirror` is enabled), and the index
211
- * redirect. Returns the count of pages emitted and the merged nav for
212
- * downstream consumers (llms.txt builder).
213
- */
214
438
  export declare function emitAstroPages(pages: ExportPage[], nav: NavItem[], outputDir: string, options: AstroProjectOptions): Promise<{
215
439
  generated: number;
216
440
  outputNav: NavItem[];
441
+ /**
442
+ * Output paths (relative to outputDir, OS-native separators) of the
443
+ * `.astro` files just written. Used by passthrough emit to detect
444
+ * collisions with hand-authored `.astro` files declared in nav.yml
445
+ * — see plans/passthrough-astro-pages.md.
446
+ */
447
+ generatedPaths: Set<string>;
217
448
  }>;
449
+ /** Passthrough source → destination pair, computed by the CLI's collector. */
450
+ export interface PassthroughCopy {
451
+ /** Absolute path to the source file (under contentDir). */
452
+ sourceAbs: string;
453
+ /**
454
+ * Output path relative to outputDir, OS-native separators. Same
455
+ * shape as `emitAstroPages` `generatedPaths` so the collision
456
+ * check can use a plain `Set.has`.
457
+ */
458
+ outputRelPath: string;
459
+ /** Source path relative to contentDir, for error messages. */
460
+ source: string;
461
+ }
462
+ /**
463
+ * Copy each passthrough `.astro` source to its computed output path.
464
+ * Aborts with a clear error if the destination is already in
465
+ * `generatedPaths` (a generated page from `emitAstroPages` would
466
+ * silently overwrite the hand-authored file otherwise).
467
+ */
468
+ export declare function emitPassthroughAstroPages(copies: PassthroughCopy[], outputDir: string, generatedPaths: Set<string>): {
469
+ copied: number;
470
+ };
218
471
  /**
219
472
  * Emit `public/robots.txt` with `Content-Signal` directives + sitemap
220
473
  * link. Always overwrites — the file's contents are pure derivation
@@ -222,6 +475,28 @@ export declare function emitAstroPages(pages: ExportPage[], nav: NavItem[], outp
222
475
  * them at the CDN level.
223
476
  */
224
477
  export declare function emitConfigDerivedFiles(outputDir: string, options: AstroProjectOptions): void;
478
+ /**
479
+ * Per-deploy-target artifact emission.
480
+ *
481
+ * Called from `emitSiteScaffold` (with `forceOverwrite=writeScaffold`
482
+ * so `--force` regenerates from template) and from `dogsbay site
483
+ * build` (with `forceOverwrite=false` so an existing site can adopt
484
+ * a deploy target by editing config and rebuilding — the missing
485
+ * artifact gets created on the next build).
486
+ *
487
+ * Emit policy is the union: write when forced OR when the file is
488
+ * missing. Author edits to e.g. the workflow YAML survive every
489
+ * regular build.
490
+ *
491
+ * Currently handles `github-pages` (workflow + .nojekyll). The
492
+ * existing `cloudflare-workers` artifacts (wrangler.jsonc + package
493
+ * scripts) stay in the scaffold-only path because they overlap with
494
+ * scaffold-only files (package.json scripts, devDependencies). A
495
+ * future refactor could fold them in here too.
496
+ */
497
+ export declare function emitDeployArtifacts(outputDir: string, options: AstroProjectOptions, opts?: {
498
+ forceOverwrite: boolean;
499
+ }): void;
225
500
  /**
226
501
  * Shape of the emitted `src/data/switcherMap.json` file.
227
502
  * Switcher components import this JSON directly, so the shape
@@ -251,6 +526,8 @@ export interface SwitcherMap {
251
526
  id: string;
252
527
  label?: string;
253
528
  eol?: boolean;
529
+ prerelease?: boolean;
530
+ hidden?: boolean;
254
531
  default?: boolean;
255
532
  }>;
256
533
  /**
@@ -317,4 +594,24 @@ export declare function emitMissingTranslationStubs(pages: ExportPage[], outputD
317
594
  * `emitAstroPages` (they share the page-loop's serialization step).
318
595
  */
319
596
  export declare function emitAgentReadinessFiles(pages: ExportPage[], outputNav: NavItem[], outputDir: string, siteName: string, options: AstroProjectOptions): void;
597
+ /**
598
+ * Build the contents of `public/_headers` (Cloudflare Pages / Workers
599
+ * Static Assets convention). Emits a global RFC 8288 Link header
600
+ * pointing at this mount's llms.txt index, so agents don't need to
601
+ * parse HTML to discover the LLM-friendly content listing.
602
+ *
603
+ * The Link target is basePath-prefixed (`</docs/llms.txt>` for a
604
+ * `/docs` mount) — matches where the platform actually emits
605
+ * llms.txt under the per-mount layout.
606
+ */
607
+ /**
608
+ * URL for `<link rel="icon">`, or `false` when the project ships no
609
+ * favicon.
610
+ *
611
+ * The scaffold deliberately ships none — authors drop their own into
612
+ * `public/`. Emitting the link unconditionally therefore advertised a
613
+ * 404 on every generated site. Checks `.ico` then `.svg`, matching the
614
+ * two the scaffold documents.
615
+ */
616
+ export declare function faviconHref(outputDir: string, urlBase: string): string | false;
320
617
  //# sourceMappingURL=project.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}