@refrakt-md/runes 0.32.0 → 0.34.0

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 (303) hide show
  1. package/dist/aggregate-resolve.d.ts.map +1 -1
  2. package/dist/aggregate-resolve.js +18 -4
  3. package/dist/aggregate-resolve.js.map +1 -1
  4. package/dist/attributes.d.ts +15 -0
  5. package/dist/attributes.d.ts.map +1 -1
  6. package/dist/attributes.js +22 -7
  7. package/dist/attributes.js.map +1 -1
  8. package/dist/collection-helpers.d.ts.map +1 -1
  9. package/dist/collection-helpers.js +1 -1
  10. package/dist/collection-helpers.js.map +1 -1
  11. package/dist/collection-resolve.d.ts.map +1 -1
  12. package/dist/collection-resolve.js +31 -8
  13. package/dist/collection-resolve.js.map +1 -1
  14. package/dist/config.d.ts.map +1 -1
  15. package/dist/config.js +214 -77
  16. package/dist/config.js.map +1 -1
  17. package/dist/data-adapters.d.ts.map +1 -1
  18. package/dist/data-adapters.js +28 -11
  19. package/dist/data-adapters.js.map +1 -1
  20. package/dist/data-emit.d.ts +1 -0
  21. package/dist/data-emit.d.ts.map +1 -1
  22. package/dist/data-emit.js +40 -0
  23. package/dist/data-emit.js.map +1 -1
  24. package/dist/data-pipeline.d.ts +10 -4
  25. package/dist/data-pipeline.d.ts.map +1 -1
  26. package/dist/data-pipeline.js +331 -32
  27. package/dist/data-pipeline.js.map +1 -1
  28. package/dist/data-projection.d.ts +21 -0
  29. package/dist/data-projection.d.ts.map +1 -1
  30. package/dist/data-projection.js +41 -3
  31. package/dist/data-projection.js.map +1 -1
  32. package/dist/data-resolve.d.ts.map +1 -1
  33. package/dist/data-resolve.js +5 -2
  34. package/dist/data-resolve.js.map +1 -1
  35. package/dist/documents/page.d.ts.map +1 -1
  36. package/dist/documents/page.js.map +1 -1
  37. package/dist/drawer-pipeline.d.ts.map +1 -1
  38. package/dist/drawer-pipeline.js +3 -2
  39. package/dist/drawer-pipeline.js.map +1 -1
  40. package/dist/expand-pipeline.d.ts.map +1 -1
  41. package/dist/expand-pipeline.js +3 -3
  42. package/dist/expand-pipeline.js.map +1 -1
  43. package/dist/fence-escape.d.ts.map +1 -1
  44. package/dist/fence-escape.js +1 -3
  45. package/dist/fence-escape.js.map +1 -1
  46. package/dist/field-match.d.ts.map +1 -1
  47. package/dist/field-match.js.map +1 -1
  48. package/dist/file-ref-resolve.js +6 -4
  49. package/dist/file-ref-resolve.js.map +1 -1
  50. package/dist/fixtures.js +2 -2
  51. package/dist/fixtures.js.map +1 -1
  52. package/dist/functions.d.ts.map +1 -1
  53. package/dist/functions.js +16 -3
  54. package/dist/functions.js.map +1 -1
  55. package/dist/include-pipeline.d.ts +52 -0
  56. package/dist/include-pipeline.d.ts.map +1 -0
  57. package/dist/include-pipeline.js +206 -0
  58. package/dist/include-pipeline.js.map +1 -0
  59. package/dist/index.d.ts +94 -37
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +298 -59
  62. package/dist/index.js.map +1 -1
  63. package/dist/interfaces.d.ts.map +1 -1
  64. package/dist/interfaces.js.map +1 -1
  65. package/dist/layouts/grid.d.ts +1 -1
  66. package/dist/layouts/grid.d.ts.map +1 -1
  67. package/dist/layouts/grid.js +4 -6
  68. package/dist/layouts/grid.js.map +1 -1
  69. package/dist/lib/component.d.ts +20 -0
  70. package/dist/lib/component.d.ts.map +1 -1
  71. package/dist/lib/component.js +42 -7
  72. package/dist/lib/component.js.map +1 -1
  73. package/dist/lib/icon-resolve.d.ts.map +1 -1
  74. package/dist/lib/icon-resolve.js.map +1 -1
  75. package/dist/lib/image-schemes.js +2 -2
  76. package/dist/lib/image-schemes.js.map +1 -1
  77. package/dist/lib/index.d.ts +2 -2
  78. package/dist/lib/index.d.ts.map +1 -1
  79. package/dist/lib/index.js +252 -51
  80. package/dist/lib/index.js.map +1 -1
  81. package/dist/lib/node.d.ts.map +1 -1
  82. package/dist/lib/node.js +3 -2
  83. package/dist/lib/node.js.map +1 -1
  84. package/dist/lib/placeholder.d.ts.map +1 -1
  85. package/dist/lib/placeholder.js +6 -9
  86. package/dist/lib/placeholder.js.map +1 -1
  87. package/dist/lib/read-file.d.ts.map +1 -1
  88. package/dist/lib/read-file.js.map +1 -1
  89. package/dist/lib/renderable.d.ts.map +1 -1
  90. package/dist/lib/renderable.js +5 -5
  91. package/dist/lib/renderable.js.map +1 -1
  92. package/dist/lib/resolver.d.ts.map +1 -1
  93. package/dist/lib/resolver.js +26 -35
  94. package/dist/lib/resolver.js.map +1 -1
  95. package/dist/lib/svg.d.ts.map +1 -1
  96. package/dist/lib/svg.js.map +1 -1
  97. package/dist/nodes.d.ts.map +1 -1
  98. package/dist/nodes.js +24 -22
  99. package/dist/nodes.js.map +1 -1
  100. package/dist/outline-scope.js +1 -3
  101. package/dist/outline-scope.js.map +1 -1
  102. package/dist/plugins.d.ts.map +1 -1
  103. package/dist/plugins.js +13 -10
  104. package/dist/plugins.js.map +1 -1
  105. package/dist/reference.d.ts +27 -2
  106. package/dist/reference.d.ts.map +1 -1
  107. package/dist/reference.js +58 -25
  108. package/dist/reference.js.map +1 -1
  109. package/dist/relationships-resolve.d.ts.map +1 -1
  110. package/dist/relationships-resolve.js +31 -7
  111. package/dist/relationships-resolve.js.map +1 -1
  112. package/dist/rune.d.ts.map +1 -1
  113. package/dist/rune.js.map +1 -1
  114. package/dist/sandbox-sources.js +6 -6
  115. package/dist/sandbox-sources.js.map +1 -1
  116. package/dist/seo.d.ts.map +1 -1
  117. package/dist/seo.js +4 -4
  118. package/dist/seo.js.map +1 -1
  119. package/dist/snippet-pipeline.d.ts.map +1 -1
  120. package/dist/snippet-pipeline.js +1 -1
  121. package/dist/snippet-pipeline.js.map +1 -1
  122. package/dist/tags/accordion.d.ts.map +1 -1
  123. package/dist/tags/accordion.js +43 -11
  124. package/dist/tags/accordion.js.map +1 -1
  125. package/dist/tags/aggregate.d.ts.map +1 -1
  126. package/dist/tags/aggregate.js +65 -10
  127. package/dist/tags/aggregate.js.map +1 -1
  128. package/dist/tags/annotate.d.ts.map +1 -1
  129. package/dist/tags/annotate.js +12 -9
  130. package/dist/tags/annotate.js.map +1 -1
  131. package/dist/tags/badge.d.ts.map +1 -1
  132. package/dist/tags/badge.js.map +1 -1
  133. package/dist/tags/bar.d.ts.map +1 -1
  134. package/dist/tags/bar.js +3 -7
  135. package/dist/tags/bar.js.map +1 -1
  136. package/dist/tags/bg.d.ts.map +1 -1
  137. package/dist/tags/bg.js +60 -12
  138. package/dist/tags/bg.js.map +1 -1
  139. package/dist/tags/blog.d.ts.map +1 -1
  140. package/dist/tags/blog.js +35 -10
  141. package/dist/tags/blog.js.map +1 -1
  142. package/dist/tags/breadcrumb.d.ts.map +1 -1
  143. package/dist/tags/breadcrumb.js +33 -11
  144. package/dist/tags/breadcrumb.js.map +1 -1
  145. package/dist/tags/budget.d.ts.map +1 -1
  146. package/dist/tags/budget.js +54 -16
  147. package/dist/tags/budget.js.map +1 -1
  148. package/dist/tags/card.d.ts.map +1 -1
  149. package/dist/tags/card.js +24 -6
  150. package/dist/tags/card.js.map +1 -1
  151. package/dist/tags/chart.d.ts.map +1 -1
  152. package/dist/tags/chart.js +33 -11
  153. package/dist/tags/chart.js.map +1 -1
  154. package/dist/tags/code.d.ts +25 -0
  155. package/dist/tags/code.d.ts.map +1 -0
  156. package/dist/tags/code.js +36 -0
  157. package/dist/tags/code.js.map +1 -0
  158. package/dist/tags/codegroup.d.ts.map +1 -1
  159. package/dist/tags/codegroup.js +39 -21
  160. package/dist/tags/codegroup.js.map +1 -1
  161. package/dist/tags/collection.d.ts.map +1 -1
  162. package/dist/tags/collection.js +55 -9
  163. package/dist/tags/collection.js.map +1 -1
  164. package/dist/tags/common.d.ts.map +1 -1
  165. package/dist/tags/common.js +34 -9
  166. package/dist/tags/common.js.map +1 -1
  167. package/dist/tags/compare.d.ts.map +1 -1
  168. package/dist/tags/compare.js +26 -14
  169. package/dist/tags/compare.js.map +1 -1
  170. package/dist/tags/conversation.d.ts.map +1 -1
  171. package/dist/tags/conversation.js +19 -17
  172. package/dist/tags/conversation.js.map +1 -1
  173. package/dist/tags/data.d.ts.map +1 -1
  174. package/dist/tags/data.js +91 -15
  175. package/dist/tags/data.js.map +1 -1
  176. package/dist/tags/datatable.d.ts.map +1 -1
  177. package/dist/tags/datatable.js +22 -8
  178. package/dist/tags/datatable.js.map +1 -1
  179. package/dist/tags/deflist.d.ts.map +1 -1
  180. package/dist/tags/deflist.js +5 -11
  181. package/dist/tags/deflist.js.map +1 -1
  182. package/dist/tags/details.d.ts.map +1 -1
  183. package/dist/tags/details.js +8 -5
  184. package/dist/tags/details.js.map +1 -1
  185. package/dist/tags/diagram.d.ts.map +1 -1
  186. package/dist/tags/diagram.js +9 -5
  187. package/dist/tags/diagram.js.map +1 -1
  188. package/dist/tags/diff.d.ts.map +1 -1
  189. package/dist/tags/diff.js +43 -24
  190. package/dist/tags/diff.js.map +1 -1
  191. package/dist/tags/drawer.d.ts.map +1 -1
  192. package/dist/tags/drawer.js +4 -6
  193. package/dist/tags/drawer.js.map +1 -1
  194. package/dist/tags/embed.d.ts.map +1 -1
  195. package/dist/tags/embed.js +10 -5
  196. package/dist/tags/embed.js.map +1 -1
  197. package/dist/tags/expand.d.ts.map +1 -1
  198. package/dist/tags/expand.js.map +1 -1
  199. package/dist/tags/figure.d.ts.map +1 -1
  200. package/dist/tags/figure.js +29 -9
  201. package/dist/tags/figure.js.map +1 -1
  202. package/dist/tags/file-ref.d.ts.map +1 -1
  203. package/dist/tags/file-ref.js.map +1 -1
  204. package/dist/tags/form.d.ts.map +1 -1
  205. package/dist/tags/form.js +52 -25
  206. package/dist/tags/form.js.map +1 -1
  207. package/dist/tags/gallery.d.ts.map +1 -1
  208. package/dist/tags/gallery.js +26 -12
  209. package/dist/tags/gallery.js.map +1 -1
  210. package/dist/tags/grid.d.ts.map +1 -1
  211. package/dist/tags/grid.js +57 -14
  212. package/dist/tags/grid.js.map +1 -1
  213. package/dist/tags/hint.d.ts.map +1 -1
  214. package/dist/tags/hint.js +9 -5
  215. package/dist/tags/hint.js.map +1 -1
  216. package/dist/tags/icon.d.ts.map +1 -1
  217. package/dist/tags/icon.js +5 -1
  218. package/dist/tags/icon.js.map +1 -1
  219. package/dist/tags/include.d.ts +24 -0
  220. package/dist/tags/include.d.ts.map +1 -0
  221. package/dist/tags/include.js +46 -0
  222. package/dist/tags/include.js.map +1 -0
  223. package/dist/tags/juxtapose.d.ts.map +1 -1
  224. package/dist/tags/juxtapose.js +32 -14
  225. package/dist/tags/juxtapose.js.map +1 -1
  226. package/dist/tags/layout.d.ts.map +1 -1
  227. package/dist/tags/layout.js +7 -4
  228. package/dist/tags/layout.js.map +1 -1
  229. package/dist/tags/mediatext.d.ts.map +1 -1
  230. package/dist/tags/mediatext.js +19 -8
  231. package/dist/tags/mediatext.js.map +1 -1
  232. package/dist/tags/nav.d.ts.map +1 -1
  233. package/dist/tags/nav.js +43 -23
  234. package/dist/tags/nav.js.map +1 -1
  235. package/dist/tags/pagination.d.ts.map +1 -1
  236. package/dist/tags/pagination.js +27 -5
  237. package/dist/tags/pagination.js.map +1 -1
  238. package/dist/tags/progress.d.ts.map +1 -1
  239. package/dist/tags/progress.js +25 -5
  240. package/dist/tags/progress.js.map +1 -1
  241. package/dist/tags/pullquote.d.ts.map +1 -1
  242. package/dist/tags/pullquote.js +16 -9
  243. package/dist/tags/pullquote.js.map +1 -1
  244. package/dist/tags/region.d.ts.map +1 -1
  245. package/dist/tags/region.js +9 -4
  246. package/dist/tags/region.js.map +1 -1
  247. package/dist/tags/relationships.d.ts.map +1 -1
  248. package/dist/tags/relationships.js +55 -9
  249. package/dist/tags/relationships.js.map +1 -1
  250. package/dist/tags/reveal.d.ts.map +1 -1
  251. package/dist/tags/reveal.js +16 -7
  252. package/dist/tags/reveal.js.map +1 -1
  253. package/dist/tags/sandbox.d.ts.map +1 -1
  254. package/dist/tags/sandbox.js +104 -44
  255. package/dist/tags/sandbox.js.map +1 -1
  256. package/dist/tags/section.d.ts.map +1 -1
  257. package/dist/tags/section.js +13 -3
  258. package/dist/tags/section.js.map +1 -1
  259. package/dist/tags/showcase.d.ts.map +1 -1
  260. package/dist/tags/showcase.js +33 -11
  261. package/dist/tags/showcase.js.map +1 -1
  262. package/dist/tags/sidenote.d.ts.map +1 -1
  263. package/dist/tags/sidenote.js +9 -5
  264. package/dist/tags/sidenote.js.map +1 -1
  265. package/dist/tags/snippet.d.ts.map +1 -1
  266. package/dist/tags/snippet.js +14 -6
  267. package/dist/tags/snippet.js.map +1 -1
  268. package/dist/tags/tabs.d.ts.map +1 -1
  269. package/dist/tags/tabs.js +16 -9
  270. package/dist/tags/tabs.js.map +1 -1
  271. package/dist/tags/textblock.d.ts.map +1 -1
  272. package/dist/tags/textblock.js +9 -5
  273. package/dist/tags/textblock.js.map +1 -1
  274. package/dist/tags/tint.d.ts +1 -1
  275. package/dist/tags/tint.d.ts.map +1 -1
  276. package/dist/tags/tint.js +14 -2
  277. package/dist/tags/tint.js.map +1 -1
  278. package/dist/tags/toc.d.ts.map +1 -1
  279. package/dist/tags/toc.js +16 -7
  280. package/dist/tags/toc.js.map +1 -1
  281. package/dist/tags/xref.d.ts.map +1 -1
  282. package/dist/tags/xref.js.map +1 -1
  283. package/dist/universal-attributes.d.ts.map +1 -1
  284. package/dist/universal-attributes.js +28 -5
  285. package/dist/universal-attributes.js.map +1 -1
  286. package/dist/util.d.ts +41 -1
  287. package/dist/util.d.ts.map +1 -1
  288. package/dist/util.js +72 -14
  289. package/dist/util.js.map +1 -1
  290. package/dist/xref-patterns.js +1 -1
  291. package/dist/xref-patterns.js.map +1 -1
  292. package/dist/xref-preview-resolve.js +3 -4
  293. package/dist/xref-preview-resolve.js.map +1 -1
  294. package/dist/xref-resolve.d.ts.map +1 -1
  295. package/dist/xref-resolve.js +4 -4
  296. package/dist/xref-resolve.js.map +1 -1
  297. package/i18n/de.json +67 -67
  298. package/i18n/en.json +67 -67
  299. package/package.json +3 -3
  300. package/dist/tags/error.d.ts +0 -3
  301. package/dist/tags/error.d.ts.map +0 -1
  302. package/dist/tags/error.js +0 -34
  303. package/dist/tags/error.js.map +0 -1
