postext 0.3.35 → 0.3.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/dist/__tests__/columnBalancing.test.js +28 -0
  2. package/dist/__tests__/columnBalancing.test.js.map +1 -1
  3. package/dist/__tests__/continuation.test.js +21 -0
  4. package/dist/__tests__/continuation.test.js.map +1 -1
  5. package/dist/__tests__/exports.test.js +13 -0
  6. package/dist/__tests__/exports.test.js.map +1 -1
  7. package/dist/__tests__/headingStyles.test.d.ts +2 -0
  8. package/dist/__tests__/headingStyles.test.d.ts.map +1 -0
  9. package/dist/__tests__/headingStyles.test.js +134 -0
  10. package/dist/__tests__/headingStyles.test.js.map +1 -0
  11. package/dist/__tests__/parse/containers.test.js +1 -1
  12. package/dist/__tests__/parse/containers.test.js.map +1 -1
  13. package/dist/__tests__/pipeline/segmentBalancing.test.d.ts +2 -0
  14. package/dist/__tests__/pipeline/segmentBalancing.test.d.ts.map +1 -0
  15. package/dist/__tests__/pipeline/segmentBalancing.test.js +70 -0
  16. package/dist/__tests__/pipeline/segmentBalancing.test.js.map +1 -0
  17. package/dist/__tests__/toc.test.d.ts +2 -0
  18. package/dist/__tests__/toc.test.d.ts.map +1 -0
  19. package/dist/__tests__/toc.test.js +199 -0
  20. package/dist/__tests__/toc.test.js.map +1 -0
  21. package/dist/canvas-backend/blockRender.d.ts.map +1 -1
  22. package/dist/canvas-backend/blockRender.js +21 -11
  23. package/dist/canvas-backend/blockRender.js.map +1 -1
  24. package/dist/canvas-backend/index.d.ts.map +1 -1
  25. package/dist/canvas-backend/index.js +9 -0
  26. package/dist/canvas-backend/index.js.map +1 -1
  27. package/dist/defaults/headerFooter.d.ts.map +1 -1
  28. package/dist/defaults/headerFooter.js +17 -0
  29. package/dist/defaults/headerFooter.js.map +1 -1
  30. package/dist/defaults/headingStyles.d.ts +10 -0
  31. package/dist/defaults/headingStyles.d.ts.map +1 -0
  32. package/dist/defaults/headingStyles.js +85 -0
  33. package/dist/defaults/headingStyles.js.map +1 -0
  34. package/dist/defaults/headings.d.ts +6 -1
  35. package/dist/defaults/headings.d.ts.map +1 -1
  36. package/dist/defaults/headings.js +32 -0
  37. package/dist/defaults/headings.js.map +1 -1
  38. package/dist/defaults/index.d.ts +2 -0
  39. package/dist/defaults/index.d.ts.map +1 -1
  40. package/dist/defaults/index.js +18 -0
  41. package/dist/defaults/index.js.map +1 -1
  42. package/dist/defaults/paragraphStyles.d.ts.map +1 -1
  43. package/dist/defaults/paragraphStyles.js +4 -1
  44. package/dist/defaults/paragraphStyles.js.map +1 -1
  45. package/dist/defaults/toc.d.ts +26 -0
  46. package/dist/defaults/toc.d.ts.map +1 -0
  47. package/dist/defaults/toc.js +167 -0
  48. package/dist/defaults/toc.js.map +1 -0
  49. package/dist/design/layout.d.ts +15 -3
  50. package/dist/design/layout.d.ts.map +1 -1
  51. package/dist/design/layout.js +66 -1
  52. package/dist/design/layout.js.map +1 -1
  53. package/dist/html-backend.d.ts.map +1 -1
  54. package/dist/html-backend.js +16 -5
  55. package/dist/html-backend.js.map +1 -1
  56. package/dist/index.d.ts +5 -5
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +2 -2
  59. package/dist/index.js.map +1 -1
  60. package/dist/numbering.d.ts +5 -1
  61. package/dist/numbering.d.ts.map +1 -1
  62. package/dist/numbering.js +7 -1
  63. package/dist/numbering.js.map +1 -1
  64. package/dist/parse/blockParser.d.ts.map +1 -1
  65. package/dist/parse/blockParser.js +1 -1
  66. package/dist/parse/blockParser.js.map +1 -1
  67. package/dist/parse/index.d.ts +1 -1
  68. package/dist/parse/index.d.ts.map +1 -1
  69. package/dist/parse/index.js.map +1 -1
  70. package/dist/parse/types.d.ts +24 -1
  71. package/dist/parse/types.d.ts.map +1 -1
  72. package/dist/pipeline/build.d.ts.map +1 -1
  73. package/dist/pipeline/build.js +459 -142
  74. package/dist/pipeline/build.js.map +1 -1
  75. package/dist/pipeline/buildBlockKind.d.ts +4 -0
  76. package/dist/pipeline/buildBlockKind.d.ts.map +1 -1
  77. package/dist/pipeline/buildBlockKind.js +2 -2
  78. package/dist/pipeline/buildBlockKind.js.map +1 -1
  79. package/dist/pipeline/columnBalancing.d.ts +27 -5
  80. package/dist/pipeline/columnBalancing.d.ts.map +1 -1
  81. package/dist/pipeline/columnBalancing.js +51 -10
  82. package/dist/pipeline/columnBalancing.js.map +1 -1
  83. package/dist/pipeline/config.d.ts.map +1 -1
  84. package/dist/pipeline/config.js +3 -1
  85. package/dist/pipeline/config.js.map +1 -1
  86. package/dist/pipeline/continuation.d.ts +10 -1
  87. package/dist/pipeline/continuation.d.ts.map +1 -1
  88. package/dist/pipeline/continuation.js +16 -1
  89. package/dist/pipeline/continuation.js.map +1 -1
  90. package/dist/pipeline/headerFooter.d.ts +5 -2
  91. package/dist/pipeline/headerFooter.d.ts.map +1 -1
  92. package/dist/pipeline/headerFooter.js +90 -15
  93. package/dist/pipeline/headerFooter.js.map +1 -1
  94. package/dist/pipeline/headingStyles.d.ts +58 -0
  95. package/dist/pipeline/headingStyles.d.ts.map +1 -0
  96. package/dist/pipeline/headingStyles.js +157 -0
  97. package/dist/pipeline/headingStyles.js.map +1 -0
  98. package/dist/pipeline/index.d.ts +2 -1
  99. package/dist/pipeline/index.d.ts.map +1 -1
  100. package/dist/pipeline/index.js +2 -1
  101. package/dist/pipeline/index.js.map +1 -1
  102. package/dist/pipeline/measureContentBlock.d.ts.map +1 -1
  103. package/dist/pipeline/measureContentBlock.js +4 -0
  104. package/dist/pipeline/measureContentBlock.js.map +1 -1
  105. package/dist/pipeline/outline.d.ts +37 -0
  106. package/dist/pipeline/outline.d.ts.map +1 -0
  107. package/dist/pipeline/outline.js +146 -0
  108. package/dist/pipeline/outline.js.map +1 -0
  109. package/dist/pipeline/pageRoles.d.ts +2 -1
  110. package/dist/pipeline/pageRoles.d.ts.map +1 -1
  111. package/dist/pipeline/pageRoles.js +5 -4
  112. package/dist/pipeline/pageRoles.js.map +1 -1
  113. package/dist/pipeline/placeholders.d.ts.map +1 -1
  114. package/dist/pipeline/placeholders.js +6 -0
  115. package/dist/pipeline/placeholders.js.map +1 -1
  116. package/dist/pipeline/resourceNumbering.d.ts +3 -1
  117. package/dist/pipeline/resourceNumbering.d.ts.map +1 -1
  118. package/dist/pipeline/resourceNumbering.js +4 -2
  119. package/dist/pipeline/resourceNumbering.js.map +1 -1
  120. package/dist/pipeline/styles.d.ts +5 -2
  121. package/dist/pipeline/styles.d.ts.map +1 -1
  122. package/dist/pipeline/styles.js +7 -3
  123. package/dist/pipeline/styles.js.map +1 -1
  124. package/dist/pipeline/toc.d.ts +22 -0
  125. package/dist/pipeline/toc.d.ts.map +1 -0
  126. package/dist/pipeline/toc.js +249 -0
  127. package/dist/pipeline/toc.js.map +1 -0
  128. package/dist/types.d.ts +273 -6
  129. package/dist/types.d.ts.map +1 -1
  130. package/dist/vdt.d.ts +37 -2
  131. package/dist/vdt.d.ts.map +1 -1
  132. package/dist/vdt.js.map +1 -1
  133. package/package.json +1 -1
