postext 0.3.10 → 0.3.12
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__/chapterTitles.test.d.ts +2 -0
- package/dist/__tests__/chapterTitles.test.d.ts.map +1 -0
- package/dist/__tests__/chapterTitles.test.js +141 -0
- package/dist/__tests__/chapterTitles.test.js.map +1 -0
- package/dist/__tests__/directives.test.d.ts +2 -0
- package/dist/__tests__/directives.test.d.ts.map +1 -0
- package/dist/__tests__/directives.test.js +53 -0
- package/dist/__tests__/directives.test.js.map +1 -0
- package/dist/__tests__/exports.test.js +16 -0
- package/dist/__tests__/exports.test.js.map +1 -1
- package/dist/__tests__/numbering-page.test.d.ts +2 -0
- package/dist/__tests__/numbering-page.test.d.ts.map +1 -0
- package/dist/__tests__/numbering-page.test.js +96 -0
- package/dist/__tests__/numbering-page.test.js.map +1 -0
- package/dist/__tests__/placementParity.test.d.ts +2 -0
- package/dist/__tests__/placementParity.test.d.ts.map +1 -0
- package/dist/__tests__/placementParity.test.js +60 -0
- package/dist/__tests__/placementParity.test.js.map +1 -0
- package/dist/canvas-backend/headerFooter.d.ts +3 -0
- package/dist/canvas-backend/headerFooter.d.ts.map +1 -0
- package/dist/canvas-backend/headerFooter.js +23 -0
- package/dist/canvas-backend/headerFooter.js.map +1 -0
- package/dist/canvas-backend/index.d.ts.map +1 -1
- package/dist/canvas-backend/index.js +5 -0
- package/dist/canvas-backend/index.js.map +1 -1
- package/dist/defaults/headerFooter.d.ts +22 -0
- package/dist/defaults/headerFooter.d.ts.map +1 -0
- package/dist/defaults/headerFooter.js +258 -0
- package/dist/defaults/headerFooter.js.map +1 -0
- package/dist/defaults/headings.d.ts.map +1 -1
- package/dist/defaults/headings.js +27 -6
- package/dist/defaults/headings.js.map +1 -1
- package/dist/defaults/index.d.ts +3 -1
- package/dist/defaults/index.d.ts.map +1 -1
- package/dist/defaults/index.js +17 -1
- package/dist/defaults/index.js.map +1 -1
- package/dist/defaults/page.d.ts +2 -1
- package/dist/defaults/page.d.ts.map +1 -1
- package/dist/defaults/page.js +25 -0
- package/dist/defaults/page.js.map +1 -1
- package/dist/index.d.ts +8 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/measure/index.d.ts +1 -1
- package/dist/measure/index.d.ts.map +1 -1
- package/dist/measure/index.js +1 -1
- package/dist/measure/index.js.map +1 -1
- package/dist/numbering.d.ts +36 -0
- package/dist/numbering.d.ts.map +1 -1
- package/dist/numbering.js +69 -0
- package/dist/numbering.js.map +1 -1
- package/dist/parse/blockParser.d.ts +4 -1
- package/dist/parse/blockParser.d.ts.map +1 -1
- package/dist/parse/blockParser.js +42 -0
- 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 +12 -1
- package/dist/parse/types.d.ts.map +1 -1
- package/dist/pipeline/build.d.ts.map +1 -1
- package/dist/pipeline/build.js +93 -2
- package/dist/pipeline/build.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/headerFooter.d.ts +11 -0
- package/dist/pipeline/headerFooter.d.ts.map +1 -0
- package/dist/pipeline/headerFooter.js +135 -0
- package/dist/pipeline/headerFooter.js.map +1 -0
- package/dist/pipeline/placeholders.d.ts +53 -0
- package/dist/pipeline/placeholders.d.ts.map +1 -0
- package/dist/pipeline/placeholders.js +196 -0
- package/dist/pipeline/placeholders.js.map +1 -0
- package/dist/pipeline/placement.d.ts +18 -0
- package/dist/pipeline/placement.d.ts.map +1 -1
- package/dist/pipeline/placement.js +64 -0
- package/dist/pipeline/placement.js.map +1 -1
- package/dist/types.d.ts +114 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/vdt.d.ts +46 -3
- package/dist/vdt.d.ts.map +1 -1
- package/dist/vdt.js +3 -0
- package/dist/vdt.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/pipeline/build.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/pipeline/build.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,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/pipeline/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAc9C,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAElF,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,aAAa,GAAG,cAAc,CAe1E;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"}
|
package/dist/pipeline/config.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { resolvePageConfig, resolveLayoutConfig, resolveBodyTextConfig, resolveHeadingsConfig, resolveUnorderedListsConfig, resolveOrderedListsConfig, resolveMathConfig, applyPaletteToConfig, applyPaletteToResolvedConfig, } from '../defaults';
|
|
1
|
+
import { resolvePageConfig, resolveLayoutConfig, resolveBodyTextConfig, resolveHeadingsConfig, resolveUnorderedListsConfig, resolveOrderedListsConfig, resolveMathConfig, resolveHeaderFooterConfig, applyPaletteToConfig, applyPaletteToResolvedConfig, } from '../defaults';
|
|
2
2
|
import { dimensionToPx } from '../units';
|
|
3
3
|
import { createBoundingBox } from '../vdt';
|
|
4
4
|
export function resolveAllConfig(rawConfig) {
|
|
@@ -12,6 +12,8 @@ export function resolveAllConfig(rawConfig) {
|
|
|
12
12
|
unorderedLists: resolveUnorderedListsConfig(config?.unorderedLists, bodyText),
|
|
13
13
|
orderedLists: resolveOrderedListsConfig(config?.orderedLists, bodyText),
|
|
14
14
|
math: resolveMathConfig(config?.math),
|
|
15
|
+
header: resolveHeaderFooterConfig(config?.header, 'header'),
|
|
16
|
+
footer: resolveHeaderFooterConfig(config?.footer, 'footer'),
|
|
15
17
|
};
|
|
16
18
|
return applyPaletteToResolvedConfig(resolved, rawConfig?.colorPalette);
|
|
17
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/pipeline/config.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAyC,MAAM,QAAQ,CAAC;AAElF,MAAM,UAAU,gBAAgB,CAAC,SAAyB;IACxD,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAmB;QAC/B,IAAI,EAAE,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC;QACrC,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC;QAC3C,QAAQ;QACR,QAAQ,EAAE,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC;QACjD,cAAc,EAAE,2BAA2B,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC;QAC7E,YAAY,EAAE,yBAAyB,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC;QACvE,IAAI,EAAE,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/pipeline/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type VDTDocument } from '../vdt';
|
|
2
|
+
/**
|
|
3
|
+
* After body placement finishes, attach header/footer slots (with their
|
|
4
|
+
* rendered text/rule blocks) to every page of the document.
|
|
5
|
+
*
|
|
6
|
+
* Headers and footers are rendered inside the existing page margins — they
|
|
7
|
+
* do not consume body space. Header elements stack upward from the body's
|
|
8
|
+
* top edge; footer elements stack downward from the body's bottom edge.
|
|
9
|
+
*/
|
|
10
|
+
export declare function buildHeadersAndFooters(doc: VDTDocument): void;
|
|
11
|
+
//# sourceMappingURL=headerFooter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"headerFooter.d.ts","sourceRoot":"","sources":["../../src/pipeline/headerFooter.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,KAAK,WAAW,EAMjB,MAAM,QAAQ,CAAC;AAsJhB;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAqC7D"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { createBoundingBox, } from '../vdt';
|
|
2
|
+
import { dimensionToPx } from '../units';
|
|
3
|
+
import { buildFontString, measureTextWidth } from '../measure';
|
|
4
|
+
import { computeChapterTitles, resolvePlaceholders } from './placeholders';
|
|
5
|
+
import { computePageMetrics } from './buildHelpers';
|
|
6
|
+
function pageMatchesParity(pageIndex, parity) {
|
|
7
|
+
if (parity === 'all')
|
|
8
|
+
return true;
|
|
9
|
+
// Convention: use page-number parity (page 1 = odd).
|
|
10
|
+
const pageNumber = pageIndex + 1;
|
|
11
|
+
const isOdd = pageNumber % 2 === 1;
|
|
12
|
+
return parity === 'odd' ? isOdd : !isOdd;
|
|
13
|
+
}
|
|
14
|
+
function elementHeightPx(el, dpi) {
|
|
15
|
+
if (el.kind === 'text') {
|
|
16
|
+
const fontSizePx = dimensionToPx(el.fontSize, dpi);
|
|
17
|
+
// Approximate line height as 1.2 × font size.
|
|
18
|
+
return fontSizePx * 1.2;
|
|
19
|
+
}
|
|
20
|
+
return dimensionToPx(el.thickness, dpi);
|
|
21
|
+
}
|
|
22
|
+
function filterElementsByParity(slot, pageIndex) {
|
|
23
|
+
return slot.elements.filter((el) => pageMatchesParity(pageIndex, el.parity));
|
|
24
|
+
}
|
|
25
|
+
function xForAlign(align, contentX, contentWidth, elementWidth, edgeInsetPx) {
|
|
26
|
+
if (align === 'left')
|
|
27
|
+
return contentX + edgeInsetPx;
|
|
28
|
+
if (align === 'right')
|
|
29
|
+
return contentX + contentWidth - elementWidth - edgeInsetPx;
|
|
30
|
+
return contentX + (contentWidth - elementWidth) / 2;
|
|
31
|
+
}
|
|
32
|
+
function buildTextBlock(el, resolvedText, contentX, contentWidth, elementTop, dpi) {
|
|
33
|
+
const fontSizePx = dimensionToPx(el.fontSize, dpi);
|
|
34
|
+
const weight = el.fontWeight === 400 ? 'normal' : String(el.fontWeight);
|
|
35
|
+
const style = el.italic ? 'italic' : 'normal';
|
|
36
|
+
const fontString = buildFontString(el.fontFamily, fontSizePx, weight, style);
|
|
37
|
+
const textWidth = measureTextWidth(resolvedText, fontString);
|
|
38
|
+
const blockHeight = fontSizePx * 1.2;
|
|
39
|
+
const edgeInsetPx = dimensionToPx(el.marginFromEdge, dpi);
|
|
40
|
+
const x = xForAlign(el.align, contentX, contentWidth, textWidth, edgeInsetPx);
|
|
41
|
+
// Baseline at ~0.8 of the block height, matching body text convention.
|
|
42
|
+
const baseline = elementTop + blockHeight * 0.8;
|
|
43
|
+
return {
|
|
44
|
+
kind: 'text',
|
|
45
|
+
bbox: createBoundingBox(x, elementTop, textWidth, blockHeight),
|
|
46
|
+
text: resolvedText,
|
|
47
|
+
align: el.align,
|
|
48
|
+
fontString,
|
|
49
|
+
color: el.color.hex,
|
|
50
|
+
baseline,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function buildRuleBlock(el, contentX, contentWidth, elementTop, dpi) {
|
|
54
|
+
const thicknessPx = dimensionToPx(el.thickness, dpi);
|
|
55
|
+
const widthPx = el.width === 'full' ? contentWidth : dimensionToPx(el.width, dpi);
|
|
56
|
+
// `marginFromEdge` only meaningful for non-full rules — a full-width rule
|
|
57
|
+
// already spans the content, so the inset would just crop it asymmetrically.
|
|
58
|
+
const edgeInsetPx = el.width === 'full' ? 0 : dimensionToPx(el.marginFromEdge, dpi);
|
|
59
|
+
const x = xForAlign(el.align, contentX, contentWidth, widthPx, edgeInsetPx);
|
|
60
|
+
return {
|
|
61
|
+
kind: 'rule',
|
|
62
|
+
bbox: createBoundingBox(x, elementTop, widthPx, thicknessPx),
|
|
63
|
+
color: el.color.hex,
|
|
64
|
+
thicknessPx,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Layout elements for one slot on one page.
|
|
69
|
+
*
|
|
70
|
+
* Each element's `marginFromBody` is an absolute distance between its
|
|
71
|
+
* body-facing edge and the body edge — elements are independent and never
|
|
72
|
+
* push each other. Two elements with the same `marginFromBody` will overlap;
|
|
73
|
+
* that's on the author to avoid.
|
|
74
|
+
*/
|
|
75
|
+
function layoutSlot(slot, pageIndex, contentX, contentWidth, anchor, anchorY, metadata, allPages, chapterTitleByPageIndex, dpi) {
|
|
76
|
+
const elements = filterElementsByParity(slot, pageIndex);
|
|
77
|
+
if (elements.length === 0)
|
|
78
|
+
return undefined;
|
|
79
|
+
const page = allPages[pageIndex];
|
|
80
|
+
const ctx = {
|
|
81
|
+
page,
|
|
82
|
+
allPages,
|
|
83
|
+
metadata,
|
|
84
|
+
chapterTitleByPageIndex,
|
|
85
|
+
};
|
|
86
|
+
const blocks = [];
|
|
87
|
+
let minY = anchorY;
|
|
88
|
+
let maxBottom = anchorY;
|
|
89
|
+
for (const el of elements) {
|
|
90
|
+
const height = elementHeightPx(el, dpi);
|
|
91
|
+
const marginPx = dimensionToPx(el.marginFromBody, dpi);
|
|
92
|
+
// For a header (anchor='bottom' at body top): element's bottom edge sits
|
|
93
|
+
// `marginPx` above the body. For a footer (anchor='top' at body bottom):
|
|
94
|
+
// element's top edge sits `marginPx` below the body.
|
|
95
|
+
const elementTop = anchor === 'bottom' ? anchorY - marginPx - height : anchorY + marginPx;
|
|
96
|
+
if (el.kind === 'text') {
|
|
97
|
+
const { text } = resolvePlaceholders(el.content, ctx);
|
|
98
|
+
if (text.length > 0) {
|
|
99
|
+
blocks.push(buildTextBlock(el, text, contentX, contentWidth, elementTop, dpi));
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
blocks.push(buildRuleBlock(el, contentX, contentWidth, elementTop, dpi));
|
|
104
|
+
}
|
|
105
|
+
minY = Math.min(minY, elementTop);
|
|
106
|
+
maxBottom = Math.max(maxBottom, elementTop + height);
|
|
107
|
+
}
|
|
108
|
+
if (blocks.length === 0)
|
|
109
|
+
return undefined;
|
|
110
|
+
const slotBbox = createBoundingBox(contentX, minY, contentWidth, maxBottom - minY);
|
|
111
|
+
return { bbox: slotBbox, blocks };
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* After body placement finishes, attach header/footer slots (with their
|
|
115
|
+
* rendered text/rule blocks) to every page of the document.
|
|
116
|
+
*
|
|
117
|
+
* Headers and footers are rendered inside the existing page margins — they
|
|
118
|
+
* do not consume body space. Header elements stack upward from the body's
|
|
119
|
+
* top edge; footer elements stack downward from the body's bottom edge.
|
|
120
|
+
*/
|
|
121
|
+
export function buildHeadersAndFooters(doc) {
|
|
122
|
+
const resolved = doc.config;
|
|
123
|
+
const dpi = resolved.page.dpi;
|
|
124
|
+
const { contentArea } = computePageMetrics(resolved);
|
|
125
|
+
const chapterTitleByPageIndex = computeChapterTitles(doc.blocks, doc.pages.length, doc.pages);
|
|
126
|
+
for (const page of doc.pages) {
|
|
127
|
+
if (resolved.header.elements.length > 0) {
|
|
128
|
+
page.header = layoutSlot(resolved.header, page.index, contentArea.x, contentArea.width, 'bottom', contentArea.y, doc.metadata, doc.pages, chapterTitleByPageIndex, dpi);
|
|
129
|
+
}
|
|
130
|
+
if (resolved.footer.elements.length > 0) {
|
|
131
|
+
page.footer = layoutSlot(resolved.footer, page.index, contentArea.x, contentArea.width, 'top', contentArea.y + contentArea.height, doc.metadata, doc.pages, chapterTitleByPageIndex, dpi);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=headerFooter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"headerFooter.js","sourceRoot":"","sources":["../../src/pipeline/headerFooter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { DocumentMetadata } from '../types';
|
|
2
|
+
import type { VDTBlock, VDTPage } from '../vdt';
|
|
3
|
+
/** A minimal view of a page used by `computeChapterTitles` to detect
|
|
4
|
+
* blank parity-padding pages. We accept just the flags rather than the
|
|
5
|
+
* whole `VDTPage` so this helper stays easy to test in isolation.
|
|
6
|
+
*
|
|
7
|
+
* `blankForParity` pages belong to the upcoming chapter (they exist
|
|
8
|
+
* solely to push it onto the right parity). `blankForForce` pages
|
|
9
|
+
* belong to the *previous* chapter (they are the mandatory separator
|
|
10
|
+
* of the `always-*` modes) — the walker stops when it hits one. */
|
|
11
|
+
export interface ChapterTitlePageInfo {
|
|
12
|
+
blankForParity?: boolean;
|
|
13
|
+
blankForForce?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface PlaceholderContext {
|
|
16
|
+
page: VDTPage;
|
|
17
|
+
allPages: VDTPage[];
|
|
18
|
+
metadata: DocumentMetadata;
|
|
19
|
+
/** Chapter title per page index (most recent H1 at or before each page). */
|
|
20
|
+
chapterTitleByPageIndex: string[];
|
|
21
|
+
}
|
|
22
|
+
export interface PlaceholderResult {
|
|
23
|
+
text: string;
|
|
24
|
+
unknownPlaceholders: string[];
|
|
25
|
+
missingMetadata: string[];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Precompute chapter titles (most recent H1 text) for each page index by
|
|
29
|
+
* walking blocks once. Returns an array where `result[pageIndex]` is the plain
|
|
30
|
+
* text of the most recent H1 encountered at or before that page. When no H1
|
|
31
|
+
* has appeared yet, the entry is an empty string.
|
|
32
|
+
*
|
|
33
|
+
* When `pages` is supplied, blank parity-padding pages immediately
|
|
34
|
+
* preceding a new H1 are retroactively attributed to the *upcoming*
|
|
35
|
+
* chapter — the blank left-hand page that exists only to push the next
|
|
36
|
+
* chapter onto a right-hand page should display the new chapter's title
|
|
37
|
+
* in its header, not the previous chapter's.
|
|
38
|
+
*/
|
|
39
|
+
export declare function computeChapterTitles(blocks: VDTBlock[], totalPages: number, pages?: ChapterTitlePageInfo[]): string[];
|
|
40
|
+
/**
|
|
41
|
+
* Resolve placeholder templates. Grammar:
|
|
42
|
+
* - `{name}` with name matching `[a-zA-Z][a-zA-Z0-9]*` is a placeholder.
|
|
43
|
+
* - `{{` and `}}` are literal braces.
|
|
44
|
+
*/
|
|
45
|
+
export declare function resolvePlaceholders(template: string, ctx: PlaceholderContext): PlaceholderResult;
|
|
46
|
+
/**
|
|
47
|
+
* Scan a template for the set of placeholder names it references (unique,
|
|
48
|
+
* including unknown ones). Useful for warnings.
|
|
49
|
+
*/
|
|
50
|
+
export declare function collectPlaceholderNames(template: string): string[];
|
|
51
|
+
export declare function isKnownPlaceholder(name: string): boolean;
|
|
52
|
+
export declare function isMetadataPlaceholder(name: string): boolean;
|
|
53
|
+
//# sourceMappingURL=placeholders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"placeholders.d.ts","sourceRoot":"","sources":["../../src/pipeline/placeholders.ts"],"names":[],"mappings":"AAAA,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;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAcD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,QAAQ,EAAE,EAClB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,oBAAoB,EAAE,GAC7B,MAAM,EAAE,CAgDV;AAWD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,kBAAkB,GACtB,iBAAiB,CAgDnB;AAuBD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBlE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D"}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
const PLACEHOLDER_NAMES = new Set([
|
|
2
|
+
'pageNumber',
|
|
3
|
+
'totalPages',
|
|
4
|
+
'title',
|
|
5
|
+
'subtitle',
|
|
6
|
+
'author',
|
|
7
|
+
'publishDate',
|
|
8
|
+
'chapterTitle',
|
|
9
|
+
]);
|
|
10
|
+
const METADATA_PLACEHOLDERS = new Set(['title', 'subtitle', 'author', 'publishDate']);
|
|
11
|
+
/**
|
|
12
|
+
* Precompute chapter titles (most recent H1 text) for each page index by
|
|
13
|
+
* walking blocks once. Returns an array where `result[pageIndex]` is the plain
|
|
14
|
+
* text of the most recent H1 encountered at or before that page. When no H1
|
|
15
|
+
* has appeared yet, the entry is an empty string.
|
|
16
|
+
*
|
|
17
|
+
* When `pages` is supplied, blank parity-padding pages immediately
|
|
18
|
+
* preceding a new H1 are retroactively attributed to the *upcoming*
|
|
19
|
+
* chapter — the blank left-hand page that exists only to push the next
|
|
20
|
+
* chapter onto a right-hand page should display the new chapter's title
|
|
21
|
+
* in its header, not the previous chapter's.
|
|
22
|
+
*/
|
|
23
|
+
export function computeChapterTitles(blocks, totalPages, pages) {
|
|
24
|
+
const out = new Array(totalPages).fill('');
|
|
25
|
+
const byPage = new Map();
|
|
26
|
+
let current = '';
|
|
27
|
+
// Walk blocks in page/column order. The VDT `doc.blocks` array is already
|
|
28
|
+
// insertion-ordered by placement, so pages are in increasing index.
|
|
29
|
+
let lastPageIndex = -1;
|
|
30
|
+
// Track H1 page-indices so we can reassign any parity-padding pages
|
|
31
|
+
// that precede them.
|
|
32
|
+
const h1PageIndices = [];
|
|
33
|
+
for (const b of blocks) {
|
|
34
|
+
if (b.pageIndex < 0)
|
|
35
|
+
continue;
|
|
36
|
+
while (lastPageIndex < b.pageIndex) {
|
|
37
|
+
lastPageIndex++;
|
|
38
|
+
byPage.set(lastPageIndex, current);
|
|
39
|
+
}
|
|
40
|
+
if (b.headingLevel === 1) {
|
|
41
|
+
current = plainTextOfBlock(b);
|
|
42
|
+
byPage.set(b.pageIndex, current);
|
|
43
|
+
h1PageIndices.push({ pageIndex: b.pageIndex, title: current });
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
// Fill any trailing pages (past the last block) with current value.
|
|
47
|
+
for (let p = 0; p < totalPages; p++) {
|
|
48
|
+
if (byPage.has(p)) {
|
|
49
|
+
out[p] = byPage.get(p);
|
|
50
|
+
}
|
|
51
|
+
else if (p > 0) {
|
|
52
|
+
out[p] = out[p - 1];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// Reassign parity-padding pages preceding each H1 to the upcoming
|
|
56
|
+
// chapter's title. The blank page was inserted solely to push the
|
|
57
|
+
// chapter onto the correct parity — conceptually it belongs to the
|
|
58
|
+
// chapter it precedes. `blankForForce` pages (the mandatory leading
|
|
59
|
+
// separator of `always-*` modes) stop the walk: they belong to the
|
|
60
|
+
// previous chapter.
|
|
61
|
+
if (pages) {
|
|
62
|
+
for (const { pageIndex, title } of h1PageIndices) {
|
|
63
|
+
for (let p = pageIndex - 1; p >= 0; p--) {
|
|
64
|
+
const info = pages[p];
|
|
65
|
+
if (!info)
|
|
66
|
+
break;
|
|
67
|
+
if (info.blankForForce)
|
|
68
|
+
break;
|
|
69
|
+
if (!info.blankForParity)
|
|
70
|
+
break;
|
|
71
|
+
out[p] = title;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return out;
|
|
76
|
+
}
|
|
77
|
+
function plainTextOfBlock(block) {
|
|
78
|
+
// Strip any numbering prefix that was prepended during build.
|
|
79
|
+
const lines = block.lines.map((l) => l.text).join(' ');
|
|
80
|
+
if (block.numberPrefix && lines.startsWith(block.numberPrefix)) {
|
|
81
|
+
return lines.slice(block.numberPrefix.length).trimStart();
|
|
82
|
+
}
|
|
83
|
+
return lines;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Resolve placeholder templates. Grammar:
|
|
87
|
+
* - `{name}` with name matching `[a-zA-Z][a-zA-Z0-9]*` is a placeholder.
|
|
88
|
+
* - `{{` and `}}` are literal braces.
|
|
89
|
+
*/
|
|
90
|
+
export function resolvePlaceholders(template, ctx) {
|
|
91
|
+
const unknown = [];
|
|
92
|
+
const missing = [];
|
|
93
|
+
let out = '';
|
|
94
|
+
let i = 0;
|
|
95
|
+
while (i < template.length) {
|
|
96
|
+
const ch = template[i];
|
|
97
|
+
if (ch === '{' && template[i + 1] === '{') {
|
|
98
|
+
out += '{';
|
|
99
|
+
i += 2;
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
if (ch === '}' && template[i + 1] === '}') {
|
|
103
|
+
out += '}';
|
|
104
|
+
i += 2;
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
if (ch === '{') {
|
|
108
|
+
const end = template.indexOf('}', i + 1);
|
|
109
|
+
if (end === -1) {
|
|
110
|
+
// Unterminated — treat as literal
|
|
111
|
+
out += ch;
|
|
112
|
+
i++;
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
const name = template.slice(i + 1, end);
|
|
116
|
+
if (!/^[a-zA-Z][a-zA-Z0-9]*$/.test(name)) {
|
|
117
|
+
out += template.slice(i, end + 1);
|
|
118
|
+
i = end + 1;
|
|
119
|
+
continue;
|
|
120
|
+
}
|
|
121
|
+
if (!PLACEHOLDER_NAMES.has(name)) {
|
|
122
|
+
unknown.push(name);
|
|
123
|
+
i = end + 1;
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
const value = resolveName(name, ctx);
|
|
127
|
+
if (METADATA_PLACEHOLDERS.has(name) && value === '') {
|
|
128
|
+
missing.push(name);
|
|
129
|
+
}
|
|
130
|
+
out += value;
|
|
131
|
+
i = end + 1;
|
|
132
|
+
continue;
|
|
133
|
+
}
|
|
134
|
+
out += ch;
|
|
135
|
+
i++;
|
|
136
|
+
}
|
|
137
|
+
return { text: out, unknownPlaceholders: unknown, missingMetadata: missing };
|
|
138
|
+
}
|
|
139
|
+
function resolveName(name, ctx) {
|
|
140
|
+
switch (name) {
|
|
141
|
+
case 'pageNumber':
|
|
142
|
+
return ctx.page.pageLabel;
|
|
143
|
+
case 'totalPages':
|
|
144
|
+
return String(ctx.allPages.length);
|
|
145
|
+
case 'title':
|
|
146
|
+
return typeof ctx.metadata.title === 'string' ? ctx.metadata.title : '';
|
|
147
|
+
case 'subtitle':
|
|
148
|
+
return typeof ctx.metadata.subtitle === 'string' ? ctx.metadata.subtitle : '';
|
|
149
|
+
case 'author':
|
|
150
|
+
return typeof ctx.metadata.author === 'string' ? ctx.metadata.author : '';
|
|
151
|
+
case 'publishDate':
|
|
152
|
+
return typeof ctx.metadata.publishDate === 'string' ? ctx.metadata.publishDate : '';
|
|
153
|
+
case 'chapterTitle':
|
|
154
|
+
return ctx.chapterTitleByPageIndex[ctx.page.index] ?? '';
|
|
155
|
+
default:
|
|
156
|
+
return '';
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Scan a template for the set of placeholder names it references (unique,
|
|
161
|
+
* including unknown ones). Useful for warnings.
|
|
162
|
+
*/
|
|
163
|
+
export function collectPlaceholderNames(template) {
|
|
164
|
+
const names = new Set();
|
|
165
|
+
let i = 0;
|
|
166
|
+
while (i < template.length) {
|
|
167
|
+
const ch = template[i];
|
|
168
|
+
if (ch === '{' && template[i + 1] === '{') {
|
|
169
|
+
i += 2;
|
|
170
|
+
continue;
|
|
171
|
+
}
|
|
172
|
+
if (ch === '}' && template[i + 1] === '}') {
|
|
173
|
+
i += 2;
|
|
174
|
+
continue;
|
|
175
|
+
}
|
|
176
|
+
if (ch === '{') {
|
|
177
|
+
const end = template.indexOf('}', i + 1);
|
|
178
|
+
if (end === -1)
|
|
179
|
+
break;
|
|
180
|
+
const name = template.slice(i + 1, end);
|
|
181
|
+
if (/^[a-zA-Z][a-zA-Z0-9]*$/.test(name))
|
|
182
|
+
names.add(name);
|
|
183
|
+
i = end + 1;
|
|
184
|
+
continue;
|
|
185
|
+
}
|
|
186
|
+
i++;
|
|
187
|
+
}
|
|
188
|
+
return [...names];
|
|
189
|
+
}
|
|
190
|
+
export function isKnownPlaceholder(name) {
|
|
191
|
+
return PLACEHOLDER_NAMES.has(name);
|
|
192
|
+
}
|
|
193
|
+
export function isMetadataPlaceholder(name) {
|
|
194
|
+
return METADATA_PLACEHOLDERS.has(name);
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=placeholders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"placeholders.js","sourceRoot":"","sources":["../../src/pipeline/placeholders.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type BoundingBox, type ResolvedConfig, type VDTDocument, type VDTBlock, type VDTLine, type VDTPage, type VDTColumn } from '../vdt';
|
|
2
|
+
import type { HeadingBreakParity } from '../types';
|
|
2
3
|
export interface PlacementCursor {
|
|
3
4
|
pageIndex: number;
|
|
4
5
|
columnIndex: number;
|
|
@@ -7,5 +8,22 @@ export declare function resetLinePositions(lines: VDTLine[], lineHeightPx: numbe
|
|
|
7
8
|
export declare function createPageWithColumns(pageIndex: number, resolved: ResolvedConfig, contentArea: BoundingBox, pageWidthPx: number, pageHeightPx: number): VDTPage;
|
|
8
9
|
export declare function currentColumn(doc: VDTDocument, cursor: PlacementCursor): VDTColumn;
|
|
9
10
|
export declare function advanceToNextColumn(doc: VDTDocument, cursor: PlacementCursor, resolved: ResolvedConfig, contentArea: BoundingBox, pageWidthPx: number, pageHeightPx: number): void;
|
|
11
|
+
/** Advance `cursor` forward until it points to the first column of a new
|
|
12
|
+
* page. No-op when the current page is empty (nothing placed yet) — avoids
|
|
13
|
+
* emitting a blank leading page when a `:::pagebreak` directive lands
|
|
14
|
+
* before any content. */
|
|
15
|
+
export declare function advanceToNextPageBoundary(doc: VDTDocument, cursor: PlacementCursor, resolved: ResolvedConfig, contentArea: BoundingBox, pageWidthPx: number, pageHeightPx: number): void;
|
|
16
|
+
/** After a forced page break, make sure the page we're sitting on has the
|
|
17
|
+
* requested parity. If not, flag the current page as a blank-for-parity
|
|
18
|
+
* placeholder and advance to the next page. Repeats until parity matches
|
|
19
|
+
* (at most one extra page in practice). Parity uses `pageIndex + 1`
|
|
20
|
+
* (page 1 = odd) — the same convention as header/footer parity.
|
|
21
|
+
*
|
|
22
|
+
* For the `always-*` modes, one mandatory blank page is inserted first
|
|
23
|
+
* (flagged as `blankForForce`, belonging to the previous chapter) before
|
|
24
|
+
* the parity check runs. This guarantees at least one separator page
|
|
25
|
+
* between the previous content and the new chapter, regardless of
|
|
26
|
+
* whether the natural next page already matched the requested parity. */
|
|
27
|
+
export declare function enforcePageParity(doc: VDTDocument, cursor: PlacementCursor, resolved: ResolvedConfig, contentArea: BoundingBox, pageWidthPx: number, pageHeightPx: number, parity: HeadingBreakParity): void;
|
|
10
28
|
export declare function placeBlockInColumn(block: VDTBlock, blockHeight: number, col: VDTColumn, cursor: PlacementCursor): void;
|
|
11
29
|
//# sourceMappingURL=placement.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"placement.d.ts","sourceRoot":"","sources":["../../src/pipeline/placement.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,SAAS,EACf,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"placement.d.ts","sourceRoot":"","sources":["../../src/pipeline/placement.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,SAAS,EACf,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGnD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EAAE,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,EAAE,CAMX;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,OAAO,CAOT;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,GAAG,SAAS,CAElF;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,IAAI,CAiBN;AAED;;;0BAG0B;AAC1B,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,IAAI,CAQN;AAED;;;;;;;;;;0EAU0E;AAC1E,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,kBAAkB,GACzB,IAAI,CAqCN;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,eAAe,GACtB,IAAI,CAeN"}
|