postext 0.3.36 → 0.3.38
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__/continuation.test.js +44 -0
- package/dist/__tests__/continuation.test.js.map +1 -1
- package/dist/__tests__/exports.test.js +13 -0
- package/dist/__tests__/exports.test.js.map +1 -1
- package/dist/__tests__/headingStyles.test.d.ts +2 -0
- package/dist/__tests__/headingStyles.test.d.ts.map +1 -0
- package/dist/__tests__/headingStyles.test.js +134 -0
- package/dist/__tests__/headingStyles.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__/toc.test.d.ts +2 -0
- package/dist/__tests__/toc.test.d.ts.map +1 -0
- package/dist/__tests__/toc.test.js +210 -0
- package/dist/__tests__/toc.test.js.map +1 -0
- package/dist/canvas-backend/blockRender.d.ts.map +1 -1
- package/dist/canvas-backend/blockRender.js +21 -11
- package/dist/canvas-backend/blockRender.js.map +1 -1
- package/dist/canvas-backend/index.d.ts.map +1 -1
- package/dist/canvas-backend/index.js +9 -0
- package/dist/canvas-backend/index.js.map +1 -1
- package/dist/defaults/headerFooter.d.ts.map +1 -1
- package/dist/defaults/headerFooter.js +17 -0
- package/dist/defaults/headerFooter.js.map +1 -1
- package/dist/defaults/headingStyles.d.ts +10 -0
- package/dist/defaults/headingStyles.d.ts.map +1 -0
- package/dist/defaults/headingStyles.js +85 -0
- package/dist/defaults/headingStyles.js.map +1 -0
- package/dist/defaults/headings.d.ts +6 -1
- package/dist/defaults/headings.d.ts.map +1 -1
- package/dist/defaults/headings.js +32 -0
- package/dist/defaults/headings.js.map +1 -1
- 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/defaults/paragraphStyles.d.ts.map +1 -1
- package/dist/defaults/paragraphStyles.js +4 -1
- package/dist/defaults/paragraphStyles.js.map +1 -1
- package/dist/defaults/toc.d.ts +26 -0
- package/dist/defaults/toc.d.ts.map +1 -0
- package/dist/defaults/toc.js +167 -0
- package/dist/defaults/toc.js.map +1 -0
- package/dist/design/layout.d.ts +15 -3
- package/dist/design/layout.d.ts.map +1 -1
- package/dist/design/layout.js +66 -1
- package/dist/design/layout.js.map +1 -1
- package/dist/html-backend.d.ts.map +1 -1
- package/dist/html-backend.js +16 -5
- package/dist/html-backend.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/numbering.d.ts +5 -1
- package/dist/numbering.d.ts.map +1 -1
- package/dist/numbering.js +7 -1
- package/dist/numbering.js.map +1 -1
- package/dist/parse/blockParser.d.ts.map +1 -1
- package/dist/parse/blockParser.js +1 -1
- package/dist/parse/blockParser.js.map +1 -1
- 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/types.d.ts +26 -1
- package/dist/parse/types.d.ts.map +1 -1
- package/dist/pipeline/build.d.ts.map +1 -1
- package/dist/pipeline/build.js +196 -57
- package/dist/pipeline/build.js.map +1 -1
- package/dist/pipeline/buildBlockKind.d.ts +4 -0
- package/dist/pipeline/buildBlockKind.d.ts.map +1 -1
- package/dist/pipeline/buildBlockKind.js +2 -2
- package/dist/pipeline/buildBlockKind.js.map +1 -1
- package/dist/pipeline/columnBalancing.d.ts.map +1 -1
- package/dist/pipeline/columnBalancing.js +3 -1
- package/dist/pipeline/columnBalancing.js.map +1 -1
- 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/continuation.d.ts +10 -1
- package/dist/pipeline/continuation.d.ts.map +1 -1
- package/dist/pipeline/continuation.js +16 -1
- package/dist/pipeline/continuation.js.map +1 -1
- package/dist/pipeline/headerFooter.d.ts +5 -2
- package/dist/pipeline/headerFooter.d.ts.map +1 -1
- package/dist/pipeline/headerFooter.js +90 -15
- package/dist/pipeline/headerFooter.js.map +1 -1
- package/dist/pipeline/headingStyles.d.ts +58 -0
- package/dist/pipeline/headingStyles.d.ts.map +1 -0
- package/dist/pipeline/headingStyles.js +157 -0
- package/dist/pipeline/headingStyles.js.map +1 -0
- 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.map +1 -1
- package/dist/pipeline/measureContentBlock.js +4 -0
- package/dist/pipeline/measureContentBlock.js.map +1 -1
- package/dist/pipeline/outline.d.ts +37 -0
- package/dist/pipeline/outline.d.ts.map +1 -0
- package/dist/pipeline/outline.js +148 -0
- package/dist/pipeline/outline.js.map +1 -0
- package/dist/pipeline/pageRoles.d.ts +2 -1
- package/dist/pipeline/pageRoles.d.ts.map +1 -1
- package/dist/pipeline/pageRoles.js +5 -4
- package/dist/pipeline/pageRoles.js.map +1 -1
- package/dist/pipeline/placeholders.d.ts.map +1 -1
- package/dist/pipeline/placeholders.js +6 -0
- package/dist/pipeline/placeholders.js.map +1 -1
- package/dist/pipeline/resourceNumbering.d.ts +3 -1
- package/dist/pipeline/resourceNumbering.d.ts.map +1 -1
- package/dist/pipeline/resourceNumbering.js +4 -2
- package/dist/pipeline/resourceNumbering.js.map +1 -1
- package/dist/pipeline/styles.d.ts +5 -2
- package/dist/pipeline/styles.d.ts.map +1 -1
- package/dist/pipeline/styles.js +7 -3
- package/dist/pipeline/styles.js.map +1 -1
- package/dist/pipeline/toc.d.ts +22 -0
- package/dist/pipeline/toc.d.ts.map +1 -0
- package/dist/pipeline/toc.js +251 -0
- package/dist/pipeline/toc.js.map +1 -0
- package/dist/types.d.ts +277 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/vdt.d.ts +42 -2
- package/dist/vdt.d.ts.map +1 -1
- package/dist/vdt.js.map +1 -1
- package/package.json +1 -1
|
@@ -16,8 +16,9 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import type { PageRole } from '../types';
|
|
18
18
|
import type { ResolvedConfig, VDTDocument, VDTPage } from '../vdt';
|
|
19
|
+
import { type HeadingLevelResolver } from './headingStyles';
|
|
19
20
|
/** Classify one page. Pure — does not mutate the page. */
|
|
20
|
-
export declare function classifyPage(page: VDTPage, resolved: ResolvedConfig): PageRole;
|
|
21
|
+
export declare function classifyPage(page: VDTPage, resolved: ResolvedConfig, levels?: HeadingLevelResolver): PageRole;
|
|
21
22
|
/** Stamp `page.role` on every page of `doc`. */
|
|
22
23
|
export declare function classifyPages(doc: VDTDocument, resolved?: ResolvedConfig): void;
|
|
23
24
|
//# sourceMappingURL=pageRoles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageRoles.d.ts","sourceRoot":"","sources":["../../src/pipeline/pageRoles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAY,WAAW,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"pageRoles.d.ts","sourceRoot":"","sources":["../../src/pipeline/pageRoles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAY,WAAW,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,EAA8B,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAgBxF,0DAA0D;AAC1D,wBAAgB,YAAY,CAC1B,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,cAAc,EACxB,MAAM,GAAE,oBAA2D,GAClE,QAAQ,CAUV;AAED,gDAAgD;AAChD,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,GAAE,cAA2B,GAAG,IAAI,CAK3F"}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* first page of a chapter;
|
|
15
15
|
* - `'body'` — everything else.
|
|
16
16
|
*/
|
|
17
|
-
import {
|
|
17
|
+
import { createHeadingLevelResolver } from './headingStyles';
|
|
18
18
|
/** First block of the page in reading order (columns in index order), or
|
|
19
19
|
* `undefined` when the page holds no column content. */
|
|
20
20
|
function firstBlockInReadingOrder(page) {
|
|
@@ -30,7 +30,7 @@ function pageIsEmpty(page) {
|
|
|
30
30
|
return page.columns.every((c) => c.blocks.length === 0);
|
|
31
31
|
}
|
|
32
32
|
/** Classify one page. Pure — does not mutate the page. */
|
|
33
|
-
export function classifyPage(page, resolved) {
|
|
33
|
+
export function classifyPage(page, resolved, levels = createHeadingLevelResolver(resolved)) {
|
|
34
34
|
if (page.blankForParity || page.blankForForce)
|
|
35
35
|
return 'blank';
|
|
36
36
|
if (page.partInfo)
|
|
@@ -39,7 +39,7 @@ export function classifyPage(page, resolved) {
|
|
|
39
39
|
return 'blank';
|
|
40
40
|
const first = firstBlockInReadingOrder(page);
|
|
41
41
|
if (first && first.type === 'heading' && first.headingLevel !== undefined) {
|
|
42
|
-
const level =
|
|
42
|
+
const level = levels.forLevel(first.headingLevel, first.headingStyleId);
|
|
43
43
|
if (level && (level.span === 'page' || level.breakBefore.enabled))
|
|
44
44
|
return 'opener';
|
|
45
45
|
}
|
|
@@ -47,8 +47,9 @@ export function classifyPage(page, resolved) {
|
|
|
47
47
|
}
|
|
48
48
|
/** Stamp `page.role` on every page of `doc`. */
|
|
49
49
|
export function classifyPages(doc, resolved = doc.config) {
|
|
50
|
+
const levels = createHeadingLevelResolver(resolved);
|
|
50
51
|
for (const page of doc.pages) {
|
|
51
|
-
page.role = classifyPage(page, resolved);
|
|
52
|
+
page.role = classifyPage(page, resolved, levels);
|
|
52
53
|
}
|
|
53
54
|
}
|
|
54
55
|
//# sourceMappingURL=pageRoles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageRoles.js","sourceRoot":"","sources":["../../src/pipeline/pageRoles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"pageRoles.js","sourceRoot":"","sources":["../../src/pipeline/pageRoles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,EAAE,0BAA0B,EAA6B,MAAM,iBAAiB,CAAC;AAExF;yDACyD;AACzD,SAAS,wBAAwB,CAAC,IAAa;IAC7C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,WAAW,CAAC,IAAa;IAChC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACxD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,YAAY,CAC1B,IAAa,EACb,QAAwB,EACxB,SAA+B,0BAA0B,CAAC,QAAQ,CAAC;IAEnE,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa;QAAE,OAAO,OAAO,CAAC;IAC9D,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC;IACjC,IAAI,WAAW,CAAC,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC;IACtC,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC1E,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;QACxE,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC;YAAE,OAAO,QAAQ,CAAC;IACrF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,aAAa,CAAC,GAAgB,EAAE,WAA2B,GAAG,CAAC,MAAM;IACnF,MAAM,MAAM,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACpD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"placeholders.d.ts","sourceRoot":"","sources":["../../src/pipeline/placeholders.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEhD;;;;;;;oEAOoE;AACpE,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,4EAA4E;IAC5E,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC;;iDAE6C;IAC7C,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IACnD;iFAC6E;IAC7E,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAClD;0DACsD;IACtD,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAiBD;2EAC2E;AAC3E,eAAO,MAAM,mBAAmB,QAAyD,CAAC;AAE1F,wEAAwE;AACxE,eAAO,MAAM,uBAAuB,UAAU,CAAC;AAE/C,mEAAmE;AACnE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAInE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,QAAQ,EAAE,EAClB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,oBAAoB,EAAE,GAC7B,MAAM,EAAE,CAEV;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,QAAQ,EAAE,EAClB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,oBAAoB,EAAE,EAC9B,aAAa,SAAI,GAChB,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"placeholders.d.ts","sourceRoot":"","sources":["../../src/pipeline/placeholders.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,6 +51,12 @@ export function computeChapterNumbers(blocks, totalPages, pages, ordinalOffset =
|
|
|
51
51
|
let ordinal = ordinalOffset;
|
|
52
52
|
let lastContentIndex;
|
|
53
53
|
return computeChapterValues(blocks, totalPages, pages, (b) => {
|
|
54
|
+
// An unnumbered chapter (a heading style with `numbered: false`)
|
|
55
|
+
// advances nothing and shows no number.
|
|
56
|
+
if (b.unnumbered) {
|
|
57
|
+
lastContentIndex = b.contentIndex;
|
|
58
|
+
return '';
|
|
59
|
+
}
|
|
54
60
|
// A heading split across columns yields several blocks with the same
|
|
55
61
|
// content index; count the chapter once.
|
|
56
62
|
if (b.contentIndex === undefined || b.contentIndex !== lastContentIndex)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"placeholders.js","sourceRoot":"","sources":["../../src/pipeline/placeholders.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"placeholders.js","sourceRoot":"","sources":["../../src/pipeline/placeholders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AA2C3D,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,YAAY;IACZ,YAAY;IACZ,OAAO;IACP,UAAU;IACV,QAAQ;IACR,aAAa;IACb,cAAc;IACd,eAAe;IACf,WAAW;IACX,YAAY;CACb,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;AAEtF;2EAC2E;AAC3E,MAAM,CAAC,MAAM,mBAAmB,GAAG,sDAAsD,CAAC;AAE1F,wEAAwE;AACxE,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAC;AAE/C,mEAAmE;AACnE,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC;QAAE,OAAO,SAAS,CAAC;IAChE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACvD,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAkB,EAClB,UAAkB,EAClB,KAA8B;IAE9B,OAAO,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAkB,EAClB,UAAkB,EAClB,KAA8B,EAC9B,aAAa,GAAG,CAAC;IAEjB,yEAAyE;IACzE,mEAAmE;IACnE,gEAAgE;IAChE,IAAI,OAAO,GAAG,aAAa,CAAC;IAC5B,IAAI,gBAAoC,CAAC;IACzC,OAAO,oBAAoB,CACzB,MAAM,EACN,UAAU,EACV,KAAK,EACL,CAAC,CAAC,EAAE,EAAE;QACJ,iEAAiE;QACjE,wCAAwC;QACxC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YACjB,gBAAgB,GAAG,CAAC,CAAC,YAAY,CAAC;YAClC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,qEAAqE;QACrE,yCAAyC;QACzC,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,CAAC,YAAY,KAAK,gBAAgB;YAAE,OAAO,EAAE,CAAC;QACnF,gBAAgB,GAAG,CAAC,CAAC,YAAY,CAAC;QAClC,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC,EACD,EAAE,CACH,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAkB,EAClB,UAAkB,EAClB,KAA8B;IAE9B,OAAO,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;AACnF,CAAC;AAED;;uDAEuD;AACvD,SAAS,oBAAoB,CAC3B,MAAkB,EAClB,UAAkB,EAClB,KAAyC,EACzC,OAA+B,EAC/B,KAAQ;IAER,MAAM,GAAG,GAAG,IAAI,KAAK,CAAI,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAa,CAAC;IACpC,IAAI,OAAO,GAAM,KAAK,CAAC;IACvB,0EAA0E;IAC1E,oEAAoE;IACpE,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC;IACvB,oEAAoE;IACpE,qBAAqB;IACrB,MAAM,aAAa,GAA2C,EAAE,CAAC;IACjE,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC;YAAE,SAAS;QAC9B,OAAO,aAAa,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;YACnC,aAAa,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACjC,aAAa,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IACD,oEAAoE;IACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC;QAC1B,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;QACvB,CAAC;IACH,CAAC;IACD,kEAAkE;IAClE,kEAAkE;IAClE,mEAAmE;IACnE,oEAAoE;IACpE,mEAAmE;IACnE,oBAAoB;IACpB,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,aAAa,EAAE,CAAC;YACjD,KAAK,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,IAAI;oBAAE,MAAM;gBACjB,IAAI,IAAI,CAAC,aAAa;oBAAE,MAAM;gBAC9B,IAAI,CAAC,IAAI,CAAC,cAAc;oBAAE,MAAM;gBAChC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAMD;;;6EAG6E;AAC7E,MAAM,UAAU,iBAAiB,CAC/B,KAA8B,EAC9B,KAA2E;IAE3E,MAAM,oBAAoB,GAAG,IAAI,KAAK,CAAS,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtE,MAAM,qBAAqB,GAAG,IAAI,KAAK,CAAS,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvE,MAAM,sBAAsB,GAAG,IAAI,KAAK,CAAyB,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxF,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;IAC5D,IAAI,MAAM,GAAG,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC;IACjC,IAAI,OAAO,GAA2B,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC;IAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC;QAChC,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YAChD,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACrB,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;YAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,cAAc;oBAAE,MAAM;gBACtD,oBAAoB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;gBAChC,qBAAqB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;gBAClC,sBAAsB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;YACtC,CAAC;QACH,CAAC;QACD,oBAAoB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAChC,qBAAqB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QAClC,sBAAsB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IACtC,CAAC;IACD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,CAAC;AACjF,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAe;IACvC,yEAAyE;IACzE,wEAAwE;IACxE,yEAAyE;IACzE,8DAA8D;IAC9D,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACnD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAC7B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC;QAClB,CAAC;IACH,CAAC;IACD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,8DAA8D;IAC9D,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;IAC3D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,GAAuB;IAEvB,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;QACxB,IAAI,EAAE,KAAK,GAAG,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC1C,GAAG,IAAI,GAAG,CAAC;YACX,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC1C,GAAG,IAAI,GAAG,CAAC;YACX,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACzC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gBACf,kCAAkC;gBAClC,GAAG,IAAI,EAAE,CAAC;gBACV,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YACD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;gBAClC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBACZ,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,GAAG,IAAI,GAAG,CAAC,uBAAuB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACtE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBACZ,SAAS;YACX,CAAC;YACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnB,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBACZ,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACrC,IAAI,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBACpD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;YACD,GAAG,IAAI,KAAK,CAAC;YACb,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;YACZ,SAAS;QACX,CAAC;QACD,GAAG,IAAI,EAAE,CAAC;QACV,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC;AAC/E,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,GAAuB;IACxD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY;YACf,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QAC5B,KAAK,YAAY;YACf,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACrC,KAAK,OAAO;YACV,OAAO,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,KAAK,UAAU;YACb,OAAO,OAAO,GAAG,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,KAAK,QAAQ;YACX,OAAO,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,KAAK,aAAa;YAChB,OAAO,OAAO,GAAG,CAAC,QAAQ,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,KAAK,cAAc;YACjB,OAAO,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC3D,KAAK,WAAW;YACd,OAAO,GAAG,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1D,KAAK,YAAY;YACf,OAAO,GAAG,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC3D,KAAK,eAAe;YAClB,OAAO,GAAG,CAAC,wBAAwB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC9D;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAgB;IACtD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;QACxB,IAAI,EAAE,KAAK,GAAG,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAAC,CAAC,IAAI,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAChE,IAAI,EAAE,KAAK,GAAG,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAAC,CAAC,IAAI,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAChE,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACzC,IAAI,GAAG,KAAK,CAAC,CAAC;gBAAE,MAAM;YACtB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;YACxC,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpD,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;YACZ,SAAS;QACX,CAAC;QACD,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,OAAO,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -25,7 +25,9 @@ export type ResourceNumberingMap = Record<string, ResourceNumberEntry>;
|
|
|
25
25
|
* `result[i]` (i.e. the heading counts itself). Mirrors the counter logic in
|
|
26
26
|
* `computeHeadingNumbers` but exposes the raw per-level values rather than the
|
|
27
27
|
* rendered prefix. */
|
|
28
|
-
export declare function computeHeadingContext(blocks: ContentBlock[], start?: HeadingContext
|
|
28
|
+
export declare function computeHeadingContext(blocks: ContentBlock[], start?: HeadingContext,
|
|
29
|
+
/** Whether a heading advances its counter (see `computeHeadingNumbers`). */
|
|
30
|
+
isNumbered?: (block: ContentBlock) => boolean): HeadingContext[];
|
|
29
31
|
/**
|
|
30
32
|
* Compute the numbering map for every resource referenced in `blocks`.
|
|
31
33
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resourceNumbering.d.ts","sourceRoot":"","sources":["../../src/pipeline/resourceNumbering.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,mBAAmB,EAAE,YAAY,EAAyB,MAAM,UAAU,CAAC;AAQpH;4EAC4E;AAC5E,MAAM,MAAM,cAAc,GAAG,eAAe,CAAC;AAE7C,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAEpC,0EAA0E;AAC1E,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAsBvE;;;;uBAIuB;AACvB,wBAAgB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"resourceNumbering.d.ts","sourceRoot":"","sources":["../../src/pipeline/resourceNumbering.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,mBAAmB,EAAE,YAAY,EAAyB,MAAM,UAAU,CAAC;AAQpH;4EAC4E;AAC5E,MAAM,MAAM,cAAc,GAAG,eAAe,CAAC;AAE7C,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAEpC,0EAA0E;AAC1E,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAsBvE;;;;uBAIuB;AACvB,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EAAE,EACtB,KAAK,CAAC,EAAE,cAAc;AACtB,4EAA4E;AAC5E,UAAU,GAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAoB,GACxD,cAAc,EAAE,CAqBlB;AAoGD;;;;;;;;;GASG;AACH;;yBAEyB;AACzB,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE,CAAC,CAAC;AAEhG;4EAC4E;AAC5E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC;AAED,MAAM,WAAW,uBAAuB;IACtC,gEAAgE;IAChE,GAAG,EAAE,oBAAoB,CAAC;IAC1B,kEAAkE;IAClE,QAAQ,EAAE,oBAAoB,CAAC;CAChC;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,YAAY,EAAE,EACtB,aAAa,EAAE,YAAY,EAAE,EAC7B,SAAS,EAAE,QAAQ,EAAE,EACrB,cAAc,EAAE,cAAc,EAAE,EAChC,KAAK,CAAC,EAAE,sBAAsB,GAC7B,oBAAoB,CAEtB;AAED;gBACgB;AAChB,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,YAAY,EAAE,EACtB,aAAa,EAAE,YAAY,EAAE,EAC7B,SAAS,EAAE,QAAQ,EAAE,EACrB,cAAc,EAAE,cAAc,EAAE,EAChC,KAAK,CAAC,EAAE,sBAAsB,GAC7B,uBAAuB,CA4EzB"}
|
|
@@ -36,7 +36,9 @@ function counterFormatToStyle(format) {
|
|
|
36
36
|
* `result[i]` (i.e. the heading counts itself). Mirrors the counter logic in
|
|
37
37
|
* `computeHeadingNumbers` but exposes the raw per-level values rather than the
|
|
38
38
|
* rendered prefix. */
|
|
39
|
-
export function computeHeadingContext(blocks, start
|
|
39
|
+
export function computeHeadingContext(blocks, start,
|
|
40
|
+
/** Whether a heading advances its counter (see `computeHeadingNumbers`). */
|
|
41
|
+
isNumbered = () => true) {
|
|
40
42
|
const counters = [0, 0, 0, 0, 0, 0, 0]; // index 1..6 used
|
|
41
43
|
if (start)
|
|
42
44
|
for (let lvl = 1; lvl <= 6; lvl++)
|
|
@@ -44,7 +46,7 @@ export function computeHeadingContext(blocks, start) {
|
|
|
44
46
|
const out = new Array(blocks.length);
|
|
45
47
|
for (let i = 0; i < blocks.length; i++) {
|
|
46
48
|
const b = blocks[i];
|
|
47
|
-
if (b.type === 'heading' && b.level && b.level >= 1 && b.level <= 6) {
|
|
49
|
+
if (b.type === 'heading' && b.level && b.level >= 1 && b.level <= 6 && isNumbered(b)) {
|
|
48
50
|
const lvl = b.level;
|
|
49
51
|
counters[lvl] = (counters[lvl] ?? 0) + 1;
|
|
50
52
|
for (let k = lvl + 1; k <= 6; k++)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resourceNumbering.js","sourceRoot":"","sources":["../../src/pipeline/resourceNumbering.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EACL,aAAa,EACb,qBAAqB,GAGtB,MAAM,cAAc,CAAC;AAWtB,MAAM,aAAa,GAAmB,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;AAEnF;;0DAE0D;AAC1D,SAAS,oBAAoB,CAAC,MAA6B;IACzD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,aAAa;YAChB,OAAO,aAAa,CAAC;QACvB,KAAK,aAAa;YAChB,OAAO,aAAa,CAAC;QACvB,KAAK,aAAa;YAChB,OAAO,aAAa,CAAC;QACvB,KAAK,aAAa;YAChB,OAAO,aAAa,CAAC;IACzB,CAAC;AACH,CAAC;AAED;;;;uBAIuB;AACvB,MAAM,UAAU,qBAAqB,
|
|
1
|
+
{"version":3,"file":"resourceNumbering.js","sourceRoot":"","sources":["../../src/pipeline/resourceNumbering.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EACL,aAAa,EACb,qBAAqB,GAGtB,MAAM,cAAc,CAAC;AAWtB,MAAM,aAAa,GAAmB,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;AAEnF;;0DAE0D;AAC1D,SAAS,oBAAoB,CAAC,MAA6B;IACzD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,aAAa;YAChB,OAAO,aAAa,CAAC;QACvB,KAAK,aAAa;YAChB,OAAO,aAAa,CAAC;QACvB,KAAK,aAAa;YAChB,OAAO,aAAa,CAAC;QACvB,KAAK,aAAa;YAChB,OAAO,aAAa,CAAC;IACzB,CAAC;AACH,CAAC;AAED;;;;uBAIuB;AACvB,MAAM,UAAU,qBAAqB,CACnC,MAAsB,EACtB,KAAsB;AACtB,4EAA4E;AAC5E,aAA+C,GAAG,EAAE,CAAC,IAAI;IAEzD,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,kBAAkB;IAC1D,IAAI,KAAK;QAAE,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE;YAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,EAA0B,CAAC,CAAC;IACvG,MAAM,GAAG,GAAqB,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACrB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC;YACpB,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACzC,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACrD,CAAC;QACD,GAAG,CAAC,CAAC,CAAC,GAAG;YACP,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YACpB,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YACpB,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YACpB,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YACpB,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YACpB,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;SACrB,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAQD;;+EAE+E;AAC/E,SAAS,qBAAqB,CAAC,GAAW;IACxC,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YAC5C,GAAG,GAAG,EAAE,CAAC;QACX,CAAC;IACH,CAAC,CAAC;IACF,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;QACnB,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;YACzB,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClD,GAAG,IAAI,IAAI,CAAC;gBACZ,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACpC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gBACf,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC1C,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBACjB,KAAK,EAAE,CAAC;oBACR,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;oBACjC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;oBACZ,SAAS;gBACX,CAAC;gBACD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvC,IAAI,MAAM,EAAE,CAAC;oBACX,KAAK,EAAE,CAAC;oBACR,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAA0B,EAAE,CAAC,CAAC;oBACpF,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;oBACZ,SAAS;gBACX,CAAC;YACH,CAAC;QACH,CAAC;QACD,GAAG,IAAI,EAAE,CAAC;QACV,CAAC,EAAE,CAAC;IACN,CAAC;IACD,KAAK,EAAE,CAAC;IACR,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;qBAGqB;AACrB,SAAS,oBAAoB,CAC3B,MAAuB,EACvB,YAAoB,EACpB,KAAmB,EACnB,OAAuB;IAEvB,MAAM,MAAM,GAAkB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7C,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACnE,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;QACvE,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAA0B,CAAC,CAAC;QAC7D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACrF,CAAC,CAAC,CAAC;IACH,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAKD;;mCAEmC;AACnC,SAAS,kBAAkB,CACzB,IAA2B,EAC3B,GAAmB,EACnB,UAAsB;IAEtB,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,8EAA8E;IAC9E,4EAA4E;IAC5E,sBAAsB;IACtB,KAAK,IAAI,GAAG,GAAG,CAAe,EAAE,GAAG,IAAI,UAAU,EAAE,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAe,EAAE,CAAC;QACjF,MAAM,GAAG,GAAG,IAAI,GAAG,EAA0B,CAAC;QAC9C,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AA+BD,MAAM,UAAU,wBAAwB,CACtC,MAAsB,EACtB,aAA6B,EAC7B,SAAqB,EACrB,cAAgC,EAChC,KAA8B;IAE9B,OAAO,6BAA6B,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC;AACpG,CAAC;AAED;gBACgB;AAChB,MAAM,UAAU,6BAA6B,CAC3C,MAAsB,EACtB,aAA6B,EAC7B,SAAqB,EACrB,cAAgC,EAChC,KAA8B;IAE9B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,aAAa;QAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,SAAS;QAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IASrD,MAAM,gBAAgB,GAAiB,EAAE,CAAC;IAC1C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEjF,MAAM,MAAM,GAAG,CAAC,UAAkB,EAAE,QAAgB,EAAE,EAAE;QACtD,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,OAAO;QACjC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrB,gBAAgB,CAAC,IAAI,CAAC;YACpB,UAAU;YACV,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,aAAa;SACnD,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACrB,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YAC/C,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC1B,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,GAAG,EAAE,UAAU;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,mEAAmE;IACnE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC/C,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;YACpB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,GAAG,GAAyB,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;IACjE,MAAM,QAAQ,GAAyB,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;IACtE,KAAK,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,MAAM,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;QACnC,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,UAAU,GACd,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAgB,CAAC;QAElF,MAAM,SAAS,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,OAAO,GAAG,SAAS,EAAE,OAAO,IAAI,CAAC,CAAC;QACtC,IAAI,WAAW,GAA0B,SAAS,EAAE,OAAO,IAAI,IAAI,CAAC;QACpE,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,IAAI,UAAU,KAAK,IAAI,IAAI,kBAAkB,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;gBACpF,OAAO,GAAG,CAAC,CAAC;YACd,CAAC;YACD,OAAO,IAAI,CAAC,CAAC;YACb,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC;YAC1B,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG;gBACpB,MAAM,EAAE,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC;gBACjE,MAAM;gBACN,OAAO,EAAE,GAAG,CAAC,OAAO;aACrB,CAAC;QACJ,CAAC;QACD,IAAI,WAAW;YAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IACxE,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC3B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ResolvedParagraphStyleConfig, TextAlign } from '../types';
|
|
1
|
+
import type { ResolvedHeadingLevelConfig, ResolvedParagraphStyleConfig, TextAlign } from '../types';
|
|
2
2
|
import type { ResolvedConfig } from '../vdt';
|
|
3
3
|
export interface BlockStyle {
|
|
4
4
|
fontString: string;
|
|
@@ -24,7 +24,10 @@ export interface BlockStyle {
|
|
|
24
24
|
hangingIndent: boolean;
|
|
25
25
|
}
|
|
26
26
|
export declare function resolveBodyStyle(resolved: ResolvedConfig): BlockStyle;
|
|
27
|
-
export declare function resolveHeadingStyle(level: number, resolved: ResolvedConfig
|
|
27
|
+
export declare function resolveHeadingStyle(level: number, resolved: ResolvedConfig,
|
|
28
|
+
/** The level config to use — a heading style's merged level (see
|
|
29
|
+
* `headingLevelFor`) — instead of the plain level lookup. */
|
|
30
|
+
levelConfig?: ResolvedHeadingLevelConfig): BlockStyle;
|
|
28
31
|
export declare function resolveMathDisplayStyle(resolved: ResolvedConfig): BlockStyle;
|
|
29
32
|
export declare function resolveBlockquoteStyle(resolved: ResolvedConfig): BlockStyle;
|
|
30
33
|
/** Block style for paragraphs inside a `:::paragraphs{style="…"}` container.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/pipeline/styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/pipeline/styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEpG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAI7C,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wDAAwD;IACxD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8CAA8C;IAC9C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,UAAU,CAgBrE;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,cAAc;AACxB;8DAC8D;AAC9D,WAAW,CAAC,EAAE,0BAA0B,GACvC,UAAU,CAyBZ;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,cAAc,GAAG,UAAU,CAqB5E;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,cAAc,GAAG,UAAU,CAgB3E;AAED;;;;;;6EAM6E;AAC7E,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,4BAA4B,EACnC,QAAQ,EAAE,cAAc,GACvB,UAAU,CA0CZ"}
|
package/dist/pipeline/styles.js
CHANGED
|
@@ -18,9 +18,13 @@ export function resolveBodyStyle(resolved) {
|
|
|
18
18
|
const marginBottomPx = resolved.bodyText.paragraphSpacing ? lineHeightPx : 0;
|
|
19
19
|
return { fontString, boldFontString, italicFontString, boldItalicFontString, fontSizePx, lineHeightPx, color: resolved.bodyText.color.hex, boldColor: resolved.bodyText.boldColor?.hex, italicColor: resolved.bodyText.italicColor?.hex, referenceColor: resolved.bodyText.referenceColor.hex, referenceBold: resolved.bodyText.referenceBold, referenceItalic: resolved.bodyText.referenceItalic, textAlign, hyphenate, marginTopPx: 0, marginBottomPx, firstLineIndentPx, hangingIndent };
|
|
20
20
|
}
|
|
21
|
-
export function resolveHeadingStyle(level, resolved
|
|
21
|
+
export function resolveHeadingStyle(level, resolved,
|
|
22
|
+
/** The level config to use — a heading style's merged level (see
|
|
23
|
+
* `headingLevelFor`) — instead of the plain level lookup. */
|
|
24
|
+
levelConfig) {
|
|
22
25
|
const dpi = resolved.page.dpi;
|
|
23
|
-
const headingConfig =
|
|
26
|
+
const headingConfig = levelConfig
|
|
27
|
+
?? resolved.headings.levels.find((l) => l.level === level) ?? resolved.headings.levels[0];
|
|
24
28
|
const fontSizePx = dimensionToPx(headingConfig.fontSize, dpi);
|
|
25
29
|
const lineHeightDim = headingConfig.lineHeight;
|
|
26
30
|
let lineHeightPx;
|
|
@@ -118,7 +122,7 @@ export function resolveParagraphStyle(style, resolved) {
|
|
|
118
122
|
fontSizePx,
|
|
119
123
|
lineHeightPx,
|
|
120
124
|
color: style.color.hex,
|
|
121
|
-
boldColor: body.boldColor?.hex,
|
|
125
|
+
boldColor: style.boldColor?.hex ?? body.boldColor?.hex,
|
|
122
126
|
italicColor: body.italicColor?.hex,
|
|
123
127
|
referenceColor: body.referenceColor.hex,
|
|
124
128
|
referenceBold: body.referenceBold,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/pipeline/styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AA0B/C,MAAM,UAAU,gBAAgB,CAAC,QAAwB;IACvD,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;IAC9B,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IACvD,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACrF,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;IAC/D,MAAM,cAAc,GAAG,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC7F,MAAM,gBAAgB,GAAG,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrG,MAAM,oBAAoB,GAAG,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7G,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;IAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,IAAI,SAAS,KAAK,SAAS,CAAC;IACnF,MAAM,iBAAiB,GAAG,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IAC5F,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;IACtD,MAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC;AAC9d,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,KAAa,EACb,QAAwB;
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/pipeline/styles.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `:::toc` — the table of contents. The directive expands, before layout,
|
|
3
|
+
* into ordinary content blocks (one per listed heading, one per part
|
|
4
|
+
* divider) that flow through the column machinery like paragraphs: they
|
|
5
|
+
* break across columns and pages, snap to the grid and map clicks back to
|
|
6
|
+
* the directive line. Measurement is special: an entry is its title (with
|
|
7
|
+
* a right-aligned number in a column of its own), a leader and the page
|
|
8
|
+
* label on its last line, and an optional subtitle line (the chapter
|
|
9
|
+
* authors) under it; a part row is an empty block of a fixed height whose
|
|
10
|
+
* design `buildHeadersAndFooters` lays out from `toc.parts.design`.
|
|
11
|
+
*/
|
|
12
|
+
import type { ContentBlock } from '../parse';
|
|
13
|
+
import type { OutlineEntry } from '../types';
|
|
14
|
+
import type { ResolvedConfig } from '../vdt';
|
|
15
|
+
import type { BlockMeasureContext, MeasuredContentBlock } from './measureContentBlock';
|
|
16
|
+
/** The content blocks with every `:::toc` directive replaced by the blocks
|
|
17
|
+
* of the contents it prints. Without an outline (no directive) the input
|
|
18
|
+
* is returned as is. */
|
|
19
|
+
export declare function expandTocDirectives(blocks: readonly ContentBlock[], outline: readonly OutlineEntry[] | undefined, resolved: ResolvedConfig): ContentBlock[];
|
|
20
|
+
/** Measure one block of an expanded `:::toc` (see the module header). */
|
|
21
|
+
export declare function measureTocBlock(rawBlock: ContentBlock, columnWidth: number, ctx: BlockMeasureContext): MeasuredContentBlock | null;
|
|
22
|
+
//# sourceMappingURL=toc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toc.d.ts","sourceRoot":"","sources":["../../src/pipeline/toc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAA4B,MAAM,UAAU,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAA+B,MAAM,UAAU,CAAC;AAI1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAE7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAIvF;;yBAEyB;AACzB,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,OAAO,EAAE,SAAS,YAAY,EAAE,GAAG,SAAS,EAC5C,QAAQ,EAAE,cAAc,GACvB,YAAY,EAAE,CAUhB;AAmDD,yEAAyE;AACzE,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,mBAAmB,GACvB,oBAAoB,GAAG,IAAI,CA2K7B"}
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `:::toc` — the table of contents. The directive expands, before layout,
|
|
3
|
+
* into ordinary content blocks (one per listed heading, one per part
|
|
4
|
+
* divider) that flow through the column machinery like paragraphs: they
|
|
5
|
+
* break across columns and pages, snap to the grid and map clicks back to
|
|
6
|
+
* the directive line. Measurement is special: an entry is its title (with
|
|
7
|
+
* a right-aligned number in a column of its own), a leader and the page
|
|
8
|
+
* label on its last line, and an optional subtitle line (the chapter
|
|
9
|
+
* authors) under it; a part row is an empty block of a fixed height whose
|
|
10
|
+
* design `buildHeadersAndFooters` lays out from `toc.parts.design`.
|
|
11
|
+
*/
|
|
12
|
+
import { dimensionToPx } from '../units';
|
|
13
|
+
import { buildFontString, measureRichBlock, measureTextWidth } from '../measure';
|
|
14
|
+
import { stampSourceRanges } from './buildHelpers';
|
|
15
|
+
/** The content blocks with every `:::toc` directive replaced by the blocks
|
|
16
|
+
* of the contents it prints. Without an outline (no directive) the input
|
|
17
|
+
* is returned as is. */
|
|
18
|
+
export function expandTocDirectives(blocks, outline, resolved) {
|
|
19
|
+
if (!outline || !blocks.some((b) => b.type === 'directive' && b.directiveName === 'toc')) {
|
|
20
|
+
return blocks;
|
|
21
|
+
}
|
|
22
|
+
const out = [];
|
|
23
|
+
for (const b of blocks) {
|
|
24
|
+
if (b.type !== 'directive' || b.directiveName !== 'toc') {
|
|
25
|
+
out.push(b);
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
out.push(...tocBlocksFor(b, outline, resolved));
|
|
29
|
+
}
|
|
30
|
+
return out;
|
|
31
|
+
}
|
|
32
|
+
function tocBlocksFor(directive, outline, resolved) {
|
|
33
|
+
const toc = resolved.toc;
|
|
34
|
+
const listedLevels = new Set(toc.levels.map((l) => l.level));
|
|
35
|
+
const out = [];
|
|
36
|
+
const base = { sourceStart: directive.sourceStart, sourceEnd: directive.sourceEnd };
|
|
37
|
+
for (const entry of outline) {
|
|
38
|
+
if (!entry.listed)
|
|
39
|
+
continue;
|
|
40
|
+
if (entry.kind === 'part') {
|
|
41
|
+
if (!toc.parts.enabled)
|
|
42
|
+
continue;
|
|
43
|
+
const info = {
|
|
44
|
+
kind: 'part', level: 0, number: entry.number, numbered: entry.numbered, title: entry.title,
|
|
45
|
+
...(entry.pageLabel !== undefined ? { pageLabel: entry.pageLabel } : {}),
|
|
46
|
+
...(entry.pageIndex !== undefined ? { pageIndex: entry.pageIndex } : {}),
|
|
47
|
+
...(entry.palette ? { palette: entry.palette } : {}),
|
|
48
|
+
};
|
|
49
|
+
out.push({ ...base, type: 'paragraph', text: '', spans: [], sourceMap: [], toc: info });
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
if (!listedLevels.has(entry.level))
|
|
53
|
+
continue;
|
|
54
|
+
const text = entry.title;
|
|
55
|
+
const spans = entry.spans && entry.spans.length > 0
|
|
56
|
+
? entry.spans.map((s) => ({ text: s.text, bold: s.bold, italic: s.italic }))
|
|
57
|
+
: [{ text, bold: false, italic: false }];
|
|
58
|
+
const subtitle = toc.subtitle.enabled ? entry.attrs?.[toc.subtitle.attr]?.trim() : undefined;
|
|
59
|
+
const info = {
|
|
60
|
+
kind: 'entry', level: entry.level, number: entry.number, numbered: entry.numbered,
|
|
61
|
+
...(entry.pageLabel !== undefined ? { pageLabel: entry.pageLabel } : {}),
|
|
62
|
+
...(entry.pageIndex !== undefined ? { pageIndex: entry.pageIndex } : {}),
|
|
63
|
+
...(subtitle ? { subtitle } : {}),
|
|
64
|
+
};
|
|
65
|
+
// Every character maps to the directive line, so a click on the
|
|
66
|
+
// contents lands on `:::toc`.
|
|
67
|
+
out.push({ ...base, type: 'paragraph', text, spans, sourceMap: new Array(text.length).fill(directive.sourceStart), toc: info });
|
|
68
|
+
}
|
|
69
|
+
return out;
|
|
70
|
+
}
|
|
71
|
+
function lineHeightPxOf(lineHeight, fontSizePx, dpi) {
|
|
72
|
+
if (lineHeight.unit === 'em' || lineHeight.unit === 'rem')
|
|
73
|
+
return fontSizePx * lineHeight.value;
|
|
74
|
+
return dimensionToPx(lineHeight, dpi, fontSizePx);
|
|
75
|
+
}
|
|
76
|
+
function segmentsOf(line) {
|
|
77
|
+
if (line.segments && line.segments.length > 0)
|
|
78
|
+
return line.segments;
|
|
79
|
+
const segs = [{ kind: 'text', text: line.text, width: line.bbox.width }];
|
|
80
|
+
line.segments = segs;
|
|
81
|
+
return segs;
|
|
82
|
+
}
|
|
83
|
+
/** Measure one block of an expanded `:::toc` (see the module header). */
|
|
84
|
+
export function measureTocBlock(rawBlock, columnWidth, ctx) {
|
|
85
|
+
const info = rawBlock.toc;
|
|
86
|
+
const { resolved, bodyOffset } = ctx;
|
|
87
|
+
const toc = resolved.toc;
|
|
88
|
+
const dpi = resolved.page.dpi;
|
|
89
|
+
const bodyFontSizePx = dimensionToPx(resolved.bodyText.fontSize, dpi);
|
|
90
|
+
const body = resolved.bodyText;
|
|
91
|
+
if (info.kind === 'part') {
|
|
92
|
+
const rowH = dimensionToPx(toc.parts.height, dpi, bodyFontSizePx);
|
|
93
|
+
const style = {
|
|
94
|
+
fontString: buildFontString(body.fontFamily, bodyFontSizePx, body.fontWeight.toString()),
|
|
95
|
+
fontSizePx: bodyFontSizePx,
|
|
96
|
+
lineHeightPx: rowH,
|
|
97
|
+
color: body.color.hex,
|
|
98
|
+
textAlign: 'left',
|
|
99
|
+
hyphenate: false,
|
|
100
|
+
marginTopPx: dimensionToPx(toc.parts.marginTop, dpi, bodyFontSizePx),
|
|
101
|
+
marginBottomPx: dimensionToPx(toc.parts.marginBottom, dpi, bodyFontSizePx),
|
|
102
|
+
firstLineIndentPx: 0,
|
|
103
|
+
hangingIndent: false,
|
|
104
|
+
};
|
|
105
|
+
const line = {
|
|
106
|
+
text: '', bbox: { x: 0, y: 0, width: columnWidth, height: rowH }, baseline: rowH * 0.7,
|
|
107
|
+
hyphenated: false, segments: [], isLastLine: true,
|
|
108
|
+
};
|
|
109
|
+
const measured = { lines: [line], totalHeight: rowH };
|
|
110
|
+
const { prefixLen, absoluteSourceMap } = stampSourceRanges(measured, rawBlock, rawBlock, bodyOffset);
|
|
111
|
+
return {
|
|
112
|
+
kind: { style, vdtType: 'paragraph', contentBlock: rawBlock, bulletXOffsetInColumn: 0, strikethroughText: false },
|
|
113
|
+
contentBlock: rawBlock,
|
|
114
|
+
measured,
|
|
115
|
+
prefixLen,
|
|
116
|
+
absoluteSourceMap,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
// --- Entry -----------------------------------------------------------
|
|
120
|
+
const level = toc.levels.find((l) => l.level === info.level) ?? toc.levels[0];
|
|
121
|
+
const entry = info.numbered ? level : { ...level, ...toc.unnumbered };
|
|
122
|
+
const fontSizePx = dimensionToPx(entry.fontSize, dpi);
|
|
123
|
+
const lineHeightPx = lineHeightPxOf(entry.lineHeight, fontSizePx, dpi);
|
|
124
|
+
const weight = entry.fontWeight.toString();
|
|
125
|
+
const boldWeight = Math.max(entry.fontWeight, body.boldFontWeight).toString();
|
|
126
|
+
const upright = entry.italic ? 'italic' : 'normal';
|
|
127
|
+
const flipped = entry.italic ? 'normal' : 'italic';
|
|
128
|
+
const fontString = buildFontString(entry.fontFamily, fontSizePx, weight, upright);
|
|
129
|
+
const boldFontString = buildFontString(entry.fontFamily, fontSizePx, boldWeight, upright);
|
|
130
|
+
const italicFontString = buildFontString(entry.fontFamily, fontSizePx, weight, flipped);
|
|
131
|
+
const boldItalicFontString = buildFontString(entry.fontFamily, fontSizePx, boldWeight, flipped);
|
|
132
|
+
const color = entry.color.hex;
|
|
133
|
+
const style = {
|
|
134
|
+
fontString, boldFontString, italicFontString, boldItalicFontString,
|
|
135
|
+
fontSizePx, lineHeightPx, color, boldColor: color, italicColor: color,
|
|
136
|
+
textAlign: 'left', hyphenate: false,
|
|
137
|
+
marginTopPx: dimensionToPx(entry.marginTop, dpi, fontSizePx),
|
|
138
|
+
marginBottomPx: dimensionToPx(entry.marginBottom, dpi, fontSizePx),
|
|
139
|
+
firstLineIndentPx: 0, hangingIndent: false,
|
|
140
|
+
};
|
|
141
|
+
// Number column (numbered entries): the title starts after it.
|
|
142
|
+
const indentPx = dimensionToPx(entry.indent, dpi, fontSizePx);
|
|
143
|
+
const hasNumber = info.numbered && info.number.length > 0;
|
|
144
|
+
const numberWidthPx = hasNumber ? dimensionToPx(entry.numberWidth, dpi, fontSizePx) : 0;
|
|
145
|
+
const numberGapPx = hasNumber ? dimensionToPx(entry.numberGap, dpi, fontSizePx) : 0;
|
|
146
|
+
const textX = indentPx + numberWidthPx + numberGapPx;
|
|
147
|
+
const availableW = Math.max(1, columnWidth - textX);
|
|
148
|
+
let listBullet;
|
|
149
|
+
let bulletXOffsetInColumn = 0;
|
|
150
|
+
if (hasNumber) {
|
|
151
|
+
const numberFontSizePx = dimensionToPx(entry.numberFontSize, dpi);
|
|
152
|
+
const numberFont = buildFontString(entry.numberFontFamily, numberFontSizePx, entry.numberFontWeight.toString());
|
|
153
|
+
const numberW = measureTextWidth(info.number, numberFont);
|
|
154
|
+
listBullet = {
|
|
155
|
+
indentPx, bulletText: info.number, bulletFontString: numberFont, bulletColor: entry.numberColor.hex,
|
|
156
|
+
bulletWidthPx: numberWidthPx, gapPx: numberGapPx, hangingIndent: true, itemSpacingPx: 0,
|
|
157
|
+
textFontSizePx: fontSizePx, verticalOffsetPx: 0,
|
|
158
|
+
};
|
|
159
|
+
bulletXOffsetInColumn = indentPx + Math.max(0, numberWidthPx - numberW);
|
|
160
|
+
}
|
|
161
|
+
// Page label + leader on the last title line.
|
|
162
|
+
const label = info.pageLabel ?? '';
|
|
163
|
+
const pn = toc.pageNumber;
|
|
164
|
+
const labelFontSizePx = dimensionToPx(pn.fontSize, dpi);
|
|
165
|
+
const labelFont = buildFontString(pn.fontFamily, labelFontSizePx, pn.fontWeight.toString(), pn.italic ? 'italic' : 'normal');
|
|
166
|
+
const labelColor = pn.color.hex;
|
|
167
|
+
const reservePx = label.length > 0 ? dimensionToPx(pn.width, dpi, fontSizePx) : 0;
|
|
168
|
+
const gapPx = label.length > 0 ? dimensionToPx(toc.leader.gap, dpi, fontSizePx) : 0;
|
|
169
|
+
const labelW = label.length > 0 ? measureTextWidth(label, labelFont) : 0;
|
|
170
|
+
const measureTitle = (maxW) => measureRichBlock(rawBlock.spans, fontString, boldFontString, italicFontString, boldItalicFontString, maxW, lineHeightPx, { textAlign: 'left', hyphenate: false });
|
|
171
|
+
let measured = measureTitle(availableW);
|
|
172
|
+
if (measured.lines.length === 0)
|
|
173
|
+
return null;
|
|
174
|
+
const lastOf = (lines) => lines[lines.length - 1];
|
|
175
|
+
if (label.length > 0 && lastOf(measured.lines).bbox.width + gapPx + reservePx > availableW + 0.01) {
|
|
176
|
+
// The label does not fit beside the last line: narrow the measure so
|
|
177
|
+
// the title leaves it room (every line, so wrapped lines stay level).
|
|
178
|
+
const narrowed = measureTitle(Math.max(1, availableW - gapPx - reservePx));
|
|
179
|
+
if (narrowed.lines.length > 0)
|
|
180
|
+
measured = narrowed;
|
|
181
|
+
}
|
|
182
|
+
const lines = measured.lines;
|
|
183
|
+
if (label.length > 0) {
|
|
184
|
+
const last = lastOf(lines);
|
|
185
|
+
const segs = segmentsOf(last);
|
|
186
|
+
const contentW = segs.reduce((s, seg) => s + seg.width, 0);
|
|
187
|
+
const leaderStart = contentW + gapPx;
|
|
188
|
+
const leaderEnd = availableW - reservePx;
|
|
189
|
+
let x = contentW;
|
|
190
|
+
const pushSpace = (w) => { if (w > 0) {
|
|
191
|
+
segs.push({ kind: 'space', text: ' ', width: w });
|
|
192
|
+
x += w;
|
|
193
|
+
} };
|
|
194
|
+
if (toc.leader.enabled && toc.leader.char.length > 0 && leaderEnd - leaderStart > 0) {
|
|
195
|
+
const unit = measureTextWidth(toc.leader.char, labelFont);
|
|
196
|
+
const n = unit > 0 ? Math.floor((leaderEnd - leaderStart) / unit) : 0;
|
|
197
|
+
if (n > 0) {
|
|
198
|
+
const dots = toc.leader.char.repeat(n);
|
|
199
|
+
const dotsW = measureTextWidth(dots, labelFont);
|
|
200
|
+
pushSpace(leaderEnd - dotsW - x);
|
|
201
|
+
segs.push({ kind: 'text', text: dots, width: dotsW, fontString: labelFont, color: labelColor });
|
|
202
|
+
x += dotsW;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
pushSpace(availableW - labelW - x);
|
|
206
|
+
segs.push({ kind: 'text', text: label, width: labelW, fontString: labelFont, color: labelColor });
|
|
207
|
+
last.text = `${last.text} ${label}`;
|
|
208
|
+
last.bbox.width = availableW;
|
|
209
|
+
}
|
|
210
|
+
// Subtitle line(s) under the title (the chapter authors).
|
|
211
|
+
if (info.subtitle) {
|
|
212
|
+
const sub = toc.subtitle;
|
|
213
|
+
const subSizePx = dimensionToPx(sub.fontSize, dpi);
|
|
214
|
+
const subFont = buildFontString(sub.fontFamily, subSizePx, sub.fontWeight.toString(), sub.italic ? 'italic' : 'normal');
|
|
215
|
+
const subIndentPx = dimensionToPx(sub.indent, dpi, fontSizePx);
|
|
216
|
+
const subMeasured = measureRichBlock([{ text: info.subtitle, bold: false, italic: false }], subFont, subFont, subFont, subFont, Math.max(1, availableW - subIndentPx), lineHeightPx, { textAlign: 'left', hyphenate: false });
|
|
217
|
+
for (const line of subMeasured.lines) {
|
|
218
|
+
for (const seg of segmentsOf(line)) {
|
|
219
|
+
if (seg.kind === 'space')
|
|
220
|
+
continue;
|
|
221
|
+
seg.fontString = subFont;
|
|
222
|
+
seg.color = sub.color.hex;
|
|
223
|
+
}
|
|
224
|
+
line.bbox.x += subIndentPx;
|
|
225
|
+
line.isLastLine = true;
|
|
226
|
+
lines.push(line);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
for (const line of lines)
|
|
230
|
+
line.bbox.x += textX;
|
|
231
|
+
// Uniform line pitch: the placement loop re-seats every line at the
|
|
232
|
+
// block's line height (`resetLinePositions`).
|
|
233
|
+
const total = lines.length * lineHeightPx;
|
|
234
|
+
const finalMeasured = { lines, totalHeight: total };
|
|
235
|
+
const { prefixLen, absoluteSourceMap } = stampSourceRanges(finalMeasured, rawBlock, rawBlock, bodyOffset);
|
|
236
|
+
return {
|
|
237
|
+
kind: {
|
|
238
|
+
style,
|
|
239
|
+
vdtType: hasNumber ? 'listItem' : 'paragraph',
|
|
240
|
+
contentBlock: rawBlock,
|
|
241
|
+
...(listBullet ? { listBullet, listDepth: 1, listKind: 'ordered' } : {}),
|
|
242
|
+
bulletXOffsetInColumn,
|
|
243
|
+
strikethroughText: false,
|
|
244
|
+
},
|
|
245
|
+
contentBlock: rawBlock,
|
|
246
|
+
measured: finalMeasured,
|
|
247
|
+
prefixLen,
|
|
248
|
+
absoluteSourceMap,
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
//# sourceMappingURL=toc.js.map
|