docgen-utils 1.0.5
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 +118 -0
- package/dist/bundle.js +36086 -0
- package/dist/bundle.min.js +197 -0
- package/dist/cli.js +47432 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/packages/cli/commands/export-docs.d.ts +5 -0
- package/dist/packages/cli/commands/export-docs.d.ts.map +1 -0
- package/dist/packages/cli/commands/export-docs.js +24 -0
- package/dist/packages/cli/commands/export-docs.js.map +1 -0
- package/dist/packages/cli/commands/export-slides.d.ts +5 -0
- package/dist/packages/cli/commands/export-slides.d.ts.map +1 -0
- package/dist/packages/cli/commands/export-slides.js +86 -0
- package/dist/packages/cli/commands/export-slides.js.map +1 -0
- package/dist/packages/cli/commands/import-docx.d.ts +5 -0
- package/dist/packages/cli/commands/import-docx.d.ts.map +1 -0
- package/dist/packages/cli/commands/import-docx.js +27 -0
- package/dist/packages/cli/commands/import-docx.js.map +1 -0
- package/dist/packages/cli/commands/import-pptx.d.ts +5 -0
- package/dist/packages/cli/commands/import-pptx.d.ts.map +1 -0
- package/dist/packages/cli/commands/import-pptx.js +44 -0
- package/dist/packages/cli/commands/import-pptx.js.map +1 -0
- package/dist/packages/cli/index.d.ts +11 -0
- package/dist/packages/cli/index.d.ts.map +1 -0
- package/dist/packages/cli/index.js +103 -0
- package/dist/packages/cli/index.js.map +1 -0
- package/dist/packages/docs/common.d.ts +183 -0
- package/dist/packages/docs/common.d.ts.map +1 -0
- package/dist/packages/docs/common.js +27 -0
- package/dist/packages/docs/common.js.map +1 -0
- package/dist/packages/docs/convert.d.ts +7 -0
- package/dist/packages/docs/convert.d.ts.map +1 -0
- package/dist/packages/docs/convert.js +1399 -0
- package/dist/packages/docs/convert.js.map +1 -0
- package/dist/packages/docs/create-document.d.ts +30 -0
- package/dist/packages/docs/create-document.d.ts.map +1 -0
- package/dist/packages/docs/create-document.js +170 -0
- package/dist/packages/docs/create-document.js.map +1 -0
- package/dist/packages/docs/export.d.ts +57 -0
- package/dist/packages/docs/export.d.ts.map +1 -0
- package/dist/packages/docs/export.js +430 -0
- package/dist/packages/docs/export.js.map +1 -0
- package/dist/packages/docs/import-docx.d.ts +13 -0
- package/dist/packages/docs/import-docx.d.ts.map +1 -0
- package/dist/packages/docs/import-docx.js +2299 -0
- package/dist/packages/docs/import-docx.js.map +1 -0
- package/dist/packages/docs/parse.d.ts +6 -0
- package/dist/packages/docs/parse.d.ts.map +1 -0
- package/dist/packages/docs/parse.js +4253 -0
- package/dist/packages/docs/parse.js.map +1 -0
- package/dist/packages/shared/dom-parser-shim.d.ts +30 -0
- package/dist/packages/shared/dom-parser-shim.d.ts.map +1 -0
- package/dist/packages/shared/dom-parser-shim.js +152 -0
- package/dist/packages/shared/dom-parser-shim.js.map +1 -0
- package/dist/packages/slides/common.d.ts +325 -0
- package/dist/packages/slides/common.d.ts.map +1 -0
- package/dist/packages/slides/common.js +12 -0
- package/dist/packages/slides/common.js.map +1 -0
- package/dist/packages/slides/convert.d.ts +35 -0
- package/dist/packages/slides/convert.d.ts.map +1 -0
- package/dist/packages/slides/convert.js +308 -0
- package/dist/packages/slides/convert.js.map +1 -0
- package/dist/packages/slides/createPresentation.d.ts +51 -0
- package/dist/packages/slides/createPresentation.d.ts.map +1 -0
- package/dist/packages/slides/createPresentation.js +265 -0
- package/dist/packages/slides/createPresentation.js.map +1 -0
- package/dist/packages/slides/export.d.ts +24 -0
- package/dist/packages/slides/export.d.ts.map +1 -0
- package/dist/packages/slides/export.js +52 -0
- package/dist/packages/slides/export.js.map +1 -0
- package/dist/packages/slides/import-pptx.d.ts +13 -0
- package/dist/packages/slides/import-pptx.d.ts.map +1 -0
- package/dist/packages/slides/import-pptx.js +619 -0
- package/dist/packages/slides/import-pptx.js.map +1 -0
- package/dist/packages/slides/parse.d.ts +45 -0
- package/dist/packages/slides/parse.d.ts.map +1 -0
- package/dist/packages/slides/parse.js +1185 -0
- package/dist/packages/slides/parse.js.map +1 -0
- package/dist/packages/slides/transform.d.ts +37 -0
- package/dist/packages/slides/transform.d.ts.map +1 -0
- package/dist/packages/slides/transform.js +140 -0
- package/dist/packages/slides/transform.js.map +1 -0
- package/dist/packages/slides/vendor/VENDORING.md +58 -0
- package/dist/packages/slides/vendor/pptxgen.d.ts +805 -0
- package/dist/packages/slides/vendor/pptxgen.js +7442 -0
- package/package.json +57 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { default as exportDocx } from "./packages/docs/export";
|
|
2
|
+
export { default as importDocx } from "./packages/docs/import-docx";
|
|
3
|
+
export { addSlideFromHtml, createPresentation, } from "./packages/slides/createPresentation";
|
|
4
|
+
export { exportPptx } from "./packages/slides/export";
|
|
5
|
+
export { transformHtmlForPptx } from "./packages/slides/transform";
|
|
6
|
+
export { default as importPptx } from "./packages/slides/import-pptx";
|
|
7
|
+
export { default as PptxGenJS } from "./packages/slides/vendor/pptxgen";
|
|
8
|
+
export { default as JSZip } from "jszip";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,OAAO,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { default as exportDocx } from "./packages/docs/export";
|
|
2
|
+
export { default as importDocx } from "./packages/docs/import-docx";
|
|
3
|
+
export { addSlideFromHtml, createPresentation, } from "./packages/slides/createPresentation";
|
|
4
|
+
export { exportPptx } from "./packages/slides/export";
|
|
5
|
+
export { transformHtmlForPptx } from "./packages/slides/transform";
|
|
6
|
+
export { default as importPptx } from "./packages/slides/import-pptx";
|
|
7
|
+
export { default as PptxGenJS } from "./packages/slides/vendor/pptxgen";
|
|
8
|
+
export { default as JSZip } from "jszip";
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-docs.d.ts","sourceRoot":"","sources":["../../../../packages/cli/commands/export-docs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBhF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Export docs command - converts HTML to DOCX
|
|
3
|
+
*/
|
|
4
|
+
import * as fs from "node:fs";
|
|
5
|
+
import * as path from "node:path";
|
|
6
|
+
import { createDocxBuffer } from "../../docs/create-document";
|
|
7
|
+
export async function exportDocs(filePath, outDir) {
|
|
8
|
+
const absolutePath = path.resolve(filePath);
|
|
9
|
+
if (!fs.existsSync(absolutePath)) {
|
|
10
|
+
throw new Error(`File not found: ${absolutePath}`);
|
|
11
|
+
}
|
|
12
|
+
console.log(`Exporting to DOCX: ${filePath}`);
|
|
13
|
+
// Read the HTML file
|
|
14
|
+
const html = fs.readFileSync(absolutePath, "utf-8");
|
|
15
|
+
// Get filename for title
|
|
16
|
+
const baseName = path.basename(filePath, ".html");
|
|
17
|
+
// Create DOCX buffer
|
|
18
|
+
const buffer = await createDocxBuffer(html, { title: baseName });
|
|
19
|
+
// Write output
|
|
20
|
+
const outputPath = path.join(outDir, `${baseName}.docx`);
|
|
21
|
+
fs.writeFileSync(outputPath, buffer);
|
|
22
|
+
console.log(`Output: ${outputPath}`);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=export-docs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-docs.js","sourceRoot":"","sources":["../../../../packages/cli/commands/export-docs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,MAAc;IAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,mBAAmB,YAAY,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;IAE9C,qBAAqB;IACrB,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAEpD,yBAAyB;IACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAElD,qBAAqB;IACrB,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEjE,eAAe;IACf,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;IACzD,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAErC,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,EAAE,CAAC,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-slides.d.ts","sourceRoot":"","sources":["../../../../packages/cli/commands/export-slides.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwGrF"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Export slides command - converts HTML slides to PPTX using Playwright
|
|
3
|
+
*/
|
|
4
|
+
import * as fs from "node:fs";
|
|
5
|
+
import * as path from "node:path";
|
|
6
|
+
import { fileURLToPath } from "node:url";
|
|
7
|
+
import { chromium } from "playwright";
|
|
8
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
9
|
+
const __dirname = path.dirname(__filename);
|
|
10
|
+
export async function exportSlides(filePaths, outDir) {
|
|
11
|
+
if (filePaths.length === 0) {
|
|
12
|
+
throw new Error("No input files provided");
|
|
13
|
+
}
|
|
14
|
+
// Validate all files exist
|
|
15
|
+
const absolutePaths = [];
|
|
16
|
+
for (const filePath of filePaths) {
|
|
17
|
+
const absolutePath = path.resolve(filePath);
|
|
18
|
+
if (!fs.existsSync(absolutePath)) {
|
|
19
|
+
throw new Error(`File not found: ${absolutePath}`);
|
|
20
|
+
}
|
|
21
|
+
absolutePaths.push(absolutePath);
|
|
22
|
+
}
|
|
23
|
+
console.log(`Exporting ${absolutePaths.length} slide(s) to PPTX`);
|
|
24
|
+
// Read the bundle.js which contains all the PPTX generation code
|
|
25
|
+
const bundlePath = path.resolve(__dirname, "../../../dist/bundle.js");
|
|
26
|
+
if (!fs.existsSync(bundlePath)) {
|
|
27
|
+
throw new Error(`Bundle not found: ${bundlePath}. Run 'npm run build' first.`);
|
|
28
|
+
}
|
|
29
|
+
const bundleCode = fs.readFileSync(bundlePath, "utf-8");
|
|
30
|
+
// Launch browser
|
|
31
|
+
const browser = await chromium.launch({ headless: true });
|
|
32
|
+
try {
|
|
33
|
+
const context = await browser.newContext({
|
|
34
|
+
bypassCSP: true,
|
|
35
|
+
viewport: { width: 960, height: 540 },
|
|
36
|
+
});
|
|
37
|
+
const page = await context.newPage();
|
|
38
|
+
// Read all HTML files
|
|
39
|
+
const htmlContents = absolutePaths.map(p => fs.readFileSync(p, "utf-8"));
|
|
40
|
+
// Create a minimal HTML page with the bundle injected
|
|
41
|
+
const pageHtml = `<!DOCTYPE html>
|
|
42
|
+
<html>
|
|
43
|
+
<head>
|
|
44
|
+
<script>${bundleCode}</script>
|
|
45
|
+
</head>
|
|
46
|
+
<body></body>
|
|
47
|
+
</html>`;
|
|
48
|
+
// Load the page with bundle already included
|
|
49
|
+
await page.setContent(pageHtml, { waitUntil: "networkidle" });
|
|
50
|
+
// Generate PPTX in browser
|
|
51
|
+
const pptxBuffer = await page.evaluate(async ({ htmlContents }) => {
|
|
52
|
+
// Access the docgen exports from the bundle
|
|
53
|
+
const docgen = window.docgen;
|
|
54
|
+
if (!docgen) {
|
|
55
|
+
throw new Error("docgen bundle not loaded");
|
|
56
|
+
}
|
|
57
|
+
// Create PptxGenJS instance
|
|
58
|
+
const pptx = new docgen.PptxGenJS();
|
|
59
|
+
pptx.layout = "LAYOUT_16x9";
|
|
60
|
+
pptx.author = "docgen";
|
|
61
|
+
pptx.title = "Presentation";
|
|
62
|
+
// Add each slide
|
|
63
|
+
for (const htmlContent of htmlContents) {
|
|
64
|
+
const transformedHtml = docgen.transformHtmlForPptx(htmlContent);
|
|
65
|
+
await docgen.addSlideFromHtml(transformedHtml, pptx);
|
|
66
|
+
}
|
|
67
|
+
// Generate as base64
|
|
68
|
+
const base64 = await pptx.write({ outputType: "base64" });
|
|
69
|
+
return base64;
|
|
70
|
+
}, { htmlContents });
|
|
71
|
+
await page.close();
|
|
72
|
+
await context.close();
|
|
73
|
+
// Determine output filename
|
|
74
|
+
const firstBaseName = path.basename(absolutePaths[0], ".html");
|
|
75
|
+
const outputName = absolutePaths.length === 1 ? firstBaseName : "presentation";
|
|
76
|
+
const outputPath = path.join(outDir, `${outputName}.pptx`);
|
|
77
|
+
// Convert base64 to buffer and write to file
|
|
78
|
+
const buffer = Buffer.from(pptxBuffer, "base64");
|
|
79
|
+
fs.writeFileSync(outputPath, buffer);
|
|
80
|
+
console.log(`Output: ${outputPath}`);
|
|
81
|
+
}
|
|
82
|
+
finally {
|
|
83
|
+
await browser.close();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=export-slides.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-slides.js","sourceRoot":"","sources":["../../../../packages/cli/commands/export-slides.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-docx.d.ts","sourceRoot":"","sources":["../../../../packages/cli/commands/import-docx.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BhF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Import DOCX command - converts a DOCX file to HTML
|
|
3
|
+
*/
|
|
4
|
+
import * as fs from "node:fs";
|
|
5
|
+
import * as path from "node:path";
|
|
6
|
+
import importDocxFn from "../../docs/import-docx";
|
|
7
|
+
export async function importDocx(filePath, outDir) {
|
|
8
|
+
const absolutePath = path.resolve(filePath);
|
|
9
|
+
if (!fs.existsSync(absolutePath)) {
|
|
10
|
+
throw new Error(`File not found: ${absolutePath}`);
|
|
11
|
+
}
|
|
12
|
+
console.log(`Importing DOCX: ${filePath}`);
|
|
13
|
+
// Read the DOCX file as ArrayBuffer
|
|
14
|
+
const docxBuffer = fs.readFileSync(absolutePath);
|
|
15
|
+
const arrayBuffer = docxBuffer.buffer.slice(docxBuffer.byteOffset, docxBuffer.byteOffset + docxBuffer.byteLength);
|
|
16
|
+
// Import the DOCX
|
|
17
|
+
const html = await importDocxFn(arrayBuffer);
|
|
18
|
+
if (!html) {
|
|
19
|
+
throw new Error("DOCX file produced no HTML content");
|
|
20
|
+
}
|
|
21
|
+
// Write output
|
|
22
|
+
const baseName = path.basename(filePath, ".docx");
|
|
23
|
+
const outputPath = path.join(outDir, `${baseName}.html`);
|
|
24
|
+
fs.writeFileSync(outputPath, html);
|
|
25
|
+
console.log(`Output: ${outputPath}`);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=import-docx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-docx.js","sourceRoot":"","sources":["../../../../packages/cli/commands/import-docx.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,MAAc;IAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,mBAAmB,YAAY,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;IAE3C,oCAAoC;IACpC,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CACzC,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAC9C,CAAC;IAEF,kBAAkB;IAClB,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;IAE7C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,eAAe;IACf,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;IACzD,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAEnC,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,EAAE,CAAC,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-pptx.d.ts","sourceRoot":"","sources":["../../../../packages/cli/commands/import-pptx.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiDhF"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Import PPTX command - converts a PPTX file to HTML (one file per slide)
|
|
3
|
+
*/
|
|
4
|
+
import * as fs from "node:fs";
|
|
5
|
+
import * as path from "node:path";
|
|
6
|
+
import importPptxFn from "../../slides/import-pptx";
|
|
7
|
+
export async function importPptx(filePath, outDir) {
|
|
8
|
+
const absolutePath = path.resolve(filePath);
|
|
9
|
+
if (!fs.existsSync(absolutePath)) {
|
|
10
|
+
throw new Error(`File not found: ${absolutePath}`);
|
|
11
|
+
}
|
|
12
|
+
console.log(`Importing PPTX: ${filePath}`);
|
|
13
|
+
// Read the PPTX file as ArrayBuffer
|
|
14
|
+
const pptxBuffer = fs.readFileSync(absolutePath);
|
|
15
|
+
const arrayBuffer = pptxBuffer.buffer.slice(pptxBuffer.byteOffset, pptxBuffer.byteOffset + pptxBuffer.byteLength);
|
|
16
|
+
// Import the PPTX
|
|
17
|
+
const slides = await importPptxFn(arrayBuffer);
|
|
18
|
+
if (slides.length === 0) {
|
|
19
|
+
throw new Error("PPTX file contains no slides");
|
|
20
|
+
}
|
|
21
|
+
// Write each slide as a separate HTML file
|
|
22
|
+
const baseName = path.basename(filePath, ".pptx");
|
|
23
|
+
for (let i = 0; i < slides.length; i++) {
|
|
24
|
+
const slideHtml = slides[i];
|
|
25
|
+
const slideNumber = i + 1;
|
|
26
|
+
const outputPath = path.join(outDir, `${baseName}-slide-${slideNumber}.html`);
|
|
27
|
+
// Wrap slide content in a full HTML document
|
|
28
|
+
const fullHtml = `<!DOCTYPE html>
|
|
29
|
+
<html>
|
|
30
|
+
<head>
|
|
31
|
+
<meta charset="UTF-8">
|
|
32
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
33
|
+
<title>${baseName} - Slide ${slideNumber}</title>
|
|
34
|
+
</head>
|
|
35
|
+
<body>
|
|
36
|
+
${slideHtml}
|
|
37
|
+
</body>
|
|
38
|
+
</html>`;
|
|
39
|
+
fs.writeFileSync(outputPath, fullHtml);
|
|
40
|
+
console.log(`Output: ${outputPath}`);
|
|
41
|
+
}
|
|
42
|
+
console.log(`Imported ${slides.length} slide(s)`);
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=import-pptx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-pptx.js","sourceRoot":"","sources":["../../../../packages/cli/commands/import-pptx.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,YAAY,MAAM,0BAA0B,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,MAAc;IAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,mBAAmB,YAAY,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;IAE3C,oCAAoC;IACpC,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CACzC,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAC9C,CAAC;IAEF,kBAAkB;IAClB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;IAE/C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,2CAA2C;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAElD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,UAAU,WAAW,OAAO,CAAC,CAAC;QAE9E,6CAA6C;QAC7C,MAAM,QAAQ,GAAG;;;;;SAKZ,QAAQ,YAAY,WAAW;;;EAGtC,SAAS;;QAEH,CAAC;QAEL,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* docgen CLI - Import and export DOCX and PPTX files
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* docgen import docx --file=file.docx --out-dir=./output
|
|
6
|
+
* docgen import pptx --file=file.pptx --out-dir=./output
|
|
7
|
+
* docgen export docs --file=file.html --out-dir=./output
|
|
8
|
+
* docgen export slides --files=slide-1.html,slide-2.html --out-dir=./output
|
|
9
|
+
*/
|
|
10
|
+
import "../shared/dom-parser-shim";
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../packages/cli/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* docgen CLI - Import and export DOCX and PPTX files
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* docgen import docx --file=file.docx --out-dir=./output
|
|
6
|
+
* docgen import pptx --file=file.pptx --out-dir=./output
|
|
7
|
+
* docgen export docs --file=file.html --out-dir=./output
|
|
8
|
+
* docgen export slides --files=slide-1.html,slide-2.html --out-dir=./output
|
|
9
|
+
*/
|
|
10
|
+
import "../shared/dom-parser-shim";
|
|
11
|
+
import * as fs from "node:fs";
|
|
12
|
+
import { parseArgs } from "node:util";
|
|
13
|
+
import { importDocx } from "./commands/import-docx";
|
|
14
|
+
import { importPptx } from "./commands/import-pptx";
|
|
15
|
+
import { exportDocs } from "./commands/export-docs";
|
|
16
|
+
import { exportSlides } from "./commands/export-slides";
|
|
17
|
+
const USAGE = `
|
|
18
|
+
docgen - Import and export DOCX and PPTX files
|
|
19
|
+
|
|
20
|
+
Usage:
|
|
21
|
+
docgen import docx --file=<file.docx> --out-dir=<dir>
|
|
22
|
+
docgen import pptx --file=<file.pptx> --out-dir=<dir>
|
|
23
|
+
docgen export docs --file=<file.html> --out-dir=<dir>
|
|
24
|
+
docgen export slides --files=<slide1.html,slide2.html> --out-dir=<dir>
|
|
25
|
+
|
|
26
|
+
Commands:
|
|
27
|
+
import docx Convert DOCX to HTML
|
|
28
|
+
import pptx Convert PPTX to HTML (one file per slide)
|
|
29
|
+
export docs Convert HTML to DOCX
|
|
30
|
+
export slides Convert HTML slides to PPTX (requires Playwright)
|
|
31
|
+
|
|
32
|
+
Options:
|
|
33
|
+
--file=<path> Input file (for import docx/pptx and export docs)
|
|
34
|
+
--files=<paths> Comma-separated input files (for export slides)
|
|
35
|
+
--out-dir=<dir> Output directory (default: current directory)
|
|
36
|
+
--help Show this help message
|
|
37
|
+
`;
|
|
38
|
+
async function main() {
|
|
39
|
+
const args = process.argv.slice(2);
|
|
40
|
+
if (args.length === 0 || args.includes("--help") || args.includes("-h")) {
|
|
41
|
+
console.log(USAGE);
|
|
42
|
+
process.exit(0);
|
|
43
|
+
}
|
|
44
|
+
const command = args[0];
|
|
45
|
+
const subcommand = args[1];
|
|
46
|
+
// Parse remaining args
|
|
47
|
+
const { values } = parseArgs({
|
|
48
|
+
args: args.slice(2),
|
|
49
|
+
options: {
|
|
50
|
+
file: { type: "string" },
|
|
51
|
+
files: { type: "string" },
|
|
52
|
+
"out-dir": { type: "string", default: "." },
|
|
53
|
+
},
|
|
54
|
+
allowPositionals: false,
|
|
55
|
+
});
|
|
56
|
+
const outDir = values["out-dir"];
|
|
57
|
+
// Ensure output directory exists
|
|
58
|
+
if (!fs.existsSync(outDir)) {
|
|
59
|
+
fs.mkdirSync(outDir, { recursive: true });
|
|
60
|
+
}
|
|
61
|
+
try {
|
|
62
|
+
if (command === "import" && subcommand === "docx") {
|
|
63
|
+
if (!values.file) {
|
|
64
|
+
console.error("Error: --file is required for import docx");
|
|
65
|
+
process.exit(1);
|
|
66
|
+
}
|
|
67
|
+
await importDocx(values.file, outDir);
|
|
68
|
+
}
|
|
69
|
+
else if (command === "import" && subcommand === "pptx") {
|
|
70
|
+
if (!values.file) {
|
|
71
|
+
console.error("Error: --file is required for import pptx");
|
|
72
|
+
process.exit(1);
|
|
73
|
+
}
|
|
74
|
+
await importPptx(values.file, outDir);
|
|
75
|
+
}
|
|
76
|
+
else if (command === "export" && subcommand === "docs") {
|
|
77
|
+
if (!values.file) {
|
|
78
|
+
console.error("Error: --file is required for export docs");
|
|
79
|
+
process.exit(1);
|
|
80
|
+
}
|
|
81
|
+
await exportDocs(values.file, outDir);
|
|
82
|
+
}
|
|
83
|
+
else if (command === "export" && subcommand === "slides") {
|
|
84
|
+
if (!values.files) {
|
|
85
|
+
console.error("Error: --files is required for export slides");
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
88
|
+
const files = values.files.split(",").map(f => f.trim());
|
|
89
|
+
await exportSlides(files, outDir);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
console.error(`Unknown command: ${command} ${subcommand ?? ""}`);
|
|
93
|
+
console.log(USAGE);
|
|
94
|
+
process.exit(1);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
console.error("Error:", error instanceof Error ? error.message : error);
|
|
99
|
+
process.exit(1);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
main();
|
|
103
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { AlignmentType, HeadingLevel } from "docx";
|
|
2
|
+
/**
|
|
3
|
+
* Utility type to extract enum value types from a const enum or object.
|
|
4
|
+
* Usage: EnumValue<typeof MyEnum> gives the union of all enum values.
|
|
5
|
+
*/
|
|
6
|
+
export type EnumValue<T> = T[keyof T];
|
|
7
|
+
export type HeadingLevelValue = 1 | 2 | 3 | 4 | 5 | 6;
|
|
8
|
+
/**
|
|
9
|
+
* Represents a gradient color stop for text fills.
|
|
10
|
+
*/
|
|
11
|
+
export interface GradientStop {
|
|
12
|
+
color: string;
|
|
13
|
+
position: number;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Represents a text gradient fill.
|
|
17
|
+
*/
|
|
18
|
+
export interface TextGradient {
|
|
19
|
+
angle: number;
|
|
20
|
+
stops: GradientStop[];
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Represents a text run with inline formatting.
|
|
24
|
+
*/
|
|
25
|
+
export interface InlineRun {
|
|
26
|
+
text: string;
|
|
27
|
+
bold?: boolean;
|
|
28
|
+
italic?: boolean;
|
|
29
|
+
color?: string;
|
|
30
|
+
backgroundColor?: string;
|
|
31
|
+
size?: number;
|
|
32
|
+
fontFamily?: string;
|
|
33
|
+
superscript?: boolean;
|
|
34
|
+
subscript?: boolean;
|
|
35
|
+
underline?: {
|
|
36
|
+
type: "single" | "dotted" | "double" | "wave";
|
|
37
|
+
color?: string;
|
|
38
|
+
};
|
|
39
|
+
gradient?: TextGradient;
|
|
40
|
+
}
|
|
41
|
+
export type TextAlignment = "left" | "center" | "right" | "justify";
|
|
42
|
+
/**
|
|
43
|
+
* Represents a table cell that can have plain text or formatted runs.
|
|
44
|
+
*/
|
|
45
|
+
export type TableCell = string | InlineRun[];
|
|
46
|
+
/**
|
|
47
|
+
* Represents chart image data for embedding in DOCX.
|
|
48
|
+
*/
|
|
49
|
+
export interface ChartImageData {
|
|
50
|
+
data: Buffer | Uint8Array;
|
|
51
|
+
width: number;
|
|
52
|
+
height: number;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Represents a list item with optional nesting level.
|
|
56
|
+
* level 0 = top-level, level 1 = first nesting, etc.
|
|
57
|
+
*/
|
|
58
|
+
export interface ListItem {
|
|
59
|
+
content: string | InlineRun[];
|
|
60
|
+
level: number;
|
|
61
|
+
ordered: boolean;
|
|
62
|
+
}
|
|
63
|
+
export type ParsedElement = {
|
|
64
|
+
type: "heading";
|
|
65
|
+
level: HeadingLevelValue;
|
|
66
|
+
text: string;
|
|
67
|
+
alignment?: TextAlignment;
|
|
68
|
+
color?: string;
|
|
69
|
+
backgroundColor?: string;
|
|
70
|
+
runs?: InlineRun[];
|
|
71
|
+
textTransform?: "uppercase" | "lowercase" | "capitalize";
|
|
72
|
+
borderBottom?: string;
|
|
73
|
+
spacingAfter?: number;
|
|
74
|
+
fontFamily?: string;
|
|
75
|
+
lineSpacing?: number;
|
|
76
|
+
} | {
|
|
77
|
+
type: "paragraph";
|
|
78
|
+
text: string;
|
|
79
|
+
bold?: boolean;
|
|
80
|
+
italic?: boolean;
|
|
81
|
+
color?: string;
|
|
82
|
+
runs?: InlineRun[];
|
|
83
|
+
alignment?: TextAlignment;
|
|
84
|
+
firstLineIndent?: number;
|
|
85
|
+
hangingIndent?: number;
|
|
86
|
+
textTransform?: "uppercase" | "lowercase" | "capitalize";
|
|
87
|
+
fontFamily?: string;
|
|
88
|
+
spacingAfter?: number;
|
|
89
|
+
lineSpacing?: number;
|
|
90
|
+
} | {
|
|
91
|
+
type: "list";
|
|
92
|
+
ordered: boolean;
|
|
93
|
+
items: Array<string | InlineRun[] | ListItem>;
|
|
94
|
+
} | {
|
|
95
|
+
type: "table";
|
|
96
|
+
rows: TableCell[][];
|
|
97
|
+
hasHeader?: boolean;
|
|
98
|
+
noBorders?: boolean;
|
|
99
|
+
cellPadding?: {
|
|
100
|
+
top?: number;
|
|
101
|
+
right?: number;
|
|
102
|
+
bottom?: number;
|
|
103
|
+
left?: number;
|
|
104
|
+
};
|
|
105
|
+
headerBackgroundColor?: string;
|
|
106
|
+
headerTextColor?: string;
|
|
107
|
+
evenRowBackgroundColor?: string;
|
|
108
|
+
} | {
|
|
109
|
+
type: "code";
|
|
110
|
+
text: string;
|
|
111
|
+
} | {
|
|
112
|
+
type: "blockquote";
|
|
113
|
+
content: ParsedElement[];
|
|
114
|
+
borderColor?: string;
|
|
115
|
+
backgroundColor?: string;
|
|
116
|
+
backgroundGradient?: TextGradient;
|
|
117
|
+
variant?: "executive-summary" | "callout";
|
|
118
|
+
padding?: {
|
|
119
|
+
top?: number;
|
|
120
|
+
right?: number;
|
|
121
|
+
bottom?: number;
|
|
122
|
+
left?: number;
|
|
123
|
+
};
|
|
124
|
+
borderStyle?: "left" | "full" | "none";
|
|
125
|
+
} | {
|
|
126
|
+
type: "chart-placeholder";
|
|
127
|
+
title?: string;
|
|
128
|
+
chartId?: string;
|
|
129
|
+
} | {
|
|
130
|
+
type: "svg-chart";
|
|
131
|
+
svgContent: string;
|
|
132
|
+
width: number;
|
|
133
|
+
height: number;
|
|
134
|
+
title?: string;
|
|
135
|
+
backgroundColor?: string;
|
|
136
|
+
} | {
|
|
137
|
+
type: "chart-image";
|
|
138
|
+
title?: string;
|
|
139
|
+
imageData: ChartImageData;
|
|
140
|
+
} | {
|
|
141
|
+
type: "horizontal-rule";
|
|
142
|
+
color?: string;
|
|
143
|
+
spacingBefore?: number;
|
|
144
|
+
spacingAfter?: number;
|
|
145
|
+
borderPosition?: "top" | "bottom";
|
|
146
|
+
} | {
|
|
147
|
+
type: "stats-grid";
|
|
148
|
+
cards: Array<{
|
|
149
|
+
value: string;
|
|
150
|
+
label: string;
|
|
151
|
+
change?: string;
|
|
152
|
+
valueColor?: string;
|
|
153
|
+
labelColor?: string;
|
|
154
|
+
changeColor?: string;
|
|
155
|
+
backgroundColor?: string;
|
|
156
|
+
borderColor?: string;
|
|
157
|
+
}>;
|
|
158
|
+
} | {
|
|
159
|
+
type: "two-column-layout";
|
|
160
|
+
sidebar: {
|
|
161
|
+
content: ParsedElement[];
|
|
162
|
+
backgroundColor?: string;
|
|
163
|
+
textColor?: string;
|
|
164
|
+
widthPercent?: number;
|
|
165
|
+
};
|
|
166
|
+
main: {
|
|
167
|
+
content: ParsedElement[];
|
|
168
|
+
};
|
|
169
|
+
} | {
|
|
170
|
+
type: "image";
|
|
171
|
+
src: string;
|
|
172
|
+
alt?: string;
|
|
173
|
+
width?: number;
|
|
174
|
+
height?: number;
|
|
175
|
+
caption?: string;
|
|
176
|
+
imageData?: ChartImageData;
|
|
177
|
+
};
|
|
178
|
+
type HeadingLevelType = EnumValue<typeof HeadingLevel>;
|
|
179
|
+
export type AlignmentTypeValue = EnumValue<typeof AlignmentType>;
|
|
180
|
+
export declare const HEADING_LEVEL_MAP: Record<HeadingLevelValue, HeadingLevelType>;
|
|
181
|
+
export declare const CONTAINER_TAGS: string[];
|
|
182
|
+
export {};
|
|
183
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../packages/docs/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { HeadingLevel } from "docx";
|
|
2
|
+
export const HEADING_LEVEL_MAP = {
|
|
3
|
+
1: HeadingLevel.HEADING_1,
|
|
4
|
+
2: HeadingLevel.HEADING_2,
|
|
5
|
+
3: HeadingLevel.HEADING_3,
|
|
6
|
+
4: HeadingLevel.HEADING_4,
|
|
7
|
+
5: HeadingLevel.HEADING_5,
|
|
8
|
+
6: HeadingLevel.HEADING_6,
|
|
9
|
+
};
|
|
10
|
+
export const CONTAINER_TAGS = [
|
|
11
|
+
"div",
|
|
12
|
+
"span",
|
|
13
|
+
"article",
|
|
14
|
+
"section",
|
|
15
|
+
"main",
|
|
16
|
+
"header",
|
|
17
|
+
"footer",
|
|
18
|
+
"aside",
|
|
19
|
+
"nav",
|
|
20
|
+
"figure",
|
|
21
|
+
"figcaption",
|
|
22
|
+
"dl", // Definition list - container for dt/dd pairs
|
|
23
|
+
"dt", // Definition term - often has flex layout for name + price
|
|
24
|
+
"dd", // Definition description - needs style inheritance for italic, etc.
|
|
25
|
+
"address", // Address element - contact info in footer sections
|
|
26
|
+
];
|
|
27
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../packages/docs/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,YAAY,EAAE,MAAM,MAAM,CAAC;AA0FnD,MAAM,CAAC,MAAM,iBAAiB,GAAgD;IAC5E,CAAC,EAAE,YAAY,CAAC,SAAS;IACzB,CAAC,EAAE,YAAY,CAAC,SAAS;IACzB,CAAC,EAAE,YAAY,CAAC,SAAS;IACzB,CAAC,EAAE,YAAY,CAAC,SAAS;IACzB,CAAC,EAAE,YAAY,CAAC,SAAS;IACzB,CAAC,EAAE,YAAY,CAAC,SAAS;CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK;IACL,MAAM;IACN,SAAS;IACT,SAAS;IACT,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,KAAK;IACL,QAAQ;IACR,YAAY;IACZ,IAAI,EAAG,8CAA8C;IACrD,IAAI,EAAG,2DAA2D;IAClE,IAAI,EAAG,oEAAoE;IAC3E,SAAS,EAAG,oDAAoD;CACjE,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Paragraph, Table } from "docx";
|
|
2
|
+
import { ParsedElement } from "./common";
|
|
3
|
+
/**
|
|
4
|
+
* Convert a parsed element to docx paragraphs or tables.
|
|
5
|
+
*/
|
|
6
|
+
export declare function convertElementToDocx(element: ParsedElement): (Paragraph | Table)[];
|
|
7
|
+
//# sourceMappingURL=convert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../packages/docs/convert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsD,SAAS,EAAe,KAAK,EAA8G,MAAM,MAAM,CAAC;AACrN,OAAO,EAAwD,aAAa,EAA8D,MAAM,UAAU,CAAC;AAoqB3J;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,aAAa,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,EAAE,CA43BlF"}
|