diff --git a/libraries/excalidraw/canvas_note_share.js b/libraries/excalidraw/canvas_note_share.js index a0c47fc65..3662f81b3 100644 --- a/libraries/excalidraw/canvas_note_share.js +++ b/libraries/excalidraw/canvas_note_share.js @@ -9,7 +9,8 @@ const App = () => { height: appState.height, }); const [viewModeEnabled, setViewModeEnabled] = React.useState(false); - console.log("no render?"); + + // ensure that assets are loaded from trilium /** * resizing diff --git a/src/app.js b/src/app.js index c024e15c0..abc3c2451 100644 --- a/src/app.js +++ b/src/app.js @@ -30,8 +30,11 @@ app.use(express.urlencoded({extended: false})); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); app.use('/libraries', express.static(path.join(__dirname, '..', 'libraries'))); -// node_modules required for excalidraw-view mode in shared notes -app.use('/node_modules', express.static(path.join(__dirname, '..', 'node_modules'))); +// excalidraw-view mode in shared notes +app.use('/node_modules/react/umd/react.production.min.js', express.static(path.join(__dirname, '..', 'node_modules/react/umd/react.production.min.js'))); +app.use('/node_modules/react-dom/umd/react-dom.production.min.js', express.static(path.join(__dirname, '..', 'node_modules/react-dom/umd/react-dom.production.min.js'))); +// expose whole dist folder since complete assets are needed in edit and share +app.use('/node_modules/@excalidraw/excalidraw/dist/', express.static(path.join(__dirname, '..', 'node_modules/@excalidraw/excalidraw/dist/'))); app.use('/images', express.static(path.join(__dirname, '..', 'images'))); const sessionParser = session({ secret: sessionSecret, diff --git a/src/public/app/dialogs/note_revisions.js b/src/public/app/dialogs/note_revisions.js index c0333b525..19e5f8b81 100644 --- a/src/public/app/dialogs/note_revisions.js +++ b/src/public/app/dialogs/note_revisions.js @@ -183,7 +183,6 @@ async function setContentPane() { const svg = data.svg || "no svg present." /** - * Debatable * maxWidth: 100% use full width of container but do not enlarge! * height:auto to ensure that height scales with width */ diff --git a/src/public/app/widgets/type_widgets/canvas-note-utils/replaceExternalAssets.js b/src/public/app/widgets/type_widgets/canvas-note-utils/replaceExternalAssets.js new file mode 100644 index 000000000..d2ecfced8 --- /dev/null +++ b/src/public/app/widgets/type_widgets/canvas-note-utils/replaceExternalAssets.js @@ -0,0 +1,16 @@ +/** + * replaces exlicraw.com and unpkg.com with own assets + * + * workaround until https://github.com/excalidraw/excalidraw/pull/5065 is merged and published + * + * @param {string} string + * @returns + */ +const replaceExternalAssets = (string) => { + let result = string; + // exlidraw.com asset in react usage + result = result.replaceAll("https://excalidraw.com/", window.EXCALIDRAW_ASSET_PATH+"excalidraw-assets/"); + return result; +} + +export default replaceExternalAssets; \ No newline at end of file diff --git a/src/public/app/widgets/type_widgets/canvas_note.js b/src/public/app/widgets/type_widgets/canvas_note.js index f56f98ceb..001429a5f 100644 --- a/src/public/app/widgets/type_widgets/canvas_note.js +++ b/src/public/app/widgets/type_widgets/canvas_note.js @@ -5,6 +5,7 @@ import sleep from './canvas-note-utils/sleep.js'; import froca from "../../services/froca.js"; import debounce from "./canvas-note-utils/lodash.debounce.js"; import uniqueId from "./canvas-note-utils/lodash.uniqueId.js"; +import replaceExternalAssets from "./canvas-note-utils/replaceExternalAssets.js"; const TPL = `