@@ -34,12 +34,12 @@ export function resolveBlockKind(rawBlock, ctx) {
34
34
  }
35
35
  case 'heading': {
36
36
  const level = rawBlock.level ?? 1;
37
- const style = resolveHeadingStyle(level, resolved);
37
+ const levelCfg = ctx.headingLevels?.forBlock(rawBlock) ?? resolved.headings.levels.find((l) => l.level === level);
38
+ const style = resolveHeadingStyle(level, resolved, levelCfg);
38
39
  const numberPrefix = headingPrefixes[blockIdx];
39
40
  let contentBlock = rawBlock;
40
41
  // Letter-case transform on the title text (the numbering prefix, added
41
42
  // below, is kept as written). Length-preserving so `sourceMap` stays 1:1.
42
- const levelCfg = resolved.headings.levels.find((l) => l.level === level);
43
43
  if (levelCfg?.textTransform === 'uppercase') {
44
44
  contentBlock = {
45
45
  ...contentBlock,
@@ -1 +1 @@
1
- {"version":3,"file":"buildBlockKind.js","sourceRoot":"","sources":["../../src/pipeline/buildBlockKind.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildBlockKind.js","sourceRoot":"","sources":["../../src/pipeline/buildBlockKind.ts"],"names":[],"mappings":"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"}
@@ -40,8 +40,27 @@
40
40
  * fix), keeping the smallest value that works, never above `maxTracking`.
41
41
  */
42
42
  import type { VDTDocument } from '../vdt';
43
- /** Maximum number of placement passes (initial + balancing retries). */
43
+ /** Balancing attempts a segment of pages (see {@link pageSegments}) may
44
+ * spend: passes in which it tried new levers. */
44
45
  export declare const MAX_BALANCING_PASSES = 10;
46
+ /** Hard cap on the balancing passes of one document, whatever its segments
47
+ * still want to try — every pass places the whole document. */
48
+ export declare const MAX_BALANCING_PASSES_PER_DOCUMENT: number;
49
+ /** Inclusive run of page indices. */
50
+ export interface PageRange {
51
+ from: number;
52
+ to: number;
53
+ }
54
+ /**
55
+ * The runs of pages laid out independently of one another: every page in
56
+ * `forcedBreakPages` (a `:::pagebreak`, a heading `breakBefore`, a chapter
57
+ * opener) closes a segment and the next page opens another. Nothing flows
58
+ * across such a break, so a balancing lever inside one segment cannot
59
+ * move a line of any other — the convergence loop judges each on its own.
60
+ */
61
+ export declare function pageSegments(pageCount: number, forcedBreakPages: ReadonlySet<number>): PageRange[];
62
+ /** Empty grid lines over the balanceable columns of the pages in `range`. */
63
+ export declare function gapLinesIn(gaps: readonly ColumnGap[], range: PageRange): number;
45
64
  export type BalanceCandidateKind = 'heading' | 'listEnd' | 'afterFloat' | 'trailingCallout' | 'looseParagraph';
46
65
  interface BalanceCandidate {
47
66
  /** Stable content-block index keying the adjustment across passes. */
@@ -66,7 +85,7 @@ interface BalanceCandidate {
66
85
  * continuation fragment of a split callout, a composite that keeps the
67
86
  * fragments of one fence apart (they share the fence's content index). */
68
87
  export declare function balanceKey(contentIndex: number, part: number): number;
69
- interface ColumnGap {
88
+ export interface ColumnGap {
70
89
  pageIndex: number;
71
90
  columnIndex: number;
72
91
  /** Whole empty grid lines at the bottom of the column. */
@@ -86,7 +105,9 @@ interface ColumnGap {
86
105
  * Eligible headings are heading blocks that are neither the first block of
87
106
  * their column (their top margin is suppressed there so the column keeps
88
107
  * starting at the page top) nor the last (space above a trailing heading
89
- * would strand it at the column bottom). List-end points are the first
108
+ * would strand it at the column bottom); a heading that opens a column
109
+ * under a float band is eligible too (it is a heading lever, not an
110
+ * after-float point). List-end points are the first
90
111
  * non-list block after a run of list items — they may be last in column
91
112
  * (pushing a trailing paragraph down by at most the gap is local: the
92
113
  * element that opened the next column still does not fit). After-float
@@ -133,9 +154,10 @@ export interface ColumnPosition {
133
154
  /**
134
155
  * First column, in reading order, whose content differs between two
135
156
  * layouts of the same document — where a balancing pass stopped being
136
- * local. Null when every column of `a` has its counterpart in `b`.
157
+ * local. Null when every column of `a` has its counterpart in `b`. With
158
+ * `range`, only those pages of `a` are compared.
137
159
  */
138
- export declare function firstDivergentColumn(a: VDTDocument, b: VDTDocument): ColumnPosition | null;
160
+ export declare function firstDivergentColumn(a: VDTDocument, b: VDTDocument, range?: PageRange): ColumnPosition | null;
139
161
  /** Budget shared by the loose candidates of one column: the placement pass
140
162
  * tries them in order and stops loosening once `need` of them gained
141
163
  * their line, so offering every candidate at once costs no extra pass. */
@@ -1 +1 @@
1
- {"version":3,"file":"columnBalancing.d.ts","sourceRoot":"","sources":["../../src/pipeline/columnBalancing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"columnBalancing.d.ts","sourceRoot":"","sources":["../../src/pipeline/columnBalancing.ts"],"names":[],"mappings":"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"}
@@ -41,8 +41,40 @@
41
41
  */
42
42
  /** Tolerance against FP drift when converting free space to grid lines. */
43
43
  const EPS = 0.01;
44
- /** Maximum number of placement passes (initial + balancing retries). */
44
+ /** Balancing attempts a segment of pages (see {@link pageSegments}) may
45
+ * spend: passes in which it tried new levers. */
45
46
  export const MAX_BALANCING_PASSES = 10;
47
+ /** Hard cap on the balancing passes of one document, whatever its segments
48
+ * still want to try — every pass places the whole document. */
49
+ export const MAX_BALANCING_PASSES_PER_DOCUMENT = MAX_BALANCING_PASSES * 3;
50
+ /**
51
+ * The runs of pages laid out independently of one another: every page in
52
+ * `forcedBreakPages` (a `:::pagebreak`, a heading `breakBefore`, a chapter
53
+ * opener) closes a segment and the next page opens another. Nothing flows
54
+ * across such a break, so a balancing lever inside one segment cannot
55
+ * move a line of any other — the convergence loop judges each on its own.
56
+ */
57
+ export function pageSegments(pageCount, forcedBreakPages) {
58
+ const out = [];
59
+ let from = 0;
60
+ const breaks = [...forcedBreakPages].filter((p) => p >= 0 && p < pageCount - 1).sort((a, b) => a - b);
61
+ for (const p of breaks) {
62
+ if (p < from)
63
+ continue;
64
+ out.push({ from, to: p });
65
+ from = p + 1;
66
+ }
67
+ out.push({ from, to: Math.max(from, pageCount - 1) });
68
+ return out;
69
+ }
70
+ /** Empty grid lines over the balanceable columns of the pages in `range`. */
71
+ export function gapLinesIn(gaps, range) {
72
+ let n = 0;
73
+ for (const g of gaps)
74
+ if (g.pageIndex >= range.from && g.pageIndex <= range.to)
75
+ n += g.gapLines;
76
+ return n;
77
+ }
46
78
  /** Key of a balancing adjustment: the content index of the block, or, for a
47
79
  * continuation fragment of a split callout, a composite that keeps the
48
80
  * fragments of one fence apart (they share the fence's content index). */
@@ -88,7 +120,9 @@ function isTextColumn(col) {
88
120
  * Eligible headings are heading blocks that are neither the first block of
89
121
  * their column (their top margin is suppressed there so the column keeps
90
122
  * starting at the page top) nor the last (space above a trailing heading
91
- * would strand it at the column bottom). List-end points are the first
123
+ * would strand it at the column bottom); a heading that opens a column
124
+ * under a float band is eligible too (it is a heading lever, not an
125
+ * after-float point). List-end points are the first
92
126
  * non-list block after a run of list items — they may be last in column
93
127
  * (pushing a trailing paragraph down by at most the gap is local: the
94
128
  * element that opened the next column still does not fit). After-float
@@ -216,9 +250,13 @@ export function collectColumnGaps(doc, forcedBreakPages) {
216
250
  // interior is off-grid by design — never a stretch point.
217
251
  if (b.containerId !== undefined)
218
252
  continue;
253
+ // A heading opening a column under a float band is a heading lever
254
+ // (its cap and priority), not an after-float point: the room goes
255
+ // above a title, where the reader expects it.
256
+ const underFloat = i === 0 && !b.id.includes('-cont-') && columnUnderTopFloat(page, col);
219
257
  if (b.type === 'heading'
220
258
  && b.headingLevel !== undefined
221
- && i >= 1
259
+ && (i >= 1 || underFloat)
222
260
  && i < col.blocks.length - 1) {
223
261
  candidates.push({
224
262
  contentIndex: b.contentIndex,
@@ -228,9 +266,7 @@ export function collectColumnGaps(doc, forcedBreakPages) {
228
266
  lineCount: b.lines.length,
229
267
  });
230
268
  }
231
- else if (i === 0
232
- && !b.id.includes('-cont-')
233
- && columnUnderTopFloat(page, col)) {
269
+ else if (underFloat) {
234
270
  candidates.push({
235
271
  contentIndex: b.contentIndex,
236
272
  kind: 'afterFloat',
@@ -244,7 +280,9 @@ export function collectColumnGaps(doc, forcedBreakPages) {
244
280
  && col.blocks[i - 1].containerId === undefined
245
281
  && b.type !== 'listItem'
246
282
  && b.type !== 'heading' // a heading after a list is a heading candidate
247
- && !b.id.includes('-cont-')) {
283
+ && !b.id.includes('-cont-')
284
+ && !b.tocEntry && !b.tocPart // the contents keep their own rhythm
285
+ ) {
248
286
  candidates.push({
249
287
  contentIndex: b.contentIndex,
250
288
  kind: 'listEnd',
@@ -289,10 +327,13 @@ function columnKey(page, col) {
289
327
  /**
290
328
  * First column, in reading order, whose content differs between two
291
329
  * layouts of the same document — where a balancing pass stopped being
292
- * local. Null when every column of `a` has its counterpart in `b`.
330
+ * local. Null when every column of `a` has its counterpart in `b`. With
331
+ * `range`, only those pages of `a` are compared.
293
332
  */
294
- export function firstDivergentColumn(a, b) {
295
- for (let p = 0; p < a.pages.length; p++) {
333
+ export function firstDivergentColumn(a, b, range) {
334
+ const from = range?.from ?? 0;
335
+ const to = Math.min(range?.to ?? a.pages.length - 1, a.pages.length - 1);
336
+ for (let p = from; p <= to; p++) {
296
337
  const pa = a.pages[p];
297
338
  const pb = b.pages[p];
298
339
  for (let c = 0; c < pa.columns.length; c++) {
@@ -1 +1 @@
1
- {"version":3,"file":"columnBalancing.js","sourceRoot":"","sources":["../../src/pipeline/columnBalancing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"columnBalancing.js","sourceRoot":"","sources":["../../src/pipeline/columnBalancing.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/pipeline/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAoB1E,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAElF,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,aAAa,GAAG,cAAc,CA8B1E;AAED;6DAC6D;AAC7D,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,cAAc,GACvB,GAAG,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAIzC;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAUpE;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,cAAc,GACvB,WAAW,EAAE,CAyBf"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/pipeline/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAsB1E,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAElF,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,aAAa,GAAG,cAAc,CAgC1E;AAED;6DAC6D;AAC7D,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,cAAc,GACvB,GAAG,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAIzC;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAUpE;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,cAAc,GACvB,WAAW,EAAE,CAyBf"}
@@ -1,4 +1,4 @@
1
- import { resolvePageConfig, resolveLayoutConfig, resolveBodyTextConfig, resolveHeadingsConfig, resolveTableStyleConfig, resolveCaptionStyleConfig, resolveDiagramStyleConfig, resolveParagraphStylesConfig, resolveCalloutStylesConfig, resolveUnorderedListsConfig, resolveOrderedListsConfig, resolveMathConfig, resolveHeaderFooterConfig, resolvePartsConfig, applyPaletteToConfig, applyPaletteToResolvedConfig, } from '../defaults';
1
+ import { resolvePageConfig, resolveLayoutConfig, resolveBodyTextConfig, resolveHeadingsConfig, resolveTableStyleConfig, resolveCaptionStyleConfig, resolveDiagramStyleConfig, resolveParagraphStylesConfig, resolveCalloutStylesConfig, resolveUnorderedListsConfig, resolveOrderedListsConfig, resolveMathConfig, resolveHeaderFooterConfig, resolvePartsConfig, resolveHeadingStylesConfig, resolveTocConfig, applyPaletteToConfig, applyPaletteToResolvedConfig, } from '../defaults';
2
2
  import { dimensionToPx } from '../units';
3
3
  import { createBoundingBox } from '../vdt';
4
4
  export function resolveAllConfig(rawConfig) {
@@ -24,6 +24,8 @@ export function resolveAllConfig(rawConfig) {
24
24
  header: resolveHeaderFooterConfig(config?.header, 'header'),
25
25
  footer: resolveHeaderFooterConfig(config?.footer, 'footer'),
26
26
  parts: resolvePartsConfig(config?.parts, page, bodyText, unorderedLists, orderedLists),
27
+ headingStyles: resolveHeadingStylesConfig(config?.headingStyles, page, bodyText, unorderedLists, orderedLists),
28
+ toc: resolveTocConfig(config?.toc, bodyText),
27
29
  // Kept for per-resource-type caption overrides, which resolve their
28
30
  // palette colours at layout time (see `mergeCaptionStyle`).
29
31
  ...(rawConfig?.colorPalette && rawConfig.colorPalette.length > 0
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/pipeline/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/pipeline/config.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,16 @@
1
- import type { LayoutContinuation, PostextConfig, PostextContent } from '../types';
1
+ import type { LayoutContinuation, OutlineEntry, PostextConfig, PostextContent } from '../types';
2
2
  /** The counters a document laid out after `content` continues from: what
3
3
  * `content` itself inherited (`before`) advanced by its headings and
4
4
  * resource references. Chain it chapter by chapter to number a book that
5
5
  * is laid out one chapter at a time. */
6
6
  export declare function continuationAfter(content: Pick<PostextContent, 'markdown' | 'resources'>, config?: PostextConfig, before?: LayoutContinuation): LayoutContinuation;
7
+ /** The outline of `content` on its own — every heading and part, numbered
8
+ * after the counters `before` — without page labels, plus whether it
9
+ * prints a table of contents. Chain it chapter by chapter, like
10
+ * `continuationAfter`, to assemble a book's outline before any page is
11
+ * laid out. */
12
+ export declare function contentOutline(content: Pick<PostextContent, 'markdown'>, config?: PostextConfig, before?: LayoutContinuation): {
13
+ outline: OutlineEntry[];
14
+ hasToc: boolean;
15
+ };
7
16
  //# sourceMappingURL=continuation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"continuation.d.ts","sourceRoot":"","sources":["../../src/pipeline/continuation.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAmB,kBAAkB,EAAa,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAM9G;;;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,CA0BpB"}
1
+ {"version":3,"file":"continuation.d.ts","sourceRoot":"","sources":["../../src/pipeline/continuation.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAmB,kBAAkB,EAAE,YAAY,EAAa,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAS5H;;;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,CA2BpB;AAED;;;;gBAIgB;AAChB,wBAAgB,cAAc,CAC5B,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,EACzC,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,kBAAkB,GAC1B;IAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAK9C"}
@@ -9,6 +9,9 @@ import { parseMarkdownMemo } from '../parse';
9
9
  import { defaultResourceTypes } from '../defaults';
10
10
  import { computeHeadingContext, computeResourceNumberingState } from './resourceNumbering';
11
11
  import { planParts } from './parts';
12
+ import { resolveAllConfig } from './config';
13
+ import { headingIsNumbered } from './headingStyles';
14
+ import { computeOutline, hasTocDirective } from './outline';
12
15
  const NO_HEADINGS = { h1: 0, h2: 0, h3: 0, h4: 0, h5: 0, h6: 0 };
13
16
  /** The counters a document laid out after `content` continues from: what
14
17
  * `content` itself inherited (`before`) advanced by its headings and
@@ -17,7 +20,8 @@ const NO_HEADINGS = { h1: 0, h2: 0, h3: 0, h4: 0, h5: 0, h6: 0 };
17
20
  export function continuationAfter(content, config, before) {
18
21
  const body = extractFrontmatter(content.markdown).content;
19
22
  const blocks = parseMarkdownMemo(body);
20
- const headingContext = computeHeadingContext(blocks, before?.headings);
23
+ const resolved = resolveAllConfig(config);
24
+ const headingContext = computeHeadingContext(blocks, before?.headings, (b) => headingIsNumbered(b, resolved));
21
25
  const headings = headingContext.length > 0
22
26
  ? headingContext[headingContext.length - 1]
23
27
  : before?.headings ?? NO_HEADINGS;
@@ -35,4 +39,15 @@ export function continuationAfter(content, config, before) {
35
39
  }
36
40
  return { headings, resourceCounters: counters, resourceNumbers: map, ...(part ? { part } : {}) };
37
41
  }
42
+ /** The outline of `content` on its own — every heading and part, numbered
43
+ * after the counters `before` — without page labels, plus whether it
44
+ * prints a table of contents. Chain it chapter by chapter, like
45
+ * `continuationAfter`, to assemble a book's outline before any page is
46
+ * laid out. */
47
+ export function contentOutline(content, config, before) {
48
+ const body = extractFrontmatter(content.markdown).content;
49
+ const blocks = parseMarkdownMemo(body);
50
+ const resolved = resolveAllConfig(config);
51
+ return { outline: computeOutline(blocks, resolved, before?.headings), hasToc: hasTocDirective(blocks) };
52
+ }
38
53
  //# sourceMappingURL=continuation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"continuation.js","sourceRoot":"","sources":["../../src/pipeline/continuation.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,0EAA0E;AAC1E,uBAAuB;AACvB,wEAAwE;AACxE,yEAAyE;AACzE,iEAAiE;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,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,cAAc,GAAG,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvE,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,EAAE,CAAC;IACtE,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,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACzD,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,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACnG,CAAC"}
1
+ {"version":3,"file":"continuation.js","sourceRoot":"","sources":["../../src/pipeline/continuation.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { DocumentMetadata, ResolvedDesignSlot, ResolvedHeadingLevelConfig } from '../types';
1
+ import type { DocumentMetadata, Resource, ResolvedDesignSlot, ResolvedHeadingLevelConfig } from '../types';
2
2
  import { type VDTDocument, type VDTDesignSlot } from '../vdt';
3
3
  import type { PageRole } from '../types';
4
4
  import { type DesignFrames } from '../design/layout';
@@ -33,6 +33,8 @@ origin?: {
33
33
  export interface SlotLayoutExtras {
34
34
  frames?: DesignFrames;
35
35
  pageRole?: PageRole;
36
+ /** Resources by id, for `kind: 'image'` elements. */
37
+ resourceById?: ReadonlyMap<string, Resource>;
36
38
  /** Source range of the text `{titleText}` renders; stamped on the text
37
39
  * blocks whose element content mentions the placeholder. */
38
40
  titleSource?: {
@@ -57,6 +59,7 @@ export declare function layoutSlotToVdt(slot: ResolvedDesignSlot, container: {
57
59
  }, pageIndex: number, placeholders: DesignPlaceholderContext, dpi: number, extras?: SlotLayoutExtras): VDTDesignSlot | undefined;
58
60
  /**
59
61
  * After body placement finishes, attach header/footer slots to every page.
62
+ * `resourceById` resolves the `kind: 'image'` elements of the designs.
60
63
  */
61
- export declare function buildHeadersAndFooters(doc: VDTDocument): void;
64
+ export declare function buildHeadersAndFooters(doc: VDTDocument, resourceById?: ReadonlyMap<string, Resource>): void;
62
65
  //# sourceMappingURL=headerFooter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"headerFooter.d.ts","sourceRoot":"","sources":["../../src/pipeline/headerFooter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAA6B,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAC5H,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,aAAa,EAMnB,MAAM,QAAQ,CAAC;AAQhB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAEL,KAAK,YAAY,EAKlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AA6GvE;;;;;;;mDAOmD;AACnD,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,0BAA0B,EACjC,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EAC9G,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM;AACjB;;;;oCAIoC;AACpC,MAAM,CAAC,EAAE,YAAY;AACrB;+CAC+C;AAC/C,MAAM,CAAC,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAChC,MAAM,CAgCR;AAED,wDAAwD;AACxD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;iEAC6D;IAC7D,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAClF;qEACiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,kBAAkB,EACxB,SAAS,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAClE,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,wBAAwB,EACtC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,gBAAgB,GACxB,aAAa,GAAG,SAAS,CA+C3B;AAsID;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAiP7D"}
1
+ {"version":3,"file":"headerFooter.d.ts","sourceRoot":"","sources":["../../src/pipeline/headerFooter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAA6B,0BAA0B,EAAE,MAAM,UAAU,CAAC;AACtI,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,aAAa,EAOnB,MAAM,QAAQ,CAAC;AAQhB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAEL,KAAK,YAAY,EAMlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAsHvE;;;;;;;mDAOmD;AACnD,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,0BAA0B,EACjC,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EAC9G,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM;AACjB;;;;oCAIoC;AACpC,MAAM,CAAC,EAAE,YAAY;AACrB;+CAC+C;AAC/C,MAAM,CAAC,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAChC,MAAM,CAgCR;AAED,wDAAwD;AACxD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,qDAAqD;IACrD,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7C;iEAC6D;IAC7D,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAClF;qEACiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,kBAAkB,EACxB,SAAS,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAClE,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,wBAAwB,EACtC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,gBAAgB,GACxB,aAAa,GAAG,SAAS,CA+C3B;AA4JD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,CAmS3G"}