mirror of
				https://github.com/zadam/trilium.git
				synced 2025-11-03 20:06:08 +01:00 
			
		
		
		
	chore(ckeditor5/plugins): integrate internal link
This commit is contained in:
		
							
								
								
									
										4
									
								
								packages/ckeditor5/src/icons/trilium.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								packages/ckeditor5/src/icons/trilium.svg
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<svg enable-background="new 0 0 256 256" version="1.1" viewBox="0 0 256 256" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
 | 
			
		||||
	<path d="m232.6 27.598c-17.706 0.092041-40.298 3.7127-58.258 10.104-1.7959 0.63909-3.5465 1.3043-5.2402 1.998-3.1 1.2-6.0988 2.6016-8.7988 4.1016-2.2 1.2-4.3016 2.4988-6.1016 3.7988-21.6 15.5-27.9 44.2-28.6 65.4l14.9-10.5 14.301-10 51.199-35.9-49.1 39.301-14.1 11.299-14.801 11.801c20.4 6.5 52.4 9.7992 74.9-6.3008 3.1886-2.319 6.4708-5.1162 9.7559-8.459 0.14708-0.08175 0.29689-0.1571 0.44336-0.24023 2.3386-2.3386 4.7705-4.8714 7.0215-7.5898 0.02928-0.033868 0.05864-0.065681 0.08789-0.099609 0.0964-0.038723 0.1948-0.072111 0.29102-0.11133 14.544-16.737 27.833-39.152 32.252-55.658 0.67979-2.5395 1.1487-4.9387 1.3809-7.1562 0.11607-1.1088 0.17422-2.173 0.16797-3.1855-1.0438-0.3625-2.1849-0.68557-3.4121-0.9707-1.2272-0.28513-2.542-0.53096-3.9336-0.74024s-2.8595-0.38069-4.3965-0.51562c-3.0739-0.26987-6.4198-0.39341-9.9609-0.375zm-202.79 20.252c-11.737-0.05-22.113 1.4004-28.312 4.6504 0.9 5.6625 4.3309 13.419 9.3125 21.77v0.001953c3.3209 5.5664 7.332 11.395 11.74 17.043v0.001953c6.6127 8.4716 14.122 16.534 21.547 22.684 2.3 1.9 4.5008 3.5996 6.8008 5.0996 0.048555 0.0124 0.097907 0.019 0.14648 0.03125 1.7845 1.2837 3.569 2.2777 5.3535 3.1699 20.8 10.4 45.5 3.7984 62.1-4.1016l-14.301-7.2988-13.6-6.9004-48.127-24.607 49.928 21.707 14.5 6.3008 15.199 6.5996c-3.4-18.3-14.099-44-35.799-54.9-3.3-1.6-6.9004-3.1004-10.9-4.4004-2.9-0.9-5.8996-1.7-9.0996-2.5-11.65-2.75-24.751-4.2996-36.488-4.3496zm97.488 73.85 3.6992 13.9 3.5996 13.201 12.801 47.6-15.9-47-4.5-13.4-4.8008-14.199c-10.3 13.4-21.3 36.199-15.5 57.199 0.8747 3.11 2.1333 6.3182 3.6719 9.709 0.01066 0.06374 0.01836 0.12769 0.0293 0.19141 1.1 2.5 2.3988 5.0992 3.7988 7.6992 10.4 18.8 27.701 38.501 39.701 42.801 0.00763-0.00936 0.01581-0.01991 0.02344-0.0293 0.02502 0.00909 0.05119 0.02035 0.07617 0.0293 8.8-10.8 16.8-42.601 15.9-65.701-0.1-2.7-0.30117-5.2992-0.70117-7.6992-0.3-1.9-0.69922-3.8-1.1992-5.5-5.6-20.2-25.199-32.601-40.699-38.801z"/>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 2.0 KiB  | 
@@ -4,12 +4,14 @@ import CutToNotePlugin from "./plugins/cuttonote.js";
 | 
			
		||||
import UploadimagePlugin from "./plugins/uploadimage.js";
 | 
			
		||||
import ItalicAsEmPlugin from "./plugins/italic_as_em.js";
 | 
			
		||||
import StrikethroughAsDel from "./plugins/strikethrough_as_del.js";
 | 
			
		||||
import InternalLinkPlugin from "./plugins/internallink.js";
 | 
			
		||||
 | 
			
		||||
const TRILIUM_PLUGINS: typeof Plugin[] = [
 | 
			
		||||
    CutToNotePlugin,
 | 
			
		||||
    ItalicAsEmPlugin,
 | 
			
		||||
	StrikethroughAsDel,
 | 
			
		||||
    UploadimagePlugin
 | 
			
		||||
    UploadimagePlugin,
 | 
			
		||||
    InternalLinkPlugin
 | 
			
		||||
];
 | 
			
		||||
 | 
			
		||||
export const COMMON_PLUGINS: typeof Plugin[] = [
 | 
			
		||||
@@ -66,7 +68,6 @@ export const COMMON_PLUGINS: typeof Plugin[] = [
 | 
			
		||||
	// SpecialCharactersEmoji,
 | 
			
		||||
	FindAndReplace,
 | 
			
		||||
	Mention,
 | 
			
		||||
	// InternalLinkPlugin,
 | 
			
		||||
	// MarkdownImportPlugin,
 | 
			
		||||
	// MentionCustomization,
 | 
			
		||||
	// IncludeNote,
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										30
									
								
								packages/ckeditor5/src/plugins/internallink.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								packages/ckeditor5/src/plugins/internallink.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
import { ButtonView, Plugin } from 'ckeditor5';
 | 
			
		||||
import internalLinkIcon from '../icons/trilium.svg?raw';
 | 
			
		||||
 | 
			
		||||
export default class InternalLinkPlugin extends Plugin {
 | 
			
		||||
	init() {
 | 
			
		||||
		const editor = this.editor;
 | 
			
		||||
 | 
			
		||||
		editor.ui.componentFactory.add('internalLink', locale => {
 | 
			
		||||
			const view = new ButtonView( locale );
 | 
			
		||||
 | 
			
		||||
			view.set( {
 | 
			
		||||
				label: 'Internal Trilium link (CTRL-L)',
 | 
			
		||||
				icon: internalLinkIcon,
 | 
			
		||||
				tooltip: true
 | 
			
		||||
			} );
 | 
			
		||||
 | 
			
		||||
            // enable internal link only if the editor is not read only
 | 
			
		||||
			view.bind('isEnabled').to(editor, 'isReadOnly', isReadOnly => !isReadOnly);
 | 
			
		||||
 | 
			
		||||
			view.on('execute', () => {
 | 
			
		||||
				const editorEl = editor.editing.view.getDomRoot();
 | 
			
		||||
				const component = glob.getComponentByEl(editorEl);
 | 
			
		||||
 | 
			
		||||
				component.triggerCommand('addLinkToText');
 | 
			
		||||
			} );
 | 
			
		||||
 | 
			
		||||
			return view;
 | 
			
		||||
		});
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user