docs(dev): branching strategy

This commit is contained in:
Elian Doran
2025-11-10 19:29:50 +02:00
parent 52691b9e88
commit 3b5d749d86
10 changed files with 221 additions and 160 deletions

View File

@@ -3,20 +3,20 @@
on the&nbsp;<a class="reference-link" href="#root/_help_KSZ04uQ2D1St">Note Types</a>.</p> on the&nbsp;<a class="reference-link" href="#root/_help_KSZ04uQ2D1St">Note Types</a>.</p>
<p>For example:</p> <p>For example:</p>
<ul> <ul>
<li data-list-item-id="ebc54dbd967545eaa1cf05baaec3301e4"><a class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a>&nbsp;notes&nbsp;are <li><a class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a>&nbsp;notes&nbsp;are
represented internally as HTML, using the&nbsp;<a class="reference-link" represented internally as HTML, using the&nbsp;<a class="reference-link"
href="#root/_help_MI26XDLSAlCD">CKEditor</a>&nbsp;representation. Note that due href="#root/_help_MI26XDLSAlCD">CKEditor</a>&nbsp;representation. Note that due
to the custom plugins, some HTML elements are specific to Trilium only, to the custom plugins, some HTML elements are specific to Trilium only,
for example the admonitions.</li> for example the admonitions.</li>
<li data-list-item-id="e9db153626d78283f5b88e6ecf4fb89e8"><a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a>&nbsp;notes&nbsp;are <li><a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a>&nbsp;notes&nbsp;are
plain text and are represented internally as-is.</li> plain text and are represented internally as-is.</li>
<li data-list-item-id="e34278a9d4b99207971a78bdf122f2ccc"><a class="reference-link" href="#root/_help_81SGnPGMk7Xc">Geo Map</a>&nbsp;notes <li><a class="reference-link" href="#root/_help_81SGnPGMk7Xc">Geo Map</a>&nbsp;notes
contain only minimal information (viewport, zoom) as a JSON.</li> contain only minimal information (viewport, zoom) as a JSON.</li>
<li data-list-item-id="ec1ce540e6b1fe7dfd86bed6c220aed78"><a class="reference-link" href="#root/_help_grjYqerjn243">Canvas</a>&nbsp;notes <li><a class="reference-link" href="#root/_help_grjYqerjn243">Canvas</a>&nbsp;notes
are represented as JSON, with Trilium's own information alongside with&nbsp; are represented as JSON, with Trilium's own information alongside with&nbsp;
<a <a
class="reference-link" href="#root/_help_H0mM1lTxF9JI">Excalidraw</a>'s internal JSON representation format.</li> class="reference-link" href="#root/_help_H0mM1lTxF9JI">Excalidraw</a>'s internal JSON representation format.</li>
<li data-list-item-id="ea9996ff8bef4e6883ddbe82c54eef053"><a class="reference-link" href="#root/_help_gBbsAeiuUxI5">Mind Map</a>&nbsp;notes <li><a class="reference-link" href="#root/_help_gBbsAeiuUxI5">Mind Map</a>&nbsp;notes
are represented as JSON, with the internal format of&nbsp;<a class="reference-link" are represented as JSON, with the internal format of&nbsp;<a class="reference-link"
href="#root/_help_N4IDkixaDG9C">MindElixir</a>.</li> href="#root/_help_N4IDkixaDG9C">MindElixir</a>.</li>
</ul> </ul>
@@ -53,13 +53,11 @@
via the <em>Note source</em> functionality.&nbsp;</p> via the <em>Note source</em> functionality.&nbsp;</p>
<p>To do so:</p> <p>To do so:</p>
<ol> <ol>
<li data-list-item-id="e3ddd3927c9674b21d9366f687d7b04e3">Change the note type from the real note type (e.g. Canvas, Geo Type) to <li>Change the note type from the real note type (e.g. Canvas, Geo Type) to
Code (plain text) or the corresponding format such as JSON or HTML.</li> Code (plain text) or the corresponding format such as JSON or HTML.</li>
<li <li>Confirm the warning about changing the note type.</li>
data-list-item-id="ee2584db291a66443de4ba8c135edef30">Confirm the warning about changing the note type.</li> <li>The source code will appear, make the necessary modifications.</li>
<li data-list-item-id="e04b0273e9698aaca4e82385a1b30391b">The source code will appear, make the necessary modifications.</li> <li>Change the note type back to the real note type.</li>
<li
data-list-item-id="e5ed8795d2e97985154ac9d3141f82792">Change the note type back to the real note type.</li>
</ol> </ol>
<aside class="admonition warning"> <aside class="admonition warning">
<p>Depending on the changes made, there is a risk that the note will not <p>Depending on the changes made, there is a risk that the note will not

