@refrakt-md/plan 0.9.7 → 0.9.8
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.
- package/dist/index.js +1 -1
- package/dist/render.d.ts +31 -0
- package/dist/render.d.ts.map +1 -0
- package/dist/render.js +57 -0
- package/dist/render.js.map +1 -0
- package/package.json +12 -8
package/dist/index.js
CHANGED
package/dist/render.d.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Edge-safe entity rendering module.
|
|
3
|
+
*
|
|
4
|
+
* Renders a single plan entity's Markdoc source to a serialized tree
|
|
5
|
+
* (RendererNode) that can be identity-transformed by any theme and
|
|
6
|
+
* rendered to HTML.
|
|
7
|
+
*
|
|
8
|
+
* This module has NO Node.js dependencies and runs on Cloudflare Workers.
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* import { renderEntity } from '@refrakt-md/plan/render';
|
|
12
|
+
* import { identityTransform } from '@refrakt-md/lumina/transform';
|
|
13
|
+
* import { renderToHtml } from '@refrakt-md/transform';
|
|
14
|
+
*
|
|
15
|
+
* const tree = renderEntity(source);
|
|
16
|
+
* const html = renderToHtml(identityTransform(tree));
|
|
17
|
+
*/
|
|
18
|
+
import type { RendererNode } from '@refrakt-md/transform';
|
|
19
|
+
/**
|
|
20
|
+
* Render a plan entity's Markdoc source to a serialized tree (RendererNode).
|
|
21
|
+
*
|
|
22
|
+
* The returned tree has the same structure as the static plan site produces
|
|
23
|
+
* before the identity transform — preamble, body sections, meta fields, etc.
|
|
24
|
+
*
|
|
25
|
+
* The consumer is responsible for:
|
|
26
|
+
* 1. Applying the theme's identity transform (e.g. lumina)
|
|
27
|
+
* 2. Rendering to HTML (e.g. renderToHtml from @refrakt-md/transform)
|
|
28
|
+
* 3. Any presentation wrapping (tabs, panels, etc.)
|
|
29
|
+
*/
|
|
30
|
+
export declare function renderEntity(source: string): RendererNode;
|
|
31
|
+
//# sourceMappingURL=render.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAuB1D;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAUzD"}
|
package/dist/render.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Edge-safe entity rendering module.
|
|
3
|
+
*
|
|
4
|
+
* Renders a single plan entity's Markdoc source to a serialized tree
|
|
5
|
+
* (RendererNode) that can be identity-transformed by any theme and
|
|
6
|
+
* rendered to HTML.
|
|
7
|
+
*
|
|
8
|
+
* This module has NO Node.js dependencies and runs on Cloudflare Workers.
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* import { renderEntity } from '@refrakt-md/plan/render';
|
|
12
|
+
* import { identityTransform } from '@refrakt-md/lumina/transform';
|
|
13
|
+
* import { renderToHtml } from '@refrakt-md/transform';
|
|
14
|
+
*
|
|
15
|
+
* const tree = renderEntity(source);
|
|
16
|
+
* const html = renderToHtml(identityTransform(tree));
|
|
17
|
+
*/
|
|
18
|
+
import Markdoc from '@markdoc/markdoc';
|
|
19
|
+
import { serializeTree } from '@refrakt-md/runes';
|
|
20
|
+
import { tags as coreTagOverrides, nodes as coreNodes } from '@refrakt-md/runes';
|
|
21
|
+
import { spec } from './tags/spec.js';
|
|
22
|
+
import { work } from './tags/work.js';
|
|
23
|
+
import { bug } from './tags/bug.js';
|
|
24
|
+
import { decision } from './tags/decision.js';
|
|
25
|
+
import { milestone } from './tags/milestone.js';
|
|
26
|
+
// ── Tag Schemas ─────────────────────────────────────────────
|
|
27
|
+
const planTags = {
|
|
28
|
+
spec,
|
|
29
|
+
work,
|
|
30
|
+
task: work,
|
|
31
|
+
bug,
|
|
32
|
+
decision,
|
|
33
|
+
adr: decision,
|
|
34
|
+
milestone,
|
|
35
|
+
};
|
|
36
|
+
// ── Main API ────────────────────────────────────────────────
|
|
37
|
+
/**
|
|
38
|
+
* Render a plan entity's Markdoc source to a serialized tree (RendererNode).
|
|
39
|
+
*
|
|
40
|
+
* The returned tree has the same structure as the static plan site produces
|
|
41
|
+
* before the identity transform — preamble, body sections, meta fields, etc.
|
|
42
|
+
*
|
|
43
|
+
* The consumer is responsible for:
|
|
44
|
+
* 1. Applying the theme's identity transform (e.g. lumina)
|
|
45
|
+
* 2. Rendering to HTML (e.g. renderToHtml from @refrakt-md/transform)
|
|
46
|
+
* 3. Any presentation wrapping (tabs, panels, etc.)
|
|
47
|
+
*/
|
|
48
|
+
export function renderEntity(source) {
|
|
49
|
+
const tags = { ...coreTagOverrides, ...planTags };
|
|
50
|
+
const ast = Markdoc.parse(source);
|
|
51
|
+
const renderable = Markdoc.transform(ast, {
|
|
52
|
+
tags,
|
|
53
|
+
nodes: coreNodes,
|
|
54
|
+
});
|
|
55
|
+
return serializeTree(renderable);
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAGvC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,IAAI,IAAI,gBAAgB,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,+DAA+D;AAE/D,MAAM,QAAQ,GAAwB;IACrC,IAAI;IACJ,IAAI;IACJ,IAAI,EAAE,IAAI;IACV,GAAG;IACH,QAAQ;IACR,GAAG,EAAE,QAAQ;IACb,SAAS;CACT,CAAC;AAEF,+DAA+D;AAE/D;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc;IAC1C,MAAM,IAAI,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,QAAQ,EAAE,CAAC;IAElD,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE;QACzC,IAAI;QACJ,KAAK,EAAE,SAAS;KAChB,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC,UAAgC,CAAiB,CAAC;AACxE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@refrakt-md/plan",
|
|
3
3
|
"description": "Planning runes for refrakt.md — specs, work items, bugs, decisions, and milestones",
|
|
4
|
-
"version": "0.9.
|
|
4
|
+
"version": "0.9.8",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -42,6 +42,10 @@
|
|
|
42
42
|
"./cards": {
|
|
43
43
|
"types": "./dist/cards.d.ts",
|
|
44
44
|
"default": "./dist/cards.js"
|
|
45
|
+
},
|
|
46
|
+
"./render": {
|
|
47
|
+
"types": "./dist/render.d.ts",
|
|
48
|
+
"default": "./dist/render.js"
|
|
45
49
|
}
|
|
46
50
|
},
|
|
47
51
|
"files": [
|
|
@@ -53,13 +57,13 @@
|
|
|
53
57
|
},
|
|
54
58
|
"dependencies": {
|
|
55
59
|
"@markdoc/markdoc": "0.4.0",
|
|
56
|
-
"@refrakt-md/behaviors": "0.9.
|
|
57
|
-
"@refrakt-md/content": "0.9.
|
|
58
|
-
"@refrakt-md/highlight": "0.9.
|
|
59
|
-
"@refrakt-md/html": "0.9.
|
|
60
|
-
"@refrakt-md/runes": "0.9.
|
|
61
|
-
"@refrakt-md/transform": "0.9.
|
|
62
|
-
"@refrakt-md/types": "0.9.
|
|
60
|
+
"@refrakt-md/behaviors": "0.9.8",
|
|
61
|
+
"@refrakt-md/content": "0.9.8",
|
|
62
|
+
"@refrakt-md/highlight": "0.9.8",
|
|
63
|
+
"@refrakt-md/html": "0.9.8",
|
|
64
|
+
"@refrakt-md/runes": "0.9.8",
|
|
65
|
+
"@refrakt-md/transform": "0.9.8",
|
|
66
|
+
"@refrakt-md/types": "0.9.8",
|
|
63
67
|
"reflect-metadata": "^0.2.0"
|
|
64
68
|
},
|
|
65
69
|
"devDependencies": {
|