@@ -0,0 +1,206 @@
1
+ /**
2
+ * Include pipeline hook (SPEC-129).
3
+ *
4
+ * The first preprocess step: walk the parsed AST and replace every
5
+ * `{% include %}` tag with the referenced partial's AST, cloned and with the
6
+ * tag's `variables` substituted. It runs **before** `preprocessSnippets` and
7
+ * `preprocessData` so a `data` or `snippet` inside the pasted file is in the
8
+ * tree when those hooks walk it — the case `{% partial %}` cannot serve,
9
+ * because Markdoc expands partials during the transform.
10
+ *
11
+ * Three properties are load-bearing:
12
+ *
13
+ * - **Splice, never wrap.** One include produces N nodes and they land as
14
+ * direct siblings. A container to keep the replacement 1:1 breaks
15
+ * composition invisibly: measured in SPEC-127, `{% section %}` and
16
+ * `{% grid %}` consume their children, so wrapped content vanishes with no
17
+ * error. Same constraint, same reason, as the `data` per-row body.
18
+ *
19
+ * - **Always clone.** The partial ASTs are parsed once per build and shared by
20
+ * every page that references them. The later preprocessors mutate the tree in
21
+ * place, so pasting the shared nodes would let one page's `data` resolution
22
+ * leak into the next page's copy.
23
+ *
24
+ * - **Substitute, don't scope.** `partial` binds variables into a
25
+ * transform-time scope, which is precisely what a preprocessor attribute
26
+ * cannot read. `include` rewrites `Variable` nodes in the cloned AST at paste
27
+ * time — the same thing `bindRow` does for `$row` — so a binding reaches
28
+ * `{% data where=$q %}`. Variables the include does not bind are left alone
29
+ * and resolve at transform against the page's own variables.
30
+ *
31
+ * Failures render a visible error callout and record a build error rather than
32
+ * throwing, matching `data`: one bad include does not take out the build, and
33
+ * the failure is on the page where the author will see it.
34
+ */
35
+ import Markdoc from '@markdoc/markdoc';
36
+ import { emitErrorNode } from './data-emit.js';
37
+ const { Ast } = Markdoc;
38
+ /**
39
+ * How deep includes may nest.
40
+ *
41
+ * A cycle is caught by name before this ever fires — the stack check below is
42
+ * the real guard. This bounds the other shape: a chain of distinct files deep
43
+ * enough that it is a mistake rather than a structure anyone meant to author.
44
+ */
45
+ export const MAX_INCLUDE_DEPTH = 16;
46
+ /**
47
+ * Preprocess: splice every `{% include %}` tag away. No-op when no partials are
48
+ * available (a tree-mode build with none wired), matching how snippet and data
49
+ * no-op without a sandbox — the tag then falls through to its schema transform,
50
+ * which names the wiring.
51
+ */
52
+ export function preprocessIncludes(ast, page, ctx) {
53
+ const partials = ctx.partials;
54
+ if (!partials)
55
+ return;
56
+ let mutated = false;
57
+ walkAndReplaceIncludes(ast, page, ctx, partials, () => {
58
+ mutated = true;
59
+ }, []);
60
+ return mutated ? ast : undefined;
61
+ }
62
+ function walkAndReplaceIncludes(node, page, ctx, partials, onReplaced, stack) {
63
+ if (!node.children)
64
+ return;
65
+ for (let i = 0; i < node.children.length; i++) {
66
+ const child = node.children[i];
67
+ if (child.type === 'tag' && child.tag === 'include') {
68
+ const replacement = resolveInclude(child, page, ctx, partials, stack);
69
+ node.children.splice(i, 1, ...replacement);
70
+ // Skip the pasted nodes: nested includes inside them were already
71
+ // expanded by `resolveInclude`, under the cycle stack that names the
72
+ // chain. Re-walking here would expand them a second time with an empty
73
+ // stack, which is exactly how a cycle becomes an infinite paste.
74
+ i += replacement.length - 1;
75
+ onReplaced();
76
+ continue;
77
+ }
78
+ walkAndReplaceIncludes(child, page, ctx, partials, onReplaced, stack);
79
+ }
80
+ }
81
+ function fail(ctx, page, message) {
82
+ ctx.error(`include: ${message}`, page.url);
83
+ return [emitErrorNode(`include error: ${message}`)];
84
+ }
85
+ function resolveInclude(tag, page, ctx, partials, stack) {
86
+ const file = resolveValue(tag.attributes?.file, ctx.variables);
87
+ if (typeof file !== 'string' || file.length === 0) {
88
+ return fail(ctx, page, 'the `file` attribute is required (an unresolvable variable reference resolves to empty)');
89
+ }
90
+ if (stack.includes(file)) {
91
+ return fail(ctx, page, `cycle — ${[...stack, file].join(' → ')}`);
92
+ }
93
+ if (stack.length >= MAX_INCLUDE_DEPTH) {
94
+ return fail(ctx, page, `nested more than ${MAX_INCLUDE_DEPTH} deep — ${[...stack, file].join(' → ')}`);
95
+ }
96
+ const source = partials[file];
97
+ if (!source || typeof source !== 'object') {
98
+ const known = Object.keys(partials).sort();
99
+ const available = known.length > 0
100
+ ? ` Available: ${known.join(', ')}.`
101
+ : ' No partials are registered for this site.';
102
+ return fail(ctx, page, `"${file}" was not found in \`_partials/\` or any registered file root.${available}`);
103
+ }
104
+ const bindings = resolveVariables(tag.attributes?.variables, ctx.variables);
105
+ const pasted = source.children ?? [];
106
+ const children = pasted.map((child) => cloneWithBindings(child, bindings));
107
+ // Expand nested includes inside what was just pasted, under a stack carrying
108
+ // this file — so a cycle is reported by name instead of overflowing.
109
+ if (children.length > 0) {
110
+ const container = new Ast.Node('document', {}, children);
111
+ walkAndReplaceIncludes(container, page, ctx, partials, () => { }, [...stack, file]);
112
+ return container.children;
113
+ }
114
+ return children;
115
+ }
116
+ /**
117
+ * Clone a node, substituting bound variables.
118
+ *
119
+ * `$q` reaches the AST as a `Variable` in a node's *attributes* — on a tag
120
+ * (`where=$q`) and equally on a `text` node, where `{% $q %}` becomes
121
+ * `content: Variable(['q'])`. One rule covers both, exactly as `bindRow` does.
122
+ */
123
+ function cloneWithBindings(node, bindings) {
124
+ const attributes = {};
125
+ for (const [key, value] of Object.entries(node.attributes ?? {})) {
126
+ attributes[key] = substitute(value, bindings);
127
+ }
128
+ const children = (node.children ?? []).map((child) => cloneWithBindings(child, bindings));
129
+ const copy = new Ast.Node(node.type, attributes, children, node.tag);
130
+ // The constructor takes four fields; everything else Markdoc's parser sets
131
+ // has to be carried across by hand. `inline` decides whether a node renders
132
+ // inline, and `annotations` carries `{% .class #id %}` shorthand — dropping
133
+ // either changes the output silently.
134
+ if (node.lines)
135
+ copy.lines = node.lines;
136
+ if (node.location)
137
+ copy.location = node.location;
138
+ copy.inline = node.inline;
139
+ if (node.annotations?.length)
140
+ copy.annotations = node.annotations;
141
+ if (node.slots && Object.keys(node.slots).length > 0) {
142
+ copy.slots = Object.fromEntries(Object.entries(node.slots).map(([k, v]) => [k, cloneWithBindings(v, bindings)]));
143
+ }
144
+ return copy;
145
+ }
146
+ /**
147
+ * Replace a `Variable` node whose root segment the include binds.
148
+ *
149
+ * Unbound variables pass through untouched rather than resolving to empty: the
150
+ * pasted AST is page content now, so `$page.slug` and friends still resolve at
151
+ * transform against the page's own variables. That is a capability `partial`
152
+ * does not have — its scope *replaces* the variable surface.
153
+ */
154
+ function substitute(value, bindings) {
155
+ if (!value || typeof value !== 'object')
156
+ return value;
157
+ const node = value;
158
+ if (node.$$mdtype === 'Variable' && Array.isArray(node.path) && node.path.length > 0) {
159
+ const [root, ...rest] = node.path;
160
+ if (!(root in bindings))
161
+ return value;
162
+ let current = bindings[root];
163
+ for (const segment of rest) {
164
+ if (current === null || current === undefined)
165
+ return '';
166
+ current = current[segment];
167
+ }
168
+ return current === null || current === undefined ? '' : current;
169
+ }
170
+ return value;
171
+ }
172
+ /** The include's own `variables={...}`, with any page-variable references in
173
+ * its values resolved before they are substituted into the pasted AST. */
174
+ function resolveVariables(raw, pageVariables) {
175
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw))
176
+ return {};
177
+ const out = {};
178
+ for (const [key, value] of Object.entries(raw)) {
179
+ out[key] = resolveValue(value, pageVariables);
180
+ }
181
+ return out;
182
+ }
183
+ /** Resolve an attribute value against the page's variables — literals pass
184
+ * through, `Variable` nodes are looked up. Mirrors snippet's and data's
185
+ * resolvers; anything else (a `Function` node) resolves to empty — the same
186
+ * silent-empty behaviour BUG-010 tracks for `data`'s `where`. */
187
+ function resolveValue(value, variables) {
188
+ if (value === undefined || value === null)
189
+ return '';
190
+ if (typeof value !== 'object')
191
+ return value;
192
+ const node = value;
193
+ if (node.$$mdtype === 'Variable' && Array.isArray(node.path)) {
194
+ let current = variables;
195
+ for (const segment of node.path) {
196
+ if (current === null || current === undefined)
197
+ return '';
198
+ current = current[segment];
199
+ }
200
+ return current === null || current === undefined ? '' : current;
201
+ }
202
+ if (node.$$mdtype === undefined)
203
+ return value;
204
+ return '';
205
+ }
206
+ //# sourceMappingURL=include-pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"include-pipeline.js","sourceRoot":"","sources":["../src/include-pipeline.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,26 +5,32 @@ import './xref-preview-resolve.js';
5
5
  import Markdoc from '@markdoc/markdoc';
