chore(export/zip): bring back markdown exporter

This commit is contained in:
Elian Doran 2025-06-23 16:17:29 +03:00
parent dfd575b6eb
commit e529633b8b
No known key found for this signature in database
3 changed files with 20 additions and 8 deletions

View File

@ -22,7 +22,8 @@ import type BBranch from "../../becca/entities/bbranch.js";
import type { Response } from "express"; import type { Response } from "express";
import type { NoteMetaFile } from "../meta/note_meta.js"; import type { NoteMetaFile } from "../meta/note_meta.js";
import HtmlExportProvider from "./zip/html.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; type RewriteLinksFn = (content: string, noteMeta: NoteMeta) => string;
@ -441,16 +442,19 @@ ${markdownContent}`;
}; };
let provider: ZipExportProvider; let provider: ZipExportProvider;
switch (format) { const providerData: ZipExportProviderData = {
case "html":
provider = new HtmlExportProvider({
getNoteTargetUrl, getNoteTargetUrl,
metaFile, metaFile,
archive, archive,
rootMeta rootMeta
}); };
switch (format) {
case "html":
provider = new HtmlExportProvider(providerData);
break; break;
case "markdown": case "markdown":
provider = new MarkdownExportProvider(providerData);
break;
default: default:
throw new Error(); throw new Error();
} }

View File

@ -1,7 +1,7 @@
import { Archiver } from "archiver"; import { Archiver } from "archiver";
import type { default as NoteMeta, NoteMetaFile } from "../../meta/note_meta.js"; import type { default as NoteMeta, NoteMetaFile } from "../../meta/note_meta.js";
interface ZipExportProviderData { export interface ZipExportProviderData {
getNoteTargetUrl: (targetNoteId: string, sourceMeta: NoteMeta) => string | null; getNoteTargetUrl: (targetNoteId: string, sourceMeta: NoteMeta) => string | null;
metaFile: NoteMetaFile; metaFile: NoteMetaFile;
rootMeta: NoteMeta; rootMeta: NoteMeta;

View File

@ -0,0 +1,8 @@
import { ZipExportProvider } from "./abstract_provider"
export default class MarkdownExportProvider extends ZipExportProvider {
prepareMeta() { }
afterDone() { }
}