@refrakt-md/runes 0.20.2 → 0.22.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 (66) hide show
  1. package/dist/config.d.ts +0 -8
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.js +35 -0
  4. package/dist/config.js.map +1 -1
  5. package/dist/data-resolve.d.ts +3 -0
  6. package/dist/data-resolve.d.ts.map +1 -0
  7. package/dist/data-resolve.js +142 -0
  8. package/dist/data-resolve.js.map +1 -0
  9. package/dist/examples.d.ts +7 -1
  10. package/dist/examples.d.ts.map +1 -1
  11. package/dist/examples.js +56 -212
  12. package/dist/examples.js.map +1 -1
  13. package/dist/fixtures.d.ts +69 -0
  14. package/dist/fixtures.d.ts.map +1 -0
  15. package/dist/fixtures.js +109 -0
  16. package/dist/fixtures.js.map +1 -0
  17. package/dist/index.d.ts +14 -3
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +17 -3
  20. package/dist/index.js.map +1 -1
  21. package/dist/lib/icon-resolve.d.ts +31 -0
  22. package/dist/lib/icon-resolve.d.ts.map +1 -0
  23. package/dist/lib/icon-resolve.js +45 -0
  24. package/dist/lib/icon-resolve.js.map +1 -0
  25. package/dist/lib/image-schemes.d.ts +29 -0
  26. package/dist/lib/image-schemes.d.ts.map +1 -0
  27. package/dist/lib/image-schemes.js +56 -0
  28. package/dist/lib/image-schemes.js.map +1 -0
  29. package/dist/lib/placeholder.d.ts +19 -0
  30. package/dist/lib/placeholder.d.ts.map +1 -0
  31. package/dist/lib/placeholder.js +99 -0
  32. package/dist/lib/placeholder.js.map +1 -0
  33. package/dist/nodes.d.ts.map +1 -1
  34. package/dist/nodes.js +17 -0
  35. package/dist/nodes.js.map +1 -1
  36. package/dist/plugins.d.ts +14 -4
  37. package/dist/plugins.d.ts.map +1 -1
  38. package/dist/plugins.js +35 -15
  39. package/dist/plugins.js.map +1 -1
  40. package/dist/tags/budget.d.ts.map +1 -1
  41. package/dist/tags/budget.js +11 -5
  42. package/dist/tags/budget.js.map +1 -1
  43. package/dist/tags/common.d.ts +10 -0
  44. package/dist/tags/common.d.ts.map +1 -1
  45. package/dist/tags/common.js +22 -5
  46. package/dist/tags/common.js.map +1 -1
  47. package/dist/tags/figure.d.ts.map +1 -1
  48. package/dist/tags/figure.js +6 -3
  49. package/dist/tags/figure.js.map +1 -1
  50. package/dist/tags/gallery.d.ts.map +1 -1
  51. package/dist/tags/gallery.js +5 -2
  52. package/dist/tags/gallery.js.map +1 -1
  53. package/dist/tags/icon.d.ts.map +1 -1
  54. package/dist/tags/icon.js +4 -28
  55. package/dist/tags/icon.js.map +1 -1
  56. package/dist/tags/sandbox.d.ts.map +1 -1
  57. package/dist/tags/sandbox.js +41 -2
  58. package/dist/tags/sandbox.js.map +1 -1
  59. package/dist/tags/section.d.ts +9 -0
  60. package/dist/tags/section.d.ts.map +1 -0
  61. package/dist/tags/section.js +48 -0
  62. package/dist/tags/section.js.map +1 -0
  63. package/dist/xref-resolve.d.ts.map +1 -1
  64. package/dist/xref-resolve.js +12 -4
  65. package/dist/xref-resolve.js.map +1 -1
  66. package/package.json +7 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-resolve.js","sourceRoot":"","sources":["../src/data-resolve.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,9 @@
1
- /** Hand-crafted usage examples for each author-facing rune */
1
+ /** Generated example Markdoc snippets, keyed by rune name. Source: fixtures/*.md. */
2
2
  export declare const RUNE_EXAMPLES: Record<string, string>;
3
+ /** Curation metadata (`role` / `notes`) for fixtures that declare it. Source: fixtures/*.md. */
4
+ export interface RuneFixtureMeta {
5
+ role?: string;
6
+ notes?: string;
7
+ }
8
+ export declare const RUNE_FIXTURE_META: Record<string, RuneFixtureMeta>;
3
9
  //# sourceMappingURL=examples.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../src/examples.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA8OhD,CAAC"}
