Skip to content

Commit 2129562

Browse files
committed
chore(export/share): export full share script & styles
1 parent 1182592 commit 2129562

File tree

2 files changed

+22
-3
lines changed

2 files changed

+22
-3
lines changed

apps/server/src/routes/assets.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ async function register(app: express.Application) {
3232
req.url = `/${assetUrlFragment}` + req.url;
3333
vite.middlewares(req, res, next);
3434
});
35-
app.use(`/share/assets/`, express.static(path.join(srcRoot, "../../packages/share-theme/dist")));
3635
} else {
3736
const publicDir = path.join(resourceDir, "public");
3837
if (!existsSync(publicDir)) {
@@ -43,16 +42,26 @@ async function register(app: express.Application) {
4342
app.use(`/${assetUrlFragment}/stylesheets`, persistentCacheStatic(path.join(publicDir, "stylesheets")));
4443
app.use(`/${assetUrlFragment}/fonts`, persistentCacheStatic(path.join(publicDir, "fonts")));
4544
app.use(`/${assetUrlFragment}/translations/`, persistentCacheStatic(path.join(publicDir, "translations")));
46-
app.use(`/share/assets/`, persistentCacheStatic(path.join(resourceDir, "share-theme/assets")));
4745
app.use(`/node_modules/`, persistentCacheStatic(path.join(publicDir, "node_modules")));
4846
}
47+
app.use(`/share/assets/`, express.static(getShareThemeAssetDir()));
4948
app.use(`/${assetUrlFragment}/images`, persistentCacheStatic(path.join(resourceDir, "assets", "images")));
5049
app.use(`/${assetUrlFragment}/doc_notes`, persistentCacheStatic(path.join(resourceDir, "assets", "doc_notes")));
5150
app.use(`/assets/vX/fonts`, express.static(path.join(srcRoot, "public/fonts")));
5251
app.use(`/assets/vX/images`, express.static(path.join(srcRoot, "..", "images")));
5352
app.use(`/assets/vX/stylesheets`, express.static(path.join(srcRoot, "public/stylesheets")));
5453
}
5554

55+
export function getShareThemeAssetDir() {
56+
if (process.env.NODE_ENV === "development") {
57+
const srcRoot = path.join(__dirname, "..", "..");
58+
return path.join(srcRoot, "../../packages/share-theme/dist");
59+
} else {
60+
const resourceDir = getResourceDir();
61+
return path.join(resourceDir, "share-theme/assets");
62+
}
63+
}
64+
5665
export default {
5766
register
5867
};

apps/server/src/services/export/zip/share_theme.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,21 @@ import NoteMeta, { NoteMetaFile } from "../../meta/note_meta";
33
import { ExportFormat, ZipExportProvider } from "./abstract_provider.js";
44
import { RESOURCE_DIR } from "../../resource_dir";
55
import { getResourceDir, isDev } from "../../utils";
6-
import fs from "fs";
6+
import fs, { readdirSync } from "fs";
77
import { renderNoteForExport } from "../../../share/content_renderer";
88
import type BNote from "../../../becca/entities/bnote.js";
99
import type BBranch from "../../../becca/entities/bbranch.js";
10+
import { getShareThemeAssetDir } from "../../../routes/assets";
11+
12+
const shareThemeAssetDir = getShareThemeAssetDir();
1013

1114
export default class ShareThemeExportProvider extends ZipExportProvider {
1215

1316
private assetsMeta: NoteMeta[] = [];
1417
private indexMeta: NoteMeta | null = null;
1518

1619
prepareMeta(metaFile: NoteMetaFile): void {
20+
1721
const assets = [
1822
"style.css",
1923
"script.js",
@@ -26,6 +30,10 @@ export default class ShareThemeExportProvider extends ZipExportProvider {
2630
"icon-color.svg"
2731
];
2832

33+
for (const file of readdirSync(shareThemeAssetDir)) {
34+
assets.push(`assets/${file}`);
35+
}
36+
2937
for (const asset of assets) {
3038
const assetMeta = {
3139
noImport: true,
@@ -107,6 +115,8 @@ function getShareThemeAssets(nameWithExtension: string) {
107115
let path: string | undefined;
108116
if (nameWithExtension === "icon-color.svg") {
109117
path = join(RESOURCE_DIR, "images", nameWithExtension);
118+
} else if (nameWithExtension.startsWith("assets")) {
119+
path = join(shareThemeAssetDir, nameWithExtension.replace(/^assets\//, ""));
110120
} else if (isDev) {
111121
path = join(getResourceDir(), "..", "..", "client", "dist", "src", nameWithExtension);
112122
} else {

0 commit comments

Comments
 (0)