postext 1.11.2 → 1.12.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/dist/__tests__/exports.test.js +24 -0
- package/dist/__tests__/exports.test.js.map +1 -1
- package/dist/__tests__/parse/anchors.test.d.ts +2 -0
- package/dist/__tests__/parse/anchors.test.d.ts.map +1 -0
- package/dist/__tests__/parse/anchors.test.js +71 -0
- package/dist/__tests__/parse/anchors.test.js.map +1 -0
- package/dist/__tests__/parse/citations.test.d.ts +2 -0
- package/dist/__tests__/parse/citations.test.d.ts.map +1 -0
- package/dist/__tests__/parse/citations.test.js +98 -0
- package/dist/__tests__/parse/citations.test.js.map +1 -0
- package/dist/__tests__/parse/containers.test.js +1 -1
- package/dist/__tests__/parse/containers.test.js.map +1 -1
- package/dist/__tests__/pipeline/crossRefs.test.d.ts +2 -0
- package/dist/__tests__/pipeline/crossRefs.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/crossRefs.test.js +170 -0
- package/dist/__tests__/pipeline/crossRefs.test.js.map +1 -0
- package/dist/bundle/book.d.ts.map +1 -1
- package/dist/bundle/book.js +22 -4
- package/dist/bundle/book.js.map +1 -1
- package/dist/citations/bibtex.d.ts +19 -0
- package/dist/citations/bibtex.d.ts.map +1 -0
- package/dist/citations/bibtex.js +375 -0
- package/dist/citations/bibtex.js.map +1 -0
- package/dist/citations/context.d.ts +64 -0
- package/dist/citations/context.d.ts.map +1 -0
- package/dist/citations/context.js +115 -0
- package/dist/citations/context.js.map +1 -0
- package/dist/citations/data.d.ts +35 -0
- package/dist/citations/data.d.ts.map +1 -0
- package/dist/citations/data.js +158 -0
- package/dist/citations/data.js.map +1 -0
- package/dist/citations/html.d.ts +16 -0
- package/dist/citations/html.d.ts.map +1 -0
- package/dist/citations/html.js +99 -0
- package/dist/citations/html.js.map +1 -0
- package/dist/citations/registry.d.ts +30 -0
- package/dist/citations/registry.d.ts.map +1 -0
- package/dist/citations/registry.js +51 -0
- package/dist/citations/registry.js.map +1 -0
- package/dist/citations/types.d.ts +132 -0
- package/dist/citations/types.d.ts.map +1 -0
- package/dist/citations/types.js +9 -0
- package/dist/citations/types.js.map +1 -0
- package/dist/defaults/citations.d.ts +5 -0
- package/dist/defaults/citations.d.ts.map +1 -0
- package/dist/defaults/citations.js +99 -0
- package/dist/defaults/citations.js.map +1 -0
- package/dist/defaults/crossRefs.d.ts +7 -0
- package/dist/defaults/crossRefs.d.ts.map +1 -0
- package/dist/defaults/crossRefs.js +35 -0
- package/dist/defaults/crossRefs.js.map +1 -0
- package/dist/defaults/index.d.ts +2 -0
- package/dist/defaults/index.d.ts.map +1 -1
- package/dist/defaults/index.js +18 -0
- package/dist/defaults/index.js.map +1 -1
- package/dist/html-backend.d.ts.map +1 -1
- package/dist/html-backend.js +79 -19
- package/dist/html-backend.js.map +1 -1
- package/dist/index.d.ts +10 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -2
- package/dist/index.js.map +1 -1
- package/dist/knuthPlass/richAdapter.d.ts +2 -0
- package/dist/knuthPlass/richAdapter.d.ts.map +1 -1
- package/dist/knuthPlass/richAdapter.js +1 -1
- package/dist/knuthPlass/richAdapter.js.map +1 -1
- package/dist/measure/cache.js +1 -1
- package/dist/measure/cache.js.map +1 -1
- package/dist/measure/rich.d.ts +4 -0
- package/dist/measure/rich.d.ts.map +1 -1
- package/dist/measure/rich.js +2 -2
- package/dist/measure/rich.js.map +1 -1
- package/dist/parse/attrs.d.ts.map +1 -1
- package/dist/parse/attrs.js +31 -4
- package/dist/parse/attrs.js.map +1 -1
- package/dist/parse/blockParser.d.ts.map +1 -1
- package/dist/parse/blockParser.js +68 -8
- package/dist/parse/blockParser.js.map +1 -1
- package/dist/parse/citations.d.ts +41 -0
- package/dist/parse/citations.d.ts.map +1 -0
- package/dist/parse/citations.js +206 -0
- package/dist/parse/citations.js.map +1 -0
- package/dist/parse/index.d.ts +1 -1
- package/dist/parse/index.d.ts.map +1 -1
- package/dist/parse/index.js.map +1 -1
- package/dist/parse/indexMarks.d.ts +2 -7
- package/dist/parse/indexMarks.d.ts.map +1 -1
- package/dist/parse/indexMarks.js +65 -20
- package/dist/parse/indexMarks.js.map +1 -1
- package/dist/parse/inlineFormatting.d.ts +2 -2
- package/dist/parse/inlineFormatting.d.ts.map +1 -1
- package/dist/parse/inlineFormatting.js +41 -14
- package/dist/parse/inlineFormatting.js.map +1 -1
- package/dist/parse/types.d.ts +50 -4
- package/dist/parse/types.d.ts.map +1 -1
- package/dist/pipeline/anchors.d.ts +28 -0
- package/dist/pipeline/anchors.d.ts.map +1 -0
- package/dist/pipeline/anchors.js +123 -0
- package/dist/pipeline/anchors.js.map +1 -0
- package/dist/pipeline/build.d.ts.map +1 -1
- package/dist/pipeline/build.js +51 -11
- package/dist/pipeline/build.js.map +1 -1
- package/dist/pipeline/citations.d.ts +80 -0
- package/dist/pipeline/citations.d.ts.map +1 -0
- package/dist/pipeline/citations.js +418 -0
- package/dist/pipeline/citations.js.map +1 -0
- package/dist/pipeline/config.d.ts.map +1 -1
- package/dist/pipeline/config.js +3 -1
- package/dist/pipeline/config.js.map +1 -1
- package/dist/pipeline/contentWarnings.d.ts +7 -1
- package/dist/pipeline/contentWarnings.d.ts.map +1 -1
- package/dist/pipeline/contentWarnings.js +57 -3
- package/dist/pipeline/contentWarnings.js.map +1 -1
- package/dist/pipeline/continuation.d.ts +2 -1
- package/dist/pipeline/continuation.d.ts.map +1 -1
- package/dist/pipeline/continuation.js +3 -0
- package/dist/pipeline/continuation.js.map +1 -1
- package/dist/pipeline/crossRefs.d.ts +79 -0
- package/dist/pipeline/crossRefs.d.ts.map +1 -0
- package/dist/pipeline/crossRefs.js +207 -0
- package/dist/pipeline/crossRefs.js.map +1 -0
- package/dist/pipeline/floatPlacement.d.ts.map +1 -1
- package/dist/pipeline/floatPlacement.js +2 -1
- package/dist/pipeline/floatPlacement.js.map +1 -1
- package/dist/pipeline/index.d.ts +2 -1
- package/dist/pipeline/index.d.ts.map +1 -1
- package/dist/pipeline/index.js +2 -1
- package/dist/pipeline/index.js.map +1 -1
- package/dist/pipeline/measureContentBlock.d.ts +4 -0
- package/dist/pipeline/measureContentBlock.d.ts.map +1 -1
- package/dist/pipeline/measureContentBlock.js +1 -0
- package/dist/pipeline/measureContentBlock.js.map +1 -1
- package/dist/pipeline/outline.d.ts +3 -0
- package/dist/pipeline/outline.d.ts.map +1 -1
- package/dist/pipeline/outline.js +38 -1
- package/dist/pipeline/outline.js.map +1 -1
- package/dist/pipeline/resourceLayout.d.ts +13 -1
- package/dist/pipeline/resourceLayout.d.ts.map +1 -1
- package/dist/pipeline/resourceLayout.js +22 -2
- package/dist/pipeline/resourceLayout.js.map +1 -1
- package/dist/pipeline/resourceNumbering.d.ts.map +1 -1
- package/dist/pipeline/resourceNumbering.js +2 -1
- package/dist/pipeline/resourceNumbering.js.map +1 -1
- package/dist/types.d.ts +133 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/vdt.d.ts +59 -1
- package/dist/vdt.d.ts.map +1 -1
- package/dist/vdt.js.map +1 -1
- package/dist/worker/layout.worker.js +6 -0
- package/dist/worker/layout.worker.js.map +1 -1
- package/package.json +1 -1
|
@@ -8,6 +8,10 @@
|
|
|
8
8
|
* them in `VDTDocument.contentWarnings`, located on the page each construct
|
|
9
9
|
* landed on.
|
|
10
10
|
*/
|
|
11
|
+
import { resourceRefId, unprefixedId } from './crossRefs';
|
|
12
|
+
import { citationIssues } from './citations';
|
|
13
|
+
import { bookCitationContexts, needsCitationContext } from '../citations/context';
|
|
14
|
+
import { duplicateAnchors } from './anchors';
|
|
11
15
|
import { KNOWN_CONTAINERS, KNOWN_DIRECTIVES, parseInlineSnippetSpans, parseMarkdownMemo } from '../parse';
|
|
12
16
|
import { invalidAttributeKeys } from '../parse/attrs';
|
|
13
17
|
import { extractFrontmatter } from '../frontmatter';
|
|
@@ -117,7 +121,13 @@ function inlineRange(text, start, blockEnd) {
|
|
|
117
121
|
* warnings point at the resource's first embed or reference. The result
|
|
118
122
|
* has no `pageIndex` — the build adds it.
|
|
119
123
|
*/
|
|
120
|
-
export function collectContentWarnings(markdown, config, resources = []
|
|
124
|
+
export function collectContentWarnings(markdown, config, resources = [],
|
|
125
|
+
/** The anchor ids of the whole book (#262), when the document is one of
|
|
126
|
+
* its chapters; its own anchors count either way. */
|
|
127
|
+
bookAnchors,
|
|
128
|
+
/** The reference keys of the whole book (#268), when the document is one
|
|
129
|
+
* of its chapters; its own references count either way. */
|
|
130
|
+
bookCitationKeys) {
|
|
121
131
|
let body = markdown;
|
|
122
132
|
let offset = 0;
|
|
123
133
|
try {
|
|
@@ -135,6 +145,17 @@ export function collectContentWarnings(markdown, config, resources = []) {
|
|
|
135
145
|
for (const r of resources)
|
|
136
146
|
if (!byId.has(r.id))
|
|
137
147
|
byId.set(r.id, r);
|
|
148
|
+
const anchors = new Set(bookAnchors);
|
|
149
|
+
for (const b of blocks) {
|
|
150
|
+
if (b.type === 'heading' && b.attrs?.id)
|
|
151
|
+
anchors.add(b.attrs.id);
|
|
152
|
+
for (const m of b.anchorMarks ?? [])
|
|
153
|
+
anchors.add(m.anchorId);
|
|
154
|
+
}
|
|
155
|
+
const isAnchor = (id) => anchors.has(id) || (unprefixedId(id) !== undefined && anchors.has(unprefixedId(id)));
|
|
156
|
+
// An identifier set twice: a reference reaches the first one only.
|
|
157
|
+
for (const d of duplicateAnchors(blocks))
|
|
158
|
+
out.push({ kind: 'duplicateAnchor', anchorId: d.id, ...abs({ start: d.start, end: d.end }) });
|
|
138
159
|
const paragraphStyles = new Set((config?.paragraphStyles ?? DEFAULT_PARAGRAPH_STYLES).map((s) => s.id));
|
|
139
160
|
// With no callout style configured every type is the built-in plain box:
|
|
140
161
|
// a type is only wrong once there are styles to pick from.
|
|
@@ -177,8 +198,11 @@ export function collectContentWarnings(markdown, config, resources = []) {
|
|
|
177
198
|
}
|
|
178
199
|
if (span.ref) {
|
|
179
200
|
const range = inlineRange(body, at, b.sourceEnd);
|
|
180
|
-
|
|
181
|
-
|
|
201
|
+
const id = resourceRefId(span.ref.resourceId, (x) => byId.has(x));
|
|
202
|
+
use(id, range);
|
|
203
|
+
// A reference naming no resource may name an anchor (#262): of
|
|
204
|
+
// this document, or of the book (`knownAnchors`).
|
|
205
|
+
if (!byId.has(id) && !isAnchor(span.ref.resourceId)) {
|
|
182
206
|
out.push({ kind: 'unknownResourceId', resourceId: span.ref.resourceId, usage: 'ref', ...abs(range) });
|
|
183
207
|
}
|
|
184
208
|
}
|
|
@@ -371,6 +395,27 @@ export function collectContentWarnings(markdown, config, resources = []) {
|
|
|
371
395
|
}
|
|
372
396
|
}
|
|
373
397
|
}
|
|
398
|
+
// Citations (#268): keys no reference defines, data that cannot be read.
|
|
399
|
+
let metadata;
|
|
400
|
+
try {
|
|
401
|
+
metadata = extractFrontmatter(markdown).metadata;
|
|
402
|
+
}
|
|
403
|
+
catch {
|
|
404
|
+
metadata = undefined;
|
|
405
|
+
}
|
|
406
|
+
if (needsCitationContext(blocks, metadata)) {
|
|
407
|
+
const ctx = bookCitationContexts([{ metadata, blocks }])[0];
|
|
408
|
+
const keys = bookCitationKeys ? new Set([...bookCitationKeys, ...ctx.items.map((i) => i.id)]) : undefined;
|
|
409
|
+
for (const issue of citationIssues(blocks, ctx, keys)) {
|
|
410
|
+
const range = abs({ start: issue.sourceStart, end: issue.sourceEnd });
|
|
411
|
+
if (issue.kind === 'unknownCitationKey')
|
|
412
|
+
out.push({ kind: 'unknownCitationKey', key: issue.key ?? '', ...range });
|
|
413
|
+
else if (issue.kind === 'citationsUnavailable')
|
|
414
|
+
out.push({ kind: 'citationsUnavailable', ...range });
|
|
415
|
+
else
|
|
416
|
+
out.push({ kind: 'referencesUnreadable', message: issue.message ?? '', ...range });
|
|
417
|
+
}
|
|
418
|
+
}
|
|
374
419
|
// Reading order: a resource's warnings sit at its first use.
|
|
375
420
|
return out
|
|
376
421
|
.map((w, i) => ({ w, i }))
|
|
@@ -488,6 +533,15 @@ export function formatWarning(w) {
|
|
|
488
533
|
case 'unknownDirective':
|
|
489
534
|
text = `Unknown directive ":::${w.name}" — the line is set as text`;
|
|
490
535
|
break;
|
|
536
|
+
case 'unknownCitationKey':
|
|
537
|
+
text = `No reference defines "@${w.key}" — the citation prints without it`;
|
|
538
|
+
break;
|
|
539
|
+
case 'citationsUnavailable':
|
|
540
|
+
text = 'Citations need a citation engine (import "postext-citeproc/register") — they print as written';
|
|
541
|
+
break;
|
|
542
|
+
case 'referencesUnreadable':
|
|
543
|
+
text = `A :::references block cannot be read: ${w.message}`;
|
|
544
|
+
break;
|
|
491
545
|
case 'malformedEmbed':
|
|
492
546
|
text = `The embed line "::${w.name}" is set as text — write ::resource{id="…"} alone on its line, after a blank line`;
|
|
493
547
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contentWarnings.js","sourceRoot":"","sources":["../../src/pipeline/contentWarnings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contentWarnings.js","sourceRoot":"","sources":["../../src/pipeline/contentWarnings.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,9 +9,10 @@ export declare function continuationAfter(content: Pick<PostextContent, 'markdow
|
|
|
9
9
|
* prints a table of contents. Chain it chapter by chapter, like
|
|
10
10
|
* `continuationAfter`, to assemble a book's outline before any page is
|
|
11
11
|
* laid out. */
|
|
12
|
-
export declare function contentOutline(content: Pick<PostextContent, 'markdown'
|
|
12
|
+
export declare function contentOutline(content: Pick<PostextContent, 'markdown'> & Partial<Pick<PostextContent, 'resources'>>, config?: PostextConfig, before?: LayoutContinuation): {
|
|
13
13
|
outline: OutlineEntry[];
|
|
14
14
|
hasToc: boolean;
|
|
15
15
|
hasIndex: boolean;
|
|
16
|
+
hasRefs: boolean;
|
|
16
17
|
};
|
|
17
18
|
//# sourceMappingURL=continuation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"continuation.d.ts","sourceRoot":"","sources":["../../src/pipeline/continuation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"continuation.d.ts","sourceRoot":"","sources":["../../src/pipeline/continuation.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAmB,kBAAkB,EAAE,YAAY,EAAa,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAU5H;;;yCAGyC;AACzC,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,WAAW,CAAC,EACvD,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,kBAAkB,CA0CpB;AAmBD;;;;gBAIgB;AAChB,wBAAgB,cAAc,CAC5B,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,EACtF,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,kBAAkB,GAC1B;IAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAWnF"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
// markdown: no layout is involved, so the page half (`pageIndexOffset`,
|
|
5
5
|
// `pageNumbering`) is left to the caller, which knows how many pages the
|
|
6
6
|
// preceding content produced and how its last page was numbered.
|
|
7
|
+
import { hasAnchorRefs } from './crossRefs';
|
|
7
8
|
import { extractFrontmatter } from '../frontmatter';
|
|
8
9
|
import { parseMarkdownMemo } from '../parse';
|
|
9
10
|
import { defaultResourceTypes } from '../defaults';
|
|
@@ -89,6 +90,8 @@ export function contentOutline(content, config, before) {
|
|
|
89
90
|
outline: computeOutline(blocks, resolved, before?.headings),
|
|
90
91
|
hasToc: hasTocDirective(blocks),
|
|
91
92
|
hasIndex: hasIndexDirective(blocks),
|
|
93
|
+
// A reference naming no resource may name an anchor of the book (#262).
|
|
94
|
+
hasRefs: hasAnchorRefs(blocks, new Set((content.resources ?? []).map((r) => r.id))),
|
|
92
95
|
};
|
|
93
96
|
}
|
|
94
97
|
//# sourceMappingURL=continuation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"continuation.js","sourceRoot":"","sources":["../../src/pipeline/continuation.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,yEAAyE;AACzE,8EAA8E;AAC9E,wEAAwE;AACxE,yEAAyE;AACzE,iEAAiE;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5F,MAAM,WAAW,GAAoB,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;AAElF;;;yCAGyC;AACzC,MAAM,UAAU,iBAAiB,CAC/B,OAAuD,EACvD,MAAsB,EACtB,MAA2B;IAE3B,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;IAC1D,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,cAAc,GAAG,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9G,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC;QACxC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAE;QAC5C,CAAC,CAAC,MAAM,EAAE,QAAQ,IAAI,WAAW,CAAC;IACpC,MAAM,aAAa,GAAG,MAAM,EAAE,aAAa,IAAI,oBAAoB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5F,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,6BAA6B,CACrD,MAAM,EACN,aAAa,EACb,OAAO,CAAC,SAAS,IAAI,EAAE,EACvB,cAAc,EACd,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAC7F,CAAC;IACF,sEAAsE;IACtE,sEAAsE;IACtE,IAAI,IAAI,GAA0B,MAAM,EAAE,IAAI,CAAC;IAC/C,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QAC7C,IAAI,GAAG;YACL,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjF,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACtF,mEAAmE;IACnE,IAAI,cAAc,GAAG,MAAM,EAAE,cAAc,IAAI,CAAC,CAAC;IACjD,IAAI,QAAQ,CAAC,SAAS,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QAChD,MAAM,SAAS,GAAG,eAAe,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QACvG,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO;QACL,QAAQ;QACR,gBAAgB,EAAE,QAAQ;QAC1B,eAAe,EAAE,GAAG;QACpB,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED;;;sEAGsE;AACtE,SAAS,YAAY,CAAC,MAA+B,EAAE,QAA0B;IAC/E,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;IACd,KAAK,MAAM,GAAG,IAAI,QAAQ;QAAE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACvD,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACrB,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,aAAa,KAAK,WAAW,IAAI,CAAC,CAAC,aAAa,KAAK,aAAa;YAAE,OAAO,KAAK,CAAC;QACjH,+CAA+C;QAC/C,IAAI,CAAC,CAAC,aAAa,KAAK,KAAK,IAAI,CAAC,CAAC,aAAa,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;IAC7E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;gBAIgB;AAChB,MAAM,UAAU,cAAc,CAC5B,
|
|
1
|
+
{"version":3,"file":"continuation.js","sourceRoot":"","sources":["../../src/pipeline/continuation.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,yEAAyE;AACzE,8EAA8E;AAC9E,wEAAwE;AACxE,yEAAyE;AACzE,iEAAiE;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5F,MAAM,WAAW,GAAoB,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;AAElF;;;yCAGyC;AACzC,MAAM,UAAU,iBAAiB,CAC/B,OAAuD,EACvD,MAAsB,EACtB,MAA2B;IAE3B,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;IAC1D,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,cAAc,GAAG,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9G,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC;QACxC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAE;QAC5C,CAAC,CAAC,MAAM,EAAE,QAAQ,IAAI,WAAW,CAAC;IACpC,MAAM,aAAa,GAAG,MAAM,EAAE,aAAa,IAAI,oBAAoB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5F,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,6BAA6B,CACrD,MAAM,EACN,aAAa,EACb,OAAO,CAAC,SAAS,IAAI,EAAE,EACvB,cAAc,EACd,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAC7F,CAAC;IACF,sEAAsE;IACtE,sEAAsE;IACtE,IAAI,IAAI,GAA0B,MAAM,EAAE,IAAI,CAAC;IAC/C,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QAC7C,IAAI,GAAG;YACL,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjF,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACtF,mEAAmE;IACnE,IAAI,cAAc,GAAG,MAAM,EAAE,cAAc,IAAI,CAAC,CAAC;IACjD,IAAI,QAAQ,CAAC,SAAS,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QAChD,MAAM,SAAS,GAAG,eAAe,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QACvG,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO;QACL,QAAQ;QACR,gBAAgB,EAAE,QAAQ;QAC1B,eAAe,EAAE,GAAG;QACpB,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED;;;sEAGsE;AACtE,SAAS,YAAY,CAAC,MAA+B,EAAE,QAA0B;IAC/E,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;IACd,KAAK,MAAM,GAAG,IAAI,QAAQ;QAAE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACvD,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACrB,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,aAAa,KAAK,WAAW,IAAI,CAAC,CAAC,aAAa,KAAK,aAAa;YAAE,OAAO,KAAK,CAAC;QACjH,+CAA+C;QAC/C,IAAI,CAAC,CAAC,aAAa,KAAK,KAAK,IAAI,CAAC,CAAC,aAAa,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;IAC7E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;gBAIgB;AAChB,MAAM,UAAU,cAAc,CAC5B,OAAsF,EACtF,MAAsB,EACtB,MAA2B;IAE3B,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;IAC1D,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO;QACL,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;QAC3D,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;QAC/B,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC;QACnC,wEAAwE;QACxE,OAAO,EAAE,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACpF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-references to anchors (#262, #263): `:ref{id="sec-intro"}` naming a
|
|
3
|
+
* heading with an identifier, an anchor set in the text or a container
|
|
4
|
+
* opened with one. The label comes from the book outline — the heading's
|
|
5
|
+
* number and title, the anchor's text — and, for a page reference, the
|
|
6
|
+
* label of the page the target landed on in the previous layout round.
|
|
7
|
+
*/
|
|
8
|
+
import type { ContentBlock, InlineSpan } from '../parse';
|
|
9
|
+
import type { OutlineEntry } from '../types';
|
|
10
|
+
/** A target a cross-reference may name, as the outline knows it. */
|
|
11
|
+
export interface AnchorTarget {
|
|
12
|
+
id: string;
|
|
13
|
+
kind: 'heading' | 'anchor';
|
|
14
|
+
/** Heading level (1–6); absent for an anchor. */
|
|
15
|
+
level?: number;
|
|
16
|
+
/** The printed number of a numbered heading (`''` otherwise). */
|
|
17
|
+
number: string;
|
|
18
|
+
/** A heading's title, an anchor's text (`[text]{#id}`) or a container's
|
|
19
|
+
* `title`; `''` when it has none. */
|
|
20
|
+
title: string;
|
|
21
|
+
/** Label of the page it landed on, once laid out. */
|
|
22
|
+
pageLabel?: string;
|
|
23
|
+
/** 0-based book page index of that page, once laid out. */
|
|
24
|
+
pageIndex?: number;
|
|
25
|
+
}
|
|
26
|
+
/** Anchor targets by identifier. */
|
|
27
|
+
export type AnchorTargets = ReadonlyMap<string, AnchorTarget>;
|
|
28
|
+
/** The targets of an outline: every heading with an identifier and every
|
|
29
|
+
* anchor, the first setting of an identifier winning. */
|
|
30
|
+
export declare function anchorTargetsOf(outline: readonly OutlineEntry[] | undefined): AnchorTargets;
|
|
31
|
+
/** The pandoc-crossref prefixes (`@sec:intro`, `@fig:map`): a reference
|
|
32
|
+
* written with one names the identifier with or without it. */
|
|
33
|
+
export declare const CROSSREF_PREFIXES: readonly string[];
|
|
34
|
+
/** The identifier a reference names, without a pandoc-crossref prefix
|
|
35
|
+
* (`sec:intro` → `intro`); `undefined` when it carries none. */
|
|
36
|
+
export declare function unprefixedId(id: string): string | undefined;
|
|
37
|
+
/** The resource a reference names: its id as written, else without a
|
|
38
|
+
* pandoc-crossref prefix (`@fig:map` names resource `map`) when only that
|
|
39
|
+
* one is a resource. */
|
|
40
|
+
export declare function resourceRefId(id: string, isResource: (id: string) => boolean): string;
|
|
41
|
+
/** The target `id` names: the identifier as written, else without its
|
|
42
|
+
* pandoc-crossref prefix. */
|
|
43
|
+
export declare function findAnchorTarget(targets: AnchorTargets | undefined, id: string): AnchorTarget | undefined;
|
|
44
|
+
/** The words a cross-reference prints around a number, per document
|
|
45
|
+
* language: `{n}` stands for the number or the page label. */
|
|
46
|
+
export interface CrossRefStrings {
|
|
47
|
+
/** A level-1 heading: "chapter 3". */
|
|
48
|
+
chapter: string;
|
|
49
|
+
/** Any other heading: "section 3.2". */
|
|
50
|
+
section: string;
|
|
51
|
+
/** A page: "p. 112". */
|
|
52
|
+
page: string;
|
|
53
|
+
/** The style of a reference that sets none (`crossRefs.defaultStyle`). */
|
|
54
|
+
defaultStyle?: 'default' | 'number' | 'title' | 'page';
|
|
55
|
+
}
|
|
56
|
+
/** The built-in cross-reference words for a document language. */
|
|
57
|
+
export declare function defaultCrossRefStrings(locale: unknown): CrossRefStrings;
|
|
58
|
+
/** What a page reference prints before the target is laid out. */
|
|
59
|
+
export declare const UNKNOWN_PAGE = "?";
|
|
60
|
+
/**
|
|
61
|
+
* The label of a cross-reference to an anchor target:
|
|
62
|
+
* - `default` / `full`: a numbered heading as "chapter 3" / "section 3.2",
|
|
63
|
+
* an unnumbered one by its title, an anchor by its text, else its page;
|
|
64
|
+
* - `number`: the bare number (the title when there is none);
|
|
65
|
+
* - `title`: the title or the anchor's text;
|
|
66
|
+
* - `page`: "p. 112"; `pageNumber`: "112".
|
|
67
|
+
* `text="…"` overrides it all.
|
|
68
|
+
*/
|
|
69
|
+
export declare function resolveAnchorRefLabel(ref: NonNullable<InlineSpan['ref']>, target: AnchorTarget, strings: CrossRefStrings): string;
|
|
70
|
+
/** Whether a reference prints its target's page, so its label moves with
|
|
71
|
+
* the layout (the document is laid out again until it settles, #263). */
|
|
72
|
+
export declare function refPrintsPage(ref: NonNullable<InlineSpan['ref']>, target: AnchorTarget | undefined, defaultStyle?: CrossRefStrings['defaultStyle']): boolean;
|
|
73
|
+
/** Whether the parsed content holds a reference that names no resource of
|
|
74
|
+
* `resourceIds` — one that may name an anchor (#262). */
|
|
75
|
+
export declare function hasAnchorRefs(blocks: readonly ContentBlock[], resourceIds: ReadonlySet<string>): boolean;
|
|
76
|
+
/** Whether a reference of the parsed content prints the page of an anchor
|
|
77
|
+
* of `targets`: the document is then laid out until the pages settle. */
|
|
78
|
+
export declare function printsAnchorPages(blocks: readonly ContentBlock[], targets: AnchorTargets, defaultStyle?: CrossRefStrings['defaultStyle']): boolean;
|
|
79
|
+
//# sourceMappingURL=crossRefs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crossRefs.d.ts","sourceRoot":"","sources":["../../src/pipeline/crossRefs.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAW,MAAM,UAAU,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAK7C,oEAAoE;AACpE,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC3B,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IACf;0CACsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,oCAAoC;AACpC,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAE9D;0DAC0D;AAC1D,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,GAAG,SAAS,GAAG,aAAa,CAgB3F;AAED;gEACgE;AAChE,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAAuC,CAAC;AAEvF;iEACiE;AACjE,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI3D;AAED;;yBAEyB;AACzB,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,CAIrF;AAED;8BAC8B;AAC9B,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAMzG;AAED;+DAC+D;AAC/D,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,YAAY,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;CACxD;AAeD,kEAAkE;AAClE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,eAAe,CAEvE;AA6CD,kEAAkE;AAClE,eAAO,MAAM,YAAY,MAAM,CAAC;AAEhC;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EACnC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,eAAe,GACvB,MAAM,CAwBR;AAED;0EAC0E;AAC1E,wBAAgB,aAAa,CAC3B,GAAG,EAAE,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EACnC,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,YAAY,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,GAC7C,OAAO,CAST;AAQD;0DAC0D;AAC1D,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAQxG;AAED;0EAC0E;AAC1E,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,OAAO,EAAE,aAAa,EACtB,YAAY,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,GAC7C,OAAO,CAMT"}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-references to anchors (#262, #263): `:ref{id="sec-intro"}` naming a
|
|
3
|
+
* heading with an identifier, an anchor set in the text or a container
|
|
4
|
+
* opened with one. The label comes from the book outline — the heading's
|
|
5
|
+
* number and title, the anchor's text — and, for a page reference, the
|
|
6
|
+
* label of the page the target landed on in the previous layout round.
|
|
7
|
+
*/
|
|
8
|
+
import { stringsFor } from '../locale';
|
|
9
|
+
const NBSP = ' ';
|
|
10
|
+
/** The targets of an outline: every heading with an identifier and every
|
|
11
|
+
* anchor, the first setting of an identifier winning. */
|
|
12
|
+
export function anchorTargetsOf(outline) {
|
|
13
|
+
const out = new Map();
|
|
14
|
+
for (const e of outline ?? []) {
|
|
15
|
+
if (e.anchorId === undefined || out.has(e.anchorId))
|
|
16
|
+
continue;
|
|
17
|
+
if (e.kind !== 'heading' && e.kind !== 'anchor')
|
|
18
|
+
continue;
|
|
19
|
+
out.set(e.anchorId, {
|
|
20
|
+
id: e.anchorId,
|
|
21
|
+
kind: e.kind,
|
|
22
|
+
...(e.kind === 'heading' ? { level: e.level } : {}),
|
|
23
|
+
number: e.numbered ? e.number : '',
|
|
24
|
+
title: e.title,
|
|
25
|
+
...(e.pageLabel !== undefined ? { pageLabel: e.pageLabel } : {}),
|
|
26
|
+
...(e.pageIndex !== undefined ? { pageIndex: e.pageIndex } : {}),
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
return out;
|
|
30
|
+
}
|
|
31
|
+
/** The pandoc-crossref prefixes (`@sec:intro`, `@fig:map`): a reference
|
|
32
|
+
* written with one names the identifier with or without it. */
|
|
33
|
+
export const CROSSREF_PREFIXES = ['sec', 'fig', 'tbl', 'eq', 'lst'];
|
|
34
|
+
/** The identifier a reference names, without a pandoc-crossref prefix
|
|
35
|
+
* (`sec:intro` → `intro`); `undefined` when it carries none. */
|
|
36
|
+
export function unprefixedId(id) {
|
|
37
|
+
const colon = id.indexOf(':');
|
|
38
|
+
if (colon <= 0)
|
|
39
|
+
return undefined;
|
|
40
|
+
return CROSSREF_PREFIXES.includes(id.slice(0, colon)) ? id.slice(colon + 1) : undefined;
|
|
41
|
+
}
|
|
42
|
+
/** The resource a reference names: its id as written, else without a
|
|
43
|
+
* pandoc-crossref prefix (`@fig:map` names resource `map`) when only that
|
|
44
|
+
* one is a resource. */
|
|
45
|
+
export function resourceRefId(id, isResource) {
|
|
46
|
+
if (isResource(id))
|
|
47
|
+
return id;
|
|
48
|
+
const bare = unprefixedId(id);
|
|
49
|
+
return bare !== undefined && isResource(bare) ? bare : id;
|
|
50
|
+
}
|
|
51
|
+
/** The target `id` names: the identifier as written, else without its
|
|
52
|
+
* pandoc-crossref prefix. */
|
|
53
|
+
export function findAnchorTarget(targets, id) {
|
|
54
|
+
if (!targets)
|
|
55
|
+
return undefined;
|
|
56
|
+
const direct = targets.get(id);
|
|
57
|
+
if (direct)
|
|
58
|
+
return direct;
|
|
59
|
+
const bare = unprefixedId(id);
|
|
60
|
+
return bare !== undefined ? targets.get(bare) : undefined;
|
|
61
|
+
}
|
|
62
|
+
const CROSS_REF_STRINGS = {
|
|
63
|
+
en: { chapter: `chapter${NBSP}{n}`, section: `section${NBSP}{n}`, page: `p.${NBSP}{n}` },
|
|
64
|
+
es: { chapter: `capítulo${NBSP}{n}`, section: `sección${NBSP}{n}`, page: `pág.${NBSP}{n}` },
|
|
65
|
+
fr: { chapter: `chapitre${NBSP}{n}`, section: `section${NBSP}{n}`, page: `p.${NBSP}{n}` },
|
|
66
|
+
de: { chapter: `Kapitel${NBSP}{n}`, section: `Abschnitt${NBSP}{n}`, page: `S.${NBSP}{n}` },
|
|
67
|
+
it: { chapter: `capitolo${NBSP}{n}`, section: `sezione${NBSP}{n}`, page: `p.${NBSP}{n}` },
|
|
68
|
+
pt: { chapter: `capítulo${NBSP}{n}`, section: `secção${NBSP}{n}`, page: `p.${NBSP}{n}` },
|
|
69
|
+
ca: { chapter: `capítol${NBSP}{n}`, section: `secció${NBSP}{n}`, page: `p.${NBSP}{n}` },
|
|
70
|
+
nl: { chapter: `hoofdstuk${NBSP}{n}`, section: `paragraaf${NBSP}{n}`, page: `p.${NBSP}{n}` },
|
|
71
|
+
'zh-hans': { chapter: '第{n}章', section: '第{n}节', page: '第{n}页' },
|
|
72
|
+
'zh-hant': { chapter: '第{n}章', section: '第{n}節', page: '第{n}頁' },
|
|
73
|
+
};
|
|
74
|
+
/** The built-in cross-reference words for a document language. */
|
|
75
|
+
export function defaultCrossRefStrings(locale) {
|
|
76
|
+
return stringsFor(CROSS_REF_STRINGS, locale);
|
|
77
|
+
}
|
|
78
|
+
/** A heading number as a reference prints it: without the stop or the
|
|
79
|
+
* space a numbering template may end with ("1.2." → "1.2"). */
|
|
80
|
+
function bareNumber(number) {
|
|
81
|
+
return number.replace(/[\s.:)、。]+$/u, '').trim();
|
|
82
|
+
}
|
|
83
|
+
function applyCase(text, refCase) {
|
|
84
|
+
if (refCase === undefined || text.length === 0)
|
|
85
|
+
return text;
|
|
86
|
+
switch (refCase) {
|
|
87
|
+
case 'lower':
|
|
88
|
+
return text.toLocaleLowerCase();
|
|
89
|
+
case 'upper':
|
|
90
|
+
return text.toLocaleUpperCase();
|
|
91
|
+
case 'capitalize': {
|
|
92
|
+
const first = [...text][0];
|
|
93
|
+
return first.toLocaleUpperCase() + text.slice(first.length);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/** A template with its words in `refCase` and `{n}` replaced. */
|
|
98
|
+
function fill(template, n, refCase) {
|
|
99
|
+
const at = template.indexOf('{n}');
|
|
100
|
+
if (at < 0)
|
|
101
|
+
return applyCase(template, refCase);
|
|
102
|
+
const before = applyCase(template.slice(0, at), refCase);
|
|
103
|
+
const after = template.slice(at + 3);
|
|
104
|
+
// `capitalize` reaches the words after the number when none come before.
|
|
105
|
+
return `${before}${n}${before.trim().length > 0 ? after : applyCase(after, refCase)}`;
|
|
106
|
+
}
|
|
107
|
+
/** Whether a heading number already holds the words of the template it
|
|
108
|
+
* would be set in: a space ("Chapter 3"), or the template's words around
|
|
109
|
+
* `{n}` ("第三章" against "第{n}章", "Capítulo 2" against "capítulo {n}"). */
|
|
110
|
+
function numberIsWorded(number, template) {
|
|
111
|
+
if (/\s/u.test(number))
|
|
112
|
+
return true;
|
|
113
|
+
const at = template.indexOf('{n}');
|
|
114
|
+
if (at < 0)
|
|
115
|
+
return false;
|
|
116
|
+
const before = template.slice(0, at).trim().toLocaleLowerCase();
|
|
117
|
+
const after = template.slice(at + 3).trim().toLocaleLowerCase();
|
|
118
|
+
const n = number.toLocaleLowerCase();
|
|
119
|
+
return (before.length > 0 && n.startsWith(before)) || (after.length > 0 && n.endsWith(after));
|
|
120
|
+
}
|
|
121
|
+
/** What a page reference prints before the target is laid out. */
|
|
122
|
+
export const UNKNOWN_PAGE = '?';
|
|
123
|
+
/**
|
|
124
|
+
* The label of a cross-reference to an anchor target:
|
|
125
|
+
* - `default` / `full`: a numbered heading as "chapter 3" / "section 3.2",
|
|
126
|
+
* an unnumbered one by its title, an anchor by its text, else its page;
|
|
127
|
+
* - `number`: the bare number (the title when there is none);
|
|
128
|
+
* - `title`: the title or the anchor's text;
|
|
129
|
+
* - `page`: "p. 112"; `pageNumber`: "112".
|
|
130
|
+
* `text="…"` overrides it all.
|
|
131
|
+
*/
|
|
132
|
+
export function resolveAnchorRefLabel(ref, target, strings) {
|
|
133
|
+
if (ref.text !== undefined && ref.text.length > 0)
|
|
134
|
+
return ref.text;
|
|
135
|
+
const page = target.pageLabel !== undefined && target.pageLabel.length > 0 ? target.pageLabel : UNKNOWN_PAGE;
|
|
136
|
+
const number = bareNumber(target.number);
|
|
137
|
+
const title = target.title;
|
|
138
|
+
switch (ref.style ?? strings.defaultStyle) {
|
|
139
|
+
case 'page':
|
|
140
|
+
return fill(strings.page, page, ref.case);
|
|
141
|
+
case 'pageNumber':
|
|
142
|
+
return page;
|
|
143
|
+
case 'title':
|
|
144
|
+
return title.length > 0 ? title : fill(strings.page, page, ref.case);
|
|
145
|
+
case 'number':
|
|
146
|
+
return number.length > 0 ? number : title.length > 0 ? title : page;
|
|
147
|
+
default: {
|
|
148
|
+
if (target.kind === 'heading' && number.length > 0) {
|
|
149
|
+
const template = target.level === 1 ? strings.chapter : strings.section;
|
|
150
|
+
// A number its template already words ("Chapter 3", "第三章")
|
|
151
|
+
// prints as is.
|
|
152
|
+
return numberIsWorded(number, template) ? number : fill(template, number, ref.case);
|
|
153
|
+
}
|
|
154
|
+
return title.length > 0 ? title : fill(strings.page, page, ref.case);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
/** Whether a reference prints its target's page, so its label moves with
|
|
159
|
+
* the layout (the document is laid out again until it settles, #263). */
|
|
160
|
+
export function refPrintsPage(ref, target, defaultStyle) {
|
|
161
|
+
if (ref.text !== undefined && ref.text.length > 0)
|
|
162
|
+
return false;
|
|
163
|
+
if (ref.style === undefined && defaultStyle !== undefined && defaultStyle !== 'default')
|
|
164
|
+
ref = { ...ref, style: defaultStyle };
|
|
165
|
+
if (ref.style === 'page' || ref.style === 'pageNumber')
|
|
166
|
+
return true;
|
|
167
|
+
if (!target)
|
|
168
|
+
return false;
|
|
169
|
+
const titled = target.title.length > 0;
|
|
170
|
+
if (ref.style === 'title')
|
|
171
|
+
return !titled;
|
|
172
|
+
if (ref.style === 'number')
|
|
173
|
+
return bareNumber(target.number).length === 0 && !titled;
|
|
174
|
+
return !(target.kind === 'heading' && bareNumber(target.number).length > 0) && !titled;
|
|
175
|
+
}
|
|
176
|
+
/** Every inline `:ref` of the parsed content (paragraphs, headings, list
|
|
177
|
+
* items, quotations). */
|
|
178
|
+
function* refsOf(blocks) {
|
|
179
|
+
for (const b of blocks)
|
|
180
|
+
for (const s of b.spans)
|
|
181
|
+
if (s.ref)
|
|
182
|
+
yield s.ref;
|
|
183
|
+
}
|
|
184
|
+
/** Whether the parsed content holds a reference that names no resource of
|
|
185
|
+
* `resourceIds` — one that may name an anchor (#262). */
|
|
186
|
+
export function hasAnchorRefs(blocks, resourceIds) {
|
|
187
|
+
for (const ref of refsOf(blocks)) {
|
|
188
|
+
if (resourceIds.has(ref.resourceId))
|
|
189
|
+
continue;
|
|
190
|
+
const bare = unprefixedId(ref.resourceId);
|
|
191
|
+
if (bare !== undefined && resourceIds.has(bare))
|
|
192
|
+
continue;
|
|
193
|
+
return true;
|
|
194
|
+
}
|
|
195
|
+
return false;
|
|
196
|
+
}
|
|
197
|
+
/** Whether a reference of the parsed content prints the page of an anchor
|
|
198
|
+
* of `targets`: the document is then laid out until the pages settle. */
|
|
199
|
+
export function printsAnchorPages(blocks, targets, defaultStyle) {
|
|
200
|
+
for (const ref of refsOf(blocks)) {
|
|
201
|
+
const target = findAnchorTarget(targets, ref.resourceId);
|
|
202
|
+
if (target && refPrintsPage(ref, target, defaultStyle))
|
|
203
|
+
return true;
|
|
204
|
+
}
|
|
205
|
+
return false;
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=crossRefs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crossRefs.js","sourceRoot":"","sources":["../../src/pipeline/crossRefs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floatPlacement.d.ts","sourceRoot":"","sources":["../../src/pipeline/floatPlacement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"floatPlacement.d.ts","sourceRoot":"","sources":["../../src/pipeline/floatPlacement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAElB;iDACiD;AACjD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,0EAA0E;IAC1E,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACnC,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;2DAG2D;AAC3D,MAAM,WAAW,YAAY;IAC3B;;;;;wDAKoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IACpC,IAAI,EAAE,iBAAiB,CAAC;IACxB;uBACmB;IACnB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B;gCAC4B;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;4BAEwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;iBAGa;IACb,SAAS,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD;;6EAEyE;IACzE,OAAO,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAChC;AAED;;;;6DAI6D;AAC7D,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,YAAY,GAAG,SAAS,EAC9B,UAAU,UAAQ,GACjB,iBAAiB,CAYnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EAAE,EACtB,SAAS,EAAE,QAAQ,EAAE,EACrB,aAAa,EAAE,YAAY,EAAE,EAC7B,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;AAClC;;;qBAGqB;AACrB,UAAU,GAAE,OAAO,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAS,GAC5D,YAAY,EAAE,CAuChB;AAED;;;0EAG0E;AAC1E,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,YAAY,EAAE,EACpB,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EAClC,SAAS,GAAE,QAAQ,EAAO,EAC1B,aAAa,GAAE,YAAY,EAAO,GACjC,GAAG,CAAC,MAAM,CAAC,CAUb"}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* blocks, deferring overflow to the next page) lives in the build pipeline,
|
|
16
16
|
* which owns the VDT and measurement context.
|
|
17
17
|
*/
|
|
18
|
+
import { resourceRefId } from './crossRefs';
|
|
18
19
|
/** Resolve a resource's placement: own `placement` → its type's
|
|
19
20
|
* `defaultPlacement` → the built-in default (`auto` / `column`). A rotated
|
|
20
21
|
* resource is always a page-span float; an inline (`here`) embed is never
|
|
@@ -87,7 +88,7 @@ noRotation = false) {
|
|
|
87
88
|
record(b.resourceId, i);
|
|
88
89
|
for (const span of b.spans) {
|
|
89
90
|
if (span.ref?.resourceId)
|
|
90
|
-
record(span.ref.resourceId, i);
|
|
91
|
+
record(resourceRefId(span.ref.resourceId, (id) => resourceById.has(id)), i);
|
|
91
92
|
}
|
|
92
93
|
}
|
|
93
94
|
return plan;
|