small mermaid fixes

This commit is contained in:
zadam 2023-01-15 13:48:01 +01:00
parent a004a8b092
commit 424b624ea9
4 changed files with 12 additions and 8 deletions

10
package-lock.json generated
View File

@ -1,11 +1,12 @@
{ {
"name": "trilium", "name": "trilium",
"version": "0.58.3-beta", "version": "0.58.5",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"version": "0.58.3-beta", "name": "trilium",
"version": "0.58.5",
"hasInstallScript": true, "hasInstallScript": true,
"license": "AGPL-3.0-only", "license": "AGPL-3.0-only",
"dependencies": { "dependencies": {
@ -29,6 +30,7 @@
"electron-debug": "3.2.0", "electron-debug": "3.2.0",
"electron-dl": "3.5.0", "electron-dl": "3.5.0",
"electron-window-state": "5.0.3", "electron-window-state": "5.0.3",
"escape-html": "^1.0.3",
"express": "4.18.2", "express": "4.18.2",
"express-partial-content": "1.0.2", "express-partial-content": "1.0.2",
"express-rate-limit": "6.7.0", "express-rate-limit": "6.7.0",
@ -4774,7 +4776,7 @@
"node_modules/escape-html": { "node_modules/escape-html": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
}, },
"node_modules/escape-string-regexp": { "node_modules/escape-string-regexp": {
"version": "1.0.5", "version": "1.0.5",
@ -14267,7 +14269,7 @@
"escape-html": { "escape-html": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
}, },
"escape-string-regexp": { "escape-string-regexp": {
"version": "1.0.5", "version": "1.0.5",

View File

@ -49,6 +49,7 @@
"electron-debug": "3.2.0", "electron-debug": "3.2.0",
"electron-dl": "3.5.0", "electron-dl": "3.5.0",
"electron-window-state": "5.0.3", "electron-window-state": "5.0.3",
"escape-html": "1.0.3",
"express": "4.18.2", "express": "4.18.2",
"express-partial-content": "1.0.2", "express-partial-content": "1.0.2",
"express-rate-limit": "6.7.0", "express-rate-limit": "6.7.0",

View File

@ -234,7 +234,7 @@ export default class NoteRevisionsDialog extends BasicWidget {
renderMathInElement($content[0], {trust: true}); renderMathInElement($content[0], {trust: true});
} }
} }
else if (revisionItem.type === 'code') { else if (revisionItem.type === 'code' || revisionItem.type === 'mermaid') {
this.$content.html($("<pre>").text(fullNoteRevision.content)); this.$content.html($("<pre>").text(fullNoteRevision.content));
} }
else if (revisionItem.type === 'image') { else if (revisionItem.type === 'image') {

View File

@ -2,6 +2,7 @@ const {JSDOM} = require("jsdom");
const shaca = require("./shaca/shaca"); const shaca = require("./shaca/shaca");
const assetPath = require("../services/asset_path"); const assetPath = require("../services/asset_path");
const shareRoot = require('./share_root'); const shareRoot = require('./share_root');
const escapeHtml = require('escape-html');
function getContent(note) { function getContent(note) {
if (note.isProtected) { if (note.isProtected) {
@ -112,17 +113,17 @@ function renderCode(result) {
function renderMermaid(result) { function renderMermaid(result) {
result.content = ` result.content = `
<div class="mermaid">${result.content}</div> <div class="mermaid">${escapeHtml(result.content)}</div>
<hr> <hr>
<details> <details>
<summary>Chart source</summary> <summary>Chart source</summary>
<pre>${result.content}</pre> <pre>${escapeHtml(result.content)}</pre>
</details>` </details>`
result.header += `<script src="../../${assetPath}/libraries/mermaid.min.js"></script>`; result.header += `<script src="../../${assetPath}/libraries/mermaid.min.js"></script>`;
} }
function renderImage(result, note) { function renderImage(result, note) {
result.content = `<img src="api/images/${note.noteId}/${note.title}?${note.utcDateModified}">`; result.content = `<img src="api/images/${note.noteId}/${note.escapedTitle}?${note.utcDateModified}">`;
} }
function renderFile(note, result) { function renderFile(note, result) {