punctilio 5.0.9 → 5.1.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/README.md +9 -8
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +45 -22
- package/dist/cli.js.map +1 -1
- package/dist/dashes.d.ts +4 -2
- package/dist/dashes.d.ts.map +1 -1
- package/dist/dashes.js +87 -56
- package/dist/dashes.js.map +1 -1
- package/dist/nbsp.d.ts.map +1 -1
- package/dist/nbsp.js +44 -19
- package/dist/nbsp.js.map +1 -1
- package/dist/prose-view.d.ts +18 -0
- package/dist/prose-view.d.ts.map +1 -1
- package/dist/prose-view.js +71 -26
- package/dist/prose-view.js.map +1 -1
- package/dist/quote-classifier.d.ts.map +1 -1
- package/dist/quote-classifier.js +103 -20
- package/dist/quote-classifier.js.map +1 -1
- package/dist/rehype.d.ts +23 -5
- package/dist/rehype.d.ts.map +1 -1
- package/dist/rehype.js +166 -62
- package/dist/rehype.js.map +1 -1
- package/dist/remark.d.ts.map +1 -1
- package/dist/remark.js +30 -12
- package/dist/remark.js.map +1 -1
- package/dist/symbols.d.ts.map +1 -1
- package/dist/symbols.js +74 -24
- package/dist/symbols.js.map +1 -1
- package/dist/utils.d.ts +0 -2
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +0 -4
- package/dist/utils.js.map +1 -1
- package/package.json +5 -5
- package/src/cli.ts +47 -19
- package/src/dashes.ts +88 -61
- package/src/nbsp.ts +43 -17
- package/src/prose-view.ts +78 -21
- package/src/quote-classifier.ts +110 -19
- package/src/rehype.ts +202 -72
- package/src/remark.ts +36 -20
- package/src/symbols.ts +65 -18
- package/src/utils.ts +0 -5
package/dist/rehype.js
CHANGED
|
@@ -3,7 +3,7 @@ import { transformView } from "./index.js";
|
|
|
3
3
|
import { TRANSFORM_OPTION_KEYS } from "./transform-options.js";
|
|
4
4
|
import { MAX_RECURSION_DEPTH } from "./constants.js";
|
|
5
5
|
import { assertKnownOptionKeys, formatErrorString } from "./utils.js";
|
|
6
|
-
import { buildProseView } from "./prose-view.js";
|
|
6
|
+
import { buildProseView, splitAtIndices } from "./prose-view.js";
|
|
7
7
|
const DEFAULT_SKIP_TAGS = ["code", "pre", "script", "style", "kbd", "var", "samp", "template", "math", "svg"];
|
|
8
8
|
// Form elements whose text content is a literal control value, not prose.
|
|
9
9
|
// Hard-skipped (whole subtree) under `transformAllElements`, on top of the
|
|
@@ -20,38 +20,73 @@ const NON_PROSE_CONTAINER_TAGS = new Set(["select"]);
|
|
|
20
20
|
export const REHYPE_ONLY_OPTION_KEYS = ["skipTags", "skipClasses", "shouldSkipText", "transformAllElements"];
|
|
21
21
|
/** Runtime list of valid `rehypePunctilio` option keys. */
|
|
22
22
|
export const REHYPE_OPTION_KEYS = [...TRANSFORM_OPTION_KEYS, ...REHYPE_ONLY_OPTION_KEYS];
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
function
|
|
23
|
+
// Void/replaced inline elements that render atomic content (or a hard break)
|
|
24
|
+
// and carry no transformable text. When one sits between two text nodes it is a
|
|
25
|
+
// real visual separator, so the flattener records an opaque gap there.
|
|
26
|
+
const OPAQUE_VOID_TAGS = new Set([
|
|
27
|
+
"img", "br", "wbr", "input", "hr", "embed",
|
|
28
|
+
"area", "source", "track", "col", "param", "keygen",
|
|
29
|
+
]);
|
|
30
|
+
function collectProse(node, depth, c) {
|
|
31
31
|
if (depth > MAX_RECURSION_DEPTH) {
|
|
32
|
-
return
|
|
32
|
+
return;
|
|
33
33
|
}
|
|
34
|
-
if (node.type === "element"
|
|
35
|
-
|
|
34
|
+
if (node.type === "element") {
|
|
35
|
+
if (c.shouldSkip(node)) {
|
|
36
|
+
// A skipped element with content is a visual separator; an empty one
|
|
37
|
+
// renders nothing and leaves its neighbors genuinely adjacent.
|
|
38
|
+
if (node.children.length > 0)
|
|
39
|
+
c.pendingOpaque = true;
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (OPAQUE_VOID_TAGS.has(node.tagName)) {
|
|
43
|
+
c.pendingOpaque = true;
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (c.ancestors)
|
|
47
|
+
c.ancestors.push(node);
|
|
48
|
+
for (const child of node.children)
|
|
49
|
+
collectProse(child, depth + 1, c);
|
|
50
|
+
if (c.ancestors)
|
|
51
|
+
c.ancestors.pop();
|
|
52
|
+
return;
|
|
36
53
|
}
|
|
37
54
|
if (node.type === "text") {
|
|
38
55
|
// Snapshot ancestors at the callback boundary — the walker mutates the
|
|
39
56
|
// shared array as it recurses, so handing it out directly would let a
|
|
40
57
|
// caller observe a stale view if they captured the reference.
|
|
41
|
-
if (shouldSkipText && ancestors && shouldSkipText(node, ancestors.slice())) {
|
|
42
|
-
|
|
58
|
+
if (c.shouldSkipText && c.ancestors && c.shouldSkipText(node, c.ancestors.slice())) {
|
|
59
|
+
// Preserved-but-untransformed text is a separator between its neighbors.
|
|
60
|
+
c.pendingOpaque = true;
|
|
61
|
+
return;
|
|
43
62
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
ancestors.push(node);
|
|
49
|
-
const result = node.children.flatMap((child) => flattenTextNodesImpl(child, shouldSkip, shouldSkipText, ancestors, depth + 1));
|
|
50
|
-
if (ancestors)
|
|
51
|
-
ancestors.pop();
|
|
52
|
-
return result;
|
|
63
|
+
if (c.pendingOpaque && c.nodes.length > 0)
|
|
64
|
+
c.opaqueBefore.add(c.nodes.length);
|
|
65
|
+
c.pendingOpaque = false;
|
|
66
|
+
c.nodes.push(node);
|
|
53
67
|
}
|
|
54
|
-
|
|
68
|
+
}
|
|
69
|
+
function newCollector(shouldSkip, options) {
|
|
70
|
+
const shouldSkipText = options?.shouldSkipText;
|
|
71
|
+
return {
|
|
72
|
+
nodes: [],
|
|
73
|
+
opaqueBefore: new Set(),
|
|
74
|
+
shouldSkip,
|
|
75
|
+
shouldSkipText,
|
|
76
|
+
// Only track ancestors when shouldSkipText needs them, to avoid the
|
|
77
|
+
// O(n²) allocation cost of copying the ancestor chain at every level.
|
|
78
|
+
ancestors: shouldSkipText ? [] : null,
|
|
79
|
+
pendingOpaque: false,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/** Flattens an element's transformable text nodes, tracking opaque gaps. */
|
|
83
|
+
export function flattenProse(node, shouldSkip, options) {
|
|
84
|
+
const c = newCollector(shouldSkip, options);
|
|
85
|
+
collectProse(node, 0, c);
|
|
86
|
+
return { nodes: c.nodes, opaqueBefore: c.opaqueBefore };
|
|
87
|
+
}
|
|
88
|
+
export function flattenTextNodes(node, shouldSkip, options) {
|
|
89
|
+
return flattenProse(node, shouldSkip, options).nodes;
|
|
55
90
|
}
|
|
56
91
|
export function getTextContent(node, shouldSkip = () => false) {
|
|
57
92
|
return flattenTextNodes(node, shouldSkip)
|
|
@@ -99,9 +134,11 @@ export function assertSmartQuotesMatch(input) {
|
|
|
99
134
|
}
|
|
100
135
|
}
|
|
101
136
|
/**
|
|
102
|
-
* Builds a ProseView over the element's transformable text nodes,
|
|
103
|
-
* the element-level `shouldSkip` and per-text-node `shouldSkipText`
|
|
104
|
-
* predicates. Returns null when the element holds no transformable text.
|
|
137
|
+
* Builds a single ProseView over the element's transformable text nodes,
|
|
138
|
+
* honoring the element-level `shouldSkip` and per-text-node `shouldSkipText`
|
|
139
|
+
* predicates. Returns null when the element holds no transformable text. This
|
|
140
|
+
* view spans opaque gaps; the transform pipeline uses {@link proseViewsOf},
|
|
141
|
+
* which splits on them so no pass rewrites across removed atomic content.
|
|
105
142
|
*/
|
|
106
143
|
export function proseViewOf(element, options = {}) {
|
|
107
144
|
/* istanbul ignore if -- defensive: elements should always have children array */
|
|
@@ -115,6 +152,21 @@ export function proseViewOf(element, options = {}) {
|
|
|
115
152
|
}
|
|
116
153
|
return buildProseView(textNodes);
|
|
117
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* Builds one ProseView per opaque-delimited segment of the element's text.
|
|
157
|
+
* Splitting at opaque gaps (removed skipped elements, images, and other atomic
|
|
158
|
+
* inline content) keeps their surrounding text in separate views, so a pass can
|
|
159
|
+
* never treat text as adjacent across content that visually separates it.
|
|
160
|
+
*/
|
|
161
|
+
export function proseViewsOf(element, options = {}) {
|
|
162
|
+
/* istanbul ignore if -- defensive: elements should always have children array */
|
|
163
|
+
if (!element?.children) {
|
|
164
|
+
return [];
|
|
165
|
+
}
|
|
166
|
+
const shouldSkip = options.shouldSkip ?? (() => false);
|
|
167
|
+
const { nodes, opaqueBefore } = flattenProse(element, shouldSkip, options);
|
|
168
|
+
return splitAtIndices(nodes, opaqueBefore).map((group) => buildProseView(group));
|
|
169
|
+
}
|
|
118
170
|
function resolvePassEntry(entry) {
|
|
119
171
|
return typeof entry === "function" ? { pass: entry } : entry;
|
|
120
172
|
}
|
|
@@ -138,7 +190,7 @@ function mergePredicates(base, extra) {
|
|
|
138
190
|
* that survive both the base `options` predicates and its own.
|
|
139
191
|
*/
|
|
140
192
|
export function applyPasses(element, passes, options = {}) {
|
|
141
|
-
let
|
|
193
|
+
let currentViews = [];
|
|
142
194
|
let currentPredicates = null;
|
|
143
195
|
for (const entry of passes) {
|
|
144
196
|
const { pass, shouldSkip, shouldSkipText } = resolvePassEntry(entry);
|
|
@@ -146,18 +198,17 @@ export function applyPasses(element, passes, options = {}) {
|
|
|
146
198
|
currentPredicates.shouldSkip === shouldSkip &&
|
|
147
199
|
currentPredicates.shouldSkipText === shouldSkipText;
|
|
148
200
|
if (!samePredicates) {
|
|
149
|
-
|
|
201
|
+
currentViews = proseViewsOf(element, {
|
|
150
202
|
shouldSkip: mergePredicates(options.shouldSkip, shouldSkip),
|
|
151
203
|
shouldSkipText: mergePredicates(options.shouldSkipText, shouldSkipText),
|
|
152
204
|
});
|
|
153
205
|
currentPredicates = { shouldSkip, shouldSkipText };
|
|
154
206
|
}
|
|
155
|
-
//
|
|
156
|
-
//
|
|
157
|
-
|
|
158
|
-
|
|
207
|
+
// Each opaque-delimited segment is transformed independently; an entry with
|
|
208
|
+
// no transformable text simply has no views to run over.
|
|
209
|
+
for (const view of currentViews) {
|
|
210
|
+
pass(view);
|
|
159
211
|
}
|
|
160
|
-
pass(currentView);
|
|
161
212
|
}
|
|
162
213
|
}
|
|
163
214
|
// Block children cause per-block processing to avoid merging text across
|
|
@@ -275,21 +326,26 @@ function resolveCollectOptions(options) {
|
|
|
275
326
|
};
|
|
276
327
|
}
|
|
277
328
|
/**
|
|
278
|
-
* Collects the elements under `root` (inclusive) whose text should be
|
|
329
|
+
* Collects the leaf elements under `root` (inclusive) whose text should be
|
|
279
330
|
* transformed as one prose block: transformable elements with direct text or
|
|
280
331
|
* inline-only text descendants. Elements with block-level children recurse so
|
|
281
|
-
* each block transforms independently.
|
|
332
|
+
* each block transforms independently. Loose inline text mixed among block
|
|
333
|
+
* children is handled by the plugin as its own run and is not represented here.
|
|
282
334
|
*/
|
|
283
335
|
export function collectProseBlocks(root, options = {}) {
|
|
284
336
|
const { shouldSkip, isTransformable } = resolveCollectOptions(options);
|
|
285
|
-
return
|
|
337
|
+
return collectProseUnitsImpl(root, shouldSkip, 0, undefined, isTransformable)
|
|
338
|
+
.flatMap((unit) => (unit.kind === "element" ? [unit.element] : []));
|
|
339
|
+
}
|
|
340
|
+
function runHasProse(children, shouldSkip) {
|
|
341
|
+
return children.some((child) => (child.type === "text" && child.value.trim() !== "") ||
|
|
342
|
+
(child.type === "element" && hasTextDescendant(child, shouldSkip)));
|
|
286
343
|
}
|
|
287
|
-
function
|
|
344
|
+
function collectProseUnitsImpl(node, shouldSkip, depth, alreadyTransformed, isTransformable) {
|
|
288
345
|
/* istanbul ignore if -- defensive: prevents stack overflow from malicious HTML */
|
|
289
346
|
if (depth > MAX_RECURSION_DEPTH) {
|
|
290
347
|
return [];
|
|
291
348
|
}
|
|
292
|
-
const results = [];
|
|
293
349
|
if (shouldSkip(node) || alreadyTransformed?.has(node)) {
|
|
294
350
|
return [];
|
|
295
351
|
}
|
|
@@ -299,27 +355,59 @@ function collectProseBlocksImpl(node, shouldSkip, depth, alreadyTransformed, isT
|
|
|
299
355
|
// and merge its blocks into one transform unit, pairing quotes across the
|
|
300
356
|
// paragraph boundary. Real (non-whitespace) direct text still marks a leaf.
|
|
301
357
|
const hasDirectText = node.children.some((child) => child.type === "text" && child.value.trim() !== "");
|
|
302
|
-
|
|
303
|
-
//
|
|
304
|
-
|
|
305
|
-
const hasTextDescendants = !hasDirectText && !hasBlockChildren &&
|
|
306
|
-
hasTextDescendant(node, shouldSkip);
|
|
358
|
+
const hasBlockChildren = node.children.some((child) => child.type === "element" && BLOCK_ELEMENTS.has(child.tagName));
|
|
359
|
+
// Inline-only transformable node: a single leaf unit. `hasTextDescendant` is
|
|
360
|
+
// only walked when there's no direct text (short-circuit avoids the traversal).
|
|
307
361
|
if (isTransformable(node.tagName) &&
|
|
308
|
-
|
|
309
|
-
|
|
362
|
+
!hasBlockChildren &&
|
|
363
|
+
(hasDirectText || hasTextDescendant(node, shouldSkip))) {
|
|
364
|
+
return [{ kind: "element", element: node }];
|
|
365
|
+
}
|
|
366
|
+
const units = [];
|
|
367
|
+
if (isTransformable(node.tagName) && hasBlockChildren) {
|
|
368
|
+
// Mixed content: split each maximal run of inline siblings from the block
|
|
369
|
+
// children so loose text transforms on its own, then recurse per block.
|
|
370
|
+
let run = [];
|
|
371
|
+
const flushRun = () => {
|
|
372
|
+
if (runHasProse(run, shouldSkip))
|
|
373
|
+
units.push({ kind: "run", container: node, children: run });
|
|
374
|
+
run = [];
|
|
375
|
+
};
|
|
376
|
+
for (const child of node.children) {
|
|
377
|
+
if (child.type === "element" && BLOCK_ELEMENTS.has(child.tagName)) {
|
|
378
|
+
flushRun();
|
|
379
|
+
for (const u of collectProseUnitsImpl(child, shouldSkip, depth + 1, alreadyTransformed, isTransformable)) {
|
|
380
|
+
units.push(u);
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
else {
|
|
384
|
+
run.push(child);
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
flushRun();
|
|
310
388
|
}
|
|
311
389
|
else {
|
|
312
|
-
//
|
|
313
|
-
// children that should be independent, or has no text to transform.
|
|
390
|
+
// Non-transformable, or transformable but textless: recurse into elements.
|
|
314
391
|
for (const child of node.children) {
|
|
315
392
|
if (child.type === "element") {
|
|
316
|
-
const
|
|
317
|
-
|
|
318
|
-
|
|
393
|
+
for (const u of collectProseUnitsImpl(child, shouldSkip, depth + 1, alreadyTransformed, isTransformable)) {
|
|
394
|
+
units.push(u);
|
|
395
|
+
}
|
|
319
396
|
}
|
|
320
397
|
}
|
|
321
398
|
}
|
|
322
|
-
return
|
|
399
|
+
return units;
|
|
400
|
+
}
|
|
401
|
+
// Flatten a run's inline siblings to their text nodes (with opaque gaps),
|
|
402
|
+
// seeding the ancestor chain with `container` so `shouldSkipText` sees the same
|
|
403
|
+
// ancestors it would when the whole element is flattened as a leaf.
|
|
404
|
+
function flattenRunProse(container, children, shouldSkip, options) {
|
|
405
|
+
const c = newCollector(shouldSkip, options);
|
|
406
|
+
if (c.ancestors)
|
|
407
|
+
c.ancestors.push(container);
|
|
408
|
+
for (const child of children)
|
|
409
|
+
collectProse(child, 1, c);
|
|
410
|
+
return { nodes: c.nodes, opaqueBefore: c.opaqueBefore };
|
|
323
411
|
}
|
|
324
412
|
function markDescendants(node, set, depth = 0) {
|
|
325
413
|
/* istanbul ignore if -- defensive: prevents stack overflow from malicious HTML */
|
|
@@ -354,17 +442,33 @@ export function rehypePunctilio(options = {}) {
|
|
|
354
442
|
if (shouldSkip(node)) {
|
|
355
443
|
return SKIP;
|
|
356
444
|
}
|
|
357
|
-
// Collect and transform
|
|
358
|
-
const
|
|
359
|
-
for (const
|
|
360
|
-
if (
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
445
|
+
// Collect and transform every prose unit in this subtree.
|
|
446
|
+
const units = collectProseUnitsImpl(node, shouldSkip, 0, transformed, isTransformable);
|
|
447
|
+
for (const unit of units) {
|
|
448
|
+
if (unit.kind === "element") {
|
|
449
|
+
if (!transformed.has(unit.element)) {
|
|
450
|
+
for (const view of proseViewsOf(unit.element, viewOptions)) {
|
|
451
|
+
transformView(view, transformOptions);
|
|
452
|
+
}
|
|
453
|
+
transformed.add(unit.element);
|
|
454
|
+
// Mark all descendants as processed since their text was included
|
|
455
|
+
markDescendants(unit.element, transformed);
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
else {
|
|
459
|
+
const { nodes, opaqueBefore } = flattenRunProse(unit.container, unit.children, shouldSkip, viewOptions);
|
|
460
|
+
for (const group of splitAtIndices(nodes, opaqueBefore)) {
|
|
461
|
+
transformView(buildProseView(group), transformOptions);
|
|
462
|
+
}
|
|
463
|
+
// Mark the container so a later visit doesn't re-collect its runs,
|
|
464
|
+
// and mark the run's inline-element members' subtrees.
|
|
465
|
+
transformed.add(unit.container);
|
|
466
|
+
for (const child of unit.children) {
|
|
467
|
+
if (child.type === "element") {
|
|
468
|
+
transformed.add(child);
|
|
469
|
+
markDescendants(child, transformed);
|
|
470
|
+
}
|
|
364
471
|
}
|
|
365
|
-
transformed.add(elt);
|
|
366
|
-
// Mark all descendants as processed since their text was included
|
|
367
|
-
markDescendants(elt, transformed);
|
|
368
472
|
}
|
|
369
473
|
}
|
|
370
474
|
});
|
package/dist/rehype.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rehype.js","sourceRoot":"","sources":["../src/rehype.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rehype.js","sourceRoot":"","sources":["../src/rehype.ts"],"names":[],"mappings":"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"}
|
package/dist/remark.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remark.d.ts","sourceRoot":"","sources":["../src/remark.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,IAAI,EAAQ,MAAM,OAAO,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAK1C,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAKrF;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"remark.d.ts","sourceRoot":"","sources":["../src/remark.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,IAAI,EAAQ,MAAM,OAAO,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAK1C,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAKrF;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,CAAA;AAkDrD,wBAAgB,eAAe,CAC7B,OAAO,GAAE,sBAA2B,GACnC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAoCzB;AAED,eAAe,eAAe,CAAA"}
|
package/dist/remark.js
CHANGED
|
@@ -2,25 +2,42 @@ import { visitParents } from "unist-util-visit-parents";
|
|
|
2
2
|
import { transformView } from "./index.js";
|
|
3
3
|
import { TRANSFORM_OPTION_KEYS } from "./transform-options.js";
|
|
4
4
|
import { MAX_RECURSION_DEPTH } from "./constants.js";
|
|
5
|
-
import { buildProseView } from "./prose-view.js";
|
|
5
|
+
import { buildProseView, splitAtIndices } from "./prose-view.js";
|
|
6
6
|
import { assertKnownOptionKeys } from "./utils.js";
|
|
7
7
|
const PHRASING_CONTAINERS = new Set(["paragraph", "heading", "tableCell"]);
|
|
8
8
|
const SKIP_TYPES = new Set(["inlineCode", "html"]);
|
|
9
|
-
|
|
9
|
+
// Leaf phrasing nodes that render atomic content and carry no transformable
|
|
10
|
+
// text. Between two text nodes, one is a real visual separator, so the
|
|
11
|
+
// flattener records an opaque gap there (mirroring skipped `inlineCode`/`html`).
|
|
12
|
+
const OPAQUE_LEAF_TYPES = new Set([
|
|
13
|
+
"image", "imageReference", "break", "footnoteReference", "inlineMath",
|
|
14
|
+
]);
|
|
15
|
+
function collectProse(node, depth, c) {
|
|
10
16
|
/* istanbul ignore if -- defensive: prevents stack overflow from malicious nesting */
|
|
11
17
|
if (depth > MAX_RECURSION_DEPTH) {
|
|
12
|
-
return
|
|
18
|
+
return;
|
|
13
19
|
}
|
|
14
|
-
if (SKIP_TYPES.has(node.type)) {
|
|
15
|
-
|
|
20
|
+
if (SKIP_TYPES.has(node.type) || OPAQUE_LEAF_TYPES.has(node.type)) {
|
|
21
|
+
c.pendingOpaque = true;
|
|
22
|
+
return;
|
|
16
23
|
}
|
|
17
24
|
if (node.type === "text") {
|
|
18
|
-
|
|
25
|
+
if (c.pendingOpaque && c.nodes.length > 0)
|
|
26
|
+
c.opaqueBefore.add(c.nodes.length);
|
|
27
|
+
c.pendingOpaque = false;
|
|
28
|
+
c.nodes.push(node);
|
|
29
|
+
return;
|
|
19
30
|
}
|
|
20
31
|
if ("children" in node) {
|
|
21
|
-
|
|
32
|
+
for (const child of node.children)
|
|
33
|
+
collectProse(child, depth + 1, c);
|
|
22
34
|
}
|
|
23
|
-
|
|
35
|
+
}
|
|
36
|
+
function flattenProse(children) {
|
|
37
|
+
const c = { nodes: [], opaqueBefore: new Set(), pendingOpaque: false };
|
|
38
|
+
for (const child of children)
|
|
39
|
+
collectProse(child, 0, c);
|
|
40
|
+
return { nodes: c.nodes, opaqueBefore: c.opaqueBefore };
|
|
24
41
|
}
|
|
25
42
|
export function remarkPunctilio(options = {}) {
|
|
26
43
|
assertKnownOptionKeys(options, TRANSFORM_OPTION_KEYS, "remarkPunctilio");
|
|
@@ -44,11 +61,12 @@ export function remarkPunctilio(options = {}) {
|
|
|
44
61
|
if (!("children" in node)) {
|
|
45
62
|
return;
|
|
46
63
|
}
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
64
|
+
const { nodes, opaqueBefore } = flattenProse(node.children);
|
|
65
|
+
// Split at opaque gaps (inline code, images, breaks) so no pass rewrites
|
|
66
|
+
// text as adjacent across content that visually separates it.
|
|
67
|
+
for (const group of splitAtIndices(nodes, opaqueBefore)) {
|
|
68
|
+
transformView(buildProseView(group), pluginOptions);
|
|
50
69
|
}
|
|
51
|
-
transformView(buildProseView(textNodes), pluginOptions);
|
|
52
70
|
});
|
|
53
71
|
};
|
|
54
72
|
}
|
package/dist/remark.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remark.js","sourceRoot":"","sources":["../src/remark.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,qBAAqB,EAAyB,MAAM,wBAAwB,CAAA;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"remark.js","sourceRoot":"","sources":["../src/remark.ts"],"names":[],"mappings":"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"}
|
package/dist/symbols.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../src/symbols.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../src/symbols.ts"],"names":[],"mappings":"AACA,OAAO,EAAqH,KAAK,SAAS,EAAoB,MAAM,iBAAiB,CAAA;AAGrL,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAiCD,uCAAuC;AACvC,eAAO,MAAM,QAAQ,qCAAkC,CAAA;AA4DvD,gDAAgD;AAChD,eAAO,MAAM,cAAc,qCAAwC,CAAA;AAoUnE,0DAA0D;AAC1D,eAAO,MAAM,WAAW,qCAAqC,CAAA;AAiI7D,yCAAyC;AACzC,eAAO,MAAM,YAAY,qCAAsC,CAAA;AAqG/D,oCAAoC;AACpC,eAAO,MAAM,MAAM,qCAAgC,CAAA;AAqCnD,eAAO,MAAM,OAAO,qCAAiC,CAAA;AAmErD,sEAAsE;AACtE,eAAO,MAAM,UAAU,qCAAmC,CAAA;AAwB1D,0EAA0E;AAC1E,eAAO,MAAM,SAAS,qCAAmC,CAAA;AA0EzD,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB,qCAA4C,CAAA;AAoB3E,eAAO,MAAM,cAAc,qCAAwC,CAAA;AAyCnE,kFAAkF;AAClF,eAAO,MAAM,oBAAoB,qCAA8C,CAAA;AA6B/E,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAAA;AAC/E,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAA"}
|