@dogsbay/format-astro 0.2.0-beta.8 → 0.2.0-beta.81

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/llms-txt.js CHANGED
@@ -2,6 +2,7 @@ import { DEFAULT_BASE_PATH } from "./base-path.js";
2
2
  const EXTERNAL_HREF_RE = /^(?:https?:\/\/|mailto:|tel:|#)/i;
3
3
  const DEFAULT_DESCRIPTION_LIMIT = 160;
4
4
  const DEFAULT_TOP_LEVEL_LABEL = "Documentation";
5
+ const DEFAULT_OTHER_PAGES_LABEL = "Other pages";
5
6
  // ── Public builders ─────────────────────────────────────────────
6
7
  /**
7
8
  * Build the top-level llms.txt index for a site.
@@ -9,15 +10,22 @@ const DEFAULT_TOP_LEVEL_LABEL = "Documentation";
9
10
  * Layout:
10
11
  * - One `## {label}` section per top-level nav group with children.
11
12
  * - Top-level leaf nav items collected into a single
12
- * `## {topLevelLabel}` block at the end.
13
- * - External hrefs and pages not in nav are skipped.
13
+ * `## {topLevelLabel}` block.
14
+ * - Pages reachable in `pages` but absent from `nav` appended under
15
+ * a final `## {otherPagesLabel}` section. Set `otherPagesLabel`
16
+ * to `false` to suppress (e.g. when nav is the publish list).
17
+ * - External hrefs are skipped.
14
18
  */
15
19
  export function buildLlmsTxt(siteConfig, nav, pages, options = {}) {
16
20
  const hrefPrefix = options.hrefPrefix ?? DEFAULT_BASE_PATH;
17
21
  const siteUrl = options.siteUrl ?? siteConfig.siteUrl;
18
22
  const descLimit = options.descriptionLimit ?? DEFAULT_DESCRIPTION_LIMIT;
19
23
  const topLevelLabel = options.topLevelLabel ?? DEFAULT_TOP_LEVEL_LABEL;
24
+ const otherPagesLabel = options.otherPagesLabel === undefined
25
+ ? DEFAULT_OTHER_PAGES_LABEL
26
+ : options.otherPagesLabel;
20
27
  const slugIndex = indexPagesBySlug(pages);
28
+ const emittedSlugs = new Set();
21
29
  const out = [];
22
30
  out.push(`# ${siteConfig.siteName}`);
23
31
  out.push("");
@@ -34,11 +42,11 @@ export function buildLlmsTxt(siteConfig, nav, pages, options = {}) {
34
42
  lines.push("");
35
43
  // Group's own landing page first, if it has one
36
44
  if (item.href && !EXTERNAL_HREF_RE.test(item.href)) {
37
- const entry = renderEntry(item, slugIndex, hrefPrefix, siteUrl, descLimit);
45
+ const entry = renderEntry(item, slugIndex, hrefPrefix, siteUrl, descLimit, emittedSlugs);
38
46
  if (entry)
39
47
  lines.push(entry);
40
48
  }
41
- collectEntries(item.children, slugIndex, hrefPrefix, siteUrl, descLimit, lines);
49
+ collectEntries(item.children, slugIndex, hrefPrefix, siteUrl, descLimit, lines, emittedSlugs);
42
50
  lines.push("");
43
51
  groupSections.push(lines);
44
52
  }
@@ -50,7 +58,7 @@ export function buildLlmsTxt(siteConfig, nav, pages, options = {}) {
50
58
  out.push(`## ${topLevelLabel}`);
51
59
  out.push("");
52
60
  for (const leaf of topLevelLeaves) {
53
- const entry = renderEntry(leaf, slugIndex, hrefPrefix, siteUrl, descLimit);
61
+ const entry = renderEntry(leaf, slugIndex, hrefPrefix, siteUrl, descLimit, emittedSlugs);
54
62
  if (entry)
55
63
  out.push(entry);
56
64
  }
@@ -59,6 +67,19 @@ export function buildLlmsTxt(siteConfig, nav, pages, options = {}) {
59
67
  for (const section of groupSections) {
60
68
  out.push(...section);
61
69
  }
70
+ // Orphan pass — pages that exist in `pages` but were never hit by
71
+ // the nav walk. Emit so agents see the full surface even when nav
72
+ // curates a subset (the common case: a sidebar trims internal /
73
+ // sub-utility pages, but agents still want to find them).
74
+ if (otherPagesLabel !== false) {
75
+ const orphans = collectOrphanEntries(pages, emittedSlugs, hrefPrefix, siteUrl, descLimit);
76
+ if (orphans.length > 0) {
77
+ out.push(`## ${otherPagesLabel}`);
78
+ out.push("");
79
+ out.push(...orphans);
80
+ out.push("");
81
+ }
82
+ }
62
83
  return out.join("\n").replace(/\n{3,}/g, "\n\n").trimEnd() + "\n";
63
84
  }
64
85
  /**
@@ -100,6 +121,16 @@ export function buildLlmsFullTxt(siteConfig, nav, pages, options = {}) {
100
121
  }
101
122
  const slugIndex = indexPagesBySlug(pages);
102
123
  const navOrder = flattenNavToSlugs(nav, hrefPrefix);
124
+ // Append page slugs not reachable from nav (sorted for stable
125
+ // output). Same rationale as buildLlmsTxt's orphan pass: the bundle
126
+ // is for agents, and curated nav usually trims internal pages that
127
+ // agents still want to read.
128
+ const seen = new Set(navOrder);
129
+ const orphanSlugs = pages
130
+ .map((p) => p.slug || "index")
131
+ .filter((s) => !seen.has(s))
132
+ .sort((a, b) => a.localeCompare(b));
133
+ const allSlugs = [...navOrder, ...orphanSlugs];
103
134
  const out = [];
104
135
  out.push(`# ${siteConfig.siteName}`);
105
136
  out.push("");
@@ -108,7 +139,7 @@ export function buildLlmsFullTxt(siteConfig, nav, pages, options = {}) {
108
139
  out.push("");
109
140
  }
110
141
  let firstPage = true;
111
- for (const slug of navOrder) {
142
+ for (const slug of allSlugs) {
112
143
  const page = slugIndex.get(slug);
113
144
  if (!page)
114
145
  continue;
@@ -133,19 +164,19 @@ export function buildLlmsFullTxt(siteConfig, nav, pages, options = {}) {
133
164
  return out.join("\n").replace(/\n{3,}/g, "\n\n").trimEnd() + "\n";
134
165
  }
135
166
  // ── Internals: nav walking + entry rendering ────────────────────
136
- function collectEntries(items, slugIndex, hrefPrefix, siteUrl, descLimit, out) {
167
+ function collectEntries(items, slugIndex, hrefPrefix, siteUrl, descLimit, out, emitted) {
137
168
  for (const item of items) {
138
169
  if (item.href && !EXTERNAL_HREF_RE.test(item.href)) {
139
- const entry = renderEntry(item, slugIndex, hrefPrefix, siteUrl, descLimit);
170
+ const entry = renderEntry(item, slugIndex, hrefPrefix, siteUrl, descLimit, emitted);
140
171
  if (entry)
141
172
  out.push(entry);
142
173
  }
143
174
  if (item.children) {
144
- collectEntries(item.children, slugIndex, hrefPrefix, siteUrl, descLimit, out);
175
+ collectEntries(item.children, slugIndex, hrefPrefix, siteUrl, descLimit, out, emitted);
145
176
  }
146
177
  }
147
178
  }
148
- function renderEntry(item, slugIndex, hrefPrefix, siteUrl, descLimit) {
179
+ function renderEntry(item, slugIndex, hrefPrefix, siteUrl, descLimit, emitted) {
149
180
  if (!item.href)
150
181
  return null;
151
182
  const slug = hrefToSlug(item.href, hrefPrefix);
@@ -155,10 +186,33 @@ function renderEntry(item, slugIndex, hrefPrefix, siteUrl, descLimit) {
155
186
  const label = item.label || page?.title || slug;
156
187
  const description = page ? getPageDescription(page, descLimit) : "";
157
188
  const url = absoluteUrl(`${item.href.replace(/\/$/, "")}.md`, siteUrl);
189
+ if (emitted && page)
190
+ emitted.add(slug);
158
191
  return description
159
192
  ? `- [${label}](${url}): ${description}`
160
193
  : `- [${label}](${url})`;
161
194
  }
195
+ /**
196
+ * Render entries for pages that exist but weren't reached during the
197
+ * nav walk. Sorted alphabetically by slug for stable output (nav
198
+ * order isn't meaningful for these — they're not in nav).
199
+ */
200
+ function collectOrphanEntries(pages, emitted, hrefPrefix, siteUrl, descLimit) {
201
+ const orphans = [];
202
+ const sorted = pages
203
+ .filter((p) => !emitted.has(p.slug || "index"))
204
+ .sort((a, b) => (a.slug || "index").localeCompare(b.slug || "index"));
205
+ for (const page of sorted) {
206
+ const slug = page.slug || "index";
207
+ const label = page.title || slug;
208
+ const description = getPageDescription(page, descLimit);
209
+ const url = absoluteUrl(slugToHref(slug, hrefPrefix), siteUrl);
210
+ orphans.push(description
211
+ ? `- [${label}](${url}): ${description}`
212
+ : `- [${label}](${url})`);
213
+ }
214
+ return orphans;
215
+ }
162
216
  function flattenNavToSlugs(nav, hrefPrefix) {
163
217
  const slugs = [];
164
218
  const seen = new Set();
@@ -204,8 +258,21 @@ function slugToHref(slug, hrefPrefix) {
204
258
  function absoluteUrl(path, siteUrl) {
205
259
  if (!siteUrl)
206
260
  return path;
207
- const base = siteUrl.replace(/\/$/, "");
208
- return path.startsWith("/") ? `${base}${path}` : `${base}/${path}`;
261
+ // Strip the path component from siteUrl. With the two-prefix
262
+ // model (urlBase from site.url's path drives Astro's `base`,
263
+ // basePath stays as filesystem prefix), `path` already carries
264
+ // the combined prefix. Concatenating siteUrl-with-path would
265
+ // double-count. Use only the origin.
266
+ // See plans/astro-base-from-site-url.md.
267
+ let origin;
268
+ try {
269
+ const u = new URL(siteUrl);
270
+ origin = `${u.protocol}//${u.host}`;
271
+ }
272
+ catch {
273
+ origin = siteUrl.replace(/\/$/, "");
274
+ }
275
+ return path.startsWith("/") ? `${origin}${path}` : `${origin}/${path}`;
209
276
  }
210
277
  // ── Internals: description + plain-text extraction ──────────────
211
278
  function getPageDescription(page, limit) {
@@ -1 +1 @@
1
- {"version":3,"file":"llms-txt.js","sourceRoot":"","sources":["../src/llms-txt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llms-txt.js","sourceRoot":"","sources":["../src/llms-txt.ts"],"names":[],"mappings":"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"}
package/dist/project.d.ts CHANGED
@@ -11,8 +11,30 @@ export interface AstroProjectOptions {
11
11
  * so the `seo/h1-brand-keyword` audit rule can read them.
12
12
  */
13
13
  brandKeywords?: string[];
14
+ /**
15
+ * Site-wide noindex. When true, every emitted page passes
16
+ * `noindex={true}` to DocsLayout regardless of frontmatter, and
17
+ * the sitemap emits zero `<url>` entries. Pages can ESCALATE
18
+ * (frontmatter `noindex: true` still works) but not opt out.
19
+ * See plans/site-level-robots-meta.md.
20
+ */
21
+ noindex?: boolean;
22
+ /**
23
+ * Site-wide nofollow. Same one-way semantics as `noindex` — site
24
+ * forces, page frontmatter `nofollow: true` can escalate but
25
+ * cannot opt out. Independent of `noindex`.
26
+ */
27
+ nofollow?: boolean;
14
28
  /** Source project directory (for copying extra_css, assets, etc.) */
15
29
  sourceDir?: string;
30
+ /**
31
+ * External asset directories mounted into the `_assets` convention. Each
32
+ * dir's CONTENTS are copied to `public/_assets/` (e.g. a Docusaurus `static/`
33
+ * dir, whose `/img/x` refs the importer rewrote to `/_assets/img/x`).
34
+ */
35
+ assetMounts?: {
36
+ dir: string;
37
+ }[];
16
38
  /** Custom CSS files from mkdocs.yml extra_css */
17
39
  extraCss?: string[];
18
40
  /** Enable Astro image optimization (copies to src/assets/ instead of public/) */
@@ -112,12 +134,60 @@ export interface AstroProjectOptions {
112
134
  */
113
135
  defaultLocale?: string;
114
136
  /**
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.
137
+ * When set, emit deploy artifacts for the named platform.
138
+ *
139
+ * - `"cloudflare-workers"` `wrangler.jsonc` + `wrangler` devDep +
140
+ * `deploy` script.
141
+ * - `"github-pages"` — `.github/workflows/deploy.yml` (Astro →
142
+ * `actions/deploy-pages` workflow) + `public/.nojekyll`.
143
+ *
144
+ * Both targets scaffold their files write-if-missing — re-running
145
+ * the build never clobbers an author-edited workflow YAML or
146
+ * wrangler config.
147
+ */
148
+ deploy?: "cloudflare-workers" | "github-pages";
149
+ /**
150
+ * Astro `build.inlineStylesheets` policy.
151
+ *
152
+ * - `"auto"` (default): inline only stylesheets below 4 KB,
153
+ * externalize the rest. Best for multi-page sites.
154
+ * - `"always"`: inline every stylesheet. Best for single-page
155
+ * sites where first-paint latency dominates.
156
+ * - `"never"`: always externalize. Maximizes cache reuse.
157
+ *
158
+ * Mirrors `dogsbay.config.yml`'s `build.inlineStylesheets`. Flows
159
+ * through `astro.config.dogsbay.mjs` so changes propagate without
160
+ * a scaffold rebuild. See docs/perf-tuning.md.
161
+ */
162
+ inlineStylesheets?: "auto" | "always" | "never";
163
+ /**
164
+ * Sidebar navigation render mode.
165
+ *
166
+ * - `"client"` (default): emit `<DocsNavClient />` — an empty placeholder
167
+ * that a tiny client script hydrates from `/_dogsbay/nav.json`.
168
+ * Page HTML stays small regardless of nav size; the nav DOM persists
169
+ * across view transitions. Trade-off: no-JS users see no sidebar
170
+ * nav, search-engine crawlers reach pages via `sitemap.xml` and
171
+ * in-content links rather than the sidebar.
172
+ * - `"ssr-full"`: render the full nav tree into every page's HTML.
173
+ * Best for tiny sites or strict no-JS / SEO contexts.
174
+ *
175
+ * See plans/client-rendered-nav.md.
176
+ */
177
+ navMode?: "client" | "ssr-full";
178
+ /**
179
+ * Repo root — the directory containing `dogsbay.config.yml`. The
180
+ * Astro project (`outputDir`) is typically a subdirectory like
181
+ * `<projectDir>/astro/`. Deploy artifacts that GitHub Actions
182
+ * needs at the repo root (`.github/workflows/deploy.yml`) are
183
+ * written here, while artifacts that ship inside the Astro build
184
+ * (e.g. `public/.nojekyll`) stay under `outputDir`.
185
+ *
186
+ * When unset, defaults to `outputDir` — covers flat-layout flows
187
+ * (`dogsbay convert --to astro`) where the Astro project IS the
188
+ * repo. site-init and site-build always pass it explicitly.
119
189
  */
120
- deploy?: "cloudflare-workers";
190
+ projectDir?: string;
121
191
  /**
122
192
  * Overwrite all files including maintainer-customizable scaffold
123
193
  * files (theme.css, astro.config.mjs, package.json, site.json,
@@ -168,6 +238,40 @@ export interface AstroProjectOptions {
168
238
  * See plans/llm-page-actions.md.
169
239
  */
170
240
  llmActions?: import("@dogsbay/types").SiteConfig["llmActions"];
241
+ /**
242
+ * Patterns that mark slugs as fragments (no Astro route).
243
+ * Pages matching any pattern are written to neither
244
+ * `src/pages/*.astro` nor `src/pages/*.md.ts`. The `.md` source
245
+ * files remain on disk under `content/` so `{% include %}`
246
+ * directives in other pages can still resolve them; they just
247
+ * aren't reachable as URLs.
248
+ *
249
+ * Match semantics depend on whether the pattern contains `/`:
250
+ * - `"modules"` (single segment) matches ANY path segment of
251
+ * the slug equal to "modules" — `modules/foo`,
252
+ * `welcome/modules/foo`, `a/b/modules/c` all exclude.
253
+ * What AsciiBinder corpora want — fragment dirs symlink
254
+ * into section dirs so the same dir name appears at many
255
+ * depths.
256
+ * - `"foo/bar"` (multi-segment) matches as a leading prefix
257
+ * only — `foo/bar` and `foo/bar/baz` exclude, but
258
+ * `welcome/foo/bar` does not. For when a specific path
259
+ * tree is fragment territory.
260
+ *
261
+ * The companion signal — frontmatter `_fragment: true` — is also
262
+ * honoured (per-page opt-out, set by importers that know which
263
+ * `.md` files are include-only fragments vs navigable pages —
264
+ * `migrate-asciidoc` is the first such importer). Either signal
265
+ * is enough to skip; both stack.
266
+ *
267
+ * Typical use case: AsciiBinder-style corpora where shared
268
+ * fragments live under `modules/`, `_attributes/`, `snippets/`
269
+ * — the converter writes them as `.md` so includes resolve, but
270
+ * they have no business being navigable as standalone pages
271
+ * (and emitting 18k useless routes punishes the Astro compiler).
272
+ * See plans/build-at-scale.md.
273
+ */
274
+ excludeFromRoutes?: string[];
171
275
  }
172
276
  /**
173
277
  * Export pages + nav to a complete Astro project directory.
@@ -214,7 +318,36 @@ export declare function emitSiteScaffold(outputDir: string, siteName: string, op
214
318
  export declare function emitAstroPages(pages: ExportPage[], nav: NavItem[], outputDir: string, options: AstroProjectOptions): Promise<{
215
319
  generated: number;
216
320
  outputNav: NavItem[];
321
+ /**
322
+ * Output paths (relative to outputDir, OS-native separators) of the
323
+ * `.astro` files just written. Used by passthrough emit to detect
324
+ * collisions with hand-authored `.astro` files declared in nav.yml
325
+ * — see plans/passthrough-astro-pages.md.
326
+ */
327
+ generatedPaths: Set<string>;
217
328
  }>;
329
+ /** Passthrough source → destination pair, computed by the CLI's collector. */
330
+ export interface PassthroughCopy {
331
+ /** Absolute path to the source file (under contentDir). */
332
+ sourceAbs: string;
333
+ /**
334
+ * Output path relative to outputDir, OS-native separators. Same
335
+ * shape as `emitAstroPages` `generatedPaths` so the collision
336
+ * check can use a plain `Set.has`.
337
+ */
338
+ outputRelPath: string;
339
+ /** Source path relative to contentDir, for error messages. */
340
+ source: string;
341
+ }
342
+ /**
343
+ * Copy each passthrough `.astro` source to its computed output path.
344
+ * Aborts with a clear error if the destination is already in
345
+ * `generatedPaths` (a generated page from `emitAstroPages` would
346
+ * silently overwrite the hand-authored file otherwise).
347
+ */
348
+ export declare function emitPassthroughAstroPages(copies: PassthroughCopy[], outputDir: string, generatedPaths: Set<string>): {
349
+ copied: number;
350
+ };
218
351
  /**
219
352
  * Emit `public/robots.txt` with `Content-Signal` directives + sitemap
220
353
  * link. Always overwrites — the file's contents are pure derivation
@@ -222,6 +355,28 @@ export declare function emitAstroPages(pages: ExportPage[], nav: NavItem[], outp
222
355
  * them at the CDN level.
223
356
  */
224
357
  export declare function emitConfigDerivedFiles(outputDir: string, options: AstroProjectOptions): void;
358
+ /**
359
+ * Per-deploy-target artifact emission.
360
+ *
361
+ * Called from `emitSiteScaffold` (with `forceOverwrite=writeScaffold`
362
+ * so `--force` regenerates from template) and from `dogsbay site
363
+ * build` (with `forceOverwrite=false` so an existing site can adopt
364
+ * a deploy target by editing config and rebuilding — the missing
365
+ * artifact gets created on the next build).
366
+ *
367
+ * Emit policy is the union: write when forced OR when the file is
368
+ * missing. Author edits to e.g. the workflow YAML survive every
369
+ * regular build.
370
+ *
371
+ * Currently handles `github-pages` (workflow + .nojekyll). The
372
+ * existing `cloudflare-workers` artifacts (wrangler.jsonc + package
373
+ * scripts) stay in the scaffold-only path because they overlap with
374
+ * scaffold-only files (package.json scripts, devDependencies). A
375
+ * future refactor could fold them in here too.
376
+ */
377
+ export declare function emitDeployArtifacts(outputDir: string, options: AstroProjectOptions, opts?: {
378
+ forceOverwrite: boolean;
379
+ }): void;
225
380
  /**
226
381
  * Shape of the emitted `src/data/switcherMap.json` file.
227
382
  * Switcher components import this JSON directly, so the shape
@@ -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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"}