View File

@@ -7,6 +7,7 @@
text and graphics input.</p> text and graphics input.</p>
<h2>Interaction</h2> <h2>Interaction</h2>
<ul> <ul>
<li data-list-item-id="ea577485b17ccabf0cf7fecff81332245">The note can be togged <a href="#root/pOsGYCXsbNQG/gh7bpGYxajRS/BFs8mudNFgCS/_help_CoFPLs3dRlXc">read-only</a> from <li>The note can be togged <a href="#root/_help_CoFPLs3dRlXc">read-only</a> from the&nbsp;
the&nbsp;<a class="reference-link" href="#root/pOsGYCXsbNQG/gh7bpGYxajRS/Vc8PjrjAGuOp/_help_XpOYSgsLkTJy">Floating buttons</a>&nbsp;section.</li> <a
class="reference-link" href="#root/_help_XpOYSgsLkTJy">Floating buttons</a>&nbsp;section.</li>
</ul> </ul>

View File

@@ -4,9 +4,8 @@
<p>Since these files come from an external source, it is not possible to <p>Since these files come from an external source, it is not possible to
create a <em>File</em> note type directly:</p> create a <em>File</em> note type directly:</p>
<ul> <ul>
<li data-list-item-id="ee9781f61816a35425aaf6df8200d75eb">Drag a file into the&nbsp;<a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</li> <li>Drag a file into the&nbsp;<a class="reference-link" href="#root/_help_oPVyFC7WL2Lp">Note Tree</a>.</li>
<li <li>Right click a note and select <em>Import into note</em> and point it to
data-list-item-id="e8b02a22c1cbb3aee700610a130a3945e">Right click a note and select <em>Import into note</em> and point it to
one of the supported files.</li> one of the supported files.</li>
</ul> </ul>
<h2>Supported file types</h2> <h2>Supported file types</h2>
@@ -18,20 +17,18 @@
<p>PDFs can be browsed directly from Trilium.</p> <p>PDFs can be browsed directly from Trilium.</p>
<p>Interaction:</p> <p>Interaction:</p>
<ul> <ul>
<li data-list-item-id="e0da92c18f393adeeec3c0ea55b1a47ff">Press the menu icon at the top-left to see a preview (thumbnail) of all <li>Press the menu icon at the top-left to see a preview (thumbnail) of all
the pages, as well as a table of contents (if the PDF has this information).</li> the pages, as well as a table of contents (if the PDF has this information).</li>
<li <li>See or edit the page number at the top.</li>
data-list-item-id="e0e2fc501819641bd7c8267b6a6f06f0b">See or edit the page number at the top.</li> <li>Adjust the zoom using the buttons at the top or manually editing the value.</li>
<li data-list-item-id="e00a7d34b3b16aafe23479f9ba9f04360">Adjust the zoom using the buttons at the top or manually editing the value.</li> <li>Rotate the document if it's in the wrong orientation.</li>
<li <li>In the contextual menu:
data-list-item-id="e809b30934c7f9b6be14d0f365b42302f">Rotate the document if it's in the wrong orientation.</li> <ul>
<li data-list-item-id="efac3b8035f45619287e5fe5699f3b688">In the contextual menu: <li>View two pages at once (great for books).</li>
<ul> <li>Toggle annotations (if present in the document).</li>
<li data-list-item-id="e99e7f891524ea484b6171d91fbb7b14c">View two pages at once (great for books).</li> <li>View document properties.</li>
<li data-list-item-id="e7131db4a5bc47bff0b9d8f6dfd58c179">Toggle annotations (if present in the document).</li> </ul>
<li data-list-item-id="ed667fe2ef3e274720677cecdb9efe68c">View document properties.</li> </li>
</ul>
</li>
</ul> </ul>
<h3>Images</h3> <h3>Images</h3>
<figure class="image image-style-align-center image_resized" style="width:50%;"> <figure class="image image-style-align-center image_resized" style="width:50%;">
@@ -40,14 +37,14 @@
</figure> </figure>
<p>Interaction:</p> <p>Interaction:</p>
<ul> <ul>
<li data-list-item-id="ea81bcb9d4e647ec13c2afb5b7c55bcae"><em>Copy reference to clipboard</em>, for embedding the image within&nbsp; <li><em>Copy reference to clipboard</em>, for embedding the image within&nbsp;
<a <a
class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a>&nbsp;notes. class="reference-link" href="#root/_help_iPIMuisry3hd">Text</a>&nbsp;notes.
<ul> <ul>
<li data-list-item-id="e993c97cf666f4ccb4748ff1707754765">See&nbsp;<a class="reference-link" href="#root/_help_0Ofbk1aSuVRu">Image references</a>&nbsp;for <li>See&nbsp;<a class="reference-link" href="#root/_help_0Ofbk1aSuVRu">Image references</a>&nbsp;for
more information.</li> more information.</li>
<li data-list-item-id="eed2124ae2cf60b26bf83628e5ee7522a">Alternatively, press the corresponding button from the&nbsp;<a class="reference-link" <li>Alternatively, press the corresponding button from the&nbsp;<a class="reference-link"
href="#root/pOsGYCXsbNQG/gh7bpGYxajRS/Vc8PjrjAGuOp/_help_XpOYSgsLkTJy">Floating buttons</a>.</li> href="#root/_help_XpOYSgsLkTJy">Floating buttons</a>.</li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -77,11 +74,11 @@
be used to play it.</p> be used to play it.</p>
<p>Interactions:</p> <p>Interactions:</p>
<ul> <ul>
<li data-list-item-id="e6211745ca8937ef119f16f283664bf48">The audio can be played/paused using the dedicated button.</li> <li>The audio can be played/paused using the dedicated button.</li>
<li data-list-item-id="ed13af1aa09ee7582f3e4ace797a6097e">Dragging the mouse across, or clicking the progress bar will seek through <li>Dragging the mouse across, or clicking the progress bar will seek through
the song.</li> the song.</li>
<li data-list-item-id="e8257054d4b6985f1f1c7283f262ff18b">The volume can be set.</li> <li>The volume can be set.</li>
<li data-list-item-id="e39b948337515ef2b1f0002352613cbf4">The playback speed can be adjusted via the contextual menu next to the <li>The playback speed can be adjusted via the contextual menu next to the
volume.</li> volume.</li>
</ul> </ul>
<h3>Text files</h3> <h3>Text files</h3>
@@ -114,35 +111,33 @@
file externally, but there will be no preview of the content.</p> file externally, but there will be no preview of the content.</p>
<h2>Interaction</h2> <h2>Interaction</h2>
<ul> <ul>
<li data-list-item-id="e4aeb7db21b7ac8fd63259706e89ca7fd">Regardless of the file type, a series of buttons will be displayed in <li>Regardless of the file type, a series of buttons will be displayed in
the <em>Image</em> or <em>File</em> tab in the&nbsp;<a class="reference-link" the <em>Image</em> or <em>File</em> tab in the&nbsp;<a class="reference-link"
href="#root/_help_BlN9DFI679QC">Ribbon</a>. href="#root/_help_BlN9DFI679QC">Ribbon</a>.
<ul> <ul>
<li data-list-item-id="e65ff01459c30c17d0554c646c6e6ab48"><em>Download</em>, which will download the file for local use.</li> <li><em>Download</em>, which will download the file for local use.</li>
<li <li><em>Open</em>, will will open the file with the system-default application.</li>
data-list-item-id="e1704f81a01f337386a9e2dc3110bf1c3"><em>Open</em>, will will open the file with the system-default application.</li> <li>Upload new revision to replace the file with a new one.</li>
<li
data-list-item-id="ebb65a0bb4eb1d4a1a33477034954c937">Upload new revision to replace the file with a new one.</li>
</ul> </ul>
</li> </li>
<li data-list-item-id="e6b49d2a86fa10fc2924b8c0f14f3fc34">It is <strong>not</strong> possible to change the note type of a <em>File</em> note.</li> <li>It is <strong>not</strong> possible to change the note type of a <em>File</em> note.</li>
<li <li>Convert into an <a href="#root/_help_0vhv7lsOLy82">attachment</a> from the <a href="#root/_help_8YBEPzcpUgxw">note menu</a>.</li>
data-list-item-id="edf3c57060acd6e7c7aa517263fdd50a8">Convert into an <a href="#root/_help_0vhv7lsOLy82">attachment</a> from the <a href="#root/_help_8YBEPzcpUgxw">note menu</a>.</li>
</ul> </ul>
<h2>Relation with other notes</h2> <h2>Relation with other notes</h2>
<ul> <ul>
<li data-list-item-id="ee44c3055d3990412c665cb4b172e4ae6"> <li>
<p>Files are also displayed in the&nbsp;<a class="reference-link" href="#root/_help_0ESUbbAxVnoK">Note List</a>&nbsp;based <p>Files are also displayed in the&nbsp;<a class="reference-link" href="#root/_help_0ESUbbAxVnoK">Note List</a>&nbsp;based
on their type:</p> on their type:</p>
<p> <img class="image_resized" style="aspect-ratio:853/315;width:50%;"
<img class="image_resized" style="aspect-ratio:853/315;width:50%;" src="6_File_image.png" src="6_File_image.png" width="853" height="315">
width="853" height="315"> </li>
</p> <li>
<p>Non-image files can be embedded into text notes as read-only widgets via
the&nbsp;<a class="reference-link" href="#root/_help_nBAXQFj20hS1">Include Note</a>&nbsp;functionality.</p>
</li>
<li>
<p>Image files can be embedded into text notes like normal images via&nbsp;
<a
class="reference-link" href="#root/_help_0Ofbk1aSuVRu">Image references</a>.</p>
</li> </li>
<li data-list-item-id="e99dcb3c40ac91bddb9f2952a11c45f13">Non-image files can be embedded into text notes as read-only widgets via
the&nbsp;<a class="reference-link" href="#root/_help_nBAXQFj20hS1">Include Note</a>&nbsp;functionality.</li>
<li
data-list-item-id="eb56e65abfa9b2a22c21d642c89179505">Image files can be embedded into text notes like normal images via&nbsp;
<a
class="reference-link" href="#root/_help_0Ofbk1aSuVRu">Image references</a>.</li>
</ul> </ul>

