@stego-labs/engine 1.0.1
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/README.md +112 -0
- package/dist/stego-engine/src/collections/index.d.ts +3 -0
- package/dist/stego-engine/src/collections/index.d.ts.map +1 -0
- package/dist/stego-engine/src/collections/index.js +2 -0
- package/dist/stego-engine/src/collections/index.js.map +1 -0
- package/dist/stego-engine/src/collections/internal/filtering.d.ts +2 -0
- package/dist/stego-engine/src/collections/internal/filtering.d.ts.map +1 -0
- package/dist/stego-engine/src/collections/internal/filtering.js +4 -0
- package/dist/stego-engine/src/collections/internal/filtering.js.map +1 -0
- package/dist/stego-engine/src/collections/internal/grouping.d.ts +5 -0
- package/dist/stego-engine/src/collections/internal/grouping.d.ts.map +1 -0
- package/dist/stego-engine/src/collections/internal/grouping.js +69 -0
- package/dist/stego-engine/src/collections/internal/grouping.js.map +1 -0
- package/dist/stego-engine/src/collections/internal/sorting.d.ts +3 -0
- package/dist/stego-engine/src/collections/internal/sorting.d.ts.map +1 -0
- package/dist/stego-engine/src/collections/internal/sorting.js +31 -0
- package/dist/stego-engine/src/collections/internal/sorting.js.map +1 -0
- package/dist/stego-engine/src/collections/public/createCollection.d.ts +3 -0
- package/dist/stego-engine/src/collections/public/createCollection.d.ts.map +1 -0
- package/dist/stego-engine/src/collections/public/createCollection.js +31 -0
- package/dist/stego-engine/src/collections/public/createCollection.js.map +1 -0
- package/dist/stego-engine/src/collections/public/types.d.ts +23 -0
- package/dist/stego-engine/src/collections/public/types.d.ts.map +1 -0
- package/dist/stego-engine/src/collections/public/types.js +2 -0
- package/dist/stego-engine/src/collections/public/types.js.map +1 -0
- package/dist/stego-engine/src/compile/index.d.ts +4 -0
- package/dist/stego-engine/src/compile/index.d.ts.map +1 -0
- package/dist/stego-engine/src/compile/index.js +3 -0
- package/dist/stego-engine/src/compile/index.js.map +1 -0
- package/dist/stego-engine/src/compile/internal/load-manuscripts.d.ts +3 -0
- package/dist/stego-engine/src/compile/internal/load-manuscripts.d.ts.map +1 -0
- package/dist/stego-engine/src/compile/internal/load-manuscripts.js +70 -0
- package/dist/stego-engine/src/compile/internal/load-manuscripts.js.map +1 -0
- package/dist/stego-engine/src/compile/internal/load-project.d.ts +7 -0
- package/dist/stego-engine/src/compile/internal/load-project.d.ts.map +1 -0
- package/dist/stego-engine/src/compile/internal/load-project.js +16 -0
- package/dist/stego-engine/src/compile/internal/load-project.js.map +1 -0
- package/dist/stego-engine/src/compile/internal/load-spine.d.ts +7 -0
- package/dist/stego-engine/src/compile/internal/load-spine.d.ts.map +1 -0
- package/dist/stego-engine/src/compile/internal/load-spine.js +92 -0
- package/dist/stego-engine/src/compile/internal/load-spine.js.map +1 -0
- package/dist/stego-engine/src/compile/internal/resolve-template-path.d.ts +2 -0
- package/dist/stego-engine/src/compile/internal/resolve-template-path.d.ts.map +1 -0
- package/dist/stego-engine/src/compile/internal/resolve-template-path.js +12 -0
- package/dist/stego-engine/src/compile/internal/resolve-template-path.js.map +1 -0
- package/dist/stego-engine/src/compile/public/buildTemplateContext.d.ts +4 -0
- package/dist/stego-engine/src/compile/public/buildTemplateContext.d.ts.map +1 -0
- package/dist/stego-engine/src/compile/public/buildTemplateContext.js +21 -0
- package/dist/stego-engine/src/compile/public/buildTemplateContext.js.map +1 -0
- package/dist/stego-engine/src/compile/public/compileProject.d.ts +3 -0
- package/dist/stego-engine/src/compile/public/compileProject.d.ts.map +1 -0
- package/dist/stego-engine/src/compile/public/compileProject.js +27 -0
- package/dist/stego-engine/src/compile/public/compileProject.js.map +1 -0
- package/dist/stego-engine/src/compile/public/types.d.ts +20 -0
- package/dist/stego-engine/src/compile/public/types.d.ts.map +1 -0
- package/dist/stego-engine/src/compile/public/types.js +2 -0
- package/dist/stego-engine/src/compile/public/types.js.map +1 -0
- package/dist/stego-engine/src/index.d.ts +10 -0
- package/dist/stego-engine/src/index.d.ts.map +1 -0
- package/dist/stego-engine/src/index.js +6 -0
- package/dist/stego-engine/src/index.js.map +1 -0
- package/dist/stego-engine/src/ir/index.d.ts +13 -0
- package/dist/stego-engine/src/ir/index.d.ts.map +1 -0
- package/dist/stego-engine/src/ir/index.js +13 -0
- package/dist/stego-engine/src/ir/index.js.map +1 -0
- package/dist/stego-engine/src/ir/nodes/document.d.ts +3 -0
- package/dist/stego-engine/src/ir/nodes/document.d.ts.map +1 -0
- package/dist/stego-engine/src/ir/nodes/document.js +8 -0
- package/dist/stego-engine/src/ir/nodes/document.js.map +1 -0
- package/dist/stego-engine/src/ir/nodes/fragment.d.ts +3 -0
- package/dist/stego-engine/src/ir/nodes/fragment.d.ts.map +1 -0
- package/dist/stego-engine/src/ir/nodes/fragment.js +7 -0
- package/dist/stego-engine/src/ir/nodes/fragment.js.map +1 -0
- package/dist/stego-engine/src/ir/nodes/heading.d.ts +9 -0
- package/dist/stego-engine/src/ir/nodes/heading.d.ts.map +1 -0
- package/dist/stego-engine/src/ir/nodes/heading.js +13 -0
- package/dist/stego-engine/src/ir/nodes/heading.js.map +1 -0
- package/dist/stego-engine/src/ir/nodes/image.d.ts +11 -0
- package/dist/stego-engine/src/ir/nodes/image.d.ts.map +1 -0
- package/dist/stego-engine/src/ir/nodes/image.js +13 -0
- package/dist/stego-engine/src/ir/nodes/image.js.map +1 -0
- package/dist/stego-engine/src/ir/nodes/markdown.d.ts +3 -0
- package/dist/stego-engine/src/ir/nodes/markdown.d.ts.map +1 -0
- package/dist/stego-engine/src/ir/nodes/markdown.js +7 -0
- package/dist/stego-engine/src/ir/nodes/markdown.js.map +1 -0
- package/dist/stego-engine/src/ir/nodes/page-break.d.ts +3 -0
- package/dist/stego-engine/src/ir/nodes/page-break.d.ts.map +1 -0
- package/dist/stego-engine/src/ir/nodes/page-break.js +6 -0
- package/dist/stego-engine/src/ir/nodes/page-break.js.map +1 -0
- package/dist/stego-engine/src/ir/nodes/page-number.d.ts +3 -0
- package/dist/stego-engine/src/ir/nodes/page-number.d.ts.map +1 -0
- package/dist/stego-engine/src/ir/nodes/page-number.js +6 -0
- package/dist/stego-engine/src/ir/nodes/page-number.js.map +1 -0
- package/dist/stego-engine/src/ir/nodes/page-template.d.ts +3 -0
- package/dist/stego-engine/src/ir/nodes/page-template.d.ts.map +1 -0
- package/dist/stego-engine/src/ir/nodes/page-template.js +8 -0
- package/dist/stego-engine/src/ir/nodes/page-template.js.map +1 -0
- package/dist/stego-engine/src/ir/nodes/paragraph.d.ts +10 -0
- package/dist/stego-engine/src/ir/nodes/paragraph.d.ts.map +1 -0
- package/dist/stego-engine/src/ir/nodes/paragraph.js +13 -0
- package/dist/stego-engine/src/ir/nodes/paragraph.js.map +1 -0
- package/dist/stego-engine/src/ir/nodes/section.d.ts +12 -0
- package/dist/stego-engine/src/ir/nodes/section.d.ts.map +1 -0
- package/dist/stego-engine/src/ir/nodes/section.js +15 -0
- package/dist/stego-engine/src/ir/nodes/section.js.map +1 -0
- package/dist/stego-engine/src/ir/nodes/text.d.ts +3 -0
- package/dist/stego-engine/src/ir/nodes/text.d.ts.map +1 -0
- package/dist/stego-engine/src/ir/nodes/text.js +7 -0
- package/dist/stego-engine/src/ir/nodes/text.js.map +1 -0
- package/dist/stego-engine/src/ir/types.d.ts +87 -0
- package/dist/stego-engine/src/ir/types.d.ts.map +1 -0
- package/dist/stego-engine/src/ir/types.js +2 -0
- package/dist/stego-engine/src/ir/types.js.map +1 -0
- package/dist/stego-engine/src/render/index.d.ts +3 -0
- package/dist/stego-engine/src/render/index.d.ts.map +1 -0
- package/dist/stego-engine/src/render/index.js +2 -0
- package/dist/stego-engine/src/render/index.js.map +1 -0
- package/dist/stego-engine/src/render/internal/backends/pandoc/index.d.ts +2 -0
- package/dist/stego-engine/src/render/internal/backends/pandoc/index.d.ts.map +1 -0
- package/dist/stego-engine/src/render/internal/backends/pandoc/index.js +2 -0
- package/dist/stego-engine/src/render/internal/backends/pandoc/index.js.map +1 -0
- package/dist/stego-engine/src/render/internal/backends/pandoc/lower-to-render-plan.d.ts +4 -0
- package/dist/stego-engine/src/render/internal/backends/pandoc/lower-to-render-plan.d.ts.map +1 -0
- package/dist/stego-engine/src/render/internal/backends/pandoc/lower-to-render-plan.js +16 -0
- package/dist/stego-engine/src/render/internal/backends/pandoc/lower-to-render-plan.js.map +1 -0
- package/dist/stego-engine/src/render/internal/backends/pandoc/markdown-writer.d.ts +3 -0
- package/dist/stego-engine/src/render/internal/backends/pandoc/markdown-writer.d.ts.map +1 -0
- package/dist/stego-engine/src/render/internal/backends/pandoc/markdown-writer.js +139 -0
- package/dist/stego-engine/src/render/internal/backends/pandoc/markdown-writer.js.map +1 -0
- package/dist/stego-engine/src/render/internal/backends/pandoc/metadata-writer.d.ts +3 -0
- package/dist/stego-engine/src/render/internal/backends/pandoc/metadata-writer.d.ts.map +1 -0
- package/dist/stego-engine/src/render/internal/backends/pandoc/metadata-writer.js +38 -0
- package/dist/stego-engine/src/render/internal/backends/pandoc/metadata-writer.js.map +1 -0
- package/dist/stego-engine/src/render/internal/normalize/images.d.ts +3 -0
- package/dist/stego-engine/src/render/internal/normalize/images.d.ts.map +1 -0
- package/dist/stego-engine/src/render/internal/normalize/images.js +7 -0
- package/dist/stego-engine/src/render/internal/normalize/images.js.map +1 -0
- package/dist/stego-engine/src/render/internal/normalize/index.d.ts +4 -0
- package/dist/stego-engine/src/render/internal/normalize/index.d.ts.map +1 -0
- package/dist/stego-engine/src/render/internal/normalize/index.js +4 -0
- package/dist/stego-engine/src/render/internal/normalize/index.js.map +1 -0
- package/dist/stego-engine/src/render/internal/normalize/page-layout.d.ts +8 -0
- package/dist/stego-engine/src/render/internal/normalize/page-layout.d.ts.map +1 -0
- package/dist/stego-engine/src/render/internal/normalize/page-layout.js +28 -0
- package/dist/stego-engine/src/render/internal/normalize/page-layout.js.map +1 -0
- package/dist/stego-engine/src/render/internal/normalize/spacing.d.ts +3 -0
- package/dist/stego-engine/src/render/internal/normalize/spacing.d.ts.map +1 -0
- package/dist/stego-engine/src/render/internal/normalize/spacing.js +7 -0
- package/dist/stego-engine/src/render/internal/normalize/spacing.js.map +1 -0
- package/dist/stego-engine/src/render/public/renderDocument.d.ts +3 -0
- package/dist/stego-engine/src/render/public/renderDocument.d.ts.map +1 -0
- package/dist/stego-engine/src/render/public/renderDocument.js +5 -0
- package/dist/stego-engine/src/render/public/renderDocument.js.map +1 -0
- package/dist/stego-engine/src/render/public/types.d.ts +14 -0
- package/dist/stego-engine/src/render/public/types.d.ts.map +1 -0
- package/dist/stego-engine/src/render/public/types.js +2 -0
- package/dist/stego-engine/src/render/public/types.js.map +1 -0
- package/dist/stego-engine/src/template/index.d.ts +6 -0
- package/dist/stego-engine/src/template/index.d.ts.map +1 -0
- package/dist/stego-engine/src/template/index.js +5 -0
- package/dist/stego-engine/src/template/index.js.map +1 -0
- package/dist/stego-engine/src/template/internal/evaluate-template.d.ts +5 -0
- package/dist/stego-engine/src/template/internal/evaluate-template.d.ts.map +1 -0
- package/dist/stego-engine/src/template/internal/evaluate-template.js +17 -0
- package/dist/stego-engine/src/template/internal/evaluate-template.js.map +1 -0
- package/dist/stego-engine/src/template/internal/jsx-dev-runtime.d.ts +5 -0
- package/dist/stego-engine/src/template/internal/jsx-dev-runtime.d.ts.map +1 -0
- package/dist/stego-engine/src/template/internal/jsx-dev-runtime.js +4 -0
- package/dist/stego-engine/src/template/internal/jsx-dev-runtime.js.map +1 -0
- package/dist/stego-engine/src/template/internal/jsx-runtime.d.ts +18 -0
- package/dist/stego-engine/src/template/internal/jsx-runtime.d.ts.map +1 -0
- package/dist/stego-engine/src/template/internal/jsx-runtime.js +15 -0
- package/dist/stego-engine/src/template/internal/jsx-runtime.js.map +1 -0
- package/dist/stego-engine/src/template/internal/normalizeChildren.d.ts +3 -0
- package/dist/stego-engine/src/template/internal/normalizeChildren.d.ts.map +1 -0
- package/dist/stego-engine/src/template/internal/normalizeChildren.js +33 -0
- package/dist/stego-engine/src/template/internal/normalizeChildren.js.map +1 -0
- package/dist/stego-engine/src/template/internal/template-loader.d.ts +7 -0
- package/dist/stego-engine/src/template/internal/template-loader.d.ts.map +1 -0
- package/dist/stego-engine/src/template/internal/template-loader.js +61 -0
- package/dist/stego-engine/src/template/internal/template-loader.js.map +1 -0
- package/dist/stego-engine/src/template/public/authoring.d.ts +4 -0
- package/dist/stego-engine/src/template/public/authoring.d.ts.map +1 -0
- package/dist/stego-engine/src/template/public/authoring.js +3 -0
- package/dist/stego-engine/src/template/public/authoring.js.map +1 -0
- package/dist/stego-engine/src/template/public/components.d.ts +68 -0
- package/dist/stego-engine/src/template/public/components.d.ts.map +1 -0
- package/dist/stego-engine/src/template/public/components.js +45 -0
- package/dist/stego-engine/src/template/public/components.js.map +1 -0
- package/dist/stego-engine/src/template/public/context.d.ts +2 -0
- package/dist/stego-engine/src/template/public/context.d.ts.map +1 -0
- package/dist/stego-engine/src/template/public/context.js +2 -0
- package/dist/stego-engine/src/template/public/context.js.map +1 -0
- package/dist/stego-engine/src/template/public/defineTemplate.d.ts +4 -0
- package/dist/stego-engine/src/template/public/defineTemplate.d.ts.map +1 -0
- package/dist/stego-engine/src/template/public/defineTemplate.js +7 -0
- package/dist/stego-engine/src/template/public/defineTemplate.js.map +1 -0
- package/dist/stego-engine/src/template/public/types.d.ts +46 -0
- package/dist/stego-engine/src/template/public/types.d.ts.map +1 -0
- package/dist/stego-engine/src/template/public/types.js +2 -0
- package/dist/stego-engine/src/template/public/types.js.map +1 -0
- package/dist/stego-engine/src/testing/index.d.ts +2 -0
- package/dist/stego-engine/src/testing/index.d.ts.map +1 -0
- package/dist/stego-engine/src/testing/index.js +2 -0
- package/dist/stego-engine/src/testing/index.js.map +1 -0
- package/docs/architecture.md +16 -0
- package/package.json +53 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/render/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/render/internal/backends/pandoc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/render/internal/backends/pandoc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { StegoDocumentNode } from "../../../../ir/index.ts";
|
|
2
|
+
import type { RenderDocumentResult } from "../../../public/types.ts";
|
|
3
|
+
export declare function lowerToPandocRenderPlan(document: StegoDocumentNode, projectRoot: string): RenderDocumentResult;
|
|
4
|
+
//# sourceMappingURL=lower-to-render-plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lower-to-render-plan.d.ts","sourceRoot":"","sources":["../../../../../../../src/render/internal/backends/pandoc/lower-to-render-plan.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAKrE,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,GAAG,oBAAoB,CAU9G"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { normalizePageLayout } from "../../normalize/index.js";
|
|
3
|
+
import { buildPandocMetadata } from "./metadata-writer.js";
|
|
4
|
+
import { writePandocMarkdown } from "./markdown-writer.js";
|
|
5
|
+
export function lowerToPandocRenderPlan(document, projectRoot) {
|
|
6
|
+
const layout = normalizePageLayout(document);
|
|
7
|
+
return {
|
|
8
|
+
backend: "pandoc",
|
|
9
|
+
inputFormat: "markdown-implicit_figures",
|
|
10
|
+
markdown: writePandocMarkdown(document.children),
|
|
11
|
+
metadata: buildPandocMetadata(layout),
|
|
12
|
+
resourcePaths: [projectRoot, path.join(projectRoot, "assets")],
|
|
13
|
+
requiredFilters: ["image-layout", "block-layout"]
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=lower-to-render-plan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lower-to-render-plan.js","sourceRoot":"","sources":["../../../../../../../src/render/internal/backends/pandoc/lower-to-render-plan.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,UAAU,uBAAuB,CAAC,QAA2B,EAAE,WAAmB;IACtF,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO;QACL,OAAO,EAAE,QAAQ;QACjB,WAAW,EAAE,2BAA2B;QACxC,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAChD,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC;QACrC,aAAa,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC9D,eAAe,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC;KAClD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-writer.d.ts","sourceRoot":"","sources":["../../../../../../../src/render/internal/backends/pandoc/markdown-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqD,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAG5G,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAa9D"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { formatSizeValue, formatSpacingValue } from "../../normalize/index.js";
|
|
2
|
+
export function writePandocMarkdown(nodes) {
|
|
3
|
+
const blocks = [];
|
|
4
|
+
for (const node of nodes) {
|
|
5
|
+
if (node.kind === "pageTemplate") {
|
|
6
|
+
continue;
|
|
7
|
+
}
|
|
8
|
+
const rendered = renderNode(node);
|
|
9
|
+
if (!rendered) {
|
|
10
|
+
continue;
|
|
11
|
+
}
|
|
12
|
+
blocks.push(rendered);
|
|
13
|
+
}
|
|
14
|
+
return `${blocks.join("\n\n").replace(/\n{3,}/g, "\n\n")}\n`;
|
|
15
|
+
}
|
|
16
|
+
function renderNode(node) {
|
|
17
|
+
switch (node.kind) {
|
|
18
|
+
case "document":
|
|
19
|
+
case "fragment":
|
|
20
|
+
return node.children.map(renderNode).filter(Boolean).join("\n\n");
|
|
21
|
+
case "pageTemplate":
|
|
22
|
+
return "";
|
|
23
|
+
case "section": {
|
|
24
|
+
const body = node.children.map(renderNode).filter(Boolean).join("\n\n");
|
|
25
|
+
const attrs = renderBlockAttrs({
|
|
26
|
+
id: node.id,
|
|
27
|
+
role: node.role,
|
|
28
|
+
spaceBefore: node.spaceBefore,
|
|
29
|
+
spaceAfter: node.spaceAfter,
|
|
30
|
+
insetLeft: node.insetLeft,
|
|
31
|
+
insetRight: node.insetRight,
|
|
32
|
+
firstLineIndent: node.firstLineIndent,
|
|
33
|
+
align: node.align
|
|
34
|
+
});
|
|
35
|
+
return attrs ? `::: ${attrs}\n${body}\n:::` : body;
|
|
36
|
+
}
|
|
37
|
+
case "heading": {
|
|
38
|
+
const attrs = renderBlockAttrs({
|
|
39
|
+
spaceBefore: node.spaceBefore,
|
|
40
|
+
spaceAfter: node.spaceAfter,
|
|
41
|
+
insetLeft: node.insetLeft,
|
|
42
|
+
insetRight: node.insetRight,
|
|
43
|
+
align: node.align
|
|
44
|
+
});
|
|
45
|
+
return `${"#".repeat(node.level)} ${renderInlineChildren(node.children)}${attrs ? ` ${attrs}` : ""}`;
|
|
46
|
+
}
|
|
47
|
+
case "paragraph": {
|
|
48
|
+
const attrs = renderBlockAttrs({
|
|
49
|
+
spaceBefore: node.spaceBefore,
|
|
50
|
+
spaceAfter: node.spaceAfter,
|
|
51
|
+
insetLeft: node.insetLeft,
|
|
52
|
+
insetRight: node.insetRight,
|
|
53
|
+
firstLineIndent: node.firstLineIndent,
|
|
54
|
+
align: node.align
|
|
55
|
+
});
|
|
56
|
+
const body = renderInlineChildren(node.children);
|
|
57
|
+
return attrs ? `::: ${attrs}\n${body}\n:::` : body;
|
|
58
|
+
}
|
|
59
|
+
case "markdown":
|
|
60
|
+
return node.source.trim();
|
|
61
|
+
case "image": {
|
|
62
|
+
const tokens = [];
|
|
63
|
+
const width = formatSizeValue(node.width);
|
|
64
|
+
const height = formatSizeValue(node.height);
|
|
65
|
+
if (width) {
|
|
66
|
+
tokens.push(`width=${width}`);
|
|
67
|
+
}
|
|
68
|
+
if (height) {
|
|
69
|
+
tokens.push(`height=${height}`);
|
|
70
|
+
}
|
|
71
|
+
if (node.layout) {
|
|
72
|
+
tokens.push(`data-layout=${node.layout}`);
|
|
73
|
+
}
|
|
74
|
+
if (node.align) {
|
|
75
|
+
tokens.push(`data-align=${node.align}`);
|
|
76
|
+
}
|
|
77
|
+
const attrText = tokens.length > 0 ? `{${tokens.join(" ")}}` : "";
|
|
78
|
+
const image = `${attrText}`;
|
|
79
|
+
if (!node.caption) {
|
|
80
|
+
return image;
|
|
81
|
+
}
|
|
82
|
+
return `${image}\n\n_${node.caption}_`;
|
|
83
|
+
}
|
|
84
|
+
case "pageBreak":
|
|
85
|
+
return "\\newpage";
|
|
86
|
+
case "pageNumber":
|
|
87
|
+
throw new Error("<Stego.PageNumber /> may only appear inside <Stego.PageTemplate /> in V1.");
|
|
88
|
+
case "text":
|
|
89
|
+
return node.value;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
function renderInlineChildren(children) {
|
|
93
|
+
return children.map((child) => {
|
|
94
|
+
if (child.kind !== "text") {
|
|
95
|
+
throw new Error(`Only text children are supported inside this node in V1. Received '${child.kind}'.`);
|
|
96
|
+
}
|
|
97
|
+
return child.value;
|
|
98
|
+
}).join("");
|
|
99
|
+
}
|
|
100
|
+
function renderBlockAttrs(input) {
|
|
101
|
+
const tokens = [];
|
|
102
|
+
if (input.id) {
|
|
103
|
+
tokens.push(`#${input.id}`);
|
|
104
|
+
}
|
|
105
|
+
if (input.role) {
|
|
106
|
+
tokens.push(`data-role=${input.role}`);
|
|
107
|
+
}
|
|
108
|
+
const before = formatSpacingValue(input.spaceBefore);
|
|
109
|
+
const after = formatSpacingValue(input.spaceAfter);
|
|
110
|
+
const insetLeft = formatSpacingValue(input.insetLeft);
|
|
111
|
+
const insetRight = formatSpacingValue(input.insetRight);
|
|
112
|
+
const firstLineIndent = formatIndentValue(input.firstLineIndent);
|
|
113
|
+
if (before) {
|
|
114
|
+
tokens.push(`data-space-before=${before}`);
|
|
115
|
+
}
|
|
116
|
+
if (after) {
|
|
117
|
+
tokens.push(`data-space-after=${after}`);
|
|
118
|
+
}
|
|
119
|
+
if (insetLeft) {
|
|
120
|
+
tokens.push(`data-inset-left=${insetLeft}`);
|
|
121
|
+
}
|
|
122
|
+
if (insetRight) {
|
|
123
|
+
tokens.push(`data-inset-right=${insetRight}`);
|
|
124
|
+
}
|
|
125
|
+
if (firstLineIndent) {
|
|
126
|
+
tokens.push(`data-first-line-indent=${firstLineIndent}`);
|
|
127
|
+
}
|
|
128
|
+
if (input.align) {
|
|
129
|
+
tokens.push(`data-align=${String(input.align)}`);
|
|
130
|
+
}
|
|
131
|
+
return tokens.length > 0 ? `{${tokens.join(" ")}}` : "";
|
|
132
|
+
}
|
|
133
|
+
function formatIndentValue(value) {
|
|
134
|
+
if (value == null) {
|
|
135
|
+
return undefined;
|
|
136
|
+
}
|
|
137
|
+
return typeof value === "number" ? `${value}pt` : value;
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=markdown-writer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-writer.js","sourceRoot":"","sources":["../../../../../../../src/render/internal/backends/pandoc/markdown-writer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-writer.d.ts","sourceRoot":"","sources":["../../../../../../../src/render/internal/backends/pandoc/metadata-writer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAErE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsBzF"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export function buildPandocMetadata(layout) {
|
|
2
|
+
const metadata = {};
|
|
3
|
+
if (layout.geometry.length > 0) {
|
|
4
|
+
metadata.geometry = layout.geometry;
|
|
5
|
+
}
|
|
6
|
+
const headerIncludes = [];
|
|
7
|
+
if (layout.header || layout.footer) {
|
|
8
|
+
headerIncludes.push("\\usepackage{fancyhdr}");
|
|
9
|
+
headerIncludes.push("\\pagestyle{fancy}");
|
|
10
|
+
headerIncludes.push("\\fancyhf{}");
|
|
11
|
+
headerIncludes.push(...renderRegion("head", layout.header));
|
|
12
|
+
headerIncludes.push(...renderRegion("foot", layout.footer));
|
|
13
|
+
headerIncludes.push("\\renewcommand{\\headrulewidth}{0pt}");
|
|
14
|
+
headerIncludes.push("\\renewcommand{\\footrulewidth}{0pt}");
|
|
15
|
+
}
|
|
16
|
+
if (headerIncludes.length > 0) {
|
|
17
|
+
metadata["header-includes"] = headerIncludes;
|
|
18
|
+
}
|
|
19
|
+
return metadata;
|
|
20
|
+
}
|
|
21
|
+
function renderRegion(kind, region) {
|
|
22
|
+
if (!region) {
|
|
23
|
+
return [];
|
|
24
|
+
}
|
|
25
|
+
const lines = [];
|
|
26
|
+
for (const [slot, value] of Object.entries(region)) {
|
|
27
|
+
if (!value) {
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
if (value.kind !== "pageNumber") {
|
|
31
|
+
throw new Error(`Only <Stego.PageNumber /> is supported in page template ${kind}.${slot} for V1.`);
|
|
32
|
+
}
|
|
33
|
+
const latexSlot = slot === "left" ? "L" : slot === "center" ? "C" : "R";
|
|
34
|
+
lines.push(`\\fancy${kind}[${latexSlot}]{\\thepage}`);
|
|
35
|
+
}
|
|
36
|
+
return lines;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=metadata-writer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-writer.js","sourceRoot":"","sources":["../../../../../../../src/render/internal/backends/pandoc/metadata-writer.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,mBAAmB,CAAC,MAA4B;IAC9D,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACnC,cAAc,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC9C,cAAc,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC1C,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACnC,cAAc,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5D,cAAc,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5D,cAAc,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QAC5D,cAAc,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,iBAAiB,CAAC,GAAG,cAAc,CAAC;IAC/C,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CAAC,IAAqB,EAAE,MAAkC;IAC7E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAwE,EAAE,CAAC;QAC1H,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,2DAA2D,IAAI,IAAI,IAAI,UAAU,CAAC,CAAC;QACrG,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,SAAS,cAAc,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../../../../../src/render/internal/normalize/images.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAKhF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"images.js","sourceRoot":"","sources":["../../../../../../src/render/internal/normalize/images.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,eAAe,CAAC,KAA4B;IAC1D,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/render/internal/normalize/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/render/internal/normalize/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAA6B,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { PageRegionSpec, StegoDocumentNode } from "../../../ir/index.ts";
|
|
2
|
+
export type NormalizedPageLayout = {
|
|
3
|
+
geometry: string[];
|
|
4
|
+
footer?: PageRegionSpec;
|
|
5
|
+
header?: PageRegionSpec;
|
|
6
|
+
};
|
|
7
|
+
export declare function normalizePageLayout(document: StegoDocumentNode): NormalizedPageLayout;
|
|
8
|
+
//# sourceMappingURL=page-layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-layout.d.ts","sourceRoot":"","sources":["../../../../../../src/render/internal/normalize/page-layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAiB,iBAAiB,EAAyB,MAAM,sBAAsB,CAAC;AAGpH,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,oBAAoB,CAkBrF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { formatSpacingValue } from "./spacing.js";
|
|
2
|
+
export function normalizePageLayout(document) {
|
|
3
|
+
const pageTemplate = document.children.find((node) => node.kind === "pageTemplate");
|
|
4
|
+
const geometry = [];
|
|
5
|
+
const size = document.page?.size;
|
|
6
|
+
const margin = formatSpacingValue(document.page?.margin);
|
|
7
|
+
if (size) {
|
|
8
|
+
geometry.push(...toGeometryForSize(size));
|
|
9
|
+
}
|
|
10
|
+
if (margin) {
|
|
11
|
+
geometry.push(`margin=${margin}`);
|
|
12
|
+
}
|
|
13
|
+
return {
|
|
14
|
+
geometry,
|
|
15
|
+
header: pageTemplate?.header,
|
|
16
|
+
footer: pageTemplate?.footer
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function toGeometryForSize(size) {
|
|
20
|
+
if (size === "5x8") {
|
|
21
|
+
return ["paperwidth=5in", "paperheight=8in"];
|
|
22
|
+
}
|
|
23
|
+
if (size === "6x9") {
|
|
24
|
+
return ["paperwidth=6in", "paperheight=9in"];
|
|
25
|
+
}
|
|
26
|
+
return ["paper=a5paper"];
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=page-layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-layout.js","sourceRoot":"","sources":["../../../../../../src/render/internal/normalize/page-layout.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAQlD,MAAM,UAAU,mBAAmB,CAAC,QAA2B;IAC7D,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAiC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;IACnH,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACjC,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEzD,IAAI,IAAI,EAAE,CAAC;QACT,QAAQ,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACX,QAAQ,CAAC,IAAI,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,OAAO;QACL,QAAQ;QACR,MAAM,EAAE,YAAY,EAAE,MAAM;QAC5B,MAAM,EAAE,YAAY,EAAE,MAAM;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAmB;IAC5C,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,CAAC,eAAe,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spacing.d.ts","sourceRoot":"","sources":["../../../../../../src/render/internal/normalize/spacing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAKtF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spacing.js","sourceRoot":"","sources":["../../../../../../src/render/internal/normalize/spacing.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kBAAkB,CAAC,KAA+B;IAChE,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderDocument.d.ts","sourceRoot":"","sources":["../../../../../src/render/public/renderDocument.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAE5E,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,CAE/E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderDocument.js","sourceRoot":"","sources":["../../../../../src/render/public/renderDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAG/E,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,OAAO,uBAAuB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { StegoDocumentNode } from "../../ir/index.ts";
|
|
2
|
+
export type RenderDocumentInput = {
|
|
3
|
+
document: StegoDocumentNode;
|
|
4
|
+
projectRoot: string;
|
|
5
|
+
};
|
|
6
|
+
export type RenderDocumentResult = {
|
|
7
|
+
backend: "pandoc";
|
|
8
|
+
inputFormat: string;
|
|
9
|
+
markdown: string;
|
|
10
|
+
metadata: Record<string, unknown>;
|
|
11
|
+
resourcePaths: string[];
|
|
12
|
+
requiredFilters: string[];
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/render/public/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,QAAQ,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/render/public/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { defineTemplate } from "./public/defineTemplate.ts";
|
|
2
|
+
export { Stego } from "./public/components.ts";
|
|
3
|
+
export { evaluateTemplate } from "./internal/evaluate-template.ts";
|
|
4
|
+
export { loadTemplateFromFile } from "./internal/template-loader.ts";
|
|
5
|
+
export type { ManuscriptRecord, SpineEntryRecord, SpineCategoryRecord, TemplateContext, StegoTemplate } from "./public/types.ts";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/template/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACd,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { defineTemplate } from "./public/defineTemplate.js";
|
|
2
|
+
export { Stego } from "./public/components.js";
|
|
3
|
+
export { evaluateTemplate } from "./internal/evaluate-template.js";
|
|
4
|
+
export { loadTemplateFromFile } from "./internal/template-loader.js";
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/template/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { StegoDocumentNode } from "../../ir/index.ts";
|
|
2
|
+
import type { StegoTemplate, TemplateContext } from "../public/types.ts";
|
|
3
|
+
export declare function assertTemplateModule(value: unknown): StegoTemplate;
|
|
4
|
+
export declare function evaluateTemplate(template: StegoTemplate, context: TemplateContext): StegoDocumentNode;
|
|
5
|
+
//# sourceMappingURL=evaluate-template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate-template.d.ts","sourceRoot":"","sources":["../../../../../src/template/internal/evaluate-template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEzE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CAWlE;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,GAAG,iBAAiB,CAMrG"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export function assertTemplateModule(value) {
|
|
2
|
+
if (typeof value === "object"
|
|
3
|
+
&& value !== null
|
|
4
|
+
&& value.kind === "stego-template"
|
|
5
|
+
&& typeof value.render === "function") {
|
|
6
|
+
return value;
|
|
7
|
+
}
|
|
8
|
+
throw new Error("Template must default export defineTemplate(...).");
|
|
9
|
+
}
|
|
10
|
+
export function evaluateTemplate(template, context) {
|
|
11
|
+
const document = template.render(context);
|
|
12
|
+
if (!document || document.kind !== "document") {
|
|
13
|
+
throw new Error("Template render() must return <Stego.Document>.");
|
|
14
|
+
}
|
|
15
|
+
return document;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=evaluate-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate-template.js","sourceRoot":"","sources":["../../../../../src/template/internal/evaluate-template.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IACE,OAAO,KAAK,KAAK,QAAQ;WACtB,KAAK,KAAK,IAAI;WACb,KAA4B,CAAC,IAAI,KAAK,gBAAgB;WACvD,OAAQ,KAA8B,CAAC,MAAM,KAAK,UAAU,EAC/D,CAAC;QACD,OAAO,KAAsB,CAAC;IAChC,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAuB,EAAE,OAAwB;IAChF,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx-dev-runtime.d.ts","sourceRoot":"","sources":["../../../../../src/template/internal/jsx-dev-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACvD,eAAO,MAAM,MAAM,YAAM,CAAC;AAE1B,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,YAAY,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx-dev-runtime.js","sourceRoot":"","sources":["../../../../../src/template/internal/jsx-dev-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACvD,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;AAE1B,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { StegoDocumentNode, StegoFragmentNode, StegoHeadingNode, StegoImageNode, StegoMarkdownNode, StegoNode, StegoPageBreakNode, StegoPageNumberNode, StegoPageTemplateNode, StegoParagraphNode, StegoSectionNode, StegoTextNode } from "../../ir/index.ts";
|
|
2
|
+
import { Fragment } from "../public/components.ts";
|
|
3
|
+
export { Fragment };
|
|
4
|
+
export declare namespace JSX {
|
|
5
|
+
type Element = StegoNode | StegoDocumentNode | StegoFragmentNode | StegoSectionNode | StegoHeadingNode | StegoParagraphNode | StegoMarkdownNode | StegoImageNode | StegoPageBreakNode | StegoPageTemplateNode | StegoPageNumberNode | StegoTextNode;
|
|
6
|
+
type ElementType = (props: any) => Element;
|
|
7
|
+
interface ElementChildrenAttribute {
|
|
8
|
+
children: unknown;
|
|
9
|
+
}
|
|
10
|
+
interface IntrinsicElements {
|
|
11
|
+
}
|
|
12
|
+
interface IntrinsicAttributes {
|
|
13
|
+
key?: string | number;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export declare function jsx<Props, Result extends JSX.Element>(type: (props: Props) => Result, props: Props): Result;
|
|
17
|
+
export declare function jsxs<Props, Result extends JSX.Element>(type: (props: Props) => Result, props: Props): Result;
|
|
18
|
+
//# sourceMappingURL=jsx-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../../../../../src/template/internal/jsx-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB,yBAAiB,GAAG,CAAC;IACnB,KAAY,OAAO,GACf,SAAS,GACT,iBAAiB,GACjB,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,iBAAiB,GACjB,cAAc,GACd,kBAAkB,GAClB,qBAAqB,GACrB,mBAAmB,GACnB,aAAa,CAAC;IAClB,KAAY,WAAW,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC;IAClD,UAAiB,wBAAwB;QACvC,QAAQ,EAAE,OAAO,CAAC;KACnB;IACD,UAAiB,iBAAiB;KAAG;IACrC,UAAiB,mBAAmB;QAClC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB;CACF;AAED,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,SAAS,GAAG,CAAC,OAAO,EACnD,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,EAC9B,KAAK,EAAE,KAAK,GACX,MAAM,CAER;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,SAAS,GAAG,CAAC,OAAO,EACpD,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,EAC9B,KAAK,EAAE,KAAK,GACX,MAAM,CAER"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Fragment } from "../public/components.js";
|
|
2
|
+
export { Fragment };
|
|
3
|
+
export function jsx(type, props) {
|
|
4
|
+
return createElement(type, props);
|
|
5
|
+
}
|
|
6
|
+
export function jsxs(type, props) {
|
|
7
|
+
return createElement(type, props);
|
|
8
|
+
}
|
|
9
|
+
function createElement(type, props) {
|
|
10
|
+
if (typeof type !== "function") {
|
|
11
|
+
throw new Error("Only Stego components and local helper functions are supported in templates.");
|
|
12
|
+
}
|
|
13
|
+
return type(props);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=jsx-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../../../../../src/template/internal/jsx-runtime.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,CAAC;AA0BpB,MAAM,UAAU,GAAG,CACjB,IAA8B,EAC9B,KAAY;IAEZ,OAAO,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,IAAI,CAClB,IAA8B,EAC9B,KAAY;IAEZ,OAAO,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,aAAa,CACpB,IAA8B,EAC9B,KAAY;IAEZ,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeChildren.d.ts","sourceRoot":"","sources":["../../../../../src/template/internal/normalizeChildren.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,CAI7D"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { createTextNode } from "../../ir/index.js";
|
|
2
|
+
export function normalizeChildren(input) {
|
|
3
|
+
const nodes = [];
|
|
4
|
+
appendChildren(nodes, input);
|
|
5
|
+
return nodes;
|
|
6
|
+
}
|
|
7
|
+
function appendChildren(nodes, input) {
|
|
8
|
+
if (input == null || typeof input === "boolean") {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
if (Array.isArray(input)) {
|
|
12
|
+
for (const entry of input) {
|
|
13
|
+
appendChildren(nodes, entry);
|
|
14
|
+
}
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
if (typeof input === "string" || typeof input === "number") {
|
|
18
|
+
nodes.push(createTextNode(String(input)));
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
if (isStegoNode(input)) {
|
|
22
|
+
nodes.push(input);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
throw new Error(`Unsupported template child value: ${String(input)}`);
|
|
26
|
+
}
|
|
27
|
+
function isStegoNode(value) {
|
|
28
|
+
return typeof value === "object"
|
|
29
|
+
&& value !== null
|
|
30
|
+
&& "kind" in value
|
|
31
|
+
&& typeof value.kind === "string";
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=normalizeChildren.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeChildren.js","sourceRoot":"","sources":["../../../../../src/template/internal/normalizeChildren.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAkB,MAAM,mBAAmB,CAAC;AAEnE,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,KAAkB,EAAE,KAAc;IACxD,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;YAC1B,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ;WAC3B,KAAK,KAAK,IAAI;WACd,MAAM,IAAI,KAAK;WACf,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC9D,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { StegoTemplate } from "../public/types.ts";
|
|
2
|
+
export type LoadedTemplate = {
|
|
3
|
+
template: StegoTemplate;
|
|
4
|
+
cleanup: () => void;
|
|
5
|
+
};
|
|
6
|
+
export declare function loadTemplateFromFile(templatePath: string): Promise<LoadedTemplate>;
|
|
7
|
+
//# sourceMappingURL=template-loader.d.ts.map
|