dogsbay 0.2.0-beta.27 → 0.2.0-beta.29
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.
|
@@ -250,13 +250,18 @@ export async function siteBuild(cwd, options) {
|
|
|
250
250
|
labels: raw.labels,
|
|
251
251
|
};
|
|
252
252
|
}
|
|
253
|
-
//
|
|
254
|
-
//
|
|
255
|
-
//
|
|
253
|
+
// Filesystem layout uses dogsbay basePath; URL composition uses
|
|
254
|
+
// the combined prefix (urlBase + basePath) so chip / term hrefs
|
|
255
|
+
// resolve under subpath-mounted deploys. Passing combined as
|
|
256
|
+
// `basePath` previously pushed taxonomy route files into
|
|
257
|
+
// src/pages/<urlBase>/<basePath>/<indexPath>/, which then
|
|
258
|
+
// double-prefixed once Astro's `base` config applied at request
|
|
259
|
+
// time (same family as the section-llms.txt bug fixed in 47db909).
|
|
256
260
|
const taxoCombined = resolvePrefixes(config.site.url, config.site.basePath).combined;
|
|
257
261
|
const emitted = emitTaxonomyRoutes(pages, outputDir, taxonomyConfigs, {
|
|
258
262
|
section: config.content.section,
|
|
259
|
-
basePath:
|
|
263
|
+
basePath: config.site.basePath,
|
|
264
|
+
urlPrefix: taxoCombined,
|
|
260
265
|
});
|
|
261
266
|
if (emitted.length > 0) {
|
|
262
267
|
console.log(` Emitted taxonomy routes: ${emitted.join(", ")}`);
|
package/dist/config/load.js
CHANGED
|
@@ -247,6 +247,12 @@ function validateSite(site, sourcePath) {
|
|
|
247
247
|
throw new Error(`site.brandKeywords entries must be non-empty strings in ${sourcePath}`);
|
|
248
248
|
}
|
|
249
249
|
}
|
|
250
|
+
if (s.noindex !== undefined && typeof s.noindex !== "boolean") {
|
|
251
|
+
throw new Error(`site.noindex must be a boolean in ${sourcePath}; got ${describe(s.noindex)}`);
|
|
252
|
+
}
|
|
253
|
+
if (s.nofollow !== undefined && typeof s.nofollow !== "boolean") {
|
|
254
|
+
throw new Error(`site.nofollow must be a boolean in ${sourcePath}; got ${describe(s.nofollow)}`);
|
|
255
|
+
}
|
|
250
256
|
if (s.basePath !== undefined) {
|
|
251
257
|
if (typeof s.basePath !== "string") {
|
|
252
258
|
throw new Error(`site.basePath must be a string in ${sourcePath}; got ${describe(s.basePath)}`);
|
|
@@ -315,6 +321,9 @@ function validateContent(content, sourcePath) {
|
|
|
315
321
|
`got ${JSON.stringify(v)}`);
|
|
316
322
|
}
|
|
317
323
|
}
|
|
324
|
+
if (c.diagrams !== undefined && typeof c.diagrams !== "boolean") {
|
|
325
|
+
throw new Error(`content.diagrams must be a boolean in ${sourcePath}; got ${JSON.stringify(c.diagrams)}`);
|
|
326
|
+
}
|
|
318
327
|
// versions[] declarations + defaultVersion. When versions[] is
|
|
319
328
|
// declared, every source's version (if set) must match one of
|
|
320
329
|
// the ids; defaultVersion (if set) must also match. Sources
|
|
@@ -377,6 +386,7 @@ function validateContent(content, sourcePath) {
|
|
|
377
386
|
sources: validatedSources,
|
|
378
387
|
section: c.section,
|
|
379
388
|
codeBlockTitle: c.codeBlockTitle,
|
|
389
|
+
diagrams: c.diagrams,
|
|
380
390
|
versions,
|
|
381
391
|
defaultVersion,
|
|
382
392
|
locales,
|
|
@@ -18,6 +18,8 @@ export function configToAstroOptions(config) {
|
|
|
18
18
|
editUri: config.site.editUri,
|
|
19
19
|
copyright: config.site.copyright,
|
|
20
20
|
brandKeywords: config.site.brandKeywords,
|
|
21
|
+
noindex: config.site.noindex,
|
|
22
|
+
nofollow: config.site.nofollow,
|
|
21
23
|
theme: config.theme,
|
|
22
24
|
plausibleDomain: config.analytics?.plausible?.domain,
|
|
23
25
|
plausibleScriptUrl: config.analytics?.plausible?.scriptUrl,
|
package/dist/import-content.js
CHANGED
|
@@ -383,6 +383,9 @@ function buildImportOptions(config, source) {
|
|
|
383
383
|
if (config.content.codeBlockTitle !== undefined) {
|
|
384
384
|
opts.codeBlockTitle = config.content.codeBlockTitle;
|
|
385
385
|
}
|
|
386
|
+
if (config.content.diagrams !== undefined) {
|
|
387
|
+
opts.diagrams = config.content.diagrams;
|
|
388
|
+
}
|
|
386
389
|
// MkDocs-specific
|
|
387
390
|
if (source.mkdocs?.partialsDir) {
|
|
388
391
|
opts.partialsDir = source.mkdocs.partialsDir;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dogsbay",
|
|
3
|
-
"version": "0.2.0-beta.
|
|
3
|
+
"version": "0.2.0-beta.29",
|
|
4
4
|
"description": "CLI for Dogsbay — scaffold, build, and serve documentation sites with markdown / MkDocs / Obsidian / OpenAPI sources",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -32,14 +32,14 @@
|
|
|
32
32
|
"picocolors": "^1.1.0",
|
|
33
33
|
"prompts": "^2.4.2",
|
|
34
34
|
"yaml": "^2.8.3",
|
|
35
|
-
"@dogsbay/format-mkdocs": "0.2.0-beta.
|
|
36
|
-
"@dogsbay/format-
|
|
37
|
-
"@dogsbay/format-
|
|
38
|
-
"@dogsbay/format-
|
|
39
|
-
"@dogsbay/format-
|
|
40
|
-
"@dogsbay/format-
|
|
41
|
-
"@dogsbay/format-
|
|
42
|
-
"@dogsbay/types": "0.2.0-beta.
|
|
35
|
+
"@dogsbay/format-mkdocs": "0.2.0-beta.29",
|
|
36
|
+
"@dogsbay/format-astro": "0.2.0-beta.29",
|
|
37
|
+
"@dogsbay/format-mdx": "0.2.0-beta.29",
|
|
38
|
+
"@dogsbay/format-dogsbay-md": "0.2.0-beta.29",
|
|
39
|
+
"@dogsbay/format-obsidian": "0.2.0-beta.29",
|
|
40
|
+
"@dogsbay/format-openapi": "0.2.0-beta.29",
|
|
41
|
+
"@dogsbay/format-starlight": "0.2.0-beta.29",
|
|
42
|
+
"@dogsbay/types": "0.2.0-beta.29"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/node": "^22.0.0",
|
|
@@ -21,6 +21,43 @@ content
|
|
|
21
21
|
Use `::::` (four colons) when the content itself contains `:::`
|
|
22
22
|
(e.g., a directive nested inside another).
|
|
23
23
|
|
|
24
|
+
### Nesting: outer fence must be longer
|
|
25
|
+
|
|
26
|
+
When a directive contains another directive, **the outer fence
|
|
27
|
+
must be longer (more colons) than the inner**. Same rule as
|
|
28
|
+
code fences. The parser closes a fence at the first matching
|
|
29
|
+
line of the same-or-shorter length, so an inner `:::` will
|
|
30
|
+
prematurely close a `:::` outer — leaving the rest of the
|
|
31
|
+
content stranded outside the directive.
|
|
32
|
+
|
|
33
|
+
❌ Wrong — the inner `:::` closes the outer `:::steps`:
|
|
34
|
+
|
|
35
|
+
```markdown
|
|
36
|
+
:::steps
|
|
37
|
+
1. Install
|
|
38
|
+
:::warning
|
|
39
|
+
Don't skip this.
|
|
40
|
+
:::
|
|
41
|
+
2. Configure
|
|
42
|
+
:::
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
✅ Right — the four-colon outer survives the three-colon inner:
|
|
46
|
+
|
|
47
|
+
```markdown
|
|
48
|
+
::::steps
|
|
49
|
+
1. Install
|
|
50
|
+
:::warning
|
|
51
|
+
Don't skip this.
|
|
52
|
+
:::
|
|
53
|
+
2. Configure
|
|
54
|
+
::::
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Add another colon for each level of nesting (`:::::` for a
|
|
58
|
+
directive inside a `::::` outer, and so on). Most pages never
|
|
59
|
+
go past two levels.
|
|
60
|
+
|
|
24
61
|
## Callouts
|
|
25
62
|
|
|
26
63
|
Two equivalent forms — pick whichever reads cleaner.
|