dogsbay 0.2.0-beta.47 → 0.2.0-beta.49

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.
@@ -25,9 +25,13 @@
25
25
  * Per-page frontmatter `preprocess: false` opts a `.md` out of Minja
26
26
  * rendering (the file is hardlinked instead, so the mirror still has it).
27
27
  *
28
- * Minja runs with `undefinedBehavior: "preserve"` so any reference still
29
- * unresolved (e.g. supplied at a later build) survives as literal
30
- * `{{ name }}` text in the mirror.
28
+ * Minja runs with `undefinedBehavior: "preserve"` so an unresolved
29
+ * `{{ name }}` interpolation survives as literal text in the mirror.
30
+ * Conditionals are different: `undefinedConditions: "falsy"` evaluates
31
+ * `{% if attr %}` on an undefined attribute as false (AsciiDoc
32
+ * `ifdef::attr[]` semantics) and drops the block, rather than leaking
33
+ * the raw directive — this is the terminal build, so there's no later
34
+ * pass to resolve it.
31
35
  *
32
36
  * Supersedes the in-place rewrite documented in
33
37
  * [plans/asciidoc-build-preprocessor.md](../../plans/asciidoc-build-preprocessor.md).
@@ -153,6 +157,13 @@ async function renderMdToMirror(sourcePath, mirrorPath, attrs, result) {
153
157
  const rendered = await minjaRender(masked, {
154
158
  context: attrs,
155
159
  undefinedBehavior: "preserve",
160
+ // This is the terminal build — no later Minja pass will run.
161
+ // Treat conditionals on undefined attributes as falsy (AsciiDoc
162
+ // `ifdef::attr[]` semantics) so an unsupplied flag (e.g. an
163
+ // unselected distro) drops its block instead of leaking the raw
164
+ // `{% if … %}` directive to readers. Undefined `{{ var }}`
165
+ // interpolations are still preserved.
166
+ undefinedConditions: "falsy",
156
167
  hyphenToUnderscore: true,
157
168
  basePath: dirname(sourcePath),
158
169
  loader: new FragmentStrippingLoader(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dogsbay",
3
- "version": "0.2.0-beta.47",
3
+ "version": "0.2.0-beta.49",
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": {
@@ -33,18 +33,18 @@
33
33
  "picocolors": "^1.1.0",
34
34
  "prompts": "^2.4.2",
35
35
  "yaml": "^2.8.3",
36
- "@dogsbay/autodoc-python": "0.2.0-beta.47",
37
- "@dogsbay/format-mkdocs": "0.2.0-beta.47",
38
- "@dogsbay/format-astro": "0.2.0-beta.47",
39
- "@dogsbay/format-obsidian": "0.2.0-beta.47",
40
- "@dogsbay/format-mdx": "0.2.0-beta.47",
41
- "@dogsbay/format-dogsbay-md": "0.2.0-beta.47",
42
- "@dogsbay/format-starlight": "0.2.0-beta.47",
43
- "@dogsbay/format-openapi": "0.2.0-beta.47",
44
- "@dogsbay/adoc2md-modular": "0.2.0-beta.47",
45
- "@dogsbay/format-asciidoc": "0.2.0-beta.47",
46
- "@dogsbay/minja": "0.1.0",
47
- "@dogsbay/types": "0.2.0-beta.47"
36
+ "@dogsbay/autodoc-python": "0.2.0-beta.49",
37
+ "@dogsbay/format-mkdocs": "0.2.0-beta.49",
38
+ "@dogsbay/format-astro": "0.2.0-beta.49",
39
+ "@dogsbay/format-obsidian": "0.2.0-beta.49",
40
+ "@dogsbay/format-mdx": "0.2.0-beta.49",
41
+ "@dogsbay/format-starlight": "0.2.0-beta.49",
42
+ "@dogsbay/format-dogsbay-md": "0.2.0-beta.49",
43
+ "@dogsbay/format-openapi": "0.2.0-beta.49",
44
+ "@dogsbay/adoc2md-modular": "0.2.0-beta.49",
45
+ "@dogsbay/format-asciidoc": "0.2.0-beta.49",
46
+ "@dogsbay/types": "0.2.0-beta.49",
47
+ "@dogsbay/minja": "0.2.0-beta.49"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@types/markdown-it": "^14.1.0",