@commentray/render 0.0.2 → 0.0.4

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 (47) hide show
  1. package/dist/block-stretch-layout.d.ts +30 -0
  2. package/dist/block-stretch-layout.d.ts.map +1 -0
  3. package/dist/block-stretch-layout.js +116 -0
  4. package/dist/block-stretch-layout.js.map +1 -0
  5. package/dist/build-commentray-nav-search.d.ts +52 -0
  6. package/dist/build-commentray-nav-search.d.ts.map +1 -0
  7. package/dist/build-commentray-nav-search.js +79 -0
  8. package/dist/build-commentray-nav-search.js.map +1 -0
  9. package/dist/code-browser-client.bundle.js +7 -5
  10. package/dist/code-browser-client.js +428 -69
  11. package/dist/code-browser-client.js.map +1 -1
  12. package/dist/code-browser-embedded-payload.d.ts +10 -0
  13. package/dist/code-browser-embedded-payload.d.ts.map +1 -0
  14. package/dist/code-browser-embedded-payload.js +18 -0
  15. package/dist/code-browser-embedded-payload.js.map +1 -0
  16. package/dist/code-browser-encoding.d.ts +9 -0
  17. package/dist/code-browser-encoding.d.ts.map +1 -0
  18. package/dist/code-browser-encoding.js +24 -0
  19. package/dist/code-browser-encoding.js.map +1 -0
  20. package/dist/code-browser-scroll-sync.d.ts +6 -0
  21. package/dist/code-browser-scroll-sync.d.ts.map +1 -1
  22. package/dist/code-browser-scroll-sync.js +1 -0
  23. package/dist/code-browser-scroll-sync.js.map +1 -1
  24. package/dist/code-browser-web-storage.d.ts +7 -0
  25. package/dist/code-browser-web-storage.d.ts.map +1 -0
  26. package/dist/code-browser-web-storage.js +21 -0
  27. package/dist/code-browser-web-storage.js.map +1 -0
  28. package/dist/code-browser.d.ts +47 -0
  29. package/dist/code-browser.d.ts.map +1 -1
  30. package/dist/code-browser.js +307 -37
  31. package/dist/code-browser.js.map +1 -1
  32. package/dist/index.d.ts +2 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +1 -0
  35. package/dist/index.js.map +1 -1
  36. package/dist/markdown-pipeline.d.ts.map +1 -1
  37. package/dist/markdown-pipeline.js +13 -1
  38. package/dist/markdown-pipeline.js.map +1 -1
  39. package/dist/mermaid-runtime-html.d.ts +7 -0
  40. package/dist/mermaid-runtime-html.d.ts.map +1 -0
  41. package/dist/mermaid-runtime-html.js +26 -0
  42. package/dist/mermaid-runtime-html.js.map +1 -0
  43. package/dist/side-by-side.d.ts +2 -0
  44. package/dist/side-by-side.d.ts.map +1 -1
  45. package/dist/side-by-side.js +7 -7
  46. package/dist/side-by-side.js.map +1 -1
  47. package/package.json +6 -4
@@ -1,7 +1,10 @@
1
1
  import { existsSync, readFileSync } from "node:fs";
2
2
  import { dirname, join } from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
+ import { MARKER_ID_BODY, buildBlockScrollLinks, } from "@commentray/core";
5
+ import { tryBuildBlockStretchTableHtml } from "./block-stretch-layout.js";
4
6
  import { escapeHtml } from "./html-utils.js";
7
+ import { mermaidRuntimeScriptHtml } from "./mermaid-runtime-html.js";
5
8
  import { renderFencedCode, renderMarkdownToHtml, } from "./markdown-pipeline.js";
