diff --git a/apps/server/src/routes/assets.ts b/apps/server/src/routes/assets.ts index 7cf47cf88..ec6f8b489 100644 --- a/apps/server/src/routes/assets.ts +++ b/apps/server/src/routes/assets.ts @@ -5,6 +5,7 @@ import express from "express"; import { getResourceDir, isDev } from "../services/utils.js"; import type serveStatic from "serve-static"; import proxy from "express-http-proxy"; +import contentCss from "@triliumnext/ckeditor5/content.css"; const persistentCacheStatic = (root: string, options?: serveStatic.ServeStaticOptions>>) => { if (!isDev) { @@ -20,6 +21,8 @@ async function register(app: express.Application) { const srcRoot = path.join(path.dirname(fileURLToPath(import.meta.url)), ".."); const resourceDir = getResourceDir(); + app.use(`/${assetPath}/libraries/ckeditor/ckeditor-content.css`, (req, res) => res.contentType("text/css").send(contentCss)); + if (isDev) { const publicUrl = process.env.TRILIUM_PUBLIC_SERVER; if (!publicUrl) { diff --git a/apps/server/src/types.d.ts b/apps/server/src/types.d.ts index 496ea53c9..b067c0e03 100644 --- a/apps/server/src/types.d.ts +++ b/apps/server/src/types.d.ts @@ -22,3 +22,8 @@ declare module "is-animated" { function isAnimated(buffer: Buffer): boolean; export default isAnimated; } + +declare module "@triliumnext/ckeditor5/content.css" { + const content: string; + export default content; +} diff --git a/apps/server/tsconfig.app.json b/apps/server/tsconfig.app.json index 2a567c5f2..591b4a5db 100644 --- a/apps/server/tsconfig.app.json +++ b/apps/server/tsconfig.app.json @@ -33,6 +33,9 @@ "src/**/*.spec.jsx" ], "references": [ + { + "path": "../../packages/ckeditor5/tsconfig.lib.json" + }, { "path": "../../packages/turndown-plugin-gfm/tsconfig.lib.json" }, diff --git a/apps/server/tsconfig.json b/apps/server/tsconfig.json index baacd3fa5..6bc224295 100644 --- a/apps/server/tsconfig.json +++ b/apps/server/tsconfig.json @@ -3,6 +3,9 @@ "files": [], "include": [], "references": [ + { + "path": "../../packages/ckeditor5" + }, { "path": "../../packages/turndown-plugin-gfm" }, diff --git a/apps/server/webpack.config.cjs b/apps/server/webpack.config.cjs index 1b68537b8..77089041e 100644 --- a/apps/server/webpack.config.cjs +++ b/apps/server/webpack.config.cjs @@ -1,6 +1,6 @@ const { NxAppWebpackPlugin } = require('@nx/webpack/app-plugin'); const CopyPlugin = require('copy-webpack-plugin'); -const { join, default: path } = require('path'); +const { join } = require('path'); const outputDir = join(__dirname, 'dist'); @@ -48,6 +48,14 @@ module.exports = { output: { path: outputDir }, + module: { + rules: [ + { + test: /\.css$/i, + type: "asset/source" + } + ] + }, plugins: [ new NxAppWebpackPlugin({ target: 'node', diff --git a/packages/ckeditor5/package.json b/packages/ckeditor5/package.json index f4a4b5f95..5b5cecea2 100644 --- a/packages/ckeditor5/package.json +++ b/packages/ckeditor5/package.json @@ -10,6 +10,7 @@ "exports": { "./package.json": "./package.json", "./emoji_definitions/": "./src/emoji_definitions/", + "./content.css": "./dist/content.css", ".": { "development": "./src/index.ts", "types": "./dist/index.d.ts",