From 8bdf3626f0fc7d4372e113b53a9dd1b2443619f3 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 9 Jun 2025 14:13:35 +0300 Subject: [PATCH] refactor(share): integrate with client --- apps/client/package.json | 1 + apps/client/src/share.ts | 1 + apps/client/tsconfig.app.json | 7 +++++-- apps/server/package.json | 5 ----- apps/server/src/assets/views/share/page.ejs | 6 +++++- apps/server/src/routes/assets.ts | 1 - packages/share-theme/package.json | 1 + packages/share-theme/src/templates/page.ejs | 9 +++------ 8 files changed, 16 insertions(+), 15 deletions(-) diff --git a/apps/client/package.json b/apps/client/package.json index 33133da87..8d0d67928 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -25,6 +25,7 @@ "@triliumnext/codemirror": "workspace:*", "@triliumnext/commons": "workspace:*", "@triliumnext/highlightjs": "workspace:*", + "@triliumnext/share-theme": "workspace:*", "autocomplete.js": "0.38.1", "bootstrap": "5.3.6", "boxicons": "2.1.4", diff --git a/apps/client/src/share.ts b/apps/client/src/share.ts index 6e221b1f1..cc688a02b 100644 --- a/apps/client/src/share.ts +++ b/apps/client/src/share.ts @@ -1,5 +1,6 @@ import "normalize.css"; import "@triliumnext/ckeditor5/content.css"; +import "@triliumnext/share-theme/styles/index.css"; /** * Fetch note with given ID from backend diff --git a/apps/client/tsconfig.app.json b/apps/client/tsconfig.app.json index e51437ed1..f9c39c609 100644 --- a/apps/client/tsconfig.app.json +++ b/apps/client/tsconfig.app.json @@ -34,14 +34,17 @@ "src/**/*.ts" ], "references": [ + { + "path": "../../packages/share-theme" + }, { "path": "../../packages/highlightjs/tsconfig.lib.json" }, { - "path": "../../packages/codemirror/tsconfig.lib.json" + "path": "../../packages/commons/tsconfig.lib.json" }, { - "path": "../../packages/commons/tsconfig.lib.json" + "path": "../../packages/codemirror/tsconfig.lib.json" }, { "path": "../../packages/ckeditor5/tsconfig.lib.json" diff --git a/apps/server/package.json b/apps/server/package.json index 9530f7b11..a05626348 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -252,11 +252,6 @@ "glob": "**/*", "input": "packages/share-theme/src/templates", "output": "share-theme/templates" - }, - { - "glob": "**/*", - "input": "packages/share-theme/dist", - "output": "share-theme/public" } ] } diff --git a/apps/server/src/assets/views/share/page.ejs b/apps/server/src/assets/views/share/page.ejs index 68d6ca891..2fba4702b 100644 --- a/apps/server/src/assets/views/share/page.ejs +++ b/apps/server/src/assets/views/share/page.ejs @@ -12,7 +12,11 @@ <% } else { %> <% } %> - + + + <% if (!note.isLabelTruthy("shareOmitDefaultCss")) { %> + + <% } %> <% for (const cssRelation of note.getRelations("shareCss")) { %> <% } %> diff --git a/apps/server/src/routes/assets.ts b/apps/server/src/routes/assets.ts index c5795e7cf..c11742132 100644 --- a/apps/server/src/routes/assets.ts +++ b/apps/server/src/routes/assets.ts @@ -48,7 +48,6 @@ async function register(app: express.Application) { app.use(`/assets/vX/stylesheets`, express.static(path.join(srcRoot, "public/stylesheets"))); app.use(`/${assetUrlFragment}/libraries`, persistentCacheStatic(path.join(srcRoot, "public/libraries"))); app.use(`/assets/vX/libraries`, express.static(path.join(srcRoot, "..", "libraries"))); - app.use(`/share/assets`, express.static(path.join(resourceDir, "share-theme", "public"))); } export default { diff --git a/packages/share-theme/package.json b/packages/share-theme/package.json index 612092765..09c1217de 100644 --- a/packages/share-theme/package.json +++ b/packages/share-theme/package.json @@ -12,6 +12,7 @@ }, "exports": { "./templates/*": "./src/templates/*", + "./styles/*": "./src/styles/*", "./*": "./dist/*" }, "author": "", diff --git a/packages/share-theme/src/templates/page.ejs b/packages/share-theme/src/templates/page.ejs index 15ba3efd5..b3f8f2d19 100644 --- a/packages/share-theme/src/templates/page.ejs +++ b/packages/share-theme/src/templates/page.ejs @@ -11,6 +11,9 @@ api/notes/<%= note.getRelation("shareFavicon").value %>/download<% } else { %>../favicon.ico<% } %>"> + <% if (!note.isLabelTruthy("shareOmitDefaultCss")) { %> + + <% } %> <% if (note.hasLabel("shareSwagger")) { %> @@ -51,15 +54,9 @@ const customServerYml = `- url: "{protocol}://{domain}:{port}/etapi" <% if (note.type === "text" || note.type === "book") { %> <% } %> - <% if (!note.isLabelTruthy("shareOmitDefaultCss")) { %> - - <% } %> <% for (const cssRelation of note.getRelations("shareCss")) { %> <% } %> - <% if (!note.isLabelTruthy("shareOmitDefaultCss")) { %> - - <% } %> <% for (const jsRelation of note.getRelations("shareJs")) { %> <% } %>