mirror of
https://github.com/zadam/trilium.git
synced 2025-10-26 07:46:30 +01:00
client: Enable syntax highlighting in print
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import mimeTypesService from "./mime_types.js";
|
import mimeTypesService from "./mime_types.js";
|
||||||
import optionsService from "./options.js";
|
import optionsService from "./options.js";
|
||||||
|
import { getStylesheetUrl } from "./syntax_highlight.js";
|
||||||
|
|
||||||
const CKEDITOR = {"js": ["libraries/ckeditor/ckeditor.js"]};
|
const CKEDITOR = {"js": ["libraries/ckeditor/ckeditor.js"]};
|
||||||
|
|
||||||
@@ -176,12 +177,7 @@ function loadHighlightingTheme(theme) {
|
|||||||
$("head").append(highlightingThemeEl);
|
$("head").append(highlightingThemeEl);
|
||||||
}
|
}
|
||||||
|
|
||||||
let url;
|
const url = getStylesheetUrl(theme);
|
||||||
const defaultPrefix = "default:";
|
|
||||||
if (theme.startsWith(defaultPrefix)) {
|
|
||||||
url = `${window.glob.assetPath}/node_modules/@highlightjs/cdn-assets/styles/${theme.substr(defaultPrefix.length)}.min.css`;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (url) {
|
if (url) {
|
||||||
highlightingThemeEl.attr("href", url);
|
highlightingThemeEl.attr("href", url);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,19 @@ import library_loader from "./library_loader.js";
|
|||||||
import mime_types from "./mime_types.js";
|
import mime_types from "./mime_types.js";
|
||||||
import options from "./options.js";
|
import options from "./options.js";
|
||||||
|
|
||||||
|
export function getStylesheetUrl(theme) {
|
||||||
|
if (!theme) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
const defaultPrefix = "default:";
|
||||||
|
if (theme.startsWith(defaultPrefix)) {
|
||||||
|
return `${window.glob.assetPath}/node_modules/@highlightjs/cdn-assets/styles/${theme.substr(defaultPrefix.length)}.min.css`;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Identifies all the code blocks (as `pre code`) under the specified hierarchy and uses the highlight.js library to obtain the highlighted text which is then applied on to the code blocks.
|
* Identifies all the code blocks (as `pre code`) under the specified hierarchy and uses the highlight.js library to obtain the highlighted text which is then applied on to the code blocks.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ import ContentWidgetTypeWidget from "./type_widgets/content_widget.js";
|
|||||||
import AttachmentListTypeWidget from "./type_widgets/attachment_list.js";
|
import AttachmentListTypeWidget from "./type_widgets/attachment_list.js";
|
||||||
import AttachmentDetailTypeWidget from "./type_widgets/attachment_detail.js";
|
import AttachmentDetailTypeWidget from "./type_widgets/attachment_detail.js";
|
||||||
import MindMapWidget from "./type_widgets/mind_map.js";
|
import MindMapWidget from "./type_widgets/mind_map.js";
|
||||||
|
import { getStylesheetUrl, isSyntaxHighlightEnabled } from "../services/syntax_highlight.js";
|
||||||
|
|
||||||
const TPL = `
|
const TPL = `
|
||||||
<div class="note-detail">
|
<div class="note-detail">
|
||||||
@@ -255,6 +256,19 @@ export default class NoteDetailWidget extends NoteContextAwareWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const {assetPath} = window.glob;
|
const {assetPath} = window.glob;
|
||||||
|
const cssToLoad = [
|
||||||
|
`${assetPath}/node_modules/codemirror/lib/codemirror.css`,
|
||||||
|
`${assetPath}/libraries/ckeditor/ckeditor-content.css`,
|
||||||
|
`${assetPath}/node_modules/bootstrap/dist/css/bootstrap.min.css`,
|
||||||
|
`${assetPath}/node_modules/katex/dist/katex.min.css`,
|
||||||
|
`${assetPath}/stylesheets/print.css`,
|
||||||
|
`${assetPath}/stylesheets/relation_map.css`,
|
||||||
|
`${assetPath}/stylesheets/ckeditor-theme.css`
|
||||||
|
];
|
||||||
|
|
||||||
|
if (isSyntaxHighlightEnabled()) {
|
||||||
|
cssToLoad.push(getStylesheetUrl("default:vs"));
|
||||||
|
}
|
||||||
|
|
||||||
this.$widget.find('.note-detail-printable:visible').printThis({
|
this.$widget.find('.note-detail-printable:visible').printThis({
|
||||||
header: $("<div>")
|
header: $("<div>")
|
||||||
@@ -273,15 +287,7 @@ export default class NoteDetailWidget extends NoteContextAwareWidget {
|
|||||||
</script>
|
</script>
|
||||||
`,
|
`,
|
||||||
importCSS: false,
|
importCSS: false,
|
||||||
loadCSS: [
|
loadCSS: cssToLoad,
|
||||||
`${assetPath}/node_modules/codemirror/lib/codemirror.css`,
|
|
||||||
`${assetPath}/libraries/ckeditor/ckeditor-content.css`,
|
|
||||||
`${assetPath}/node_modules/bootstrap/dist/css/bootstrap.min.css`,
|
|
||||||
`${assetPath}/node_modules/katex/dist/katex.min.css`,
|
|
||||||
`${assetPath}/stylesheets/print.css`,
|
|
||||||
`${assetPath}/stylesheets/relation_map.css`,
|
|
||||||
`${assetPath}/stylesheets/ckeditor-theme.css`
|
|
||||||
],
|
|
||||||
debug: true
|
debug: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user