1
+ {"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../src/examples.ts"],"names":[],"mappings":"AAGA,qFAAqF;AACrF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAyChD,CAAC;AAEF,gGAAgG;AAChG,MAAM,WAAW,eAAe;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAY7D,CAAC"}
package/dist/examples.js CHANGED
@@ -1,215 +1,59 @@
1
- /** Hand-crafted usage examples for each author-facing rune */
1
+ // GENERATED from fixtures/*.md by scripts/generate-examples.mjs do not edit by hand.
2
+ // Edit the fixture .md files and rebuild; a drift test guards this file.
3
+ /** Generated example Markdoc snippets, keyed by rune name. Source: fixtures/*.md. */
2
4
  export const RUNE_EXAMPLES = {
3
- hint: `{% hint type="note" %}
4
- This is a helpful note for your readers.
5
- {% /hint %}`,
6
- grid: `{% grid %}
7
- Column one content.
8
-
9
- ---
10
-
11
- Column two content.
12
-
13
- ---
14
-
15
- Column three content.
16
- {% /grid %}`,
17
- tabs: `{% tabs %}
18
- ## npm
19
-
20
- \`\`\`shell
21
- npm install @refrakt-md/runes
22
- \`\`\`
23
-
24
- ## yarn
25
-
26
- \`\`\`shell
27
- yarn add @refrakt-md/runes
28
- \`\`\`
29
- {% /tabs %}`,
30
- codegroup: `{% codegroup %}
31
- \`\`\`js
32
- console.log('Hello');
33
- \`\`\`
34
-
35
- \`\`\`python
36
- print('Hello')
37
- \`\`\`
38
- {% /codegroup %}`,
39
- nav: `{% nav %}
40
- ## Getting Started
41
- - getting-started
42
- - installation
43
-
44
- ## Guides
45
- - theming
46
- - deployment
47
- {% /nav %}`,
48
- layout: `{% layout %}
49
- {% region name="header" %}
50
- # Site Title
51
- {% /region %}
52
-
53
- {% region name="nav" %}
54
- {% nav %}
55
- - getting-started
56
- - runes
57
- {% /nav %}
58
- {% /region %}
59
- {% /layout %}`,
60
- region: `{% region name="nav" %}
61
- {% nav %}
62
- - page-one
63
- - page-two
64
- {% /nav %}
65
- {% /region %}`,
66
- details: `{% details summary="How does billing work?" %}
67
- We bill monthly on the date you signed up. You can cancel anytime
68
- from your account settings.
69
- {% /details %}`,
70
- figure: `{% figure size="large" align="center" caption="Dashboard overview" %}
71
- ![Dashboard](/images/dashboard.png)
72
- {% /figure %}`,
73
- accordion: `{% accordion %}
74
- ## What is refrakt.md?
75
-
76
- A content framework that extends Markdown with semantic runes.
77
-
78
- ## How do I install it?
79
-
80
- Run \`npm install @refrakt-md/runes\` to get started.
81
-
82
- ## Is it free?
83
-
84
- Yes, refrakt.md is open source and free to use.
85
- {% /accordion %}`,
86
- toc: `{% toc depth=3 %}{% /toc %}`,
87
- breadcrumb: `{% breadcrumb %}
88
- - [Home](/)
89
- - [Docs](/docs)
90
- - [Runes](/docs/runes)
91
- - Hero
92
- {% /breadcrumb %}`,
93
- compare: `{% compare %}
94
- \`\`\`javascript
95
- // Before
96
- const x = 1;
97
- const y = 2;
98
- \`\`\`
99
-
100
- \`\`\`javascript
101
- // After
102
- const [x, y] = [1, 2];
103
- \`\`\`
104
- {% /compare %}`,
105
- embed: `{% embed url="https://www.youtube.com/watch?v=dQw4w9WgXcQ" %}
106
- Watch the video for a full walkthrough.
107
- {% /embed %}`,
108
- datatable: `{% datatable sortable="Name,Price" searchable=true pageSize=10 %}
109
- | Name | Price | Category | Stock |
110
- |------|-------|----------|-------|
111
- | Widget A | $9.99 | Tools | 150 |
112
- | Widget B | $14.99 | Tools | 85 |
113
- | Gadget X | $24.99 | Electronics | 42 |
114
- {% /datatable %}`,
115
- diff: `{% diff mode="unified" language="javascript" %}
116
- \`\`\`javascript
117
- function getData() {
118
- return fetch('/api')
119
- .then(res => res.json())
120
- .then(data => data);
121
- }
122
- \`\`\`
123
-
124
- \`\`\`javascript
125
- async function getData() {
126
- const res = await fetch('/api');
127
- return res.json();
128
- }
129
- \`\`\`
130
- {% /diff %}`,
131
- chart: `{% chart type="bar" title="Monthly Revenue" %}
132
- | Month | Revenue | Expenses |
133
- |-------|---------|----------|
134
- | Jan | 4200 | 3100 |
135
- | Feb | 5100 | 3400 |
136
- | Mar | 4800 | 3200 |
137
- | Apr | 6200 | 3800 |
138
- {% /chart %}`,
139
- diagram: `{% diagram language="mermaid" title="User Flow" %}
140
- \`\`\`mermaid
141
- graph TD
142
- A[Visit Site] --> B{Logged In?}
143
- B -->|Yes| C[Dashboard]
144
- B -->|No| D[Login Page]
145
- D --> E[Sign Up]
146
- D --> F[Sign In]
147
- F --> C
148
- E --> C
149
- \`\`\`
150
- {% /diagram %}`,
151
- sidenote: `{% sidenote %}
152
- This is a margin note that provides additional context
153
- without interrupting the main flow of the text.
154
- {% /sidenote %}`,
155
- sandbox: `{% sandbox framework="tailwind" %}
156
- <div class="flex items-center gap-4 p-6 bg-white rounded-xl shadow-lg max-w-sm">
157
- <img src="https://i.pravatar.cc/80" alt="Avatar" class="w-16 h-16 rounded-full" />
158
- <div>
159
- <h3 class="text-lg font-semibold text-gray-900">Jane Doe</h3>
160
- <p class="text-sm text-gray-500">Product Designer</p>
161
- </div>
162
- </div>
163
- {% /sandbox %}`,
164
- form: `{% form action="/api/contact" method="POST" success="Thanks! We'll be in touch." %}
165
- # Contact Us
166
-
167
- - Name (required)
168
- - Email (required, placeholder: "you@example.com")
169
- - Company (optional)
170
-
171
- > What are you interested in?
172
- - Product demo
173
- - Partnership
174
- - Support
175
- - Other
176
-
177
- - Message (required)
178
-
179
- **Send Message**
180
- {% /form %}`,
181
- budget: `{% budget title="Tokyo Trip" currency="JPY" duration="5 days" %}
182
- ## Accommodation
183
-
184
- - Hotel in Shinjuku: ¥15000
185
- - Ryokan in Hakone: ¥25000
186
-
187
- ## Transportation
188
-
189
- - Japan Rail Pass (7-day): ¥29650
190
- - Airport transfer: ¥3000
191
-
192
- ## Food & Dining
193
-
194
- - Daily meals: ¥5000
195
- - Sushi experience: ¥8000
196
- {% /budget %}`,
197
- pullquote: `{% pullquote align="center" variant="accent" %}
198
- > Design is not just what it looks like and feels like. Design is how it works.
199
- {% /pullquote %}`,
200
- textblock: `{% textblock dropcap=true columns=2 %}
201
- The invention of the printing press in the 15th century revolutionized the spread of information across Europe. Before Gutenberg, books were painstakingly copied by hand, making them rare and expensive.
202
-
203
- With movable type, ideas could be reproduced quickly and cheaply. This democratization of knowledge helped fuel the Renaissance, the Reformation, and the Scientific Revolution.
204
- {% /textblock %}`,
205
- mediatext: `{% mediatext align="left" ratio="1:1" %}
206
- ![Mountain landscape](https://picsum.photos/seed/mountain/600/400)
207
-
208
- The valley stretches out below, carved by millennia of glacial movement. In spring, wildflowers carpet the meadows in brilliant color, attracting hikers and photographers from around the world.
209
- {% /mediatext %}`,
210
- showcase: `{% showcase shadow="soft" %}
211
- ![Product screenshot](https://picsum.photos/seed/showcase/800/500)
212
- {% /showcase %}`,
213
- icon: `{% icon name="check" /%}`,
5
+ "accordion": "{% accordion %}\n## What is refrakt.md?\n\nA content framework that extends Markdown with semantic runes.\n\n## How do I install it?\n\nRun `npm install @refrakt-md/runes` to get started.\n\n## Is it free?\n\nYes, refrakt.md is open source and free to use.\n{% /accordion %}",
6
+ "annotate": "{% annotate %}\nThe refrakt.md framework builds on Markdoc to provide a semantic content transformation pipeline.\n\n{% note %}\nMarkdoc is a Markdown-based authoring system that extends Markdown with a custom tag syntax for structured content.\n{% /note %}\n\nRunes wrap ordinary Markdown and reinterpret it based on context — a heading inside a nav becomes a group title.\n{% /annotate %}",
7
+ "badge": "This release is {% badge sentiment=\"positive\" %}New{% /badge %}, the API is {% badge sentiment=\"caution\" %}Beta{% /badge %}, and the old endpoint is {% badge sentiment=\"negative\" %}Deprecated{% /badge %}.",
8
+ "bar": "{% bar %}\nWORK-051\n---\n{% badge sentiment=\"positive\" %}done{% /badge %}\n{% /bar %}",
9
+ "breadcrumb": "{% breadcrumb %}\n- [Home](/)\n- [Docs](/docs)\n- [Runes](/docs/runes)\n- Hero\n{% /breadcrumb %}",
10
+ "budget": "{% budget currency=\"JPY\" duration=\"5 days\" %}\n# Tokyo Trip\n\n## Accommodation\n\n- Hotel in Shinjuku: ¥15000\n- Ryokan in Hakone: ¥25000\n\n## Transportation\n\n- Japan Rail Pass (7-day): ¥29650\n- Airport transfer: ¥3000\n\n## Food & Dining\n\n- Daily meals: ¥5000\n- Sushi experience: ¥8000\n{% /budget %}",
11
+ "card": "{% card %}\n![Card preview](placeholder:cover)\n\n---\n\n## Generic content card\nA bordered surface with a media zone, a body, and an optional footer — a plain presentational component you can drop into prose or feed from a collection template.\n{% /card %}",
12
+ "chart": "{% chart type=\"bar\" title=\"Monthly Revenue\" %}\n| Month | Revenue | Expenses |\n|-------|---------|----------|\n| Jan | 4200 | 3100 |\n| Feb | 5100 | 3400 |\n| Mar | 4800 | 3200 |\n| Apr | 6200 | 3800 |\n{% /chart %}",
13
+ "codegroup": "{% codegroup %}\n```js\nconsole.log('Hello');\n```\n\n```python\nprint('Hello')\n```\n{% /codegroup %}",
14
+ "compare": "{% compare %}\n```javascript\n// Before\nconst x = 1;\nconst y = 2;\n```\n\n```javascript\n// After\nconst [x, y] = [1, 2];\n```\n{% /compare %}",
15
+ "conversation": "{% conversation %}\n> **Alice** — Have you tried the new inspect command?\n\n> **Bob** — Yes! It shows exactly what HTML the identity transform produces. No more guessing which selectors to target.\n\n> **Alice** — The variant expansion is my favorite part. You can see every modifier value at once.\n{% /conversation %}",
16
+ "datatable": "{% datatable sortable=\"Name,Price\" searchable=true pageSize=10 %}\n| Name | Price | Category | Stock |\n|------|-------|----------|-------|\n| Widget A | $9.99 | Tools | 150 |\n| Widget B | $14.99 | Tools | 85 |\n| Gadget X | $24.99 | Electronics | 42 |\n{% /datatable %}",
17
+ "deflist": "{% deflist %}\n- **Priority:** {% badge sentiment=\"caution\" %}high{% /badge %}\n- **Complexity:** moderate\n- **Assignee:** @alice\n- **Milestone:** v0.18\n{% /deflist %}",
18
+ "details": "{% details summary=\"How does billing work?\" %}\nWe bill monthly on the date you signed up. You can cancel anytime\nfrom your account settings.\n{% /details %}",
19
+ "diagram": "{% diagram language=\"mermaid\" title=\"User Flow\" %}\n```mermaid\ngraph TD\n A[Visit Site] --> B{Logged In?}\n B -->|Yes| C[Dashboard]\n B -->|No| D[Login Page]\n D --> E[Sign Up]\n D --> F[Sign In]\n F --> C\n E --> C\n```\n{% /diagram %}",
20
+ "diff": "{% diff mode=\"unified\" language=\"javascript\" %}\n```javascript\nfunction getData() {\n return fetch('/api')\n .then(res => res.json())\n .then(data => data);\n}\n```\n\n```javascript\nasync function getData() {\n const res = await fetch('/api');\n return res.json();\n}\n```\n{% /diff %}",
21
+ "drawer": "{% drawer id=\"auth-system\" title=\"Auth system\" %}\nA short explainer that lives next to wherever it's mentioned, without forcing the reader to navigate away. Code blocks, embedded runes, and rich Markdown all fit naturally in the body.\n{% /drawer %}",
22
+ "embed": "{% embed url=\"https://www.youtube.com/watch?v=dQw4w9WgXcQ\" %}\nWatch the video for a full walkthrough.\n{% /embed %}",
23
+ "figure": "{% figure size=\"large\" align=\"center\" caption=\"Dashboard overview\" %}\n![Dashboard](placeholder:cover)\n{% /figure %}",
24
+ "form": "{% form action=\"/api/contact\" method=\"POST\" success=\"Thanks! We'll be in touch.\" %}\n# Contact Us\n\n- Name (required)\n- Email (required, placeholder: \"you@example.com\")\n- Company (optional)\n\n> What are you interested in?\n- Product demo\n- Partnership\n- Support\n- Other\n\n- Message (required)\n\n**Send Message**\n{% /form %}",
25
+ "gallery": "{% gallery %}\n![Oak tree in summer](placeholder:portrait)\n![Oak tree in winter](placeholder:cover)\n![Oak tree at dawn](placeholder:square)\n![Meadow at noon](placeholder:wide)\n![Forest path](placeholder:portrait)\n![Mountain ridge](placeholder:cover)\n{% /gallery %}",
26
+ "grid": "{% grid %}\n{% card %}\n## Fast\nShips static HTML with zero client runtime.\n{% /card %}\n\n---\n\n{% card %}\n## Flexible\nSwap themes instantly — the same content renders differently.\n{% /card %}\n\n---\n\n{% card %}\n## Portable\nYour content stays plain, portable Markdown.\n{% /card %}\n{% /grid %}",
27
+ "hint": "{% hint type=\"note\" %}\nThis is a helpful note for your readers.\n{% /hint %}",
28
+ "icon": "{% icon name=\"check\" /%}",
29
+ "juxtapose": "{% juxtapose %}\n![Oak tree in summer](placeholder:cover)\n---\n![Oak tree in winter](placeholder:cover)\n{% /juxtapose %}",
30
+ "layout": "{% layout %}\n{% region name=\"header\" %}\n# Site Title\n{% /region %}\n\n{% region name=\"nav\" %}\n{% nav %}\n- getting-started\n- runes\n{% /nav %}\n{% /region %}\n{% /layout %}",
31
+ "mediatext": "{% mediatext align=\"left\" ratio=\"1:1\" %}\n![Mountain landscape](placeholder:square)\n\nThe valley stretches out below, carved by millennia of glacial movement. In spring, wildflowers carpet the meadows in brilliant color, attracting hikers and photographers from around the world.\n{% /mediatext %}",
32
+ "nav": "{% nav %}\n## Getting Started\n- getting-started\n- installation\n\n## Guides\n- theming\n- deployment\n{% /nav %}",
33
+ "pagination": "{% pagination prev=\"install\" next=\"configuration\" /%}",
34
+ "progress": "{% progress value=3 max=4 %}Acceptance criteria{% /progress %}",
35
+ "pullquote": "{% pullquote align=\"center\" variant=\"accent\" %}\n> Design is not just what it looks like and feels like. Design is how it works.\n{% /pullquote %}",
36
+ "region": "{% region name=\"nav\" %}\n{% nav %}\n- page-one\n- page-two\n{% /nav %}\n{% /region %}",
37
+ "reveal": "{% reveal %}\n### Step 1: Install the package\nRun the install command to add refrakt.md to your project.\n\n### Step 2: Configure your theme\nSet up the lumina theme in your config file.\n\n### Step 3: Write content\nCreate Markdown files with runes and watch them transform.\n{% /reveal %}",
38
+ "sandbox": "{% sandbox framework=\"tailwind\" %}\n<div class=\"flex items-center gap-4 p-6 bg-white rounded-xl shadow-lg max-w-sm\">\n <img src=\"https://i.pravatar.cc/80\" alt=\"Avatar\" class=\"w-16 h-16 rounded-full\" />\n <div>\n <h3 class=\"text-lg font-semibold text-gray-900\">Jane Doe</h3>\n <p class=\"text-sm text-gray-500\">Product Designer</p>\n </div>\n</div>\n{% /sandbox %}",
39
+ "section": "{% section %}\nComposability\n\n## Runes that work together\nEvery block is a rune — combine them freely to build a page.\n{% /section %}",
40
+ "showcase": "{% showcase shadow=\"soft\" %}\n![Product screenshot](placeholder:cover)\n{% /showcase %}",
41
+ "sidenote": "{% sidenote %}\nThis is a margin note that provides additional context\nwithout interrupting the main flow of the text.\n{% /sidenote %}",
42
+ "tabs": "{% tabs %}\n## npm\n\n```shell\nnpm install @refrakt-md/runes\n```\n\n## yarn\n\n```shell\nyarn add @refrakt-md/runes\n```\n{% /tabs %}",
43
+ "textblock": "{% textblock dropcap=true columns=2 %}\nThe invention of the printing press in the 15th century revolutionized the spread of information across Europe. Before Gutenberg, books were painstakingly copied by hand, making them rare and expensive.\n\nWith movable type, ideas could be reproduced quickly and cheaply. This democratization of knowledge helped fuel the Renaissance, the Reformation, and the Scientific Revolution.\n{% /textblock %}",
44
+ "toc": "{% toc depth=3 %}{% /toc %}",
45
+ };
46
+ export const RUNE_FIXTURE_META = {
47
+ "annotate": { "role": "canonical" },
48
+ "badge": { "role": "canonical", "notes": "Inline rune — embed within prose, never as a standalone block (a block paragraph inside the inline span renders invalid)." },
49
+ "bar": { "role": "canonical" },
50
+ "card": { "role": "canonical" },
51
+ "deflist": { "role": "canonical" },
52
+ "drawer": { "role": "canonical" },
53
+ "gallery": { "role": "canonical" },
54
+ "juxtapose": { "role": "canonical" },
55
+ "progress": { "role": "canonical" },
56
+ "reveal": { "role": "canonical" },
57
+ "section": { "role": "canonical" },
214
58
  };
