@refrakt-md/runes 0.2.0 → 0.3.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 (55) hide show
  1. package/dist/index.d.ts +12 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +106 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/registry.d.ts +14 -1
  6. package/dist/registry.d.ts.map +1 -1
  7. package/dist/registry.js +14 -1
  8. package/dist/registry.js.map +1 -1
  9. package/dist/tags/api.d.ts +3 -0
  10. package/dist/tags/api.d.ts.map +1 -0
  11. package/dist/tags/api.js +54 -0
  12. package/dist/tags/api.js.map +1 -0
  13. package/dist/tags/breadcrumb.js +1 -1
  14. package/dist/tags/breadcrumb.js.map +1 -1
  15. package/dist/tags/cast.d.ts +4 -0
  16. package/dist/tags/cast.d.ts.map +1 -0
  17. package/dist/tags/cast.js +126 -0
  18. package/dist/tags/cast.js.map +1 -0
  19. package/dist/tags/chart.d.ts +3 -0
  20. package/dist/tags/chart.d.ts.map +1 -0
  21. package/dist/tags/chart.js +107 -0
  22. package/dist/tags/chart.js.map +1 -0
  23. package/dist/tags/datatable.d.ts +3 -0
  24. package/dist/tags/datatable.d.ts.map +1 -0
  25. package/dist/tags/datatable.js +63 -0
  26. package/dist/tags/datatable.js.map +1 -0
  27. package/dist/tags/diagram.d.ts +3 -0
  28. package/dist/tags/diagram.d.ts.map +1 -0
  29. package/dist/tags/diagram.js +56 -0
  30. package/dist/tags/diagram.js.map +1 -0
  31. package/dist/tags/diff.d.ts +3 -0
  32. package/dist/tags/diff.d.ts.map +1 -0
  33. package/dist/tags/diff.js +121 -0
  34. package/dist/tags/diff.js.map +1 -0
  35. package/dist/tags/event.d.ts +3 -0
  36. package/dist/tags/event.d.ts.map +1 -0
  37. package/dist/tags/event.js +81 -0
  38. package/dist/tags/event.js.map +1 -0
  39. package/dist/tags/howto.d.ts +3 -0
  40. package/dist/tags/howto.d.ts.map +1 -0
  41. package/dist/tags/howto.js +98 -0
  42. package/dist/tags/howto.js.map +1 -0
  43. package/dist/tags/organization.d.ts +3 -0
  44. package/dist/tags/organization.d.ts.map +1 -0
  45. package/dist/tags/organization.js +58 -0
  46. package/dist/tags/organization.js.map +1 -0
  47. package/dist/tags/recipe.d.ts +3 -0
  48. package/dist/tags/recipe.d.ts.map +1 -0
  49. package/dist/tags/recipe.js +109 -0
  50. package/dist/tags/recipe.js.map +1 -0
  51. package/dist/tags/sidenote.d.ts +3 -0
  52. package/dist/tags/sidenote.d.ts.map +1 -0
  53. package/dist/tags/sidenote.js +41 -0
  54. package/dist/tags/sidenote.js.map +1 -0
  55. package/package.json +2 -2
