mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 02:16:05 +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