215
59
  //# sourceMappingURL=examples.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"examples.js","sourceRoot":"","sources":["../src/examples.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,MAAM,CAAC,MAAM,aAAa,GAA2B;IACpD,IAAI,EAAE;;YAEK;IAEX,IAAI,EAAE;;;;;;;;;;YAUK;IAEX,IAAI,EAAE;;;;;;;;;;;;YAYK;IAEX,SAAS,EAAE;;;;;;;;iBAQK;IAEhB,GAAG,EAAE;;;;;;;;WAQK;IAEV,MAAM,EAAE;;;;;;;;;;;cAWK;IAEb,MAAM,EAAE;;;;;cAKK;IAEb,OAAO,EAAE;;;eAGK;IAEd,MAAM,EAAE;;cAEK;IAEb,SAAS,EAAE;;;;;;;;;;;;iBAYK;IAEhB,GAAG,EAAE,6BAA6B;IAElC,UAAU,EAAE;;;;;kBAKK;IAEjB,OAAO,EAAE;;;;;;;;;;;eAWK;IAEd,KAAK,EAAE;;aAEK;IAEZ,SAAS,EAAE;;;;;;iBAMK;IAEhB,IAAI,EAAE;;;;;;;;;;;;;;;YAeK;IAEX,KAAK,EAAE;;;;;;;aAOK;IAEZ,OAAO,EAAE;;;;;;;;;;;eAWK;IAEd,QAAQ,EAAE;;;gBAGK;IAEf,OAAO,EAAE;;;;;;;;eAQK;IAEd,IAAI,EAAE;;;;;;;;;;;;;;;;YAgBK;IAEX,MAAM,EAAE;;;;;;;;;;;;;;;cAeK;IAEb,SAAS,EAAE;;iBAEK;IAEhB,SAAS,EAAE;;;;iBAIK;IAEhB,SAAS,EAAE;;;;iBAIK;IAEhB,QAAQ,EAAE;;gBAEK;IAEf,IAAI,EAAE,0BAA0B;CAChC,CAAC"}
