@dr-ishaan/rehype-perfect-code-blocks 1.1.7 → 1.2.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/CHANGELOG.md +82 -40
- package/dist/astro.d.ts.map +1 -1
- package/dist/astro.js +13 -4
- package/dist/astro.js.map +1 -1
- package/dist/copy-script.d.ts +2 -1
- package/dist/copy-script.d.ts.map +1 -1
- package/dist/copy-script.js +16 -2
- package/dist/copy-script.js.map +1 -1
- package/dist/index.js +15 -1
- package/dist/index.js.map +1 -1
- package/dist/meta.d.ts.map +1 -1
- package/dist/meta.js +35 -2
- package/dist/meta.js.map +1 -1
- package/dist/shiki.d.ts.map +1 -1
- package/dist/shiki.js +254 -25
- package/dist/shiki.js.map +1 -1
- package/dist/transformer.d.ts.map +1 -1
- package/dist/transformer.js +230 -16
- package/dist/transformer.js.map +1 -1
- package/dist/types.d.ts +109 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/astro.ts +14 -4
- package/src/copy-script.ts +16 -2
- package/src/index.ts +15 -1
- package/src/meta.ts +35 -2
- package/src/shiki.ts +258 -26
- package/src/transformer.ts +243 -17
- package/src/types.ts +105 -4
package/dist/transformer.js
CHANGED
|
@@ -158,7 +158,7 @@ const DEFAULT_MAGIC_COMMENTS = [
|
|
|
158
158
|
block: { start: 'highlight-start', end: 'highlight-end' },
|
|
159
159
|
},
|
|
160
160
|
];
|
|
161
|
-
const DEFAULT_TERMINAL_LANGS = ['sh', 'bash', 'zsh', 'shell', 'console', 'powershell', 'bat', 'cmd', 'fish'];
|
|
161
|
+
const DEFAULT_TERMINAL_LANGS = ['sh', 'bash', 'zsh', 'shell', 'console', 'powershell', 'bat', 'cmd', 'fish', 'ansi'];
|
|
162
162
|
export function rehypePerfectCodeBlocks(userOptions = {}) {
|
|
163
163
|
const { shiki: userShiki, ...rest } = userOptions;
|
|
164
164
|
const options = {
|
|
@@ -176,6 +176,8 @@ export function rehypePerfectCodeBlocks(userOptions = {}) {
|
|
|
176
176
|
errorLevels: true,
|
|
177
177
|
wrap: false,
|
|
178
178
|
collapseAfter: null,
|
|
179
|
+
collapseRanges: null,
|
|
180
|
+
collapseStyle: 'github',
|
|
179
181
|
showWhitespace: false,
|
|
180
182
|
indentGuides: false,
|
|
181
183
|
caption: true,
|
|
@@ -184,11 +186,17 @@ export function rehypePerfectCodeBlocks(userOptions = {}) {
|
|
|
184
186
|
theme: { light: 'github-light', dark: 'github-dark' },
|
|
185
187
|
langs: [],
|
|
186
188
|
transformers: [],
|
|
189
|
+
transformerOrder: 'after',
|
|
187
190
|
...(userShiki ?? {}),
|
|
188
191
|
},
|
|
189
192
|
keepBackground: false,
|
|
190
193
|
styleToClass: false,
|
|
191
194
|
useHastApi: true,
|
|
195
|
+
disableAutoTransformers: false,
|
|
196
|
+
removeComments: false,
|
|
197
|
+
removeLineBreaks: false,
|
|
198
|
+
zeroIndexed: false,
|
|
199
|
+
lineOptions: [],
|
|
192
200
|
customNotations: {},
|
|
193
201
|
magicComments: DEFAULT_MAGIC_COMMENTS,
|
|
194
202
|
inlineCode: false,
|
|
@@ -200,9 +208,12 @@ export function rehypePerfectCodeBlocks(userOptions = {}) {
|
|
|
200
208
|
languageLabels: {},
|
|
201
209
|
languageAliases: {},
|
|
202
210
|
defaultBlockLang: '',
|
|
211
|
+
tabWidth: 0,
|
|
212
|
+
copyStripComments: true,
|
|
203
213
|
accessibleScroll: true,
|
|
204
214
|
announceCopy: true,
|
|
205
215
|
hideCopyWithoutJs: true,
|
|
216
|
+
terminalSrOnlyTitle: true,
|
|
206
217
|
rehypePlugins: [],
|
|
207
218
|
filterMetaString: (s) => s,
|
|
208
219
|
onVisitLine: () => { },
|
|
@@ -210,6 +221,9 @@ export function rehypePerfectCodeBlocks(userOptions = {}) {
|
|
|
210
221
|
onVisitHighlightedChars: () => { },
|
|
211
222
|
onVisitTitle: () => { },
|
|
212
223
|
onVisitCaption: () => { },
|
|
224
|
+
texts: {},
|
|
225
|
+
logger: console,
|
|
226
|
+
cspNonce: '',
|
|
213
227
|
preset: 'default',
|
|
214
228
|
injectStyles: true,
|
|
215
229
|
theme: 'auto',
|
|
@@ -218,6 +232,7 @@ export function rehypePerfectCodeBlocks(userOptions = {}) {
|
|
|
218
232
|
};
|
|
219
233
|
return async (tree) => {
|
|
220
234
|
const visits = [];
|
|
235
|
+
const inlineCodes = [];
|
|
221
236
|
visit(tree, 'element', (node) => {
|
|
222
237
|
if (node.tagName !== 'pre')
|
|
223
238
|
return;
|
|
@@ -228,14 +243,84 @@ export function rehypePerfectCodeBlocks(userOptions = {}) {
|
|
|
228
243
|
return;
|
|
229
244
|
visits.push(node);
|
|
230
245
|
});
|
|
246
|
+
// Inline code highlighting: visit <code> elements whose parent is NOT <pre>.
|
|
247
|
+
// These are inline code spans like `code{:lang}` or `code{:.token}`.
|
|
248
|
+
if (options.inlineCode) {
|
|
249
|
+
visit(tree, 'element', (node, index, parent) => {
|
|
250
|
+
if (node.tagName !== 'code')
|
|
251
|
+
return;
|
|
252
|
+
if (!parent || parent.type !== 'element' || parent.tagName === 'pre')
|
|
253
|
+
return;
|
|
254
|
+
if (node.properties?.dataPcbDone)
|
|
255
|
+
return;
|
|
256
|
+
inlineCodes.push(node);
|
|
257
|
+
});
|
|
258
|
+
}
|
|
231
259
|
for (const pre of visits) {
|
|
232
260
|
const replacement = await transformPre(pre, options);
|
|
233
261
|
if (replacement) {
|
|
234
262
|
Object.assign(pre, replacement);
|
|
235
263
|
}
|
|
236
264
|
}
|
|
265
|
+
// Process inline code blocks (after the block-level transform).
|
|
266
|
+
for (const code of inlineCodes) {
|
|
267
|
+
transformInlineCode(code, options);
|
|
268
|
+
}
|
|
237
269
|
};
|
|
238
270
|
}
|
|
271
|
+
/**
|
|
272
|
+
* Transform an inline `<code>` element (not inside a `<pre>`).
|
|
273
|
+
*
|
|
274
|
+
* Supports two modes (matching rehype-pretty-code's syntax):
|
|
275
|
+
* - `inlineCode: 'lang'` or `true` — parse `code{:lang}` suffix and tokenize via Shiki
|
|
276
|
+
* - `inlineCode: 'token'` — parse `code{:.token}` suffix and color by VS Code token
|
|
277
|
+
*
|
|
278
|
+
* The suffix is stripped from the displayed text. The resulting tokenized
|
|
279
|
+
* spans are wrapped in a `<code class="pcb__inline">` element.
|
|
280
|
+
*
|
|
281
|
+
* NOTE: This function only modifies the inline `<code>` element's children
|
|
282
|
+
* and adds a class. Shiki tokenization happens at render time via the
|
|
283
|
+
* `engine: 'shiki'` path (runShikiOnRawBlocks handles `<pre><code>` only —
|
|
284
|
+
* inline code is styled by the CSS based on the `pcb__inline` class).
|
|
285
|
+
*/
|
|
286
|
+
function transformInlineCode(code, opts) {
|
|
287
|
+
// Extract the text content.
|
|
288
|
+
const text = extractText(code);
|
|
289
|
+
if (!text)
|
|
290
|
+
return;
|
|
291
|
+
// Parse the `{:lang}` or `{:.token}` suffix.
|
|
292
|
+
// rehype-pretty-code uses `{:lang}` for language and `{:.token}` for token.
|
|
293
|
+
const langMatch = text.match(/\{:([a-zA-Z][\w.-]*)\}$/);
|
|
294
|
+
const tokenMatch = text.match(/\{:\.([\w-]+)\}$/);
|
|
295
|
+
let displayText = text;
|
|
296
|
+
let lang = null;
|
|
297
|
+
let token = null;
|
|
298
|
+
if (opts.inlineCode === 'token' && tokenMatch) {
|
|
299
|
+
token = tokenMatch[1];
|
|
300
|
+
displayText = text.slice(0, tokenMatch.index);
|
|
301
|
+
}
|
|
302
|
+
else if (opts.inlineCode === true || opts.inlineCode === 'lang') {
|
|
303
|
+
if (langMatch) {
|
|
304
|
+
lang = langMatch[1];
|
|
305
|
+
displayText = text.slice(0, langMatch.index);
|
|
306
|
+
}
|
|
307
|
+
else if (opts.inlineDefaultLang || opts.defaultInlineLang) {
|
|
308
|
+
lang = opts.inlineDefaultLang || opts.defaultInlineLang || null;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
// Replace the text content with the stripped display text.
|
|
312
|
+
code.children = [{ type: 'text', value: displayText }];
|
|
313
|
+
// Add the `pcb__inline` class plus optional lang/token classes for CSS.
|
|
314
|
+
const cls = ['pcb__inline'];
|
|
315
|
+
if (lang)
|
|
316
|
+
cls.push(`pcb__inline--${lang}`);
|
|
317
|
+
if (token)
|
|
318
|
+
cls.push(`pcb__inline--token-${token}`);
|
|
319
|
+
code.properties = code.properties ?? {};
|
|
320
|
+
code.properties.className = cls;
|
|
321
|
+
// Mark as done so we don't re-process it.
|
|
322
|
+
code.properties.dataPcbDone = true;
|
|
323
|
+
}
|
|
239
324
|
async function transformPre(pre, opts) {
|
|
240
325
|
const codeChild = pre.children.find((c) => c.type === 'element' && c.tagName === 'code');
|
|
241
326
|
if (!codeChild)
|
|
@@ -279,6 +364,11 @@ async function transformPre(pre, opts) {
|
|
|
279
364
|
// buildCopyButton().
|
|
280
365
|
const copyButtonEnabled = typeof opts.copyButton === 'object' ? true : !!opts.copyButton;
|
|
281
366
|
const autoTitleBar = !!(title || effectiveLang || copyButtonEnabled);
|
|
367
|
+
// Distinguish whole-block collapse (collapseAfter threshold or `collapse` flag)
|
|
368
|
+
// from per-line collapse (collapseRanges from `collapse="N-M"` meta).
|
|
369
|
+
// Per-line collapse uses <details> sections INSIDE the <pre>, not around it.
|
|
370
|
+
const hasCollapseRanges = !!(meta.collapseRanges && meta.collapseRanges.length > 0);
|
|
371
|
+
const wholeBlockCollapse = !hasCollapseRanges && (meta.flags.collapse ?? (opts.collapseAfter != null ? shouldCollapse(pre, opts.collapseAfter) : false));
|
|
282
372
|
const resolved = {
|
|
283
373
|
language: effectiveLang,
|
|
284
374
|
title,
|
|
@@ -291,7 +381,7 @@ async function transformPre(pre, opts) {
|
|
|
291
381
|
decorations: meta.flags.decorations ?? opts.decorations,
|
|
292
382
|
showLanguage: meta.flags.showLanguage ?? opts.showLanguage,
|
|
293
383
|
copyButton: meta.flags.copyButton ?? copyButtonEnabled,
|
|
294
|
-
collapse:
|
|
384
|
+
collapse: wholeBlockCollapse,
|
|
295
385
|
};
|
|
296
386
|
// Auto-detect terminal preset based on language.
|
|
297
387
|
let presetClass = opts.preset;
|
|
@@ -313,6 +403,9 @@ async function transformPre(pre, opts) {
|
|
|
313
403
|
const lineSpans = toLineSpans(codeChild, resolved, opts);
|
|
314
404
|
// Filter out trailing empty line (from trailing newline in source).
|
|
315
405
|
const filteredLines = filterTrailingEmpty(lineSpans);
|
|
406
|
+
// Apply per-line collapsible sections (meta `collapse="5-12,20-30"`).
|
|
407
|
+
// Wraps matching line ranges in <details><summary>N collapsed lines</summary>...</details>.
|
|
408
|
+
const collapsedLines = wrapCollapsedSections(filteredLines, meta, opts, resolved.lineNumbersStart);
|
|
316
409
|
// Call onVisitLine / onVisitHighlightedLine hooks.
|
|
317
410
|
filteredLines.forEach((line, i) => {
|
|
318
411
|
const lineNumber = i + resolved.lineNumbersStart;
|
|
@@ -323,6 +416,9 @@ async function transformPre(pre, opts) {
|
|
|
323
416
|
}
|
|
324
417
|
});
|
|
325
418
|
// data-line-numbers-max-digits attribute on <code> for CSS-driven gutter sizing.
|
|
419
|
+
// Uses filteredLines.length (not collapsedLines) because collapsed sections
|
|
420
|
+
// contain the same total number of logical lines — we just want the max
|
|
421
|
+
// gutter number's digit count.
|
|
326
422
|
const maxDigits = String(filteredLines.length + resolved.lineNumbersStart - 1).length;
|
|
327
423
|
const codeDataProps = {
|
|
328
424
|
dataLineNumbersMaxDigits: String(maxDigits),
|
|
@@ -334,11 +430,36 @@ async function transformPre(pre, opts) {
|
|
|
334
430
|
if (resolved.lineNumbers) {
|
|
335
431
|
codeDataProps.dataLineNumbers = '';
|
|
336
432
|
}
|
|
433
|
+
// Collect body-level `has-*` classes (e.g. `has-diff`, `has-focused`,
|
|
434
|
+
// `has-highlighted`) from the line spans. These were previously stripped —
|
|
435
|
+
// restoring them lets CSS target the whole <pre> when any line has a state.
|
|
436
|
+
const preLevelClasses = new Set();
|
|
437
|
+
for (const line of collapsedLines) {
|
|
438
|
+
// Skip <details> wrapper elements — only inspect actual line spans.
|
|
439
|
+
if (line.tagName !== 'span')
|
|
440
|
+
continue;
|
|
441
|
+
const lineClasses = line.properties?.className ?? [];
|
|
442
|
+
if (lineClasses.includes('pcb__line--add') || lineClasses.includes('pcb__line--del')) {
|
|
443
|
+
preLevelClasses.add('has-diff');
|
|
444
|
+
}
|
|
445
|
+
if (lineClasses.includes('pcb__line--focus')) {
|
|
446
|
+
preLevelClasses.add('has-focused');
|
|
447
|
+
}
|
|
448
|
+
if (lineClasses.includes('pcb__line--hl')) {
|
|
449
|
+
preLevelClasses.add('has-highlighted');
|
|
450
|
+
}
|
|
451
|
+
if (lineClasses.includes('pcb__line--error') || lineClasses.includes('pcb__line--warning') || lineClasses.includes('pcb__line--info')) {
|
|
452
|
+
preLevelClasses.add('has-error-level');
|
|
453
|
+
}
|
|
454
|
+
}
|
|
337
455
|
// Build code <pre><code> with line spans.
|
|
338
456
|
// When keepBackground is true, preserve Shiki's inline `style` (which includes
|
|
339
457
|
// background-color + color from the theme) on the new <pre>.
|
|
340
|
-
const newCode = h('code', codeDataProps,
|
|
458
|
+
const newCode = h('code', codeDataProps, collapsedLines);
|
|
341
459
|
const newPreProps = {};
|
|
460
|
+
if (preLevelClasses.size > 0) {
|
|
461
|
+
newPreProps.className = [...preLevelClasses];
|
|
462
|
+
}
|
|
342
463
|
if (opts.keepBackground && pre.properties?.style) {
|
|
343
464
|
newPreProps.style = pre.properties.style;
|
|
344
465
|
}
|
|
@@ -350,33 +471,56 @@ async function transformPre(pre, opts) {
|
|
|
350
471
|
if (resolved.highlight.length > 0)
|
|
351
472
|
bodyClasses.push('pcb__body--has-hl');
|
|
352
473
|
// Accessibility: mark scrollable region so screen readers announce it (WCAG 4.1.2).
|
|
474
|
+
// Also add tabindex=0 for keyboard scrolling (WCAG 2.1.1).
|
|
353
475
|
const bodyProps = { className: bodyClasses };
|
|
354
476
|
if (opts.accessibleScroll) {
|
|
355
477
|
bodyProps.role = 'region';
|
|
478
|
+
bodyProps.tabIndex = 0;
|
|
479
|
+
// i18n: allow user to override the aria-label prefix.
|
|
480
|
+
const ariaPrefix = opts.texts?.codeBlockAriaPrefix ?? 'Code block';
|
|
356
481
|
// Escape the title/lang for use in an aria-label attribute (defense in depth:
|
|
357
482
|
// prevents any <script> or other HTML from leaking into the attribute).
|
|
358
483
|
const safeLabel = title
|
|
359
|
-
?
|
|
484
|
+
? `${ariaPrefix}: ${title.replace(/[<>"'&]/g, (c) => ({ '<': '<', '>': '>', '"': '"', "'": ''', '&': '&' }[c] ?? c))}`
|
|
360
485
|
: effectiveLang
|
|
361
|
-
?
|
|
362
|
-
:
|
|
486
|
+
? `${ariaPrefix}: ${effectiveLang}`
|
|
487
|
+
: ariaPrefix;
|
|
363
488
|
bodyProps.ariaLabel = safeLabel;
|
|
364
489
|
}
|
|
365
490
|
const body = h('div', bodyProps, [newPre]);
|
|
491
|
+
// i18n: screen-reader-only title for terminal preset (improves context).
|
|
492
|
+
const terminalSrText = (presetClass === 'terminal' && !title && opts.terminalSrOnlyTitle !== false)
|
|
493
|
+
? (opts.texts?.terminalSrOnlyTitle ?? 'Terminal window')
|
|
494
|
+
: null;
|
|
366
495
|
// Header bar.
|
|
496
|
+
// Use <figcaption> when there's no separate caption (more semantic).
|
|
497
|
+
// When both title-bar and caption are present, use <div> for bar and
|
|
498
|
+
// <figcaption> for the caption (matches rehype-pretty-code).
|
|
367
499
|
let bar = null;
|
|
368
500
|
if (resolved.titleBar) {
|
|
369
501
|
const barChildren = [];
|
|
370
502
|
if (resolved.decorations)
|
|
371
503
|
barChildren.push(dotsElement());
|
|
504
|
+
if (terminalSrText) {
|
|
505
|
+
barChildren.push(h('span', { className: ['pcb__sr-only'] }, [hText(terminalSrText)]));
|
|
506
|
+
}
|
|
372
507
|
barChildren.push(h('div', { className: ['pcb__title'] }, title ? [hText(title)] : []));
|
|
373
508
|
if (resolved.showLanguage && resolved.language) {
|
|
374
509
|
barChildren.push(h('div', { className: ['pcb__lang'] }, [hText(languageLabel ?? resolved.language)]));
|
|
375
510
|
}
|
|
376
511
|
if (resolved.copyButton) {
|
|
377
|
-
|
|
512
|
+
const btn = buildCopyButton(opts);
|
|
513
|
+
// For terminal preset + copyStripComments, mark the button so the
|
|
514
|
+
// client script knows to strip # comments from the copied text.
|
|
515
|
+
if (presetClass === 'terminal' && opts.copyStripComments !== false) {
|
|
516
|
+
btn.properties.dataStripComments = '';
|
|
517
|
+
}
|
|
518
|
+
barChildren.push(btn);
|
|
378
519
|
}
|
|
379
|
-
bar
|
|
520
|
+
// Use figcaption for the bar when there's no separate caption below —
|
|
521
|
+
// this gives the figure an accessible name from the title.
|
|
522
|
+
const barTag = (!opts.caption || !meta.caption) && title ? 'figcaption' : 'div';
|
|
523
|
+
bar = h(barTag, { className: ['pcb__bar'] }, barChildren);
|
|
380
524
|
if (title)
|
|
381
525
|
opts.onVisitTitle(bar);
|
|
382
526
|
}
|
|
@@ -397,6 +541,9 @@ async function transformPre(pre, opts) {
|
|
|
397
541
|
const summaryChildren = [];
|
|
398
542
|
if (resolved.decorations)
|
|
399
543
|
summaryChildren.push(dotsElement());
|
|
544
|
+
if (terminalSrText) {
|
|
545
|
+
summaryChildren.push(h('span', { className: ['pcb__sr-only'] }, [hText(terminalSrText)]));
|
|
546
|
+
}
|
|
400
547
|
summaryChildren.push(h('span', { className: ['pcb__title'] }, [hText(title ?? 'code')]));
|
|
401
548
|
if (resolved.showLanguage && resolved.language) {
|
|
402
549
|
summaryChildren.push(h('div', { className: ['pcb__lang'] }, [hText(languageLabel ?? resolved.language)]));
|
|
@@ -418,8 +565,13 @@ async function transformPre(pre, opts) {
|
|
|
418
565
|
}
|
|
419
566
|
/** Build the copy button based on options (legacy boolean or new object form). */
|
|
420
567
|
function buildCopyButton(opts) {
|
|
421
|
-
|
|
422
|
-
|
|
568
|
+
// i18n: allow user to override default UI strings via `texts` option.
|
|
569
|
+
const texts = opts.texts ?? {};
|
|
570
|
+
const defaultLabel = texts.copyLabel ?? 'copy';
|
|
571
|
+
const defaultDoneLabel = texts.doneLabel ?? 'copied!';
|
|
572
|
+
const defaultAriaLabel = texts.copyAriaLabel ?? 'Copy code';
|
|
573
|
+
let label = defaultLabel;
|
|
574
|
+
let doneLabel = defaultDoneLabel;
|
|
423
575
|
let copyIcon;
|
|
424
576
|
let successIcon;
|
|
425
577
|
let feedbackDuration;
|
|
@@ -429,17 +581,26 @@ function buildCopyButton(opts) {
|
|
|
429
581
|
label = opts.copyButton.label ?? null;
|
|
430
582
|
}
|
|
431
583
|
if ('doneLabel' in opts.copyButton) {
|
|
432
|
-
doneLabel = opts.copyButton.doneLabel ??
|
|
584
|
+
doneLabel = opts.copyButton.doneLabel ?? defaultDoneLabel;
|
|
433
585
|
}
|
|
434
586
|
copyIcon = opts.copyButton.copyIcon;
|
|
435
587
|
successIcon = opts.copyButton.successIcon;
|
|
436
588
|
feedbackDuration = opts.copyButton.feedbackDuration;
|
|
437
589
|
}
|
|
438
|
-
else {
|
|
439
|
-
// Legacy
|
|
440
|
-
|
|
441
|
-
|
|
590
|
+
else if (opts.copyButton === true) {
|
|
591
|
+
// Legacy boolean `copyButton: true`.
|
|
592
|
+
// If user explicitly set copyButtonLabel/copyButtonDoneLabel (deprecated),
|
|
593
|
+
// honor them. Otherwise use the i18n defaults from `texts`.
|
|
594
|
+
// We detect "explicitly set" by checking against the defaults: 'copy' and 'copied!'.
|
|
595
|
+
// (This is a bit of a hack but maintains backward compat.)
|
|
596
|
+
if (opts.copyButtonLabel !== 'copy') {
|
|
597
|
+
label = opts.copyButtonLabel;
|
|
598
|
+
}
|
|
599
|
+
if (opts.copyButtonDoneLabel !== 'copied!') {
|
|
600
|
+
doneLabel = opts.copyButtonDoneLabel;
|
|
601
|
+
}
|
|
442
602
|
}
|
|
603
|
+
// Note: when copyButton=false, buildCopyButton is never called.
|
|
443
604
|
const btnChildren = [copyIconElement(copyIcon)];
|
|
444
605
|
if (label) {
|
|
445
606
|
btnChildren.push(h('span', { className: ['pcb__copy-label'] }, [hText(label)]));
|
|
@@ -447,7 +608,7 @@ function buildCopyButton(opts) {
|
|
|
447
608
|
const btnProps = {
|
|
448
609
|
className: ['pcb__copy'],
|
|
449
610
|
type: 'button',
|
|
450
|
-
ariaLabel:
|
|
611
|
+
ariaLabel: defaultAriaLabel,
|
|
451
612
|
dataDoneLabel: doneLabel,
|
|
452
613
|
};
|
|
453
614
|
// SECURITY: successIcon is stored verbatim as a data-* attribute and later
|
|
@@ -734,6 +895,59 @@ function filterTrailingEmpty(lines) {
|
|
|
734
895
|
const hasText = extractText(codeChild).length > 0;
|
|
735
896
|
return hasText ? lines : lines.slice(0, -1);
|
|
736
897
|
}
|
|
898
|
+
/**
|
|
899
|
+
* Wrap per-line collapsible sections in <details><summary>…</summary>…</details>.
|
|
900
|
+
*
|
|
901
|
+
* Reads `meta.collapseRanges` (parsed from `collapse="5-12,20-30"` meta) and
|
|
902
|
+
* wraps matching line ranges. Lines are 1-indexed (matching the lineNumbersStart
|
|
903
|
+
* offset passed in).
|
|
904
|
+
*
|
|
905
|
+
* The summary element shows "N collapsed lines" (or the i18n variant).
|
|
906
|
+
* The details element gets class `pcb__collapse` plus a style class based on
|
|
907
|
+
* `opts.collapseStyle` (e.g. `pcb__collapse--github`).
|
|
908
|
+
*
|
|
909
|
+
* Lines outside any range are passed through unchanged.
|
|
910
|
+
*/
|
|
911
|
+
function wrapCollapsedSections(lines, meta, opts, lineNumbersStart) {
|
|
912
|
+
if (!meta.collapseRanges || meta.collapseRanges.length === 0) {
|
|
913
|
+
return lines;
|
|
914
|
+
}
|
|
915
|
+
// Build a map of lineNumber → index in `lines`.
|
|
916
|
+
// Line numbers are 1-indexed starting at `lineNumbersStart`.
|
|
917
|
+
// Index in `lines` is 0-indexed, so line N corresponds to lines[N - lineNumbersStart].
|
|
918
|
+
const result = [];
|
|
919
|
+
let i = 0;
|
|
920
|
+
while (i < lines.length) {
|
|
921
|
+
const lineNumber = i + lineNumbersStart;
|
|
922
|
+
// Find a collapse range that starts at this line.
|
|
923
|
+
const range = meta.collapseRanges.find((r) => r.from === lineNumber);
|
|
924
|
+
if (range) {
|
|
925
|
+
const rangeSize = range.to - range.from + 1;
|
|
926
|
+
const sectionLines = lines.slice(i, i + rangeSize);
|
|
927
|
+
// i18n: customize the summary label.
|
|
928
|
+
const labelFn = opts.texts?.collapsedLinesLabel;
|
|
929
|
+
const summaryText = labelFn
|
|
930
|
+
? labelFn(rangeSize)
|
|
931
|
+
: `${rangeSize} collapsed line${rangeSize === 1 ? '' : 's'}`;
|
|
932
|
+
const summary = h('summary', { className: ['pcb__collapse-summary'] }, [hText(summaryText)]);
|
|
933
|
+
const detailsClasses = ['pcb__collapse'];
|
|
934
|
+
if (opts.collapseStyle && opts.collapseStyle !== 'github') {
|
|
935
|
+
detailsClasses.push(`pcb__collapse--${opts.collapseStyle}`);
|
|
936
|
+
}
|
|
937
|
+
else {
|
|
938
|
+
detailsClasses.push('pcb__collapse--github');
|
|
939
|
+
}
|
|
940
|
+
const details = h('details', { className: detailsClasses }, [summary, ...sectionLines]);
|
|
941
|
+
result.push(details);
|
|
942
|
+
i += rangeSize;
|
|
943
|
+
}
|
|
944
|
+
else {
|
|
945
|
+
result.push(lines[i]);
|
|
946
|
+
i++;
|
|
947
|
+
}
|
|
948
|
+
}
|
|
949
|
+
return result;
|
|
950
|
+
}
|
|
737
951
|
/** Walk line children and remap "highlighted-word" → "pcb__word" class. */
|
|
738
952
|
function mapWordHighlights(children) {
|
|
739
953
|
return children.map((child) => {
|
package/dist/transformer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformer.js","sourceRoot":"","sources":["../src/transformer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transformer.js","sourceRoot":"","sources":["../src/transformer.ts"],"names":[],"mappings":"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"}
|