@richhtmleditor/export 1.1.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/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +200 -0
- package/dist/index.js.map +1 -0
- package/package.json +27 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { EditorPlugin } from "@richhtmleditor/core";
|
|
2
|
+
export type ExportFormat = "markdown" | "text" | "pdf";
|
|
3
|
+
export type ExportPluginOptions = {
|
|
4
|
+
/**
|
|
5
|
+
* Called with the exported content string.
|
|
6
|
+
* If omitted: markdown → downloaded as .md, text → downloaded as .txt, pdf → window.print().
|
|
7
|
+
*/
|
|
8
|
+
onExport?: (format: ExportFormat, content: string) => void;
|
|
9
|
+
/** Filename (without extension) used when auto-downloading. Default: 'document' */
|
|
10
|
+
filename?: string;
|
|
11
|
+
/** Document title shown in the print/PDF view. Default: 'Document' */
|
|
12
|
+
pdfTitle?: string;
|
|
13
|
+
};
|
|
14
|
+
/** Convert HTML string to Markdown. No external dependencies. */
|
|
15
|
+
export declare function htmlToMarkdown(html: string): string;
|
|
16
|
+
/** Convert HTML string to plain text (strips all tags). */
|
|
17
|
+
export declare function htmlToText(html: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Export plugin — adds Markdown, plain text, and PDF export buttons.
|
|
20
|
+
*
|
|
21
|
+
* ```ts
|
|
22
|
+
* import { createExportPlugin } from "@richhtmleditor/export";
|
|
23
|
+
* createEditor({
|
|
24
|
+
* plugins: [createExportPlugin({
|
|
25
|
+
* filename: "my-document",
|
|
26
|
+
* onExport: (format, content) => console.log(format, content)
|
|
27
|
+
* })]
|
|
28
|
+
* });
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare function createExportPlugin(options?: ExportPluginOptions): EditorPlugin;
|
|
32
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,YAAY,EAAyB,MAAM,sBAAsB,CAAC;AAEhG,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC;AAEvD,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AA0FF,iEAAiE;AACjE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED,2DAA2D;AAC3D,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI/C;AA4BD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,mBAAwB,GAAG,YAAY,CAqDlF"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
// ── HTML → Markdown converter (zero dependencies) ────────────────────────────
|
|
2
|
+
function nodeToMarkdown(node, indent = "") {
|
|
3
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
|
4
|
+
return node.textContent ?? "";
|
|
5
|
+
}
|
|
6
|
+
if (node.nodeType !== Node.ELEMENT_NODE)
|
|
7
|
+
return "";
|
|
8
|
+
const el = node;
|
|
9
|
+
const tag = el.tagName.toLowerCase();
|
|
10
|
+
const children = Array.from(el.childNodes).map((c) => nodeToMarkdown(c, indent)).join("");
|
|
11
|
+
switch (tag) {
|
|
12
|
+
case "h1": return `\n# ${children.trim()}\n`;
|
|
13
|
+
case "h2": return `\n## ${children.trim()}\n`;
|
|
14
|
+
case "h3": return `\n### ${children.trim()}\n`;
|
|
15
|
+
case "h4": return `\n#### ${children.trim()}\n`;
|
|
16
|
+
case "h5": return `\n##### ${children.trim()}\n`;
|
|
17
|
+
case "h6": return `\n###### ${children.trim()}\n`;
|
|
18
|
+
case "p":
|
|
19
|
+
case "div": return `\n${children}\n`;
|
|
20
|
+
case "br": return "\n";
|
|
21
|
+
case "strong":
|
|
22
|
+
case "b": return `**${children}**`;
|
|
23
|
+
case "em":
|
|
24
|
+
case "i": return `*${children}*`;
|
|
25
|
+
case "u": return `__${children}__`;
|
|
26
|
+
case "s":
|
|
27
|
+
case "strike":
|
|
28
|
+
case "del": return `~~${children}~~`;
|
|
29
|
+
case "code": return el.closest("pre") ? children : `\`${children}\``;
|
|
30
|
+
case "pre": {
|
|
31
|
+
const code = el.querySelector("code");
|
|
32
|
+
const text = (code ?? el).textContent ?? "";
|
|
33
|
+
return `\n\`\`\`\n${text}\n\`\`\`\n`;
|
|
34
|
+
}
|
|
35
|
+
case "blockquote": return children.split("\n").map((l) => `> ${l}`).join("\n") + "\n";
|
|
36
|
+
case "a": {
|
|
37
|
+
const href = el.getAttribute("href") ?? "#";
|
|
38
|
+
return `[${children}](${href})`;
|
|
39
|
+
}
|
|
40
|
+
case "img": {
|
|
41
|
+
const src = el.getAttribute("src") ?? "";
|
|
42
|
+
const alt = el.getAttribute("alt") ?? "";
|
|
43
|
+
return ``;
|
|
44
|
+
}
|
|
45
|
+
case "figure": {
|
|
46
|
+
const img = el.querySelector("img");
|
|
47
|
+
const caption = el.querySelector("figcaption")?.textContent?.trim() ?? "";
|
|
48
|
+
if (img) {
|
|
49
|
+
const src = img.getAttribute("src") ?? "";
|
|
50
|
+
const alt = img.getAttribute("alt") ?? caption;
|
|
51
|
+
return `\n\n${caption ? `*${caption}*\n` : ""}`;
|
|
52
|
+
}
|
|
53
|
+
return `\n${children}\n`;
|
|
54
|
+
}
|
|
55
|
+
case "ul": {
|
|
56
|
+
const items = Array.from(el.querySelectorAll(":scope > li"));
|
|
57
|
+
return "\n" + items.map((li) => `${indent}- ${Array.from(li.childNodes).map((c) => nodeToMarkdown(c, indent + " ")).join("").trim()}`).join("\n") + "\n";
|
|
58
|
+
}
|
|
59
|
+
case "ol": {
|
|
60
|
+
const items = Array.from(el.querySelectorAll(":scope > li"));
|
|
61
|
+
return "\n" + items.map((li, i) => `${indent}${i + 1}. ${Array.from(li.childNodes).map((c) => nodeToMarkdown(c, indent + " ")).join("").trim()}`).join("\n") + "\n";
|
|
62
|
+
}
|
|
63
|
+
case "li": return children;
|
|
64
|
+
case "hr": return "\n---\n";
|
|
65
|
+
case "table": {
|
|
66
|
+
const rows = Array.from(el.querySelectorAll("tr"));
|
|
67
|
+
if (!rows.length)
|
|
68
|
+
return "";
|
|
69
|
+
const mdRows = rows.map((row) => "| " + Array.from(row.querySelectorAll("td,th")).map((cell) => cell.textContent?.trim() ?? "").join(" | ") + " |");
|
|
70
|
+
const header = mdRows[0];
|
|
71
|
+
const sep = "| " + Array.from(rows[0].querySelectorAll("td,th")).map(() => "---").join(" | ") + " |";
|
|
72
|
+
return "\n" + [header, sep, ...mdRows.slice(1)].join("\n") + "\n";
|
|
73
|
+
}
|
|
74
|
+
case "sup": return `^${children}`;
|
|
75
|
+
case "sub": return `~${children}~`;
|
|
76
|
+
case "span":
|
|
77
|
+
case "section":
|
|
78
|
+
case "article":
|
|
79
|
+
case "header":
|
|
80
|
+
case "footer":
|
|
81
|
+
case "main":
|
|
82
|
+
case "nav": return children;
|
|
83
|
+
default: return children;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/** Convert HTML string to Markdown. No external dependencies. */
|
|
87
|
+
export function htmlToMarkdown(html) {
|
|
88
|
+
const template = document.createElement("template");
|
|
89
|
+
template.innerHTML = html;
|
|
90
|
+
const md = nodeToMarkdown(template.content);
|
|
91
|
+
return md.replace(/\n{3,}/g, "\n\n").trim() + "\n";
|
|
92
|
+
}
|
|
93
|
+
/** Convert HTML string to plain text (strips all tags). */
|
|
94
|
+
export function htmlToText(html) {
|
|
95
|
+
const template = document.createElement("template");
|
|
96
|
+
template.innerHTML = html;
|
|
97
|
+
return (template.content.textContent ?? "").replace(/\n{3,}/g, "\n\n").trim();
|
|
98
|
+
}
|
|
99
|
+
function downloadBlob(content, filename, mimeType) {
|
|
100
|
+
const blob = new Blob([content], { type: mimeType });
|
|
101
|
+
const url = URL.createObjectURL(blob);
|
|
102
|
+
const a = document.createElement("a");
|
|
103
|
+
a.href = url;
|
|
104
|
+
a.download = filename;
|
|
105
|
+
a.click();
|
|
106
|
+
URL.revokeObjectURL(url);
|
|
107
|
+
}
|
|
108
|
+
function printHtml(html, title) {
|
|
109
|
+
const win = window.open("", "_blank", "width=800,height=600");
|
|
110
|
+
if (!win) {
|
|
111
|
+
window.alert("Please allow popups to use PDF export.");
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
win.document.write(`<!DOCTYPE html><html><head><title>${title}</title><style>
|
|
115
|
+
body{font-family:Georgia,serif;max-width:800px;margin:40px auto;padding:0 20px;line-height:1.6;}
|
|
116
|
+
img{max-width:100%;}
|
|
117
|
+
pre{background:#f1f5f9;padding:12px;border-radius:6px;overflow:auto;}
|
|
118
|
+
table{border-collapse:collapse;width:100%;}
|
|
119
|
+
td,th{border:1px solid #ccc;padding:6px 10px;}
|
|
120
|
+
@media print{body{margin:0;}}
|
|
121
|
+
</style></head><body>${html}</body></html>`);
|
|
122
|
+
win.document.close();
|
|
123
|
+
win.focus();
|
|
124
|
+
setTimeout(() => { win.print(); win.close(); }, 400);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Export plugin — adds Markdown, plain text, and PDF export buttons.
|
|
128
|
+
*
|
|
129
|
+
* ```ts
|
|
130
|
+
* import { createExportPlugin } from "@richhtmleditor/export";
|
|
131
|
+
* createEditor({
|
|
132
|
+
* plugins: [createExportPlugin({
|
|
133
|
+
* filename: "my-document",
|
|
134
|
+
* onExport: (format, content) => console.log(format, content)
|
|
135
|
+
* })]
|
|
136
|
+
* });
|
|
137
|
+
* ```
|
|
138
|
+
*/
|
|
139
|
+
export function createExportPlugin(options = {}) {
|
|
140
|
+
const filename = options.filename ?? "document";
|
|
141
|
+
const pdfTitle = options.pdfTitle ?? "Document";
|
|
142
|
+
const tools = [
|
|
143
|
+
{
|
|
144
|
+
id: "exportMarkdown",
|
|
145
|
+
type: "button",
|
|
146
|
+
label: "↓ Markdown",
|
|
147
|
+
icon: "export-md",
|
|
148
|
+
display: "icon",
|
|
149
|
+
tooltip: "Export as Markdown (.md)",
|
|
150
|
+
group: "overflow",
|
|
151
|
+
onClick: (editor) => {
|
|
152
|
+
const md = htmlToMarkdown(editor.getHTML());
|
|
153
|
+
if (options.onExport) {
|
|
154
|
+
options.onExport("markdown", md);
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
downloadBlob(md, `${filename}.md`, "text/markdown;charset=utf-8");
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
id: "exportText",
|
|
162
|
+
type: "button",
|
|
163
|
+
label: "↓ Text",
|
|
164
|
+
icon: "export-txt",
|
|
165
|
+
display: "icon",
|
|
166
|
+
tooltip: "Export as plain text (.txt)",
|
|
167
|
+
group: "overflow",
|
|
168
|
+
onClick: (editor) => {
|
|
169
|
+
const txt = htmlToText(editor.getHTML());
|
|
170
|
+
if (options.onExport) {
|
|
171
|
+
options.onExport("text", txt);
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
downloadBlob(txt, `${filename}.txt`, "text/plain;charset=utf-8");
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
id: "exportPdf",
|
|
179
|
+
type: "button",
|
|
180
|
+
label: "↓ PDF",
|
|
181
|
+
icon: "export-pdf",
|
|
182
|
+
display: "icon",
|
|
183
|
+
tooltip: "Print / save as PDF",
|
|
184
|
+
group: "overflow",
|
|
185
|
+
onClick: (editor) => {
|
|
186
|
+
const html = editor.getHTML();
|
|
187
|
+
if (options.onExport) {
|
|
188
|
+
options.onExport("pdf", html);
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
printHtml(html, pdfTitle);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
];
|
|
195
|
+
return {
|
|
196
|
+
id: "richhtmleditor-export",
|
|
197
|
+
tools
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@richhtmleditor/export",
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "Markdown, plain-text, and PDF export plugin for Rich HTML Editor.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js",
|
|
12
|
+
"default": "./dist/index.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"files": ["dist", "README.md"],
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": "tsc -p tsconfig.json",
|
|
18
|
+
"prepack": "node ../../scripts/assert-pack-ready.mjs"
|
|
19
|
+
},
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@richhtmleditor/core": "^1.1.0"
|
|
22
|
+
},
|
|
23
|
+
"keywords": ["richhtmleditor", "export", "markdown", "pdf", "download"],
|
|
24
|
+
"license": "MIT",
|
|
25
|
+
"publishConfig": { "access": "public" },
|
|
26
|
+
"engines": { "node": ">=18" }
|
|
27
|
+
}
|