6
6
  export * from './interfaces.js';
7
7
  export { Rune, defineRune, runeTagMap } from './rune.js';
8
+ /** Custom Markdoc attribute types. Exported since SPEC-132, which is the first
9
+ * release in which their `validate()` runs in a build at all — `transform()`
10
+ * never invoked it, only `Markdoc.validate()` does. `plugins/media` carries its
11
+ * own copies of these classes, which is what an unexported utility tends to
12
+ * produce. */
13
+ export { SeparatedString, CommaSeparatedList, SpaceSeparatedList, SpaceSeparatedNumberList, } from './attributes.js';
8
14
  export { RenderableNodeCursor } from './lib/renderable.js';
9
- export { createContentModelSchema, createComponentRenderable, asNodes, schemaContentModels, schemaRuneStructures, declareUniversalPosture, sanitizeSandboxContent } from './lib/index.js';
15
+ export { createContentModelSchema, createComponentRenderable, asNodes, schemaContentModels, schemaRuneStructures, declareUniversalPosture, sanitizeSandboxContent, } from './lib/index.js';
10
16
  export type { RuneStructure, SectionRole } from './lib/index.js';
11
- export { resolveUniversalAttributes, AXIS_ATTRIBUTES, POSTURE_REASONS } from './universal-attributes.js';
12
- export type { UniversalAttributePosture, UniversalAttributeInput, UniversalAttributeAvailability } from './universal-attributes.js';
17
+ export { resolveUniversalAttributes, AXIS_ATTRIBUTES, POSTURE_REASONS, } from './universal-attributes.js';
18
+ export type { UniversalAttributePosture, UniversalAttributeInput, UniversalAttributeAvailability, } from './universal-attributes.js';
13
19
  export { describeSchemaUniversals, UNRECORDED_REASON } from './schema-universals.js';