View File

@@ -6,42 +6,35 @@
a hierarchical fashion.</p> a hierarchical fashion.</p>
<h2>Terminology</h2> <h2>Terminology</h2>
<ul> <ul>
<li data-list-item-id="ef231f667c0aa218d58542c076014804b">A <strong>node</strong> is a single idea, represented differently based <li>A <strong>node</strong> is a single idea, represented differently based
on depth (filled rounded rectangle for the root note, unfilled rectangles on depth (filled rounded rectangle for the root note, unfilled rectangles
for sub-ideas, lines only for sub-sub-ideas).</li> for sub-ideas, lines only for sub-sub-ideas).</li>
<li data-list-item-id="e9e7e595cd2313b8437d90b49850c3bd2">The <strong>root node</strong> is the top-most node from which all other <li>The <strong>root node</strong> is the top-most node from which all other
nodes derive, displayed as a filled rectangle. There can only be a single nodes derive, displayed as a filled rectangle. There can only be a single
root node.</li> root node.</li>
</ul> </ul>
<h2>Interaction</h2> <h2>Interaction</h2>
<ul> <ul>
<li data-list-item-id="e976416578dada0871a4ac45fe8220b93">To create a new node at the same level as the current one, press <kbd>Enter</kbd>, <li>To create a new node at the same level as the current one, press <kbd>Enter</kbd>,
enter the desired text and then press <kbd>Enter</kbd> once again to confirm.</li> enter the desired text and then press <kbd>Enter</kbd> once again to confirm.</li>
<li <li>Similarly, to create a sub-node, press <kbd>Tab</kbd>, enter the desired
data-list-item-id="e6a72f09fecc4764361c01f08b12c703f">Similarly, to create a sub-node, press <kbd>Tab</kbd>, enter the desired
text and then press <kbd>Enter</kbd>.</li> text and then press <kbd>Enter</kbd>.</li>
<li data-list-item-id="e86712c87d1b7dcb6f0b13b83943492f9">To create a parent, use <kbd>Ctrl</kbd>+<kbd>Enter</kbd> instead.</li> <li>To create a parent, use <kbd>Ctrl</kbd>+<kbd>Enter</kbd> instead.</li>
<li <li>To remove a node, press <kbd>Delete</kbd>.</li>
data-list-item-id="e95931b33330193642453fe412e5e6f1a">To remove a node, press <kbd>Delete</kbd>.</li> <li>To move a node up or down, press <kbd>Page Up</kbd> or <kbd>Page Down</kbd>.</li>
<li data-list-item-id="eec542db8b8755de32ec3e6dc46de76cc">To move a node up or down, press <kbd>Page Up</kbd> or <kbd>Page Down</kbd>.</li> <li>To adjust the font size, color of the text or background or to add a link,
<li click on a node and use the floating panel that appears to the right.</li>
data-list-item-id="ebd91fd108c780ba60e781899dc513cc7">To adjust the font size, color of the text or background or to add a link, <li>To select one or more notes, drag and drop across the map.</li>
click on a node and use the floating panel that appears to the right.</li> <li>Right click the node to bring a contextual menu with options such as creating
<li new nodes, focusing on a particular notes or creating links between them.</li>
data-list-item-id="efcb1cb579ef883d3c41f869fa16324c4">To select one or more notes, drag and drop across the map.</li> <li>Use the buttons at the top-left to change the positioning of the nodes
<li data-list-item-id="e93d1858c91097cbf5a7d1d2dc78bba5a">Right click the node to bring a contextual menu with options such as creating relative to the root node (to the left, to the right, or to both sides).</li>
new nodes, focusing on a particular notes or creating links between them.</li> <li>In the&nbsp;<a class="reference-link" href="#root/_help_XpOYSgsLkTJy">Floating buttons</a>&nbsp;area:
<li <ul>
data-list-item-id="e9bf53a86f7156c2b9b3f11ee8258060a">Use the buttons at the top-left to change the positioning of the nodes <li>An <a href="#root/_help_0Ofbk1aSuVRu">image reference</a> can be copied, to paste
relative to the root node (to the left, to the right, or to both sides).</li> the mind map in a text note.</li>
<li <li>The diagram can be exported either as SVG (vectorial) or PNG (raster).</li>
data-list-item-id="ead00d267ecc33cbc3d1e0c4b56cf0ad3">In the&nbsp;<a class="reference-link" href="#root/_help_XpOYSgsLkTJy">Floating buttons</a>&nbsp;area: <li>The note can be togged <a href="#root/_help_CoFPLs3dRlXc">read-only</a>.</li>
<ul> </ul>
<li data-list-item-id="eaf83d9b1557e4b9d8f148d56130c3f59">An <a href="#root/_help_0Ofbk1aSuVRu">image reference</a> can be copied, to paste </li>
the mind map in a text note.</li>
<li data-list-item-id="e79f53e67891bff3d9f3b90c70e6f8267">The diagram can be exported either as SVG (vectorial) or PNG (raster).</li>
<li
data-list-item-id="eae0fd524cd52e4ecb030d99f7cda2114">The note can be togged <a href="#root/pOsGYCXsbNQG/gh7bpGYxajRS/BFs8mudNFgCS/_help_CoFPLs3dRlXc">read-only</a>.</li>
</ul>
</li>
</ul> </ul>

