@bendyline/squisq-formats 1.2.3 → 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.
- package/dist/__tests__/html.test.js +78 -4
- package/dist/__tests__/html.test.js.map +1 -1
- package/dist/__tests__/pdfExport.test.js +1 -1
- package/dist/__tests__/pdfExport.test.js.map +1 -1
- package/dist/__tests__/plainHtml.test.d.ts +5 -0
- package/dist/__tests__/plainHtml.test.d.ts.map +1 -0
- package/dist/__tests__/plainHtml.test.js +327 -0
- package/dist/__tests__/plainHtml.test.js.map +1 -0
- package/dist/__tests__/plainHtmlBundle.test.d.ts +11 -0
- package/dist/__tests__/plainHtmlBundle.test.d.ts.map +1 -0
- package/dist/__tests__/plainHtmlBundle.test.js +210 -0
- package/dist/__tests__/plainHtmlBundle.test.js.map +1 -0
- package/dist/chunk-33YRFXZZ.js +1187 -0
- package/dist/chunk-33YRFXZZ.js.map +1 -0
- package/dist/{chunk-EUQQYBZZ.js → chunk-ERZ627GR.js} +4 -4
- package/dist/chunk-ERZ627GR.js.map +1 -0
- package/dist/{chunk-MEZF76JA.js → chunk-UDS45KUJ.js} +68 -25
- package/dist/chunk-UDS45KUJ.js.map +1 -0
- package/dist/{chunk-NGWHV77G.js → chunk-VN2KEOYB.js} +7 -6
- package/dist/chunk-VN2KEOYB.js.map +1 -0
- package/dist/docx/export.d.ts.map +1 -1
- package/dist/docx/export.js +153 -22
- package/dist/docx/export.js.map +1 -1
- package/dist/epub/export.js +3 -3
- package/dist/epub/export.js.map +1 -1
- package/dist/html/docsHtmlBundle.d.ts +53 -0
- package/dist/html/docsHtmlBundle.d.ts.map +1 -0
- package/dist/html/docsHtmlBundle.js +299 -0
- package/dist/html/docsHtmlBundle.js.map +1 -0
- package/dist/html/htmlTemplate.d.ts.map +1 -1
- package/dist/html/htmlTemplate.js +43 -0
- package/dist/html/htmlTemplate.js.map +1 -1
- package/dist/html/index.d.ts +6 -0
- package/dist/html/index.d.ts.map +1 -1
- package/dist/html/index.js +31 -3
- package/dist/html/index.js.map +1 -1
- package/dist/html/plainHtml.d.ts +79 -0
- package/dist/html/plainHtml.d.ts.map +1 -0
- package/dist/html/plainHtml.js +614 -0
- package/dist/html/plainHtml.js.map +1 -0
- package/dist/html/plainHtmlBundle.d.ts +93 -0
- package/dist/html/plainHtmlBundle.d.ts.map +1 -0
- package/dist/html/plainHtmlBundle.js +357 -0
- package/dist/html/plainHtmlBundle.js.map +1 -0
- package/dist/pptx/export.d.ts.map +1 -1
- package/dist/pptx/export.js +10 -8
- package/dist/pptx/export.js.map +1 -1
- package/package.json +3 -2
- package/src/__tests__/html.test.ts +82 -4
- package/src/__tests__/pdfExport.test.ts +1 -1
- package/src/__tests__/plainHtml.test.ts +372 -0
- package/src/__tests__/plainHtmlBundle.test.ts +235 -0
- package/src/docx/export.ts +163 -22
- package/src/epub/export.ts +3 -3
- package/src/html/docsHtmlBundle.ts +369 -0
- package/src/html/htmlTemplate.ts +40 -0
- package/src/html/index.ts +32 -3
- package/src/html/plainHtml.ts +736 -0
- package/src/html/plainHtmlBundle.ts +419 -0
- package/src/pptx/export.ts +10 -9
- package/dist/chunk-EUQQYBZZ.js.map +0 -1
- package/dist/chunk-MEZF76JA.js.map +0 -1
- package/dist/chunk-NGWHV77G.js.map +0 -1
- package/dist/chunk-UM5V2XZG.js +0 -242
- 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;
|
|
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"}
|
package/dist/pptx/export.js
CHANGED
|
@@ -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
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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?.
|
|
95
|
-
bodyFont: theme.typography?.
|
|
96
|
-
codeFont: theme.typography?.
|
|
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
|
};
|
package/dist/pptx/export.js.map
CHANGED
|
@@ -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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"}
|