diff --git a/apps/server/src/services/export/zip.ts b/apps/server/src/services/export/zip.ts index 6caffac86..f6c131d87 100644 --- a/apps/server/src/services/export/zip.ts +++ b/apps/server/src/services/export/zip.ts @@ -22,7 +22,8 @@ import type BBranch from "../../becca/entities/bbranch.js"; import type { Response } from "express"; import type { NoteMetaFile } from "../meta/note_meta.js"; import HtmlExportProvider from "./zip/html.js"; -import { ZipExportProvider } from "./zip/abstract_provider.js"; +import { ZipExportProvider, ZipExportProviderData } from "./zip/abstract_provider.js"; +import MarkdownExportProvider from "./zip/markdown.js"; type RewriteLinksFn = (content: string, noteMeta: NoteMeta) => string; @@ -441,16 +442,19 @@ ${markdownContent}`; }; let provider: ZipExportProvider; + const providerData: ZipExportProviderData = { + getNoteTargetUrl, + metaFile, + archive, + rootMeta + }; switch (format) { case "html": - provider = new HtmlExportProvider({ - getNoteTargetUrl, - metaFile, - archive, - rootMeta - }); + provider = new HtmlExportProvider(providerData); break; case "markdown": + provider = new MarkdownExportProvider(providerData); + break; default: throw new Error(); } diff --git a/apps/server/src/services/export/zip/abstract_provider.ts b/apps/server/src/services/export/zip/abstract_provider.ts index 264dde0a7..5f3502107 100644 --- a/apps/server/src/services/export/zip/abstract_provider.ts +++ b/apps/server/src/services/export/zip/abstract_provider.ts @@ -1,7 +1,7 @@ import { Archiver } from "archiver"; import type { default as NoteMeta, NoteMetaFile } from "../../meta/note_meta.js"; -interface ZipExportProviderData { +export interface ZipExportProviderData { getNoteTargetUrl: (targetNoteId: string, sourceMeta: NoteMeta) => string | null; metaFile: NoteMetaFile; rootMeta: NoteMeta; diff --git a/apps/server/src/services/export/zip/markdown.ts b/apps/server/src/services/export/zip/markdown.ts new file mode 100644 index 000000000..2f8ac13bc --- /dev/null +++ b/apps/server/src/services/export/zip/markdown.ts @@ -0,0 +1,8 @@ +import { ZipExportProvider } from "./abstract_provider" + +export default class MarkdownExportProvider extends ZipExportProvider { + + prepareMeta() { } + afterDone() { } + +}