chore(export/share): inject pack CSS

This commit is contained in:
Elian Doran 2025-12-27 23:21:38 +02:00
parent e2a628fa2f
commit da28f4505a
No known key found for this signature in database
2 changed files with 19 additions and 12 deletions

View File

@ -1,17 +1,18 @@
import ejs from "ejs";
import fs, { readdirSync } from "fs";
import { convert as convertToText } from "html-to-text";
import { t } from "i18next";
import { join } from "path"; import { join } from "path";
import becca from "../../../becca/becca";
import type BBranch from "../../../becca/entities/bbranch.js";
import type BNote from "../../../becca/entities/bnote.js";
import { getShareThemeAssetDir } from "../../../routes/assets";
import { getDefaultTemplatePath, readTemplate, renderNoteForExport } from "../../../share/content_renderer";
import NoteMeta, { NoteMetaFile } from "../../meta/note_meta"; import NoteMeta, { NoteMetaFile } from "../../meta/note_meta";
import { ExportFormat, ZipExportProvider } from "./abstract_provider.js";
import { RESOURCE_DIR } from "../../resource_dir"; import { RESOURCE_DIR } from "../../resource_dir";
import { getResourceDir, isDev } from "../../utils"; import { getResourceDir, isDev } from "../../utils";
import fs, { readdirSync } from "fs"; import { ExportFormat, ZipExportProvider } from "./abstract_provider.js";
import { getDefaultTemplatePath, readTemplate, renderNoteForExport } from "../../../share/content_renderer";
import type BNote from "../../../becca/entities/bnote.js";
import type BBranch from "../../../becca/entities/bbranch.js";
import { getShareThemeAssetDir } from "../../../routes/assets";
import { convert as convertToText } from "html-to-text";
import becca from "../../../becca/becca";
import ejs from "ejs";
import { t } from "i18next";
const shareThemeAssetDir = getShareThemeAssetDir(); const shareThemeAssetDir = getShareThemeAssetDir();
@ -134,7 +135,7 @@ export default class ShareThemeExportProvider extends ZipExportProvider {
continue; continue;
} }
let cssContent = getShareThemeAssets(assetMeta.dataFileName); const cssContent = getShareThemeAssets(assetMeta.dataFileName);
this.archive.append(cssContent, { name: assetMeta.dataFileName }); this.archive.append(cssContent, { name: assetMeta.dataFileName });
} }
} }

View File

@ -75,6 +75,8 @@ export function renderNoteForExport(note: BNote, parentBranch: BBranch, basePath
note: parentBranch.getNote() note: parentBranch.getNote()
}; };
const iconPacks = getIconPacks();
return renderNoteContentInternal(note, { return renderNoteContentInternal(note, {
subRoot, subRoot,
rootNoteId: parentBranch.noteId, rootNoteId: parentBranch.noteId,
@ -88,7 +90,11 @@ export function renderNoteForExport(note: BNote, parentBranch: BBranch, basePath
logoUrl: `${basePath}icon-color.svg`, logoUrl: `${basePath}icon-color.svg`,
faviconUrl: `${basePath}favicon.ico`, faviconUrl: `${basePath}favicon.ico`,
ancestors, ancestors,
isStatic: true isStatic: true,
iconPackCss: iconPacks.map(p => generateCss(p, true))
.filter(Boolean)
.join("\n\n"),
iconPackSupportedPrefixes: iconPacks.map(p => p.manifest.prefix)
}); });
} }