mirror of
https://github.com/zadam/trilium.git
synced 2026-05-07 19:46:16 +02:00
chore(export): bring back content CSS
This commit is contained in:
@@ -1,10 +1,12 @@
|
||||
import { type ExportFormat, type ZipExportProviderData, ZipExportProvider } from "@triliumnext/core";
|
||||
|
||||
import contentCss from "@triliumnext/ckeditor5/src/theme/ck-content.css?raw";
|
||||
|
||||
export async function standaloneZipExportProviderFactory(format: ExportFormat, data: ZipExportProviderData): Promise<ZipExportProvider> {
|
||||
switch (format) {
|
||||
case "html": {
|
||||
const { default: HtmlExportProvider } = await import("@triliumnext/core/src/services/export/zip/html.js");
|
||||
return new HtmlExportProvider(data);
|
||||
return new HtmlExportProvider(data, { contentCss });
|
||||
}
|
||||
case "markdown": {
|
||||
const { default: MarkdownExportProvider } = await import("@triliumnext/core/src/services/export/zip/markdown.js");
|
||||
|
||||
@@ -1,10 +1,21 @@
|
||||
import { type ExportFormat, type ZipExportProviderData, ZipExportProvider } from "@triliumnext/core";
|
||||
import { type ExportFormat, ZipExportProvider, type ZipExportProviderData } from "@triliumnext/core";
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
|
||||
import { getResourceDir, isDev } from "../../utils.js";
|
||||
|
||||
function readContentCss(): string {
|
||||
const cssFile = isDev
|
||||
? path.join(__dirname, "../../../../../../node_modules/ckeditor5/dist/ckeditor5-content.css")
|
||||
: path.join(getResourceDir(), "ckeditor5-content.css");
|
||||
return fs.readFileSync(cssFile, "utf-8");
|
||||
}
|
||||
|
||||
export async function serverZipExportProviderFactory(format: ExportFormat, data: ZipExportProviderData): Promise<ZipExportProvider> {
|
||||
switch (format) {
|
||||
case "html": {
|
||||
const { default: HtmlExportProvider } = await import("@triliumnext/core/src/services/export/zip/html.js");
|
||||
return new HtmlExportProvider(data);
|
||||
return new HtmlExportProvider(data, { contentCss: readContentCss() });
|
||||
}
|
||||
case "markdown": {
|
||||
const { default: MarkdownExportProvider } = await import("@triliumnext/core/src/services/export/zip/markdown.js");
|
||||
|
||||
@@ -1,14 +1,24 @@
|
||||
import html from "html";
|
||||
|
||||
import { escapeHtml } from "../../utils/index";
|
||||
import { ZipExportProvider } from "./abstract_provider.js";
|
||||
import { ZipExportProvider, ZipExportProviderData } from "./abstract_provider.js";
|
||||
import { NoteMeta } from "../../../meta";
|
||||
|
||||
export interface HtmlExportProviderOptions {
|
||||
contentCss?: string;
|
||||
}
|
||||
|
||||
export default class HtmlExportProvider extends ZipExportProvider {
|
||||
|
||||
private navigationMeta: NoteMeta | null = null;
|
||||
private indexMeta: NoteMeta | null = null;
|
||||
private cssMeta: NoteMeta | null = null;
|
||||
private options: HtmlExportProviderOptions;
|
||||
|
||||
constructor(data: ZipExportProviderData, options?: HtmlExportProviderOptions) {
|
||||
super(data);
|
||||
this.options = options ?? {};
|
||||
}
|
||||
|
||||
prepareMeta(metaFile) {
|
||||
if (this.zipExportOptions?.skipExtraFiles) return;
|
||||
@@ -168,12 +178,9 @@ export default class HtmlExportProvider extends ZipExportProvider {
|
||||
return;
|
||||
}
|
||||
|
||||
// TODO: Bring back CSS.
|
||||
// const cssFile = isDev()
|
||||
// ? path.join(__dirname, "../../../../../../node_modules/ckeditor5/dist/ckeditor5-content.css")
|
||||
// : path.join(getResourceDir(), "ckeditor5-content.css");
|
||||
// const cssContent = fs.readFileSync(cssFile, "utf-8");
|
||||
// this.archive.append(cssContent, { name: cssMeta.dataFileName });
|
||||
if (this.options.contentCss) {
|
||||
this.archive.append(this.options.contentCss, { name: cssMeta.dataFileName });
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user