View File

@@ -7,13 +7,11 @@
via an attribute.</p> via an attribute.</p>
<h2>Creating a render note</h2> <h2>Creating a render note</h2>
<ol> <ol>
<li data-list-item-id="e88e87dc5779eb57b5f18c85d429e0393">Create a&nbsp;<a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a>&nbsp;note <li>Create a&nbsp;<a class="reference-link" href="#root/_help_6f9hih2hXXZk">Code</a>&nbsp;note
with the HTML language, with what needs to be displayed (for example <code>&lt;p&gt;Hello world.&lt;/p&gt;</code>).</li> with the HTML language, with what needs to be displayed (for example <code>&lt;p&gt;Hello world.&lt;/p&gt;</code>).</li>
<li <li>Create a&nbsp;<a class="reference-link" href="#root/_help_HcABDtFCkbFN">Render Note</a>.</li>
data-list-item-id="e081e7e4884d395061da0960a9ee0798f">Create a&nbsp;<a class="reference-link" href="#root/_help_HcABDtFCkbFN">Render Note</a>.</li> <li>Assign the <code>renderNote</code> <a href="#root/_help_zEY4DaJG4YT5">relation</a> to
<li point at the previously created code note.</li>
data-list-item-id="ee9885f6c4873435499221a6caca164c8">Assign the <code>renderNote</code> <a href="#root/_help_zEY4DaJG4YT5">relation</a> to
point at the previously created code note.</li>
</ol> </ol>
<h2>Dynamic content</h2> <h2>Dynamic content</h2>
<p>A static HTML is generally not enough for&nbsp;<a class="reference-link" <p>A static HTML is generally not enough for&nbsp;<a class="reference-link"
@@ -38,13 +36,12 @@ $dateEl.text(new Date());</code></pre>
<h2>Refreshing the note</h2> <h2>Refreshing the note</h2>
<p>It's possible to refresh the note via:</p> <p>It's possible to refresh the note via:</p>
<ul> <ul>
<li data-list-item-id="ee0445442bc9b4c9aea87ecf19ecbe877">The corresponding button in&nbsp;<a class="reference-link" href="#root/pOsGYCXsbNQG/gh7bpGYxajRS/Vc8PjrjAGuOp/_help_XpOYSgsLkTJy">Floating buttons</a>.</li> <li>The corresponding button in&nbsp;<a class="reference-link" href="#root/_help_XpOYSgsLkTJy">Floating buttons</a>.</li>
<li <li>The “Render active note” <a href="#root/_help_A9Oc6YKKc65v">keyboard shortcut</a> (not
data-list-item-id="e01754dd2d94ca490f59da950ad964c3d">The “Render active note” <a href="#root/pOsGYCXsbNQG/gh7bpGYxajRS/_help_A9Oc6YKKc65v">keyboard shortcut</a> (not
assigned by default).</li> assigned by default).</li>
</ul> </ul>
<h2>Examples</h2> <h2>Examples</h2>
<ul> <ul>
<li data-list-item-id="e69f0b3debc49e119b0a0bd54f18fc974"><a class="reference-link" href="#root/_help_R7abl2fc6Mxi">Weight Tracker</a>&nbsp;which <li><a class="reference-link" href="#root/_help_R7abl2fc6Mxi">Weight Tracker</a>&nbsp;which
is present in the&nbsp;<a class="reference-link" href="#root/_help_6tZeKvSHEUiB">Demo Notes</a>.</li> is present in the&nbsp;<a class="reference-link" href="#root/_help_6tZeKvSHEUiB">Demo Notes</a>.</li>
</ul> </ul>

