@commentray/render 0.0.6 → 0.0.9

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 (52) hide show
  1. package/dist/code-browser-client.bundle.js +10 -10
  2. package/dist/code-browser-client.js +747 -104
  3. package/dist/code-browser-client.js.map +1 -1
  4. package/dist/code-browser-color-theme.d.ts +15 -0
  5. package/dist/code-browser-color-theme.d.ts.map +1 -0
  6. package/dist/code-browser-color-theme.js +73 -0
  7. package/dist/code-browser-color-theme.js.map +1 -0
  8. package/dist/code-browser-pair-nav.d.ts +8 -0
  9. package/dist/code-browser-pair-nav.d.ts.map +1 -1
  10. package/dist/code-browser-pair-nav.js +20 -2
  11. package/dist/code-browser-pair-nav.js.map +1 -1
  12. package/dist/code-browser-scroll-sync.js +1 -1
  13. package/dist/code-browser-scroll-sync.js.map +1 -1
  14. package/dist/code-browser.d.ts +2 -2
  15. package/dist/code-browser.d.ts.map +1 -1
  16. package/dist/code-browser.js +903 -228
  17. package/dist/code-browser.js.map +1 -1
  18. package/dist/hljs-stylesheet-themes.d.ts +13 -0
  19. package/dist/hljs-stylesheet-themes.d.ts.map +1 -0
  20. package/dist/hljs-stylesheet-themes.js +19 -0
  21. package/dist/hljs-stylesheet-themes.js.map +1 -0
  22. package/dist/index.d.ts +2 -2
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +1 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/inline-favicon.d.ts +2 -0
  27. package/dist/inline-favicon.d.ts.map +1 -0
  28. package/dist/inline-favicon.js +25 -0
  29. package/dist/inline-favicon.js.map +1 -0
  30. package/dist/markdown-pipeline.d.ts +40 -3
  31. package/dist/markdown-pipeline.d.ts.map +1 -1
  32. package/dist/markdown-pipeline.js +140 -24
  33. package/dist/markdown-pipeline.js.map +1 -1
  34. package/dist/mermaid-runtime-html.d.ts.map +1 -1
  35. package/dist/mermaid-runtime-html.js +10 -2
  36. package/dist/mermaid-runtime-html.js.map +1 -1
  37. package/dist/package-version.d.ts.map +1 -1
  38. package/dist/package-version.js +4 -4
  39. package/dist/package-version.js.map +1 -1
  40. package/dist/side-by-side-layout-css.d.ts +7 -0
  41. package/dist/side-by-side-layout-css.d.ts.map +1 -0
  42. package/dist/side-by-side-layout-css.js +65 -0
  43. package/dist/side-by-side-layout-css.js.map +1 -0
  44. package/dist/side-by-side-layout.css +58 -0
  45. package/dist/side-by-side-layout.embedded.d.ts +3 -0
  46. package/dist/side-by-side-layout.embedded.d.ts.map +1 -0
  47. package/dist/side-by-side-layout.embedded.js +3 -0
  48. package/dist/side-by-side-layout.embedded.js.map +1 -0
  49. package/dist/side-by-side.d.ts.map +1 -1
  50. package/dist/side-by-side.js +7 -12
  51. package/dist/side-by-side.js.map +1 -1
  52. package/package.json +2 -2
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Inline layout stylesheet for {@link renderSideBySideHtml}.
3
+ * Kept in TypeScript (not a separate `.css` + emit step) so `tsc` and the CLI’s
4
+ * bundled CJS build never depend on `import.meta.url` or filesystem layout.
5
+ */
6
+ export declare const SIDE_BY_SIDE_LAYOUT_CSS = ":root {\n color-scheme: light dark;\n}\n\nhtml {\n background: Canvas;\n color: CanvasText;\n}\n\nbody {\n margin: 0;\n font-family:\n system-ui,\n -apple-system,\n \"Segoe UI\",\n Roboto,\n sans-serif;\n background: Canvas;\n color: CanvasText;\n}\n\n.layout {\n display: grid;\n grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n min-height: 100vh;\n}\n\n.pane {\n overflow: auto;\n padding: 16px;\n border-right: 1px solid color-mix(in oklab, CanvasText 20%, Canvas);\n}\n\n.pane:last-child {\n border-right: none;\n}\n\n.pane h2 {\n margin-top: 0;\n font-size: 14px;\n letter-spacing: 0.02em;\n text-transform: uppercase;\n opacity: 0.8;\n}\n\npre {\n margin: 0;\n}\n\n.commentray {\n font-size: 15px;\n line-height: 1.45;\n}\n\n.commentray img {\n max-width: 100%;\n height: auto;\n}\n";
7
+ //# sourceMappingURL=side-by-side-layout-css.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"side-by-side-layout-css.d.ts","sourceRoot":"","sources":["../src/side-by-side-layout-css.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,u0BA0DnC,CAAC"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Inline layout stylesheet for {@link renderSideBySideHtml}.
3
+ * Kept in TypeScript (not a separate `.css` + emit step) so `tsc` and the CLI’s
4
+ * bundled CJS build never depend on `import.meta.url` or filesystem layout.
5
+ */
6
+ export const SIDE_BY_SIDE_LAYOUT_CSS = `:root {
7
+ color-scheme: light dark;
8
+ }
9
+
10
+ html {
11
+ background: Canvas;
12
+ color: CanvasText;
13
+ }
14
+
15
+ body {
16
+ margin: 0;
17
+ font-family:
18
+ system-ui,
19
+ -apple-system,
20
+ "Segoe UI",
21
+ Roboto,
22
+ sans-serif;
23
+ background: Canvas;
24
+ color: CanvasText;
25
+ }
26
+
27
+ .layout {
28
+ display: grid;
29
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
30
+ min-height: 100vh;
31
+ }
32
+
33
+ .pane {
34
+ overflow: auto;
35
+ padding: 16px;
36
+ border-right: 1px solid color-mix(in oklab, CanvasText 20%, Canvas);
37
+ }
38
+
39
+ .pane:last-child {
40
+ border-right: none;
41
+ }
42
+
43
+ .pane h2 {
44
+ margin-top: 0;
45
+ font-size: 14px;
46
+ letter-spacing: 0.02em;
47
+ text-transform: uppercase;
48
+ opacity: 0.8;
49
+ }
50
+
51
+ pre {
52
+ margin: 0;
53
+ }
54
+
55
+ .commentray {
56
+ font-size: 15px;
57
+ line-height: 1.45;
58
+ }
59
+
60
+ .commentray img {
61
+ max-width: 100%;
62
+ height: auto;
63
+ }
64
+ `;
65
+ //# sourceMappingURL=side-by-side-layout-css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"side-by-side-layout-css.js","sourceRoot":"","sources":["../src/side-by-side-layout-css.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DtC,CAAC"}
@@ -0,0 +1,58 @@
1
+ :root {
2
+ color-scheme: light dark;
3
+ }
4
+
5
+ html {
6
+ background: Canvas;
7
+ color: CanvasText;
8
+ }
9
+
10
+ body {
11
+ margin: 0;
12
+ font-family:
13
+ system-ui,
14
+ -apple-system,
15
+ "Segoe UI",
16
+ Roboto,
17
+ sans-serif;
18
+ background: Canvas;
19
+ color: CanvasText;
20
+ }
21
+
22
+ .layout {
23
+ display: grid;
24
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
25
+ min-height: 100vh;
26
+ }
27
+
28
+ .pane {
29
+ overflow: auto;
30
+ padding: 16px;
31
+ border-right: 1px solid color-mix(in oklab, CanvasText 20%, Canvas);
32
+ }
33
+
34
+ .pane:last-child {
35
+ border-right: none;
36
+ }
37
+
38
+ .pane h2 {
39
+ margin-top: 0;
40
+ font-size: 14px;
41
+ letter-spacing: 0.02em;
42
+ text-transform: uppercase;
43
+ opacity: 0.8;
44
+ }
45
+
46
+ pre {
47
+ margin: 0;
48
+ }
49
+
50
+ .commentray {
51
+ font-size: 15px;
52
+ line-height: 1.45;
53
+ }
54
+
55
+ .commentray img {
56
+ max-width: 100%;
57
+ height: auto;
58
+ }
@@ -0,0 +1,3 @@
1
+ /** Generated by scripts/emit-side-by-side-layout-embedded.mjs — do not edit. */
2
+ export declare const SIDE_BY_SIDE_LAYOUT_CSS_EMBEDDED: string;
3
+ //# sourceMappingURL=side-by-side-layout.embedded.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"side-by-side-layout.embedded.d.ts","sourceRoot":"","sources":["../src/side-by-side-layout.embedded.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,eAAO,MAAM,gCAAgC,EAAE,MAA60B,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Generated by scripts/emit-side-by-side-layout-embedded.mjs — do not edit. */
2
+ export const SIDE_BY_SIDE_LAYOUT_CSS_EMBEDDED = ":root {\n color-scheme: light dark;\n}\n\nhtml {\n background: Canvas;\n color: CanvasText;\n}\n\nbody {\n margin: 0;\n font-family:\n system-ui,\n -apple-system,\n \"Segoe UI\",\n Roboto,\n sans-serif;\n background: Canvas;\n color: CanvasText;\n}\n\n.layout {\n display: grid;\n grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n min-height: 100vh;\n}\n\n.pane {\n overflow: auto;\n padding: 16px;\n border-right: 1px solid color-mix(in oklab, CanvasText 20%, Canvas);\n}\n\n.pane:last-child {\n border-right: none;\n}\n\n.pane h2 {\n margin-top: 0;\n font-size: 14px;\n letter-spacing: 0.02em;\n text-transform: uppercase;\n opacity: 0.8;\n}\n\npre {\n margin: 0;\n}\n\n.commentray {\n font-size: 15px;\n line-height: 1.45;\n}\n\n.commentray img {\n max-width: 100%;\n height: auto;\n}\n";
3
+ //# sourceMappingURL=side-by-side-layout.embedded.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"side-by-side-layout.embedded.js","sourceRoot":"","sources":["../src/side-by-side-layout.embedded.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,MAAM,CAAC,MAAM,gCAAgC,GAAW,o0BAAo0B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"side-by-side.d.ts","sourceRoot":"","sources":["../src/side-by-side.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,0BAA0B,EAGhC,MAAM,wBAAwB,CAAC;AAGhC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gGAAgG;IAChG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gGAAgG;IAChG,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;CACnD,CAAC;AAEF,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAkDnF"}
1
+ {"version":3,"file":"side-by-side.d.ts","sourceRoot":"","sources":["../src/side-by-side.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,0BAA0B,EAGhC,MAAM,wBAAwB,CAAC;AAGhC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gGAAgG;IAChG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gGAAgG;IAChG,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;CACnD,CAAC;AAEF,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CA0CnF"}
@@ -1,4 +1,7 @@
1
1
  import { escapeHtml } from "./html-utils.js";
2
+ import { COMMENTRAY_FAVICON_LINK_HTML } from "./inline-favicon.js";
3
+ import { hljsStylesheetThemes } from "./hljs-stylesheet-themes.js";
4
+ import { SIDE_BY_SIDE_LAYOUT_CSS } from "./side-by-side-layout-css.js";
2
5
  import { renderFencedCode, renderMarkdownToHtml, } from "./markdown-pipeline.js";
3
6
  import { mermaidRuntimeScriptHtml } from "./mermaid-runtime-html.js";
4
7
  export async function renderSideBySideHtml(opts) {
@@ -11,27 +14,19 @@ export async function renderSideBySideHtml(opts) {
11
14
  ]);
12
15
  const mermaidScript = mermaidRuntimeScriptHtml(opts.includeMermaidRuntime);
13
16
  const title = opts.title ?? "Commentray";
14
- const hljs = opts.hljsTheme ?? "github";
15
- const hljsDark = opts.hljsTheme?.includes("dark") ? opts.hljsTheme : "github-dark";
17
+ const { hljsLight, hljsDark } = hljsStylesheetThemes(opts.hljsTheme);
16
18
  const hljsCdnBase = "https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.11.1/build/styles";
17
19
  return `<!doctype html>
18
20
  <html lang="en">
19
21
  <head>
20
22
  <meta charset="utf-8" />
21
23
  <meta name="viewport" content="width=device-width, initial-scale=1" />
24
+ ${COMMENTRAY_FAVICON_LINK_HTML}
22
25
  <title>${escapeHtml(title)}</title>
23
- <link rel="stylesheet" href="${hljsCdnBase}/${escapeHtml(hljs)}.min.css" media="(prefers-color-scheme: light)" />
26
+ <link rel="stylesheet" href="${hljsCdnBase}/${escapeHtml(hljsLight)}.min.css" media="(prefers-color-scheme: light)" />
24
27
  <link rel="stylesheet" href="${hljsCdnBase}/${escapeHtml(hljsDark)}.min.css" media="(prefers-color-scheme: dark)" />
25
28
  <style>
26
- :root { color-scheme: light dark; }
27
- body { margin: 0; font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; }
28
- .layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 100vh; }
29
- .pane { overflow: auto; padding: 16px; border-right: 1px solid color-mix(in oklab, CanvasText 20%, Canvas); }
30
- .pane:last-child { border-right: none; }
31
- .pane h2 { margin-top: 0; font-size: 14px; letter-spacing: 0.02em; text-transform: uppercase; opacity: 0.8; }
32
- pre { margin: 0; }
33
- .commentray { font-size: 15px; line-height: 1.45; }
34
- .commentray img { max-width: 100%; height: auto; }
29
+ ${SIDE_BY_SIDE_LAYOUT_CSS}
35
30
  </style>
36
31
  </head>
37
32
  <body>
@@ -1 +1 @@
1
- {"version":3,"file":"side-by-side.js","sourceRoot":"","sources":["../src/side-by-side.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAEL,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAkBrE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAuB;IAChE,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IACnE,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACnD,gBAAgB,CAAC,KAAK,CAAC;QACvB,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC5C,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,wBAAwB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAE3E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,YAAY,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC;IACnF,MAAM,WAAW,GAAG,0EAA0E,CAAC;IAE/F,OAAO;;;;;aAKI,UAAU,CAAC,KAAK,CAAC;mCACK,WAAW,IAAI,UAAU,CAAC,IAAI,CAAC;mCAC/B,WAAW,IAAI,UAAU,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;UAiB5D,QAAQ;;;;UAIR,cAAc;;;MAGlB,aAAa;;QAEX,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"side-by-side.js","sourceRoot":"","sources":["../src/side-by-side.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAEL,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAkBrE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAuB;IAChE,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IACnE,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACnD,gBAAgB,CAAC,KAAK,CAAC;QACvB,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC5C,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,wBAAwB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAE3E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,YAAY,CAAC;IACzC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,0EAA0E,CAAC;IAE/F,OAAO;;;;;MAKH,4BAA4B;aACrB,UAAU,CAAC,KAAK,CAAC;mCACK,WAAW,IAAI,UAAU,CAAC,SAAS,CAAC;mCACpC,WAAW,IAAI,UAAU,CAAC,QAAQ,CAAC;;EAEpE,uBAAuB;;;;;;;UAOf,QAAQ;;;;UAIR,cAAc;;;MAGlB,aAAa;;QAEX,CAAC;AACT,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@commentray/render",
3
- "version": "0.0.6",
3
+ "version": "0.0.9",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -25,7 +25,7 @@
25
25
  "clean": "rm -rf dist"
26
26
  },
27
27
  "dependencies": {
28
- "@commentray/core": "0.0.6",
28
+ "@commentray/core": "0.0.9",
29
29
  "@m31coding/fuzzy-search": "^2.0.0",
30
30
  "rehype-highlight": "^7.0.2",
31
31
  "rehype-raw": "^7.0.0",