1
+ {"version":3,"file":"examples.js","sourceRoot":"","sources":["../src/examples.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,yEAAyE;AAEzE,qFAAqF;AACrF,MAAM,CAAC,MAAM,aAAa,GAA2B;IACpD,WAAW,EAAE,oRAAoR;IACjS,UAAU,EAAE,wYAAwY;IACpZ,OAAO,EAAE,oNAAoN;IAC7N,KAAK,EAAE,0FAA0F;IACjG,YAAY,EAAE,mGAAmG;IACjH,QAAQ,EAAE,2TAA2T;IACrU,MAAM,EAAE,oQAAoQ;IAC5Q,OAAO,EAAE,kQAAkQ;IAC3Q,WAAW,EAAE,wGAAwG;IACrH,SAAS,EAAE,kJAAkJ;IAC7J,cAAc,EAAE,kUAAkU;IAClV,WAAW,EAAE,mRAAmR;IAChS,SAAS,EAAE,8KAA8K;IACzL,SAAS,EAAE,kKAAkK;IAC7K,SAAS,EAAE,0PAA0P;IACrQ,MAAM,EAAE,8SAA8S;IACtT,QAAQ,EAAE,gQAAgQ;IAC1Q,OAAO,EAAE,wHAAwH;IACjI,QAAQ,EAAE,6HAA6H;IACvI,MAAM,EAAE,uVAAuV;IAC/V,SAAS,EAAE,gRAAgR;IAC3R,MAAM,EAAE,mTAAmT;IAC3T,MAAM,EAAE,iFAAiF;IACzF,MAAM,EAAE,4BAA4B;IACpC,WAAW,EAAE,4HAA4H;IACzI,QAAQ,EAAE,uLAAuL;IACjM,WAAW,EAAE,gTAAgT;IAC7T,KAAK,EAAE,oHAAoH;IAC3H,YAAY,EAAE,2DAA2D;IACzE,UAAU,EAAE,gEAAgE;IAC5E,WAAW,EAAE,wJAAwJ;IACrK,QAAQ,EAAE,yFAAyF;IACnG,QAAQ,EAAE,qSAAqS;IAC/S,SAAS,EAAE,mYAAmY;IAC9Y,SAAS,EAAE,2IAA2I;IACtJ,UAAU,EAAE,2FAA2F;IACvG,UAAU,EAAE,0IAA0I;IACtJ,MAAM,EAAE,yIAAyI;IACjJ,WAAW,EAAE,0bAA0b;IACvc,KAAK,EAAE,6BAA6B;CACpC,CAAC;AAQF,MAAM,CAAC,MAAM,iBAAiB,GAAoC;IACjE,UAAU,EAAE,EAAC,MAAM,EAAC,WAAW,EAAC;IAChC,OAAO,EAAE,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,EAAC,2HAA2H,EAAC;IACjK,KAAK,EAAE,EAAC,MAAM,EAAC,WAAW,EAAC;IAC3B,MAAM,EAAE,EAAC,MAAM,EAAC,WAAW,EAAC;IAC5B,SAAS,EAAE,EAAC,MAAM,EAAC,WAAW,EAAC;IAC/B,QAAQ,EAAE,EAAC,MAAM,EAAC,WAAW,EAAC;IAC9B,SAAS,EAAE,EAAC,MAAM,EAAC,WAAW,EAAC;IAC/B,WAAW,EAAE,EAAC,MAAM,EAAC,WAAW,EAAC;IACjC,UAAU,EAAE,EAAC,MAAM,EAAC,WAAW,EAAC;IAChC,QAAQ,EAAE,EAAC,MAAM,EAAC,WAAW,EAAC;IAC9B,SAAS,EAAE,EAAC,MAAM,EAAC,WAAW,EAAC;CAC/B,CAAC"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Standardised rune-fixture format (SPEC-102). A fixture is the rune's actual
3
+ * Markdoc, with optional YAML frontmatter carrying metadata. This module owns
4
+ * the field schema, the parser, and a validator — shared by the example
5
+ * generator, the loader (`discoverPluginFixtures`), the CI corpus check, and
6
+ * `plugin-validate`.
7
+ */
8
+ /** The `role` taxonomy (SPEC-102 §3). */
9
+ export declare const FIXTURE_ROLES: readonly ["canonical", "minimal", "rich", "edge-case"];
10
+ export type FixtureRole = (typeof FIXTURE_ROLES)[number];
11
+ /** Known frontmatter fields (SPEC-102 §2). Unknown keys are rejected. */
12
+ export interface FixtureFrontmatter {
13
+ /** The rune this fixture exercises (defaults to the filename's rune segment). */
14
+ rune?: string;
15
+ title?: string;
16
+ description?: string;
17
+ role?: FixtureRole;
18
+ /** Modifier values this scenario sets — consumed by the gallery variant matrix. */
19
+ attributes?: Record<string, unknown>;
20
+ /** Concepts/features shown, as tags — for docs + AI retrieval. */
21
+ demonstrates?: string[];
22
+ /** Authoring guidance — why this fixture is good (AI few-shot, docs). */
23
+ notes?: string;
24
+ }
25
+ /** A parsed fixture file. */
26
+ export interface ParsedFixture {
27
+ /** Rune key (from `rune` field, else the filename's rune segment). */
28
+ rune: string;
29
+ /** Scenario name from `<rune>.<scenario>.md`, or `'canonical'` for `<rune>.md`. */
30
+ scenario: string;
31
+ /** Validated frontmatter fields. */
32
+ frontmatter: FixtureFrontmatter;
33
+ /** Markdoc body with the frontmatter block stripped. */
34
+ body: string;
35
+ }
36
+ /**
37
+ * Split a fixture's raw text into its (raw) frontmatter block and body.
38
+ * Returns `frontmatter: null` for bare fixtures (no block) — these stay valid.
39
+ */
40
+ export declare function splitFixture(raw: string): {
41
+ frontmatter: string | null;
42
+ body: string;
43
+ };
44
+ /**
45
+ * Derive `{ rune, scenario }` from a fixture filename. `card.md` →
46
+ * `{ rune: 'card', scenario: 'canonical' }`; `card.cover.md` →
47
+ * `{ rune: 'card', scenario: 'cover' }`.
48
+ */
49
+ export declare function parseFixtureFilename(filename: string): {
50
+ rune: string;
51
+ scenario: string;
52
+ };
53
+ /** A single validation problem (path + message). */
54
+ export interface FixtureIssue {
55
+ path: string;
56
+ message: string;
57
+ }
58
+ /**
59
+ * Validate a parsed frontmatter object against the field schema. Returns the
60
+ * list of issues (empty when valid): unknown keys and wrong types are rejected.
61
+ */
62
+ export declare function validateFixtureFrontmatter(fm: Record<string, unknown>): FixtureIssue[];
63
+ /**
64
+ * Parse a fixture file's raw text + filename into a {@link ParsedFixture},
65
+ * throwing on malformed YAML or schema violations. Bare fixtures (no
66
+ * frontmatter) parse with all fields defaulted.
67
+ */
68
+ export declare function parseFixture(raw: string, filename: string): ParsedFixture;
69
+ //# sourceMappingURL=fixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../src/fixtures.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,yCAAyC;AACzC,eAAO,MAAM,aAAa,wDAAyD,CAAC;AACpF,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,yEAAyE;AACzE,MAAM,WAAW,kBAAkB;IAClC,iFAAiF;IACjF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,mFAAmF;IACnF,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,6BAA6B;AAC7B,MAAM,WAAW,aAAa;IAC7B,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,WAAW,EAAE,kBAAkB,CAAC;IAChC,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;CACb;AAcD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAItF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAKzF;AAED,oDAAoD;AACpD,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,EAAE,CAsCtF;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,CA4BzE"}
@@ -0,0 +1,109 @@
1
+ import yaml from 'yaml';
2
+ /**
3
+ * Standardised rune-fixture format (SPEC-102). A fixture is the rune's actual
4
+ * Markdoc, with optional YAML frontmatter carrying metadata. This module owns
5
+ * the field schema, the parser, and a validator — shared by the example
6
+ * generator, the loader (`discoverPluginFixtures`), the CI corpus check, and
7
+ * `plugin-validate`.
8
+ */
9
+ /** The `role` taxonomy (SPEC-102 §3). */
10
+ export const FIXTURE_ROLES = ['canonical', 'minimal', 'rich', 'edge-case'];
11
+ const KNOWN_KEYS = new Set([
12
+ 'rune',
13
+ 'title',
14
+ 'description',
15
+ 'role',
16
+ 'attributes',
17
+ 'demonstrates',
18
+ 'notes',
19
+ ]);
20
+ const FRONTMATTER_RE = /^---\r?\n([\s\S]*?\r?\n)?---\r?\n?([\s\S]*)$/;
21
+ /**
22
+ * Split a fixture's raw text into its (raw) frontmatter block and body.
23
+ * Returns `frontmatter: null` for bare fixtures (no block) — these stay valid.
24
+ */
25
+ export function splitFixture(raw) {
26
+ const match = raw.match(FRONTMATTER_RE);
27
+ if (!match)
28
+ return { frontmatter: null, body: raw };
29
+ return { frontmatter: match[1] ?? '', body: match[2] ?? '' };
30
+ }
31
+ /**
32
+ * Derive `{ rune, scenario }` from a fixture filename. `card.md` →
33
+ * `{ rune: 'card', scenario: 'canonical' }`; `card.cover.md` →
34
+ * `{ rune: 'card', scenario: 'cover' }`.
35
+ */
36
+ export function parseFixtureFilename(filename) {
37
+ const base = filename.replace(/\.md$/, '');
38
+ const dot = base.indexOf('.');
39
+ if (dot === -1)
40
+ return { rune: base, scenario: 'canonical' };
41
+ return { rune: base.slice(0, dot), scenario: base.slice(dot + 1) };
42
+ }
43
+ /**
44
+ * Validate a parsed frontmatter object against the field schema. Returns the
45
+ * list of issues (empty when valid): unknown keys and wrong types are rejected.
46
+ */
47
+ export function validateFixtureFrontmatter(fm) {
48
+ const issues = [];
49
+ for (const key of Object.keys(fm)) {
50
+ if (!KNOWN_KEYS.has(key)) {
51
+ issues.push({ path: key, message: `Unknown frontmatter key "${key}"` });
52
+ }
53
+ }
54
+ const str = (key) => {
55
+ if (fm[key] !== undefined && typeof fm[key] !== 'string') {
56
+ issues.push({ path: key, message: `Expected a string` });
57
+ }
58
+ };
59
+ str('rune');
60
+ str('title');
61
+ str('description');
62
+ str('notes');
63
+ if (fm.role !== undefined && !FIXTURE_ROLES.includes(fm.role)) {
64
+ issues.push({ path: 'role', message: `Expected one of ${FIXTURE_ROLES.join(', ')}` });
65
+ }
66
+ if (fm.attributes !== undefined) {
67
+ const a = fm.attributes;
68
+ if (typeof a !== 'object' || a === null || Array.isArray(a)) {
69
+ issues.push({ path: 'attributes', message: 'Expected a mapping of modifier values' });
70
+ }
71
+ }
72
+ if (fm.demonstrates !== undefined) {
73
+ const d = fm.demonstrates;
74
+ if (!Array.isArray(d) || d.some(item => typeof item !== 'string')) {
75
+ issues.push({ path: 'demonstrates', message: 'Expected an array of strings' });
76
+ }
77
+ }
78
+ return issues;
79
+ }
80
+ /**
81
+ * Parse a fixture file's raw text + filename into a {@link ParsedFixture},
82
+ * throwing on malformed YAML or schema violations. Bare fixtures (no
83
+ * frontmatter) parse with all fields defaulted.
84
+ */
85
+ export function parseFixture(raw, filename) {
86
+ const { rune: fileRune, scenario } = parseFixtureFilename(filename);
87
+ const { frontmatter: rawFm, body } = splitFixture(raw);
88
+ let fm = {};
89
+ if (rawFm !== null && rawFm.trim()) {
90
+ const parsed = yaml.parse(rawFm);
91
+ if (parsed !== null && parsed !== undefined) {
92
+ if (typeof parsed !== 'object' || Array.isArray(parsed)) {
93
+ throw new Error(`${filename}: frontmatter must be a YAML mapping`);
94
+ }
95
+ fm = parsed;
96
+ }
97
+ }
98
+ const issues = validateFixtureFrontmatter(fm);
99
+ if (issues.length > 0) {
100
+ throw new Error(`${filename}: invalid frontmatter — ${issues.map(i => `${i.path}: ${i.message}`).join('; ')}`);
101
+ }
102
+ return {
103
+ rune: typeof fm.rune === 'string' ? fm.rune : fileRune,
104
+ scenario,
105
+ frontmatter: fm,
106
+ body: body.trim(),
107
+ };
108
+ }
109
+ //# sourceMappingURL=fixtures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../src/fixtures.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -9,12 +9,21 @@ export { RenderableNodeCursor } from './lib/renderable.js';
9
9
  export { createContentModelSchema, createComponentRenderable, asNodes, schemaContentModels, sanitizeSandboxContent } from './lib/index.js';
10
10
  export type { DeprecationRule, ContentModelSchemaOptions } from './lib/index.js';
11
11
  export { resolve, resolveSequence, resolveDelimited, resolveContentModel, resolveListItems, evaluateCondition, matchesType } from './lib/resolver.js';
12
+ export { registerImageScheme, resolveImageScheme, hasImageScheme } from './lib/image-schemes.js';
13
+ export type { ImageSchemeResolver, ImageSchemeContext } from './lib/image-schemes.js';
14
+ export { resolveIcon, splitIconName } from './lib/icon-resolve.js';
15
+ export type { IconResolveOptions, ResolvedIcon } from './lib/icon-resolve.js';
16
+ export { placeholderSvg, PLACEHOLDER_SHAPES, DEFAULT_PLACEHOLDER_SHAPE } from './lib/placeholder.js';
17
+ export type { PlaceholderOptions } from './lib/placeholder.js';
18
+ export { FIXTURE_ROLES, splitFixture, parseFixtureFilename, validateFixtureFrontmatter, parseFixture, } from './fixtures.js';
19
+ export type { FixtureRole, FixtureFrontmatter, ParsedFixture, FixtureIssue } from './fixtures.js';
12
20
  export { parseFieldMatch, matchesFieldMatch, matchesFilterExpr, resolveEntityField } from './field-match.js';
13
21
  export type { MatchableEntity, FieldMatchClause, ParsedFieldMatch } from './field-match.js';
14
22
  export { DEFERRED_BODY_ATTR, captureDeferredBodies, readDeferredBody, transformDeferredTemplate } from './deferred-body.js';
15
23
  export { resolveCollections } from './collection-resolve.js';
16
24
  export { resolveRelationships } from './relationships-resolve.js';
17
25
  export { resolveAggregates } from './aggregate-resolve.js';
26
+ export { resolveDataBindings } from './data-resolve.js';
18
27
  export { resolveFileRefs } from './file-ref-resolve.js';
19
28
  export { FILE_REF_SENTINEL } from './tags/file-ref.js';
20
29
  export { resolveXrefPreviews } from './xref-preview-resolve.js';
@@ -26,7 +35,7 @@ export { Ordering, buildOrdering, sortEntities, groupEntities, groupBy, entityUr
26
35
  export type { CollectionEmbedConfig } from './collection-helpers.js';
27
36
  export { COLLECTION_SENTINEL } from './tags/collection.js';
28
37
  export { functions, currency, date, number, join, concat, humanize } from './functions.js';
29
- export { linkItem, pageSectionProperties, buildLayoutMetas, splitMediaBodyFooter, extractMediaImage, unwrapParagraphImages, name as nameHelper, description as descriptionHelper, SplitablePageSectionModel, SplitLayoutModel, splitLayoutAttributes } from './tags/common.js';
38
+ export { linkItem, pageSectionProperties, buildLayoutMetas, splitMediaBodyFooter, extractMediaImage, unwrapParagraphImages, isMediaNode, isSchemeMediaNode, name as nameHelper, description as descriptionHelper, SplitablePageSectionModel, SplitLayoutModel, splitLayoutAttributes } from './tags/common.js';
30
39
  export type { LayoutMetas } from './tags/common.js';
31
40
  export { extractHeadings, firstH1, headingsToList } from './util.js';
32
41
  export { LANG_MAP, FALLBACK_LANG, inferLanguage } from './lang-map.js';
@@ -34,12 +43,13 @@ export type { HeadingInfo } from './util.js';
34
43
  export { extractSeo, collectJsonLd, textContent } from './seo.js';
35
44
  export type { PageSeo, OgMeta } from './seo.js';
36
45
  export { serialize, serializeTree } from './serialize.js';
37
- export { RUNE_EXAMPLES } from './examples.js';
46
+ export { RUNE_EXAMPLES, RUNE_FIXTURE_META } from './examples.js';
47
+ export type { RuneFixtureMeta } from './examples.js';
38
48
  export { describeRune, renderContentModel, serializeContentModel, stripContentModel, hydrateRuneInfo, hydrateAllRuneInfos, hydrateRuneByName, serializeRune, groupReferenceInfos, renderReferenceMarkdown, EXCLUDED_RUNES, HIDDEN_ATTRIBUTES, } from './reference.js';
39
49
  export type { RuneInfo, RuneBasePresetInfo, RuneLike, HydrateOptions, ReferenceContext, ReferenceGroup, RenderReferenceOptions, SerializedAttribute, SerializedRune, SerializedContentModel, SerializedSequenceModel, SerializedSectionsModel, SerializedDelimitedModel, SerializedCustomModel, SerializedContentField, SerializedDelimitedZone, SerializedHeadingExtractField, SerializedKnownSection, } from './reference.js';
40
50
  export { registerAttributePreset, lookupAttributePreset, schemaBasePresets, UNIVERSAL_ATTRIBUTE_NAMES, } from './attribute-presets.js';
41
51
  export type { AttributePresetMetadata } from './attribute-presets.js';
42
- export { loadPlugin, mergePlugins, applyAliases, loadLocalRunes, discoverPluginFixtures, assertFileRootNamespaceAllowed } from './plugins.js';
52
+ export { loadPlugin, mergePlugins, applyAliases, loadLocalRunes, discoverPluginFixtures, discoverPluginFixtureManifest, assertFileRootNamespaceAllowed } from './plugins.js';
43
53
  export type { LoadedPlugin, MergedPluginResult } from './plugins.js';
44
54
  export { coreConfig, baseConfig, corePipelineHooks, createCorePipelineHooks, resolveCoreSentinels, type PageTreeNode, type CorePipelineHooksOptions } from './config.js';
45
55
  export { BREADCRUMB_AUTO_SENTINEL } from './tags/breadcrumb.js';
@@ -90,6 +100,7 @@ export declare const runes: {
90
100
  'conversation-message': import("./rune.js").Rune;
91
101
  reveal: import("./rune.js").Rune;
92
102
  'reveal-step': import("./rune.js").Rune;
103
+ section: import("./rune.js").Rune;
93
104
  juxtapose: import("./rune.js").Rune;
94
105
  annotate: import("./rune.js").Rune;
95
106
  note: import("./rune.js").Rune;
@@ -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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"}