postext 1.11.3 → 1.12.1

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 (162) hide show
  1. package/dist/__tests__/exports.test.js +24 -0
  2. package/dist/__tests__/exports.test.js.map +1 -1
  3. package/dist/__tests__/parse/anchors.test.d.ts +2 -0
  4. package/dist/__tests__/parse/anchors.test.d.ts.map +1 -0
  5. package/dist/__tests__/parse/anchors.test.js +71 -0
  6. package/dist/__tests__/parse/anchors.test.js.map +1 -0
  7. package/dist/__tests__/parse/citations.test.d.ts +2 -0
  8. package/dist/__tests__/parse/citations.test.d.ts.map +1 -0
  9. package/dist/__tests__/parse/citations.test.js +106 -0
  10. package/dist/__tests__/parse/citations.test.js.map +1 -0
  11. package/dist/__tests__/parse/containers.test.js +1 -1
  12. package/dist/__tests__/parse/containers.test.js.map +1 -1
  13. package/dist/__tests__/pipeline/citationNotes.test.d.ts +2 -0
  14. package/dist/__tests__/pipeline/citationNotes.test.d.ts.map +1 -0
  15. package/dist/__tests__/pipeline/citationNotes.test.js +46 -0
  16. package/dist/__tests__/pipeline/citationNotes.test.js.map +1 -0
  17. package/dist/__tests__/pipeline/crossRefs.test.d.ts +2 -0
  18. package/dist/__tests__/pipeline/crossRefs.test.d.ts.map +1 -0
  19. package/dist/__tests__/pipeline/crossRefs.test.js +170 -0
  20. package/dist/__tests__/pipeline/crossRefs.test.js.map +1 -0
  21. package/dist/__tests__/pipeline/footnoteNumberGap.test.d.ts +2 -0
  22. package/dist/__tests__/pipeline/footnoteNumberGap.test.d.ts.map +1 -0
  23. package/dist/__tests__/pipeline/footnoteNumberGap.test.js +75 -0
  24. package/dist/__tests__/pipeline/footnoteNumberGap.test.js.map +1 -0
  25. package/dist/bundle/book.d.ts.map +1 -1
  26. package/dist/bundle/book.js +22 -4
  27. package/dist/bundle/book.js.map +1 -1
  28. package/dist/citations/bibtex.d.ts +19 -0
  29. package/dist/citations/bibtex.d.ts.map +1 -0
  30. package/dist/citations/bibtex.js +376 -0
  31. package/dist/citations/bibtex.js.map +1 -0
  32. package/dist/citations/context.d.ts +64 -0
  33. package/dist/citations/context.d.ts.map +1 -0
  34. package/dist/citations/context.js +115 -0
  35. package/dist/citations/context.js.map +1 -0
  36. package/dist/citations/data.d.ts +35 -0
  37. package/dist/citations/data.d.ts.map +1 -0
  38. package/dist/citations/data.js +158 -0
  39. package/dist/citations/data.js.map +1 -0
  40. package/dist/citations/html.d.ts +16 -0
  41. package/dist/citations/html.d.ts.map +1 -0
  42. package/dist/citations/html.js +99 -0
  43. package/dist/citations/html.js.map +1 -0
  44. package/dist/citations/registry.d.ts +30 -0
  45. package/dist/citations/registry.d.ts.map +1 -0
  46. package/dist/citations/registry.js +51 -0
  47. package/dist/citations/registry.js.map +1 -0
  48. package/dist/citations/types.d.ts +138 -0
  49. package/dist/citations/types.d.ts.map +1 -0
  50. package/dist/citations/types.js +9 -0
  51. package/dist/citations/types.js.map +1 -0
  52. package/dist/defaults/citations.d.ts +5 -0
  53. package/dist/defaults/citations.d.ts.map +1 -0
  54. package/dist/defaults/citations.js +99 -0
  55. package/dist/defaults/citations.js.map +1 -0
  56. package/dist/defaults/crossRefs.d.ts +7 -0
  57. package/dist/defaults/crossRefs.d.ts.map +1 -0
  58. package/dist/defaults/crossRefs.js +35 -0
  59. package/dist/defaults/crossRefs.js.map +1 -0
  60. package/dist/defaults/index.d.ts +2 -0
  61. package/dist/defaults/index.d.ts.map +1 -1
  62. package/dist/defaults/index.js +18 -0
  63. package/dist/defaults/index.js.map +1 -1
  64. package/dist/html-backend.d.ts.map +1 -1
  65. package/dist/html-backend.js +79 -19
  66. package/dist/html-backend.js.map +1 -1
  67. package/dist/index.d.ts +10 -4
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +9 -2
  70. package/dist/index.js.map +1 -1
  71. package/dist/knuthPlass/richAdapter.d.ts +2 -0
  72. package/dist/knuthPlass/richAdapter.d.ts.map +1 -1
  73. package/dist/knuthPlass/richAdapter.js +1 -1
  74. package/dist/knuthPlass/richAdapter.js.map +1 -1
  75. package/dist/measure/cache.js +1 -1
  76. package/dist/measure/cache.js.map +1 -1
  77. package/dist/measure/rich.d.ts +4 -0
  78. package/dist/measure/rich.d.ts.map +1 -1
  79. package/dist/measure/rich.js +9 -2
  80. package/dist/measure/rich.js.map +1 -1
  81. package/dist/parse/attrs.d.ts.map +1 -1
  82. package/dist/parse/attrs.js +31 -4
  83. package/dist/parse/attrs.js.map +1 -1
  84. package/dist/parse/blockParser.d.ts.map +1 -1
  85. package/dist/parse/blockParser.js +68 -8
  86. package/dist/parse/blockParser.js.map +1 -1
  87. package/dist/parse/citations.d.ts +41 -0
  88. package/dist/parse/citations.d.ts.map +1 -0
  89. package/dist/parse/citations.js +214 -0
  90. package/dist/parse/citations.js.map +1 -0
  91. package/dist/parse/index.d.ts +1 -1
  92. package/dist/parse/index.d.ts.map +1 -1
  93. package/dist/parse/index.js.map +1 -1
  94. package/dist/parse/indexMarks.d.ts +2 -7
  95. package/dist/parse/indexMarks.d.ts.map +1 -1
  96. package/dist/parse/indexMarks.js +65 -20
  97. package/dist/parse/indexMarks.js.map +1 -1
  98. package/dist/parse/inlineFormatting.d.ts +2 -2
  99. package/dist/parse/inlineFormatting.d.ts.map +1 -1
  100. package/dist/parse/inlineFormatting.js +41 -14
  101. package/dist/parse/inlineFormatting.js.map +1 -1
  102. package/dist/parse/types.d.ts +54 -4
  103. package/dist/parse/types.d.ts.map +1 -1
  104. package/dist/pipeline/anchors.d.ts +28 -0
  105. package/dist/pipeline/anchors.d.ts.map +1 -0
  106. package/dist/pipeline/anchors.js +123 -0
  107. package/dist/pipeline/anchors.js.map +1 -0
  108. package/dist/pipeline/build.d.ts.map +1 -1
  109. package/dist/pipeline/build.js +51 -11
  110. package/dist/pipeline/build.js.map +1 -1
  111. package/dist/pipeline/citations.d.ts +80 -0
  112. package/dist/pipeline/citations.d.ts.map +1 -0
  113. package/dist/pipeline/citations.js +437 -0
  114. package/dist/pipeline/citations.js.map +1 -0
  115. package/dist/pipeline/config.d.ts.map +1 -1
  116. package/dist/pipeline/config.js +3 -1
  117. package/dist/pipeline/config.js.map +1 -1
  118. package/dist/pipeline/contentWarnings.d.ts +7 -1
  119. package/dist/pipeline/contentWarnings.d.ts.map +1 -1
  120. package/dist/pipeline/contentWarnings.js +57 -3
  121. package/dist/pipeline/contentWarnings.js.map +1 -1
  122. package/dist/pipeline/continuation.d.ts +2 -1
  123. package/dist/pipeline/continuation.d.ts.map +1 -1
  124. package/dist/pipeline/continuation.js +3 -0
  125. package/dist/pipeline/continuation.js.map +1 -1
  126. package/dist/pipeline/crossRefs.d.ts +79 -0
  127. package/dist/pipeline/crossRefs.d.ts.map +1 -0
  128. package/dist/pipeline/crossRefs.js +207 -0
  129. package/dist/pipeline/crossRefs.js.map +1 -0
  130. package/dist/pipeline/floatPlacement.d.ts.map +1 -1
  131. package/dist/pipeline/floatPlacement.js +2 -1
  132. package/dist/pipeline/floatPlacement.js.map +1 -1
  133. package/dist/pipeline/footnotes.d.ts.map +1 -1
  134. package/dist/pipeline/footnotes.js +5 -3
  135. package/dist/pipeline/footnotes.js.map +1 -1
  136. package/dist/pipeline/index.d.ts +2 -1
  137. package/dist/pipeline/index.d.ts.map +1 -1
  138. package/dist/pipeline/index.js +2 -1
  139. package/dist/pipeline/index.js.map +1 -1
  140. package/dist/pipeline/measureContentBlock.d.ts +4 -0
  141. package/dist/pipeline/measureContentBlock.d.ts.map +1 -1
  142. package/dist/pipeline/measureContentBlock.js +2 -1
  143. package/dist/pipeline/measureContentBlock.js.map +1 -1
  144. package/dist/pipeline/outline.d.ts +3 -0
  145. package/dist/pipeline/outline.d.ts.map +1 -1
  146. package/dist/pipeline/outline.js +38 -1
  147. package/dist/pipeline/outline.js.map +1 -1
  148. package/dist/pipeline/resourceLayout.d.ts +13 -1
  149. package/dist/pipeline/resourceLayout.d.ts.map +1 -1
  150. package/dist/pipeline/resourceLayout.js +22 -2
  151. package/dist/pipeline/resourceLayout.js.map +1 -1
  152. package/dist/pipeline/resourceNumbering.d.ts.map +1 -1
  153. package/dist/pipeline/resourceNumbering.js +2 -1
  154. package/dist/pipeline/resourceNumbering.js.map +1 -1
  155. package/dist/types.d.ts +133 -2
  156. package/dist/types.d.ts.map +1 -1
  157. package/dist/vdt.d.ts +59 -1
  158. package/dist/vdt.d.ts.map +1 -1
  159. package/dist/vdt.js.map +1 -1
  160. package/dist/worker/layout.worker.js +6 -0
  161. package/dist/worker/layout.worker.js.map +1 -1
  162. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"blockParser.js","sourceRoot":"","sources":["../../src/parse/blockParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blockParser.js","sourceRoot":"","sources":["../../src/parse/blockParser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Citations in Pandoc's syntax (#268):
3
+ *
4
+ * - `[@garcia2020]`, `[@garcia2020, p. 33; @lopez2019]` — parenthetical;
5
+ * - `[see @garcia2020, chap. 2, emphasis added]` — prefix, locator, suffix;
6
+ * - `[-@garcia2020]` — the author left out;
7
+ * - `@garcia2020` and `@garcia2020 [p. 33]` — narrative, in the sentence.
8
+ *
9
+ * An `@` glued to a letter or a digit (an e-mail address) or escaped
10
+ * (`\@`) is text, and so is one in inline code. Each citation becomes a
11
+ * placeholder span; the pipeline formats it, or, when the book has no
12
+ * reference for it, prints it back as written.
13
+ */
14
+ import type { CitationClusterInput, CitationItemInput } from '../citations/types';
15
+ import type { InlineSpan } from './types';
16
+ /** Stands for a citation in the plain text until it is formatted. */
17
+ export declare const CITATION_PLACEHOLDER = "\uE1A8";
18
+ /** A citation as the parser read it. */
19
+ export interface CitationMeta {
20
+ cluster: CitationClusterInput;
21
+ /** The citation as written, printed back when it cannot be formatted. */
22
+ raw: string;
23
+ /** Absolute source range. */
24
+ sourceStart: number;
25
+ sourceEnd: number;
26
+ }
27
+ /** The locator and suffix of the text after an item's key (`, p. 33,
28
+ * emphasis added`): a known label, else a bare number meaning a page. */
29
+ export declare function parseLocator(rest: string): Pick<CitationItemInput, 'locator' | 'label' | 'suffix'>;
30
+ /**
31
+ * Extract the citations of a line's text, replacing each by
32
+ * {@link CITATION_PLACEHOLDER}. Runs after the inline references (so
33
+ * `@sec:id` is taken first) and before the emphasis passes.
34
+ */
35
+ export declare function extractInlineCitations(text: string, fallbackStart: number): {
36
+ cleaned: string;
37
+ citations: CitationMeta[];
38
+ };
39
+ /** Attach a `citation` to each {@link CITATION_PLACEHOLDER} in order. */
40
+ export declare function injectCitationSpans(spans: InlineSpan[], citations: CitationMeta[]): InlineSpan[];
41
+ //# sourceMappingURL=citations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"citations.d.ts","sourceRoot":"","sources":["../../src/parse/citations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAI1C,qEAAqE;AACrE,eAAO,MAAM,oBAAoB,WAAM,CAAC;AAExC,wCAAwC;AACxC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,oBAAoB,CAAC;IAC9B,yEAAyE;IACzE,GAAG,EAAE,MAAM,CAAC;IACZ,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AA0DD;0EAC0E;AAC1E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC,CAuBlG;AAiCD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,YAAY,EAAE,CAAA;CAAE,CAoD1H;AAED,yEAAyE;AACzE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAOhG"}
@@ -0,0 +1,214 @@
1
+ /**
2
+ * Citations in Pandoc's syntax (#268):
3
+ *
4
+ * - `[@garcia2020]`, `[@garcia2020, p. 33; @lopez2019]` — parenthetical;
5
+ * - `[see @garcia2020, chap. 2, emphasis added]` — prefix, locator, suffix;
6
+ * - `[-@garcia2020]` — the author left out;
7
+ * - `@garcia2020` and `@garcia2020 [p. 33]` — narrative, in the sentence.
8
+ *
9
+ * An `@` glued to a letter or a digit (an e-mail address) or escaped
10
+ * (`\@`) is text, and so is one in inline code. Each citation becomes a
11
+ * placeholder span; the pipeline formats it, or, when the book has no
12
+ * reference for it, prints it back as written.
13
+ */
14
+ import { injectPlaceholderSpans } from './injectSpans';
15
+ import { restoreEscapes } from './inlineFormatting';
16
+ /** Stands for a citation in the plain text until it is formatted. */
17
+ export const CITATION_PLACEHOLDER = '';
18
+ /** Chinese, Japanese and Korean script. */
19
+ const CJK_CLASS = String.raw `\p{sc=Han}\p{sc=Hiragana}\p{sc=Katakana}\p{sc=Hangul}`;
20
+ /** A key character outside those scripts. */
21
+ const LATIN_KEY_CHAR = String.raw `(?:(?![${CJK_CLASS}])[\p{L}\p{N}_])`;
22
+ /** A citation key: a letter, a digit or `_`, then those and internal
23
+ * punctuation (`:.#$%&-+?<>~/`) — never punctuation at its end. A key
24
+ * that starts outside the CJK scripts ends where they begin, so Chinese
25
+ * text runs on after it without a space (`@zhou2019认为`). */
26
+ const KEY = String.raw `${LATIN_KEY_CHAR}(?:${LATIN_KEY_CHAR}|[:.#$%&\-+?<>~/](?=${LATIN_KEY_CHAR}))*|[\p{L}\p{N}_](?:[\p{L}\p{N}_]|[:.#$%&\-+?<>~/](?=[\p{L}\p{N}_]))*`;
27
+ const ITEM_RE = new RegExp(String.raw `^([\s\S]*?)(?:^|(?<=[\s\[(]))(-?)@(${KEY})([\s\S]*)$`, 'u');
28
+ // Not after a letter (an e-mail address), unless the letter is Chinese:
29
+ // "周明远@zhou2019认为" names the work in the sentence.
30
+ const NARRATIVE_RE = new RegExp(String.raw `(?<!${LATIN_KEY_CHAR}|[\\@\]-])@(${KEY})`, 'gu');
31
+ /** Locator terms → CSL labels (English, Spanish and a few more). */
32
+ const LABELS = {
33
+ p: 'page', pp: 'page', page: 'page', pages: 'page', pg: 'page', pág: 'page', págs: 'page', pag: 'page', s: 'page', 页: 'page', 頁: 'page',
34
+ chap: 'chapter', chaps: 'chapter', chapter: 'chapter', chapters: 'chapter', ch: 'chapter', cap: 'chapter', caps: 'chapter', 'capítulo': 'chapter', 章: 'chapter',
35
+ sec: 'section', secs: 'section', section: 'section', sections: 'section', '§': 'section', '§§': 'section', 'sección': 'section', 节: 'section', 節: 'section',
36
+ fig: 'figure', figs: 'figure', figure: 'figure', figures: 'figure', 图: 'figure', 圖: 'figure',
37
+ vol: 'volume', vols: 'volume', volume: 'volume', volumes: 'volume', 卷: 'volume',
38
+ n: 'note', nn: 'note', note: 'note', notes: 'note', 注: 'note', 註: 'note',
39
+ l: 'line', ll: 'line', line: 'line', lines: 'line',
40
+ para: 'paragraph', paras: 'paragraph', paragraph: 'paragraph', '¶': 'paragraph', '¶¶': 'paragraph',
41
+ col: 'column', cols: 'column', column: 'column',
42
+ bk: 'book', bks: 'book', book: 'book', libro: 'book',
43
+ pt: 'part', pts: 'part', part: 'part', parte: 'part',
44
+ v: 'verse', vv: 'verse', verse: 'verse', verses: 'verse',
45
+ no: 'issue', nos: 'issue', number: 'issue',
46
+ op: 'opus', opus: 'opus',
47
+ sv: 'sub-verbo', 's.v.': 'sub-verbo',
48
+ art: 'section', arts: 'section',
49
+ };
50
+ /** One locator value: a number (`33`, `12a`) or a whole roman numeral. */
51
+ const LOCATOR_TOKEN = /^(?:\p{N}+(?:[.:]\p{N}+)*[a-z]?|[ivxlcdm]+|[IVXLCDM]+)(?=$|[\s,;\-–—&)])/u;
52
+ /** What joins two values of a locator: a dash, a comma, `&`, `and`, `y`. */
53
+ const LOCATOR_JOIN = /^(?:\s*[-–—,&]\s*|\s+(?:and|y|e|et)\s+)/u;
54
+ /** The longest locator at the start of `text` ("12–14", "3, 5 and 7"):
55
+ * the characters it spans, or 0. */
56
+ function locatorLength(text) {
57
+ let end = 0;
58
+ let at = 0;
59
+ for (;;) {
60
+ const token = LOCATOR_TOKEN.exec(text.slice(at));
61
+ if (!token)
62
+ break;
63
+ at += token[0].length;
64
+ end = at;
65
+ const join = LOCATOR_JOIN.exec(text.slice(at));
66
+ if (!join || !LOCATOR_TOKEN.test(text.slice(at + join[0].length)))
67
+ break;
68
+ at += join[0].length;
69
+ }
70
+ return end;
71
+ }
72
+ /** The locator and suffix of the text after an item's key (`, p. 33,
73
+ * emphasis added`): a known label, else a bare number meaning a page. */
74
+ export function parseLocator(rest) {
75
+ let text = rest.trim();
76
+ if (!text.startsWith(','))
77
+ return text ? { suffix: text } : {};
78
+ text = text.slice(1).trim();
79
+ let label;
80
+ const word = /^([\p{L}§¶]+\.?|§§?|¶¶?)\s*/u.exec(text);
81
+ if (word) {
82
+ const key = word[1].replace(/\.$/, '').toLowerCase();
83
+ const found = LABELS[key] ?? LABELS[word[1].toLowerCase()];
84
+ if (found) {
85
+ label = found;
86
+ text = text.slice(word[0].length);
87
+ }
88
+ }
89
+ const length = locatorLength(text);
90
+ if (length === 0 || (!label && !/^\p{N}/u.test(text))) {
91
+ return text ? { suffix: (label ? word[0] : '') + text } : {};
92
+ }
93
+ const locator = text.slice(0, length).trim();
94
+ let after = text.slice(length).trim();
95
+ if (after.startsWith(','))
96
+ after = after.slice(1).trim();
97
+ // A suffix after the locator keeps the comma it was written with.
98
+ return { locator, label: label ?? 'page', ...(after ? { suffix: `, ${after}` } : {}) };
99
+ }
100
+ /** The items of a bracketed citation, or undefined when one part names no
101
+ * key (then the brackets are text). */
102
+ function parseItems(inner) {
103
+ const parts = inner.split(';');
104
+ const items = [];
105
+ for (const part of parts) {
106
+ const m = ITEM_RE.exec(part.trim());
107
+ if (!m)
108
+ return undefined;
109
+ const prefix = m[1].trim();
110
+ items.push({
111
+ id: m[3],
112
+ ...(prefix ? { prefix } : {}),
113
+ ...(m[2] === '-' ? { suppressAuthor: true } : {}),
114
+ ...parseLocator(m[4]),
115
+ });
116
+ }
117
+ return items.length > 0 ? items : undefined;
118
+ }
119
+ /** Index of the `]` closing the `[` at `open`, on brackets not escaped. */
120
+ function closingBracket(text, open) {
121
+ let depth = 0;
122
+ for (let i = open; i < text.length; i++) {
123
+ const c = text[i];
124
+ if (c === '\\') {
125
+ i++;
126
+ continue;
127
+ }
128
+ if (c === '[')
129
+ depth++;
130
+ else if (c === ']') {
131
+ depth--;
132
+ if (depth === 0)
133
+ return i;
134
+ }
135
+ }
136
+ return -1;
137
+ }
138
+ /**
139
+ * Extract the citations of a line's text, replacing each by
140
+ * {@link CITATION_PLACEHOLDER}. Runs after the inline references (so
141
+ * `@sec:id` is taken first) and before the emphasis passes.
142
+ */
143
+ export function extractInlineCitations(text, fallbackStart) {
144
+ if (!text.includes('@'))
145
+ return { cleaned: text, citations: [] };
146
+ const found = [];
147
+ const taken = [];
148
+ // Bracketed citations first: `[ … @key … ]` not a link, an image, a
149
+ // footnote or a span with attributes.
150
+ for (let i = text.indexOf('['); i >= 0; i = text.indexOf('[', i + 1)) {
151
+ if (i > 0 && (text[i - 1] === '\\' || text[i - 1] === '!' || text[i - 1] === ']'))
152
+ continue;
153
+ const close = closingBracket(text, i);
154
+ if (close < 0)
155
+ break;
156
+ const inner = text.slice(i + 1, close);
157
+ const next = text[close + 1];
158
+ if (!inner.includes('@') || inner.startsWith('^') || next === '(' || next === '{' || next === '[' || next === ':')
159
+ continue;
160
+ const items = parseItems(inner);
161
+ if (!items)
162
+ continue;
163
+ const raw = text.slice(i, close + 1);
164
+ found.push({ index: i, length: raw.length, meta: { cluster: { mode: 'parenthetical', items }, raw } });
165
+ taken.push([i, close + 1]);
166
+ i = close;
167
+ }
168
+ // The text of a Markdown link stays the link's.
169
+ for (const link of text.matchAll(/(?<!\\)\[(?:\\.|[^\]\\])*\]\([^)]*\)/g))
170
+ taken.push([link.index, link.index + link[0].length]);
171
+ // Narrative citations: `@key`, with an optional `[locator]` after it.
172
+ NARRATIVE_RE.lastIndex = 0;
173
+ for (let m = NARRATIVE_RE.exec(text); m; m = NARRATIVE_RE.exec(text)) {
174
+ const at = m.index;
175
+ if (taken.some(([s, e]) => at >= s && at < e))
176
+ continue;
177
+ let end = at + m[0].length;
178
+ let item = { id: m[1] };
179
+ const after = /^\s?\[([^\]@]*)\](?![({[])/.exec(text.slice(end));
180
+ if (after) {
181
+ const loc = parseLocator(`, ${after[1]}`);
182
+ if (loc.locator !== undefined || loc.suffix !== undefined) {
183
+ item = { ...item, ...loc };
184
+ end += after[0].length;
185
+ }
186
+ }
187
+ found.push({ index: at, length: end - at, meta: { cluster: { mode: 'narrative', items: [item] }, raw: text.slice(at, end) } });
188
+ }
189
+ if (found.length === 0)
190
+ return { cleaned: text, citations: [] };
191
+ found.sort((a, b) => a.index - b.index);
192
+ let out = '';
193
+ let last = 0;
194
+ const citations = [];
195
+ for (const f of found) {
196
+ if (f.index < last)
197
+ continue;
198
+ out += text.slice(last, f.index) + CITATION_PLACEHOLDER;
199
+ citations.push({ ...f.meta, sourceStart: fallbackStart + f.index, sourceEnd: fallbackStart + f.index + f.length });
200
+ last = f.index + f.length;
201
+ }
202
+ out += text.slice(last);
203
+ return { cleaned: out, citations };
204
+ }
205
+ /** Attach a `citation` to each {@link CITATION_PLACEHOLDER} in order. */
206
+ export function injectCitationSpans(spans, citations) {
207
+ return injectPlaceholderSpans(spans, citations, CITATION_PLACEHOLDER, (meta, bold, italic) => ({
208
+ text: CITATION_PLACEHOLDER,
209
+ bold,
210
+ italic,
211
+ citation: { cluster: meta.cluster, raw: restoreEscapes(meta.raw) },
212
+ }));
213
+ }
214
+ //# sourceMappingURL=citations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"citations.js","sourceRoot":"","sources":["../../src/parse/citations.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type { ContentBlockType, DirectiveName, DirectiveAttrs, ContainerName, RefCase, UnclosedMathIssue, UnclosedContainerIssue, MathMeta, InlineSpan, InlineLink, TextSpan, MathSpan, ListKind, ParseIssueKind, ParseIssue, ContentBlock, TocBlockInfo, IndexBlockInfo, IndexMark, ChipBox, EmphasisMark, InlineRuby, InlineWarichu, } from './types';
1
+ export type { ContentBlockType, DirectiveName, DirectiveAttrs, ContainerName, RefCase, RefStyle, UnclosedMathIssue, UnclosedContainerIssue, MathMeta, InlineSpan, InlineLink, TextSpan, MathSpan, ListKind, ParseIssueKind, ParseIssue, ContentBlock, TocBlockInfo, IndexBlockInfo, IndexMark, AnchorMark, ChipBox, EmphasisMark, InlineRuby, InlineWarichu, } from './types';
2
2
  export { MATH_PLACEHOLDER } from './inlineMath';
3
3
  export { REF_PLACEHOLDER, SWATCH_PLACEHOLDER, CHIP_PLACEHOLDER, extractInlineSwatches, injectSwatchSpans, extractInlineChips, injectChipSpans } from './inlineFormatting';
4
4
  export type { SwatchMeta, ChipMeta } from './inlineFormatting';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parse/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,aAAa,EACb,OAAO,EACP,iBAAiB,EACjB,sBAAsB,EACtB,QAAQ,EACR,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,SAAS,EACT,OAAO,EACP,YAAY,EACZ,UAAU,EACV,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1K,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EACL,iBAAiB,EACjB,2BAA2B,EAC3B,aAAa,EACb,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC5E,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parse/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,aAAa,EACb,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,sBAAsB,EACtB,QAAQ,EACR,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,SAAS,EACT,UAAU,EACV,OAAO,EACP,YAAY,EACZ,UAAU,EACV,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1K,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EACL,iBAAiB,EACjB,2BAA2B,EAC3B,aAAa,EACb,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC5E,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parse/index.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1K,OAAO,EACL,iBAAiB,EACjB,2BAA2B,EAC3B,aAAa,EACb,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parse/index.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1K,OAAO,EACL,iBAAiB,EACjB,2BAA2B,EAC3B,aAAa,EACb,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
@@ -8,10 +8,10 @@
8
8
  * attached to (`anchor`): the build finds the page of the laid-out line
9
9
  * holding that character.
10
10
  */
11
- import type { ContentBlock, IndexMark, ParseIssue } from './types';
11
+ import type { AnchorMark, ContentBlock, IndexMark, ParseIssue } from './types';
12
12
  /** A mark as extracted, before it is attached to a block. */
13
13
  interface PendingMark {
14
- mark: IndexMark;
14
+ mark: IndexMark | AnchorMark;
15
15
  /** Position in the stripped text where the mark was. */
16
16
  at: number;
17
17
  }
@@ -22,11 +22,6 @@ export interface IndexMarkExtraction {
22
22
  /** Offset in `text` → offset in the original markdown. */
23
23
  toOriginal: (offset: number) => number;
24
24
  }
25
- /**
26
- * The markdown with its index marks taken out, or null when it holds none.
27
- * A line left blank by its marks alone is removed with its line end, so a
28
- * mark on a line of its own never splits a paragraph.
29
- */
30
25
  export declare function extractIndexMarks(markdown: string): IndexMarkExtraction | null;
31
26
  /**
32
27
  * Attach the extracted marks to the blocks parsed from the stripped text
@@ -1 +1 @@
1
- {"version":3,"file":"indexMarks.d.ts","sourceRoot":"","sources":["../../src/parse/indexMarks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAkBnE,6DAA6D;AAC7D,UAAU,WAAW;IACnB,IAAI,EAAE,SAAS,CAAC;IAChB,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,mBAAmB;IAClC,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,0DAA0D;IAC1D,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;CACxC;AA2CD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAgH9E;AAKD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,IAAI,CAQ5F;AAED;gCACgC;AAChC,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE;IAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAAC,MAAM,EAAE,UAAU,EAAE,CAAA;CAAE,EACxD,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GACrC,IAAI,CAmBN"}
1
+ {"version":3,"file":"indexMarks.d.ts","sourceRoot":"","sources":["../../src/parse/indexMarks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAuB/E,6DAA6D;AAC7D,UAAU,WAAW;IACnB,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC;IAC7B,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,mBAAmB;IAClC,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,0DAA0D;IAC1D,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;CACxC;AAwGD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CA6G9E;AAKD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,IAAI,CAS5F;AAED;gCACgC;AAChC,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE;IAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAAC,MAAM,EAAE,UAAU,EAAE,CAAA;CAAE,EACxD,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GACrC,IAAI,CAmBN"}
@@ -14,6 +14,11 @@ import { stripInlineFormatting } from './inlineFormatting';
14
14
  * colon (the `:::index` directive) or a backslash (an escaped mark). The
15
15
  * text is one line and takes `\]` for a literal bracket. */
16
16
  const INDEX_MARK_RE = /(?<![:\\]):index(?:\[((?:\\.|[^\]\\\n])*)\])?(?:\{([^}\n]*)\})?/g;
