@commentray/render 0.1.0 → 0.1.2

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 (59) hide show
  1. package/dist/block-stretch-layout.d.ts.map +1 -1
  2. package/dist/block-stretch-layout.js +2 -1
  3. package/dist/block-stretch-layout.js.map +1 -1
  4. package/dist/browse-page-slug.d.ts +6 -1
  5. package/dist/browse-page-slug.d.ts.map +1 -1
  6. package/dist/browse-page-slug.js +6 -1
  7. package/dist/browse-page-slug.js.map +1 -1
  8. package/dist/browse-pair-html-test-fixtures.d.ts +10 -0
  9. package/dist/browse-pair-html-test-fixtures.d.ts.map +1 -0
  10. package/dist/browse-pair-html-test-fixtures.js +19 -0
  11. package/dist/browse-pair-html-test-fixtures.js.map +1 -0
  12. package/dist/build-commentray-nav-search.d.ts +4 -4
  13. package/dist/build-commentray-nav-search.js +1 -1
  14. package/dist/code-browser-block-rays.d.ts +29 -0
  15. package/dist/code-browser-block-rays.d.ts.map +1 -1
  16. package/dist/code-browser-block-rays.js +120 -0
  17. package/dist/code-browser-block-rays.js.map +1 -1
  18. package/dist/code-browser-client.bundle.js +11 -11
  19. package/dist/code-browser-client.js +80 -27
  20. package/dist/code-browser-client.js.map +1 -1
  21. package/dist/code-browser-pair-nav.d.ts +3 -3
  22. package/dist/code-browser-pair-nav.d.ts.map +1 -1
  23. package/dist/code-browser-pair-nav.js +25 -13
  24. package/dist/code-browser-pair-nav.js.map +1 -1
  25. package/dist/code-browser.d.ts +18 -4
  26. package/dist/code-browser.d.ts.map +1 -1
  27. package/dist/code-browser.js +66 -269
  28. package/dist/code-browser.js.map +1 -1
  29. package/dist/commentray-anchor-viewport-probe.d.ts +9 -0
  30. package/dist/commentray-anchor-viewport-probe.d.ts.map +1 -0
  31. package/dist/commentray-anchor-viewport-probe.js +13 -0
  32. package/dist/commentray-anchor-viewport-probe.js.map +1 -0
  33. package/dist/commentray-preview-html.d.ts +13 -0
  34. package/dist/commentray-preview-html.d.ts.map +1 -0
  35. package/dist/commentray-preview-html.js +12 -0
  36. package/dist/commentray-preview-html.js.map +1 -0
  37. package/dist/companion-markdown-preview-entry.d.ts +7 -0
  38. package/dist/companion-markdown-preview-entry.d.ts.map +1 -0
  39. package/dist/companion-markdown-preview-entry.js +6 -0
  40. package/dist/companion-markdown-preview-entry.js.map +1 -0
  41. package/dist/index.d.ts +2 -0
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +2 -0
  44. package/dist/index.js.map +1 -1
  45. package/dist/inject-md-line-anchors.d.ts +18 -0
  46. package/dist/inject-md-line-anchors.d.ts.map +1 -0
  47. package/dist/inject-md-line-anchors.js +250 -0
  48. package/dist/inject-md-line-anchors.js.map +1 -0
  49. package/dist/inline-favicon.js +15 -15
  50. package/dist/markdown-pipeline.d.ts +5 -0
  51. package/dist/markdown-pipeline.d.ts.map +1 -1
  52. package/dist/markdown-pipeline.js +40 -0
  53. package/dist/markdown-pipeline.js.map +1 -1
  54. package/package.json +6 -2
  55. package/dist/side-by-side-layout.css +0 -58
  56. package/dist/side-by-side-layout.embedded.d.ts +0 -3
  57. package/dist/side-by-side-layout.embedded.d.ts.map +0 -1
  58. package/dist/side-by-side-layout.embedded.js +0 -3
  59. package/dist/side-by-side-layout.embedded.js.map +0 -1
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Pure helper: max `line0` among anchors whose layout top is at or above viewport probe `y`.
3
+ * Mirrors {@link bestCommentrayAnchorLine0AtOrAboveY} in `code-browser-client.ts` for tests.
4
+ */
5
+ export declare function maxCommentrayAnchorLine0AtOrAboveViewportY(readings: ReadonlyArray<{
6
+ line0: number;
7
+ top: number;
8
+ }>, y: number): number;
9
+ //# sourceMappingURL=commentray-anchor-viewport-probe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commentray-anchor-viewport-probe.d.ts","sourceRoot":"","sources":["../src/commentray-anchor-viewport-probe.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,0CAA0C,CACxD,QAAQ,EAAE,aAAa,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,EACvD,CAAC,EAAE,MAAM,GACR,MAAM,CAMR"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Pure helper: max `line0` among anchors whose layout top is at or above viewport probe `y`.
3
+ * Mirrors {@link bestCommentrayAnchorLine0AtOrAboveY} in `code-browser-client.ts` for tests.
4
+ */
5
+ export function maxCommentrayAnchorLine0AtOrAboveViewportY(readings, y) {
6
+ let best = 0;
7
+ for (const { line0, top } of readings) {
8
+ if (top <= y + 1 + 1e-3)
9
+ best = Math.max(best, line0);
10
+ }
11
+ return best;
12
+ }
13
+ //# sourceMappingURL=commentray-anchor-viewport-probe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commentray-anchor-viewport-probe.js","sourceRoot":"","sources":["../src/commentray-anchor-viewport-probe.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,0CAA0C,CACxD,QAAuD,EACvD,CAAS;IAET,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;QACtC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI;YAAE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { BlockScrollLink } from "@commentray/core";
2
+ import { type MarkdownPipelineOptions } from "./markdown-pipeline.js";
3
+ export type RenderCommentrayPreviewHtmlArgs = {
4
+ markdown: string;
5
+ blockScrollLinks?: BlockScrollLink[];
6
+ pipeline?: MarkdownPipelineOptions;
7
+ };
8
+ /**
9
+ * Renders companion Markdown the same way as static pages: injects per-line / block anchors (for
10
+ * scroll sync), then runs the shared remark/rehype pipeline.
11
+ */
12
+ export declare function renderCommentrayPreviewHtml(args: RenderCommentrayPreviewHtmlArgs): Promise<string>;
13
+ //# sourceMappingURL=commentray-preview-html.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commentray-preview-html.d.ts","sourceRoot":"","sources":["../src/commentray-preview-html.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxD,OAAO,EAAwB,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAE5F,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,QAAQ,CAAC,EAAE,uBAAuB,CAAC;CACpC,CAAC;AAEF;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,+BAA+B,GACpC,OAAO,CAAC,MAAM,CAAC,CAIjB"}
@@ -0,0 +1,12 @@
1
+ import { injectCommentrayDocAnchors } from "./inject-md-line-anchors.js";
2
+ import { renderMarkdownToHtml } from "./markdown-pipeline.js";
3
+ /**
4
+ * Renders companion Markdown the same way as static pages: injects per-line / block anchors (for
5
+ * scroll sync), then runs the shared remark/rehype pipeline.
6
+ */
7
+ export async function renderCommentrayPreviewHtml(args) {
8
+ const links = args.blockScrollLinks?.length ? args.blockScrollLinks : undefined;
9
+ const prepared = injectCommentrayDocAnchors(args.markdown, links);
10
+ return renderMarkdownToHtml(prepared, args.pipeline);
11
+ }
12
+ //# sourceMappingURL=commentray-preview-html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commentray-preview-html.js","sourceRoot":"","sources":["../src/commentray-preview-html.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAgC,MAAM,wBAAwB,CAAC;AAQ5F;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,IAAqC;IAErC,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,MAAM,QAAQ,GAAG,0BAA0B,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClE,OAAO,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AACvD,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Narrow entry for embedders that only need companion Markdown → HTML (same pipeline as static
3
+ * pages) without pulling in the full code-browser shell, search UI, or other site chrome.
4
+ */
5
+ export { renderCommentrayPreviewHtml, type RenderCommentrayPreviewHtmlArgs, } from "./commentray-preview-html.js";
6
+ export type { CommentrayOutputUrlOptions, MarkdownPipelineOptions } from "./markdown-pipeline.js";
7
+ //# sourceMappingURL=companion-markdown-preview-entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"companion-markdown-preview-entry.d.ts","sourceRoot":"","sources":["../src/companion-markdown-preview-entry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,2BAA2B,EAC3B,KAAK,+BAA+B,GACrC,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Narrow entry for embedders that only need companion Markdown → HTML (same pipeline as static
3
+ * pages) without pulling in the full code-browser shell, search UI, or other site chrome.
4
+ */
5
+ export { renderCommentrayPreviewHtml, } from "./commentray-preview-html.js";
6
+ //# sourceMappingURL=companion-markdown-preview-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"companion-markdown-preview-entry.js","sourceRoot":"","sources":["../src/companion-markdown-preview-entry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,2BAA2B,GAE5B,MAAM,8BAA8B,CAAC"}
package/dist/index.d.ts CHANGED
@@ -3,6 +3,8 @@ export type { CodeBrowserMultiAngleBrowsing, CodeBrowserMultiAngleSpec, CodeBrow
3
3
  export { commentrayRenderVersion } from "./package-version.js";
4
4
  export type { CommentrayOutputUrlOptions, CommentrayStaticAssetCopy, MarkdownPipelineOptions, } from "./markdown-pipeline.js";
5
5
  export { COMMENTRAY_STATIC_COMPANION_ASSETS_SEGMENT, renderFencedCode, renderMarkdownToHtml, } from "./markdown-pipeline.js";
6
+ export { renderCommentrayPreviewHtml, type RenderCommentrayPreviewHtmlArgs, } from "./commentray-preview-html.js";
7
+ export { injectCommentrayDocAnchors, injectSourceMarkdownAnchors, } from "./inject-md-line-anchors.js";
6
8
  export { renderSideBySideHtml } from "./side-by-side.js";
7
9
  export type { SideBySideOptions } from "./side-by-side.js";
8
10
  export { browsePageSlugFromPair } from "./browse-page-slug.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EACV,6BAA6B,EAC7B,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,0CAA0C,EAC1C,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EACL,gCAAgC,EAChC,oCAAoC,GACrC,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,gCAAgC,EAChC,sCAAsC,EACtC,2BAA2B,EAC3B,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EACV,6BAA6B,EAC7B,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,0CAA0C,EAC1C,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,2BAA2B,EAC3B,KAAK,+BAA+B,GACrC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EACL,gCAAgC,EAChC,oCAAoC,GACrC,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,gCAAgC,EAChC,sCAAsC,EACtC,2BAA2B,EAC3B,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,kCAAkC,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,8 @@
1
1
  export { renderCodeBrowserHtml } from "./code-browser.js";
2
2
  export { commentrayRenderVersion } from "./package-version.js";
3
3
  export { COMMENTRAY_STATIC_COMPANION_ASSETS_SEGMENT, renderFencedCode, renderMarkdownToHtml, } from "./markdown-pipeline.js";
4
+ export { renderCommentrayPreviewHtml, } from "./commentray-preview-html.js";
5
+ export { injectCommentrayDocAnchors, injectSourceMarkdownAnchors, } from "./inject-md-line-anchors.js";
4
6
  export { renderSideBySideHtml } from "./side-by-side.js";
5
7
  export { browsePageSlugFromPair } from "./browse-page-slug.js";
6
8
  export { buildCommentrayNavSearchDocument, COMMENTRAY_NAV_SEARCH_SCHEMA_VERSION, } from "./build-commentray-nav-search.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAM1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAM/D,OAAO,EACL,0CAA0C,EAC1C,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EACL,gCAAgC,EAChC,oCAAoC,GACrC,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAM1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAM/D,OAAO,EACL,0CAA0C,EAC1C,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,2BAA2B,GAE5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EACL,gCAAgC,EAChC,oCAAoC,GACrC,MAAM,kCAAkC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { type BlockScrollLink } from "@commentray/core";
2
+ /**
3
+ * Inserts per-line anchors for search / hash jumps and block separator anchors after each
4
+ * `<!-- commentray:block … -->` line (optional index attrs).
5
+ *
6
+ * Anchors are appended to the line when safe. A **leading** `<span>` breaks CommonMark block
7
+ * recognition (`#` headings, lists, thematic breaks, fences). Fenced code lines must not get a
8
+ * trailing anchor either (would corrupt fence delimiters or appear inside code). **GFM pipe
9
+ * tables** must not get a trailing anchor: extra HTML after the row breaks `remark-gfm` table
10
+ * detection, so tables would render as plain text.
11
+ */
12
+ export declare function injectCommentrayDocAnchors(markdown: string, links?: BlockScrollLink[]): string;
13
+ /**
14
+ * Adds stable source-line anchors (`id="code-line-N"`) to Markdown so rendered-source mode can
15
+ * preserve block-aware scroll sync and block ray geometry.
16
+ */
17
+ export declare function injectSourceMarkdownAnchors(markdown: string): string;
18
+ //# sourceMappingURL=inject-md-line-anchors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject-md-line-anchors.d.ts","sourceRoot":"","sources":["../src/inject-md-line-anchors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAyKxE;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,eAAe,EAAE,GAAG,MAAM,CA8D9F;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA6BpE"}
@@ -0,0 +1,250 @@
1
+ import { MARKER_ID_BODY } from "@commentray/core";
2
+ import { escapeHtml } from "./html-utils.js";
3
+ /** Single capture: marker id (avoid a wrapping group around the whole comment — that shifted indices). */
4
+ const BLOCK_MARKER_HTML_LINE = new RegExp(`^<!--\\s*commentray:block\\s+id=(${MARKER_ID_BODY})\\s*-->$`, "i");
5
+ const PAGE_BREAK_MARKER_HTML_LINE = /^<!--\s*commentray:page-break\s*-->$/i;
6
+ function trimEndSpacesTabs(s) {
7
+ let end = s.length;
8
+ while (end > 0) {
9
+ const c = s[end - 1];
10
+ if (c !== " " && c !== "\t")
11
+ break;
12
+ end--;
13
+ }
14
+ return s.slice(0, end);
15
+ }
16
+ function isSetextUnderlineLine(line) {
17
+ const t = trimEndSpacesTabs(line);
18
+ return /^\s{0,3}=+\s*$/.test(t) || /^\s{0,3}-+\s*$/.test(t);
19
+ }
20
+ function isThematicBreakLine(line) {
21
+ const t = trimEndSpacesTabs(line);
22
+ return (/^\s{0,3}(?:\*[ \t]*){3,}\s*$/.test(t) ||
23
+ /^\s{0,3}(?:-[ \t]*){3,}\s*$/.test(t) ||
24
+ /^\s{0,3}(?:_[ \t]*){3,}\s*$/.test(t));
25
+ }
26
+ function parseFenceDelimiter(line) {
27
+ const t = trimEndSpacesTabs(line);
28
+ const m = /^(\s{0,3})(`{3,}|~{3,})(.*)$/.exec(t);
29
+ if (!m)
30
+ return null;
31
+ const run = m[2];
32
+ const head = run[0];
33
+ if (head !== "`" && head !== "~")
34
+ return null;
35
+ const ch = head === "`" ? "`" : "~";
36
+ return { ch, runLen: run.length, rest: m[3] ?? "" };
37
+ }
38
+ function isClosingFenceLine(info, open) {
39
+ if (info.ch !== open.ch || info.runLen < open.len)
40
+ return false;
41
+ return info.rest.trim() === "";
42
+ }
43
+ /**
44
+ * GFM delimiter row: cells between pipes contain only colons, hyphens, and spaces; each cell has
45
+ * at least three hyphens (same rule remark-gfm uses). Used so we do not append raw HTML to table
46
+ * lines — trailing `<span>` breaks GFM table recognition in the Markdown parser.
47
+ */
48
+ function isGfmTableDelimiterRow(line) {
49
+ const t = trimEndSpacesTabs(line);
50
+ if (!t.includes("|"))
51
+ return false;
52
+ const cells = t
53
+ .split("|")
54
+ .map((s) => s.trim())
55
+ .filter((s) => s.length > 0);
56
+ if (cells.length === 0)
57
+ return false;
58
+ for (const cell of cells) {
59
+ if (!/^:?-{3,}:?$/.test(cell))
60
+ return false;
61
+ }
62
+ return true;
63
+ }
64
+ /**
65
+ * 0-based line indices that must not receive a trailing line-anchor span: they belong to a GFM
66
+ * table (header + delimiter + following rows until a blank line). Scans full `lines` so indices
67
+ * align with {@link injectCommentrayDocAnchors}; lines inside fenced code are harmless to mark
68
+ * because that pass never appends anchors there anyway.
69
+ */
70
+ function gfmTableLineIndicesWithoutAnchors(lines) {
71
+ const skip = new Set();
72
+ const n = lines.length;
73
+ for (let i = 0; i < n - 1; i++) {
74
+ const header = lines[i] ?? "";
75
+ const delim = lines[i + 1] ?? "";
76
+ if (header === "")
77
+ continue;
78
+ if (!trimEndSpacesTabs(header).includes("|"))
79
+ continue;
80
+ if (isSetextUnderlineLine(header) || isThematicBreakLine(header))
81
+ continue;
82
+ if (!isGfmTableDelimiterRow(delim))
83
+ continue;
84
+ skip.add(i);
85
+ skip.add(i + 1);
86
+ let j = i + 2;
87
+ while (j < n) {
88
+ const row = lines[j] ?? "";
89
+ if (row === "")
90
+ break;
91
+ if (isSetextUnderlineLine(row) || isThematicBreakLine(row))
92
+ break;
93
+ if (isGfmTableDelimiterRow(row))
94
+ break;
95
+ skip.add(j);
96
+ j++;
97
+ }
98
+ }
99
+ return skip;
100
+ }
101
+ function lineAnchorHtml(mdLine0) {
102
+ const mdLine = String(mdLine0);
103
+ return `<span class="commentray-line-anchor" data-commentray-md-line="${mdLine}" id="commentray-md-line-${mdLine}" aria-hidden="true"></span>`;
104
+ }
105
+ function sourceLineAnchorHtml(line0) {
106
+ const s = String(line0);
107
+ return `<span class="commentray-line-anchor commentray-line-anchor--source" data-source-md-line="${s}" id="code-md-line-${s}" aria-hidden="true"></span>`;
108
+ }
109
+ function appendMdLineAnchorWhenAllowed(line, mdLine0) {
110
+ if (isSetextUnderlineLine(line) || isThematicBreakLine(line))
111
+ return line;
112
+ /** Blank lines must stay blank: a line that is only `<span …>` breaks CommonMark HTML / paragraph starts after block markers. */
113
+ if (line === "")
114
+ return "";
115
+ return `${line}${lineAnchorHtml(mdLine0)}`;
116
+ }
117
+ function appendSourceMdLineAnchorWhenAllowed(line, line0) {
118
+ if (isSetextUnderlineLine(line) || isThematicBreakLine(line))
119
+ return line;
120
+ if (line === "")
121
+ return "";
122
+ return `${line}${sourceLineAnchorHtml(line0)}`;
123
+ }
124
+ function pageBreakNextBlockMetaByLine(lines, byId) {
125
+ const out = new Map();
126
+ let nextMeta = null;
127
+ for (let i = lines.length - 1; i >= 0; i--) {
128
+ const line = lines[i] ?? "";
129
+ const blockMatch = BLOCK_MARKER_HTML_LINE.exec(line);
130
+ if (blockMatch?.[1]) {
131
+ const id = blockMatch[1];
132
+ const sourceStart = byId?.get(id)?.sourceStart;
133
+ nextMeta =
134
+ sourceStart !== undefined ? { commentrayLine: i, sourceStart } : { commentrayLine: i };
135
+ continue;
136
+ }
137
+ if (!PAGE_BREAK_MARKER_HTML_LINE.test(line) || nextMeta === null)
138
+ continue;
139
+ out.set(i, nextMeta);
140
+ }
141
+ return out;
142
+ }
143
+ function blockAnchorAttrs(link) {
144
+ if (link === undefined)
145
+ return "";
146
+ return ` data-source-start="${String(link.sourceStart)}" data-commentray-line="${String(link.commentrayLine)}"`;
147
+ }
148
+ function pageBreakNextAttrs(next) {
149
+ if (next === undefined)
150
+ return "";
151
+ const nextCommentrayAttr = ` data-next-commentray-line="${String(next.commentrayLine)}"`;
152
+ const nextSourceAttr = next.sourceStart !== undefined ? ` data-next-source-start="${String(next.sourceStart)}"` : "";
153
+ return `${nextCommentrayAttr}${nextSourceAttr}`;
154
+ }
155
+ /**
156
+ * Inserts per-line anchors for search / hash jumps and block separator anchors after each
157
+ * `<!-- commentray:block … -->` line (optional index attrs).
158
+ *
159
+ * Anchors are appended to the line when safe. A **leading** `<span>` breaks CommonMark block
160
+ * recognition (`#` headings, lists, thematic breaks, fences). Fenced code lines must not get a
161
+ * trailing anchor either (would corrupt fence delimiters or appear inside code). **GFM pipe
162
+ * tables** must not get a trailing anchor: extra HTML after the row breaks `remark-gfm` table
163
+ * detection, so tables would render as plain text.
164
+ */
165
+ export function injectCommentrayDocAnchors(markdown, links) {
166
+ const byId = links ? new Map(links.map((l) => [l.id, l])) : undefined;
167
+ const lines = markdown.split("\n");
168
+ const pageBreakNextByLine = pageBreakNextBlockMetaByLine(lines, byId);
169
+ const skipLineAnchor = gfmTableLineIndicesWithoutAnchors(lines);
170
+ let fence = null;
171
+ const out = [];
172
+ for (let i = 0; i < lines.length; i++) {
173
+ const line = lines[i];
174
+ const delim = parseFenceDelimiter(line);
175
+ if (fence) {
176
+ if (delim && isClosingFenceLine(delim, fence)) {
177
+ fence = null;
178
+ out.push(line);
179
+ continue;
180
+ }
181
+ out.push(line);
182
+ continue;
183
+ }
184
+ if (delim) {
185
+ fence = { ch: delim.ch, len: delim.runLen };
186
+ out.push(line);
187
+ continue;
188
+ }
189
+ const m = BLOCK_MARKER_HTML_LINE.exec(line);
190
+ if (m?.[1]) {
191
+ const id = m[1];
192
+ const attrs = blockAnchorAttrs(byId?.get(id));
193
+ /** One `push` with embedded `\n\n` merged poorly with `join("\\n")`; keep real blank lines around raw `<div>`. */
194
+ out.push(`${line}${lineAnchorHtml(i)}`);
195
+ out.push("");
196
+ out.push(`<div id="commentray-block-${escapeHtml(id)}" class="commentray-block-anchor" aria-hidden="true"${attrs}></div>`);
197
+ out.push("");
198
+ continue;
199
+ }
200
+ if (PAGE_BREAK_MARKER_HTML_LINE.test(line)) {
201
+ const nextAttrs = pageBreakNextAttrs(pageBreakNextByLine.get(i));
202
+ out.push(`${line}${lineAnchorHtml(i)}`);
203
+ out.push("");
204
+ out.push(`<div class="commentray-page-break" data-commentray-page-break="true"${nextAttrs} aria-hidden="true"><div class="commentray-page-break__rule"></div></div>`);
205
+ out.push("");
206
+ continue;
207
+ }
208
+ if (skipLineAnchor.has(i)) {
209
+ out.push(line);
210
+ continue;
211
+ }
212
+ out.push(appendMdLineAnchorWhenAllowed(line, i));
213
+ }
214
+ return out.join("\n");
215
+ }
216
+ /**
217
+ * Adds stable source-line anchors (`id="code-line-N"`) to Markdown so rendered-source mode can
218
+ * preserve block-aware scroll sync and block ray geometry.
219
+ */
220
+ export function injectSourceMarkdownAnchors(markdown) {
221
+ const lines = markdown.split("\n");
222
+ const skipLineAnchor = gfmTableLineIndicesWithoutAnchors(lines);
223
+ let fence = null;
224
+ const out = [];
225
+ for (let i = 0; i < lines.length; i++) {
226
+ const line = lines[i] ?? "";
227
+ const delim = parseFenceDelimiter(line);
228
+ if (fence) {
229
+ if (delim && isClosingFenceLine(delim, fence)) {
230
+ fence = null;
231
+ out.push(line);
232
+ continue;
233
+ }
234
+ out.push(line);
235
+ continue;
236
+ }
237
+ if (delim) {
238
+ fence = { ch: delim.ch, len: delim.runLen };
239
+ out.push(line);
240
+ continue;
241
+ }
242
+ if (skipLineAnchor.has(i)) {
243
+ out.push(line);
244
+ continue;
245
+ }
246
+ out.push(appendSourceMdLineAnchorWhenAllowed(line, i));
247
+ }
248
+ return out.join("\n");
249
+ }
250
+ //# sourceMappingURL=inject-md-line-anchors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject-md-line-anchors.js","sourceRoot":"","sources":["../src/inject-md-line-anchors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAwB,MAAM,kBAAkB,CAAC;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,0GAA0G;AAC1G,MAAM,sBAAsB,GAAG,IAAI,MAAM,CACvC,oCAAoC,cAAc,WAAW,EAC7D,GAAG,CACJ,CAAC;AACF,MAAM,2BAA2B,GAAG,uCAAuC,CAAC;AAE5E,SAAS,iBAAiB,CAAC,CAAS;IAClC,IAAI,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;IACnB,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI;YAAE,MAAM;QACnC,GAAG,EAAE,CAAC;IACR,CAAC;IACD,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,MAAM,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,CACL,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC;QACrC,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,CACtC,CAAC;AACJ,CAAC;AAID,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjD,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,EAAE,GAAc,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/C,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAyD,EACzD,IAAgB;IAEhB,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IAChE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,IAAY;IAC1C,MAAM,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,KAAK,GAAG,CAAC;SACZ,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;IAC9C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,iCAAiC,CAAC,KAAe;IACxD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,MAAM,KAAK,EAAE;YAAE,SAAS;QAC5B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QACvD,IAAI,qBAAqB,CAAC,MAAM,CAAC,IAAI,mBAAmB,CAAC,MAAM,CAAC;YAAE,SAAS;QAC3E,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;YAAE,SAAS;QAC7C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACZ,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,GAAG,KAAK,EAAE;gBAAE,MAAM;YACtB,IAAI,qBAAqB,CAAC,GAAG,CAAC,IAAI,mBAAmB,CAAC,GAAG,CAAC;gBAAE,MAAM;YAClE,IAAI,sBAAsB,CAAC,GAAG,CAAC;gBAAE,MAAM;YACvC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACZ,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,OAAe;IACrC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,OAAO,iEAAiE,MAAM,4BAA4B,MAAM,8BAA8B,CAAC;AACjJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACxB,OAAO,4FAA4F,CAAC,sBAAsB,CAAC,8BAA8B,CAAC;AAC5J,CAAC;AAED,SAAS,6BAA6B,CAAC,IAAY,EAAE,OAAe;IAClE,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1E,iIAAiI;IACjI,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAC3B,OAAO,GAAG,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;AAC7C,CAAC;AAED,SAAS,mCAAmC,CAAC,IAAY,EAAE,KAAa;IACtE,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1E,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAC3B,OAAO,GAAG,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;AACjD,CAAC;AAOD,SAAS,4BAA4B,CACnC,KAAe,EACf,IAAmC;IAEnC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkC,CAAC;IACtD,IAAI,QAAQ,GAAkC,IAAI,CAAC;IACnD,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpB,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,WAAW,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC;YAC/C,QAAQ;gBACN,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;YACzF,SAAS;QACX,CAAC;QACD,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,KAAK,IAAI;YAAE,SAAS;QAC3E,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAiC;IACzD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAClC,OAAO,uBAAuB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,2BAA2B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;AAClH,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAwC;IAClE,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAClC,MAAM,kBAAkB,GAAG,+BAA+B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;IACzF,MAAM,cAAc,GAClB,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,4BAA4B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAChG,OAAO,GAAG,kBAAkB,GAAG,cAAc,EAAE,CAAC;AAClD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAAgB,EAAE,KAAyB;IACpF,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,mBAAmB,GAAG,4BAA4B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACtE,MAAM,cAAc,GAAG,iCAAiC,CAAC,KAAK,CAAC,CAAC;IAChE,IAAI,KAAK,GAAsB,IAAI,CAAC;IACpC,MAAM,GAAG,GAAa,EAAE,CAAC;IAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtB,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,KAAK,IAAI,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC9C,KAAK,GAAG,IAAI,CAAC;gBACb,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACf,SAAS;YACX,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,SAAS;QACX,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;YAC5C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,SAAS;QACX,CAAC;QAED,MAAM,CAAC,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACX,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAChB,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9C,kHAAkH;YAClH,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACxC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,GAAG,CAAC,IAAI,CACN,6BAA6B,UAAU,CAAC,EAAE,CAAC,uDAAuD,KAAK,SAAS,CACjH,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,SAAS;QACX,CAAC;QAED,IAAI,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACxC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,GAAG,CAAC,IAAI,CACN,uEAAuE,SAAS,2EAA2E,CAC5J,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,SAAS;QACX,CAAC;QAED,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,SAAS;QACX,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,QAAgB;IAC1D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,cAAc,GAAG,iCAAiC,CAAC,KAAK,CAAC,CAAC;IAChE,IAAI,KAAK,GAAsB,IAAI,CAAC;IACpC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,KAAK,IAAI,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC9C,KAAK,GAAG,IAAI,CAAC;gBACb,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACf,SAAS;YACX,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,SAAS;QACX,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;YAC5C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,SAAS;QACX,CAAC;QACD,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,SAAS;QACX,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,mCAAmC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC"}
@@ -3,23 +3,23 @@
3
3
  * Avoids relying on `/favicon.ico` (often missing under `_site/`) and works when the site is
4
4
  * served from a subpath on GitHub Pages.
5
5
  *
6
- * Geometry matches `docs/logos/1.svg` (film strip + speech bubble); keep in sync if the logo changes.
6
+ * Geometry / flat colors align with `docs/logos/2.svg` (and traced `docs/logos/2.png`).
7
7
  */
8
8
  const COMMENTRAY_LOGO_SVG_FAVICON = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img">' +
9
- '<rect x="7" y="13" width="31" height="41" rx="4" fill="#1e2937" stroke="#334155" stroke-width="3.5"/>' +
10
- '<rect x="12.5" y="18" width="10" height="7.5" fill="#475569"/>' +
11
- '<rect x="12.5" y="28.5" width="10" height="7.5" fill="#475569"/>' +
12
- '<rect x="12.5" y="39" width="10" height="7.5" fill="#475569"/>' +
13
- '<rect x="8.5" y="16.5" width="2.5" height="2.5" fill="#fbbf24"/>' +
14
- '<rect x="8.5" y="26" width="2.5" height="2.5" fill="#fbbf24"/>' +
15
- '<rect x="8.5" y="35.5" width="2.5" height="2.5" fill="#fbbf24"/>' +
16
- '<rect x="8.5" y="45" width="2.5" height="2.5" fill="#fbbf24"/>' +
17
- '<rect x="31" y="16.5" width="2.5" height="2.5" fill="#fbbf24"/>' +
18
- '<rect x="31" y="26" width="2.5" height="2.5" fill="#fbbf24"/>' +
19
- '<rect x="31" y="35.5" width="2.5" height="2.5" fill="#fbbf24"/>' +
20
- '<rect x="31" y="45" width="2.5" height="2.5" fill="#fbbf24"/>' +
21
- '<path d="M36 20 Q36 14.5 43 14.5 H57.5 Q63 14.5 63 20 V34 Q63 39 57.5 39 H48.5 L44 46 L43 39 Q36 39 36 34 Z" fill="#fcd34d" stroke="#1e2937" stroke-width="3.5"/>' +
22
- '<path d="M44 39 L46.5 44.5 L48.5 39 Z" fill="#fcd34d" stroke="#1e2937" stroke-width="3" stroke-linejoin="round"/>' +
9
+ '<rect x="7" y="13" width="31" height="41" rx="4" fill="#13203b" stroke="#13203b" stroke-width="3.5"/>' +
10
+ '<rect x="12.5" y="18" width="10" height="7.5" fill="#a6a7a6"/>' +
11
+ '<rect x="12.5" y="28.5" width="10" height="7.5" fill="#a6a7a6"/>' +
12
+ '<rect x="12.5" y="39" width="10" height="7.5" fill="#a6a7a6"/>' +
13
+ '<rect x="8.5" y="16.5" width="2.5" height="2.5" fill="#e8ba26"/>' +
14
+ '<rect x="8.5" y="26" width="2.5" height="2.5" fill="#e8ba26"/>' +
15
+ '<rect x="8.5" y="35.5" width="2.5" height="2.5" fill="#e8ba26"/>' +
16
+ '<rect x="8.5" y="45" width="2.5" height="2.5" fill="#e8ba26"/>' +
17
+ '<rect x="31" y="16.5" width="2.5" height="2.5" fill="#e8ba26"/>' +
18
+ '<rect x="31" y="26" width="2.5" height="2.5" fill="#e8ba26"/>' +
19
+ '<rect x="31" y="35.5" width="2.5" height="2.5" fill="#e8ba26"/>' +
20
+ '<rect x="31" y="45" width="2.5" height="2.5" fill="#e8ba26"/>' +
21
+ '<path d="M36 20 Q36 14.5 43 14.5 H57.5 Q63 14.5 63 20 V34 Q63 39 57.5 39 H48.5 L44 46 L43 39 Q36 39 36 34 Z" fill="#e8ba26" stroke="#13203b" stroke-width="3.5"/>' +
22
+ '<path d="M44 39 L46.5 44.5 L48.5 39 Z" fill="#e8ba26" stroke="#13203b" stroke-width="3" stroke-linejoin="round"/>' +
23
23
  "</svg>";
24
24
  export const COMMENTRAY_FAVICON_LINK_HTML = `<link rel="icon" href="data:image/svg+xml,${encodeURIComponent(COMMENTRAY_LOGO_SVG_FAVICON)}" />`;
25
25
  //# sourceMappingURL=inline-favicon.js.map
@@ -53,6 +53,11 @@ export type CommentrayOutputUrlOptions = {
53
53
  * image so the HTML writer can `copyFile` after render.
54
54
  */
55
55
  companionStaticAssetCopies?: CommentrayStaticAssetCopy[];
56
+ /**
57
+ * Optional prefix for local repo file links when static hosting does not serve the source tree.
58
+ * Supported forms: absolute `http(s)` URL prefix or absolute path prefix (`/...`).
59
+ */
60
+ sourceLinkPrefix?: string;
56
61
  };
57
62
  export type MarkdownPipelineOptions = {
58
63
  commentrayOutputUrls?: CommentrayOutputUrlOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-pipeline.d.ts","sourceRoot":"","sources":["../src/markdown-pipeline.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,0CAA0C,6BAA6B,CAAC;AAErF,MAAM,MAAM,yBAAyB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E,MAAM,MAAM,0BAA0B,GAAG;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,wBAAwB,EAAE,MAAM,CAAC;IACjC,mGAAmG;IACnG,cAAc,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,0BAA0B,CAAC,EAAE,yBAAyB,EAAE,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;CACnD,CAAC;AA0QF,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,MAAM,CAAC,CA6BjB;AAED,wBAAsB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7E"}
1
+ {"version":3,"file":"markdown-pipeline.d.ts","sourceRoot":"","sources":["../src/markdown-pipeline.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,0CAA0C,6BAA6B,CAAC;AAErF,MAAM,MAAM,yBAAyB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E,MAAM,MAAM,0BAA0B,GAAG;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,wBAAwB,EAAE,MAAM,CAAC;IACjC,mGAAmG;IACnG,cAAc,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,0BAA0B,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACzD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;CACnD,CAAC;AAgTF,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,MAAM,CAAC,CA6BjB;AAED,wBAAsB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7E"}
@@ -107,6 +107,37 @@ function isResolvedPathInsideRoot(resolvedAbs, rootAbs) {
107
107
  return false;
108
108
  return true;
109
109
  }
110
+ function normalizeSourceLinkPrefix(raw) {
111
+ const t = raw.trim();
112
+ if (t.length === 0)
113
+ return null;
114
+ if (t.startsWith("/"))
115
+ return t.replace(/\/+$/, "");
116
+ let u;
117
+ try {
118
+ u = new URL(t);
119
+ }
120
+ catch {
121
+ return null;
122
+ }
123
+ const proto = u.protocol.toLowerCase();
124
+ if (proto !== "http:" && proto !== "https:")
125
+ return null;
126
+ return t.replace(/\/+$/, "");
127
+ }
128
+ function prefixedSourceHref(prefix, repoRoot, resolvedAbs) {
129
+ const rel = path.relative(repoRoot, resolvedAbs);
130
+ if (rel.startsWith("..") || path.isAbsolute(rel))
131
+ return null;
132
+ const tail = rel
133
+ .split(path.sep)
134
+ .filter((seg) => seg.length > 0)
135
+ .map((seg) => encodeURIComponent(seg))
136
+ .join("/");
137
+ if (tail.length === 0)
138
+ return null;
139
+ return `${prefix}/${tail}`;
140
+ }
110
141
  function skipNonFilesystemLocalUrl(raw) {
111
142
  const t = raw.trim();
112
143
  return !t || t.startsWith("#") || /^[a-zA-Z][a-zA-Z0-9+.-]*:/i.test(t) || t.startsWith("//");
@@ -151,6 +182,7 @@ function rehypeCommentrayOutputUrls(ctx) {
151
182
  const htmlDir = path.dirname(path.resolve(ctx.htmlOutputFileAbs));
152
183
  const baseDir = path.resolve(ctx.markdownUrlBaseDirAbs);
153
184
  const siteRootAbs = ctx.staticSiteOutDirAbs ? path.resolve(ctx.staticSiteOutDirAbs) : null;
185
+ const sourceLinkPrefix = normalizeSourceLinkPrefix(ctx.sourceLinkPrefix ?? "");
154
186
  const mirrorCopies = ctx.companionStaticAssetCopies;
155
187
  const mirroredToAbs = new Set();
156
188
  function resolveTargetAbs(raw, tagName) {
@@ -170,6 +202,14 @@ function rehypeCommentrayOutputUrls(ctx) {
170
202
  const out = path.relative(htmlDir, targetAbsForUrl);
171
203
  if (path.isAbsolute(out))
172
204
  return null;
205
+ if (tagName === "a" &&
206
+ sourceLinkPrefix &&
207
+ siteRootAbs &&
208
+ !isResolvedPathInsideRoot(targetAbsForUrl, siteRootAbs)) {
209
+ const prefixed = prefixedSourceHref(sourceLinkPrefix, repoRoot, resolved);
210
+ if (prefixed)
211
+ return { relativeToHtml: prefixed };
212
+ }
173
213
  return { relativeToHtml: posixHref(out) };
174
214
  }
175
215
  return (tree) => {
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-pipeline.js","sourceRoot":"","sources":["../src/markdown-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown-pipeline.js","sourceRoot":"","sources":["../src/markdown-pipeline.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@commentray/render",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -14,6 +14,10 @@
14
14
  ".": {
15
15
  "types": "./dist/index.d.ts",
16
16
  "import": "./dist/index.js"
17
+ },
18
+ "./companion-markdown-preview": {
19
+ "types": "./dist/companion-markdown-preview-entry.d.ts",
20
+ "import": "./dist/companion-markdown-preview-entry.js"
17
21
  }
18
22
  },
19
23
  "files": [
@@ -25,7 +29,7 @@
25
29
  "clean": "rm -rf dist"
26
30
  },
27
31
  "dependencies": {
28
- "@commentray/core": "0.1.0",
32
+ "@commentray/core": "0.1.2",
29
33
  "@m31coding/fuzzy-search": "^2.0.0",
30
34
  "rehype-highlight": "^7.0.2",
31
35
  "rehype-raw": "^7.0.0",