View File

@@ -96,6 +96,46 @@
"dataFileName": "Environment Setup.md", "dataFileName": "Environment Setup.md",
"attachments": [] "attachments": []
}, },
{
"isClone": false,
"noteId": "ccIoz7nqgDRK",
"notePath": [
"jdjRLhLV3TtI",
"ccIoz7nqgDRK"
],
"title": "Branching strategy",
"notePosition": 270,
"prefix": null,
"isExpanded": false,
"type": "text",
"mime": "text/html",
"attributes": [
{
"type": "label",
"name": "iconClass",
"value": "bx bx-git-merge",
"isInheritable": false,
"position": 20
},
{
"type": "relation",
"name": "internalLink",
"value": "4nwtTJyjNDKd",
"isInheritable": false,
"position": 30
},
{
"type": "label",
"name": "shareAlias",
"value": "branching-strategy",
"isInheritable": false,
"position": 40
}
],
"format": "markdown",
"dataFileName": "Branching strategy.md",
"attachments": []
},
{ {
"isClone": false, "isClone": false,
"noteId": "cxfTSHIUQtt2", "noteId": "cxfTSHIUQtt2",
@@ -104,7 +144,7 @@
"cxfTSHIUQtt2" "cxfTSHIUQtt2"
], ],
"title": "Project Structure", "title": "Project Structure",
"notePosition": 270, "notePosition": 280,
"prefix": null, "prefix": null,
"isExpanded": false, "isExpanded": false,
"type": "text", "type": "text",
@@ -144,7 +184,7 @@
"MhwWMgxwDTZL" "MhwWMgxwDTZL"
], ],
"title": "Architecture", "title": "Architecture",
"notePosition": 280, "notePosition": 290,
"prefix": null, "prefix": null,
"isExpanded": false, "isExpanded": false,
"type": "text", "type": "text",
@@ -940,7 +980,7 @@
"zdQzavvHDl1k" "zdQzavvHDl1k"
], ],
"title": "Documentation", "title": "Documentation",
"notePosition": 290, "notePosition": 300,
"prefix": null, "prefix": null,
"isExpanded": false, "isExpanded": false,
"type": "text", "type": "text",
@@ -1010,7 +1050,7 @@
"a0mkxxB4Uvbf" "a0mkxxB4Uvbf"
], ],
"title": "Building", "title": "Building",
"notePosition": 300, "notePosition": 310,
"prefix": null, "prefix": null,
"isExpanded": false, "isExpanded": false,
"type": "text", "type": "text",
@@ -1240,6 +1280,13 @@
"value": "releasing", "value": "releasing",
"isInheritable": false, "isInheritable": false,
"position": 40 "position": 40
},
{
"type": "relation",
"name": "internalLink",
"value": "ccIoz7nqgDRK",
"isInheritable": false,
"position": 50
} }
], ],
"format": "markdown", "format": "markdown",
@@ -1256,7 +1303,7 @@
"qalhAaJoQ7AN" "qalhAaJoQ7AN"
], ],
"title": "Dependencies", "title": "Dependencies",
"notePosition": 320, "notePosition": 330,
"prefix": null, "prefix": null,
"isExpanded": false, "isExpanded": false,
"type": "text", "type": "text",
@@ -1507,7 +1554,7 @@
"yeqU0zo0ZQ83" "yeqU0zo0ZQ83"
], ],
"title": "Concepts", "title": "Concepts",
"notePosition": 330, "notePosition": 340,
"prefix": null, "prefix": null,
"isExpanded": false, "isExpanded": false,
"type": "text", "type": "text",
@@ -2768,7 +2815,7 @@
"YjerxU7Aii8X" "YjerxU7Aii8X"
], ],
"title": "Troubleshooting", "title": "Troubleshooting",
"notePosition": 370, "notePosition": 380,
"prefix": null, "prefix": null,
"isExpanded": false, "isExpanded": false,
"type": "text", "type": "text",
@@ -2857,7 +2904,7 @@
"dtKC3FmoWOrv" "dtKC3FmoWOrv"
], ],
"title": "Testing", "title": "Testing",
"notePosition": 390, "notePosition": 400,
"prefix": null, "prefix": null,
"isExpanded": false, "isExpanded": false,
"type": "text", "type": "text",

