🎨 Support importing markdown zip on the browser (#14950)

This commit is contained in:
zhangziqian 2025-06-02 21:14:04 +08:00 committed by GitHub
parent 88c7a66e68
commit 12cc17bd06
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 122 additions and 17 deletions

View file

@ -761,24 +761,43 @@ export const genImportMenu = (notebookId: string, pathString: string) => {
id: "import",
icon: "iconDownload",
label: window.siyuan.languages.import,
submenu: [{
id: "importSiYuanZip",
icon: "iconSiYuan",
label: 'SiYuan .sy.zip<input class="b3-form__upload" type="file" accept="application/zip">',
bind: (element) => {
element.querySelector(".b3-form__upload").addEventListener("change", (event: InputEvent & {
target: HTMLInputElement
}) => {
const formData = new FormData();
formData.append("file", event.target.files[0]);
formData.append("notebook", notebookId);
formData.append("toPath", pathString);
fetchPost("/api/import/importSY", formData, () => {
reloadDocTree();
submenu: [
{
id: "importSiYuanZip",
icon: "iconSiYuan",
label: 'SiYuan .sy.zip<input class="b3-form__upload" type="file" accept="application/zip">',
bind: (element) => {
element.querySelector(".b3-form__upload").addEventListener("change", (event: InputEvent & {
target: HTMLInputElement
}) => {
const formData = new FormData();
formData.append("file", event.target.files[0]);
formData.append("notebook", notebookId);
formData.append("toPath", pathString);
fetchPost("/api/import/importSY", formData, () => {
reloadDocTree();
});
});
});
}
},
}
},
{
id: "importMarkdownZip",
icon: "iconMarkdown",
label: 'Markdown .zip<input class="b3-form__upload" type="file" accept="application/zip">',
bind: (element) => {
element.querySelector(".b3-form__upload").addEventListener("change", (event: InputEvent & {
target: HTMLInputElement
}) => {
const formData = new FormData();
formData.append("file", event.target.files[0]);
formData.append("notebook", notebookId);
formData.append("toPath", pathString);
fetchPost("/api/import/importZipMd", formData, () => {
reloadDocTree();
});
});
}
},
/// #if !BROWSER
importstdmd("Markdown " + window.siyuan.languages.doc, true),
importstdmd("Markdown " + window.siyuan.languages.folder)