postext 1.33.11 → 1.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/__tests__/bundle/designOverflowPin.test.js +1 -1
- package/dist/__tests__/bundle/gridBreakRulesPin.test.js +2 -2
- package/dist/__tests__/bundle/shapingLanguagePin.test.js +3 -3
- package/dist/__tests__/bundle/taskBoxPin.test.js +1 -1
- package/dist/__tests__/bundle.test.js +1 -1
- package/dist/__tests__/codeBlocks.test.js +1 -1
- package/dist/__tests__/composed/corpus.test.d.ts +2 -0
- package/dist/__tests__/composed/corpus.test.d.ts.map +1 -0
- package/dist/__tests__/composed/corpus.test.js +33 -0
- package/dist/__tests__/composed/corpus.test.js.map +1 -0
- package/dist/__tests__/composed/slotChecks.test.d.ts +2 -0
- package/dist/__tests__/composed/slotChecks.test.d.ts.map +1 -0
- package/dist/__tests__/composed/slotChecks.test.js +148 -0
- package/dist/__tests__/composed/slotChecks.test.js.map +1 -0
- package/dist/__tests__/composedTemplates.test.d.ts +2 -0
- package/dist/__tests__/composedTemplates.test.d.ts.map +1 -0
- package/dist/__tests__/composedTemplates.test.js +349 -0
- package/dist/__tests__/composedTemplates.test.js.map +1 -0
- package/dist/__tests__/contentInConfig.test.d.ts +2 -0
- package/dist/__tests__/contentInConfig.test.d.ts.map +1 -0
- package/dist/__tests__/contentInConfig.test.js +201 -0
- package/dist/__tests__/contentInConfig.test.js.map +1 -0
- package/dist/__tests__/defaults/stripRoundTrip.test.js +3 -1
- package/dist/__tests__/defaults/stripRoundTrip.test.js.map +1 -1
- package/dist/__tests__/exports.test.js +22 -0
- package/dist/__tests__/exports.test.js.map +1 -1
- package/dist/__tests__/hardBreaks.test.js +1 -1
- package/dist/__tests__/headingInlineMarks.test.js +1 -1
- package/dist/__tests__/mathSizeMigration.test.js +2 -2
- package/dist/__tests__/parse/composedPages.test.d.ts +2 -0
- package/dist/__tests__/parse/composedPages.test.d.ts.map +1 -0
- package/dist/__tests__/parse/composedPages.test.js +323 -0
- package/dist/__tests__/parse/composedPages.test.js.map +1 -0
- package/dist/__tests__/parse/containers.test.js +2 -2
- package/dist/__tests__/parse/containers.test.js.map +1 -1
- package/dist/__tests__/pipeline/calloutInlineResourceGap.test.js +1 -1
- package/dist/__tests__/pipeline/calloutSplitMinLinesChild.test.js +1 -1
- package/dist/__tests__/pipeline/colonListRoom.test.js +1 -1
- package/dist/__tests__/pipeline/compoundBreaks.test.js +1 -1
- package/dist/__tests__/pipeline/dashBreaks.test.js +1 -1
- package/dist/__tests__/pipeline/headingSplitOrphans.test.js +1 -1
- package/dist/__tests__/pipeline/inlineFigureSpace.test.js +1 -1
- package/dist/__tests__/pipeline/paragraphContainerTail.test.js +1 -1
- package/dist/__tests__/pipeline/raggedOptimal.test.js +1 -1
- package/dist/__tests__/tocGroups.test.d.ts +2 -0
- package/dist/__tests__/tocGroups.test.d.ts.map +1 -0
- package/dist/__tests__/tocGroups.test.js +213 -0
- package/dist/__tests__/tocGroups.test.js.map +1 -0
- package/dist/__tests__/verseLines.test.js +1 -1
- package/dist/bundle/configVersion.d.ts +16 -5
- package/dist/bundle/configVersion.d.ts.map +1 -1
- package/dist/bundle/configVersion.js +17 -4
- package/dist/bundle/configVersion.js.map +1 -1
- package/dist/bundle/types.d.ts +4 -3
- package/dist/bundle/types.d.ts.map +1 -1
- package/dist/composed/document.d.ts +43 -0
- package/dist/composed/document.d.ts.map +1 -0
- package/dist/composed/document.js +88 -0
- package/dist/composed/document.js.map +1 -0
- package/dist/composed/slotChecks.d.ts +29 -0
- package/dist/composed/slotChecks.d.ts.map +1 -0
- package/dist/composed/slotChecks.js +109 -0
- package/dist/composed/slotChecks.js.map +1 -0
- package/dist/composed/templates.d.ts +133 -0
- package/dist/composed/templates.d.ts.map +1 -0
- package/dist/composed/templates.js +702 -0
- package/dist/composed/templates.js.map +1 -0
- package/dist/composed/types.d.ts +404 -0
- package/dist/composed/types.d.ts.map +1 -0
- package/dist/composed/types.js +2 -0
- package/dist/composed/types.js.map +1 -0
- package/dist/composed/validate.d.ts +26 -0
- package/dist/composed/validate.d.ts.map +1 -0
- package/dist/composed/validate.js +276 -0
- package/dist/composed/validate.js.map +1 -0
- package/dist/configWarnings.d.ts +19 -3
- package/dist/configWarnings.d.ts.map +1 -1
- package/dist/configWarnings.js +170 -40
- package/dist/configWarnings.js.map +1 -1
- package/dist/defaults/checks.d.ts +7 -0
- package/dist/defaults/checks.d.ts.map +1 -0
- package/dist/defaults/checks.js +49 -0
- package/dist/defaults/checks.js.map +1 -0
- package/dist/defaults/index.d.ts +1 -0
- package/dist/defaults/index.d.ts.map +1 -1
- package/dist/defaults/index.js +26 -0
- package/dist/defaults/index.js.map +1 -1
- package/dist/defaults/toc.d.ts +17 -2
- package/dist/defaults/toc.d.ts.map +1 -1
- package/dist/defaults/toc.js +53 -1
- package/dist/defaults/toc.js.map +1 -1
- package/dist/design/slots.d.ts +29 -0
- package/dist/design/slots.d.ts.map +1 -0
- package/dist/design/slots.js +48 -0
- package/dist/design/slots.js.map +1 -0
- package/dist/index.d.ts +17 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/dist/parse/blockParser.d.ts.map +1 -1
- package/dist/parse/blockParser.js +295 -36
- 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/indexMarks.d.ts.map +1 -1
- package/dist/parse/indexMarks.js +24 -0
- package/dist/parse/indexMarks.js.map +1 -1
- package/dist/parse/types.d.ts +95 -2
- package/dist/parse/types.d.ts.map +1 -1
- package/dist/pipeline/build.d.ts.map +1 -1
- package/dist/pipeline/build.js +178 -3
- package/dist/pipeline/build.js.map +1 -1
- package/dist/pipeline/config.d.ts.map +1 -1
- package/dist/pipeline/config.js +17 -2
- package/dist/pipeline/config.js.map +1 -1
- package/dist/pipeline/contentWarnings.d.ts.map +1 -1
- package/dist/pipeline/contentWarnings.js +73 -0
- package/dist/pipeline/contentWarnings.js.map +1 -1
- package/dist/pipeline/placeholders.d.ts +7 -0
- package/dist/pipeline/placeholders.d.ts.map +1 -1
- package/dist/pipeline/placeholders.js +41 -0
- package/dist/pipeline/placeholders.js.map +1 -1
- package/dist/pipeline/textWrap.js +1 -1
- package/dist/pipeline/textWrap.js.map +1 -1
- package/dist/pipeline/toc.d.ts +11 -1
- package/dist/pipeline/toc.d.ts.map +1 -1
- package/dist/pipeline/toc.js +147 -8
- package/dist/pipeline/toc.js.map +1 -1
- package/dist/types.d.ts +99 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/util/closestKey.d.ts +4 -0
- package/dist/util/closestKey.d.ts.map +1 -0
- package/dist/util/closestKey.js +40 -0
- package/dist/util/closestKey.js.map +1 -0
- package/dist/vdt.d.ts +125 -7
- package/dist/vdt.d.ts.map +1 -1
- package/dist/vdt.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { buildDocument } from '../pipeline';
|
|
3
|
+
import { resolveAllConfig } from '../pipeline/config';
|
|
4
|
+
import { parseTocLevelsAttr, tocKeepOf } from '../pipeline/toc';
|
|
5
|
+
import { resolveTocConfig, stripTocDefaults } from '../defaults/toc';
|
|
6
|
+
import { resolveBodyTextConfig } from '../defaults/bodyText';
|
|
7
|
+
import { collectConfigWarnings } from '../configWarnings';
|
|
8
|
+
import { formatWarning } from '../pipeline/contentWarnings';
|
|
9
|
+
class StubCtx {
|
|
10
|
+
font = '';
|
|
11
|
+
measureText(s) {
|
|
12
|
+
return { width: s.length * 7 };
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
globalThis.OffscreenCanvas = class {
|
|
16
|
+
getContext() {
|
|
17
|
+
return new StubCtx();
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
const pt = (value) => ({ value, unit: 'pt' });
|
|
21
|
+
const base = {
|
|
22
|
+
page: {
|
|
23
|
+
width: pt(360),
|
|
24
|
+
height: pt(260),
|
|
25
|
+
margins: { top: pt(18), bottom: pt(18), left: pt(18), right: pt(18) },
|
|
26
|
+
},
|
|
27
|
+
layout: { layoutType: 'single' },
|
|
28
|
+
headings: { levels: [{ level: 1, breakBefore: { enabled: false } }] },
|
|
29
|
+
headingStyles: [{ id: 'front', numbered: false }],
|
|
30
|
+
};
|
|
31
|
+
const withToc = (toc, extra = {}) => ({ ...base, ...extra, toc });
|
|
32
|
+
const part = (n, title, chapters, sections = 0) => `:::part{number="${n}" title="${title}"}
|
|
33
|
+
:::
|
|
34
|
+
|
|
35
|
+
${Array.from({ length: chapters }, (_, i) => `# ${title} chapter ${i + 1}\n\nText.${Array.from({ length: sections }, (_, j) => `\n\n## ${title} ${i + 1}.${j + 1}\n\nText.`).join('')}`).join('\n\n')}`;
|
|
36
|
+
const SHORT = [['I', 'Alpha', 3], ['II', 'Beta', 5], ['III', 'Gamma', 4]];
|
|
37
|
+
const TALL = [['I', 'Alpha', 3], ['II', 'Beta', 30], ['III', 'Gamma', 2]];
|
|
38
|
+
const book = (toc = ':::toc', parts = SHORT) => `# Contents {style="front" toc="false"}
|
|
39
|
+
|
|
40
|
+
${toc}
|
|
41
|
+
|
|
42
|
+
${parts.map(([n, t, c, s]) => part(n, t, c, s)).join('\n\n')}`;
|
|
43
|
+
/** The contents rows of `doc`, as `page:text` (`P` marks a part row). */
|
|
44
|
+
const rows = (doc) => {
|
|
45
|
+
const out = [];
|
|
46
|
+
for (const page of doc.pages) {
|
|
47
|
+
for (const c of page.columns) {
|
|
48
|
+
for (const b of c.blocks) {
|
|
49
|
+
if (b.tocPart)
|
|
50
|
+
out.push(`${page.index}:P ${b.tocPart.title}`);
|
|
51
|
+
else if (b.tocEntry)
|
|
52
|
+
out.push(`${page.index}:${b.lines.map((l) => l.text).join(' ')}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return out;
|
|
57
|
+
};
|
|
58
|
+
const pageOf = (r, text) => Number(r.find((x) => x.endsWith(text) || x.includes(`${text} `)).split(':')[0]);
|
|
59
|
+
const splits = (d) => (d.contentWarnings ?? []).filter((w) => w.kind === 'tocGroupSplit');
|
|
60
|
+
describe('toc.groups (#850)', () => {
|
|
61
|
+
it('changes nothing when the blocks are not kept together', () => {
|
|
62
|
+
const plain = buildDocument({ markdown: book() }, base);
|
|
63
|
+
const off = buildDocument({ markdown: book() }, withToc({ groups: { keepTogether: false, head: 1, minEntriesAfterHead: 5 } }));
|
|
64
|
+
expect(rows(off)).toEqual(rows(plain));
|
|
65
|
+
// The plain contents cuts Gamma between its two pages.
|
|
66
|
+
expect(pageOf(rows(plain), 'P Gamma')).toBe(0);
|
|
67
|
+
expect(pageOf(rows(plain), 'Gamma chapter 4')).toBe(1);
|
|
68
|
+
expect(splits(plain)).toEqual([]);
|
|
69
|
+
});
|
|
70
|
+
it('moves a block that does not fit to the next page whole, with its head row', () => {
|
|
71
|
+
for (const doc of [
|
|
72
|
+
buildDocument({ markdown: book(':::toc{keep="part"}') }, base),
|
|
73
|
+
buildDocument({ markdown: book() }, withToc({ groups: { keepTogether: true } })),
|
|
74
|
+
]) {
|
|
75
|
+
const r = rows(doc);
|
|
76
|
+
expect(pageOf(r, 'P Beta')).toBe(0);
|
|
77
|
+
expect(pageOf(r, 'Beta chapter 5')).toBe(0);
|
|
78
|
+
expect(pageOf(r, 'P Gamma')).toBe(1);
|
|
79
|
+
for (let i = 1; i <= 4; i++)
|
|
80
|
+
expect(pageOf(r, `Gamma chapter ${i}`)).toBe(1);
|
|
81
|
+
expect(r.some((x) => x.includes('(cont.)'))).toBe(false);
|
|
82
|
+
expect(splits(doc)).toEqual([]);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
it('moves a block to the next column of the page', () => {
|
|
86
|
+
const two = { ...base, page: { ...base.page, width: pt(520) }, layout: { layoutType: 'double' } };
|
|
87
|
+
const colOf = (doc, text) => {
|
|
88
|
+
for (const page of doc.pages)
|
|
89
|
+
for (const c of page.columns)
|
|
90
|
+
for (const b of c.blocks) {
|
|
91
|
+
const t = b.tocPart ? `P ${b.tocPart.title}` : b.lines.map((l) => l.text).join(' ');
|
|
92
|
+
if (b.contentIndex !== undefined && (b.tocPart || b.tocEntry) && t.startsWith(text))
|
|
93
|
+
return `${page.index}:${c.index}`;
|
|
94
|
+
}
|
|
95
|
+
return '';
|
|
96
|
+
};
|
|
97
|
+
const parts = [['I', 'Alpha', 8], ['II', 'Beta', 8], ['III', 'Gamma', 8]];
|
|
98
|
+
const plain = buildDocument({ markdown: book(':::toc', parts) }, two);
|
|
99
|
+
const kept = buildDocument({ markdown: book(':::toc{keep="part"}', parts) }, two);
|
|
100
|
+
const cut = ['Alpha', 'Beta', 'Gamma'].find((t) => colOf(plain, `P ${t}`) !== colOf(plain, `${t} chapter 8`));
|
|
101
|
+
expect(cut).toBeDefined();
|
|
102
|
+
for (const t of ['Alpha', 'Beta', 'Gamma']) {
|
|
103
|
+
for (let i = 1; i <= 8; i++)
|
|
104
|
+
expect(colOf(kept, `${t} chapter ${i}`), `${t} ${i}`).toBe(colOf(kept, `P ${t}`));
|
|
105
|
+
}
|
|
106
|
+
expect(splits(kept)).toEqual([]);
|
|
107
|
+
});
|
|
108
|
+
it('cuts a block taller than a page, repeating its head row with the mark on every page it goes on to', () => {
|
|
109
|
+
const doc = buildDocument({ markdown: book(':::toc{keep="part"}', TALL) }, base);
|
|
110
|
+
const r = rows(doc);
|
|
111
|
+
// Beta starts under Alpha: a tall block keeps its head with two
|
|
112
|
+
// entries, and the head with two entries fits there.
|
|
113
|
+
expect(pageOf(r, 'P Beta')).toBe(0);
|
|
114
|
+
const cont = r.filter((x) => x.includes('Beta (cont.)'));
|
|
115
|
+
expect(cont.length).toBe(2);
|
|
116
|
+
// Each repeat opens its page, and the entries go on under it in order.
|
|
117
|
+
for (const c of cont) {
|
|
118
|
+
const page = c.split(':')[0];
|
|
119
|
+
expect(r.find((x) => x.startsWith(`${page}:`))).toBe(c);
|
|
120
|
+
}
|
|
121
|
+
expect(r.filter((x) => /Beta chapter \d+ /.test(x)).length).toBe(30);
|
|
122
|
+
const w = splits(doc);
|
|
123
|
+
expect(w).toEqual([expect.objectContaining({ kind: 'tocGroupSplit', title: 'Beta', columns: 3, pageIndex: 0 })]);
|
|
124
|
+
expect(formatWarning(w[0])).toContain('"Beta"');
|
|
125
|
+
// EPUB and the other readings leave the repeats out.
|
|
126
|
+
const continued = doc.blocks.filter((b) => b.tocPart?.continued);
|
|
127
|
+
expect(continued.length).toBe(2);
|
|
128
|
+
expect(continued.every((b) => b.tocPart.pageLabel === '')).toBe(true);
|
|
129
|
+
});
|
|
130
|
+
it('keeps minEntriesAfterHead entries with the head of a cut block', () => {
|
|
131
|
+
const doc = buildDocument({ markdown: book(':::toc{keep="part"}', TALL) }, withToc({ groups: { minEntriesAfterHead: 12 } }));
|
|
132
|
+
const r = rows(doc);
|
|
133
|
+
// Head and twelve entries do not fit under Alpha: the head moves on.
|
|
134
|
+
expect(pageOf(r, 'P Beta')).toBe(1);
|
|
135
|
+
expect(r.find((x) => x.startsWith('1:'))).toBe('1:P Beta');
|
|
136
|
+
});
|
|
137
|
+
it('sets the continuation mark from the config or the language, or no repeat at all', () => {
|
|
138
|
+
const fr = rows(buildDocument({ markdown: book(':::toc{keep="part"}', TALL) }, { ...base, locale: 'fr' }));
|
|
139
|
+
expect(fr.some((x) => x.endsWith('Beta (suite)'))).toBe(true);
|
|
140
|
+
const own = rows(buildDocument({ markdown: book(':::toc{keep="part"}', TALL) }, withToc({ groups: { continuation: { mark: '— continued' } } })));
|
|
141
|
+
expect(own.some((x) => x.endsWith('Beta — continued'))).toBe(true);
|
|
142
|
+
const none = buildDocument({ markdown: book(':::toc{keep="part"}', TALL) }, withToc({ groups: { continuation: { enabled: false } } }));
|
|
143
|
+
expect(rows(none).some((x) => x.includes('Beta ('))).toBe(false);
|
|
144
|
+
expect(rows(none).filter((x) => x.includes('P Beta')).length).toBe(1);
|
|
145
|
+
expect(splits(none).length).toBe(1);
|
|
146
|
+
});
|
|
147
|
+
it('lets the directive override the config: keep="none", keep="1" with levels="1-2"', () => {
|
|
148
|
+
const plain = rows(buildDocument({ markdown: book() }, base));
|
|
149
|
+
const none = rows(buildDocument({ markdown: book(':::toc{keep="none"}') }, withToc({ groups: { keepTogether: true } })));
|
|
150
|
+
expect(none).toEqual(plain);
|
|
151
|
+
const parts = [['I', 'Alpha', 2, 2], ['II', 'Beta', 3, 2]];
|
|
152
|
+
const flat = rows(buildDocument({ markdown: book(':::toc{levels="1-2"}', parts) }, base));
|
|
153
|
+
expect(flat.some((x) => x.includes('Alpha 1.2'))).toBe(true);
|
|
154
|
+
const kept = rows(buildDocument({ markdown: book(':::toc{keep="1" levels="1-2"}', parts) }, base));
|
|
155
|
+
// Every chapter stands on the page of its sections.
|
|
156
|
+
for (const [, t, c] of parts) {
|
|
157
|
+
for (let i = 1; i <= c; i++) {
|
|
158
|
+
const page = pageOf(kept, `${t} chapter ${i}`);
|
|
159
|
+
expect(pageOf(kept, `${t} ${i}.1`), `${t} ${i}`).toBe(page);
|
|
160
|
+
expect(pageOf(kept, `${t} ${i}.2`), `${t} ${i}`).toBe(page);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
// A part row right above a chapter goes with the chapter's block.
|
|
164
|
+
expect(pageOf(kept, 'P Beta')).toBe(pageOf(kept, 'Beta chapter 1'));
|
|
165
|
+
});
|
|
166
|
+
it('reads levels="…" as a range, a level or a list', () => {
|
|
167
|
+
expect([...parseTocLevelsAttr('1-2')]).toEqual([1, 2]);
|
|
168
|
+
expect([...parseTocLevelsAttr('2')]).toEqual([2]);
|
|
169
|
+
expect([...parseTocLevelsAttr('1,3')]).toEqual([1, 3]);
|
|
170
|
+
expect(parseTocLevelsAttr('x')).toBeUndefined();
|
|
171
|
+
expect(parseTocLevelsAttr(undefined)).toBeUndefined();
|
|
172
|
+
const parts = [['I', 'Alpha', 2, 1]];
|
|
173
|
+
const only2 = rows(buildDocument({ markdown: book(':::toc{levels="2"}', parts) }, base));
|
|
174
|
+
expect(only2.filter((x) => !x.includes(':P ')).map((x) => x.replace(/ \d+$/, '').split(':')[1])).toEqual(['Alpha 1.1', 'Alpha 2.1']);
|
|
175
|
+
const resolved = resolveAllConfig(withToc({ groups: { keepTogether: true, head: 2 } }));
|
|
176
|
+
expect(tocKeepOf(undefined, resolved)).toBe(2);
|
|
177
|
+
expect(tocKeepOf({ keep: 'part' }, resolved)).toBe('part');
|
|
178
|
+
expect(tocKeepOf({ keep: 'none' }, resolved)).toBeUndefined();
|
|
179
|
+
expect(tocKeepOf({ keep: '3' }, resolveAllConfig(base))).toBe(3);
|
|
180
|
+
expect(tocKeepOf(undefined, resolveAllConfig(base))).toBeUndefined();
|
|
181
|
+
});
|
|
182
|
+
it('prints the pages the headings land on once the contents settles', () => {
|
|
183
|
+
const doc = buildDocument({ markdown: book(':::toc{keep="part"}', TALL) }, base);
|
|
184
|
+
const landed = new Map();
|
|
185
|
+
for (const page of doc.pages) {
|
|
186
|
+
for (const c of page.columns) {
|
|
187
|
+
for (const b of c.blocks) {
|
|
188
|
+
if (b.type === 'heading' && !b.tocEntry)
|
|
189
|
+
landed.set(b.lines.map((l) => l.text).join(' '), page.pageLabel);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
for (const r of rows(doc)) {
|
|
194
|
+
const m = /^\d+:(.+ chapter \d+) (\S+)$/.exec(r);
|
|
195
|
+
if (m)
|
|
196
|
+
expect(m[2], m[1]).toBe(landed.get(m[1]));
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
it('resolves, strips and checks the groups config', () => {
|
|
200
|
+
const body = resolveBodyTextConfig({});
|
|
201
|
+
expect(resolveTocConfig(undefined, body).groups).toEqual({
|
|
202
|
+
keepTogether: false, head: 'part', minEntriesAfterHead: 2, continuation: { enabled: true, mark: '(cont.)' },
|
|
203
|
+
});
|
|
204
|
+
expect(resolveTocConfig(undefined, body, 'ja').groups.continuation.mark).toBe('(続き)');
|
|
205
|
+
expect(resolveTocConfig({ groups: { head: '3' } }, body).groups.head).toBe(3);
|
|
206
|
+
expect(stripTocDefaults({ groups: { keepTogether: false, head: 'part', minEntriesAfterHead: 2, continuation: { enabled: true } } })).toBeUndefined();
|
|
207
|
+
expect(stripTocDefaults({ groups: { keepTogether: true, head: 1, continuation: { mark: '(suite)' } } })).toEqual({
|
|
208
|
+
groups: { keepTogether: true, head: 1, continuation: { mark: '(suite)' } },
|
|
209
|
+
});
|
|
210
|
+
expect(collectConfigWarnings(withToc({ groups: { head: 'chapter' } }))).toContainEqual(expect.objectContaining({ kind: 'unknownConfigValue', path: 'toc.groups.head', used: 'part' }));
|
|
211
|
+
});
|
|
212
|
+
});
|
|
213
|
+
//# sourceMappingURL=tocGroups.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tocGroups.test.js","sourceRoot":"","sources":["../../src/__tests__/tocGroups.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -438,7 +438,7 @@ describe('bodyText.verse and the configurations stored before #620', () => {
|
|
|
438
438
|
const PLAIN = ':::verse\nA line\nAnother\n:::';
|
|
439
439
|
const BAYT = ':::verse\nA || B\n:::';
|
|
440
440
|
it('pins the 1.22 verse layout when the text holds a poem with no separator', () => {
|
|
441
|
-
expect(CONFIG_VERSION).toBe(
|
|
441
|
+
expect(CONFIG_VERSION).toBe(15);
|
|
442
442
|
const stored = { bodyText: { fontFamily: 'Georgia' } };
|
|
443
443
|
for (const version of [undefined, 3, 7, 8]) {
|
|
444
444
|
expect(migrateConfig(stored, version, { content: PLAIN }).bodyText?.verse, `${version}`).toEqual({ layout: 'bayt' });
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { PostextConfig } from '../types';
|
|
2
2
|
/**
|
|
3
|
-
* The configuration rules this engine writes:
|
|
4
|
-
* postext 1.29, 12 from 1.28, 11 from 1.25, 10 from 1.24, 9 from 1.23, 8 from 1.5). Thirteen rules changed in 1.5 and
|
|
3
|
+
* The configuration rules this engine writes: 15 since #853 (14 from
|
|
4
|
+
* postext 1.30, 13 from 1.29, 12 from 1.28, 11 from 1.25, 10 from 1.24, 9 from 1.23, 8 from 1.5). Thirteen rules changed in 1.5 and
|
|
5
5
|
* more since, and a configuration
|
|
6
6
|
* stored under an older
|
|
7
7
|
* number (or none) is read through {@link migrateConfig}:
|
|
@@ -173,6 +173,12 @@ import type { PostextConfig } from '../types';
|
|
|
173
173
|
* and the runs of a design text measured as they are painted, and in
|
|
174
174
|
* the PDF the shaping word by word and each character from the file
|
|
175
175
|
* the browser took it from.
|
|
176
|
+
* - 15 (#853), composed pages: the configuration may hold page templates
|
|
177
|
+
* (`pageTemplates`) and label styles (`labelStyles`), which an engine
|
|
178
|
+
* that reads 14 or less ignores. Nothing an older configuration says
|
|
179
|
+
* changes meaning, so one stored under 14 is read as it is (no pin): the
|
|
180
|
+
* number marks a configuration that may hold templates, so an older
|
|
181
|
+
* reader can say it lays out without them.
|
|
176
182
|
*
|
|
177
183
|
* A configuration stored without a version was written for postext 1.4 or
|
|
178
184
|
* earlier. One stored under 3 to 7 was written by a 1.5 prerelease, and
|
|
@@ -190,9 +196,14 @@ import type { PostextConfig } from '../types';
|
|
|
190
196
|
* too); one stored under 12 was written by postext 1.28 and gets the
|
|
191
197
|
* version-13 pins (which every older one gets too); one stored under 13
|
|
192
198
|
* was written by postext 1.29 and gets the version-14 pin (which every
|
|
193
|
-
* older one gets too).
|
|
194
|
-
|
|
195
|
-
|
|
199
|
+
* older one gets too); one stored under 14 was written by postext 1.30 to
|
|
200
|
+
* 1.33 and gets nothing.
|
|
201
|
+
*/
|
|
202
|
+
export declare const CONFIG_VERSION = 15;
|
|
203
|
+
/** The rules that read page templates and label styles (#853). They add
|
|
204
|
+
* keys and change no older one, so they pin nothing: kept to say where
|
|
205
|
+
* the number came from. */
|
|
206
|
+
export declare const COMPOSED_PAGES_RULES = 15;
|
|
196
207
|
/**
|
|
197
208
|
* How much larger postext 1.4 set maths than the size it documents:
|
|
198
209
|
* MathJax gives a formula's box in `ex`, one `ex` of its TeX font is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configVersion.d.ts","sourceRoot":"","sources":["../../src/bundle/configVersion.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAA4I,aAAa,EAAuD,MAAM,UAAU,CAAC;AAa7O
|
|
1
|
+
{"version":3,"file":"configVersion.d.ts","sourceRoot":"","sources":["../../src/bundle/configVersion.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,8 +14,8 @@ import { KNOWN_CONTAINERS } from '../parse/blockParser';
|
|
|
14
14
|
import { codeFenceOpen } from '../parse/codeFence';
|
|
15
15
|
import { hasCJK } from '../measure/cjk';
|
|
16
16
|
/**
|
|
17
|
-
* The configuration rules this engine writes:
|
|
18
|
-
* postext 1.29, 12 from 1.28, 11 from 1.25, 10 from 1.24, 9 from 1.23, 8 from 1.5). Thirteen rules changed in 1.5 and
|
|
17
|
+
* The configuration rules this engine writes: 15 since #853 (14 from
|
|
18
|
+
* postext 1.30, 13 from 1.29, 12 from 1.28, 11 from 1.25, 10 from 1.24, 9 from 1.23, 8 from 1.5). Thirteen rules changed in 1.5 and
|
|
19
19
|
* more since, and a configuration
|
|
20
20
|
* stored under an older
|
|
21
21
|
* number (or none) is read through {@link migrateConfig}:
|
|
@@ -187,6 +187,12 @@ import { hasCJK } from '../measure/cjk';
|
|
|
187
187
|
* and the runs of a design text measured as they are painted, and in
|
|
188
188
|
* the PDF the shaping word by word and each character from the file
|
|
189
189
|
* the browser took it from.
|
|
190
|
+
* - 15 (#853), composed pages: the configuration may hold page templates
|
|
191
|
+
* (`pageTemplates`) and label styles (`labelStyles`), which an engine
|
|
192
|
+
* that reads 14 or less ignores. Nothing an older configuration says
|
|
193
|
+
* changes meaning, so one stored under 14 is read as it is (no pin): the
|
|
194
|
+
* number marks a configuration that may hold templates, so an older
|
|
195
|
+
* reader can say it lays out without them.
|
|
190
196
|
*
|
|
191
197
|
* A configuration stored without a version was written for postext 1.4 or
|
|
192
198
|
* earlier. One stored under 3 to 7 was written by a 1.5 prerelease, and
|
|
@@ -204,9 +210,10 @@ import { hasCJK } from '../measure/cjk';
|
|
|
204
210
|
* too); one stored under 12 was written by postext 1.28 and gets the
|
|
205
211
|
* version-13 pins (which every older one gets too); one stored under 13
|
|
206
212
|
* was written by postext 1.29 and gets the version-14 pin (which every
|
|
207
|
-
* older one gets too).
|
|
213
|
+
* older one gets too); one stored under 14 was written by postext 1.30 to
|
|
214
|
+
* 1.33 and gets nothing.
|
|
208
215
|
*/
|
|
209
|
-
export const CONFIG_VERSION =
|
|
216
|
+
export const CONFIG_VERSION = 15;
|
|
210
217
|
/** The rules that merge a partial heading break onto its level's. */
|
|
211
218
|
const HEADING_BREAK_RULES = 3;
|
|
212
219
|
/** The rules that set a formula's em at the documented size. */
|
|
@@ -308,6 +315,10 @@ const SCRIPT_CONTEXT_RULES = 12;
|
|
|
308
315
|
const SHAPING_LANGUAGE_RULES = 14;
|
|
309
316
|
/** The rules that draw the box of a task item (#765). */
|
|
310
317
|
const TASK_BOX_RULES = 13;
|
|
318
|
+
/** The rules that read page templates and label styles (#853). They add
|
|
319
|
+
* keys and change no older one, so they pin nothing: kept to say where
|
|
320
|
+
* the number came from. */
|
|
321
|
+
export const COMPOSED_PAGES_RULES = 15;
|
|
311
322
|
/** Up to 1.4 a drop cap with no `fontSize` was as tall as the line boxes it
|
|
312
323
|
* spans divided by this, the share of a letter's size its capitals take. */
|
|
313
324
|
const CAP_HEIGHT = 0.72;
|
|
@@ -1849,6 +1860,7 @@ export function migrateConfig(config, configVersion, options = {}) {
|
|
|
1849
1860
|
out = pinLegacyShapingLanguage(out);
|
|
1850
1861
|
if (rules < TASK_BOX_RULES && mayHaveTaskItems(content))
|
|
1851
1862
|
out = pinLegacyTaskBox(out);
|
|
1863
|
+
// COMPOSED_PAGES_RULES (15, #853): new keys only, nothing to pin.
|
|
1852
1864
|
return out;
|
|
1853
1865
|
}
|
|
1854
1866
|
/**
|
|
@@ -1972,6 +1984,7 @@ export function migrateBundleConfig(base, layers, configVersion, options = {}) {
|
|
|
1972
1984
|
merged = pinLegacyShapingLanguage(merged);
|
|
1973
1985
|
if (rules < TASK_BOX_RULES && mayHaveTaskItems(content))
|
|
1974
1986
|
merged = pinLegacyTaskBox(merged);
|
|
1987
|
+
// COMPOSED_PAGES_RULES (15, #853): new keys only, nothing to pin.
|
|
1975
1988
|
return merged;
|
|
1976
1989
|
}
|
|
1977
1990
|
//# sourceMappingURL=configVersion.js.map
|