17
+ /** An inline anchor (#261): `:anchor{#id}` / `:anchor{id="…"}`, and
18
+ * Pandoc's bracketed span `[text]{#id}` whose text stays. Not after a
19
+ * colon, a backslash, or a `]`/`!` (a link or an image). */
20
+ const ANCHOR_MARK_RE = /(?<![:\\]):anchor\{([^}\n]*)\}/g;
21
+ const SPAN_ANCHOR_RE = /(?<![\]\\!])\[((?:\\.|[^\]\\\n^])(?:\\.|[^\]\\\n])*)\]\{#([\p{L}\p{N}_][\p{L}\p{N}_.:-]*)\}/gu;
17
22
  /** Inline code on one line: its marks stay literal. */
18
23
  const CODE_SPAN_RE = /`[^`\n]+`/g;
19
24
  const isBlank = (c) => c === ' ' || c === '\t' || c === '\r';
@@ -55,13 +60,54 @@ function markFrom(attrsRaw, visible, sourceStart, sourceEnd) {
55
60
  attach: 'after',
56
61
  };
57
62
  }
58
- /**
59
- * The markdown with its index marks taken out, or null when it holds none.
60
- * A line left blank by its marks alone is removed with its line end, so a
61
- * mark on a line of its own never splits a paragraph.
62
- */
63
+ /** Whether a line may hold a mark. */
64
+ const mayHoldMark = (line) => line.includes(':index') || line.includes(':anchor') || line.includes(']{#');
65
+ function anchorFrom(id, text, sourceStart, sourceEnd) {
66
+ const plain = text !== undefined ? plainText(text) : '';
67
+ return { anchorId: id, ...(plain ? { text: plain } : {}), sourceStart, sourceEnd, anchor: -1, attach: 'after' };
68
+ }
69
+ /** The marks of one line, in order, none overlapping. */
70
+ function lineMatches(line) {
71
+ const out = [];
72
+ INDEX_MARK_RE.lastIndex = 0;
73
+ for (let m = INDEX_MARK_RE.exec(line); m; m = INDEX_MARK_RE.exec(line)) {
74
+ const [whole, visible, attrs] = m;
75
+ if (visible === undefined && attrs === undefined)
76
+ continue;
77
+ out.push({
78
+ index: m.index,
79
+ whole,
80
+ ...(visible !== undefined && visible.length > 0 ? { visible: { text: visible, offset: ':index['.length } } : {}),
81
+ make: (start, end) => markFrom(attrs, visible, start, end),
82
+ });
83
+ }
84
+ ANCHOR_MARK_RE.lastIndex = 0;
85
+ for (let m = ANCHOR_MARK_RE.exec(line); m; m = ANCHOR_MARK_RE.exec(line)) {
86
+ const id = parseDirectiveAttrs(m[1]).id?.trim();
87
+ if (!id)
88
+ continue;
89
+ out.push({ index: m.index, whole: m[0], make: (start, end) => anchorFrom(id, undefined, start, end) });
90
+ }
91
+ SPAN_ANCHOR_RE.lastIndex = 0;
92
+ for (let m = SPAN_ANCHOR_RE.exec(line); m; m = SPAN_ANCHOR_RE.exec(line)) {
93
+ const text = m[1];
94
+ const id = m[2];
95
+ out.push({ index: m.index, whole: m[0], visible: { text, offset: 1 }, make: (start, end) => anchorFrom(id, text, start, end) });
96
+ }
97
+ out.sort((a, b) => a.index - b.index);
98
+ // A mark inside another one (an anchor in an index mark's text) is text.
99
+ const kept = [];
100
+ let end = -1;
101
+ for (const m of out) {
102
+ if (m.index < end)
103
+ continue;
104
+ kept.push(m);
105
+ end = m.index + m.whole.length;
106
+ }
107
+ return kept;
108
+ }
63
109
  export function extractIndexMarks(markdown) {
64
- if (!markdown.includes(':index'))
110
+ if (!mayHoldMark(markdown))
65
111
  return null;
66
112
  const pending = [];
67
113
  const removals = [];
@@ -71,7 +117,7 @@ export function extractIndexMarks(markdown) {
71
117
  const nl = markdown.indexOf('\n', lineStart);
72
118
  const lineEnd = nl === -1 ? markdown.length : nl;
73
119
  const line = markdown.slice(lineStart, lineEnd);
74
- if (!line.includes(':index')) {
120
+ if (!mayHoldMark(line)) {
75
121
  out += line;
76
122
  if (nl !== -1)
77
123
  out += '\n';
@@ -89,23 +135,19 @@ export function extractIndexMarks(markdown) {
89
135
  const linePending = [];
90
136
  let kept = '';
91
137
  let last = 0;
92
- INDEX_MARK_RE.lastIndex = 0;
93
- for (let m = INDEX_MARK_RE.exec(line); m; m = INDEX_MARK_RE.exec(line)) {
94
- const [whole, visible, attrs] = m;
95
- if (visible === undefined && attrs === undefined)
96
- continue;
138
+ for (const m of lineMatches(line)) {
97
139
  if (code.some(([s, e]) => m.index >= s && m.index < e))
98
140
  continue;
141
+ const { whole, visible } = m;
99
142
  kept += line.slice(last, m.index);
100
143
  const start = lineStart + m.index;
101
- const mark = markFrom(attrs, visible, start, start + whole.length);
102
- if (visible !== undefined && visible.length > 0) {
103
- // `:index[` goes, the text stays, `]{…}` goes.
104
- const open = ':index['.length;
105
- lineRemovals.push({ at: lineOut + kept.length, length: open });
144
+ const mark = m.make(start, start + whole.length);
145
+ if (visible) {
146
+ // `:index[` (or `[`) goes, the text stays, `]{…}` goes.
147
+ lineRemovals.push({ at: lineOut + kept.length, length: visible.offset });
106
148
  const textStart = lineOut + kept.length;
107
- kept += visible;
108
- lineRemovals.push({ at: lineOut + kept.length, length: whole.length - open - visible.length });
149
+ kept += visible.text;
150
+ lineRemovals.push({ at: lineOut + kept.length, length: whole.length - visible.offset - visible.text.length });
109
151
  linePending.push({ mark, at: textStart, textStart });
110
152
  }
111
153
  else {
@@ -201,7 +243,10 @@ export function attachIndexMarks(blocks, marks) {
201
243
  for (const { mark, at } of marks) {
202
244
  let owner = text.find((b) => at >= b.sourceStart && at <= b.sourceEnd);
203
245
  owner ??= text.find((b) => b.sourceStart > at) ?? text[text.length - 1];
204
- (owner.indexMarks ??= []).push(mark);
246
+ if ('anchorId' in mark)
247
+ (owner.anchorMarks ??= []).push(mark);
248
+ else
249
+ (owner.indexMarks ??= []).push(mark);
205
250
  }
206
251
  }
207
252
  /** Map every source offset of a parse result from the stripped text back
@@ -1 +1 @@
1
- {"version":3,"file":"indexMarks.js","sourceRoot":"","sources":["../../src/parse/indexMarks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexMarks.js","sourceRoot":"","sources":["../../src/parse/indexMarks.ts"],"names":[],"mappings":"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"}