6
9
  function renderGeneratorMetaHtml(label) {
7
10
  const t = label?.trim();
@@ -13,6 +16,26 @@ function extractPreCodeInner(html) {
13
16
  const m = /<pre(?:\s[^>]*)?>\s*<code(?:\s[^>]*)?>([\s\S]*?)<\/code>\s*<\/pre>/i.exec(html.trim());
14
17
  return m ? m[1] : escapeHtml(html);
15
18
  }
19
+ /** Single capture: marker id (avoid a wrapping group around the whole comment — that shifted indices). */
20
+ const BLOCK_MARKER_HTML_LINE = new RegExp(`^<!--\\s*commentray:block\\s+id=(${MARKER_ID_BODY})\\s*-->$`, "i");
21
+ /** Inserts thin separator anchors after each `<!-- commentray:block … -->` line (optional index attrs for scroll sync). */
22
+ function injectCommentrayBlockAnchors(markdown, links) {
23
+ const byId = links ? new Map(links.map((l) => [l.id, l])) : undefined;
24
+ return markdown
25
+ .split("\n")
26
+ .map((line) => {
27
+ const m = BLOCK_MARKER_HTML_LINE.exec(line);
28
+ if (!m?.[1])
29
+ return line;
30
+ const id = m[1];
31
+ const link = byId?.get(id);
32
+ const attrs = link !== undefined
33
+ ? ` data-source-start="${String(link.sourceStart)}" data-commentray-line="${String(link.commentrayLine)}"`
34
+ : "";
35
+ return `${line}\n\n<div id="commentray-block-${escapeHtml(id)}" class="commentray-block-anchor" aria-hidden="true"${attrs}></div>`;
36
+ })
37
+ .join("\n");
38
+ }
16
39
  /** One highlighted row per source line so in-page search can scroll to a line. */
17
40
  async function renderCodeLineBlocks(code, language) {
18
41
  const lines = code.split("\n");
@@ -90,6 +113,36 @@ function renderRelatedGithubNavHtml(links) {
90
113
  `<span class="toolbar-related__links">${parts.join('<span class="toolbar-related__sep" aria-hidden="true"> · </span>')}</span>` +
91
114
  `</nav>`);
92
115
  }
116
+ function renderToolbarDocHubHtml(opts) {
117
+ const parts = [];
118
+ const src = safeExternalHttpUrl(opts.sourceOnGithubUrl);
119
+ const cr = safeExternalHttpUrl(opts.commentrayOnGithubUrl);
120
+ const nav = opts.documentedNavJsonUrl?.trim();
121
+ const hasEmbed = (opts.documentedPairsEmbeddedB64?.trim() ?? "").length > 0;
122
+ const showDocumentedTree = Boolean(nav) || hasEmbed;
123
+ if (src) {
124
+ parts.push(`<a class="toolbar-blob-link" href="${escapeHtml(src)}" target="_blank" rel="noopener noreferrer">Source on GitHub</a>`);
125
+ }
126
+ if (cr) {
127
+ parts.push(`<a class="toolbar-blob-link" href="${escapeHtml(cr)}" target="_blank" rel="noopener noreferrer">Commentray on GitHub</a>`);
128
+ }
129
+ if (showDocumentedTree) {
130
+ const navAttr = nav ? escapeHtml(nav) : "";
131
+ parts.push(`<button type="button" class="toolbar-tree-toggle" id="documented-files-toggle" aria-expanded="false" aria-controls="documented-files-panel" data-nav-json-url="${navAttr}">Documented files</button>`);
132
+ }
133
+ const toolbarDocHubHtml = parts.length > 0
134
+ ? `<div class="toolbar-doc-hub">${parts.join('<span class="toolbar-doc-hub__sep" aria-hidden="true"> · </span>')}</div>`
135
+ : "";
136
+ const documentedPanelHtml = showDocumentedTree
137
+ ? `<div id="documented-files-panel" class="documented-files-panel" hidden>
138
+ <div class="documented-files-panel__inner">
139
+ <p class="documented-files-panel__hint">Indexed source ↔ commentray pairs (embedded for offline when available). Links open on GitHub.</p>
140
+ <div id="documented-files-tree" class="documented-files-tree" role="tree"></div>
141
+ </div>
142
+ </div>`
143
+ : "";
144
+ return { toolbarDocHubHtml, documentedPanelHtml };
145
+ }
93
146
  /** IIFE produced by `npm run build -w @commentray/render` (esbuild of `code-browser-client.ts`). */
94
147
  function loadCodeBrowserClientBundle() {
95
148
  const here = dirname(fileURLToPath(import.meta.url));
@@ -162,6 +215,38 @@ const CODE_BROWSER_STYLES = `
162
215
  word-break: break-word;
163
216
  }
164
217
  .toolbar-related__sep { opacity: 0.55; user-select: none; }
218
+ .toolbar-doc-hub {
219
+ display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 8px;
220
+ font-size: 12px; line-height: 1.35;
221
+ color: color-mix(in oklab, CanvasText 88%, Canvas);
222
+ }
223
+ .toolbar-doc-hub__sep { opacity: 0.45; user-select: none; }
224
+ .toolbar-blob-link {
225
+ color: inherit; font-weight: 500; text-decoration: underline; text-underline-offset: 2px;
226
+ white-space: nowrap;
227
+ }
228
+ .toolbar-tree-toggle {
229
+ font: inherit; font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: 6px; cursor: pointer;
230
+ border: 1px solid color-mix(in oklab, CanvasText 25%, Canvas);
231
+ background: color-mix(in oklab, CanvasText 6%, Canvas); color: CanvasText;
232
+ }
233
+ .toolbar-tree-toggle:hover { background: color-mix(in oklab, CanvasText 11%, Canvas); }
234
+ .documented-files-panel {
235
+ flex: 0 0 auto; max-height: min(42vh, 360px); overflow: auto;
236
+ border-bottom: 1px solid color-mix(in oklab, CanvasText 12%, Canvas);
237
+ background: color-mix(in oklab, CanvasText 4%, Canvas);
238
+ }
239
+ .documented-files-panel__inner { padding: 10px 14px 14px; font-size: 13px; }
240
+ .documented-files-panel__hint { margin: 0 0 10px; opacity: 0.82; line-height: 1.4; }
241
+ .documented-files-panel__code { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, monospace; font-size: 12px; }
242
+ .documented-files-tree ul { list-style: none; margin: 0; padding-left: 14px; }
243
+ .documented-files-tree > ul { padding-left: 0; }
244
+ .documented-files-tree li { margin: 2px 0; line-height: 1.4; }
245
+ .documented-files-tree .tree-dir { font-weight: 600; margin-top: 6px; }
246
+ .documented-files-tree .tree-file { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; margin: 4px 0; }
247
+ .documented-files-tree .tree-file-name { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, monospace; font-size: 12px; }
248
+ .documented-files-tree .tree-file-links { display: inline-flex; flex-wrap: wrap; gap: 6px 10px; font-size: 11px; }
249
+ .documented-files-tree .tree-file-links a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
165
250
  .toolbar .search-field {
166
251
  display: inline-flex; align-items: center; gap: 6px; flex: 1 1 220px; min-width: 160px;
167
252
  }
@@ -197,11 +282,30 @@ const CODE_BROWSER_STYLES = `
197
282
  flex: 0 0 50%;
198
283
  min-width: 120px; overflow: auto; padding: 12px 16px;
199
284
  border-right: 1px solid color-mix(in oklab, CanvasText 15%, Canvas);
285
+ --code-line-font-size: 13px;
286
+ --code-line-height: 1.5;
200
287
  }
201
288
  .pane--code .code-line {
202
- display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: start;
289
+ display: grid;
290
+ /* max-content: column wide enough for the longest line number (avoids 100+ bleeding into code). */
291
+ grid-template-columns: max-content 1fr;
292
+ column-gap: 12px;
293
+ align-items: baseline;
294
+ }
295
+ .pane--code .code-line pre {
296
+ margin: 0;
297
+ min-width: 0;
298
+ padding: 0;
299
+ border: 0;
300
+ background: transparent;
301
+ }
302
+ .pane--code .code-line pre code.hljs {
303
+ display: block;
304
+ margin: 0;
305
+ padding: 0;
306
+ font-size: var(--code-line-font-size);
307
+ line-height: var(--code-line-height);
203
308
  }
204
- .pane--code .code-line pre { margin: 0; min-width: 0; }
205
309
  .pane--code .code-line .ln {
206
310
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, monospace;
207
311
  font-variant-numeric: tabular-nums;
@@ -209,7 +313,9 @@ const CODE_BROWSER_STYLES = `
209
313
  color: color-mix(in oklab, CanvasText 45%, Canvas);
210
314
  padding-right: 8px;
211
315
  border-right: 1px solid color-mix(in oklab, CanvasText 12%, Canvas);
212
- min-width: 3ch;
316
+ white-space: nowrap;
317
+ font-size: var(--code-line-font-size);
318
+ line-height: var(--code-line-height);
213
319
  }
214
320
  .pane--code .code-line:target .ln,
215
321
  .pane--code .code-line:hover .ln {
@@ -234,19 +340,115 @@ const CODE_BROWSER_STYLES = `
234
340
  }
235
341
  .pane--doc { font-size: 15px; line-height: 1.45; }
236
342
  .pane--doc img { max-width: 100%; height: auto; }
343
+ .pane--doc .commentray-block-anchor {
344
+ display: block;
345
+ height: 0;
346
+ margin: 14px 0 0;
347
+ border: 0;
348
+ border-top: 1px solid color-mix(in oklab, CanvasText 22%, Canvas);
349
+ pointer-events: none;
350
+ }
237
351
  .pane h2.pane-title { margin: 0 0 10px; font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; opacity: 0.75; }
238
352
  .app { display: flex; flex-direction: column; height: 100vh; }
353
+ .shell--stretch-rows {
354
+ flex: 1;
355
+ min-height: 0;
356
+ overflow: auto;
357
+ display: block;
358
+ padding: 0 12px 20px;
359
+ }
360
+ .shell--stretch-rows .stretch-preamble {
361
+ padding: 8px 4px 16px;
362
+ margin-bottom: 8px;
363
+ border-bottom: 1px solid color-mix(in oklab, CanvasText 12%, Canvas);
364
+ font-size: 15px;
365
+ line-height: 1.45;
366
+ }
367
+ .shell--stretch-rows .stretch-preamble img { max-width: 100%; height: auto; }
368
+ .block-stretch {
369
+ width: 100%;
370
+ border-collapse: collapse;
371
+ table-layout: fixed;
372
+ }
373
+ .stretch-col-code { width: 50%; }
374
+ .stretch-col-doc { width: 50%; }
375
+ .block-stretch td.stretch-code {
376
+ vertical-align: top;
377
+ padding: 0 12px 0 0;
378
+ border-bottom: 1px solid color-mix(in oklab, CanvasText 8%, Canvas);
379
+ }
380
+ .block-stretch td.stretch-doc {
381
+ vertical-align: top;
382
+ padding: 0 0 0 12px;
383
+ border-bottom: 1px solid color-mix(in oklab, CanvasText 8%, Canvas);
384
+ }
385
+ .block-stretch td.stretch-doc .stretch-doc-inner {
386
+ font-size: 15px;
387
+ line-height: 1.45;
388
+ }
389
+ .block-stretch td.stretch-doc .stretch-doc-inner img { max-width: 100%; height: auto; }
390
+ .block-stretch td.stretch-doc--gap {
391
+ color: color-mix(in oklab, CanvasText 38%, Canvas);
392
+ font-size: 13px;
393
+ vertical-align: top;
394
+ }
395
+ .block-stretch .stretch-gap-mark { display: inline-block; padding-top: 2px; }
396
+ .block-stretch .stretch-code-stack {
397
+ display: flex;
398
+ flex-direction: column;
399
+ align-items: stretch;
400
+ min-width: 0;
401
+ }
402
+ .block-stretch .code-line {
403
+ display: grid;
404
+ grid-template-columns: max-content 1fr;
405
+ column-gap: 12px;
406
+ align-items: start;
407
+ }
408
+ .block-stretch .code-line pre { margin: 0; min-width: 0; padding: 0; border: 0; background: transparent; }
409
+ .block-stretch .code-line pre code.hljs {
410
+ display: block;
411
+ margin: 0;
412
+ padding: 0;
413
+ font-size: var(--code-line-font-size, 13px);
414
+ line-height: var(--code-line-height, 1.5);
415
+ }
416
+ .block-stretch .code-line .ln {
417
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, monospace;
418
+ font-variant-numeric: tabular-nums;
419
+ text-align: right;
420
+ user-select: none;
421
+ -webkit-user-select: none;
422
+ color: color-mix(in oklab, CanvasText 45%, Canvas);
423
+ padding-right: 8px;
424
+ border-right: 1px solid color-mix(in oklab, CanvasText 12%, Canvas);
425
+ white-space: nowrap;
426
+ font-size: var(--code-line-font-size, 13px);
427
+ line-height: var(--code-line-height, 1.5);
428
+ }
429
+ .block-stretch.wrap .code-line pre,
430
+ .block-stretch.wrap .code-line pre code { white-space: pre-wrap; word-break: break-word; }
431
+ .block-stretch:not(.wrap) .code-line pre,
432
+ .block-stretch:not(.wrap) .code-line pre code { white-space: pre; }
433
+ .block-stretch-headings {
434
+ display: grid;
435
+ grid-template-columns: 1fr 1fr;
436
+ gap: 0 16px;
437
+ padding: 4px 12px 8px;
438
+ border-bottom: 1px solid color-mix(in oklab, CanvasText 10%, Canvas);
439
+ }
440
+ .block-stretch-headings .pane-title { margin: 0; }
239
441
  `;
240
442
  function buildCodeBrowserPageHtml(p) {
241
- const { title, generatorMetaHtml, filePathHtml, relatedNavHtml, toolbarEndHtml, codeHtml, commentrayHtml, rawCodeB64, rawMdB64, hljs, hljsDark, mermaidScript, } = p;
443
+ const shellClass = p.layout === "stretch" ? "shell shell--stretch-rows" : "shell";
242
444
  return `<!doctype html>
243
445
  <html lang="en">
244
446
  <head>
245
447
  <meta charset="utf-8" />
246
448
  <meta name="viewport" content="width=device-width, initial-scale=1" />
247
- ${generatorMetaHtml}<title>${escapeHtml(title)}</title>
248
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.11.1/build/styles/${escapeHtml(hljs)}.min.css" media="(prefers-color-scheme: light)" />
249
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.11.1/build/styles/${escapeHtml(hljsDark)}.min.css" media="(prefers-color-scheme: dark)" />
449
+ ${p.generatorMetaHtml}<title>${escapeHtml(p.title)}</title>
450
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.11.1/build/styles/${escapeHtml(p.hljs)}.min.css" media="(prefers-color-scheme: light)" />
451
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.11.1/build/styles/${escapeHtml(p.hljsDark)}.min.css" media="(prefers-color-scheme: dark)" />
250
452
  <style>
251
453
  ${CODE_BROWSER_STYLES}
252
454
  </style>
@@ -255,49 +457,107 @@ ${CODE_BROWSER_STYLES}
255
457
  <div class="app">
256
458
  <header class="toolbar" aria-label="View options">
257
459
  <div class="toolbar__main">
258
- ${filePathHtml}
460
+ ${p.filePathHtml}
461
+ ${p.toolbarDocHubHtml}
259
462
  <span class="search-field">
260
463
  <label for="search-q">Search</label>
261
- <input type="search" id="search-q" placeholder="Whole source (ordered tokens + fuzzy lines)" autocomplete="off" spellcheck="false" />
464
+ <input type="search" id="search-q" placeholder="${escapeHtml(p.searchPlaceholder)}" autocomplete="off" spellcheck="false" />
262
465
  <button type="button" id="search-clear" title="Clear search">Clear</button>
263
466
  </span>
264
- ${relatedNavHtml}
467
+ ${p.relatedNavHtml}
265
468
  <label><input type="checkbox" id="wrap-lines" /> Wrap code lines</label>
266
469
  </div>
267
- ${toolbarEndHtml}
470
+ ${p.toolbarEndHtml}
268
471
  </header>
472
+ ${p.documentedPanelHtml}
269
473
  <div class="search-results" id="search-results" hidden aria-live="polite"></div>
270
- <div class="shell" id="shell">
271
- <section class="pane--code" id="code-pane" aria-label="Source code" data-raw-code-b64="${escapeHtml(rawCodeB64)}" data-raw-md-b64="${escapeHtml(rawMdB64)}">
272
- <h2 class="pane-title">Code</h2>
273
- ${codeHtml}
274
- </section>
275
- <div class="gutter" id="gutter" role="separator" aria-orientation="vertical" aria-label="Resize panes"></div>
276
- <section class="pane--doc commentray" id="doc-pane" aria-label="Commentray">
277
- <h2 class="pane-title">Commentray</h2>
278
- ${commentrayHtml}
279
- </section>
474
+ <div class="${shellClass}" id="shell" data-layout="${p.layout}" data-raw-code-b64="${escapeHtml(p.rawCodeB64)}" data-raw-md-b64="${escapeHtml(p.rawMdB64)}" data-scroll-block-links-b64="${escapeHtml(p.scrollBlockLinksB64)}"${p.shellDocumentedPairsAttr}${p.shellSearchAttrs}>
475
+ ${p.shellInner}
280
476
  </div>
281
477
  </div>
282
478
  <script>
283
479
  ${loadCodeBrowserClientBundle()}
284
480
  </script>
285
- ${mermaidScript}
481
+ ${p.mermaidScript}
286
482
  </body>
287
483
  </html>`;
288
484
  }
485
+ async function buildCodeBrowserShell(opts, layoutPref) {
486
+ let layout = "dual";
487
+ let shellInner = "";
488
+ let scrollBlockLinksB64 = "";
489
+ if (opts.blockStretchRows && layoutPref !== "dual") {
490
+ const stretched = await tryBuildBlockStretchTableHtml({
491
+ code: opts.code,
492
+ language: opts.language,
493
+ commentrayMarkdown: opts.commentrayMarkdown,
494
+ index: opts.blockStretchRows.index,
495
+ sourceRelative: opts.blockStretchRows.sourceRelative,
496
+ commentrayPathRel: opts.blockStretchRows.commentrayPathRel,
497
+ commentrayOutputUrls: opts.commentrayOutputUrls,
498
+ });
499
+ if (stretched) {
500
+ layout = "stretch";
501
+ shellInner =
502
+ ` <div class="block-stretch-headings">` +
503
+ `<h2 class="pane-title">Code</h2>` +
504
+ `<h2 class="pane-title">Commentray</h2>` +
505
+ `</div>\n` +
506
+ ` ${stretched.preambleHtml}\n` +
507
+ ` ${stretched.tableInnerHtml}\n`;
508
+ }
509
+ }
510
+ if (layout === "dual") {
511
+ const links = opts.blockStretchRows !== undefined
512
+ ? buildBlockScrollLinks(opts.blockStretchRows.index, opts.blockStretchRows.sourceRelative, opts.blockStretchRows.commentrayPathRel, opts.commentrayMarkdown, opts.code)
513
+ : [];
514
+ const mdForDoc = injectCommentrayBlockAnchors(opts.commentrayMarkdown, links.length > 0 ? links : undefined);
515
+ if (links.length > 0) {
516
+ scrollBlockLinksB64 = Buffer.from(JSON.stringify(links), "utf8").toString("base64");
517
+ }
518
+ const [codeHtml, commentrayHtml] = await Promise.all([
519
+ renderCodeLineBlocks(opts.code, opts.language),
520
+ renderMarkdownToHtml(mdForDoc, {
521
+ commentrayOutputUrls: opts.commentrayOutputUrls,
522
+ }),
523
+ ]);
524
+ shellInner =
525
+ ` <section class="pane--code" id="code-pane" aria-label="Source code">` +
526
+ `<h2 class="pane-title">Code</h2>\n` +
527
+ ` ${codeHtml}\n` +
528
+ ` </section>\n` +
529
+ ` <div class="gutter" id="gutter" role="separator" aria-orientation="vertical" aria-label="Resize panes"></div>\n` +
530
+ ` <section class="pane--doc commentray" id="doc-pane" aria-label="Commentray">\n` +
531
+ ` <h2 class="pane-title">Commentray</h2>\n` +
532
+ ` ${commentrayHtml}\n` +
533
+ ` </section>\n`;
534
+ }
535
+ return { layout, shellInner, scrollBlockLinksB64 };
536
+ }
537
+ function searchChromeFromOptions(opts) {
538
+ if (opts.staticSearchScope === "commentray-and-paths") {
539
+ return {
540
+ searchPlaceholder: "Commentray + file paths (ordered tokens + fuzzy lines)…",
541
+ shellSearchAttrs: ` data-search-scope="commentray-and-paths" data-search-file-path="${escapeHtml(opts.filePath ?? "")}" data-search-commentray-path="${escapeHtml((opts.commentrayPathForSearch ?? "").trim())}"`,
542
+ };
543
+ }
544
+ return {
545
+ searchPlaceholder: "Whole source (ordered tokens + fuzzy lines)…",
546
+ shellSearchAttrs: "",
547
+ };
548
+ }
549
+ function shellDocumentedPairsAttrFromOptions(opts) {
550
+ const emb = opts.documentedPairsEmbeddedB64?.trim() ?? "";
551
+ if (emb.length === 0)
552
+ return "";
553
+ return ` data-documented-pairs-b64="${escapeHtml(emb)}"`;
554
+ }
289
555
  /**
290
556
  * Static HTML shell for a minimal “code browser”: code + rendered commentray,
291
557
  * draggable vertical splitter, togglable line wrap for the code pane, and
292
558
  * token-in-line quick search (all non-whitespace tokens must appear on the same line).
293
559
  */
294
560
  export async function renderCodeBrowserHtml(opts) {
295
- const [codeHtml, commentrayHtml] = await Promise.all([
296
- renderCodeLineBlocks(opts.code, opts.language),
297
- renderMarkdownToHtml(opts.commentrayMarkdown, {
298
- commentrayOutputUrls: opts.commentrayOutputUrls,
299
- }),
300
- ]);
301
561
  const rawCodeB64 = Buffer.from(opts.code, "utf8").toString("base64");
302
562
  const rawMdB64 = Buffer.from(opts.commentrayMarkdown, "utf8").toString("base64");
303
563
  const title = opts.title ?? opts.filePath ?? "Commentray";
@@ -305,28 +565,38 @@ export async function renderCodeBrowserHtml(opts) {
305
565
  const toolbarEndHtml = buildToolbarEndHtml(opts.githubRepoUrl, opts.toolHomeUrl);
306
566
  const hljs = opts.hljsTheme ?? "github";
307
567
  const hljsDark = opts.hljsTheme?.includes("dark") ? opts.hljsTheme : "github-dark";
308
- const mermaidScript = opts.includeMermaidRuntime
309
- ? `<script type="module">
310
- import mermaid from "https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs";
311
- mermaid.initialize({ startOnLoad: true, securityLevel: "strict" });
312
- mermaid.run({ querySelector: ".mermaid" });
313
- </script>`
314
- : "";
568
+ const mermaidScript = mermaidRuntimeScriptHtml(opts.includeMermaidRuntime);
315
569
  const relatedNavHtml = renderRelatedGithubNavHtml(opts.relatedGithubNav ?? []);
316
570
  const generatorMetaHtml = renderGeneratorMetaHtml(opts.generatorLabel);
571
+ const { toolbarDocHubHtml, documentedPanelHtml } = renderToolbarDocHubHtml({
572
+ sourceOnGithubUrl: opts.sourceOnGithubUrl,
573
+ commentrayOnGithubUrl: opts.commentrayOnGithubUrl,
574
+ documentedNavJsonUrl: opts.documentedNavJsonUrl,
575
+ documentedPairsEmbeddedB64: opts.documentedPairsEmbeddedB64,
576
+ });
577
+ const layoutPref = opts.codeBrowserLayout ?? "auto";
578
+ const { layout, shellInner, scrollBlockLinksB64 } = await buildCodeBrowserShell(opts, layoutPref);
579
+ const { searchPlaceholder, shellSearchAttrs } = searchChromeFromOptions(opts);
580
+ const shellDocumentedPairsAttr = shellDocumentedPairsAttrFromOptions(opts);
317
581
  return buildCodeBrowserPageHtml({
318
582
  title,
319
583
  generatorMetaHtml,
320
584
  filePathHtml,
585
+ toolbarDocHubHtml,
586
+ documentedPanelHtml,
321
587
  relatedNavHtml,
322
588
  toolbarEndHtml,
323
- codeHtml,
324
- commentrayHtml,
589
+ layout,
590
+ shellInner,
325
591
  rawCodeB64,
326
592
  rawMdB64,
593
+ scrollBlockLinksB64,
594
+ shellDocumentedPairsAttr,
327
595
  hljs,
328
596
  hljsDark,
329
597
  mermaidScript,
598
+ searchPlaceholder,
599
+ shellSearchAttrs,
330
600
  });
331
601
  }
332
602
  //# sourceMappingURL=code-browser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"code-browser.js","sourceRoot":"","sources":["../src/code-browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-browser.js","sourceRoot":"","sources":["../src/code-browser.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,4 +5,6 @@ export type { CommentrayOutputUrlOptions, MarkdownPipelineOptions } from "./mark
5
5
  export { renderFencedCode, renderMarkdownToHtml } from "./markdown-pipeline.js";
6
6
  export { renderSideBySideHtml } from "./side-by-side.js";
7
7
  export type { SideBySideOptions } from "./side-by-side.js";
8
+ export { buildCommentrayNavSearchDocument, COMMENTRAY_NAV_SEARCH_SCHEMA_VERSION, } from "./build-commentray-nav-search.js";
9
+ export type { BuildCommentrayNavSearchFallback, BuildCommentrayNavSearchGithubBlobBase, CommentrayNavSearchDocument, CommentrayNavSearchRow, DocumentedPairNav, } from "./build-commentray-nav-search.js";
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -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,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,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,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,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
@@ -2,4 +2,5 @@ export { renderCodeBrowserHtml } from "./code-browser.js";
2
2
  export { commentrayRenderVersion } from "./package-version.js";
3
3
  export { renderFencedCode, renderMarkdownToHtml } from "./markdown-pipeline.js";
4
4
  export { renderSideBySideHtml } from "./side-by-side.js";
5
+ export { buildCommentrayNavSearchDocument, COMMENTRAY_NAV_SEARCH_SCHEMA_VERSION, } from "./build-commentray-nav-search.js";
5
6
  //# sourceMappingURL=index.js.map
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;AAE1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EACL,gCAAgC,EAChC,oCAAoC,GACrC,MAAM,kCAAkC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-pipeline.d.ts","sourceRoot":"","sources":["../src/markdown-pipeline.ts"],"names":[],"mappings":"AAeA;;;;;;;;GAQG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mGAAmG;IACnG,cAAc,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;CACnD,CAAC;AA6IF,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,MAAM,CAAC,CAyBjB;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":"AAgBA;;;;;;;;GAQG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mGAAmG;IACnG,cAAc,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;CACnD,CAAC;AAwJF,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAED,wBAAsB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7E"}
@@ -1,5 +1,6 @@
1
1
  import path from "node:path";
2
2
  import rehypeHighlight from "rehype-highlight";
3
+ import rehypeRaw from "rehype-raw";
3
4
  import rehypeSanitize, { defaultSchema } from "rehype-sanitize";
4
5
  import rehypeStringify from "rehype-stringify";
5
6
  import remarkGfm from "remark-gfm";
@@ -134,12 +135,22 @@ function remarkMermaidPlaceholders() {
134
135
  };
135
136
  }
136
137
  const sanitizeSchema = structuredClone(defaultSchema);
138
+ /** Companion Markdown is repo-controlled; keep `id` unprefixed so `commentray-block-*` anchors are stable. */
139
+ sanitizeSchema.clobber = ["ariaDescribedBy", "ariaLabelledBy", "name"];
137
140
  sanitizeSchema.attributes = {
138
141
  ...sanitizeSchema.attributes,
139
142
  code: [...(sanitizeSchema.attributes?.code ?? []), "className"],
140
143
  pre: [...(sanitizeSchema.attributes?.pre ?? []), "className"],
141
144
  span: [...(sanitizeSchema.attributes?.span ?? []), "className"],
142
- div: ["className"],
145
+ div: [
146
+ ...(sanitizeSchema.attributes?.div ?? []),
147
+ "className",
148
+ "id",
149
+ "ariaHidden",
150
+ /** Block scroll sync markers from `injectCommentrayBlockAnchors` (hast property names). */
151
+ "dataSourceStart",
152
+ "dataCommentrayLine",
153
+ ],
143
154
  };
144
155
  export async function renderMarkdownToHtml(markdown, options) {
145
156
  const outUrls = options?.commentrayOutputUrls;
@@ -156,6 +167,7 @@ export async function renderMarkdownToHtml(markdown, options) {
156
167
  })
157
168
  .use(remarkMermaidPlaceholders)
158
169
  .use(remarkRehype, { allowDangerousHtml: true })
170
+ .use(rehypeRaw)
159
171
  .use(rehypeSanitize, sanitizeSchema)
160
172
  .use(function rehypeOutputUrlsMaybe() {
161
173
  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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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Injects Mermaid only when the page is not served from `file:`.
3
+ * Cross-origin `import()` from an opaque `file://` origin is browser-dependent and often
4
+ * breaks or spams the console; the code browser should stay usable when opened locally.
5
+ */
6
+ export declare function mermaidRuntimeScriptHtml(include: boolean | undefined): string;
7
+ //# sourceMappingURL=mermaid-runtime-html.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mermaid-runtime-html.d.ts","sourceRoot":"","sources":["../src/mermaid-runtime-html.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAoB7E"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Injects Mermaid only when the page is not served from `file:`.
3
+ * Cross-origin `import()` from an opaque `file://` origin is browser-dependent and often
4
+ * breaks or spams the console; the code browser should stay usable when opened locally.
5
+ */
6
+ export function mermaidRuntimeScriptHtml(include) {
7
+ if (!include)
8
+ return "";
9
+ const cdn = "https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs";
10
+ const moduleSource = [
11
+ `import mermaid from "${cdn}";`,
12
+ `mermaid.initialize({ startOnLoad: true, securityLevel: "strict" });`,
13
+ `mermaid.run({ querySelector: ".mermaid" });`,
14
+ ].join("");
15
+ const asTextContent = JSON.stringify(moduleSource);
16
+ return (`<script>` +
17
+ `(function(){` +
18
+ `if(typeof location!=="undefined"&&location.protocol==="file:")return;` +
19
+ `var s=document.createElement("script");` +
20
+ `s.type="module";` +
21
+ `s.textContent=${asTextContent};` +
22
+ `document.body.appendChild(s);` +
23
+ `})();` +
24
+ `</script>`);
25
+ }
26
+ //# sourceMappingURL=mermaid-runtime-html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mermaid-runtime-html.js","sourceRoot":"","sources":["../src/mermaid-runtime-html.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAA4B;IACnE,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,GAAG,GAAG,kEAAkE,CAAC;IAC/E,MAAM,YAAY,GAAG;QACnB,wBAAwB,GAAG,IAAI;QAC/B,qEAAqE;QACrE,6CAA6C;KAC9C,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACnD,OAAO,CACL,UAAU;QACV,cAAc;QACd,uEAAuE;QACvE,yCAAyC;QACzC,kBAAkB;QAClB,iBAAiB,aAAa,GAAG;QACjC,+BAA+B;QAC/B,OAAO;QACP,WAAW,CACZ,CAAC;AACJ,CAAC"}