mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 10:26:08 +01:00 
			
		
		
		
	feat(docs): document some of the technologies used
This commit is contained in:
		| @@ -1521,8 +1521,24 @@ | ||||
|                             "isExpanded": false, | ||||
|                             "type": "text", | ||||
|                             "mime": "text/html", | ||||
|                             "attributes": [], | ||||
|                             "attributes": [ | ||||
|                                 { | ||||
|                                     "type": "relation", | ||||
|                                     "name": "internalLink", | ||||
|                                     "value": "KSZ04uQ2D1St", | ||||
|                                     "isInheritable": false, | ||||
|                                     "position": 10 | ||||
|                                 }, | ||||
|                                 { | ||||
|                                     "type": "label", | ||||
|                                     "name": "iconClass", | ||||
|                                     "value": "bx bxs-component", | ||||
|                                     "isInheritable": false, | ||||
|                                     "position": 20 | ||||
|                                 } | ||||
|                             ], | ||||
|                             "format": "markdown", | ||||
|                             "dataFileName": "Technologies used.md", | ||||
|                             "attachments": [], | ||||
|                             "dirFileName": "Technologies used", | ||||
|                             "children": [ | ||||
| @@ -1541,7 +1557,15 @@ | ||||
|                                     "isExpanded": false, | ||||
|                                     "type": "text", | ||||
|                                     "mime": "text/html", | ||||
|                                     "attributes": [], | ||||
|                                     "attributes": [ | ||||
|                                         { | ||||
|                                             "type": "relation", | ||||
|                                             "name": "internalLink", | ||||
|                                             "value": "iPIMuisry3hd", | ||||
|                                             "isInheritable": false, | ||||
|                                             "position": 10 | ||||
|                                         } | ||||
|                                     ], | ||||
|                                     "format": "markdown", | ||||
|                                     "dataFileName": "CKEditor.md", | ||||
|                                     "attachments": [] | ||||
| @@ -1561,7 +1585,15 @@ | ||||
|                                     "isExpanded": false, | ||||
|                                     "type": "text", | ||||
|                                     "mime": "text/html", | ||||
|                                     "attributes": [], | ||||
|                                     "attributes": [ | ||||
|                                         { | ||||
|                                             "type": "relation", | ||||
|                                             "name": "internalLink", | ||||
|                                             "value": "gBbsAeiuUxI5", | ||||
|                                             "isInheritable": false, | ||||
|                                             "position": 10 | ||||
|                                         } | ||||
|                                     ], | ||||
|                                     "format": "markdown", | ||||
|                                     "dataFileName": "MindElixir.md", | ||||
|                                     "attachments": [] | ||||
| @@ -1581,10 +1613,46 @@ | ||||
|                                     "isExpanded": false, | ||||
|                                     "type": "text", | ||||
|                                     "mime": "text/html", | ||||
|                                     "attributes": [], | ||||
|                                     "attributes": [ | ||||
|                                         { | ||||
|                                             "type": "relation", | ||||
|                                             "name": "internalLink", | ||||
|                                             "value": "grjYqerjn243", | ||||
|                                             "isInheritable": false, | ||||
|                                             "position": 10 | ||||
|                                         } | ||||
|                                     ], | ||||
|                                     "format": "markdown", | ||||
|                                     "dataFileName": "Excalidraw.md", | ||||
|                                     "attachments": [] | ||||
|                                 }, | ||||
|                                 { | ||||
|                                     "isClone": false, | ||||
|                                     "noteId": "MQHyy2dIFgxS", | ||||
|                                     "notePath": [ | ||||
|                                         "pOsGYCXsbNQG", | ||||
|                                         "tC7s2alapj8V", | ||||
|                                         "1YeN2MzFUluU", | ||||
|                                         "MQHyy2dIFgxS" | ||||
|                                     ], | ||||
|                                     "title": "Leaflet", | ||||
|                                     "notePosition": 40, | ||||
|                                     "prefix": null, | ||||
|                                     "isExpanded": false, | ||||
|                                     "type": "text", | ||||
|                                     "mime": "text/html", | ||||
|                                     "attributes": [ | ||||
|                                         { | ||||
|                                             "type": "relation", | ||||
|                                             "name": "internalLink", | ||||
|                                             "value": "81SGnPGMk7Xc", | ||||
|                                             "isInheritable": false, | ||||
|                                             "position": 10 | ||||
|                                         } | ||||
|                                     ], | ||||
|                                     "format": "markdown", | ||||
|                                     "dataFileName": "Leaflet.md", | ||||
|                                     "attachments": [] | ||||
|                                 } | ||||
|                             ] | ||||
|                         } | ||||
|   | ||||
| @@ -0,0 +1,4 @@ | ||||
| # Technologies used | ||||
| One core aspect of Trilium that allows it to have support for multiple [Note Types](../Note%20Types) is the fact that it makes use of various off-the-shelf or reusable libraries. | ||||
|  | ||||
| The sub-pages showcase some of the technologies used, for a better understanding of how Trilium works but also to credit the developers of that particular technology. | ||||
| @@ -0,0 +1,34 @@ | ||||
| # CKEditor | ||||
| ## Editor core | ||||
|  | ||||
| The CKEditor is the WYSIWYG (standing for What You See Is What You Get) editor behind [Text](../../Note%20Types/Text.md) notes. | ||||
|  | ||||
| Their website is [ckeditor.com](https://ckeditor.com/). | ||||
|  | ||||
| CKEditor by itself is a commercial product, but the core is open-source. As described in [its documentation](https://ckeditor.com/docs/ckeditor5/latest/features/index.html), the editor supports quite a large number of features. Do note that not all the features are enabled in Trilium. | ||||
|  | ||||
| ## Premium features | ||||
|  | ||||
| Some features are marked as premium in the CKEditor feature set. This means that they cannot be used without a license. | ||||
|  | ||||
| Trilium cannot benefit from any of these premium features as they require a commercial license, however we are in discussions with the CKEditor team to allow us to use a subset of these premium features such as [Slash commands](https://ckeditor.com/docs/ckeditor5/latest/features/slash-commands.html). | ||||
|  | ||||
| ## Plugins | ||||
|  | ||||
| The CKEditor ecosystem is quite extensible, in the sense that custom plugins can be written to extend the functionality of the editor beyond its original scope. | ||||
|  | ||||
| Trilium makes use of such features: | ||||
|  | ||||
| *   The math feature is added by a version of [isaul32/ckeditor5-math: Math feature for CKEditor 5.](https://github.com/isaul32/ckeditor5-math) modified by us to fit our needs. | ||||
| *   We also make use of modified upstream plugins such as [ckeditor/ckeditor5-mermaid](https://github.com/ckeditor/ckeditor5-mermaid) to allow inline Mermaid code. | ||||
| *   [mlewand/ckeditor5-keyboard-marker: Plugin adds support for the keyboard input element (<kbd>) to CKEditor 5.](https://github.com/mlewand/ckeditor5-keyboard-marker) | ||||
| *   A modified version of [ThomasAitken/ckeditor5-footnotes: Footnotes plugin for CKEditor5](https://github.com/ThomasAitken/ckeditor5-footnotes) to allow footnotes. | ||||
|  | ||||
| Apart from that, Trilium also has its own set of specific plugins such as: | ||||
|  | ||||
| *   Cut to note | ||||
| *   Include note | ||||
| *   Mentions, for linking pages. | ||||
| *   Markdown import. | ||||
| *   Reference links. | ||||
| *   etc. | ||||
| @@ -0,0 +1,4 @@ | ||||
| # Excalidraw | ||||
| [Excalidraw](https://excalidraw.com/) is the technology behind the [Canvas](../../Note%20Types/Canvas.md) notes. The source code of the library is available on [GitHub](https://github.com/excalidraw/excalidraw). | ||||
|  | ||||
| We are using an unmodified version of it, so it shares the same [issues](https://github.com/excalidraw/excalidraw/issues) as the original. | ||||
| @@ -0,0 +1,10 @@ | ||||
| # Leaflet | ||||
| Leaflet is the library behind [Geo map](../../Note%20Types/Geo%20map.md) notes. | ||||
|  | ||||
| ## Plugins | ||||
|  | ||||
| Leaflet is also highly customizable via external plugins. | ||||
|  | ||||
| Currently we use: | ||||
|  | ||||
| *   [mpetazzoni/leaflet-gpx: A GPX track plugin for Leaflet.js](https://github.com/mpetazzoni/leaflet-gpx) | ||||
| @@ -0,0 +1,12 @@ | ||||
| # MindElixir | ||||
| MindElixir is the library we are using for the [Mind Map](../../Note%20Types/Mind%20Map.md) note types. | ||||
|  | ||||
| The main library is available on [GitHub as mind-elixir-core](https://github.com/SSShooter/mind-elixir-core/issues). | ||||
|  | ||||
| The library is embedded as-is without additional modifications. | ||||
|  | ||||
| Issues with its functionality should generally be reported [upstream](https://github.com/ssshooter/mind-elixir-core). | ||||
|  | ||||
| ## Plugins | ||||
|  | ||||
| MindElixir supports plugins, and one such plugin we are making use of is [SSShooter/node-menu: A node menu plugin of mind-elixir](https://github.com/SSShooter/node-menu), which allows editing the fonts, colors, links of nodes. | ||||
							
								
								
									
										76
									
								
								src/public/app/doc_notes/en/User Guide/!!!meta.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										76
									
								
								src/public/app/doc_notes/en/User Guide/!!!meta.json
									
									
									
										generated
									
									
									
								
							| @@ -1521,8 +1521,24 @@ | ||||
|                             "isExpanded": false, | ||||
|                             "type": "text", | ||||
|                             "mime": "text/html", | ||||
|                             "attributes": [], | ||||
|                             "attributes": [ | ||||
|                                 { | ||||
|                                     "type": "relation", | ||||
|                                     "name": "internalLink", | ||||
|                                     "value": "KSZ04uQ2D1St", | ||||
|                                     "isInheritable": false, | ||||
|                                     "position": 10 | ||||
|                                 }, | ||||
|                                 { | ||||
|                                     "type": "label", | ||||
|                                     "name": "iconClass", | ||||
|                                     "value": "bx bxs-component", | ||||
|                                     "isInheritable": false, | ||||
|                                     "position": 20 | ||||
|                                 } | ||||
|                             ], | ||||
|                             "format": "html", | ||||
|                             "dataFileName": "Technologies used.html", | ||||
|                             "attachments": [], | ||||
|                             "dirFileName": "Technologies used", | ||||
|                             "children": [ | ||||
| @@ -1541,7 +1557,15 @@ | ||||
|                                     "isExpanded": false, | ||||
|                                     "type": "text", | ||||
|                                     "mime": "text/html", | ||||
|                                     "attributes": [], | ||||
|                                     "attributes": [ | ||||
|                                         { | ||||
|                                             "type": "relation", | ||||
|                                             "name": "internalLink", | ||||
|                                             "value": "iPIMuisry3hd", | ||||
|                                             "isInheritable": false, | ||||
|                                             "position": 10 | ||||
|                                         } | ||||
|                                     ], | ||||
|                                     "format": "html", | ||||
|                                     "dataFileName": "CKEditor.html", | ||||
|                                     "attachments": [] | ||||
| @@ -1561,7 +1585,15 @@ | ||||
|                                     "isExpanded": false, | ||||
|                                     "type": "text", | ||||
|                                     "mime": "text/html", | ||||
|                                     "attributes": [], | ||||
|                                     "attributes": [ | ||||
|                                         { | ||||
|                                             "type": "relation", | ||||
|                                             "name": "internalLink", | ||||
|                                             "value": "gBbsAeiuUxI5", | ||||
|                                             "isInheritable": false, | ||||
|                                             "position": 10 | ||||
|                                         } | ||||
|                                     ], | ||||
|                                     "format": "html", | ||||
|                                     "dataFileName": "MindElixir.html", | ||||
|                                     "attachments": [] | ||||
| @@ -1581,10 +1613,46 @@ | ||||
|                                     "isExpanded": false, | ||||
|                                     "type": "text", | ||||
|                                     "mime": "text/html", | ||||
|                                     "attributes": [], | ||||
|                                     "attributes": [ | ||||
|                                         { | ||||
|                                             "type": "relation", | ||||
|                                             "name": "internalLink", | ||||
|                                             "value": "grjYqerjn243", | ||||
|                                             "isInheritable": false, | ||||
|                                             "position": 10 | ||||
|                                         } | ||||
|                                     ], | ||||
|                                     "format": "html", | ||||
|                                     "dataFileName": "Excalidraw.html", | ||||
|                                     "attachments": [] | ||||
|                                 }, | ||||
|                                 { | ||||
|                                     "isClone": false, | ||||
|                                     "noteId": "MQHyy2dIFgxS", | ||||
|                                     "notePath": [ | ||||
|                                         "pOsGYCXsbNQG", | ||||
|                                         "tC7s2alapj8V", | ||||
|                                         "1YeN2MzFUluU", | ||||
|                                         "MQHyy2dIFgxS" | ||||
|                                     ], | ||||
|                                     "title": "Leaflet", | ||||
|                                     "notePosition": 40, | ||||
|                                     "prefix": null, | ||||
|                                     "isExpanded": false, | ||||
|                                     "type": "text", | ||||
|                                     "mime": "text/html", | ||||
|                                     "attributes": [ | ||||
|                                         { | ||||
|                                             "type": "relation", | ||||
|                                             "name": "internalLink", | ||||
|                                             "value": "81SGnPGMk7Xc", | ||||
|                                             "isInheritable": false, | ||||
|                                             "position": 10 | ||||
|                                         } | ||||
|                                     ], | ||||
|                                     "format": "html", | ||||
|                                     "dataFileName": "Leaflet.html", | ||||
|                                     "attachments": [] | ||||
|                                 } | ||||
|                             ] | ||||
|                         } | ||||
|   | ||||
							
								
								
									
										27
									
								
								src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Technologies used.html
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Technologies used.html
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | ||||
| <html> | ||||
|    | ||||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1"> | ||||
|     <link rel="stylesheet" href="../../style.css"> | ||||
|     <base target="_parent"> | ||||
|     <title data-trilium-title>Technologies used</title> | ||||
|   </head> | ||||
|    | ||||
|   <body> | ||||
|     <div class="content"> | ||||
|        <h1 data-trilium-h1>Technologies used</h1> | ||||
|  | ||||
|       <div class="ck-content"> | ||||
|         <p>One core aspect of Trilium that allows it to have support for multiple  | ||||
|           <a | ||||
|           class="reference-link" href="../Note%20Types">Note Types</a> is the fact that it makes use of various off-the-shelf | ||||
|             or reusable libraries.</p> | ||||
|         <p>The sub-pages showcase some of the technologies used, for a better understanding | ||||
|           of how Trilium works but also to credit the developers of that particular | ||||
|           technology.</p> | ||||
|       </div> | ||||
|     </div> | ||||
|   </body> | ||||
|  | ||||
| </html> | ||||
| @@ -12,7 +12,47 @@ | ||||
|     <div class="content"> | ||||
|        <h1 data-trilium-h1>CKEditor</h1> | ||||
|  | ||||
|       <div class="ck-content"></div> | ||||
|       <div class="ck-content"> | ||||
|         <h2>Editor core</h2> | ||||
|         <p>The CKEditor is the WYSIWYG (standing for What You See Is What You Get) | ||||
|           editor behind <a class="reference-link" href="../../Note%20Types/Text.html">Text</a> notes.</p> | ||||
|         <p>Their website is <a href="https://ckeditor.com/">ckeditor.com</a>.</p> | ||||
|         <p>CKEditor by itself is a commercial product, but the core is open-source. | ||||
|           As described in <a href="https://ckeditor.com/docs/ckeditor5/latest/features/index.html">its documentation</a>, | ||||
|           the editor supports quite a large number of features. Do note that not | ||||
|           all the features are enabled in Trilium.</p> | ||||
|         <h2>Premium features</h2> | ||||
|         <p>Some features are marked as premium in the CKEditor feature set. This | ||||
|           means that they cannot be used without a license.</p> | ||||
|         <p>Trilium cannot benefit from any of these premium features as they require | ||||
|           a commercial license, however we are in discussions with the CKEditor team | ||||
|           to allow us to use a subset of these premium features such as <a href="https://ckeditor.com/docs/ckeditor5/latest/features/slash-commands.html">Slash commands</a>.</p> | ||||
|         <h2>Plugins</h2> | ||||
|         <p>The CKEditor ecosystem is quite extensible, in the sense that custom plugins | ||||
|           can be written to extend the functionality of the editor beyond its original | ||||
|           scope.</p> | ||||
|         <p>Trilium makes use of such features:</p> | ||||
|         <ul> | ||||
|           <li>The math feature is added by a version of <a href="https://github.com/isaul32/ckeditor5-math">isaul32/ckeditor5-math: Math feature for CKEditor 5.</a> modified | ||||
|             by us to fit our needs.</li> | ||||
|           <li>We also make use of modified upstream plugins such as <a href="https://github.com/ckeditor/ckeditor5-mermaid">ckeditor/ckeditor5-mermaid</a> to | ||||
|             allow inline Mermaid code.</li> | ||||
|           <li><a href="https://github.com/mlewand/ckeditor5-keyboard-marker">mlewand/ckeditor5-keyboard-marker: Plugin adds support for the keyboard input element (<kbd>) to CKEditor 5.</a>  | ||||
|           </li> | ||||
|           <li>A modified version of <a href="https://github.com/ThomasAitken/ckeditor5-footnotes">ThomasAitken/ckeditor5-footnotes: Footnotes plugin for CKEditor5</a> to | ||||
|             allow footnotes.</li> | ||||
|         </ul> | ||||
|         <p>Apart from that, Trilium also has its own set of specific plugins such | ||||
|           as:</p> | ||||
|         <ul> | ||||
|           <li>Cut to note</li> | ||||
|           <li>Include note</li> | ||||
|           <li>Mentions, for linking pages.</li> | ||||
|           <li>Markdown import.</li> | ||||
|           <li>Reference links.</li> | ||||
|           <li>etc.</li> | ||||
|         </ul> | ||||
|       </div> | ||||
|     </div> | ||||
|   </body> | ||||
|  | ||||
|   | ||||
| @@ -12,7 +12,13 @@ | ||||
|     <div class="content"> | ||||
|        <h1 data-trilium-h1>Excalidraw</h1> | ||||
|  | ||||
|       <div class="ck-content"></div> | ||||
|       <div class="ck-content"> | ||||
|         <p><a href="https://excalidraw.com/">Excalidraw</a> is the technology behind | ||||
|           the <a class="reference-link" href="../../Note%20Types/Canvas.html">Canvas</a> notes. | ||||
|           The source code of the library is available on <a href="https://github.com/excalidraw/excalidraw">GitHub</a>.</p> | ||||
|         <p>We are using an unmodified version of it, so it shares the same <a href="https://github.com/excalidraw/excalidraw/issues">issues</a> as | ||||
|           the original.</p> | ||||
|       </div> | ||||
|     </div> | ||||
|   </body> | ||||
|  | ||||
|   | ||||
							
								
								
									
										28
									
								
								src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Technologies used/Leaflet.html
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Technologies used/Leaflet.html
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | ||||
| <html> | ||||
|    | ||||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1"> | ||||
|     <link rel="stylesheet" href="../../../style.css"> | ||||
|     <base target="_parent"> | ||||
|     <title data-trilium-title>Leaflet</title> | ||||
|   </head> | ||||
|    | ||||
|   <body> | ||||
|     <div class="content"> | ||||
|        <h1 data-trilium-h1>Leaflet</h1> | ||||
|  | ||||
|       <div class="ck-content"> | ||||
|         <p>Leaflet is the library behind <a class="reference-link" href="../../Note%20Types/Geo%20map.html">Geo map</a> notes.</p> | ||||
|         <h2>Plugins</h2> | ||||
|         <p>Leaflet is also highly customizable via external plugins.</p> | ||||
|         <p>Currently we use:</p> | ||||
|         <ul> | ||||
|           <li><a href="https://github.com/mpetazzoni/leaflet-gpx">mpetazzoni/leaflet-gpx: A GPX track plugin for Leaflet.js</a> | ||||
|           </li> | ||||
|         </ul> | ||||
|       </div> | ||||
|     </div> | ||||
|   </body> | ||||
|  | ||||
| </html> | ||||
| @@ -12,7 +12,17 @@ | ||||
|     <div class="content"> | ||||
|        <h1 data-trilium-h1>MindElixir</h1> | ||||
|  | ||||
|       <div class="ck-content"></div> | ||||
|       <div class="ck-content"> | ||||
|         <p>MindElixir is the library we are using for the <a class="reference-link" | ||||
|           href="../../Note%20Types/Mind%20Map.html">Mind Map</a> note types.</p> | ||||
|         <p>The main library is available on <a href="https://github.com/SSShooter/mind-elixir-core/issues">GitHub as mind-elixir-core</a>.</p> | ||||
|         <p>The library is embedded as-is without additional modifications.</p> | ||||
|         <p>Issues with its functionality should generally be reported <a href="https://github.com/ssshooter/mind-elixir-core">upstream</a>.</p> | ||||
|         <h2>Plugins</h2> | ||||
|         <p>MindElixir supports plugins, and one such plugin we are making use of | ||||
|           is <a href="https://github.com/SSShooter/node-menu">SSShooter/node-menu: A node menu plugin of mind-elixir</a>, | ||||
|           which allows editing the fonts, colors, links of nodes.</p> | ||||
|       </div> | ||||
|     </div> | ||||
|   </body> | ||||
|  | ||||
|   | ||||
| @@ -76,7 +76,7 @@ | ||||
|               </li> | ||||
|               <li><a href="User%20Guide/Advanced%20Usage/Note%20source.html" target="detail">Note source</a> | ||||
|               </li> | ||||
|               <li>Technologies used | ||||
|               <li><a href="User%20Guide/Advanced%20Usage/Technologies%20used.html" target="detail">Technologies used</a> | ||||
|                 <ul> | ||||
|                   <li><a href="User%20Guide/Advanced%20Usage/Technologies%20used/CKEditor.html" | ||||
|                     target="detail">CKEditor</a> | ||||
| @@ -87,6 +87,9 @@ | ||||
|                   <li><a href="User%20Guide/Advanced%20Usage/Technologies%20used/Excalidraw.html" | ||||
|                     target="detail">Excalidraw</a> | ||||
|                   </li> | ||||
|                   <li><a href="User%20Guide/Advanced%20Usage/Technologies%20used/Leaflet.html" | ||||
|                     target="detail">Leaflet</a> | ||||
|                   </li> | ||||
|                 </ul> | ||||
|               </li> | ||||
|             </ul> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user