@bendyline/squisq-formats 1.2.2 → 1.3.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.
Files changed (65) hide show
  1. package/dist/__tests__/html.test.js +78 -4
  2. package/dist/__tests__/html.test.js.map +1 -1
  3. package/dist/__tests__/pdfExport.test.js +1 -1
  4. package/dist/__tests__/pdfExport.test.js.map +1 -1
  5. package/dist/__tests__/plainHtml.test.d.ts +5 -0
  6. package/dist/__tests__/plainHtml.test.d.ts.map +1 -0
  7. package/dist/__tests__/plainHtml.test.js +327 -0
  8. package/dist/__tests__/plainHtml.test.js.map +1 -0
  9. package/dist/__tests__/plainHtmlBundle.test.d.ts +11 -0
  10. package/dist/__tests__/plainHtmlBundle.test.d.ts.map +1 -0
  11. package/dist/__tests__/plainHtmlBundle.test.js +210 -0
  12. package/dist/__tests__/plainHtmlBundle.test.js.map +1 -0
  13. package/dist/chunk-33YRFXZZ.js +1187 -0
  14. package/dist/chunk-33YRFXZZ.js.map +1 -0
  15. package/dist/{chunk-EUQQYBZZ.js → chunk-ERZ627GR.js} +4 -4
  16. package/dist/chunk-ERZ627GR.js.map +1 -0
  17. package/dist/{chunk-MEZF76JA.js → chunk-UDS45KUJ.js} +68 -25
  18. package/dist/chunk-UDS45KUJ.js.map +1 -0
  19. package/dist/{chunk-NGWHV77G.js → chunk-VN2KEOYB.js} +7 -6
  20. package/dist/chunk-VN2KEOYB.js.map +1 -0
  21. package/dist/docx/export.d.ts.map +1 -1
  22. package/dist/docx/export.js +153 -22
  23. package/dist/docx/export.js.map +1 -1
  24. package/dist/epub/export.js +3 -3
  25. package/dist/epub/export.js.map +1 -1
  26. package/dist/html/docsHtmlBundle.d.ts +53 -0
  27. package/dist/html/docsHtmlBundle.d.ts.map +1 -0
  28. package/dist/html/docsHtmlBundle.js +299 -0
  29. package/dist/html/docsHtmlBundle.js.map +1 -0
  30. package/dist/html/htmlTemplate.d.ts.map +1 -1
  31. package/dist/html/htmlTemplate.js +43 -0
  32. package/dist/html/htmlTemplate.js.map +1 -1
  33. package/dist/html/index.d.ts +6 -0
  34. package/dist/html/index.d.ts.map +1 -1
  35. package/dist/html/index.js +31 -3
  36. package/dist/html/index.js.map +1 -1
  37. package/dist/html/plainHtml.d.ts +79 -0
  38. package/dist/html/plainHtml.d.ts.map +1 -0
  39. package/dist/html/plainHtml.js +614 -0
  40. package/dist/html/plainHtml.js.map +1 -0
  41. package/dist/html/plainHtmlBundle.d.ts +93 -0
  42. package/dist/html/plainHtmlBundle.d.ts.map +1 -0
  43. package/dist/html/plainHtmlBundle.js +357 -0
  44. package/dist/html/plainHtmlBundle.js.map +1 -0
  45. package/dist/pptx/export.d.ts.map +1 -1
  46. package/dist/pptx/export.js +10 -8
  47. package/dist/pptx/export.js.map +1 -1
  48. package/package.json +3 -2
  49. package/src/__tests__/html.test.ts +82 -4
  50. package/src/__tests__/pdfExport.test.ts +1 -1
  51. package/src/__tests__/plainHtml.test.ts +372 -0
  52. package/src/__tests__/plainHtmlBundle.test.ts +235 -0
  53. package/src/docx/export.ts +163 -22
  54. package/src/epub/export.ts +3 -3
  55. package/src/html/docsHtmlBundle.ts +369 -0
  56. package/src/html/htmlTemplate.ts +40 -0
  57. package/src/html/index.ts +32 -3
  58. package/src/html/plainHtml.ts +736 -0
  59. package/src/html/plainHtmlBundle.ts +419 -0
  60. package/src/pptx/export.ts +10 -9
  61. package/dist/chunk-EUQQYBZZ.js.map +0 -1
  62. package/dist/chunk-MEZF76JA.js.map +0 -1
  63. package/dist/chunk-NGWHV77G.js.map +0 -1
  64. package/dist/chunk-UM5V2XZG.js +0 -242
  65. package/dist/chunk-UM5V2XZG.js.map +0 -1
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Recursive plain-HTML bundle export.
3
+ *
4
+ * `markdownDocsToPlainHtmlBundle` starts from a single entry markdown
5
+ * file, walks its relative `[…](other.md)` links, recursively pulls in
6
+ * any sibling/child documents (scope-limited to the entry doc's
7
+ * directory tree), renders every visited file via
8
+ * `markdownDocToPlainHtml`, rewrites cross-doc references from `.md`
9
+ * to `.html`, and ships everything as a single ZIP.
10
+ *
11
+ * The function is provider-agnostic — callers pass `readDocument` and
12
+ * `readBinary` callbacks that resolve relative paths against whatever
13
+ * storage they use (`FileSystemContentContainer`, `MemoryContent-
14
+ * Container`, in-memory map for tests, …). Failure to read any
15
+ * discovered file aborts the whole export with a thrown error.
16
+ */
17
+ import type { MarkdownDocument } from '@bendyline/squisq/markdown';
18
+ import type { Theme } from '@bendyline/squisq/schemas';
19
+ export interface PlainHtmlBundleOptions {
20
+ /** Entry document path relative to the container root (e.g. `'home.md'`). */
21
+ entryPath: string;
22
+ /** Reads a UTF-8 markdown file from the container. Returns null when absent. */
23
+ readDocument: (path: string) => Promise<string | null>;
24
+ /** Reads a binary asset (image) from the container. Returns null when absent. */
25
+ readBinary: (path: string) => Promise<ArrayBuffer | null>;
26
+ /** Optional document title for the entry. Others derive from filename. */
27
+ title?: string;
28
+ /** Optional theme applied uniformly to every page. Overrides {@link themeId}. */
29
+ theme?: Theme;
30
+ /**
31
+ * Optional theme id (e.g. `'warm-earth'`, `'gezellig'`). Resolved via
32
+ * `resolveTheme` and applied to every page. Convenient for callers
33
+ * that track themes by id (like the host export dialog) without
34
+ * having to resolve to a `Theme` object first. When both `theme` and
35
+ * `themeId` are supplied, `theme` wins.
36
+ */
37
+ themeId?: string;
38
+ /** Maximum recursion depth (default: unlimited; cycles always handled). */
39
+ maxDepth?: number;
40
+ /**
41
+ * Emit the entry doc as `index.html` (preserving its parent directory)
42
+ * instead of `<basename>.html`. Cross-doc links pointing at the entry
43
+ * also rewrite to `index.html`, so a sibling `resume.md → home.md`
44
+ * link doesn't 404 after the rename. Convenient for static-site
45
+ * deploys where the landing page must be named `index.html`.
46
+ * Default: false.
47
+ */
48
+ entryAsIndex?: boolean;
49
+ }
50
+ /**
51
+ * Render an entry markdown document and every reachable sibling/child
52
+ * `.md` document it links to, bundled as a single ZIP with plain-HTML
53
+ * pages, per-document asset folders, and cross-doc `<a href>`
54
+ * references rewritten from `.md` to `.html`.
55
+ */
56
+ export declare function markdownDocsToPlainHtmlBundle(options: PlainHtmlBundleOptions): Promise<Blob>;
57
+ /**
58
+ * Collect every `<a>`-style link URL referenced in a document. Markdown
59
+ * `link` nodes plus any raw HTML `<a href>` tags. Returns the raw URLs
60
+ * as authored, so callers can use them as both the linkMap *key* and
61
+ * the basis for resolution.
62
+ */
63
+ export declare function collectLinkRefs(doc: MarkdownDocument): Set<string>;
64
+ /**
65
+ * Strip a path to its parent directory (POSIX-style). Returns `''`
66
+ * for root-level files so subsequent joins read like a fresh path.
67
+ */
68
+ export declare function posixDirname(p: string): string;
69
+ /**
70
+ * Normalize a POSIX path: collapse `./`, resolve `..`, drop trailing
71
+ * slashes, never produce a leading `/`. Returns null when the path
72
+ * escapes the start ("..").
73
+ */
74
+ export declare function normalizePath(p: string): string | null;
75
+ /**
76
+ * Resolve `rel` against `baseDir`. Returns null when the result
77
+ * escapes the container root via `..`.
78
+ */
79
+ export declare function resolveRelative(baseDir: string, rel: string): string | null;
80
+ /**
81
+ * True when `target` is inside `root` (or equal to it). Empty root
82
+ * means "entire container is in scope".
83
+ */
84
+ export declare function isInScope(target: string, root: string): boolean;
85
+ /**
86
+ * Compute a relative path from `fromDir` to `toPath` (both POSIX-
87
+ * normalized, container-relative). Used to emit hrefs that work after
88
+ * unzipping anywhere — `home.md → subfolder/notes.md` becomes
89
+ * `subfolder/notes.html`; `subfolder/intro.md → resume.md` becomes
90
+ * `../resume.html`.
91
+ */
92
+ export declare function relativeFrom(fromDir: string, toPath: string): string;
93
+ //# sourceMappingURL=plainHtmlBundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plainHtmlBundle.d.ts","sourceRoot":"","sources":["../../src/html/plainHtmlBundle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAY,MAAM,4BAA4B,CAAC;AAC7E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAMvD,MAAM,WAAW,sBAAsB;IACrC,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACvD,iFAAiF;IACjF,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC1D,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAID;;;;;GAKG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC,CA+Gf;AAID;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC,CA8BlE;AAuGD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAG9C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAatD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI3E;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAG/D;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAgBpE"}
@@ -0,0 +1,357 @@
1
+ /**
2
+ * Recursive plain-HTML bundle export.
3
+ *
4
+ * `markdownDocsToPlainHtmlBundle` starts from a single entry markdown
5
+ * file, walks its relative `[…](other.md)` links, recursively pulls in
6
+ * any sibling/child documents (scope-limited to the entry doc's
7
+ * directory tree), renders every visited file via
8
+ * `markdownDocToPlainHtml`, rewrites cross-doc references from `.md`
9
+ * to `.html`, and ships everything as a single ZIP.
10
+ *
11
+ * The function is provider-agnostic — callers pass `readDocument` and
12
+ * `readBinary` callbacks that resolve relative paths against whatever
13
+ * storage they use (`FileSystemContentContainer`, `MemoryContent-
14
+ * Container`, in-memory map for tests, …). Failure to read any
15
+ * discovered file aborts the whole export with a thrown error.
16
+ */
17
+ import JSZip from 'jszip';
18
+ import { parseMarkdown, inferDocumentTitle } from '@bendyline/squisq/markdown';
19
+ import { resolveTheme } from '@bendyline/squisq/schemas';
20
+ import { markdownDocToPlainHtml } from './plainHtml.js';
21
+ // ── Public API ─────────────────────────────────────────────────────
22
+ /**
23
+ * Render an entry markdown document and every reachable sibling/child
24
+ * `.md` document it links to, bundled as a single ZIP with plain-HTML
25
+ * pages, per-document asset folders, and cross-doc `<a href>`
26
+ * references rewritten from `.md` to `.html`.
27
+ */
28
+ export async function markdownDocsToPlainHtmlBundle(options) {
29
+ const { entryPath, readDocument, readBinary, title, theme, themeId, maxDepth = Infinity, entryAsIndex = false, } = options;
30
+ const resolvedTheme = theme ?? (themeId ? resolveTheme(themeId) : undefined);
31
+ const entry = normalizePath(entryPath);
32
+ if (!entry) {
33
+ throw new Error('markdownDocsToPlainHtmlBundle: entryPath is required');
34
+ }
35
+ const scopeRoot = posixDirname(entry); // '' for root-level files
36
+ // When `entryAsIndex`, the entry doc writes to `<entryDir>/index.html`
37
+ // and every cross-doc link pointing at it rewrites to that path too.
38
+ // Other docs keep the `<basename>.html` convention.
39
+ const entryHtmlPath = entryAsIndex
40
+ ? scopeRoot
41
+ ? `${scopeRoot}/index.html`
42
+ : 'index.html'
43
+ : entry.slice(0, -3) + '.html';
44
+ const htmlPathFor = (mdPath) => mdPath === entry ? entryHtmlPath : mdPath.slice(0, -3) + '.html';
45
+ const zip = new JSZip();
46
+ const visited = new Set();
47
+ const queue = [{ path: entry, depth: 0 }];
48
+ while (queue.length > 0) {
49
+ const { path, depth } = queue.shift();
50
+ if (visited.has(path))
51
+ continue;
52
+ visited.add(path);
53
+ const source = await readDocument(path);
54
+ if (source === null) {
55
+ throw new Error(`markdownDocsToPlainHtmlBundle: failed to read "${path}"`);
56
+ }
57
+ const mdDoc = parseMarkdown(source);
58
+ // Discover this doc's relative .md links — both for enqueueing new
59
+ // targets and for building the per-doc link rewrite map. We resolve
60
+ // each link to a canonical container-relative path so the same doc
61
+ // referenced two different ways (./resume.md vs resume.md) is
62
+ // visited once and rewritten consistently.
63
+ const docDir = posixDirname(path);
64
+ const linkMap = new Map();
65
+ for (const raw of collectLinkRefs(mdDoc)) {
66
+ const parsed = parseLinkRef(raw);
67
+ if (!parsed)
68
+ continue;
69
+ const resolved = resolveRelative(docDir, parsed.path);
70
+ if (resolved === null)
71
+ continue; // escaped via ..
72
+ if (!isInScope(resolved, scopeRoot))
73
+ continue;
74
+ if (!resolved.toLowerCase().endsWith('.md'))
75
+ continue;
76
+ // Compute the .html replacement relative to the current doc so
77
+ // the rewritten href stays local (e.g. `subdir/notes.html`, not
78
+ // an absolute container path). `htmlPathFor` also handles the
79
+ // entry-as-index case so a sibling linking to the entry lands
80
+ // on `index.html` after rename.
81
+ const htmlTarget = htmlPathFor(resolved);
82
+ const relHref = relativeFrom(docDir, htmlTarget) + parsed.fragment;
83
+ linkMap.set(raw, relHref);
84
+ if (depth + 1 <= maxDepth && !visited.has(resolved)) {
85
+ queue.push({ path: resolved, depth: depth + 1 });
86
+ }
87
+ }
88
+ // Walk images, fetch each one, write at the original relative path
89
+ // resolved against the container root (so `resume_files/hero.png`
90
+ // sits next to `resume.html` in the zip). Failures here are *not*
91
+ // fatal — images can be missing without breaking the document
92
+ // structure — but we surface them as console warnings.
93
+ const images = await readImagesForDoc(mdDoc, docDir, readBinary);
94
+ for (const [, { data, zipPath }] of images) {
95
+ const safe = sanitizeZipPath(zipPath);
96
+ if (!safe)
97
+ continue;
98
+ zip.file(safe, data);
99
+ }
100
+ // Render the document. The image rewrite map keys are the URLs
101
+ // exactly as authored (so `markdownDocToPlainHtml` can match them
102
+ // verbatim), and the values are paths relative to the rendered
103
+ // doc's own location — so `<img src>` works after unzip without
104
+ // any post-processing.
105
+ const imageRewriteMap = new Map();
106
+ for (const [authored, { zipPath }] of images) {
107
+ imageRewriteMap.set(authored, relativeFrom(docDir, zipPath));
108
+ }
109
+ const docTitle = depth === 0 ? title : undefined;
110
+ const html = markdownDocToPlainHtml(mdDoc, {
111
+ title: docTitle ?? titleForFilename(path, mdDoc),
112
+ images: imageRewriteMap,
113
+ links: linkMap,
114
+ theme: resolvedTheme,
115
+ });
116
+ const htmlPath = htmlPathFor(path);
117
+ zip.file(htmlPath, html);
118
+ }
119
+ return zip.generateAsync({
120
+ type: 'blob',
121
+ compression: 'DEFLATE',
122
+ compressionOptions: { level: 6 },
123
+ });
124
+ }
125
+ // ── Link discovery ─────────────────────────────────────────────────
126
+ /**
127
+ * Collect every `<a>`-style link URL referenced in a document. Markdown
128
+ * `link` nodes plus any raw HTML `<a href>` tags. Returns the raw URLs
129
+ * as authored, so callers can use them as both the linkMap *key* and
130
+ * the basis for resolution.
131
+ */
132
+ export function collectLinkRefs(doc) {
133
+ const refs = new Set();
134
+ function visitHtml(nodes) {
135
+ for (const n of nodes) {
136
+ if (n.type !== 'htmlElement')
137
+ continue;
138
+ if (n.tagName.toLowerCase() === 'a') {
139
+ const href = n.attributes.href;
140
+ if (typeof href === 'string' && href)
141
+ refs.add(href);
142
+ }
143
+ visitHtml(n.children);
144
+ }
145
+ }
146
+ function visit(node) {
147
+ if (!node || typeof node !== 'object')
148
+ return;
149
+ const n = node;
150
+ if (n.type === 'link' && typeof n.url === 'string' && n.url) {
151
+ refs.add(n.url);
152
+ }
153
+ if ((n.type === 'htmlBlock' || n.type === 'htmlInline') && Array.isArray(n.htmlChildren)) {
154
+ visitHtml(n.htmlChildren);
155
+ }
156
+ if (Array.isArray(n.children)) {
157
+ for (const child of n.children)
158
+ visit(child);
159
+ }
160
+ }
161
+ for (const child of doc.children)
162
+ visit(child);
163
+ return refs;
164
+ }
165
+ function collectImageRefs(doc) {
166
+ const refs = new Set();
167
+ function visitHtml(nodes) {
168
+ for (const n of nodes) {
169
+ if (n.type !== 'htmlElement')
170
+ continue;
171
+ const tag = n.tagName.toLowerCase();
172
+ // <img>/<video>/<audio>/<source> all reference media via `src`;
173
+ // we feed them into the same `images` map (effectively a generic
174
+ // media map — see header comment) so the export pipeline rewrites
175
+ // and bundles each one the same way.
176
+ if (tag === 'img' || tag === 'video' || tag === 'audio' || tag === 'source') {
177
+ const src = n.attributes.src;
178
+ if (typeof src === 'string' && src)
179
+ refs.add(src);
180
+ }
181
+ if (tag === 'video' || tag === 'audio') {
182
+ const poster = n.attributes.poster;
183
+ if (typeof poster === 'string' && poster)
184
+ refs.add(poster);
185
+ }
186
+ visitHtml(n.children);
187
+ }
188
+ }
189
+ function visit(node) {
190
+ if (!node || typeof node !== 'object')
191
+ return;
192
+ const n = node;
193
+ if (n.type === 'image' && typeof n.url === 'string' && n.url)
194
+ refs.add(n.url);
195
+ if ((n.type === 'htmlBlock' || n.type === 'htmlInline') && Array.isArray(n.htmlChildren)) {
196
+ visitHtml(n.htmlChildren);
197
+ }
198
+ if (Array.isArray(n.children))
199
+ for (const c of n.children)
200
+ visit(c);
201
+ }
202
+ for (const child of doc.children)
203
+ visit(child);
204
+ return refs;
205
+ }
206
+ /**
207
+ * Split an authored URL into path + fragment, returning null for
208
+ * external / non-document references (http(s), mailto, data, blob,
209
+ * absolute paths, fragment-only). The fragment is preserved so a
210
+ * link like `resume.md#experience` rewrites cleanly to
211
+ * `resume.html#experience`.
212
+ */
213
+ function parseLinkRef(url) {
214
+ if (!url)
215
+ return null;
216
+ if (url.startsWith('#'))
217
+ return null; // intra-doc anchor
218
+ if (/^[a-z][a-z0-9+.-]*:/.test(url) || // http:, https:, mailto:, ftp:, …
219
+ url.startsWith('//') ||
220
+ url.startsWith('/')) {
221
+ return null;
222
+ }
223
+ const hashIdx = url.indexOf('#');
224
+ const queryIdx = url.indexOf('?');
225
+ const cut = hashIdx >= 0 && queryIdx >= 0 ? Math.min(hashIdx, queryIdx) : hashIdx >= 0 ? hashIdx : queryIdx;
226
+ const path = cut >= 0 ? url.slice(0, cut) : url;
227
+ const fragment = hashIdx >= 0 ? url.slice(hashIdx) : '';
228
+ return { path, fragment };
229
+ }
230
+ // ── Image gathering ────────────────────────────────────────────────
231
+ /**
232
+ * Resolve every image referenced by a document to container-relative
233
+ * paths and fetch their bytes. The returned map keys are the authored
234
+ * URLs (so the renderer's `images` map can substitute them); the values
235
+ * are tuples of `[bytes, zipPath]` where `zipPath` is the path used
236
+ * inside the zip.
237
+ *
238
+ * Images that can't be read are silently dropped — the rendered HTML
239
+ * will keep its `<img src>` pointing at the authored URL, which a
240
+ * reader's browser will 404. That matches the user-facing "abort on
241
+ * missing linked doc" rule which applies to `.md` links only.
242
+ */
243
+ async function readImagesForDoc(mdDoc, docDir, readBinary) {
244
+ const out = new Map();
245
+ for (const authored of collectImageRefs(mdDoc)) {
246
+ if (/^[a-z][a-z0-9+.-]*:/.test(authored) || authored.startsWith('//'))
247
+ continue;
248
+ const cleanAuthored = authored.replace(/[#?].*$/, '');
249
+ const resolved = resolveRelative(docDir, cleanAuthored);
250
+ if (resolved === null)
251
+ continue;
252
+ const data = await readBinary(resolved);
253
+ if (!data)
254
+ continue;
255
+ out.set(authored, { data, zipPath: resolved });
256
+ }
257
+ return out;
258
+ }
259
+ // ── Path helpers (POSIX-style, no Node `path`) ─────────────────────
260
+ /**
261
+ * Strip a path to its parent directory (POSIX-style). Returns `''`
262
+ * for root-level files so subsequent joins read like a fresh path.
263
+ */
264
+ export function posixDirname(p) {
265
+ const idx = p.lastIndexOf('/');
266
+ return idx < 0 ? '' : p.slice(0, idx);
267
+ }
268
+ /**
269
+ * Normalize a POSIX path: collapse `./`, resolve `..`, drop trailing
270
+ * slashes, never produce a leading `/`. Returns null when the path
271
+ * escapes the start ("..").
272
+ */
273
+ export function normalizePath(p) {
274
+ const parts = p.split('/');
275
+ const out = [];
276
+ for (const segment of parts) {
277
+ if (segment === '' || segment === '.')
278
+ continue;
279
+ if (segment === '..') {
280
+ if (out.length === 0)
281
+ return null;
282
+ out.pop();
283
+ continue;
284
+ }
285
+ out.push(segment);
286
+ }
287
+ return out.join('/');
288
+ }
289
+ /**
290
+ * Resolve `rel` against `baseDir`. Returns null when the result
291
+ * escapes the container root via `..`.
292
+ */
293
+ export function resolveRelative(baseDir, rel) {
294
+ if (rel.startsWith('/'))
295
+ return null; // absolute paths are out of scope
296
+ const joined = baseDir ? `${baseDir}/${rel}` : rel;
297
+ return normalizePath(joined);
298
+ }
299
+ /**
300
+ * True when `target` is inside `root` (or equal to it). Empty root
301
+ * means "entire container is in scope".
302
+ */
303
+ export function isInScope(target, root) {
304
+ if (!root)
305
+ return true;
306
+ return target === root || target.startsWith(root + '/');
307
+ }
308
+ /**
309
+ * Compute a relative path from `fromDir` to `toPath` (both POSIX-
310
+ * normalized, container-relative). Used to emit hrefs that work after
311
+ * unzipping anywhere — `home.md → subfolder/notes.md` becomes
312
+ * `subfolder/notes.html`; `subfolder/intro.md → resume.md` becomes
313
+ * `../resume.html`.
314
+ */
315
+ export function relativeFrom(fromDir, toPath) {
316
+ const fromParts = fromDir ? fromDir.split('/') : [];
317
+ const toParts = toPath.split('/');
318
+ let common = 0;
319
+ while (common < fromParts.length &&
320
+ common < toParts.length - 1 &&
321
+ fromParts[common] === toParts[common]) {
322
+ common++;
323
+ }
324
+ const up = fromParts.length - common;
325
+ const down = toParts.slice(common);
326
+ const prefix = Array(up).fill('..').join('/');
327
+ if (!prefix)
328
+ return down.join('/');
329
+ return `${prefix}/${down.join('/')}`;
330
+ }
331
+ /**
332
+ * Sanitize a path for use as a zip entry. Strips leading slashes,
333
+ * normalizes backslashes (Windows-authored paths), and rejects any
334
+ * path containing `..` segments after normalization (defensive — the
335
+ * resolver above already filters those out for links).
336
+ */
337
+ function sanitizeZipPath(path) {
338
+ const normalized = path.replace(/\\/g, '/').replace(/^\/+/, '');
339
+ if (!normalized)
340
+ return null;
341
+ if (normalized.split('/').some((seg) => seg === '..'))
342
+ return null;
343
+ return normalized;
344
+ }
345
+ /**
346
+ * Derive a default page title for a non-entry doc: prefer frontmatter
347
+ * `title`, fall back to the shallowest heading text, then the filename
348
+ * without extension.
349
+ */
350
+ function titleForFilename(path, mdDoc) {
351
+ const inferred = inferDocumentTitle(mdDoc);
352
+ if (inferred)
353
+ return inferred;
354
+ const base = path.split('/').pop() ?? path;
355
+ return base.replace(/\.md$/i, '');
356
+ }
357
+ //# sourceMappingURL=plainHtmlBundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plainHtmlBundle.js","sourceRoot":"","sources":["../../src/html/plainHtmlBundle.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/pptx/export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAIrD,OAAO,KAAK,EACV,gBAAgB,EAejB,MAAM,4BAA4B,CAAC;AAgDpC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,gBAAgB,EACrB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,WAAW,CAAC,CA0BtB;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,CAO/F"}
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/pptx/export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAIrD,OAAO,KAAK,EACV,gBAAgB,EAejB,MAAM,4BAA4B,CAAC;AAiDpC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,gBAAgB,EACrB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,WAAW,CAAC,CA0BtB;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,CAO/F"}
@@ -26,8 +26,9 @@
26
26
  * const blob = await markdownDocToPptx(md, { themeId: 'documentary' });
27
27
  * ```
28
28
  */
29
- import { resolveTheme } from '@bendyline/squisq/schemas';
29
+ import { resolveTheme, resolveFontFamily } from '@bendyline/squisq/schemas';
30
30
  import { docToMarkdown } from '@bendyline/squisq/doc';
31
+ import { readFrontmatterThemeId } from '@bendyline/squisq/markdown';
31
32
  import { createPackage } from '../ooxml/writer.js';
32
33
  import { xmlDeclaration, escapeXml } from '../ooxml/xmlUtils.js';
33
34
  import { NS_PML, NS_DRAWINGML, NS_R, REL_OFFICE_DOCUMENT, REL_SLIDE, REL_SLIDE_LAYOUT, REL_SLIDE_MASTER, REL_THEME, REL_HYPERLINK, REL_IMAGE, CONTENT_TYPE_PPTX_PRESENTATION, CONTENT_TYPE_PPTX_SLIDE, CONTENT_TYPE_PPTX_SLIDE_LAYOUT, CONTENT_TYPE_PPTX_SLIDE_MASTER, CONTENT_TYPE_PPTX_THEME, } from '../ooxml/namespaces.js';
@@ -37,10 +38,11 @@ import { buildPresentationXml, buildSlideMasterXml, buildSlideLayoutXml, buildTh
37
38
  * Convert a MarkdownDocument to a .pptx ArrayBuffer.
38
39
  */
39
40
  export async function markdownDocToPptx(doc, options = {}) {
40
- // Resolve theme from options or frontmatter
41
- const themeId = options.themeId ??
42
- doc.frontmatter?.themeId ??
43
- doc.frontmatter?.theme;
41
+ // Resolve theme from options or frontmatter. The frontmatter lookup
42
+ // accepts the editor's canonical `squisq-theme` key as well as the
43
+ // shorter legacy `themeId` / `theme` aliases — see
44
+ // `readFrontmatterThemeId` for the precedence.
45
+ const themeId = options.themeId ?? readFrontmatterThemeId(doc.frontmatter);
44
46
  const style = resolveSlideStyle(themeId, options);
45
47
  const slides = segmentIntoSlides(doc.children, options.slideBreak ?? 'h2');
46
48
  // Ensure at least one slide
@@ -91,9 +93,9 @@ function resolveSlideStyle(themeId, options) {
91
93
  text: stripHash(c.text),
92
94
  titleColor: stripHash(c.highlight || c.secondary || c.text),
93
95
  mutedColor: stripHash(c.textMuted || c.text),
94
- titleFont: theme.typography?.titleFontFamily || DEFAULT_TITLE_FONT,
95
- bodyFont: theme.typography?.bodyFontFamily || options.defaultFont || DEFAULT_FONT,
96
- codeFont: theme.typography?.monoFontFamily || DEFAULT_CODE_FONT,
96
+ titleFont: resolveFontFamily(theme.typography?.titleFont, DEFAULT_TITLE_FONT),
97
+ bodyFont: resolveFontFamily(theme.typography?.bodyFont, options.defaultFont || DEFAULT_FONT),
98
+ codeFont: resolveFontFamily(theme.typography?.monoFont, DEFAULT_CODE_FONT),
97
99
  codeColor: stripHash(c.textMuted || c.text),
98
100
  hasTheme: true,
99
101
  };
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/pptx/export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/pptx/export.ts"],"names":[],"mappings":"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"}