View File

@@ -0,0 +1,30 @@
# Branching strategy
## Main branch
The main development branch is conveniently called `main`. This branch contains all the merged features and is considered semi-stable.
## Development
Every new development must be done in a separate branch (usually prefixed with `feature/`). The PR must then be reviewed.
## Reviewing
Each PR must be tested manually and reviewed by a maintainer. For PRs that are made by the maintainers themselves, an LLM review from Copilot or Gemini are also accepted.
After a PR is approved, it is merged into the `main` branch and the change log draft is updated.
## Releasing
[Releasing a new version](Building/Releasing%20a%20new%20version.md) is done straight from the `main` branch once it's deemed stable enough for production.
## Hot-fixing
After releasing a new version, it's sometimes desirable to create a hotfix in order to fix some issues with the production version without introducing many changes that might have already been merged in `main`.
To do so, the procedure is as follows:
1. A `hotfix` branch is created, from the tag of the release.
2. If fixes/features from the `main` branch are needed, they are cherry-picked directly onto the branch.
3. New fixes/features are either developed directly on the `hotfix` branch or an a PR that targets this branch, depending on the complexity.
4. A new version is released from the `hotfix` version.
5. The `hotfix` version is merged back into `main`, via a PR.

View File

@@ -4,7 +4,7 @@ Releasing is mostly handled by the CI:
* The version on GitHub is published automatically, including the description with the change log which is taken from the documentation. * The version on GitHub is published automatically, including the description with the change log which is taken from the documentation.
* A PR is created automatically on the Winget repository to update to the new version. * A PR is created automatically on the Winget repository to update to the new version.
Releases are usually made directly from the `main` branch. Releases are usually made directly from the `main` branch. For hot-fixes the process is the same but with a different branch, consult the <a class="reference-link" href="../Branching%20strategy.md">Branching strategy</a> for more information.
The process is as follows: The process is as follows:

