@bendyline/squisq-cli 1.1.1 → 1.1.3
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-export.test.d.ts +8 -0
- package/dist/__tests__/html-export.test.d.ts.map +1 -0
- package/dist/__tests__/html-export.test.js +126 -0
- package/dist/__tests__/html-export.test.js.map +1 -0
- package/dist/commands/convert.js +64 -11
- package/dist/commands/convert.js.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html-export.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/html-export.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTML export integration tests
|
|
3
|
+
*
|
|
4
|
+
* Validates that standalone HTML and HTML ZIP exports correctly embed images
|
|
5
|
+
* and that the player can resolve and display them.
|
|
6
|
+
*/
|
|
7
|
+
import { describe, it, before, after } from 'mocha';
|
|
8
|
+
import { expect } from 'chai';
|
|
9
|
+
import { execFile } from 'node:child_process';
|
|
10
|
+
import { promisify } from 'node:util';
|
|
11
|
+
import { readFile, mkdir, rm, stat, writeFile } from 'node:fs/promises';
|
|
12
|
+
import { join } from 'node:path';
|
|
13
|
+
import { tmpdir } from 'node:os';
|
|
14
|
+
import { containerToZip } from '@bendyline/squisq-formats/container';
|
|
15
|
+
import { MemoryContentContainer } from '@bendyline/squisq/storage';
|
|
16
|
+
const exec = promisify(execFile);
|
|
17
|
+
const CLI_PATH = join(import.meta.dirname, '..', '..', 'dist', 'index.js');
|
|
18
|
+
/** Create a minimal 1x1 red PNG (68 bytes). */
|
|
19
|
+
function createTestPng() {
|
|
20
|
+
// Minimal valid PNG: 1x1 pixel, red (#FF0000), RGBA
|
|
21
|
+
const png = Buffer.from('89504e470d0a1a0a' + // PNG signature
|
|
22
|
+
'0000000d49484452' + // IHDR chunk length + type
|
|
23
|
+
'00000001' + // width: 1
|
|
24
|
+
'00000001' + // height: 1
|
|
25
|
+
'08020000009001' + // bit depth 8, color type 2 (RGB), compression/filter/interlace
|
|
26
|
+
'2e00' + // CRC
|
|
27
|
+
'0000000c49444154' + // IDAT chunk length + type
|
|
28
|
+
'08d763f86f0000' + // compressed data (1 red pixel)
|
|
29
|
+
'00020001e221bc33' + // CRC
|
|
30
|
+
'0000000049454e44ae426082', // IEND
|
|
31
|
+
'hex');
|
|
32
|
+
return png;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Run the CLI with the given args.
|
|
36
|
+
*/
|
|
37
|
+
async function runCli(...args) {
|
|
38
|
+
return exec('node', [CLI_PATH, ...args], { timeout: 60000 });
|
|
39
|
+
}
|
|
40
|
+
describe('HTML export with images', () => {
|
|
41
|
+
let tempDir;
|
|
42
|
+
let containerPath;
|
|
43
|
+
before(async () => {
|
|
44
|
+
tempDir = join(tmpdir(), `squisq-html-export-${Date.now()}`);
|
|
45
|
+
await mkdir(tempDir, { recursive: true });
|
|
46
|
+
// Create a container with markdown + image
|
|
47
|
+
const container = new MemoryContentContainer();
|
|
48
|
+
const md = [
|
|
49
|
+
'# Image Test',
|
|
50
|
+
'',
|
|
51
|
+
'A document with images.',
|
|
52
|
+
'',
|
|
53
|
+
'## Hero Section {[imageWithCaption]}',
|
|
54
|
+
'',
|
|
55
|
+
'',
|
|
56
|
+
'',
|
|
57
|
+
'Some text after the image.',
|
|
58
|
+
'',
|
|
59
|
+
'## Second Section {[sectionHeader]}',
|
|
60
|
+
'',
|
|
61
|
+
'More content.',
|
|
62
|
+
'',
|
|
63
|
+
].join('\n');
|
|
64
|
+
await container.writeDocument(md);
|
|
65
|
+
await container.writeFile('test-image.png', createTestPng(), 'image/png');
|
|
66
|
+
const blob = await containerToZip(container);
|
|
67
|
+
const buf = Buffer.from(await blob.arrayBuffer());
|
|
68
|
+
containerPath = join(tempDir, 'test-doc.dbk');
|
|
69
|
+
await writeFile(containerPath, buf);
|
|
70
|
+
});
|
|
71
|
+
after(async () => {
|
|
72
|
+
await rm(tempDir, { recursive: true, force: true });
|
|
73
|
+
});
|
|
74
|
+
it('standalone HTML embeds image as base64 data URI', async () => {
|
|
75
|
+
const outDir = join(tempDir, 'html-out');
|
|
76
|
+
await mkdir(outDir, { recursive: true });
|
|
77
|
+
const { stderr } = await runCli('convert', containerPath, '-o', outDir, '-f', 'html');
|
|
78
|
+
expect(stderr).to.include('Done.');
|
|
79
|
+
const htmlPath = join(outDir, 'test-doc.html');
|
|
80
|
+
const info = await stat(htmlPath);
|
|
81
|
+
expect(info.size).to.be.greaterThan(0);
|
|
82
|
+
const html = await readFile(htmlPath, 'utf-8');
|
|
83
|
+
// Verify the HTML contains the SquisqPlayer
|
|
84
|
+
expect(html).to.include('SquisqPlayer');
|
|
85
|
+
expect(html).to.include('squisq-root');
|
|
86
|
+
// Verify the image is embedded as base64
|
|
87
|
+
expect(html).to.include('data:image/png;base64,');
|
|
88
|
+
// Verify the image map contains a reference to our image
|
|
89
|
+
expect(html).to.include('test-image.png');
|
|
90
|
+
});
|
|
91
|
+
it('HTML ZIP contains image file and references it', async () => {
|
|
92
|
+
const outDir = join(tempDir, 'htmlzip-out');
|
|
93
|
+
await mkdir(outDir, { recursive: true });
|
|
94
|
+
const { stderr } = await runCli('convert', containerPath, '-o', outDir, '-f', 'htmlzip');
|
|
95
|
+
expect(stderr).to.include('Done.');
|
|
96
|
+
const zipPath = join(outDir, 'test-doc.html.zip');
|
|
97
|
+
const info = await stat(zipPath);
|
|
98
|
+
expect(info.size).to.be.greaterThan(0);
|
|
99
|
+
// Verify ZIP structure by checking it's a valid ZIP
|
|
100
|
+
const data = await readFile(zipPath);
|
|
101
|
+
expect(data[0]).to.equal(0x50); // PK magic
|
|
102
|
+
expect(data[1]).to.equal(0x4b);
|
|
103
|
+
// The ZIP should contain our image and the player JS
|
|
104
|
+
const content = data.toString('latin1');
|
|
105
|
+
expect(content).to.include('squisq-player.js');
|
|
106
|
+
expect(content).to.include('test-image.png');
|
|
107
|
+
});
|
|
108
|
+
it('standalone HTML with plain .md file also embeds images from container', async () => {
|
|
109
|
+
// Test with a folder input instead of container
|
|
110
|
+
const folderDir = join(tempDir, 'folder-input');
|
|
111
|
+
await mkdir(folderDir, { recursive: true });
|
|
112
|
+
const md = ['# Folder Test', '', '', '', 'Text content.'].join('\n');
|
|
113
|
+
await writeFile(join(folderDir, 'index.md'), md);
|
|
114
|
+
await writeFile(join(folderDir, 'test-image.png'), createTestPng());
|
|
115
|
+
const outDir = join(tempDir, 'folder-html-out');
|
|
116
|
+
await mkdir(outDir, { recursive: true });
|
|
117
|
+
const { stderr } = await runCli('convert', folderDir, '-o', outDir, '-f', 'html');
|
|
118
|
+
expect(stderr).to.include('Done.');
|
|
119
|
+
const htmlPath = join(outDir, `${folderDir.split(/[\\/]/).pop()}.html`);
|
|
120
|
+
const html = await readFile(htmlPath, 'utf-8');
|
|
121
|
+
// Image should be embedded
|
|
122
|
+
expect(html).to.include('data:image/png;base64,');
|
|
123
|
+
expect(html).to.include('test-image.png');
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
//# sourceMappingURL=html-export.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html-export.test.js","sourceRoot":"","sources":["../../src/__tests__/html-export.test.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/convert.js
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
import { writeFile, mkdir } from 'node:fs/promises';
|
|
14
14
|
import { dirname, basename, extname, join, resolve } from 'node:path';
|
|
15
15
|
import { readInput } from '../util/readInput.js';
|
|
16
|
-
const ALL_FORMATS = ['docx', 'pptx', 'pdf', 'html', 'epub', 'dbk'];
|
|
16
|
+
const ALL_FORMATS = ['docx', 'pptx', 'pdf', 'html', 'htmlzip', 'epub', 'dbk'];
|
|
17
17
|
function parseFormats(value) {
|
|
18
18
|
const requested = value.split(',').map((s) => s.trim().toLowerCase());
|
|
19
19
|
const valid = [];
|
|
@@ -114,18 +114,10 @@ async function runConvert(inputPath, opts) {
|
|
|
114
114
|
}
|
|
115
115
|
case 'html': {
|
|
116
116
|
const { markdownToDoc } = await import('@bendyline/squisq/doc');
|
|
117
|
-
const { docToHtml
|
|
117
|
+
const { docToHtml } = await import('@bendyline/squisq-formats/html');
|
|
118
118
|
const { PLAYER_BUNDLE } = await import('@bendyline/squisq-react/standalone-source');
|
|
119
119
|
const doc = markdownToDoc(exportMarkdownDoc);
|
|
120
|
-
|
|
121
|
-
const imagePaths = collectImagePaths(doc);
|
|
122
|
-
const images = new Map();
|
|
123
|
-
for (const imgPath of imagePaths) {
|
|
124
|
-
const data = await container.readFile(imgPath);
|
|
125
|
-
if (data) {
|
|
126
|
-
images.set(imgPath, data);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
120
|
+
const images = await collectImagesForHtml(doc, container);
|
|
129
121
|
const html = docToHtml(doc, {
|
|
130
122
|
playerScript: PLAYER_BUNDLE,
|
|
131
123
|
images,
|
|
@@ -136,6 +128,23 @@ async function runConvert(inputPath, opts) {
|
|
|
136
128
|
await writeFile(outPath, html, 'utf-8');
|
|
137
129
|
break;
|
|
138
130
|
}
|
|
131
|
+
case 'htmlzip': {
|
|
132
|
+
const { markdownToDoc } = await import('@bendyline/squisq/doc');
|
|
133
|
+
const { docToHtmlZip } = await import('@bendyline/squisq-formats/html');
|
|
134
|
+
const { PLAYER_BUNDLE } = await import('@bendyline/squisq-react/standalone-source');
|
|
135
|
+
const doc = markdownToDoc(exportMarkdownDoc);
|
|
136
|
+
const images = await collectImagesForHtml(doc, container);
|
|
137
|
+
const blob = await docToHtmlZip(doc, {
|
|
138
|
+
playerScript: PLAYER_BUNDLE,
|
|
139
|
+
images,
|
|
140
|
+
title: baseName,
|
|
141
|
+
mode: 'static',
|
|
142
|
+
themeId,
|
|
143
|
+
});
|
|
144
|
+
const buf = Buffer.from(await blob.arrayBuffer());
|
|
145
|
+
await writeFile(outPath.replace(/\.htmlzip$/, '.html.zip'), buf);
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
139
148
|
case 'epub': {
|
|
140
149
|
const { markdownDocToEpub } = await import('@bendyline/squisq-formats/epub');
|
|
141
150
|
const images = await collectContainerImages(container);
|
|
@@ -192,6 +201,50 @@ async function applyTransformToMarkdown(markdownDoc, container, transformStyle,
|
|
|
192
201
|
});
|
|
193
202
|
return docToMarkdown(result.doc);
|
|
194
203
|
}
|
|
204
|
+
/**
|
|
205
|
+
* Collect images for HTML export, keying each by both its container path and
|
|
206
|
+
* its filename. The standalone player resolves by exact key first then by
|
|
207
|
+
* filename, so both keyings handle path mismatches between how the Doc
|
|
208
|
+
* references images and how they're stored in the container.
|
|
209
|
+
*
|
|
210
|
+
* Only images referenced by the Doc are included — unreferenced container
|
|
211
|
+
* images would bloat the HTML output unnecessarily.
|
|
212
|
+
*/
|
|
213
|
+
async function collectImagesForHtml(doc, container) {
|
|
214
|
+
const { collectImagePaths, extractFilename } = await import('@bendyline/squisq-formats/html');
|
|
215
|
+
const images = new Map();
|
|
216
|
+
const docPaths = collectImagePaths(doc);
|
|
217
|
+
// Try exact paths first
|
|
218
|
+
const needByFilename = new Set();
|
|
219
|
+
for (const imgPath of docPaths) {
|
|
220
|
+
const data = await container.readFile(imgPath);
|
|
221
|
+
if (data) {
|
|
222
|
+
images.set(imgPath, data);
|
|
223
|
+
const filename = extractFilename(imgPath);
|
|
224
|
+
if (filename !== imgPath)
|
|
225
|
+
images.set(filename, data);
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
needByFilename.add(extractFilename(imgPath));
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
// For any doc paths that didn't resolve, scan the container for a file
|
|
232
|
+
// with the same basename (handles "images/hero.jpg" vs "hero.jpg" mismatches).
|
|
233
|
+
if (needByFilename.size > 0) {
|
|
234
|
+
const files = await container.listFiles();
|
|
235
|
+
for (const file of files) {
|
|
236
|
+
const filename = extractFilename(file.path);
|
|
237
|
+
if (needByFilename.has(filename)) {
|
|
238
|
+
const data = await container.readFile(file.path);
|
|
239
|
+
if (data) {
|
|
240
|
+
images.set(filename, data);
|
|
241
|
+
images.set(file.path, data);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
return images;
|
|
247
|
+
}
|
|
195
248
|
/**
|
|
196
249
|
* Collect all image files from a container as a Map<path, ArrayBuffer>.
|
|
197
250
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/commands/convert.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAItE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/commands/convert.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bendyline/squisq-cli",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.3",
|
|
4
4
|
"description": "Squisq CLI — convert markdown documents to DOCX, PDF, HTML, and more",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Bendyline",
|
|
@@ -49,10 +49,10 @@
|
|
|
49
49
|
"test": "mocha"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@bendyline/squisq": "1.
|
|
53
|
-
"@bendyline/squisq-formats": "1.2.
|
|
54
|
-
"@bendyline/squisq-react": "1.
|
|
55
|
-
"@bendyline/squisq-video": "1.0.
|
|
52
|
+
"@bendyline/squisq": "1.3.0",
|
|
53
|
+
"@bendyline/squisq-formats": "1.2.3",
|
|
54
|
+
"@bendyline/squisq-react": "1.2.0",
|
|
55
|
+
"@bendyline/squisq-video": "1.0.5",
|
|
56
56
|
"commander": "12.1.0",
|
|
57
57
|
"playwright-core": "1.58.2"
|
|
58
58
|
},
|