@refrakt-md/runes 0.8.5 → 0.9.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.
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +193 -23
- package/dist/config.js.map +1 -1
- package/dist/fence-escape.d.ts +19 -0
- package/dist/fence-escape.d.ts.map +1 -0
- package/dist/fence-escape.js +53 -0
- package/dist/fence-escape.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/index.d.ts +2 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +1 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/nodes.d.ts.map +1 -1
- package/dist/nodes.js +2 -1
- package/dist/nodes.js.map +1 -1
- package/dist/registry.d.ts +2 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +2 -0
- package/dist/registry.js.map +1 -1
- package/dist/sandbox-sources.d.ts +34 -0
- package/dist/sandbox-sources.d.ts.map +1 -0
- package/dist/sandbox-sources.js +204 -0
- package/dist/sandbox-sources.js.map +1 -0
- package/dist/schema/xref.d.ts +5 -0
- package/dist/schema/xref.d.ts.map +1 -0
- package/dist/schema/xref.js +7 -0
- package/dist/schema/xref.js.map +1 -0
- package/dist/tags/common.d.ts +27 -0
- package/dist/tags/common.d.ts.map +1 -1
- package/dist/tags/common.js +53 -0
- package/dist/tags/common.js.map +1 -1
- package/dist/tags/sandbox.d.ts.map +1 -1
- package/dist/tags/sandbox.js +56 -9
- package/dist/tags/sandbox.js.map +1 -1
- package/dist/tags/xref.d.ts +18 -0
- package/dist/tags/xref.d.ts.map +1 -0
- package/dist/tags/xref.js +54 -0
- package/dist/tags/xref.js.map +1 -0
- package/package.json +3 -3
package/dist/nodes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodes.js","sourceRoot":"","sources":["../src/nodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjC,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"nodes.js","sourceRoot":"","sources":["../src/nodes.ts"],"names":[],"mappings":"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"}
|
package/dist/registry.d.ts
CHANGED
|
@@ -34,6 +34,7 @@ import { Tint } from './schema/tint.js';
|
|
|
34
34
|
import { Showcase } from './schema/showcase.js';
|
|
35
35
|
import { Bg } from './schema/bg.js';
|
|
36
36
|
import { Blog, BlogPost } from './schema/blog.js';
|
|
37
|
+
import { Xref } from './schema/xref.js';
|
|
37
38
|
export declare const schema: {
|
|
38
39
|
Page: import("@refrakt-md/types").Type<Page>;
|
|
39
40
|
PageSection: import("@refrakt-md/types").Type<PageSection>;
|
|
@@ -90,5 +91,6 @@ export declare const schema: {
|
|
|
90
91
|
Bg: import("@refrakt-md/types").Type<Bg>;
|
|
91
92
|
Blog: import("@refrakt-md/types").Type<Blog>;
|
|
92
93
|
BlogPost: import("@refrakt-md/types").Type<BlogPost>;
|
|
94
|
+
Xref: import("@refrakt-md/types").Type<Xref>;
|
|
93
95
|
};
|
|
94
96
|
//# sourceMappingURL=registry.d.ts.map
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAG,MAAM,mBAAmB,CAAC;AAEpF,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAC,KAAK,EAAE,SAAS,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAC,SAAS,EAAE,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAC,KAAK,EAAC,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAC,MAAM,EAAE,cAAc,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAC,KAAK,EAAC,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAC,YAAY,EAAE,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAC,SAAS,EAAE,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAC,IAAI,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAG,MAAM,mBAAmB,CAAC;AAEpF,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAC,KAAK,EAAE,SAAS,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAC,SAAS,EAAE,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAC,KAAK,EAAC,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAC,MAAM,EAAE,cAAc,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAC,KAAK,EAAC,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAC,YAAY,EAAE,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAC,SAAS,EAAE,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAC,IAAI,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAEtC,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDlB,CAAA"}
|
package/dist/registry.js
CHANGED
|
@@ -34,6 +34,7 @@ import { Tint } from './schema/tint.js';
|
|
|
34
34
|
import { Showcase } from './schema/showcase.js';
|
|
35
35
|
import { Bg } from './schema/bg.js';
|
|
36
36
|
import { Blog, BlogPost } from './schema/blog.js';
|
|
37
|
+
import { Xref } from './schema/xref.js';
|
|
37
38
|
export const schema = {
|
|
38
39
|
Page: useSchema(Page).defineType('Page'),
|
|
39
40
|
PageSection: useSchema(PageSection).defineType('PageSection'),
|
|
@@ -90,5 +91,6 @@ export const schema = {
|
|
|
90
91
|
Bg: useSchema(Bg).defineType('Bg'),
|
|
91
92
|
Blog: useSchema(Blog).defineType('Blog', {}, 'Blog'),
|
|
92
93
|
BlogPost: useSchema(BlogPost).defineType('BlogPost'),
|
|
94
|
+
Xref: useSchema(Xref).defineType('Xref'),
|
|
93
95
|
};
|
|
94
96
|
//# sourceMappingURL=registry.js.map
|
package/dist/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,mBAAmB,CAAC;AAEpF,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAC,KAAK,EAAE,SAAS,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAC,SAAS,EAAE,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAC,KAAK,EAAC,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAC,MAAM,EAAE,cAAc,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAC,KAAK,EAAC,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAC,YAAY,EAAE,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAC,SAAS,EAAE,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAC,IAAI,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/** A source panel with language, content, and origin tracking */
|
|
2
|
+
export interface SandboxSourcePanel {
|
|
3
|
+
label: string;
|
|
4
|
+
language: string;
|
|
5
|
+
content: string;
|
|
6
|
+
/** Origin file path relative to the src directory, or "inline" */
|
|
7
|
+
origin: string;
|
|
8
|
+
}
|
|
9
|
+
export interface SandboxSourceResult {
|
|
10
|
+
/** Assembled HTML content in data-source annotated format */
|
|
11
|
+
content: string;
|
|
12
|
+
/** Source panels with origin labels for display */
|
|
13
|
+
panels: SandboxSourcePanel[];
|
|
14
|
+
/** Fatal errors that prevent rendering */
|
|
15
|
+
errors: string[];
|
|
16
|
+
/** Non-fatal diagnostic messages */
|
|
17
|
+
warnings: string[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Scan a directory and assemble sandbox content from discovered files.
|
|
21
|
+
*
|
|
22
|
+
* @param dirPath Absolute path to the sandbox source directory
|
|
23
|
+
* @param srcName Relative name used for display (e.g. "login-form")
|
|
24
|
+
* @param readFile Returns file content or null if not found
|
|
25
|
+
* @param listDir Returns filenames in a directory, or empty array if not found
|
|
26
|
+
* @param dirExists Returns true if the directory exists
|
|
27
|
+
*/
|
|
28
|
+
export declare function assembleFromDirectory(dirPath: string, srcName: string, readFile: (path: string) => string | null, listDir: (path: string) => string[], dirExists?: (path: string) => boolean): SandboxSourceResult;
|
|
29
|
+
/**
|
|
30
|
+
* Merge inline content after file-sourced content.
|
|
31
|
+
* Parses both strings as data-source annotated HTML, then combines each role.
|
|
32
|
+
*/
|
|
33
|
+
export declare function mergeContent(fileContent: string, inlineContent: string): string;
|
|
34
|
+
//# sourceMappingURL=sandbox-sources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-sources.d.ts","sourceRoot":"","sources":["../src/sandbox-sources.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,MAAM,WAAW,kBAAkB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IACnC,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,0CAA0C;IAC1C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB;AAsCD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,EACzC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAAE,EACnC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GACnC,mBAAmB,CA2IrB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAmB/E"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/** File types recognized by the sandbox directory scanner */
|
|
2
|
+
const FILE_ROLES = {
|
|
3
|
+
'.html': 'html',
|
|
4
|
+
'.css': 'css',
|
|
5
|
+
'.js': 'js',
|
|
6
|
+
'.svg': 'svg',
|
|
7
|
+
'.glsl-vert': 'glsl-vert',
|
|
8
|
+
'.glsl-frag': 'glsl-frag',
|
|
9
|
+
};
|
|
10
|
+
/** Join a directory path and filename with a forward slash. */
|
|
11
|
+
function joinPath(dir, name) {
|
|
12
|
+
return dir.endsWith('/') ? dir + name : dir + '/' + name;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Get the role extension for a file. Handles compound extensions like .glsl-vert.
|
|
16
|
+
*/
|
|
17
|
+
function getFileRole(filename) {
|
|
18
|
+
// Check compound extensions first
|
|
19
|
+
if (filename.endsWith('.glsl-vert'))
|
|
20
|
+
return 'glsl-vert';
|
|
21
|
+
if (filename.endsWith('.glsl-frag'))
|
|
22
|
+
return 'glsl-frag';
|
|
23
|
+
const dotIdx = filename.lastIndexOf('.');
|
|
24
|
+
if (dotIdx === -1)
|
|
25
|
+
return null;
|
|
26
|
+
const ext = filename.slice(dotIdx);
|
|
27
|
+
return FILE_ROLES[ext] ?? null;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Scan a directory and assemble sandbox content from discovered files.
|
|
31
|
+
*
|
|
32
|
+
* @param dirPath Absolute path to the sandbox source directory
|
|
33
|
+
* @param srcName Relative name used for display (e.g. "login-form")
|
|
34
|
+
* @param readFile Returns file content or null if not found
|
|
35
|
+
* @param listDir Returns filenames in a directory, or empty array if not found
|
|
36
|
+
* @param dirExists Returns true if the directory exists
|
|
37
|
+
*/
|
|
38
|
+
export function assembleFromDirectory(dirPath, srcName, readFile, listDir, dirExists) {
|
|
39
|
+
const errors = [];
|
|
40
|
+
const warnings = [];
|
|
41
|
+
// Check if directory exists
|
|
42
|
+
if (dirExists && !dirExists(dirPath)) {
|
|
43
|
+
return {
|
|
44
|
+
content: '',
|
|
45
|
+
panels: [],
|
|
46
|
+
errors: [`Sandbox src directory not found: "${srcName}"`],
|
|
47
|
+
warnings: [],
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
const entries = listDir(dirPath);
|
|
51
|
+
if (entries.length === 0) {
|
|
52
|
+
return {
|
|
53
|
+
content: '',
|
|
54
|
+
panels: [],
|
|
55
|
+
errors: [],
|
|
56
|
+
warnings: [`Sandbox src directory "${srcName}" contains no .html, .css, or .js files`],
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
// Discover and classify files
|
|
60
|
+
const files = [];
|
|
61
|
+
for (const name of entries.sort()) {
|
|
62
|
+
const role = getFileRole(name);
|
|
63
|
+
if (!role)
|
|
64
|
+
continue;
|
|
65
|
+
const content = readFile(joinPath(dirPath, name));
|
|
66
|
+
if (content != null) {
|
|
67
|
+
files.push({ name, role, content });
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (files.length === 0) {
|
|
71
|
+
return {
|
|
72
|
+
content: '',
|
|
73
|
+
panels: [],
|
|
74
|
+
errors: [],
|
|
75
|
+
warnings: [`Sandbox src directory "${srcName}" contains no .html, .css, or .js files`],
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
// Group by role
|
|
79
|
+
const byRole = new Map();
|
|
80
|
+
for (const file of files) {
|
|
81
|
+
const group = byRole.get(file.role) ?? [];
|
|
82
|
+
group.push(file);
|
|
83
|
+
byRole.set(file.role, group);
|
|
84
|
+
}
|
|
85
|
+
// HTML — single file, prefer index.html
|
|
86
|
+
const htmlFiles = byRole.get('html') ?? [];
|
|
87
|
+
let htmlFile;
|
|
88
|
+
if (htmlFiles.length > 1) {
|
|
89
|
+
htmlFile = htmlFiles.find(f => f.name === 'index.html') ?? htmlFiles[0];
|
|
90
|
+
warnings.push(`Sandbox src "${srcName}" has multiple .html files — using ${htmlFile.name}`);
|
|
91
|
+
}
|
|
92
|
+
else if (htmlFiles.length === 1) {
|
|
93
|
+
htmlFile = htmlFiles[0];
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
warnings.push(`Sandbox src "${srcName}" has no .html file — body will be empty`);
|
|
97
|
+
}
|
|
98
|
+
// CSS — concatenate alphabetically
|
|
99
|
+
const cssFiles = byRole.get('css') ?? [];
|
|
100
|
+
const cssContent = cssFiles.map(f => f.content).join('\n');
|
|
101
|
+
// JS — concatenate alphabetically
|
|
102
|
+
const jsFiles = byRole.get('js') ?? [];
|
|
103
|
+
let jsContent = jsFiles.map(f => f.content).join('\n');
|
|
104
|
+
// SVG — inject into HTML body
|
|
105
|
+
const svgFiles = byRole.get('svg') ?? [];
|
|
106
|
+
const svgContent = svgFiles.map(f => f.content).join('\n');
|
|
107
|
+
// Shaders — inject as JS constants
|
|
108
|
+
const vertFile = (byRole.get('glsl-vert') ?? [])[0];
|
|
109
|
+
const fragFile = (byRole.get('glsl-frag') ?? [])[0];
|
|
110
|
+
let shaderPreamble = '';
|
|
111
|
+
if (vertFile) {
|
|
112
|
+
shaderPreamble += `const VERTEX_SHADER = \`${escapeTemplateLiteral(vertFile.content)}\`;\n`;
|
|
113
|
+
}
|
|
114
|
+
if (fragFile) {
|
|
115
|
+
shaderPreamble += `const FRAGMENT_SHADER = \`${escapeTemplateLiteral(fragFile.content)}\`;\n`;
|
|
116
|
+
}
|
|
117
|
+
if (shaderPreamble) {
|
|
118
|
+
jsContent = shaderPreamble + jsContent;
|
|
119
|
+
}
|
|
120
|
+
// Assemble into data-source annotated HTML
|
|
121
|
+
const htmlBody = (htmlFile?.content ?? '') + (svgContent ? '\n' + svgContent : '');
|
|
122
|
+
const parts = [];
|
|
123
|
+
if (htmlBody) {
|
|
124
|
+
parts.push(`<div data-source="HTML">\n${htmlBody}\n</div>`);
|
|
125
|
+
}
|
|
126
|
+
if (cssContent) {
|
|
127
|
+
parts.push(`<style data-source="CSS">\n${cssContent}\n</style>`);
|
|
128
|
+
}
|
|
129
|
+
if (jsContent) {
|
|
130
|
+
parts.push(`<script data-source="JavaScript">\n${jsContent}\n</script>`);
|
|
131
|
+
}
|
|
132
|
+
const content = parts.join('\n');
|
|
133
|
+
// Build source panels with origin labels
|
|
134
|
+
const panels = [];
|
|
135
|
+
if (htmlFile) {
|
|
136
|
+
panels.push({
|
|
137
|
+
label: `HTML`,
|
|
138
|
+
language: 'html',
|
|
139
|
+
content: htmlBody,
|
|
140
|
+
origin: `${srcName}/${htmlFile.name}`,
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
if (cssContent) {
|
|
144
|
+
const originNames = cssFiles.map(f => `${srcName}/${f.name}`).join(', ');
|
|
145
|
+
panels.push({
|
|
146
|
+
label: `CSS`,
|
|
147
|
+
language: 'css',
|
|
148
|
+
content: cssContent,
|
|
149
|
+
origin: originNames,
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
if (jsContent) {
|
|
153
|
+
const originParts = [];
|
|
154
|
+
if (vertFile)
|
|
155
|
+
originParts.push(`${srcName}/${vertFile.name}`);
|
|
156
|
+
if (fragFile)
|
|
157
|
+
originParts.push(`${srcName}/${fragFile.name}`);
|
|
158
|
+
originParts.push(...jsFiles.map(f => `${srcName}/${f.name}`));
|
|
159
|
+
panels.push({
|
|
160
|
+
label: `JavaScript`,
|
|
161
|
+
language: 'javascript',
|
|
162
|
+
content: jsContent,
|
|
163
|
+
origin: originParts.join(', '),
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
return { content, panels, errors, warnings };
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Merge inline content after file-sourced content.
|
|
170
|
+
* Parses both strings as data-source annotated HTML, then combines each role.
|
|
171
|
+
*/
|
|
172
|
+
export function mergeContent(fileContent, inlineContent) {
|
|
173
|
+
const fileHtml = extractSection(fileContent, 'div', 'HTML');
|
|
174
|
+
const fileCss = extractSection(fileContent, 'style', 'CSS');
|
|
175
|
+
const fileJs = extractSection(fileContent, 'script', 'JavaScript');
|
|
176
|
+
const inlineHtml = extractSection(inlineContent, 'div', 'HTML');
|
|
177
|
+
const inlineCss = extractSection(inlineContent, 'style', 'CSS');
|
|
178
|
+
const inlineJs = extractSection(inlineContent, 'script', 'JavaScript');
|
|
179
|
+
const html = joinParts(fileHtml, inlineHtml);
|
|
180
|
+
const css = joinParts(fileCss, inlineCss);
|
|
181
|
+
const js = joinParts(fileJs, inlineJs);
|
|
182
|
+
const parts = [];
|
|
183
|
+
if (html)
|
|
184
|
+
parts.push(`<div data-source="HTML">\n${html}\n</div>`);
|
|
185
|
+
if (css)
|
|
186
|
+
parts.push(`<style data-source="CSS">\n${css}\n</style>`);
|
|
187
|
+
if (js)
|
|
188
|
+
parts.push(`<script data-source="JavaScript">\n${js}\n</script>`);
|
|
189
|
+
return parts.join('\n');
|
|
190
|
+
}
|
|
191
|
+
function extractSection(content, tag, label) {
|
|
192
|
+
const regex = new RegExp(`<${tag}[^>]*data-source="${label}"[^>]*>([\\s\\S]*?)</${tag}>`, 'i');
|
|
193
|
+
const match = content.match(regex);
|
|
194
|
+
return match?.[1]?.trim() ?? '';
|
|
195
|
+
}
|
|
196
|
+
function joinParts(a, b) {
|
|
197
|
+
if (a && b)
|
|
198
|
+
return a + '\n' + b;
|
|
199
|
+
return a || b;
|
|
200
|
+
}
|
|
201
|
+
function escapeTemplateLiteral(s) {
|
|
202
|
+
return s.replace(/\\/g, '\\\\').replace(/`/g, '\\`').replace(/\$\{/g, '\\${');
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=sandbox-sources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-sources.js","sourceRoot":"","sources":["../src/sandbox-sources.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xref.d.ts","sourceRoot":"","sources":["../../src/schema/xref.ts"],"names":[],"mappings":"AAAA,qBAAa,IAAI;IAChB,UAAU,EAAE,MAAM,CAAM;IACxB,QAAQ,EAAE,MAAM,CAAM;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xref.js","sourceRoot":"","sources":["../../src/schema/xref.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,IAAI;IAAjB;QACC,eAAU,GAAW,EAAE,CAAC;QACxB,aAAQ,GAAW,EAAE,CAAC;IACvB,CAAC;CAAA"}
|
package/dist/tags/common.d.ts
CHANGED
|
@@ -18,6 +18,33 @@ export declare class SplitLayoutModel extends Model {
|
|
|
18
18
|
export declare const linkItem: Markdoc.Schema;
|
|
19
19
|
export declare function name(cursor: RenderableNodeCursor): RenderableNodeCursor<Markdoc.Tag<"h1" | "h2" | "h3" | "h4" | "h5" | "h6", Record<string, any>>>;
|
|
20
20
|
export declare function description(cursor: RenderableNodeCursor): RenderableNodeCursor<Markdoc.Tag<"p", Record<string, any>>>;
|
|
21
|
+
export interface LayoutMetas {
|
|
22
|
+
layout: Tag;
|
|
23
|
+
ratio: Tag | undefined;
|
|
24
|
+
valign: Tag | undefined;
|
|
25
|
+
gap: Tag | undefined;
|
|
26
|
+
collapse: Tag | undefined;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Build the five layout meta tags shared by all split-layout runes.
|
|
30
|
+
* Accepts the attrs object from a `SplitLayoutModel`-based schema and returns
|
|
31
|
+
* the meta Tag instances plus a convenience array of the non-undefined tags
|
|
32
|
+
* suitable for spreading into a children array.
|
|
33
|
+
*/
|
|
34
|
+
export declare function buildLayoutMetas(attrs: Record<string, any>): {
|
|
35
|
+
metas: LayoutMetas;
|
|
36
|
+
children: Tag[];
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Extract a bare `<img>` tag from rendered media nodes.
|
|
40
|
+
*
|
|
41
|
+
* Markdoc wraps inline images in `<p><img .../></p>`. This utility walks
|
|
42
|
+
* the top-level nodes looking for either a bare `<img>` or an `<img>` nested
|
|
43
|
+
* inside a `<p>`, and returns the unwrapped tag.
|
|
44
|
+
*
|
|
45
|
+
* @returns The first `<img>` Tag found, or `undefined` if none exists.
|
|
46
|
+
*/
|
|
47
|
+
export declare function extractMediaImage(cursor: RenderableNodeCursor): Tag | undefined;
|
|
21
48
|
export declare function pageSectionProperties(cursor: RenderableNodeCursor): {
|
|
22
49
|
eyebrow: Tag | undefined;
|
|
23
50
|
headline: Tag | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/tags/common.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,EAAE,GAAG,EAAuB,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAA2B,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,+CAA+C;AAC/C,qBAAa,yBAA0B,SAAQ,KAAK;IAElD,KAAK,EAAE,OAAO,CAAS;IAGvB,MAAM,EAAE,OAAO,CAAS;CACzB;AAED,6DAA6D;AAC7D,qBAAa,gBAAiB,SAAQ,KAAK;IAEzC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,eAAe,CAAa;IAG1D,KAAK,EAAE,MAAM,CAAS;IAGtB,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAS;IAG5C,GAAG,EAAE,MAAM,CAAa;IAGxB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAa;CAC1C;AAYD,eAAO,MAAM,QAAQ,gBAA8B,CAAC;AAEpD,wBAAgB,IAAI,CAAC,MAAM,EAAE,oBAAoB,mGAEhD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,oBAAoB,+DAEvD;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,oBAAoB;aAUtC,GAAG,GAAG,SAAS;cACd,GAAG,GAAG,SAAS;;WAEZ,GAAG,GAAG,SAAS;EAkC9C"}
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/tags/common.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,EAAE,GAAG,EAAuB,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAA2B,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,+CAA+C;AAC/C,qBAAa,yBAA0B,SAAQ,KAAK;IAElD,KAAK,EAAE,OAAO,CAAS;IAGvB,MAAM,EAAE,OAAO,CAAS;CACzB;AAED,6DAA6D;AAC7D,qBAAa,gBAAiB,SAAQ,KAAK;IAEzC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,eAAe,CAAa;IAG1D,KAAK,EAAE,MAAM,CAAS;IAGtB,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAS;IAG5C,GAAG,EAAE,MAAM,CAAa;IAGxB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAa;CAC1C;AAYD,eAAO,MAAM,QAAQ,gBAA8B,CAAC;AAEpD,wBAAgB,IAAI,CAAC,MAAM,EAAE,oBAAoB,mGAEhD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,oBAAoB,+DAEvD;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,EAAE,GAAG,GAAG,SAAS,CAAC;IACvB,MAAM,EAAE,GAAG,GAAG,SAAS,CAAC;IACxB,GAAG,EAAE,GAAG,GAAG,SAAS,CAAC;IACrB,QAAQ,EAAE,GAAG,GAAG,SAAS,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;IAC5D,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,GAAG,EAAE,CAAC;CACjB,CAuBA;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,GAAG,GAAG,SAAS,CAa/E;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,oBAAoB;aAUtC,GAAG,GAAG,SAAS;cACd,GAAG,GAAG,SAAS;;WAEZ,GAAG,GAAG,SAAS;EAkC9C"}
|
package/dist/tags/common.js
CHANGED
|
@@ -71,6 +71,59 @@ export function name(cursor) {
|
|
|
71
71
|
export function description(cursor) {
|
|
72
72
|
return cursor.tag('p').limit(1);
|
|
73
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Build the five layout meta tags shared by all split-layout runes.
|
|
76
|
+
* Accepts the attrs object from a `SplitLayoutModel`-based schema and returns
|
|
77
|
+
* the meta Tag instances plus a convenience array of the non-undefined tags
|
|
78
|
+
* suitable for spreading into a children array.
|
|
79
|
+
*/
|
|
80
|
+
export function buildLayoutMetas(attrs) {
|
|
81
|
+
const layout = attrs.layout || 'stacked';
|
|
82
|
+
const ratio = attrs.ratio || '1 1';
|
|
83
|
+
const valign = attrs.valign || 'top';
|
|
84
|
+
const gap = attrs.gap || 'default';
|
|
85
|
+
const collapse = attrs.collapse;
|
|
86
|
+
const layoutMeta = new Markdoc.Tag('meta', { content: layout });
|
|
87
|
+
const ratioMeta = layout !== 'stacked' ? new Markdoc.Tag('meta', { content: ratio }) : undefined;
|
|
88
|
+
const valignMeta = layout !== 'stacked' ? new Markdoc.Tag('meta', { content: valign }) : undefined;
|
|
89
|
+
const gapMeta = gap !== 'default' ? new Markdoc.Tag('meta', { content: gap }) : undefined;
|
|
90
|
+
const collapseMeta = collapse ? new Markdoc.Tag('meta', { content: collapse }) : undefined;
|
|
91
|
+
const children = [layoutMeta];
|
|
92
|
+
if (ratioMeta)
|
|
93
|
+
children.push(ratioMeta);
|
|
94
|
+
if (valignMeta)
|
|
95
|
+
children.push(valignMeta);
|
|
96
|
+
if (gapMeta)
|
|
97
|
+
children.push(gapMeta);
|
|
98
|
+
if (collapseMeta)
|
|
99
|
+
children.push(collapseMeta);
|
|
100
|
+
return {
|
|
101
|
+
metas: { layout: layoutMeta, ratio: ratioMeta, valign: valignMeta, gap: gapMeta, collapse: collapseMeta },
|
|
102
|
+
children,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Extract a bare `<img>` tag from rendered media nodes.
|
|
107
|
+
*
|
|
108
|
+
* Markdoc wraps inline images in `<p><img .../></p>`. This utility walks
|
|
109
|
+
* the top-level nodes looking for either a bare `<img>` or an `<img>` nested
|
|
110
|
+
* inside a `<p>`, and returns the unwrapped tag.
|
|
111
|
+
*
|
|
112
|
+
* @returns The first `<img>` Tag found, or `undefined` if none exists.
|
|
113
|
+
*/
|
|
114
|
+
export function extractMediaImage(cursor) {
|
|
115
|
+
for (const node of cursor.toArray()) {
|
|
116
|
+
if (Markdoc.Tag.isTag(node) && node.name === 'img') {
|
|
117
|
+
return node;
|
|
118
|
+
}
|
|
119
|
+
if (Markdoc.Tag.isTag(node) && node.name === 'p') {
|
|
120
|
+
const img = node.children.find((c) => Markdoc.Tag.isTag(c) && c.name === 'img');
|
|
121
|
+
if (img)
|
|
122
|
+
return img;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return undefined;
|
|
126
|
+
}
|
|
74
127
|
export function pageSectionProperties(cursor) {
|
|
75
128
|
const nodes = cursor.nodes;
|
|
76
129
|
const isH = (n) => Markdoc.Tag.isTag(n) && /^h[1-6]$/.test(n.name);
|
package/dist/tags/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/tags/common.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/tags/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/tags/sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/tags/sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAqKvC,eAAO,MAAM,OAAO,gBAA6B,CAAC"}
|
package/dist/tags/sandbox.js
CHANGED
|
@@ -11,6 +11,7 @@ import Markdoc from '@markdoc/markdoc';
|
|
|
11
11
|
const { Tag } = Markdoc;
|
|
12
12
|
import { schema } from '../registry.js';
|
|
13
13
|
import { attribute, Model, createComponentRenderable, createSchema } from '../lib/index.js';
|
|
14
|
+
import { assembleFromDirectory, mergeContent } from '../sandbox-sources.js';
|
|
14
15
|
/** Strip common leading whitespace from all lines. */
|
|
15
16
|
function dedent(text) {
|
|
16
17
|
const lines = text.split('\n');
|
|
@@ -45,22 +46,61 @@ function extractDataSourcePanels(html) {
|
|
|
45
46
|
class SandboxModel extends Model {
|
|
46
47
|
constructor() {
|
|
47
48
|
super(...arguments);
|
|
49
|
+
this.src = '';
|
|
48
50
|
this.framework = '';
|
|
49
51
|
this.dependencies = '';
|
|
50
52
|
this.label = '';
|
|
51
53
|
this.context = 'default';
|
|
52
54
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
// This bypasses Markdoc HTML parsing entirely — Markdoc cannot
|
|
56
|
-
// reliably parse <style>, <script>, or block-level HTML elements
|
|
57
|
-
let rawContent = '';
|
|
55
|
+
/** Extract raw inline content from the markdown source using line ranges. */
|
|
56
|
+
extractInlineContent() {
|
|
58
57
|
const raw = this.config.variables?.__source;
|
|
59
58
|
if (typeof raw === 'string' && this.node.lines?.length >= 2) {
|
|
60
59
|
const allLines = raw.split('\n');
|
|
61
60
|
const start = this.node.lines[0] + 1;
|
|
62
61
|
const end = this.node.lines[this.node.lines.length - 1] - 1;
|
|
63
|
-
|
|
62
|
+
return allLines.slice(start, end).join('\n').trim();
|
|
63
|
+
}
|
|
64
|
+
return '';
|
|
65
|
+
}
|
|
66
|
+
transform() {
|
|
67
|
+
let rawContent = '';
|
|
68
|
+
let sourcePanels = [];
|
|
69
|
+
const readFile = this.config.variables?.__sandboxReadFile;
|
|
70
|
+
const listDir = this.config.variables?.__sandboxListDir;
|
|
71
|
+
const dirExists = this.config.variables?.__sandboxDirExists;
|
|
72
|
+
const examplesDir = this.config.variables?.__sandboxExamplesDir;
|
|
73
|
+
if (this.src && readFile && listDir && examplesDir) {
|
|
74
|
+
// Directory source mode
|
|
75
|
+
const dirPath = examplesDir.endsWith('/') ? examplesDir + this.src : examplesDir + '/' + this.src;
|
|
76
|
+
const result = assembleFromDirectory(dirPath, this.src, readFile, listDir, dirExists);
|
|
77
|
+
// If there are fatal errors, render an error message instead
|
|
78
|
+
if (result.errors.length > 0) {
|
|
79
|
+
rawContent = `<div data-source="HTML"><pre style="color:red;padding:1rem">${result.errors.join('\n')}</pre></div>`;
|
|
80
|
+
sourcePanels = [];
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
rawContent = result.content;
|
|
84
|
+
// Convert SandboxSourcePanels to local SourcePanels
|
|
85
|
+
sourcePanels = result.panels.map(p => ({
|
|
86
|
+
label: p.label,
|
|
87
|
+
language: p.language,
|
|
88
|
+
content: p.content,
|
|
89
|
+
origin: p.origin,
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
92
|
+
// Append inline content if any exists between the sandbox tags
|
|
93
|
+
const inlineContent = this.extractInlineContent();
|
|
94
|
+
if (inlineContent) {
|
|
95
|
+
rawContent = mergeContent(rawContent, inlineContent);
|
|
96
|
+
// Re-extract panels from merged content
|
|
97
|
+
sourcePanels = extractDataSourcePanels(rawContent);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
// Existing inline extraction
|
|
102
|
+
rawContent = this.extractInlineContent();
|
|
103
|
+
sourcePanels = extractDataSourcePanels(rawContent);
|
|
64
104
|
}
|
|
65
105
|
const contentMeta = new Tag('meta', { content: rawContent });
|
|
66
106
|
const frameworkMeta = new Tag('meta', { content: this.framework });
|
|
@@ -72,13 +112,16 @@ class SandboxModel extends Model {
|
|
|
72
112
|
const fallbackPre = rawContent ? new Tag('pre', { 'data-language': 'html' }, [
|
|
73
113
|
new Tag('code', { 'data-language': 'html' }, [rawContent])
|
|
74
114
|
]) : undefined;
|
|
75
|
-
//
|
|
76
|
-
const sourcePanels = extractDataSourcePanels(rawContent);
|
|
115
|
+
// Source panels for server-side syntax highlighting
|
|
77
116
|
const panelNodes = sourcePanels.map(panel => {
|
|
78
117
|
const pre = new Tag('pre', { 'data-language': panel.language }, [
|
|
79
118
|
new Tag('code', { 'data-language': panel.language }, [panel.content])
|
|
80
119
|
]);
|
|
81
|
-
return new Tag('meta', {
|
|
120
|
+
return new Tag('meta', {
|
|
121
|
+
'data-field': 'source-panel',
|
|
122
|
+
'data-label': panel.label,
|
|
123
|
+
...(panel.origin ? { 'data-origin': panel.origin } : {}),
|
|
124
|
+
}, [pre]);
|
|
82
125
|
});
|
|
83
126
|
const childNodes = [
|
|
84
127
|
contentMeta,
|
|
@@ -104,6 +147,10 @@ class SandboxModel extends Model {
|
|
|
104
147
|
});
|
|
105
148
|
}
|
|
106
149
|
}
|
|
150
|
+
__decorate([
|
|
151
|
+
attribute({ type: String, required: false, description: 'Directory containing external source files' }),
|
|
152
|
+
__metadata("design:type", String)
|
|
153
|
+
], SandboxModel.prototype, "src", void 0);
|
|
107
154
|
__decorate([
|
|
108
155
|
attribute({ type: String, required: false, description: 'JavaScript framework for the sandbox' }),
|
|
109
156
|
__metadata("design:type", String)
|