14
20
  export type { SchemaUniversals, UnavailableAxis } from './schema-universals.js';
15
21
  export type { DeprecationRule, ContentModelSchemaOptions } from './lib/index.js';
16
- export { resolve, resolveSequence, resolveDelimited, resolveContentModel, resolveListItems, evaluateCondition, matchesType } from './lib/resolver.js';
22
+ export { resolve, resolveSequence, resolveDelimited, resolveContentModel, resolveListItems, evaluateCondition, matchesType, } from './lib/resolver.js';
17
23
  export { registerImageScheme, resolveImageScheme, hasImageScheme } from './lib/image-schemes.js';
18
24
  export type { ImageSchemeResolver, ImageSchemeContext } from './lib/image-schemes.js';
19
25
  export { resolveIcon, splitIconName } from './lib/icon-resolve.js';
20
26
  export type { IconResolveOptions, ResolvedIcon } from './lib/icon-resolve.js';
21
- export { placeholderSvg, PLACEHOLDER_SHAPES, DEFAULT_PLACEHOLDER_SHAPE } from './lib/placeholder.js';
27
+ export { placeholderSvg, PLACEHOLDER_SHAPES, DEFAULT_PLACEHOLDER_SHAPE, } from './lib/placeholder.js';
22
28
  export type { PlaceholderOptions } from './lib/placeholder.js';
