postext 1.22.0 → 1.22.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/exports.test.js +4 -0
- package/dist/__tests__/exports.test.js.map +1 -1
- package/dist/comics/lettering/__tests__/panelCache.test.d.ts +2 -0
- package/dist/comics/lettering/__tests__/panelCache.test.d.ts.map +1 -0
- package/dist/comics/lettering/__tests__/panelCache.test.js +43 -0
- package/dist/comics/lettering/__tests__/panelCache.test.js.map +1 -0
- package/dist/comics/lettering/letter.d.ts.map +1 -1
- package/dist/comics/lettering/letter.js +73 -0
- package/dist/comics/lettering/letter.js.map +1 -1
- package/dist/comics/lettering/shape-text.d.ts.map +1 -1
- package/dist/comics/lettering/shape-text.js +64 -16
- package/dist/comics/lettering/shape-text.js.map +1 -1
- package/dist/fonts/usage.d.ts +46 -0
- package/dist/fonts/usage.d.ts.map +1 -0
- package/dist/fonts/usage.js +205 -0
- package/dist/fonts/usage.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/word/analyze.d.ts +33 -0
- package/dist/word/analyze.d.ts.map +1 -0
- package/dist/word/analyze.js +167 -0
- package/dist/word/analyze.js.map +1 -0
- package/dist/word/docxRead.d.ts +10 -0
- package/dist/word/docxRead.d.ts.map +1 -0
- package/dist/word/docxRead.js +584 -0
- package/dist/word/docxRead.js.map +1 -0
- package/dist/word/index.d.ts +14 -0
- package/dist/word/index.d.ts.map +1 -0
- package/dist/word/index.js +12 -0
- package/dist/word/index.js.map +1 -0
- package/dist/word/inline.d.ts +48 -0
- package/dist/word/inline.d.ts.map +1 -0
- package/dist/word/inline.js +606 -0
- package/dist/word/inline.js.map +1 -0
- package/dist/word/model.d.ts +141 -0
- package/dist/word/model.d.ts.map +1 -0
- package/dist/word/model.js +23 -0
- package/dist/word/model.js.map +1 -0
- package/dist/word/omml.d.ts +4 -0
- package/dist/word/omml.d.ts.map +1 -0
- package/dist/word/omml.js +139 -0
- package/dist/word/omml.js.map +1 -0
- package/dist/word/template.d.ts +111 -0
- package/dist/word/template.d.ts.map +1 -0
- package/dist/word/template.js +255 -0
- package/dist/word/template.js.map +1 -0
- package/dist/word/toDocx.d.ts +28 -0
- package/dist/word/toDocx.d.ts.map +1 -0
- package/dist/word/toDocx.js +684 -0
- package/dist/word/toDocx.js.map +1 -0
- package/dist/word/toMarkdown.d.ts +53 -0
- package/dist/word/toMarkdown.d.ts.map +1 -0
- package/dist/word/toMarkdown.js +632 -0
- package/dist/word/toMarkdown.js.map +1 -0
- package/dist/word/word.test.d.ts +2 -0
- package/dist/word/word.test.d.ts.map +1 -0
- package/dist/word/word.test.js +302 -0
- package/dist/word/word.test.js.map +1 -0
- package/dist/word/xml.d.ts +30 -0
- package/dist/word/xml.d.ts.map +1 -0
- package/dist/word/xml.js +127 -0
- package/dist/word/xml.js.map +1 -0
- package/package.json +5 -1
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
// Import templates: which Postext construct each Word style becomes, plus
|
|
2
|
+
// the import options. A template is saved in the browser, shared as JSON and
|
|
3
|
+
// embedded in every `.docx` the Sandbox exports, so a manuscript that went
|
|
4
|
+
// out to Word comes back with the same mapping.
|
|
5
|
+
import { DEFAULT_CALLOUT_STYLES } from '../defaults/calloutStyles';
|
|
6
|
+
import { DEFAULT_CHIP_STYLES } from '../defaults/chipStyles';
|
|
7
|
+
export const DEFAULT_IMPORT_OPTIONS = {
|
|
8
|
+
lineBreaks: 'space',
|
|
9
|
+
directFormatting: 'keep',
|
|
10
|
+
manualHeadings: 0,
|
|
11
|
+
pageBreaks: 'drop',
|
|
12
|
+
images: true,
|
|
13
|
+
tables: true,
|
|
14
|
+
};
|
|
15
|
+
/** Word style names the Sandbox's own exports use. */
|
|
16
|
+
export const MARKUP_STYLE = 'Postext Markup';
|
|
17
|
+
export const MARKUP_CHAR_STYLE = 'Postext Markup Inline';
|
|
18
|
+
export const CHAPTER_STYLE = 'Postext Chapter';
|
|
19
|
+
export function emptyTemplate(name = '') {
|
|
20
|
+
return { id: '', name, paragraphs: {}, characters: {}, options: { ...DEFAULT_IMPORT_OPTIONS }, updatedAt: 0 };
|
|
21
|
+
}
|
|
22
|
+
const key = (name) => name.trim().toLowerCase();
|
|
23
|
+
/** The book's callout types, or the engine's built-in one (`note`) when
|
|
24
|
+
* the configuration lists none. */
|
|
25
|
+
export const calloutStylesOf = (config) => config.calloutStyles ?? DEFAULT_CALLOUT_STYLES;
|
|
26
|
+
/** The book's chip styles, or the engine's built-in one (`chip`). */
|
|
27
|
+
export const chipStylesOf = (config) => config.chipStyles ?? DEFAULT_CHIP_STYLES;
|
|
28
|
+
/** A Word style name as Word shows it: built-in names are stored in lower
|
|
29
|
+
* case (`heading 1`, `caption`) and shown capitalised. */
|
|
30
|
+
export function displayStyleName(name) {
|
|
31
|
+
return /^[a-z]/.test(name) ? name[0].toUpperCase() + name.slice(1) : name;
|
|
32
|
+
}
|
|
33
|
+
/** The entry of `map` for a style name, compared without case. */
|
|
34
|
+
export function lookup(map, name) {
|
|
35
|
+
if (name in map)
|
|
36
|
+
return map[name];
|
|
37
|
+
const k = key(name);
|
|
38
|
+
for (const [n, v] of Object.entries(map))
|
|
39
|
+
if (key(n) === k)
|
|
40
|
+
return v;
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
const slug = (s) => s.normalize('NFKD').replace(/[̀-ͯ]/g, '').toLowerCase().replace(/[^\p{L}\p{N}]+/gu, '');
|
|
44
|
+
function findNamed(list, styleName) {
|
|
45
|
+
if (!list)
|
|
46
|
+
return undefined;
|
|
47
|
+
const s = slug(styleName);
|
|
48
|
+
if (!s)
|
|
49
|
+
return undefined;
|
|
50
|
+
return list.find((x) => slug(x.id) === s || (x.name !== undefined && slug(x.name) === s));
|
|
51
|
+
}
|
|
52
|
+
/** Word's built-in heading styles and their localized ids. */
|
|
53
|
+
function builtinHeadingLevel(name) {
|
|
54
|
+
const m = /^(?:heading|título|titulo|titre|überschrift|titolo|títol|标题|見出し)\s*([1-9])$/i.exec(name.trim());
|
|
55
|
+
if (!m)
|
|
56
|
+
return undefined;
|
|
57
|
+
const n = Number(m[1]);
|
|
58
|
+
return n >= 1 && n <= 6 ? n : undefined;
|
|
59
|
+
}
|
|
60
|
+
/** Walk a style's `basedOn` chain. */
|
|
61
|
+
function chain(doc, style) {
|
|
62
|
+
const out = [];
|
|
63
|
+
let s = style;
|
|
64
|
+
for (let guard = 0; s && guard < 12; guard++) {
|
|
65
|
+
out.push(s);
|
|
66
|
+
s = s.basedOn && doc ? doc.styles.get(s.basedOn) : undefined;
|
|
67
|
+
}
|
|
68
|
+
return out;
|
|
69
|
+
}
|
|
70
|
+
/** A built-in role Word gives a style name (heading N, Title, Quote…). */
|
|
71
|
+
function builtinRole(name) {
|
|
72
|
+
const level = builtinHeadingLevel(name);
|
|
73
|
+
if (level)
|
|
74
|
+
return { kind: 'heading', level };
|
|
75
|
+
const k = key(name);
|
|
76
|
+
if (k === 'title')
|
|
77
|
+
return { kind: 'heading', level: 1 };
|
|
78
|
+
if (k === 'quote' || k === 'intense quote' || k === 'block text')
|
|
79
|
+
return { kind: 'quote' };
|
|
80
|
+
if (k === 'caption')
|
|
81
|
+
return { kind: 'caption' };
|
|
82
|
+
if (/^(?:toc\s*\d|toc heading|index\s*\d|index heading|header|footer|table of figures)$/.test(k))
|
|
83
|
+
return { kind: 'drop' };
|
|
84
|
+
return undefined;
|
|
85
|
+
}
|
|
86
|
+
/** The target a paragraph style gets when no template names it: the
|
|
87
|
+
* Sandbox's own export styles, Postext styles with the same name, Word's
|
|
88
|
+
* built-in roles along the `basedOn` chain, and the outline level. */
|
|
89
|
+
export function guessParagraphTarget(name, config, doc, style) {
|
|
90
|
+
const k = key(name);
|
|
91
|
+
if (k === key(MARKUP_STYLE))
|
|
92
|
+
return { kind: 'markup' };
|
|
93
|
+
if (k === key(CHAPTER_STYLE))
|
|
94
|
+
return { kind: 'chapter' };
|
|
95
|
+
// `Callout: Note` / `Callout: Note: title`, as the export names them.
|
|
96
|
+
const exported = /^(?:callout|recuadro|requadre|boxe|标注框|囲み|إطار)\s*[:·]\s*(.+?)(\s*[:·]\s*(?:title|título|títol|标题|見出し|عنوان))?$/i.exec(name.trim());
|
|
97
|
+
if (exported) {
|
|
98
|
+
const type = findNamed(calloutStylesOf(config), exported[1]);
|
|
99
|
+
if (type)
|
|
100
|
+
return exported[2] ? { kind: 'calloutTitle', type: type.id } : { kind: 'callout', type: type.id };
|
|
101
|
+
}
|
|
102
|
+
const styles = style ? chain(doc, style) : [];
|
|
103
|
+
const levelFromChain = () => {
|
|
104
|
+
for (const s of styles) {
|
|
105
|
+
const l = builtinHeadingLevel(s.name);
|
|
106
|
+
if (l)
|
|
107
|
+
return l;
|
|
108
|
+
}
|
|
109
|
+
const outline = styles.find((x) => x.outlineLevel !== undefined)?.outlineLevel;
|
|
110
|
+
return outline !== undefined && outline < 6 ? outline + 1 : 1;
|
|
111
|
+
};
|
|
112
|
+
const para = findNamed(config.paragraphStyles, name);
|
|
113
|
+
if (para)
|
|
114
|
+
return { kind: 'paragraphs', style: para.id };
|
|
115
|
+
const callout = findNamed(calloutStylesOf(config), name);
|
|
116
|
+
if (callout)
|
|
117
|
+
return { kind: 'callout', type: callout.id };
|
|
118
|
+
const heading = findNamed(config.headingStyles, name);
|
|
119
|
+
if (heading)
|
|
120
|
+
return { kind: 'heading', level: levelFromChain(), style: heading.id };
|
|
121
|
+
for (const [i, n] of (styles.length ? styles.map((s) => s.name) : [name]).entries()) {
|
|
122
|
+
const role = builtinRole(n);
|
|
123
|
+
// Headings, quotes and captions pass to the styles based on them;
|
|
124
|
+
// Title does not (Subtitle, Author and Date are based on it).
|
|
125
|
+
if (role && (i === 0 || key(n) !== 'title'))
|
|
126
|
+
return role;
|
|
127
|
+
}
|
|
128
|
+
const outline = styles.find((x) => x.outlineLevel !== undefined)?.outlineLevel;
|
|
129
|
+
if (outline !== undefined && outline < 6)
|
|
130
|
+
return { kind: 'heading', level: outline + 1 };
|
|
131
|
+
return { kind: 'body' };
|
|
132
|
+
}
|
|
133
|
+
/** The target a character style gets when no template names it. */
|
|
134
|
+
export function guessCharacterTarget(name, config, doc, style) {
|
|
135
|
+
const k = key(name);
|
|
136
|
+
if (k === key(MARKUP_CHAR_STYLE))
|
|
137
|
+
return { kind: 'markup' };
|
|
138
|
+
const exportChip = /^(?:chip|etiqueta|标签|チップ|شارة)\s*[:·]\s*(.+)$/i.exec(name.trim());
|
|
139
|
+
const chip = findNamed(chipStylesOf(config), exportChip ? exportChip[1] : name);
|
|
140
|
+
if (chip)
|
|
141
|
+
return { kind: 'chip', style: chip.id };
|
|
142
|
+
if (k === 'strong' || k === 'intense emphasis' || k === 'book title')
|
|
143
|
+
return { kind: 'bold' };
|
|
144
|
+
if (k === 'emphasis' || k === 'subtle emphasis')
|
|
145
|
+
return { kind: 'italic' };
|
|
146
|
+
if (/hyperlink|footnote reference|endnote reference|page number|line number|annotation reference|placeholder text/.test(k))
|
|
147
|
+
return { kind: 'text' };
|
|
148
|
+
// A style that sets bold, italic, small caps or a script: the same mark.
|
|
149
|
+
const s = chain(doc, style);
|
|
150
|
+
const bold = s.find((x) => x.bold !== undefined)?.bold;
|
|
151
|
+
const italic = s.find((x) => x.italic !== undefined)?.italic;
|
|
152
|
+
const script = s.find((x) => x.script !== undefined)?.script;
|
|
153
|
+
if (script)
|
|
154
|
+
return { kind: script };
|
|
155
|
+
if (s.find((x) => x.smallCaps !== undefined)?.smallCaps)
|
|
156
|
+
return { kind: 'smallCaps' };
|
|
157
|
+
if (bold && italic)
|
|
158
|
+
return { kind: 'boldItalic' };
|
|
159
|
+
if (bold)
|
|
160
|
+
return { kind: 'bold' };
|
|
161
|
+
if (italic)
|
|
162
|
+
return { kind: 'italic' };
|
|
163
|
+
return { kind: 'text' };
|
|
164
|
+
}
|
|
165
|
+
// ---------------------------------------------------------------------------
|
|
166
|
+
// Validation (templates come from JSON files and from `.docx` files)
|
|
167
|
+
// ---------------------------------------------------------------------------
|
|
168
|
+
const PARA_KINDS = new Set(['body', 'heading', 'paragraphs', 'callout', 'calloutTitle', 'quote', 'caption', 'markup', 'chapter', 'drop']);
|
|
169
|
+
const CHAR_KINDS = new Set(['text', 'bold', 'italic', 'boldItalic', 'smallCaps', 'sup', 'sub', 'chip', 'markup', 'drop']);
|
|
170
|
+
const isObj = (v) => typeof v === 'object' && v !== null && !Array.isArray(v);
|
|
171
|
+
const str = (v) => (typeof v === 'string' && v.length <= 200 ? v : undefined);
|
|
172
|
+
function parseParagraphTarget(v) {
|
|
173
|
+
if (!isObj(v) || !PARA_KINDS.has(v.kind))
|
|
174
|
+
return undefined;
|
|
175
|
+
switch (v.kind) {
|
|
176
|
+
case 'heading': {
|
|
177
|
+
const level = Number(v.level);
|
|
178
|
+
if (!Number.isInteger(level) || level < 1 || level > 6)
|
|
179
|
+
return undefined;
|
|
180
|
+
const style = str(v.style);
|
|
181
|
+
return { kind: 'heading', level, ...(style ? { style } : {}) };
|
|
182
|
+
}
|
|
183
|
+
case 'paragraphs': {
|
|
184
|
+
const style = str(v.style);
|
|
185
|
+
return style ? { kind: 'paragraphs', style } : undefined;
|
|
186
|
+
}
|
|
187
|
+
case 'callout':
|
|
188
|
+
case 'calloutTitle': {
|
|
189
|
+
const type = str(v.type);
|
|
190
|
+
return type ? { kind: v.kind, type } : undefined;
|
|
191
|
+
}
|
|
192
|
+
default:
|
|
193
|
+
return { kind: v.kind };
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
function parseCharacterTarget(v) {
|
|
197
|
+
if (!isObj(v) || !CHAR_KINDS.has(v.kind))
|
|
198
|
+
return undefined;
|
|
199
|
+
if (v.kind === 'chip') {
|
|
200
|
+
const style = str(v.style);
|
|
201
|
+
return style ? { kind: 'chip', style } : undefined;
|
|
202
|
+
}
|
|
203
|
+
return { kind: v.kind };
|
|
204
|
+
}
|
|
205
|
+
function parseOptions(v) {
|
|
206
|
+
const o = isObj(v) ? v : {};
|
|
207
|
+
const d = DEFAULT_IMPORT_OPTIONS;
|
|
208
|
+
const level = Number(o.manualHeadings);
|
|
209
|
+
return {
|
|
210
|
+
lineBreaks: o.lineBreaks === 'paragraph' ? 'paragraph' : o.lineBreaks === 'space' ? 'space' : d.lineBreaks,
|
|
211
|
+
directFormatting: o.directFormatting === 'ignore' ? 'ignore' : o.directFormatting === 'keep' ? 'keep' : d.directFormatting,
|
|
212
|
+
manualHeadings: Number.isInteger(level) && level >= 0 && level <= 6 ? level : d.manualHeadings,
|
|
213
|
+
pageBreaks: o.pageBreaks === 'keep' ? 'keep' : o.pageBreaks === 'drop' ? 'drop' : d.pageBreaks,
|
|
214
|
+
images: typeof o.images === 'boolean' ? o.images : d.images,
|
|
215
|
+
tables: typeof o.tables === 'boolean' ? o.tables : d.tables,
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
/** A template read from untrusted JSON, or undefined when it is none. */
|
|
219
|
+
export function parseTemplate(v) {
|
|
220
|
+
if (!isObj(v))
|
|
221
|
+
return undefined;
|
|
222
|
+
const t = isObj(v.postextWordTemplate) ? v.postextWordTemplate : v;
|
|
223
|
+
if (!isObj(t.paragraphs) && !isObj(t.characters))
|
|
224
|
+
return undefined;
|
|
225
|
+
const paragraphs = {};
|
|
226
|
+
const characters = {};
|
|
227
|
+
if (isObj(t.paragraphs))
|
|
228
|
+
for (const [k, x] of Object.entries(t.paragraphs)) {
|
|
229
|
+
const target = parseParagraphTarget(x);
|
|
230
|
+
if (target && k.length <= 200)
|
|
231
|
+
paragraphs[k] = target;
|
|
232
|
+
}
|
|
233
|
+
if (isObj(t.characters))
|
|
234
|
+
for (const [k, x] of Object.entries(t.characters)) {
|
|
235
|
+
const target = parseCharacterTarget(x);
|
|
236
|
+
if (target && k.length <= 200)
|
|
237
|
+
characters[k] = target;
|
|
238
|
+
}
|
|
239
|
+
return {
|
|
240
|
+
id: str(t.id) ?? '',
|
|
241
|
+
name: str(t.name) ?? '',
|
|
242
|
+
paragraphs,
|
|
243
|
+
characters,
|
|
244
|
+
options: parseOptions(t.options),
|
|
245
|
+
updatedAt: typeof t.updatedAt === 'number' ? t.updatedAt : 0,
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
/** The JSON a template is shared as. */
|
|
249
|
+
export function templateFile(t) {
|
|
250
|
+
return JSON.stringify({ postextWordTemplate: { version: 1, ...t } }, null, 2) + '\n';
|
|
251
|
+
}
|
|
252
|
+
export function newTemplateId() {
|
|
253
|
+
return `wt-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 7)}`;
|
|
254
|
+
}
|
|
255
|
+
//# sourceMappingURL=template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/word/template.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { PostextConfig } from '../types';
|
|
2
|
+
import { type WordTemplate } from './template';
|
|
3
|
+
export interface ExportChapter {
|
|
4
|
+
title: string;
|
|
5
|
+
markdown: string;
|
|
6
|
+
}
|
|
7
|
+
export interface WordStyleNames {
|
|
8
|
+
/** `Callout: __name__` */
|
|
9
|
+
callout: string;
|
|
10
|
+
/** `Callout: __name__: title` */
|
|
11
|
+
calloutTitle: string;
|
|
12
|
+
/** `Chip: __name__` */
|
|
13
|
+
chip: string;
|
|
14
|
+
}
|
|
15
|
+
export declare const DEFAULT_STYLE_NAMES: WordStyleNames;
|
|
16
|
+
export interface ExportSettings {
|
|
17
|
+
template: WordTemplate;
|
|
18
|
+
config: PostextConfig;
|
|
19
|
+
/** Several chapters: each opens with a `Postext Chapter` paragraph so the
|
|
20
|
+
* re-import rebuilds the book. */
|
|
21
|
+
book: boolean;
|
|
22
|
+
title?: string;
|
|
23
|
+
author?: string;
|
|
24
|
+
names?: WordStyleNames;
|
|
25
|
+
}
|
|
26
|
+
/** Build the `.docx` bytes for chapters. */
|
|
27
|
+
export declare function postextToDocx(chapters: readonly ExportChapter[], settings: ExportSettings): Uint8Array;
|
|
28
|
+
//# sourceMappingURL=toDocx.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toDocx.d.ts","sourceRoot":"","sources":["../../src/word/toDocx.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAyB,MAAM,UAAU,CAAC;AAErE,OAAO,EAQL,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,mBAAmB,EAAE,cAIjC,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,aAAa,CAAC;IACtB;uCACmC;IACnC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAskBD,4CAA4C;AAC5C,wBAAgB,aAAa,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,EAAE,QAAQ,EAAE,cAAc,GAAG,UAAU,CA6HtG"}
|