mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-08-10 10:22:29 +08:00
feat(docs): document some of the technologies used
This commit is contained in:
parent
fbfeb7d2bf
commit
80cfd73cae
@ -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>
|
||||
|
Loading…
x
Reference in New Issue
Block a user