@@ -0,0 +1,107 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import Markdoc from '@markdoc/markdoc';
11
+ const { Tag } = Markdoc;
12
+ import { schema } from '../registry.js';
13
+ import { attribute, Model, createComponentRenderable, createSchema } from '../lib/index.js';
14
+ import { walkTag } from '../util.js';
15
+ const chartType = ['bar', 'line', 'pie', 'area'];
16
+ /**
17
+ * Extract table data from rendered Markdoc table tags.
18
+ * Returns { headers: string[], rows: string[][] }
19
+ */
20
+ function extractTableData(children) {
21
+ const headers = [];
22
+ const rows = [];
23
+ for (const child of children) {
24
+ if (!Markdoc.Tag.isTag(child))
25
+ continue;
26
+ if (child.name === 'table') {
27
+ for (const tableChild of child.children) {
28
+ if (!Markdoc.Tag.isTag(tableChild))
29
+ continue;
30
+ if (tableChild.name === 'thead') {
31
+ for (const tr of tableChild.children) {
32
+ if (!Markdoc.Tag.isTag(tr) || tr.name !== 'tr')
33
+ continue;
34
+ for (const th of tr.children) {
35
+ if (Markdoc.Tag.isTag(th)) {
36
+ const text = Array.from(walkTag(th))
37
+ .filter(n => typeof n === 'string')
38
+ .join('');
39
+ headers.push(text.trim());
40
+ }
41
+ }
42
+ }
43
+ }
44
+ if (tableChild.name === 'tbody') {
45
+ for (const tr of tableChild.children) {
46
+ if (!Markdoc.Tag.isTag(tr) || tr.name !== 'tr')
47
+ continue;
48
+ const row = [];
49
+ for (const td of tr.children) {
50
+ if (Markdoc.Tag.isTag(td)) {
51
+ const text = Array.from(walkTag(td))
52
+ .filter(n => typeof n === 'string')
53
+ .join('');
54
+ row.push(text.trim());
55
+ }
56
+ }
57
+ rows.push(row);
58
+ }
59
+ }
60
+ }
61
+ }
62
+ }
63
+ return { headers, rows };
64
+ }
65
+ class ChartModel extends Model {
66
+ constructor() {
67
+ super(...arguments);
68
+ this.type = 'bar';
69
+ this.title = '';
70
+ this.stacked = false;
71
+ }
72
+ transform() {
73
+ const children = this.transformChildren();
74
+ const typeMeta = new Tag('meta', { content: this.type });
75
+ const titleMeta = new Tag('meta', { content: this.title });
76
+ const stackedMeta = new Tag('meta', { content: String(this.stacked) });
77
+ // Extract table data and serialize as JSON
78
+ const tableData = extractTableData(children.toArray());
79
+ const dataMeta = new Tag('meta', { content: JSON.stringify(tableData) });
80
+ return createComponentRenderable(schema.Chart, {
81
+ tag: 'figure',
82
+ properties: {
83
+ type: typeMeta,
84
+ title: titleMeta,
85
+ stacked: stackedMeta,
86
+ },
87
+ refs: {
88
+ data: dataMeta,
89
+ },
90
+ children: [typeMeta, titleMeta, stackedMeta, dataMeta],
91
+ });
92
+ }
93
+ }
94
+ __decorate([
95
+ attribute({ type: String, required: false, matches: chartType.slice() }),
96
+ __metadata("design:type", Object)
97
+ ], ChartModel.prototype, "type", void 0);
98
+ __decorate([
99
+ attribute({ type: String, required: false }),
100
+ __metadata("design:type", String)
101
+ ], ChartModel.prototype, "title", void 0);
102
+ __decorate([
103
+ attribute({ type: Boolean, required: false }),
104
+ __metadata("design:type", Boolean)
105
+ ], ChartModel.prototype, "stacked", void 0);
106
+ export const chart = createSchema(ChartModel);
107
+ //# sourceMappingURL=chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart.js","sourceRoot":"","sources":["../../src/tags/chart.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import Markdoc from '@markdoc/markdoc';
2
+ export declare const datatable: Markdoc.Schema;
3
+ //# sourceMappingURL=datatable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datatable.d.ts","sourceRoot":"","sources":["../../src/tags/datatable.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AA+CvC,eAAO,MAAM,SAAS,gBAA+B,CAAC"}
@@ -0,0 +1,63 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import Markdoc from '@markdoc/markdoc';
11
+ const { Tag } = Markdoc;
12
+ import { schema } from '../registry.js';
13
+ import { attribute, Model, createComponentRenderable, createSchema } from '../lib/index.js';
14
+ class DataTableModel extends Model {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.sortable = '';
18
+ this.searchable = false;
19
+ this.pageSize = 0;
20
+ this.defaultSort = '';
21
+ }
22
+ transform() {
23
+ const children = this.transformChildren();
24
+ const sortableMeta = new Tag('meta', { content: this.sortable });
25
+ const searchableMeta = new Tag('meta', { content: String(this.searchable) });
26
+ const pageSizeMeta = new Tag('meta', { content: String(this.pageSize) });
27
+ const defaultSortMeta = new Tag('meta', { content: this.defaultSort });
28
+ // Find the table element from children
29
+ const table = children.tag('table');
30
+ const tableTag = table.count() > 0 ? table.next() : new Tag('table', {}, []);
31
+ return createComponentRenderable(schema.DataTable, {
32
+ tag: 'div',
33
+ properties: {
34
+ sortable: sortableMeta,
35
+ searchable: searchableMeta,
36
+ pageSize: pageSizeMeta,
37
+ defaultSort: defaultSortMeta,
38
+ },
39
+ refs: {
40
+ table: tableTag,
41
+ },
42
+ children: [sortableMeta, searchableMeta, pageSizeMeta, defaultSortMeta, tableTag],
43
+ });
44
+ }
45
+ }
46
+ __decorate([
47
+ attribute({ type: String, required: false }),
48
+ __metadata("design:type", String)
49
+ ], DataTableModel.prototype, "sortable", void 0);
50
+ __decorate([
51
+ attribute({ type: Boolean, required: false }),
52
+ __metadata("design:type", Boolean)
53
+ ], DataTableModel.prototype, "searchable", void 0);
54
+ __decorate([
55
+ attribute({ type: Number, required: false }),
56
+ __metadata("design:type", Number)
57
+ ], DataTableModel.prototype, "pageSize", void 0);
58
+ __decorate([
59
+ attribute({ type: String, required: false }),
60
+ __metadata("design:type", String)
61
+ ], DataTableModel.prototype, "defaultSort", void 0);
62
+ export const datatable = createSchema(DataTableModel);
63
+ //# sourceMappingURL=datatable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datatable.js","sourceRoot":"","sources":["../../src/tags/datatable.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE5F,MAAM,cAAe,SAAQ,KAAK;IAAlC;;QAEC,aAAQ,GAAW,EAAE,CAAC;QAGtB,eAAU,GAAY,KAAK,CAAC;QAG5B,aAAQ,GAAW,CAAC,CAAC;QAGrB,gBAAW,GAAW,EAAE,CAAC;IA4B1B,CAAC;IA1BA,SAAS;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE1C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjE,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC7E,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAEvE,uCAAuC;QACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAE7E,OAAO,yBAAyB,CAAC,MAAM,CAAC,SAAS,EAAE;YAClD,GAAG,EAAE,KAAK;YACV,UAAU,EAAE;gBACX,QAAQ,EAAE,YAAY;gBACtB,UAAU,EAAE,cAAc;gBAC1B,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,eAAe;aAC5B;YACD,IAAI,EAAE;gBACL,KAAK,EAAE,QAAQ;aACf;YACD,QAAQ,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,CAAC;SACjF,CAAC,CAAC;IACJ,CAAC;CACD;AArCA;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;gDACvB;AAGtB;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;kDAClB;AAG5B;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;gDACxB;AAGrB;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;mDACpB;AA8B1B,MAAM,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import Markdoc from '@markdoc/markdoc';
2
+ export declare const diagram: Markdoc.Schema;
3
+ //# sourceMappingURL=diagram.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagram.d.ts","sourceRoot":"","sources":["../../src/tags/diagram.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AA6CvC,eAAO,MAAM,OAAO,gBAA6B,CAAC"}
@@ -0,0 +1,56 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import Markdoc from '@markdoc/markdoc';
11
+ const { Tag } = Markdoc;
12
+ import { schema } from '../registry.js';
13
+ import { attribute, Model, createComponentRenderable, createSchema } from '../lib/index.js';
14
+ const languageType = ['mermaid', 'plantuml', 'ascii'];
15
+ class DiagramModel extends Model {
16
+ constructor() {
17
+ super(...arguments);
18
+ this.language = 'mermaid';
19
+ this.title = '';
20
+ }
21
+ transform() {
22
+ const languageMeta = new Tag('meta', { content: this.language });
23
+ const titleMeta = new Tag('meta', { content: this.title });
24
+ // Extract source directly from AST node children (before transformation)
25
+ // to avoid hljs failing on unknown languages like mermaid
26
+ let source = '';
27
+ for (const child of this.node.children) {
28
+ if (child.type === 'fence') {
29
+ source = child.attributes.content || '';
30
+ break;
31
+ }
32
+ }
33
+ const sourceMeta = new Tag('meta', { content: source });
34
+ return createComponentRenderable(schema.Diagram, {
35
+ tag: 'figure',
36
+ properties: {
37
+ language: languageMeta,
38
+ title: titleMeta,
39
+ },
40
+ refs: {
41
+ source: sourceMeta,
42
+ },
43
+ children: [languageMeta, titleMeta, sourceMeta],
44
+ });
45
+ }
46
+ }
47
+ __decorate([
48
+ attribute({ type: String, required: false, matches: languageType.slice() }),
49
+ __metadata("design:type", Object)
50
+ ], DiagramModel.prototype, "language", void 0);
51
+ __decorate([
52
+ attribute({ type: String, required: false }),
53
+ __metadata("design:type", String)
54
+ ], DiagramModel.prototype, "title", void 0);
55
+ export const diagram = createSchema(DiagramModel);
56
+ //# sourceMappingURL=diagram.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagram.js","sourceRoot":"","sources":["../../src/tags/diagram.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE5F,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAU,CAAC;AAE/D,MAAM,YAAa,SAAQ,KAAK;IAAhC;;QAEC,aAAQ,GAAgC,SAAS,CAAC;QAGlD,UAAK,GAAW,EAAE,CAAC;IA8BpB,CAAC;IA5BA,SAAS;QACR,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAE3D,yEAAyE;QACzE,0DAA0D;QAC1D,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC5B,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;gBACxC,MAAM;YACP,CAAC;QACF,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAExD,OAAO,yBAAyB,CAAC,MAAM,CAAC,OAAO,EAAE;YAChD,GAAG,EAAE,QAAQ;YACb,UAAU,EAAE;gBACX,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,SAAS;aAChB;YACD,IAAI,EAAE;gBACL,MAAM,EAAE,UAAU;aAClB;YACD,QAAQ,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC;SAC/C,CAAC,CAAC;IACJ,CAAC;CACD;AAjCA;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC;;8CAC1B;AAGlD;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;2CAC1B;AAgCpB,MAAM,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import Markdoc from '@markdoc/markdoc';
2
+ export declare const diff: Markdoc.Schema;
3
+ //# sourceMappingURL=diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/tags/diff.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAyHvC,eAAO,MAAM,IAAI,gBAA0B,CAAC"}
@@ -0,0 +1,121 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import Markdoc from '@markdoc/markdoc';
11
+ const { Tag } = Markdoc;
12
+ import hljs from 'highlight.js';
13
+ import { schema } from '../registry.js';
14
+ import { attribute, Model, createComponentRenderable, createSchema } from '../lib/index.js';
15
+ const modeType = ['unified', 'split', 'inline'];
16
+ /**
17
+ * Compute line-level diff using LCS (Longest Common Subsequence).
18
+ * Returns an array of hunks with type, raw text, and hljs-highlighted HTML.
19
+ */
20
+ function computeLineDiff(before, after, language) {
21
+ const a = before.split('\n');
22
+ const b = after.split('\n');
23
+ // Build LCS table
24
+ const m = a.length, n = b.length;
25
+ const dp = Array.from({ length: m + 1 }, () => new Array(n + 1).fill(0));
26
+ for (let i = 1; i <= m; i++) {
27
+ for (let j = 1; j <= n; j++) {
28
+ dp[i][j] = a[i - 1] === b[j - 1]
29
+ ? dp[i - 1][j - 1] + 1
30
+ : Math.max(dp[i - 1][j], dp[i][j - 1]);
31
+ }
32
+ }
33
+ // Backtrack to produce hunks
34
+ const hunks = [];
35
+ let i = m, j = n;
36
+ const stack = [];
37
+ while (i > 0 || j > 0) {
38
+ if (i > 0 && j > 0 && a[i - 1] === b[j - 1]) {
39
+ stack.push({ type: 'equal', text: a[i - 1], html: '' });
40
+ i--;
41
+ j--;
42
+ }
43
+ else if (j > 0 && (i === 0 || dp[i][j - 1] >= dp[i - 1][j])) {
44
+ stack.push({ type: 'add', text: b[j - 1], html: '' });
45
+ j--;
46
+ }
47
+ else {
48
+ stack.push({ type: 'remove', text: a[i - 1], html: '' });
49
+ i--;
50
+ }
51
+ }
52
+ // Reverse (we built it backwards) and apply highlighting
53
+ stack.reverse();
54
+ for (const hunk of stack) {
55
+ hunk.html = highlightLine(hunk.text, language);
56
+ hunks.push(hunk);
57
+ }
58
+ return hunks;
59
+ }
60
+ function highlightLine(text, language) {
61
+ if (!language || !text)
62
+ return escapeHtml(text);
63
+ try {
64
+ return hljs.highlight(text, { language }).value;
65
+ }
66
+ catch {
67
+ return escapeHtml(text);
68
+ }
69
+ }
70
+ function escapeHtml(str) {
71
+ return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
72
+ }
73
+ class DiffModel extends Model {
74
+ constructor() {
75
+ super(...arguments);
76
+ this.mode = 'unified';
77
+ this.language = '';
78
+ }
79
+ transform() {
80
+ const modeMeta = new Tag('meta', { content: this.mode });
81
+ const languageMeta = new Tag('meta', { content: this.language });
82
+ // Extract raw source directly from AST (before hljs transformation)
83
+ const fences = [];
84
+ for (const child of this.node.children) {
85
+ if (child.type === 'fence') {
86
+ fences.push({
87
+ content: child.attributes.content || '',
88
+ language: child.attributes.language || '',
89
+ });
90
+ }
91
+ }
92
+ const beforeSource = fences.length > 0 ? fences[0].content.replace(/\n$/, '') : '';
93
+ const afterSource = fences.length > 1 ? fences[1].content.replace(/\n$/, '') : '';
94
+ const lang = this.language || (fences.length > 0 ? fences[0].language : '');
95
+ // Compute line-level diff with syntax highlighting
96
+ const hunks = computeLineDiff(beforeSource, afterSource, lang);
97
+ const diffData = JSON.stringify({ language: lang, hunks });
98
+ const dataMeta = new Tag('meta', { content: diffData });
99
+ return createComponentRenderable(schema.Diff, {
100
+ tag: 'div',
101
+ properties: {
102
+ mode: modeMeta,
103
+ language: languageMeta,
104
+ },
105
+ refs: {
106
+ data: dataMeta,
107
+ },
108
+ children: [modeMeta, languageMeta, dataMeta],
109
+ });
110
+ }
111
+ }
112
+ __decorate([
113
+ attribute({ type: String, required: false, matches: modeType.slice() }),
114
+ __metadata("design:type", Object)
115
+ ], DiffModel.prototype, "mode", void 0);
116
+ __decorate([
117
+ attribute({ type: String, required: false }),
118
+ __metadata("design:type", String)
119
+ ], DiffModel.prototype, "language", void 0);
120
+ export const diff = createSchema(DiffModel);
121
+ //# sourceMappingURL=diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/tags/diff.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import Markdoc from '@markdoc/markdoc';
2
+ export declare const event: Markdoc.Schema;
3
+ //# sourceMappingURL=event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/tags/event.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AA+DvC,eAAO,MAAM,KAAK,gBAA2B,CAAC"}
@@ -0,0 +1,81 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import Markdoc from '@markdoc/markdoc';
11
+ const { Tag } = Markdoc;
12
+ import { schema } from '../registry.js';
13
+ import { NodeStream } from '../lib/node.js';
14
+ import { attribute, group, Model, createComponentRenderable, createSchema } from '../lib/index.js';
15
+ import { pageSectionProperties } from './common.js';
16
+ class EventModel extends Model {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.date = '';
20
+ this.endDate = '';
21
+ this.location = '';
22
+ this.url = '';
23
+ }
24
+ transform() {
25
+ const header = this.header.transform();
26
+ const body = this.body.transform();
27
+ const dateMeta = new Tag('meta', { content: this.date });
28
+ const endDateMeta = new Tag('meta', { content: this.endDate });
29
+ const locationMeta = new Tag('meta', { content: this.location });
30
+ const urlMeta = new Tag('meta', { content: this.url });
31
+ const bodyDiv = body.wrap('div');
32
+ return createComponentRenderable(schema.Event, {
33
+ tag: 'article',
34
+ property: 'contentSection',
35
+ properties: {
36
+ ...pageSectionProperties(header),
37
+ date: dateMeta,
38
+ endDate: endDateMeta,
39
+ location: locationMeta,
40
+ url: urlMeta,
41
+ },
42
+ refs: {
43
+ body: bodyDiv,
44
+ },
45
+ children: [
46
+ dateMeta,
47
+ endDateMeta,
48
+ locationMeta,
49
+ urlMeta,
50
+ header.wrap('header').next(),
51
+ bodyDiv.next(),
52
+ ],
53
+ });
54
+ }
55
+ }
56
+ __decorate([
57
+ attribute({ type: String, required: false }),
58
+ __metadata("design:type", String)
59
+ ], EventModel.prototype, "date", void 0);
60
+ __decorate([
61
+ attribute({ type: String, required: false }),
62
+ __metadata("design:type", String)
63
+ ], EventModel.prototype, "endDate", void 0);
64
+ __decorate([
65
+ attribute({ type: String, required: false }),
66
+ __metadata("design:type", String)
67
+ ], EventModel.prototype, "location", void 0);
68
+ __decorate([
69
+ attribute({ type: String, required: false }),
70
+ __metadata("design:type", String)
71
+ ], EventModel.prototype, "url", void 0);
72
+ __decorate([
73
+ group({ include: ['heading', 'paragraph', 'image'] }),
74
+ __metadata("design:type", NodeStream)
75
+ ], EventModel.prototype, "header", void 0);
76
+ __decorate([
77
+ group({ include: ['list', 'blockquote', 'tag'] }),
78
+ __metadata("design:type", NodeStream)
79
+ ], EventModel.prototype, "body", void 0);
80
+ export const event = createSchema(EventModel);
81
+ //# sourceMappingURL=event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/tags/event.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,UAAW,SAAQ,KAAK;IAA9B;;QAEC,SAAI,GAAW,EAAE,CAAC;QAGlB,YAAO,GAAW,EAAE,CAAC;QAGrB,aAAQ,GAAW,EAAE,CAAC;QAGtB,QAAG,GAAW,EAAE,CAAC;IA0ClB,CAAC;IAlCA,SAAS;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAEnC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAEvD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEjC,OAAO,yBAAyB,CAAC,MAAM,CAAC,KAAK,EAAE;YAC9C,GAAG,EAAE,SAAS;YACd,QAAQ,EAAE,gBAAgB;YAC1B,UAAU,EAAE;gBACX,GAAG,qBAAqB,CAAC,MAAM,CAAC;gBAChC,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,YAAY;gBACtB,GAAG,EAAE,OAAO;aACZ;YACD,IAAI,EAAE;gBACL,IAAI,EAAE,OAAO;aACb;YACD,QAAQ,EAAE;gBACT,QAAQ;gBACR,WAAW;gBACX,YAAY;gBACZ,OAAO;gBACP,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;gBAC5B,OAAO,CAAC,IAAI,EAAE;aACd;SACD,CAAC,CAAC;IACJ,CAAC;CACD;AAnDA;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;wCAC3B;AAGlB;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;2CACxB;AAGrB;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;4CACvB;AAGtB;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;uCAC5B;AAGjB;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC;8BAC9C,UAAU;0CAAC;AAGnB;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;8BAC5C,UAAU;wCAAC;AAsClB,MAAM,CAAC,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import Markdoc from '@markdoc/markdoc';
2
+ export declare const howto: Markdoc.Schema;
3
+ //# sourceMappingURL=howto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"howto.d.ts","sourceRoot":"","sources":["../../src/tags/howto.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAuFvC,eAAO,MAAM,KAAK,gBAA2B,CAAC"}
@@ -0,0 +1,98 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import Markdoc from '@markdoc/markdoc';
11
+ const { Ast, Tag } = Markdoc;
12
+ import { headingsToList } from '../util.js';
13
+ import { schema } from '../registry.js';
14
+ import { NodeStream } from '../lib/node.js';
15
+ import { attribute, group, Model, createComponentRenderable, createSchema } from '../lib/index.js';
16
+ import { pageSectionProperties } from './common.js';
17
+ const difficultyType = ['easy', 'medium', 'hard'];
18
+ class HowToModel extends Model {
19
+ constructor() {
20
+ super(...arguments);
21
+ this.estimatedTime = '';
22
+ this.difficulty = '';
23
+ this.headingLevel = undefined;
24
+ }
25
+ processChildren(nodes) {
26
+ if (this.headingLevel !== undefined) {
27
+ return super.processChildren(headingsToList({ level: this.headingLevel })(nodes));
28
+ }
29
+ return super.processChildren(nodes);
30
+ }
31
+ transform() {
32
+ const header = this.header.transform();
33
+ const body = this.body.transform();
34
+ const estimatedTimeMeta = new Tag('meta', { content: this.estimatedTime });
35
+ const difficultyMeta = new Tag('meta', { content: this.difficulty });
36
+ // Separate unordered lists (tools/materials) and ordered lists (steps)
37
+ const allNodes = body.toArray();
38
+ const tools = [];
39
+ const steps = [];
40
+ for (const node of allNodes) {
41
+ if (Markdoc.Tag.isTag(node)) {
42
+ if (node.name === 'ul') {
43
+ tools.push(...(node.children || []));
44
+ }
45
+ else if (node.name === 'ol') {
46
+ steps.push(...(node.children || []));
47
+ }
48
+ }
49
+ }
50
+ const toolsList = new Tag('ul', {}, tools);
51
+ const stepsList = new Tag('ol', {}, steps);
52
+ const children = [
53
+ estimatedTimeMeta,
54
+ difficultyMeta,
55
+ header.wrap('header').next(),
56
+ ];
57
+ if (tools.length > 0) {
58
+ children.push(toolsList);
59
+ }
60
+ children.push(stepsList);
61
+ return createComponentRenderable(schema.HowTo, {
62
+ tag: 'article',
63
+ property: 'contentSection',
64
+ properties: {
65
+ ...pageSectionProperties(header),
66
+ estimatedTime: estimatedTimeMeta,
67
+ difficulty: difficultyMeta,
68
+ },
69
+ refs: {
70
+ tools: toolsList,
71
+ steps: stepsList,
72
+ },
73
+ children,
74
+ });
75
+ }
76
+ }
77
+ __decorate([
78
+ attribute({ type: String, required: false }),
79
+ __metadata("design:type", String)
80
+ ], HowToModel.prototype, "estimatedTime", void 0);
81
+ __decorate([
82
+ attribute({ type: String, required: false, matches: difficultyType.slice() }),
83
+ __metadata("design:type", String)
84
+ ], HowToModel.prototype, "difficulty", void 0);
85
+ __decorate([
86
+ attribute({ type: Number, required: false }),
87
+ __metadata("design:type", Object)
88
+ ], HowToModel.prototype, "headingLevel", void 0);
89
+ __decorate([
90
+ group({ include: ['heading', 'paragraph', 'image'] }),
91
+ __metadata("design:type", NodeStream)
92
+ ], HowToModel.prototype, "header", void 0);
93
+ __decorate([
94
+ group({ include: ['list', 'tag'] }),
95
+ __metadata("design:type", NodeStream)
96
+ ], HowToModel.prototype, "body", void 0);
97
+ export const howto = createSchema(HowToModel);
98
+ //# sourceMappingURL=howto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"howto.js","sourceRoot":"","sources":["../../src/tags/howto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import Markdoc from '@markdoc/markdoc';
2
+ export declare const organization: Markdoc.Schema;
3
+ //# sourceMappingURL=organization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../../src/tags/organization.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AA8CvC,eAAO,MAAM,YAAY,gBAAkC,CAAC"}