23
29
  export { FIXTURE_ROLES, splitFixture, parseFixtureFilename, validateFixtureFrontmatter, parseFixture, } from './fixtures.js';
24
30
  export type { FixtureRole, FixtureFrontmatter, ParsedFixture, FixtureIssue } from './fixtures.js';
25
- export { parseFieldMatch, matchesFieldMatch, matchesFilterExpr, resolveEntityField } from './field-match.js';
31
+ export { parseFieldMatch, matchesFieldMatch, matchesFilterExpr, resolveEntityField, } from './field-match.js';
26
32
  export type { MatchableEntity, FieldMatchClause, ParsedFieldMatch } from './field-match.js';
27
- export { DEFERRED_BODY_ATTR, captureDeferredBodies, readDeferredBody, transformDeferredTemplate } from './deferred-body.js';
33
+ export { DEFERRED_BODY_ATTR, captureDeferredBodies, readDeferredBody, transformDeferredTemplate, } from './deferred-body.js';
28
34
  export { resolveCollections } from './collection-resolve.js';
29
35
  export { resolveRelationships } from './relationships-resolve.js';
30
36
  export { resolveAggregates } from './aggregate-resolve.js';
@@ -40,9 +46,9 @@ export { Ordering, buildOrdering, sortEntities, groupEntities, groupBy, entityUr
40
46
  export type { CollectionEmbedConfig } from './collection-helpers.js';
41
47
  export { COLLECTION_SENTINEL } from './tags/collection.js';
42
48
  export { functions, currency, date, number, join, concat, humanize } from './functions.js';
43
- export { linkItem, pageSectionProperties, buildLayoutMetas, splitMediaBodyFooter, extractMediaImage, unwrapParagraphImages, isMediaNode, isSchemeMediaNode, name as nameHelper, description as descriptionHelper, SplitablePageSectionModel, SplitLayoutModel, splitLayoutAttributes } from './tags/common.js';
49
+ export { linkItem, pageSectionProperties, buildLayoutMetas, splitMediaBodyFooter, extractMediaImage, unwrapParagraphImages, isMediaNode, isSchemeMediaNode, name as nameHelper, description as descriptionHelper, SplitablePageSectionModel, SplitLayoutModel, splitLayoutAttributes, } from './tags/common.js';
44
50
  export type { LayoutMetas } from './tags/common.js';
45
- export { extractHeadings, firstH1, headingsToList } from './util.js';
51
+ export { extractHeadings, firstH1, headingsToList, headingSlug, headingText, renderableText, } from './util.js';
46
52
  export { LANG_MAP, FALLBACK_LANG, inferLanguage } from './lang-map.js';
47
53
  export type { HeadingInfo } from './util.js';
48
54
  export { extractSeo, collectJsonLd, textContent } from './seo.js';
@@ -56,11 +62,11 @@ export { registerAttributePreset, lookupAttributePreset, schemaBasePresets, UNIV
56
62
  export type { AttributePresetMetadata } from './attribute-presets.js';
57
63
  export { LAYOUT, CANONICAL_LAYOUTS, layoutMatches } from './layout-vocabulary.js';
58
64
  export type { CanonicalLayout } from './layout-vocabulary.js';
59
- export { READING_REGISTERS, DEFAULT_READING, READING_CAPABILITIES, resolveReading, coerceRegister } from '@refrakt-md/transform';
65
+ export { READING_REGISTERS, DEFAULT_READING, READING_CAPABILITIES, resolveReading, coerceRegister, } from '@refrakt-md/transform';
60
66
  export type { ReadingRegister, ReadingResolutionInput } from '@refrakt-md/transform';
61
- export { loadPlugin, mergePlugins, applyAliases, loadLocalRunes, discoverPluginFixtures, discoverPluginFixtureManifest, assertFileRootNamespaceAllowed } from './plugins.js';
67
+ export { loadPlugin, mergePlugins, applyAliases, loadLocalRunes, discoverPluginFixtures, discoverPluginFixtureManifest, assertFileRootNamespaceAllowed, } from './plugins.js';
62
68
  export type { LoadedPlugin, MergedPluginResult } from './plugins.js';
63
- export { coreConfig, baseConfig, corePipelineHooks, createCorePipelineHooks, resolveCoreSentinels, type PageTreeNode, type CorePipelineHooksOptions } from './config.js';
69
+ export { coreConfig, baseConfig, corePipelineHooks, createCorePipelineHooks, resolveCoreSentinels, type PageTreeNode, type CorePipelineHooksOptions, } from './config.js';
64
70
  export { coreTranslations } from './translations.generated.js';
65
71
  export { BREADCRUMB_AUTO_SENTINEL } from './tags/breadcrumb.js';
66
72
  export { NAV_AUTO_SENTINEL } from './tags/nav.js';
@@ -81,7 +87,6 @@ export declare const runes: {
81
87
  region: import("./rune.js").Rune;
82
88
  layout: import("./rune.js").Rune;
83
89
  codegroup: import("./rune.js").Rune;
84
- error: import("./rune.js").Rune;
85
90
  grid: import("./rune.js").Rune;
86
91
  hint: import("./rune.js").Rune;
87
92
  tab: import("./rune.js").Rune;
@@ -104,6 +109,8 @@ export declare const runes: {
104
109
  diff: import("./rune.js").Rune;
105
110
  snippet: import("./rune.js").Rune;
106
111
  data: import("./rune.js").Rune;
112
+ code: import("./rune.js").Rune;
113
+ include: import("./rune.js").Rune;
107
114
  chart: import("./rune.js").Rune;
108
115
  diagram: import("./rune.js").Rune;
109
116
  sidenote: import("./rune.js").Rune;
@@ -146,30 +153,80 @@ export declare const runes: {
146
153
  * gives template authors a way to build dynamic links inside collection
147
154
  * cells, partials, etc. */
148
155
  export declare const tags: {
149
- else: import("@markdoc/markdoc/dist/src/types.js").Schema<Readonly<Partial<{
150
- nodes: Partial<Record<import("@markdoc/markdoc/dist/src/types.js").NodeType, import("@markdoc/markdoc/dist/src/types.js").Schema<Readonly<Partial<any>>, string>>>;
151
- tags: Record<string, import("@markdoc/markdoc/dist/src/types.js").Schema<Readonly<Partial<any>>, string>>;
152
- variables: Record<string, any>;
153
- functions: Record<string, import("@markdoc/markdoc/dist/src/types.js").ConfigFunction>;
154
- partials: Record<string, any>;
155
- validation?: {
156
- parents?: import("@markdoc/markdoc/dist/src/types.js").Node[] | undefined;
157
- validateFunctions?: boolean | undefined;
158
- environment?: string | undefined;
159
- } | undefined;
160
- }>>, string>;
161
- if: import("@markdoc/markdoc/dist/src/types.js").Schema<Readonly<Partial<{
162
- nodes: Partial<Record<import("@markdoc/markdoc/dist/src/types.js").NodeType, import("@markdoc/markdoc/dist/src/types.js").Schema<Readonly<Partial<any>>, string>>>;
163
- tags: Record<string, import("@markdoc/markdoc/dist/src/types.js").Schema<Readonly<Partial<any>>, string>>;
164
- variables: Record<string, any>;
165
- functions: Record<string, import("@markdoc/markdoc/dist/src/types.js").ConfigFunction>;
166
- partials: Record<string, any>;
167
- validation?: {
168
- parents?: import("@markdoc/markdoc/dist/src/types.js").Node[] | undefined;
169
- validateFunctions?: boolean | undefined;
170
- environment?: string | undefined;
171
- } | undefined;
172
- }>>, string>;
156
+ if: {
157
+ attributes: {
158
+ primary: {
159
+ render: boolean;
160
+ };
161
+ };
162
+ render?: string | undefined;
163
+ children?: string[];
164
+ slots?: Record<string, Markdoc.SchemaSlot>;
165
+ selfClosing?: boolean;
166
+ inline?: boolean;
167
+ transform?(node: Markdoc.Node, config: Readonly<Partial<{
168
+ nodes: Partial<Record<import("@markdoc/markdoc/dist/src/types.js").NodeType, import("@markdoc/markdoc/dist/src/types.js").Schema<Readonly<Partial<any>>, string>>>;
169
+ tags: Record<string, import("@markdoc/markdoc/dist/src/types.js").Schema<Readonly<Partial<any>>, string>>;
170
+ variables: Record<string, any>;
171
+ functions: Record<string, import("@markdoc/markdoc/dist/src/types.js").ConfigFunction>;
172
+ partials: Record<string, any>;
173
+ validation?: {
174
+ parents?: import("@markdoc/markdoc/dist/src/types.js").Node[] | undefined;
175
+ validateFunctions?: boolean | undefined;
176
+ environment?: string | undefined;
177
+ } | undefined;
178
+ }>>): Markdoc.MaybePromise<Markdoc.RenderableTreeNodes>;
179
+ validate?(node: Markdoc.Node, config: Readonly<Partial<{
180
+ nodes: Partial<Record<import("@markdoc/markdoc/dist/src/types.js").NodeType, import("@markdoc/markdoc/dist/src/types.js").Schema<Readonly<Partial<any>>, string>>>;
181
+ tags: Record<string, import("@markdoc/markdoc/dist/src/types.js").Schema<Readonly<Partial<any>>, string>>;
182
+ variables: Record<string, any>;
183
+ functions: Record<string, import("@markdoc/markdoc/dist/src/types.js").ConfigFunction>;
184
+ partials: Record<string, any>;
185
+ validation?: {
186
+ parents?: import("@markdoc/markdoc/dist/src/types.js").Node[] | undefined;
187
+ validateFunctions?: boolean | undefined;
188
+ environment?: string | undefined;
189
+ } | undefined;
190
+ }>>): Markdoc.MaybePromise<Markdoc.ValidationError[]>;
191
+ description?: string;
192
+ };
193
+ else: {
194
+ attributes: {
195
+ primary: {
196
+ render: boolean;
197
+ };
198
+ };
199
+ render?: string | undefined;
200
+ children?: string[];
201
+ slots?: Record<string, Markdoc.SchemaSlot>;
202
+ selfClosing?: boolean;
203
+ inline?: boolean;
204
+ transform?(node: Markdoc.Node, config: Readonly<Partial<{
205
+ nodes: Partial<Record<import("@markdoc/markdoc/dist/src/types.js").NodeType, import("@markdoc/markdoc/dist/src/types.js").Schema<Readonly<Partial<any>>, string>>>;
206
+ tags: Record<string, import("@markdoc/markdoc/dist/src/types.js").Schema<Readonly<Partial<any>>, string>>;
207
+ variables: Record<string, any>;
208
+ functions: Record<string, import("@markdoc/markdoc/dist/src/types.js").ConfigFunction>;
209
+ partials: Record<string, any>;
210
+ validation?: {
211
+ parents?: import("@markdoc/markdoc/dist/src/types.js").Node[] | undefined;
212
+ validateFunctions?: boolean | undefined;
213
+ environment?: string | undefined;
214
+ } | undefined;
215
+ }>>): Markdoc.MaybePromise<Markdoc.RenderableTreeNodes>;
216
+ validate?(node: Markdoc.Node, config: Readonly<Partial<{
217
+ nodes: Partial<Record<import("@markdoc/markdoc/dist/src/types.js").NodeType, import("@markdoc/markdoc/dist/src/types.js").Schema<Readonly<Partial<any>>, string>>>;
218
+ tags: Record<string, import("@markdoc/markdoc/dist/src/types.js").Schema<Readonly<Partial<any>>, string>>;
219
+ variables: Record<string, any>;
220
+ functions: Record<string, import("@markdoc/markdoc/dist/src/types.js").ConfigFunction>;
221
+ partials: Record<string, any>;
222
+ validation?: {
223
+ parents?: import("@markdoc/markdoc/dist/src/types.js").Node[] | undefined;
224
+ validateFunctions?: boolean | undefined;
225
+ environment?: string | undefined;
226
+ } | undefined;
227
+ }>>): Markdoc.MaybePromise<Markdoc.ValidationError[]>;
228
+ description?: string;
229
+ };
173
230
  partial: import("@markdoc/markdoc/dist/src/types.js").Schema<Readonly<Partial<{
174
231
  nodes: Partial<Record<import("@markdoc/markdoc/dist/src/types.js").NodeType, import("@markdoc/markdoc/dist/src/types.js").Schema<Readonly<Partial<any>>, string>>>;
175
232
  tags: Record<string, import("@markdoc/markdoc/dist/src/types.js").Schema<Readonly<Partial<any>>, string>>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}