View File

@@ -1,5 +1,5 @@
# Documentation # Documentation
There are multiple types of documentation for Trilium:<img class="image-style-align-right" src="api/images/lXPC13oY8arw/Documentation_image.png" width="205" height="162"> There are multiple types of documentation for Trilium:<img class="image-style-align-right" src="api/images/E6pFkO6VwPFI/Documentation_image.png" width="205" height="162">
* The _User Guide_ represents the user-facing documentation. This documentation can be browsed by users directly from within Trilium, by pressing <kbd>F1</kbd>. * The _User Guide_ represents the user-facing documentation. This documentation can be browsed by users directly from within Trilium, by pressing <kbd>F1</kbd>.
* The _Developer's Guide_ represents a set of Markdown documents that present the internals of Trilium, for developers. * The _Developer's Guide_ represents a set of Markdown documents that present the internals of Trilium, for developers.

View File

@@ -8864,17 +8864,31 @@
{ {
"type": "relation", "type": "relation",
"name": "internalLink", "name": "internalLink",
"value": "R7abl2fc6Mxi", "value": "XpOYSgsLkTJy",
"isInheritable": false, "isInheritable": false,
"position": 50 "position": 50
}, },
{ {
"type": "relation", "type": "relation",
"name": "internalLink", "name": "internalLink",
"value": "6tZeKvSHEUiB", "value": "A9Oc6YKKc65v",
"isInheritable": false, "isInheritable": false,
"position": 60 "position": 60
}, },
{
"type": "relation",
"name": "internalLink",
"value": "R7abl2fc6Mxi",
"isInheritable": false,
"position": 70
},
{
"type": "relation",
"name": "internalLink",
"value": "6tZeKvSHEUiB",
"isInheritable": false,
"position": 80
},
{ {
"type": "label", "type": "label",
"name": "iconClass", "name": "iconClass",
@@ -8888,20 +8902,6 @@
"value": "render-note", "value": "render-note",
"isInheritable": false, "isInheritable": false,
"position": 70 "position": 70
},
{
"type": "relation",
"name": "internalLink",
"value": "XpOYSgsLkTJy",
"isInheritable": false,
"position": 80
},
{
"type": "relation",
"name": "internalLink",
"value": "A9Oc6YKKc65v",
"isInheritable": false,
"position": 90
} }
], ],
"format": "markdown", "format": "markdown",
@@ -9094,6 +9094,20 @@
"type": "text", "type": "text",
"mime": "text/html", "mime": "text/html",
"attributes": [ "attributes": [
{
"type": "relation",
"name": "internalLink",
"value": "CoFPLs3dRlXc",
"isInheritable": false,
"position": 10
},
{
"type": "relation",
"name": "internalLink",
"value": "XpOYSgsLkTJy",
"isInheritable": false,
"position": 20
},
{ {
"type": "label", "type": "label",
"name": "iconClass", "name": "iconClass",
@@ -9107,20 +9121,6 @@
"value": "canvas", "value": "canvas",
"isInheritable": false, "isInheritable": false,
"position": 20 "position": 20
},
{
"type": "relation",
"name": "internalLink",
"value": "CoFPLs3dRlXc",
"isInheritable": false,
"position": 30
},
{
"type": "relation",
"name": "internalLink",
"value": "XpOYSgsLkTJy",
"isInheritable": false,
"position": 40
} }
], ],
"format": "markdown", "format": "markdown",
@@ -9206,6 +9206,13 @@
"isInheritable": false, "isInheritable": false,
"position": 20 "position": 20
}, },
{
"type": "relation",
"name": "internalLink",
"value": "CoFPLs3dRlXc",
"isInheritable": false,
"position": 30
},
{ {
"type": "label", "type": "label",
"name": "iconClass", "name": "iconClass",
@@ -9219,13 +9226,6 @@
"value": "mindmap", "value": "mindmap",
"isInheritable": false, "isInheritable": false,
"position": 30 "position": 30
},
{
"type": "relation",
"name": "internalLink",
"value": "CoFPLs3dRlXc",
"isInheritable": false,
"position": 40
} }
], ],
"format": "markdown", "format": "markdown",
@@ -9280,66 +9280,73 @@
{ {
"type": "relation", "type": "relation",
"name": "internalLink", "name": "internalLink",
"value": "wX4HbRucYSDD", "value": "XpOYSgsLkTJy",
"isInheritable": false, "isInheritable": false,
"position": 40 "position": 40
}, },
{ {
"type": "relation", "type": "relation",
"name": "internalLink", "name": "internalLink",
"value": "ODY7qQn5m2FT", "value": "wX4HbRucYSDD",
"isInheritable": false, "isInheritable": false,
"position": 50 "position": 50
}, },
{ {
"type": "relation", "type": "relation",
"name": "internalLink", "name": "internalLink",
"value": "mHbBMPDPkVV5", "value": "ODY7qQn5m2FT",
"isInheritable": false, "isInheritable": false,
"position": 60 "position": 60
}, },
{ {
"type": "relation", "type": "relation",
"name": "internalLink", "name": "internalLink",
"value": "6f9hih2hXXZk", "value": "mHbBMPDPkVV5",
"isInheritable": false, "isInheritable": false,
"position": 70 "position": 70
}, },
{ {
"type": "relation", "type": "relation",
"name": "internalLink", "name": "internalLink",
"value": "BlN9DFI679QC", "value": "6f9hih2hXXZk",
"isInheritable": false, "isInheritable": false,
"position": 80 "position": 80
}, },
{ {
"type": "relation", "type": "relation",
"name": "internalLink", "name": "internalLink",
"value": "0vhv7lsOLy82", "value": "BlN9DFI679QC",
"isInheritable": false, "isInheritable": false,
"position": 90 "position": 90
}, },
{ {
"type": "relation", "type": "relation",
"name": "internalLink", "name": "internalLink",
"value": "8YBEPzcpUgxw", "value": "0vhv7lsOLy82",
"isInheritable": false, "isInheritable": false,
"position": 100 "position": 100
}, },
{ {
"type": "relation", "type": "relation",
"name": "internalLink", "name": "internalLink",
"value": "0ESUbbAxVnoK", "value": "8YBEPzcpUgxw",
"isInheritable": false, "isInheritable": false,
"position": 110 "position": 110
}, },
{ {
"type": "relation", "type": "relation",
"name": "internalLink", "name": "internalLink",
"value": "nBAXQFj20hS1", "value": "0ESUbbAxVnoK",
"isInheritable": false, "isInheritable": false,
"position": 120 "position": 120
}, },
{
"type": "relation",
"name": "internalLink",
"value": "nBAXQFj20hS1",
"isInheritable": false,
"position": 130
},
{ {
"type": "label", "type": "label",
"name": "shareAlias", "name": "shareAlias",
@@ -9353,13 +9360,6 @@
"value": "bx bx-file-blank", "value": "bx bx-file-blank",
"isInheritable": false, "isInheritable": false,
"position": 140 "position": 140
},
{
"type": "relation",
"name": "internalLink",
"value": "XpOYSgsLkTJy",
"isInheritable": false,
"position": 150
} }
], ],
"format": "markdown", "format": "markdown",