1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-12-24 10:27:10 +02:00

Update website

This commit is contained in:
Laurent Cozic 2019-04-30 18:58:35 +01:00
parent b806f0da49
commit fb758afc81
13 changed files with 439 additions and 391 deletions

View File

@ -250,55 +250,60 @@
</li>
</ul>
</div>
<h1 id="joplin-api">Joplin API</h1>
<p>When the Web Clipper service is enabled, Joplin exposes a <a href="https://en.wikipedia.org/wiki/Representational_state_transfer">REST API</a> which allows third-party applications to access Joplin&#39;s data and to create, modify or delete notes, notebooks, resources or tags.</p>
<p>In order to use it, you&#39;ll first need to find on which port the service is running. To do so, open the Web Clipper Options in Joplin and if the service is running it should tell you on which port. Normally it runs on port <strong>41184</strong>. If you want to find it programmatically, you may follow this kind of algorithm:</p>
<pre><code class="lang-javascript">let port = null;
<h1>Joplin API</h1>
<p>When the Web Clipper service is enabled, Joplin exposes a <a href="https://en.wikipedia.org/wiki/Representational_state_transfer">REST API</a> which allows third-party applications to access Joplin's data and to create, modify or delete notes, notebooks, resources or tags.</p>
<p>In order to use it, you'll first need to find on which port the service is running. To do so, open the Web Clipper Options in Joplin and if the service is running it should tell you on which port. Normally it runs on port <strong>41184</strong>. If you want to find it programmatically, you may follow this kind of algorithm:</p>
<pre><code class="language-javascript">let port = null;
for (let portToTest = 41184; portToTest &lt;= 41194; portToTest++) {
const result = pingPort(portToTest); // Call GET /ping
if (result == &#39;JoplinClipperServer&#39;) {
if (result == 'JoplinClipperServer') {
port = portToTest; // Found the port
break;
}
}
</code></pre>
<h1 id="authorisation">Authorisation</h1>
<h1>Authorisation</h1>
<p>To prevent unauthorised applications from accessing the API, the calls must be authentified. To do so, you must provide a token as a query parameter for each API call. You can get this token from the Joplin desktop application, on the Web Clipper Options screen.</p>
<p>This would be an example of valid cURL call using a token:</p>
<pre><code>curl http://localhost:41184/notes?token=ABCD123ABCD123ABCD123ABCD123ABCD123
</code></pre><p>In the documentation below, the token will not be specified every time however you will need to include it.</p>
<h1 id="using-the-api">Using the API</h1>
</code></pre>
<p>In the documentation below, the token will not be specified every time however you will need to include it.</p>
<h1>Using the API</h1>
<p>All the calls, unless noted otherwise, receives and send <strong>JSON data</strong>. For example to create a new note:</p>
<pre><code>curl --data &#39;{ &quot;title&quot;: &quot;My note&quot;, &quot;body&quot;: &quot;Some note in **Markdown**&quot;}&#39; http://localhost:41184/notes
</code></pre><p>In the documentation below, the calls may include special parameters such as :id or :note_id. You would replace this with the item ID or note ID.</p>
<pre><code>curl --data '{ &quot;title&quot;: &quot;My note&quot;, &quot;body&quot;: &quot;Some note in **Markdown**&quot;}' http://localhost:41184/notes
</code></pre>
<p>In the documentation below, the calls may include special parameters such as :id or :note_id. You would replace this with the item ID or note ID.</p>
<p>For example, for the endpoint <code>DELETE /tags/:id/notes/:note_id</code>, to remove the tag with ID &quot;ABCD1234&quot; from the note with ID &quot;EFGH789&quot;, you would run for example:</p>
<pre><code>curl -X DELETE http://localhost:41184/tags/ABCD1234/notes/EFGH789
</code></pre><p>The four verbs supported by the API are the following ones:</p>
</code></pre>
<p>The four verbs supported by the API are the following ones:</p>
<ul>
<li><strong>GET</strong>: To retrieve items (notes, notebooks, etc.).</li>
<li><strong>POST</strong>: To create new items. In general most item properties are optional. If you omit any, a default value will be used.</li>
<li><strong>PUT</strong>: To update an item. Note in a REST API, traditionally PUT is used to completely replace an item, however in this API it will only replace the properties that are provided. For example if you PUT {&quot;title&quot;: &quot;my new title&quot;}, only the &quot;title&quot; property will be changed. The other properties will be left untouched (they won&#39;t be cleared nor changed).</li>
<li><strong>PUT</strong>: To update an item. Note in a REST API, traditionally PUT is used to completely replace an item, however in this API it will only replace the properties that are provided. For example if you PUT {&quot;title&quot;: &quot;my new title&quot;}, only the &quot;title&quot; property will be changed. The other properties will be left untouched (they won't be cleared nor changed).</li>
<li><strong>DELETE</strong>: To delete items.</li>
</ul>
<h1 id="filtering-data">Filtering data</h1>
<h1>Filtering data</h1>
<p>You can change the fields that will be returned by the API using the <code>fields=</code> query parameter, which takes a list of comma separated fields. For example, to get the longitude and latitude of a note, use this:</p>
<pre><code>curl http://localhost:41184/notes/ABCD123?fields=longitude,latitude
</code></pre><p>To get the IDs only of all the tags:</p>
</code></pre>
<p>To get the IDs only of all the tags:</p>
<pre><code>curl http://localhost:41184/tags?fields=id
</code></pre><h1 id="error-handling">Error handling</h1>
</code></pre>
<h1>Error handling</h1>
<p>In case of an error, an HTTP status code &gt;= 400 will be returned along with a JSON object that provides more info about the error. The JSON object is in the format <code>{ &quot;error&quot;: &quot;description of error&quot; }</code>.</p>
<h1 id="about-the-property-types">About the property types</h1>
<h1>About the property types</h1>
<ul>
<li>Text is UTF-8.</li>
<li>All date/time are Unix timestamps in milliseconds.</li>
<li>Booleans are integer values 0 or 1.</li>
</ul>
<h1 id="testing-if-the-service-is-available">Testing if the service is available</h1>
<h1>Testing if the service is available</h1>
<p>Call <strong>GET /ping</strong> to check if the service is available. It should return &quot;JoplinClipperServer&quot; if it works.</p>
<h1 id="searching">Searching</h1>
<h1>Searching</h1>
<p>Call <strong>GET /search?query=YOUR_QUERY</strong> to search for notes. This end-point supports the <code>field</code> parameter which is recommended to use so that you only get the data that you need. The query syntax is as described in the main documentation: <a href="https://joplinapp.org/#searching">https://joplinapp.org/#searching</a></p>
<h1 id="notes">Notes</h1>
<h2 id="properties">Properties</h2>
<h1>Notes</h1>
<h2>Properties</h2>
<table>
<thead>
<tr>
@ -431,7 +436,7 @@ for (let portToTest = 41184; portToTest &lt;= 41194; portToTest++) {
<tr>
<td>base_url</td>
<td>text</td>
<td>If <code>body_html</code> is provided and contains relative URLs, provide the <code>base_url</code> parameter too so that all the URLs can be converted to absolute ones. The base URL is basically where the HTML was fetched from, minus the query (everything after the &#39;?&#39;). For example if the original page was <code>https://stackoverflow.com/search?q=%5Bjava%5D+test</code>, the base URL is <code>https://stackoverflow.com/search</code>.</td>
<td>If <code>body_html</code> is provided and contains relative URLs, provide the <code>base_url</code> parameter too so that all the URLs can be converted to absolute ones. The base URL is basically where the HTML was fetched from, minus the query (everything after the '?'). For example if the original page was <code>https://stackoverflow.com/search?q=%5Bjava%5D+test</code>, the base URL is <code>https://stackoverflow.com/search</code>.</td>
</tr>
<tr>
<td>image_data_url</td>
@ -445,37 +450,44 @@ for (let portToTest = 41184; portToTest &lt;= 41194; portToTest++) {
</tr>
</tbody>
</table>
<h2 id="get-notes">GET /notes</h2>
<h2>GET /notes</h2>
<p>Gets all notes</p>
<h2 id="get-notes-id">GET /notes/:id</h2>
<h2>GET /notes/:id</h2>
<p>Gets note with ID :id</p>
<h2 id="get-notes-id-tags">GET /notes/:id/tags</h2>
<h2>GET /notes/:id/tags</h2>
<p>Gets all the tags attached to this note.</p>
<h2 id="post-notes">POST /notes</h2>
<h2>POST /notes</h2>
<p>Creates a new note</p>
<p>You can either specify the note body as Markdown by setting the <code>body</code> parameter, or in HTML by setting the <code>body_html</code>.</p>
<p>Examples:</p>
<ul>
<li><p>Create a note from some Markdown text</p>
<pre><code>curl --data &#39;{ &quot;title&quot;: &quot;My note&quot;, &quot;body&quot;: &quot;Some note in **Markdown**&quot;}&#39; http://127.0.0.1:41184/notes
</code></pre></li>
<li><p>Create a note from some HTML</p>
<pre><code>curl --data &#39;{ &quot;title&quot;: &quot;My note&quot;, &quot;body_html&quot;: &quot;Some note in &lt;b&gt;HTML&lt;/b&gt;&quot;}&#39; http://127.0.0.1:41184/notes
</code></pre></li>
<li><p>Create a note and attach an image to it:</p>
<pre><code>curl --data &#39;{ &quot;title&quot;: &quot;Image test&quot;, &quot;body&quot;: &quot;Here is Joplin icon:&quot;, &quot;image_data_url&quot;: &quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANZJREFUeNoAyAA3/wFwtO3K6gUB/vz2+Prw9fj/+/r+/wBZKAAExOgF4/MC9ff+MRH6Ui4E+/0Bqc/zutj6AgT+/Pz7+vv7++nu82c4DlMqCvLs8goA/gL8/fz09fb59vXa6vzZ6vjT5fbn6voD/fwC8vX4UiT9Zi//APHyAP8ACgUBAPv5APz7BPj2+DIaC2o3E+3o6ywaC5fT6gD6/QD9/QEVf9kD+/dcLQgJA/7v8vqfwOf18wA1IAIEVycAyt//v9XvAPv7APz8LhoIAPz9Ri4OAgwARgx4W/6fVeEAAAAASUVORK5CYII=&quot;}&#39; http://127.0.0.1:41184/notes
</code></pre></li>
<li>
<p>Create a note from some Markdown text</p>
<pre><code>curl --data '{ &quot;title&quot;: &quot;My note&quot;, &quot;body&quot;: &quot;Some note in **Markdown**&quot;}' http://127.0.0.1:41184/notes
</code></pre>
</li>
<li>
<p>Create a note from some HTML</p>
<pre><code>curl --data '{ &quot;title&quot;: &quot;My note&quot;, &quot;body_html&quot;: &quot;Some note in &lt;b&gt;HTML&lt;/b&gt;&quot;}' http://127.0.0.1:41184/notes
</code></pre>
</li>
<li>
<p>Create a note and attach an image to it:</p>
<pre><code>curl --data '{ &quot;title&quot;: &quot;Image test&quot;, &quot;body&quot;: &quot;Here is Joplin icon:&quot;, &quot;image_data_url&quot;: &quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANZJREFUeNoAyAA3/wFwtO3K6gUB/vz2+Prw9fj/+/r+/wBZKAAExOgF4/MC9ff+MRH6Ui4E+/0Bqc/zutj6AgT+/Pz7+vv7++nu82c4DlMqCvLs8goA/gL8/fz09fb59vXa6vzZ6vjT5fbn6voD/fwC8vX4UiT9Zi//APHyAP8ACgUBAPv5APz7BPj2+DIaC2o3E+3o6ywaC5fT6gD6/QD9/QEVf9kD+/dcLQgJA/7v8vqfwOf18wA1IAIEVycAyt//v9XvAPv7APz8LhoIAPz9Ri4OAgwARgx4W/6fVeEAAAAASUVORK5CYII=&quot;}' http://127.0.0.1:41184/notes
</code></pre>
</li>
</ul>
<h3 id="creating-a-note-with-a-specific-id">Creating a note with a specific ID</h3>
<h3>Creating a note with a specific ID</h3>
<p>When a new note is created, it is automatically assigned a new unique ID so <strong>normally you do not need to set the ID</strong>. However, if for some reason you want to set it, you can supply it as the <code>id</code> property. It needs to be a 32 characters long hexadecimal string. <strong>Make sure it is unique</strong>, for example by generating it using whatever GUID function is available in your programming language.</p>
<pre><code> curl --data &#39;{ &quot;id&quot;: &quot;00a87474082744c1a8515da6aa5792d2&quot;, &quot;title&quot;: &quot;My note with custom ID&quot;}&#39; http://127.0.0.1:41184/notes
</code></pre><h2 id="put-notes-id">PUT /notes/:id</h2>
<pre><code> curl --data '{ &quot;id&quot;: &quot;00a87474082744c1a8515da6aa5792d2&quot;, &quot;title&quot;: &quot;My note with custom ID&quot;}' http://127.0.0.1:41184/notes
</code></pre>
<h2>PUT /notes/:id</h2>
<p>Sets the properties of the note with ID :id</p>
<h2 id="delete-notes-id">DELETE /notes/:id</h2>
<h2>DELETE /notes/:id</h2>
<p>Deletes the note with ID :id</p>
<h1 id="folders">Folders</h1>
<h1>Folders</h1>
<p>This is actually a notebook. Internally notebooks are called &quot;folders&quot;.</p>
<h2 id="properties">Properties</h2>
<h2>Properties</h2>
<table>
<thead>
<tr>
@ -532,21 +544,21 @@ for (let portToTest = 41184; portToTest &lt;= 41194; portToTest++) {
</tr>
</tbody>
</table>
<h2 id="get-folders">GET /folders</h2>
<h2>GET /folders</h2>
<p>Gets all folders</p>
<p>The folders are returned as a tree. The sub-notebooks of a notebook, if any, are under the <code>children</code> key.</p>
<h2 id="get-folders-id">GET /folders/:id</h2>
<h2>GET /folders/:id</h2>
<p>Gets folder with ID :id</p>
<h2 id="get-folders-id-notes">GET /folders/:id/notes</h2>
<h2>GET /folders/:id/notes</h2>
<p>Gets all the notes inside this folder.</p>
<h2 id="post-folders">POST /folders</h2>
<h2>POST /folders</h2>
<p>Creates a new folder</p>
<h2 id="put-folders-id">PUT /folders/:id</h2>
<h2>PUT /folders/:id</h2>
<p>Sets the properties of the folder with ID :id</p>
<h2 id="delete-folders-id">DELETE /folders/:id</h2>
<h2>DELETE /folders/:id</h2>
<p>Deletes the folder with ID :id</p>
<h1 id="resources">Resources</h1>
<h2 id="properties">Properties</h2>
<h1>Resources</h1>
<h2>Properties</h2>
<table>
<thead>
<tr>
@ -618,23 +630,24 @@ for (let portToTest = 41184; portToTest &lt;= 41194; portToTest++) {
</tr>
</tbody>
</table>
<h2 id="get-resources">GET /resources</h2>
<h2>GET /resources</h2>
<p>Gets all resources</p>
<h2 id="get-resources-id">GET /resources/:id</h2>
<h2>GET /resources/:id</h2>
<p>Gets resource with ID :id</p>
<h2 id="get-resources-id-file">GET /resources/:id/file</h2>
<h2>GET /resources/:id/file</h2>
<p>Gets the actual file associated with this resource.</p>
<h2 id="post-resources">POST /resources</h2>
<h2>POST /resources</h2>
<p>Creates a new resource</p>
<p>Creating a new resource is special because you also need to upload the file. Unlike other API calls, this one must have the &quot;multipart/form-data&quot; Content-Type. The file data must be passed to the &quot;data&quot; form field, and the other properties to the &quot;props&quot; form field. An example of a valid call with cURL would be:</p>
<pre><code>curl -F &#39;data=@/path/to/file.jpg&#39; -F &#39;props={&quot;title&quot;:&quot;my resource title&quot;}&#39; http://localhost:41184/resources
</code></pre><p>The &quot;data&quot; field is required, while the &quot;props&quot; one is not. If not specified, default values will be used.</p>
<h2 id="put-resources-id">PUT /resources/:id</h2>
<pre><code>curl -F 'data=@/path/to/file.jpg' -F 'props={&quot;title&quot;:&quot;my resource title&quot;}' http://localhost:41184/resources
</code></pre>
<p>The &quot;data&quot; field is required, while the &quot;props&quot; one is not. If not specified, default values will be used.</p>
<h2>PUT /resources/:id</h2>
<p>Sets the properties of the resource with ID :id</p>
<h2 id="delete-resources-id">DELETE /resources/:id</h2>
<h2>DELETE /resources/:id</h2>
<p>Deletes the resource with ID :id</p>
<h1 id="tags">Tags</h1>
<h2 id="properties">Properties</h2>
<h1>Tags</h1>
<h2>Properties</h2>
<table>
<thead>
<tr>
@ -686,21 +699,21 @@ for (let portToTest = 41184; portToTest &lt;= 41194; portToTest++) {
</tr>
</tbody>
</table>
<h2 id="get-tags">GET /tags</h2>
<h2>GET /tags</h2>
<p>Gets all tags</p>
<h2 id="get-tags-id">GET /tags/:id</h2>
<h2>GET /tags/:id</h2>
<p>Gets tag with ID :id</p>
<h2 id="get-tags-id-notes">GET /tags/:id/notes</h2>
<h2>GET /tags/:id/notes</h2>
<p>Gets all the notes with this tag.</p>
<h2 id="post-tags">POST /tags</h2>
<h2>POST /tags</h2>
<p>Creates a new tag</p>
<h2 id="post-tags-id-notes">POST /tags/:id/notes</h2>
<h2>POST /tags/:id/notes</h2>
<p>Post a note to this endpoint to add the tag to the note. The note data must at least contain an ID property (all other properties will be ignored).</p>
<h2 id="put-tags-id">PUT /tags/:id</h2>
<h2>PUT /tags/:id</h2>
<p>Sets the properties of the tag with ID :id</p>
<h2 id="delete-tags-id">DELETE /tags/:id</h2>
<h2>DELETE /tags/:id</h2>
<p>Deletes the tag with ID :id</p>
<h2 id="delete-tags-id-notes-note_id">DELETE /tags/:id/notes/:note_id</h2>
<h2>DELETE /tags/:id/notes/:note_id</h2>
<p>Remove the tag from the note.</p>
<script>

View File

@ -250,8 +250,8 @@
</li>
</ul>
</div>
<h1 id="joplin-changelog">Joplin changelog</h1>
<h2 id="-v1-0-143-https-github-com-laurent22-joplin-releases-tag-v1-0-143-2019-04-22t10-51-38z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.143">v1.0.143</a> - 2019-04-22T10:51:38Z</h2>
<h1>Joplin changelog</h1>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.143">v1.0.143</a> - 2019-04-22T10:51:38Z</h2>
<ul>
<li>Improved support for Japanese, Chinese, Korean search queries (also applies to Goto Anything)</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/1433">#1433</a>: Some resources could incorrectly be deleted even though they are still present in a note. Also added additional verifications to make sure resources that are still linked to a note are not accidentally deleted.</li>
@ -263,10 +263,10 @@
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/1427">#1427</a>: Support checkoxes behind bullets</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/1417">#1417</a>: Clipper: Sort the folders in the same order as the desktop app</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/1425">#1425</a> (probably): Fix display of images when using VSCode as external editor</li>
<li>Change shortcuts for &#39;Print&#39; and &#39;Goto Anything&#39; (<a href="https://github.com/laurent22/joplin/issues/1420">#1420</a>)</li>
<li>Change shortcuts for 'Print' and 'Goto Anything' (<a href="https://github.com/laurent22/joplin/issues/1420">#1420</a>)</li>
<li>Add option to use soft breaks for markdown rendering (<a href="https://github.com/laurent22/joplin/issues/1408">#1408</a>)</li>
</ul>
<h2 id="-v1-0-142-https-github-com-laurent22-joplin-releases-tag-v1-0-142-2019-04-02t16-44-51z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.142">v1.0.142</a> - 2019-04-02T16:44:51Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.142">v1.0.142</a> - 2019-04-02T16:44:51Z</h2>
<ul>
<li>New: Allow toggling markdown plugins and added several new plugins (<a href="https://github.com/laurent22/joplin/issues/1347">#1347</a>)</li>
<li>New: Added Goto Anything dialog (Ctrl+P or Cmd+P)</li>
@ -280,20 +280,20 @@
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/1325">#1325</a>: Fixed nested checkbox indentation</li>
<li>fix sub pixel rendering for desktop (<a href="https://github.com/laurent22/joplin/issues/1378">#1378</a>)</li>
</ul>
<h2 id="-v1-0-140-https-github-com-laurent22-joplin-releases-tag-v1-0-140-2019-03-10t20-59-58z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.140">v1.0.140</a> - 2019-03-10T20:59:58Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.140">v1.0.140</a> - 2019-03-10T20:59:58Z</h2>
<ul>
<li>Resolves <a href="https://github.com/laurent22/joplin/issues/1105">#1105</a>: Added support for macro persistence for Katex</li>
<li>Resolves <a href="https://github.com/laurent22/joplin/issues/206">#206</a>: Added support for sorting notebooks by title or last modified</li>
<li>Fixed: Windows 32-bit version should now work again.</li>
<li>Improved: Rewritten Markdown rendering system to make it easier to add new features. Fixed a few minor rendering bugs doing so.</li>
</ul>
<h2 id="-v1-0-139-https-github-com-laurent22-joplin-releases-tag-v1-0-139-2019-03-09t10-06-48z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.139">v1.0.139</a> - 2019-03-09T10:06:48Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.139">v1.0.139</a> - 2019-03-09T10:06:48Z</h2>
<p>This pre-release is mainly for testing the new rendering engine.</p>
<h2 id="-v1-0-138-https-github-com-laurent22-joplin-releases-tag-v1-0-138-2019-03-03t17-23-00z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.138">v1.0.138</a> - 2019-03-03T17:23:00Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.138">v1.0.138</a> - 2019-03-03T17:23:00Z</h2>
<p>This is only for testing the Arabic translation.</p>
<h2 id="-v1-0-137-https-github-com-laurent22-joplin-releases-tag-v1-0-137-2019-03-03t01-12-51z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.137">v1.0.137</a> - 2019-03-03T01:12:51Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.137">v1.0.137</a> - 2019-03-03T01:12:51Z</h2>
<p>To test Windows 32-bit build.</p>
<h2 id="-v1-0-135-https-github-com-laurent22-joplin-releases-tag-v1-0-135-2019-02-27t23-36-57z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.135">v1.0.135</a> - 2019-02-27T23:36:57Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.135">v1.0.135</a> - 2019-02-27T23:36:57Z</h2>
<p>Note: this is the same as v132 but with a fix for the resizeable column bug, and for PDF export and printing.</p>
<ul>
<li>New: Experimental support for Mermaid graphs (This is <strong>not</strong> yet supported on mobile).</li>
@ -308,7 +308,7 @@
<li>Various bug fixes and improvement following previous release.</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/1251">#1251</a>: Handle Show Uncompleted Tasks option when selecting a tag</li>
</ul>
<h2 id="-v1-0-134-https-github-com-laurent22-joplin-releases-tag-v1-0-134-2019-02-27t10-21-44z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.134">v1.0.134</a> - 2019-02-27T10:21:44Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.134">v1.0.134</a> - 2019-02-27T10:21:44Z</h2>
<p>Note: this is the same as v132 but with a fix for the resizeable column bug.</p>
<ul>
<li>New: Experimental support for Mermaid graphs (This is <strong>not</strong> yet supported on mobile).</li>
@ -323,7 +323,7 @@
<li>Various bug fixes and improvement following previous release.</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/1251">#1251</a>: Handle Show Uncompleted Tasks option when selecting a tag</li>
</ul>
<h2 id="-v1-0-132-https-github-com-laurent22-joplin-releases-tag-v1-0-132-2019-02-26t23-02-05z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.132">v1.0.132</a> - 2019-02-26T23:02:05Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.132">v1.0.132</a> - 2019-02-26T23:02:05Z</h2>
<ul>
<li>New: Experimental support for Mermaid graphs (This is <strong>not</strong> yet supported on mobile).</li>
<li>New: Allow resizing sidebar columns.</li>
@ -337,7 +337,7 @@
<li>Various bug fixes and improvement following previous release.</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/1251">#1251</a>: Handle Show Uncompleted Tasks option when selecting a tag</li>
</ul>
<h2 id="-v1-0-127-https-github-com-laurent22-joplin-releases-tag-v1-0-127-2019-02-14t23-12-48z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.127">v1.0.127</a> - 2019-02-14T23:12:48Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.127">v1.0.127</a> - 2019-02-14T23:12:48Z</h2>
<p>This big release aims at improving the overall usability of the application and to make it more accessible to newcomers.</p>
<ul>
<li>New: Added Welcome notes the first time the app is launched to give an overview of Joplin and its features.</li>
@ -351,7 +351,7 @@
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/1161">#1161</a>: Display highlighted text and other background colours and images when exporting to PDF or printing</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/1200">#1200</a>: Note list was hidden when minimizing and maximizing window</li>
<li>Fixed: Do not display tags that are not associated with any note</li>
<li>Improved: Added &#39;Insert date time&#39; option to menu</li>
<li>Improved: Added 'Insert date time' option to menu</li>
<li>Improved: Added a few more shortcuts for macOS and other platforms</li>
<li>Improved: Added Usage link next to search box</li>
<li>Improved: Allow using macOS App bundle as external editor, and improved error handling</li>
@ -375,7 +375,7 @@
<li>Updated translations and added Turkish language (thanks Zorbey Doğangüneş)</li>
<li>API: Allow specifying item ID for any item</li>
</ul>
<h2 id="-v1-0-126-https-github-com-laurent22-joplin-releases-tag-v1-0-126-2019-02-09t19-46-16z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.126">v1.0.126</a> - 2019-02-09T19:46:16Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.126">v1.0.126</a> - 2019-02-09T19:46:16Z</h2>
<ul>
<li>New: Added Welcome notes the first time the app is launched to give an overview of Joplin and its features.</li>
<li>New: Allow selecting editor path with dialog window</li>
@ -386,7 +386,7 @@
<li>Fixed importing ENEX file when note incorrectly contains a reminder tag</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/1142">#1142</a>: Disallow dropping notes on sidebar Notebook header</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/1161">#1161</a>: Display highlighted text and other background colours and images when exporting to PDF or printing</li>
<li>Improved: Added &#39;Insert date time&#39; option to menu</li>
<li>Improved: Added 'Insert date time' option to menu</li>
<li>Improved: Added a few more shortcuts for macOS and other platforms</li>
<li>Improved: Added Usage link next to search box</li>
<li>Improved: Allow using macOS App bundle as external editor, and improved error handling</li>
@ -406,7 +406,7 @@
<li>Improved: When deleting note, display title or number of notes</li>
<li>API: Allow specifying item ID for any item</li>
</ul>
<h2 id="-v1-0-125-https-github-com-laurent22-joplin-releases-tag-v1-0-125-2019-01-26t18-14-33z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.125">v1.0.125</a> - 2019-01-26T18:14:33Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.125">v1.0.125</a> - 2019-01-26T18:14:33Z</h2>
<ul>
<li>New: Added support for pre-releases - in the options you can now choose to receive pre-releases too.</li>
<li>New: Added version info to auto-update dialog</li>
@ -419,7 +419,7 @@
<li>Improved: Handle ESC key press to cancel the NotePropertiesDialog (<a href="https://github.com/laurent22/joplin/issues/1125">#1125</a>)</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/1137">#1137</a>: Fixed regression on SeaFile sync</li>
</ul>
<h2 id="-v1-0-120-https-github-com-laurent22-joplin-releases-tag-v1-0-120-2019-01-10t21-42-53z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.120">v1.0.120</a> - 2019-01-10T21:42:53Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.120">v1.0.120</a> - 2019-01-10T21:42:53Z</h2>
<ul>
<li>New: Adds functionality to toggle the notebooks and tags on the sidebar. (<a href="https://github.com/laurent22/joplin/issues/1002">#1002</a>)</li>
<li>Resolves <a href="https://github.com/laurent22/joplin/issues/1059">#1059</a>: Fixed behaviour of export to PDF and print</li>
@ -430,7 +430,7 @@
<li>Apply zoom and editorfont updates without needing to restart (<a href="https://github.com/laurent22/joplin/issues/1109">#1109</a>)</li>
<li>Updated many translations</li>
</ul>
<h2 id="-v1-0-119-https-github-com-laurent22-joplin-releases-tag-v1-0-119-2018-12-18t12-40-22z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.119">v1.0.119</a> - 2018-12-18T12:40:22Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.119">v1.0.119</a> - 2018-12-18T12:40:22Z</h2>
<p>Important: This release might be slow on startup due to the need to index all the notes, especially if you have many of them with lots of content. The best is simply to wait for it even if it takes several minutes. This is just a one off and afterwards startup time will be the same as before.</p>
<ul>
<li>New: Fast full text search engine. Works with multiple terms, support for prefixes, can restrict search to either note title or body. See <a href="https://joplin.cozic.net/#searching">https://joplin.cozic.net/#searching</a> for more info.</li>
@ -443,7 +443,7 @@
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/1039">#1039</a>: Always print or export to PDF using light theme</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/1033">#1033</a>: Handle hard break when rendering Markdown to HTML</li>
</ul>
<h2 id="-v1-0-118-https-github-com-laurent22-joplin-releases-tag-v1-0-118-2019-01-11t08-34-13z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.118">v1.0.118</a> - 2019-01-11T08:34:13Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.118">v1.0.118</a> - 2019-01-11T08:34:13Z</h2>
<p>Important: This release might be slow on startup due to the need to index all the notes, especially if you have many of them with lots of content. The best is simply to wait for it even if it takes several minutes. This is just a one off and afterwards startup time will be the same as before.</p>
<ul>
<li>New: Fast full text search engine. Works with multiple terms, support for prefixes, can restrict search to either note title or body. See <a href="https://joplin.cozic.net/#searching">https://joplin.cozic.net/#searching</a> for more info.</li>
@ -456,7 +456,7 @@
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/1039">#1039</a>: Always print or export to PDF using light theme</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/1033">#1033</a>: Handle hard break when rendering Markdown to HTML</li>
</ul>
<h2 id="-v1-0-117-https-github-com-laurent22-joplin-releases-tag-v1-0-117-2018-11-24t12-05-24z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.117">v1.0.117</a> - 2018-11-24T12:05:24Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.117">v1.0.117</a> - 2018-11-24T12:05:24Z</h2>
<ul>
<li>New: Resolves <a href="https://github.com/laurent22/joplin/issues/996">#996</a>: Allow editing multiple notes in external editor</li>
<li>New: Resolves <a href="https://github.com/laurent22/joplin/issues/846">#846</a>: Set resource path to correct relative path so that for example images show up in Markdown viewers.</li>
@ -464,7 +464,7 @@
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/968">#968</a>: Export resources specified with a title</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/995">#995</a>: Disabled tag bar for now until performance issues are resolved.</li>
</ul>
<h2 id="-v1-0-116-https-github-com-laurent22-joplin-releases-tag-v1-0-116-2018-11-20t19-09-24z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.116">v1.0.116</a> - 2018-11-20T19:09:24Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.116">v1.0.116</a> - 2018-11-20T19:09:24Z</h2>
<p>This is mostly a bug fix release following the recent v115 release.</p>
<ul>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/933">#933</a>: Handle internal links from HTML and from MD.</li>
@ -473,7 +473,7 @@
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/985">#985</a>: Add missing syntax highlighting for dark theme</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/991">#991</a>: Add dark theme to note properties dialog</li>
</ul>
<h2 id="-v1-0-115-https-github-com-laurent22-joplin-releases-tag-v1-0-115-2018-11-16t16-52-02z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.115">v1.0.115</a> - 2018-11-16T16:52:02Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.115">v1.0.115</a> - 2018-11-16T16:52:02Z</h2>
<p>This is a rather large release which includes many of the pull requests that were submitted during Hacktoberfest, plus some extra improvements and bug fixes. Many thanks to all the contributors!</p>
<ul>
<li>New: Adds functionality to display tags under the open note. (<a href="https://github.com/laurent22/joplin/issues/893">#893</a>)</li>
@ -490,9 +490,9 @@
<li>API: Allow setting the ID of newly created notes.</li>
<li>Renewed code signing certificate.</li>
</ul>
<h2 id="-v1-0-114-https-github-com-laurent22-joplin-releases-tag-v1-0-114-2018-10-24t20-14-10z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.114">v1.0.114</a> - 2018-10-24T20:14:10Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.114">v1.0.114</a> - 2018-10-24T20:14:10Z</h2>
<ul>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/832">#832</a>: Enex import: Don&#39;t add extra line breaks at the beginning of list item when it contains a block element</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/832">#832</a>: Enex import: Don't add extra line breaks at the beginning of list item when it contains a block element</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/798">#798</a>: Enable Select All shortcut in macOS</li>
<li>API: Fixed handling of PUT method and log errors to file</li>
<li>Api: Fixes <a href="https://github.com/laurent22/joplin/issues/843">#843</a>: Fixed regression that was preventing resource metadata from being downloaded</li>
@ -502,20 +502,20 @@
<li>Prevent URLs added via A tag from being opened inside app</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/853">#853</a>: Replace characters to equivalent US-ASCII ones when exporting files</li>
<li>Improved the way resources are loaded to prepare to allow making downloading resources optional, and to make sync faster</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/312">#312</a> (maybe): Removed power saving feature, which wasn\&#39;t doing anything and added a possible fix to the UI freezing issue on Linux</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/312">#312</a> (maybe): Removed power saving feature, which wasn't doing anything and added a possible fix to the UI freezing issue on Linux</li>
<li>Improved: Handle internal anchors</li>
<li>Improved Linux install script</li>
</ul>
<h2 id="-v1-0-111-https-github-com-laurent22-joplin-releases-tag-v1-0-111-2018-09-30t20-15-09z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.111">v1.0.111</a> - 2018-09-30T20:15:09Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.111">v1.0.111</a> - 2018-09-30T20:15:09Z</h2>
<p>This is mainly a release to fix a bug related to the new IMG tag support.</p>
<ul>
<li>Electron: Resolves <a href="https://github.com/laurent22/joplin/issues/820">#820</a>: Allow dragging and dropping a note in another note to create a link</li>
<li>Electron: Fixes resources being incorrectly auto-deleted when inside an IMG tag</li>
<li>API: Allow downloading a resource data via <code>/resources/:id/file</code></li>
</ul>
<h2 id="-v1-0-110-https-github-com-laurent22-joplin-releases-tag-v1-0-110-2018-09-29t12-29-21z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.110">v1.0.110</a> - 2018-09-29T12:29:21Z</h2>
<p>This is a release only to get the new API out. If you do not need the functionalities of this API or you don&#39;t know what it is, you can probably skip this version.</p>
<h2 id="-v1-0-109-https-github-com-laurent22-joplin-releases-tag-v1-0-109-2018-09-27t18-01-41z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.109">v1.0.109</a> - 2018-09-27T18:01:41Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.110">v1.0.110</a> - 2018-09-29T12:29:21Z</h2>
<p>This is a release only to get the new API out. If you do not need the functionalities of this API or you don't know what it is, you can probably skip this version.</p>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.109">v1.0.109</a> - 2018-09-27T18:01:41Z</h2>
<ul>
<li>New: Allow loading image resources in IMG html tags. For example, this is now possible: <code>&lt;img src=&quot;:/a92ac34387ff467a8c839d201dcd39aa&quot; width=&quot;50&quot;/&gt;</code></li>
<li>Security: Fixed security issue by enabling contextIsolation and proxying IPC messages via preload script. Thank you Yaroslav Lobachevski for discovering the issue.</li>
@ -529,21 +529,21 @@
<li>Clipper: Fixed importing certain images with sources that contain brackets</li>
<li>Improved: Mostly an invisible change at this point, but the REST API has been refactored to allow adding more calls and to support third-party applications.</li>
</ul>
<h2 id="-v1-0-108-https-github-com-laurent22-joplin-releases-tag-v1-0-108-2018-09-29t18-49-29z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.108">v1.0.108</a> - 2018-09-29T18:49:29Z</h2>
<p>To test the latest security fix only. Won&#39;t be released officially.</p>
<h2 id="-v1-0-107-https-github-com-laurent22-joplin-releases-tag-v1-0-107-2018-09-16t19-51-07z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.107">v1.0.107</a> - 2018-09-16T19:51:07Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.108">v1.0.108</a> - 2018-09-29T18:49:29Z</h2>
<p>To test the latest security fix only. Won't be released officially.</p>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.107">v1.0.107</a> - 2018-09-16T19:51:07Z</h2>
<ul>
<li>New: Resolves <a href="https://github.com/laurent22/joplin/issues/755">#755</a>: Added note properties dialog box to view and edit created time, updated time, source URL and geolocation</li>
<li>Added Dutch (Netherlands) translation</li>
<li>Added Romanian translation</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/718">#718</a>: Allow recursively importing Markdown folder</li>
<li>Fix <a href="https://github.com/laurent22/joplin/issues/764">#764</a>: Fix equation tag positioning</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/710">#710</a>: Don&#39;t unwatch file when it is temporarily deleted</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/710">#710</a>: Don't unwatch file when it is temporarily deleted</li>
<li>Resolves <a href="https://github.com/laurent22/joplin/issues/781">#781</a>: Allow creating notebooks with duplicate titles to allow two notebooks with same name to exist under different parents</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/799">#799</a>: Handle restricted_content error for Dropbox (skip files that cannot be uploaded to copyright or other Dropbox t&amp;c violation)</li>
<li>Provided script to install on Ubuntu (with icon)</li>
</ul>
<h2 id="-v1-0-106-https-github-com-laurent22-joplin-releases-tag-v1-0-106-2018-09-08t15-23-40z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.106">v1.0.106</a> - 2018-09-08T15:23:40Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.106">v1.0.106</a> - 2018-09-08T15:23:40Z</h2>
<p>Note: this release is no longer signed to avoid issues with renewing certificates. If you get a warning or the application cannot be installed, please report on the forum on GitHub.</p>
<ul>
<li>Resolves <a href="https://github.com/laurent22/joplin/issues/761">#761</a>: Highlight single tick code segments</li>
@ -552,7 +552,7 @@
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/697">#697</a>: Focus search text input after clearing search</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/709">#709</a>: Now that HTML is supported in notes, remove BR tag replacement hack to fix newline issues.</li>
</ul>
<h2 id="-v1-0-105-https-github-com-laurent22-joplin-releases-tag-v1-0-105-2018-09-05t11-29-36z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.105">v1.0.105</a> - 2018-09-05T11:29:36Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.105">v1.0.105</a> - 2018-09-05T11:29:36Z</h2>
<ul>
<li>Resolves <a href="https://github.com/laurent22/joplin/issues/679">#679</a>: Drag a note on a tag to associate the tag.</li>
<li>Resolves <a href="https://github.com/laurent22/joplin/issues/427">#427</a>: Import source-url from Enex files</li>
@ -560,24 +560,24 @@
<li>New: replace the resource icon (for internal links) with the Joplin icon (from ForkAwesome)</li>
<li>Update: Upgraded Katex to support new features</li>
<li>Update: Improve speed of loading notes that include many resources, and prevent UI from freezing</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/653">#653</a>: Don&#39;t detect horizontal rule as bullet list item</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/653">#653</a>: Don't detect horizontal rule as bullet list item</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/113">#113</a>: Upgraded Ace Editor to try to fix Korean input issue (to be confirmed)</li>
</ul>
<h2 id="-v1-0-104-https-github-com-laurent22-joplin-releases-tag-v1-0-104-2018-06-28t20-25-36z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.104">v1.0.104</a> - 2018-06-28T20:25:36Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.104">v1.0.104</a> - 2018-06-28T20:25:36Z</h2>
<ul>
<li>New: Allow HTML in Markdown documents in a secure way.</li>
<li>New: Resolves <a href="https://github.com/laurent22/joplin/issues/619">#619</a>: Context menu to cut, copy and paste. Also added menu to copy link in web view</li>
<li>New: Resolves <a href="https://github.com/laurent22/joplin/issues/612">#612</a>: Allow duplicating a note</li>
<li>New: Web Clipper: Support &#39;author&#39; property</li>
<li>New: Web Clipper: Support 'author' property</li>
<li>Improved: Resolves <a href="https://github.com/laurent22/joplin/issues/647">#647</a>: Allow specifying text editor path and arguments in setting</li>
<li>Improved: Optimised encryption and decryption of items so that it doesn&#39;t freeze the UI, especially on mobile</li>
<li>Improved: Optimised encryption and decryption of items so that it doesn't freeze the UI, especially on mobile</li>
<li>Improved: Set PDF default file name</li>
<li>Improved: Resolves <a href="https://github.com/laurent22/joplin/issues/644">#644</a>: Added support for .markdown extension when importing files</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/634">#634</a>: Press ESC to dismiss dialog in non-English languages</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/639">#639</a>: Make sure text wraps when printing or exporting as PDF</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/646">#646</a>: Mentioned that TLS settings must be saved before checking sync config</li>
</ul>
<h2 id="-v1-0-103-https-github-com-laurent22-joplin-releases-tag-v1-0-103-2018-06-21t19-38-13z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.103">v1.0.103</a> - 2018-06-21T19:38:13Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.103">v1.0.103</a> - 2018-06-21T19:38:13Z</h2>
<ul>
<li>New: Resolves <a href="https://github.com/laurent22/joplin/issues/611">#611</a>: Allow opening and editing note in external editor</li>
<li>New: <a href="https://github.com/laurent22/joplin/issues/628">#628</a>: Adds a shortcut to insert the date and time.</li>
@ -587,53 +587,53 @@
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/632">#632</a>: Handle restricted_content error in Dropbox</li>
<li>Fix: Revert <a href="https://github.com/laurent22/joplin/issues/554">#554</a> to try to fix <a href="https://github.com/laurent22/joplin/issues/624">#624</a>: WebDAV error when syncing with SeaFile</li>
</ul>
<h2 id="-v1-0-101-https-github-com-laurent22-joplin-releases-tag-v1-0-101-2018-06-17t18-35-11z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.101">v1.0.101</a> - 2018-06-17T18:35:11Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.101">v1.0.101</a> - 2018-06-17T18:35:11Z</h2>
<p>This is a bug-fix release following v100 with the following fixes:</p>
<ul>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/623">#623</a>: Improved handling of text selection and fixed infinite loop (white screen bug)</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/593">#593</a>: Resource should not be auto-deleted if they&#39;ve never been linked to any note</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/593">#593</a>: Resource should not be auto-deleted if they've never been linked to any note</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/630">#630</a>: PDF export in context menu</li>
</ul>
<h2 id="-v1-0-100-https-github-com-laurent22-joplin-releases-tag-v1-0-100-2018-06-14t17-41-43z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.100">v1.0.100</a> - 2018-06-14T17:41:43Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.100">v1.0.100</a> - 2018-06-14T17:41:43Z</h2>
<ul>
<li>New: Added toolbar buttons for formatting text.</li>
<li>New: Added Traditional Chinese and Catalan translations</li>
<li>Fixed: Handle Nginx DAV PROPFIND responses correctly</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/597">#597</a>: Also import sub-notebooks when importing JEX data</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/600">#600</a>: Improved resuming of long sync operations so that it doesn&#39;t needlessly re-download the items from the beginning</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/600">#600</a>: Improved resuming of long sync operations so that it doesn't needlessly re-download the items from the beginning</li>
<li>Fix: Try to display more info when there is a Dropbox API error</li>
</ul>
<h2 id="-v1-0-99-https-github-com-laurent22-joplin-releases-tag-v1-0-99-2018-06-10t13-18-23z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.99">v1.0.99</a> - 2018-06-10T13:18:23Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.99">v1.0.99</a> - 2018-06-10T13:18:23Z</h2>
<p>Note: This is the same as 1.0.97, but with a fix for the Linux version, which could not start anymore.</p>
<p>If you&#39;re using the web clipper, make sure to also update it!</p>
<p>If you're using the web clipper, make sure to also update it!</p>
<ul>
<li>Updated: Auto-delete resources only after 10 days to handle some edge cases</li>
<li>Clipper: Cleaner and more consistent clipper REST API, to facilitate third-party access</li>
<li>Clipper: Fixes <a href="https://github.com/laurent22/joplin/issues/569">#569</a>: Make clipper service available on localhost only</li>
<li>Clipper: Fixes <a href="https://github.com/laurent22/joplin/issues/573">#573</a>: Better handling of certain code blocks</li>
</ul>
<h2 id="-v1-0-97-https-github-com-laurent22-joplin-releases-tag-v1-0-97-2018-06-09t19-23-34z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.97">v1.0.97</a> - 2018-06-09T19:23:34Z</h2>
<p>If you&#39;re using the web clipper, make sure to also update it!</p>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.97">v1.0.97</a> - 2018-06-09T19:23:34Z</h2>
<p>If you're using the web clipper, make sure to also update it!</p>
<ul>
<li>Updated: Auto-delete resources only after 10 days to handle some edge cases</li>
<li>Clipper: Cleaner and more consistent clipper REST API, to facilitate third-party access</li>
<li>Clipper: Fixes <a href="https://github.com/laurent22/joplin/issues/569">#569</a>: Make clipper service available on localhost only</li>
<li>Clipper: Fixes <a href="https://github.com/laurent22/joplin/issues/573">#573</a>: Better handling of certain code blocks</li>
</ul>
<h2 id="-v1-0-96-https-github-com-laurent22-joplin-releases-tag-v1-0-96-2018-05-26t16-36-39z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.96">v1.0.96</a> - 2018-05-26T16:36:39Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.96">v1.0.96</a> - 2018-05-26T16:36:39Z</h2>
<p>This release is mainly to fix various issues with the recently released Web Clipper.</p>
<ul>
<li>Clipper: Allow selecting folder to add the note to</li>
<li>Clipper: Fixed issue when taking screenshot</li>
<li>Clipper: Added Firefox extension</li>
</ul>
<h2 id="-v1-0-95-https-github-com-laurent22-joplin-releases-tag-v1-0-95-2018-05-25t13-04-30z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.95">v1.0.95</a> - 2018-05-25T13:04:30Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.95">v1.0.95</a> - 2018-05-25T13:04:30Z</h2>
<ul>
<li>New: A web clipper is now available - it allows saving web pages and screenshots from your browser to Joplin. To start using it, go to Options &gt; Web Clipper Options. Note that this feature is a beta release so there might still be some issues. Feedback is welcome.</li>
<li>Fix: Identify another Dropbox missing auth error, to allow resetting the token</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/531">#531</a>: Get WebDAV to work with certain servers that require a trailing slash on directories</li>
</ul>
<h2 id="-v1-0-94-https-github-com-laurent22-joplin-releases-tag-v1-0-94-2018-05-21t20-52-59z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.94">v1.0.94</a> - 2018-05-21T20:52:59Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.94">v1.0.94</a> - 2018-05-21T20:52:59Z</h2>
<ul>
<li>New: Allow copying path of resources</li>
<li>New: Adds functionality to allow for renaming of tags.</li>
@ -645,15 +645,15 @@
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/527">#527</a>: Remove empty section separators from menus</li>
<li>Fix: Added styles to fix margin bottom for nested lists</li>
</ul>
<h2 id="-v1-0-93-https-github-com-laurent22-joplin-releases-tag-v1-0-93-2018-05-14t11-36-01z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.93">v1.0.93</a> - 2018-05-14T11:36:01Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.93">v1.0.93</a> - 2018-05-14T11:36:01Z</h2>
<ul>
<li>New: A portable version is now available. To install it simply copy the file &quot;JoplinPortable.exe&quot; to your USB device. See the documentation for more information - <a href="https://joplin.cozic.net/#desktop-applications">https://joplin.cozic.net/#desktop-applications</a></li>
<li>Improved: Made import of ENEX files more robust and accurate</li>
<li>Improved: Auto-update process should be more reliable.</li>
<li>Fixed: Made sync-after-save interval longer to made synchronisations less frequent.</li>
</ul>
<h2 id="-v1-0-91-https-github-com-laurent22-joplin-releases-tag-v1-0-91-2018-05-10t14-48-04z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.91">v1.0.91</a> - 2018-05-10T14:48:04Z</h2>
<p>Same as v1.0.90 but with a fix for <a href="https://github.com/laurent22/joplin/issues/510">#510</a> </p>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.91">v1.0.91</a> - 2018-05-10T14:48:04Z</h2>
<p>Same as v1.0.90 but with a fix for <a href="https://github.com/laurent22/joplin/issues/510">#510</a></p>
<ul>
<li>New: Resolves <a href="https://github.com/laurent22/joplin/issues/345">#345</a>: Option to hide completed todos</li>
<li>New: Resolves <a href="https://github.com/laurent22/joplin/issues/200">#200</a>, Resolves <a href="https://github.com/laurent22/joplin/issues/416">#416</a>: Allow attaching images by pasting them in. Allow attaching files by drag and dropping them. Insert attachment at cursor position.</li>
@ -662,14 +662,14 @@
<li>Fixed: Tag display</li>
<li>Security: Resolves <a href="https://github.com/laurent22/joplin/issues/500">#500</a>: Fixed XSS security vulnerability</li>
</ul>
<h2 id="-v1-0-89-https-github-com-laurent22-joplin-releases-tag-v1-0-89-2018-05-09t13-05-05z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.89">v1.0.89</a> - 2018-05-09T13:05:05Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.89">v1.0.89</a> - 2018-05-09T13:05:05Z</h2>
<ul>
<li>New: Resolves <a href="https://github.com/laurent22/joplin/issues/122">#122</a>: Added support for sub-notebooks. Please see doc for more info: <a href="https://joplin.cozic.net/#sub-notebooks">https://joplin.cozic.net/#sub-notebooks</a></li>
<li>Improved: Export/Import links to notes</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/480">#480</a>: Ignore invalid flag automatically passed by macOS</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/61">#61</a>: Handle path that ends with slash for file system sync</li>
</ul>
<h2 id="-v1-0-85-https-github-com-laurent22-joplin-releases-tag-v1-0-85-2018-05-01t21-08-24z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.85">v1.0.85</a> - 2018-05-01T21:08:24Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.85">v1.0.85</a> - 2018-05-01T21:08:24Z</h2>
<p>Note: This is the same as v84 but with the note creation bug fixed.</p>
<ul>
<li>New: Windows 32-bit support</li>
@ -683,22 +683,22 @@
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/470">#470</a>: Make it clear that spaces in URLs are invalid.</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/434">#434</a>: Handle Katex block mode</li>
</ul>
<h2 id="-v1-0-83-https-github-com-laurent22-joplin-releases-tag-v1-0-83-2018-04-04t19-43-58z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.83">v1.0.83</a> - 2018-04-04T19:43:58Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.83">v1.0.83</a> - 2018-04-04T19:43:58Z</h2>
<ul>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/365">#365</a>: Cannot paste in Dropbox screen</li>
</ul>
<h2 id="-v1-0-82-https-github-com-laurent22-joplin-releases-tag-v1-0-82-2018-03-31t19-16-31z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.82">v1.0.82</a> - 2018-03-31T19:16:31Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.82">v1.0.82</a> - 2018-03-31T19:16:31Z</h2>
<ul>
<li>Updated translations</li>
</ul>
<h2 id="-v1-0-81-https-github-com-laurent22-joplin-releases-tag-v1-0-81-2018-03-28t08-13-58z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.81">v1.0.81</a> - 2018-03-28T08:13:58Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.81">v1.0.81</a> - 2018-03-28T08:13:58Z</h2>
<ul>
<li>New: Dropbox synchronisation</li>
<li>New: Czech translation</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/318">#318</a>: Display full links in editor</li>
<li>Resolves <a href="https://github.com/laurent22/joplin/issues/329">#329</a>: Add link to E2EE doc</li>
</ul>
<h2 id="-v1-0-79-https-github-com-laurent22-joplin-releases-tag-v1-0-79-2018-03-23t18-00-11z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.79">v1.0.79</a> - 2018-03-23T18:00:11Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.79">v1.0.79</a> - 2018-03-23T18:00:11Z</h2>
<ul>
<li>New: Resolves <a href="https://github.com/laurent22/joplin/issues/144">#144</a>, Resolves <a href="https://github.com/laurent22/joplin/issues/311">#311</a>: Highlight search results and search in real time. Associated Ctrl+F with searching.</li>
<li>New: Resolves <a href="https://github.com/laurent22/joplin/issues/73">#73</a>: Show modified date next to note in editor</li>
@ -707,33 +707,33 @@
<li>Updated: Resolves <a href="https://github.com/laurent22/joplin/issues/307">#307</a>: Use blue colour for sidebar, to be consistent with mobile app and logo</li>
<li>Updated: Translations</li>
</ul>
<h2 id="-v1-0-78-https-github-com-laurent22-joplin-releases-tag-v1-0-78-2018-03-17t15-27-18z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.78">v1.0.78</a> - 2018-03-17T15:27:18Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.78">v1.0.78</a> - 2018-03-17T15:27:18Z</h2>
<ul>
<li>Improved: Handle deletion of resources that are not linked to any note</li>
</ul>
<h2 id="-v1-0-77-https-github-com-laurent22-joplin-releases-tag-v1-0-77-2018-03-16t15-12-35z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.77">v1.0.77</a> - 2018-03-16T15:12:35Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.77">v1.0.77</a> - 2018-03-16T15:12:35Z</h2>
<p>Note: This fixes an invalid database upgrade in the previous version.</p>
<ul>
<li>New: Resolves <a href="https://github.com/laurent22/joplin/issues/237">#237</a>: Export to PDF and print option</li>
<li>New: Resolves <a href="https://github.com/laurent22/joplin/issues/154">#154</a>: No longer used resources are automatically deleted after approximately 24h</li>
<li>Improved: Resolves <a href="https://github.com/laurent22/joplin/issues/298">#298</a>: Removed extraneous first characters from auto-title</li>
<li>Improved: Made WebDAV options dynamics so that changing username or password doesn&#39;t require restarting the app</li>
<li>Improved: Made WebDAV options dynamics so that changing username or password doesn't require restarting the app</li>
<li>Fix: Fixes <a href="https://github.com/laurent22/joplin/issues/291">#291</a>: Crash with empty backtick</li>
<li>Fix: Fixes <a href="https://github.com/laurent22/joplin/issues/292">#292</a>: Improved auto-update feature and fixed incorrect notifications</li>
<li>Fix: Signed executables on Windows</li>
<li>Updated Russian, German, Portuguese, Spanish and French translations. Many thanks to the translators!</li>
</ul>
<h2 id="-v1-0-72-https-github-com-laurent22-joplin-releases-tag-v1-0-72-2018-03-14t09-44-35z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.72">v1.0.72</a> - 2018-03-14T09:44:35Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.72">v1.0.72</a> - 2018-03-14T09:44:35Z</h2>
<ul>
<li>New: Allow exporting only selected notes or notebook</li>
<li>New: Resolves <a href="https://github.com/laurent22/joplin/issues/266">#266</a>: Allow setting text editor font family</li>
<li>New: Display icon next to resources and allow downloading them from Electron client</li>
<li>Improved: Optimised sync when dealing with many items, in particular when using Nextcloud or WebDAV</li>
<li>Improved: Display last sync error unless it&#39;s a timeout or network error</li>
<li>Improved: Display last sync error unless it's a timeout or network error</li>
<li>Improved: Fixes <a href="https://github.com/laurent22/joplin/issues/268">#268</a>: Improve error message for invalid flags</li>
<li>Fix: Fixes <a href="https://github.com/laurent22/joplin/issues/271">#271</a>: Sort by created time was not respected</li>
</ul>
<h2 id="-v1-0-70-https-github-com-laurent22-joplin-releases-tag-v1-0-70-2018-02-28t20-04-30z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.70">v1.0.70</a> - 2018-02-28T20:04:30Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.70">v1.0.70</a> - 2018-02-28T20:04:30Z</h2>
<ul>
<li>New: Resolves <a href="https://github.com/laurent22/joplin/issues/97">#97</a>: Export to JEX format or RAW format</li>
<li>New: Import JEX and RAW format</li>
@ -744,20 +744,20 @@
<li>Fix: Fixed sync interval sorting order</li>
<li>Fix: <a href="https://github.com/laurent22/joplin/issues/256">#256</a>: Check that no other instance of Joplin is running before launching a new one</li>
</ul>
<h2 id="-v1-0-67-https-github-com-laurent22-joplin-releases-tag-v1-0-67-2018-02-19t22-51-08z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.67">v1.0.67</a> - 2018-02-19T22:51:08Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.67">v1.0.67</a> - 2018-02-19T22:51:08Z</h2>
<ul>
<li>Fixed: <a href="https://github.com/laurent22/joplin/issues/217">#217</a>: Display a message when the note has no content and only the note viewer is visible</li>
<li>Fixed: <a href="https://github.com/laurent22/joplin/issues/240">#240</a>: Tags should be handled in a case-insensitive way</li>
<li>Fixed: <a href="https://github.com/laurent22/joplin/issues/241">#241</a>: Ignore response for certain WebDAV calls to improve compatibility with some services.</li>
<li>Updated: French and Español translation</li>
</ul>
<h2 id="-v1-0-66-https-github-com-laurent22-joplin-releases-tag-v1-0-66-2018-02-18t23-09-09z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.66">v1.0.66</a> - 2018-02-18T23:09:09Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.66">v1.0.66</a> - 2018-02-18T23:09:09Z</h2>
<ul>
<li>Fixed: Local items were no longer being deleted via sync.</li>
<li>Improved: More debug information when WebDAV sync target does not work.</li>
<li>Improved: Compatibility with some WebDAV services (Seafile in particular)</li>
</ul>
<h2 id="-v1-0-65-https-github-com-laurent22-joplin-releases-tag-v1-0-65-2018-02-17t20-02-25z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.65">v1.0.65</a> - 2018-02-17T20:02:25Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.65">v1.0.65</a> - 2018-02-17T20:02:25Z</h2>
<ul>
<li>New: Added several keyboard shortcuts</li>
<li>New: Convert new lines in tables to BR tags, and added support for HTML tags in Markdown viewers</li>
@ -765,7 +765,7 @@
<li>Fixed: Issue with items not being decrypted immediately when they are created due to a sync conflict.</li>
<li>Updated: Translations</li>
</ul>
<h2 id="-v1-0-64-https-github-com-laurent22-joplin-releases-tag-v1-0-64-2018-02-16t00-58-20z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.64">v1.0.64</a> - 2018-02-16T00:58:20Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.64">v1.0.64</a> - 2018-02-16T00:58:20Z</h2>
<p>Still more fixes and improvements to get v1 as stable as possible before adding new features.</p>
<p>IMPORTANT: If you use Nextcloud it is recommended to sync all your notes before installing this release (see below).</p>
<ul>
@ -774,20 +774,20 @@
<li>Fixed: Allow copy and paste from config and encryption screen on macOS</li>
<li>Fixed: <a href="https://github.com/laurent22/joplin/issues/201">#201</a>, <a href="https://github.com/laurent22/joplin/issues/216">#216</a>: Make sure only one update check can run at a time, and improved modal dialog boxes</li>
</ul>
<h2 id="-v1-0-63-https-github-com-laurent22-joplin-releases-tag-v1-0-63-2018-02-14t19-40-36z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.63">v1.0.63</a> - 2018-02-14T19:40:36Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.63">v1.0.63</a> - 2018-02-14T19:40:36Z</h2>
<ul>
<li>Improved the way settings are changed. Should also fixed issue with sync context being accidentally broken.</li>
<li>Improved WebDAV driver compatibility with some services (eg. Seafile)</li>
</ul>
<h2 id="-v1-0-62-https-github-com-laurent22-joplin-releases-tag-v1-0-62-2018-02-12t20-19-58z"><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.62">v1.0.62</a> - 2018-02-12T20:19:58Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.62">v1.0.62</a> - 2018-02-12T20:19:58Z</h2>
<ul>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/205">#205</a>: Importing Evernote notes while on import page re-imports previous import</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/209">#209</a>: Items with non-ASCII characters end up truncated on Nextcloud</li>
<li>Added Basque translation, fixed issue with handling invalid translations. Updated translation FR.</li>
</ul>
<h2 id="-v0-10-61-https-github-com-laurent22-joplin-releases-tag-v0-10-61-2018-02-08t18-27-39z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.61">v0.10.61</a> - 2018-02-08T18:27:39Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.61">v0.10.61</a> - 2018-02-08T18:27:39Z</h2>
<ul>
<li>New: Display message when creating new note or to-do so that it doesn&#39;t look like the previous note content got deleted.</li>
<li>New: Display message when creating new note or to-do so that it doesn't look like the previous note content got deleted.</li>
<li>New: Also support $ as delimiter for Katex expressions</li>
<li>New: Added sync config check to config screens</li>
<li>New: Allowing opening and saving resource images</li>
@ -796,23 +796,23 @@
<li>Fix: Make sure alarms and resources are attached to right note when creating new note</li>
<li>Fix: Use mutex when saving model to avoid race conditions when decrypting and syncing at the same time</li>
</ul>
<h2 id="-v0-10-60-https-github-com-laurent22-joplin-releases-tag-v0-10-60-2018-02-06t13-09-56z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.60">v0.10.60</a> - 2018-02-06T13:09:56Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.60">v0.10.60</a> - 2018-02-06T13:09:56Z</h2>
<ul>
<li>New: WebDAV synchronisation target</li>
<li>New: Support for math typesetting <a href="https://khan.github.io/KaTeX/">Katex</a></li>
<li>New: Tray icon for Windows and macOS</li>
<li>Fixed: Don&#39;t allow adding notes to conflict notebook</li>
<li>Fixed: Don't allow adding notes to conflict notebook</li>
<li>Updated: Russian translation</li>
<li>Updated: French translation</li>
<li>New: List missing master keys in encryption screen</li>
<li>Fixed: Attaching images in Linux was no longer working</li>
<li>Fixed crash in macOS</li>
</ul>
<h2 id="-v0-10-54-https-github-com-laurent22-joplin-releases-tag-v0-10-54-2018-01-31t20-21-30z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.54">v0.10.54</a> - 2018-01-31T20:21:30Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.54">v0.10.54</a> - 2018-01-31T20:21:30Z</h2>
<ul>
<li>Optimised Nextcloud functionality so that it is faster and consumes less resources</li>
<li>Fixed Nextcloud sync issue when processing many items.</li>
<li>Fixed: Handle case where file is left half-uploaded on Nextcloud instance (possibly an ocloud.de issue only)</li>
<li>Fixed: Handle case where file is left half-uploaded on Nextcloud instance (possibly an <a href="http://ocloud.de">ocloud.de</a> issue only)</li>
<li>Fixed: Allow decryption of other items to continue even if an item cannot be decrypted</li>
<li>Add Content-Size header for WebDAV, which is required by some services</li>
<li>Fixed auto-title when title is manually entered first</li>
@ -820,104 +820,103 @@
<li>New: Allow focusing either title or body when creating a new note or to-do</li>
<li>Fixed crash when having invalid UTF-8 string in text editor</li>
</ul>
<h2 id="-v0-10-52-https-github-com-laurent22-joplin-releases-tag-v0-10-52-2018-01-31t19-25-18z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.52">v0.10.52</a> - 2018-01-31T19:25:18Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.52">v0.10.52</a> - 2018-01-31T19:25:18Z</h2>
<ul>
<li>Optimised Nextcloud functionality so that it is faster and consumes less resources</li>
<li>Fixed Nextcloud sync issue when processing many items.</li>
<li>Fixed: Handle case where file is left half-uploaded on Nextcloud instance (possibly an ocloud.de issue only)</li>
<li>Fixed: Handle case where file is left half-uploaded on Nextcloud instance (possibly an <a href="http://ocloud.de">ocloud.de</a> issue only)</li>
<li>Fixed: Allow decryption of other items to continue even if an item cannot be decrypted</li>
<li>Add Content-Size header for WebDAV, which is required by some services</li>
<li>Fixed auto-title when title is manually entered first</li>
<li>Improved auto-update process to avoid random crashes</li>
<li>New: Allow focusing either title or body when creating a new note or to-do</li>
</ul>
<h2 id="-v0-10-51-https-github-com-laurent22-joplin-releases-tag-v0-10-51-2018-01-28t18-47-02z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.51">v0.10.51</a> - 2018-01-28T18:47:02Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.51">v0.10.51</a> - 2018-01-28T18:47:02Z</h2>
<ul>
<li>Added Nextcloud support (Beta)</li>
<li>Upgraded Electron to 1.7.11 to fix security vulnerability</li>
<li>Fixed checkbox issue in config screen</li>
<li>Fixed detection of encrypted item</li>
</ul>
<h2 id="-v0-10-48-https-github-com-laurent22-joplin-releases-tag-v0-10-48-2018-01-23t11-19-51z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.48">v0.10.48</a> - 2018-01-23T11:19:51Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.48">v0.10.48</a> - 2018-01-23T11:19:51Z</h2>
<ul>
<li>Improved and optimised file system sync target when many items are present.</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/155">#155</a>: Caret alignment issue with Russian text</li>
<li>Dutch translation (Thanks @tcassaert)</li>
<li>Removed certain log statements so that sensitive info doesn&#39;t end up in logs</li>
<li>Removed certain log statements so that sensitive info doesn't end up in logs</li>
<li>Fix: Handle case where resource blob is missing during sync</li>
</ul>
<h2 id="-v0-10-47-https-github-com-laurent22-joplin-releases-tag-v0-10-47-2018-01-16t17-27-17z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.47">v0.10.47</a> - 2018-01-16T17:27:17Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.47">v0.10.47</a> - 2018-01-16T17:27:17Z</h2>
<ul>
<li>Improved the way new note are created, and automatically add a title. Made saving and loading notes more reliable.</li>
<li>Fix: race condition when a note is being uploaded while it&#39;s being modified in the text editor</li>
<li>Fix: race condition when a note is being uploaded while it's being modified in the text editor</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/129">#129</a>: Tags are case insensitive</li>
<li>Schedule sync only after 30 seconds</li>
<li>Schedule sync after enabling or disabling encryption</li>
<li>Display sync items being fetched</li>
<li>Fixed logic of what note is used when right-clicking one or more notes</li>
<li>Fix: Don&#39;t scroll back to top when note is reloaded via sync</li>
<li>Fix: Don't scroll back to top when note is reloaded via sync</li>
<li>Display URL for links</li>
<li>Fix: Move prompt to top to avoid issue with date picker being hidden</li>
<li>Fixed table font size and family</li>
<li>Fixed logic to save, and make sure scheduled save always happen even when changing note</li>
<li>Fixed OneDrive sync when resync is requested</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/85">#85</a>: Don&#39;t record deleted_items entries for folders deleted via sync</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/85">#85</a>: Don't record deleted_items entries for folders deleted via sync</li>
<li>Updated translations</li>
</ul>
<h2 id="-v0-10-43-https-github-com-laurent22-joplin-releases-tag-v0-10-43-2018-01-08t10-12-10z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.43">v0.10.43</a> - 2018-01-08T10:12:10Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.43">v0.10.43</a> - 2018-01-08T10:12:10Z</h2>
<ul>
<li>Fixed saving and loading of settings, which could affect synchronisation</li>
</ul>
<h2 id="-v0-10-41-https-github-com-laurent22-joplin-releases-tag-v0-10-41-2018-01-05t20-38-12z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.41">v0.10.41</a> - 2018-01-05T20:38:12Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.41">v0.10.41</a> - 2018-01-05T20:38:12Z</h2>
<ul>
<li>Added End-To-End Encryption support (E2EE)</li>
</ul>
<h2 id="-v0-10-40-https-github-com-laurent22-joplin-releases-tag-v0-10-40-2018-01-02t23-16-57z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.40">v0.10.40</a> - 2018-01-02T23:16:57Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.40">v0.10.40</a> - 2018-01-02T23:16:57Z</h2>
<ul>
<li>Fixed undo in text editor</li>
<li>Updated German translation</li>
<li>Added Russian, Japanese and Chinese translations</li>
</ul>
<h2 id="-v0-10-39-https-github-com-laurent22-joplin-releases-tag-v0-10-39-2017-12-11t21-19-44z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.39">v0.10.39</a> - 2017-12-11T21:19:44Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.39">v0.10.39</a> - 2017-12-11T21:19:44Z</h2>
<ul>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/55">#55</a>: Added support for HTML tags found in ENEX files: colgroup, col, ins, kbd, address, caption, var, area, map</li>
<li>Resolve <a href="https://github.com/laurent22/joplin/issues/7">#7</a>: Show storage location in Options screen</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/84">#84</a>: Fields losing focus in Config screen</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/86">#86</a>: App icon missing on Linux</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/87">#87</a>: Show warningn when deleting notebook that contains notes.</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/3">#3</a>: Paths with &#39;.&#39; would cause JSX compilation to fail</li>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/3">#3</a>: Paths with '.' would cause JSX compilation to fail</li>
</ul>
<h2 id="-v0-10-38-https-github-com-laurent22-joplin-releases-tag-v0-10-38-2017-12-08t10-12-06z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.38">v0.10.38</a> - 2017-12-08T10:12:06Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.38">v0.10.38</a> - 2017-12-08T10:12:06Z</h2>
<ul>
<li>Dialog to export sync status</li>
<li>Enabled support for filesystem sync</li>
</ul>
<h2 id="-v0-10-37-https-github-com-laurent22-joplin-releases-tag-v0-10-37-2017-12-07t19-38-05z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.37">v0.10.37</a> - 2017-12-07T19:38:05Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.37">v0.10.37</a> - 2017-12-07T19:38:05Z</h2>
<ul>
<li>Better handling of items that cannot be synchronised (for example, if they exceed the max file size supported by the target)</li>
<li>Added Synchronisation Status screen</li>
<li>Improved Enex support:<ul>
<li>Improved Enex support:
<ul>
<li>Better handling of notes containing entire web pages (such as when imported via Web Clipper)</li>
<li>Support for <code>&lt;img&gt;</code> tags</li>
<li>Support for various other tags</li>
<li>Improved importing web pages that contain tables within tables. In which case the outer tables (which are usually the website layout) are rendered as regular text block and only the inner tables are actually rendered as tables.<ul>
<li>Improved importing web pages that contain tables within tables. In which case the outer tables (which are usually the website layout) are rendered as regular text block and only the inner tables are actually rendered as tables.</li>
<li>Fixed many other minor warnings and errors</li>
</ul>
</li>
</ul>
</li>
<li>Allow setting installation directory in Windows</li>
</ul>
<h2 id="-v0-10-36-https-github-com-laurent22-joplin-releases-tag-v0-10-36-2017-12-05t09-34-40z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.36">v0.10.36</a> - 2017-12-05T09:34:40Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.36">v0.10.36</a> - 2017-12-05T09:34:40Z</h2>
<ul>
<li>All: Improved synchronisation when sync target has unreliable timestamps</li>
<li>All: Fixed display issue - when items were modified during sync it could result in blank rows being displayed in note lists.</li>
</ul>
<h2 id="-v0-10-35-https-github-com-laurent22-joplin-releases-tag-v0-10-35-2017-12-02t15-56-08z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.35">v0.10.35</a> - 2017-12-02T15:56:08Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.35">v0.10.35</a> - 2017-12-02T15:56:08Z</h2>
<ul>
<li>All: Fixed sync issue and database migration issue</li>
</ul>
<h2 id="-v0-10-34-https-github-com-laurent22-joplin-releases-tag-v0-10-34-2017-12-02t14-50-28z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.34">v0.10.34</a> - 2017-12-02T14:50:28Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.34">v0.10.34</a> - 2017-12-02T14:50:28Z</h2>
<ul>
<li>All: fixed database creation error</li>
<li>All: Improved Evernote import for blockquotes and sup tags</li>
@ -930,43 +929,43 @@
<li>All: Allow attaching files of unknown mime type</li>
<li>All: Added error for OneDrive for Business</li>
</ul>
<h2 id="-v0-10-33-https-github-com-laurent22-joplin-releases-tag-v0-10-33-2017-12-02t13-20-39z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.33">v0.10.33</a> - 2017-12-02T13:20:39Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.33">v0.10.33</a> - 2017-12-02T13:20:39Z</h2>
<ul>
<li>Improved Evernote import for blockquotes and sup tags</li>
</ul>
<h2 id="-v0-10-31-https-github-com-laurent22-joplin-releases-tag-v0-10-31-2017-12-01t09-56-44z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.31">v0.10.31</a> - 2017-12-01T09:56:44Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.31">v0.10.31</a> - 2017-12-01T09:56:44Z</h2>
<ul>
<li>Fixes <a href="https://github.com/laurent22/joplin/issues/22">#22</a> - keyboard cursor jumps while typing.</li>
</ul>
<h2 id="-v0-10-30-https-github-com-laurent22-joplin-releases-tag-v0-10-30-2017-11-30t20-28-16z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.30">v0.10.30</a> - 2017-11-30T20:28:16Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.30">v0.10.30</a> - 2017-11-30T20:28:16Z</h2>
<ul>
<li>Added Spanish locale (thank you Erick Rodríguez Ponce)</li>
<li>Fixed copy/cut/paste issue in macOS</li>
<li>Fixed checkbox issue in Option screen.</li>
</ul>
<h2 id="-v0-10-28-https-github-com-laurent22-joplin-releases-tag-v0-10-28-2017-11-30t01-07-46z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.28">v0.10.28</a> - 2017-11-30T01:07:46Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.28">v0.10.28</a> - 2017-11-30T01:07:46Z</h2>
<ul>
<li>Added toolbar to set alarms and attach files</li>
<li>Fixed Evernote import of certain images</li>
<li>Fixed note update issue</li>
</ul>
<h2 id="-v0-10-26-https-github-com-laurent22-joplin-releases-tag-v0-10-26-2017-11-29t16-02-17z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.26">v0.10.26</a> - 2017-11-29T16:02:17Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.26">v0.10.26</a> - 2017-11-29T16:02:17Z</h2>
<ul>
<li>Added support for alarms (notifications)</li>
<li>Fixed scrolling issue for long notes</li>
<li>Improved OneDrive login and possibly fixed rare error</li>
</ul>
<h2 id="-v0-10-25-https-github-com-laurent22-joplin-releases-tag-v0-10-25-2017-11-24t14-27-49z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.25">v0.10.25</a> - 2017-11-24T14:27:49Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.25">v0.10.25</a> - 2017-11-24T14:27:49Z</h2>
<ul>
<li>Allow multi-selection on note lists</li>
<li>Allow drag and drop of notes</li>
<li>Hide invalid characters (non-breaking spaces) in editor</li>
</ul>
<h2 id="-v0-10-23-https-github-com-laurent22-joplin-releases-tag-v0-10-23-2017-11-21t19-38-41z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.23">v0.10.23</a> - 2017-11-21T19:38:41Z</h2>
<h2 id="-v0-10-22-https-github-com-laurent22-joplin-releases-tag-v0-10-22-2017-11-20t21-45-57z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.22">v0.10.22</a> - 2017-11-20T21:45:57Z</h2>
<h2 id="-v0-10-21-https-github-com-laurent22-joplin-releases-tag-v0-10-21-2017-11-18t00-53-15z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.21">v0.10.21</a> - 2017-11-18T00:53:15Z</h2>
<h2 id="-v0-10-20-https-github-com-laurent22-joplin-releases-tag-v0-10-20-2017-11-17t17-18-25z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.20">v0.10.20</a> - 2017-11-17T17:18:25Z</h2>
<h2 id="-v0-10-19-https-github-com-laurent22-joplin-releases-tag-v0-10-19-2017-11-20t18-59-48z"><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.19">v0.10.19</a> - 2017-11-20T18:59:48Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.23">v0.10.23</a> - 2017-11-21T19:38:41Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.22">v0.10.22</a> - 2017-11-20T21:45:57Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.21">v0.10.21</a> - 2017-11-18T00:53:15Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.20">v0.10.20</a> - 2017-11-17T17:18:25Z</h2>
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.19">v0.10.19</a> - 2017-11-20T18:59:48Z</h2>
<script>
function stickyHeader() {

View File

@ -250,10 +250,10 @@
</li>
</ul>
</div>
<h1 id="joplin-web-clipper">Joplin Web Clipper</h1>
<h1>Joplin Web Clipper</h1>
<p>The Web Clipper is a browser extension that allows you to save web pages and screenshots from your browser. To start using it, open the Joplin desktop application, go to the <strong>Web Clipper Options</strong> and follow the instructions.</p>
<p><img src="https://joplinapp.org/images/WebExtensionScreenshot.png" style="max-width: 50%; border: 1px solid gray;"></p>
<h1 id="troubleshooting-the-web-clipper-service">Troubleshooting the web clipper service</h1>
<img src="https://joplinapp.org/images/WebExtensionScreenshot.png" style="max-width: 50%; border: 1px solid gray;">
<h1>Troubleshooting the web clipper service</h1>
<p>The web clipper extension and the Joplin application communicates via a service, which is started by the Joplin desktop app.</p>
<p>However certain things can interfer with this service and prevent it from being accessible or from starting. If something does not work, check the following:</p>
<ul>
@ -262,8 +262,8 @@
<li>Check that no proxy is running on the machine, or make sure that the requests from the web clipper service are filtered and allowed. For example <a href="https://github.com/laurent22/joplin/issues/561#issuecomment-392220191">https://github.com/laurent22/joplin/issues/561#issuecomment-392220191</a></li>
</ul>
<p>If none of this work, please report it on the <a href="https://discourse.joplin.cozic.net/">forum</a> or <a href="https://github.com/laurent22/joplin/issues">GitHub issue tracker</a></p>
<h1 id="debugging-the-extension">Debugging the extension</h1>
<h2 id="in-chrome">In Chrome</h2>
<h1>Debugging the extension</h1>
<h2>In Chrome</h2>
<p>To provide as much information as possible when reporting an issue, you may provide the log from the various Chrome console.</p>
<p>To do so, first enable developer mode in <a href="chrome://extensions/">chrome://extensions/</a></p>
<ul>
@ -271,7 +271,7 @@
<li>Debugging the background script: In <code>chrome://extensions/</code>, click on &quot;Inspect background script&quot;.</li>
<li>Debugging the content script: Press Ctrl+Shift+I to open the console of the current page.</li>
</ul>
<h2 id="in-firefox">In Firefox</h2>
<h2>In Firefox</h2>
<ul>
<li>Open <a href="about:debugging">about:debugging</a> in Firefox.</li>
<li>Make sure the checkox &quot;Enable add-on debugging&quot; is ticked.</li>
@ -279,10 +279,10 @@
<li>Click on &quot;Debugging&quot; - that should open a new console window.</li>
</ul>
<p>Also press F12 to open the regular Firefox console (some messages from the Joplin extension can go there too).</p>
<p>Now use the extension as normal and replicate the bug you&#39;re having.</p>
<p>Now use the extension as normal and replicate the bug you're having.</p>
<p>Copy and paste the content of both the debugging window and the Firefox console, and post it to the <a href="https://discourse.joplin.cozic.net/">forum</a>.</p>
<h1 id="using-the-web-clipper-service">Using the Web Clipper service</h1>
<p>The Web Clipper service can be used to create, modify or delete notes, notebooks, tags, etc. from any other application. It exposes an API with a number of methods to manage Joplin&#39;s data. For more information about this API and how to use it, please check the <a href="https://joplinapp.org/api/">Joplin API documentation</a>.</p>
<h1>Using the Web Clipper service</h1>
<p>The Web Clipper service can be used to create, modify or delete notes, notebooks, tags, etc. from any other application. It exposes an API with a number of methods to manage Joplin's data. For more information about this API and how to use it, please check the <a href="https://joplinapp.org/api/">Joplin API documentation</a>.</p>
<script>
function stickyHeader() {

View File

@ -250,26 +250,26 @@
</li>
</ul>
</div>
<h1 id="how-to-enable-debugging">How to enable debugging</h1>
<h1>How to enable debugging</h1>
<p>It is possible to get the apps to display or log more information that might help debug various issues.</p>
<h2 id="desktop-application">Desktop application</h2>
<h2>Desktop application</h2>
<ul>
<li>Add a file named &quot;flags.txt&quot; in the config directory (should be <code>~/.config/joplin-desktop</code> or <code>c:\Users\YOUR_NAME\.config\joplin-desktop</code>) with the following content: <code>--open-dev-tools --log-level debug</code></li>
<li>Restart the application</li>
<li>The development tools should now be opened. Click the &quot;Console&quot; tab</li>
<li>Now repeat the action that was causing problem. The console might output warnings or errors - please add them to the GitHub issue. Also open log.txt in the config folder and if there is any error or warning, please also add them to the issue.</li>
</ul>
<h2 id="cli-application">CLI application</h2>
<h2>CLI application</h2>
<ul>
<li>Start the app with <code>joplin --log-level debug</code></li>
<li>Check the log.txt as specified above for the desktop application and attach the log to the GitHub issue (or just the warnings/errors if any)</li>
</ul>
<h2 id="mobile-application">Mobile application</h2>
<h2>Mobile application</h2>
<ul>
<li>In the options, enable Advanced Option</li>
<li>Open the log in the top right hand corner menu and post a screenshot of any error/warning.</li>
</ul>
<h1 id="creating-a-low-level-bug-report-on-android">Creating a low-level bug report on Android</h1>
<h1>Creating a low-level bug report on Android</h1>
<p><a href="https://developer.android.com/studio/debug/bug-report">https://developer.android.com/studio/debug/bug-report</a></p>
<p>To get a bugreport directly from your device, do the following:</p>
<ul>
@ -278,20 +278,34 @@
<li>Select the type of bug report you want and tap Report.</li>
</ul>
<p>After a moment you get a notification that the bug report is ready. To share the bug report, tap the notification.</p>
<h1 id="creating-a-low-level-bug-report-on-ios">Creating a low-level bug report on iOS</h1>
<p>Some crashes cannot be investigated using Joplin&#39;s own tools. In that case, it can be very helpful to provide a native iOS crash report.</p>
<h1>Creating a low-level bug report on iOS</h1>
<p>Some crashes cannot be investigated using Joplin's own tools. In that case, it can be very helpful to provide a native iOS crash report.</p>
<p>For this, please follow these instructions:</p>
<p>You can send it to this address <a href="https://raw.githubusercontent.com/laurent22/joplin/master/Assets/Adresse.png">https://raw.githubusercontent.com/laurent22/joplin/master/Assets/Adresse.png</a></p>
<p><a href="https://developer.apple.com/library/content/qa/qa1747/_index.html">https://developer.apple.com/library/content/qa/qa1747/_index.html</a></p>
<p>Getting Crash Logs Directly From a Device Without Xcode</p>
<p>Your users can retrieve crash reports from their device and send them to you via email by following these instructions.</p>
<p>(It is not possible to get device console logs directly from a device)</p>
<p>1) Open Settings app</p>
<p>2) Go to Privacy, then Diagnostics &amp; Usage</p>
<p>3) Select Diagnostics &amp; Usage Data</p>
<p>4) Locate the log for the crashed app. The logs will be named in the format: <AppName><em><DateTime></em><DeviceName></p>
<p>5) Select the desired log. Then, using the text selection UI select the entire text of the log. Once the text is selected, tap Copy</p>
<p>6) Paste the copied text to Mail and send to an email address as desired</p>
<ol>
<li>
<p>Open Settings app</p>
</li>
<li>
<p>Go to Privacy, then Diagnostics &amp; Usage</p>
</li>
<li>
<p>Select Diagnostics &amp; Usage Data</p>
</li>
<li>
<p>Locate the log for the crashed app. The logs will be named in the format: <AppName><em><DateTime></em><DeviceName></p>
</li>
<li>
<p>Select the desired log. Then, using the text selection UI select the entire text of the log. Once the text is selected, tap Copy</p>
</li>
<li>
<p>Paste the copied text to Mail and send to an email address as desired</p>
</li>
</ol>
<script>
function stickyHeader() {

View File

@ -250,7 +250,7 @@
</li>
</ul>
</div>
<p><img src="https://joplinapp.org/images/DemoDesktop.png" style="max-width: 100%"></p>
<img src="https://joplinapp.org/images/DemoDesktop.png" style="max-width: 100%">
<p>For general information relevant to all the applications, see also <a href="https://joplinapp.org">Joplin home page</a>.</p>
<script>

View File

@ -250,16 +250,16 @@
</li>
</ul>
</div>
<h1 id="support-joplin-development">Support Joplin development</h1>
<h1>Support Joplin development</h1>
<p>Donations to Joplin support the development of the project. Developing quality applications mostly takes time, but there are also some expenses, such as digital certificates to sign the applications, app store fees, hosting, etc. Most of all, your donation will make it possible to keep up the current development standard.</p>
<p>There are various ways to send a donation:</p>
<h2 id="paypal">Paypal</h2>
<h2>Paypal</h2>
<p>To donate via Paypal, please follow this link:</p>
<p><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=E8JMYD2LQ8MMA&lc=GB&item_name=Joplin+Development&currency_code=EUR&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted"><img src="https://joplinapp.org/images/PayPalDonate.png" height="60px"/></a></p>
<h2 id="patreon">Patreon</h2>
<h2>Patreon</h2>
<p>Or you may support the project on Patreon:</p>
<p><a href="https://www.patreon.com/joplin"><img src="https://joplinapp.org/images/badges/Patreon.png"/></a></p>
<h2 id="other-way-to-support-the-development">Other way to support the development</h2>
<h2>Other way to support the development</h2>
<p>Finally, there are other ways to support the development of Joplin:</p>
<ul>
<li>Consider rating the app on <a href="https://play.google.com/store/apps/details?id=net.cozic.joplin&amp;utm_source=GitHub&amp;utm_campaign=README&amp;pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1">Google Play</a> or <a href="https://itunes.apple.com/us/app/joplin/id1315599797">App Store</a>.</li>

View File

@ -250,11 +250,11 @@
</li>
</ul>
</div>
<h1 id="about-end-to-end-encryption-e2ee-">About End-To-End Encryption (E2EE)</h1>
<h1>About End-To-End Encryption (E2EE)</h1>
<p>End-to-end encryption (E2EE) is a system where only the owner of the data (i.e. notes, notebooks, tags or resources) can read it. It prevents potential eavesdroppers - including telecom providers, internet providers, and even the developers of Joplin from being able to access the data.</p>
<p>The system is designed to defeat any attempts at surveillance or tampering because no third party can decipher the data being communicated or stored.</p>
<p>There is a small overhead to using E2EE since data constantly has to be encrypted and decrypted so consider whether you really need the feature.</p>
<h1 id="enabling-e2ee">Enabling E2EE</h1>
<h1>Enabling E2EE</h1>
<p>Due to the decentralised nature of Joplin, E2EE needs to be manually enabled on all the applications that you synchronise with. It is recommended to first enable it on the desktop or terminal application since they generally run on more powerful devices (unlike the mobile application), and so they can encrypt the initial data faster.</p>
<p>To enable it, please follow these steps:</p>
<ol>
@ -266,9 +266,9 @@
<li>Repeat step 5 for each device.</li>
</ol>
<p>Once all the devices are in sync with E2EE enabled, the encryption/decryption should be mostly transparent. Occasionally you may see encrypted items but they will get decrypted in the background eventually.</p>
<h1 id="disabling-e2ee">Disabling E2EE</h1>
<h1>Disabling E2EE</h1>
<p>Follow the same procedure as above but instead disable E2EE on each device one by one. Again it might be simpler to do it one device at a time and to wait every time for the synchronisation to complete.</p>
<h1 id="technical-specification">Technical specification</h1>
<h1>Technical specification</h1>
<p>For a more technical description, mostly relevant for development or to review the method being used, please see the <a href="https://joplinapp.org/spec/">Encryption specification</a>.</p>
<script>

View File

@ -250,11 +250,11 @@
</li>
</ul>
</div>
<h1 id="clicking-edit-in-external-editor-does-nothing-i-want-to-change-the-editor-">Clicking &#39;Edit in External Editor&#39; does nothing! / I want to change the editor!</h1>
<h1>Clicking 'Edit in External Editor' does nothing! / I want to change the editor!</h1>
<p>The editor command (may include arguments) defines which editor will be used to open a note. If none is provided it will try to auto-detect the default editor. If this does nothing or you want to change it for Joplin, you need to configure it in Settings -&gt; Text editor command.</p>
<p>Some example configurations are: (comments after #)</p>
<p>Linux/Mac:</p>
<pre><code class="lang-bash">subl -n # Opens Sublime (subl) in a new window (-n)
<pre><code class="language-bash">subl -n # Opens Sublime (subl) in a new window (-n)
code -n # Opens Visual Studio Code (code) in a new window (-n)
gedit --new-window # Opens gedit (Gnome Text Editor) in a new window
xterm -e vim # Opens a new terminal and opens vim. Can be replaced with an
@ -263,57 +263,58 @@ xterm -e vim # Opens a new terminal and opens vim. Can be replaced with an
open -a &lt;application&gt; # Mac only: opens a GUI application
</code></pre>
<p>Windows:</p>
<pre><code class="lang-bash">subl.exe -n # Opens Sublime (subl) in a new window (-n)
<pre><code class="language-bash">subl.exe -n # Opens Sublime (subl) in a new window (-n)
code.exe -n # Opens Visual Studio Code in a new window (-n)
notepad.exe # Opens Notepad in a new window
notepad++.exe --openSession # Opens Notepad ++ in new window
</code></pre>
<p>Note that the path to directory with your editor executable must exist in your PATH variable (<a href="https://www.computerhope.com/issues/ch000549.htm">Windows</a>, <a href="https://opensource.com/article/17/6/set-path-linux">Linux/Mac</a>) If not, the full path to the executable must be provided.</p>
<h1 id="when-i-open-a-note-in-vim-the-cursor-is-not-visible">When I open a note in vim, the cursor is not visible</h1>
<h1>When I open a note in vim, the cursor is not visible</h1>
<p>It seems to be due to the setting <code>set term=ansi</code> in .vimrc. Removing it should fix the issue. See <a href="https://github.com/laurent22/joplin/issues/147">https://github.com/laurent22/joplin/issues/147</a> for more information.</p>
<h1 id="all-my-notes-got-deleted-after-changing-the-webdav-url-">All my notes got deleted after changing the WebDAV URL!</h1>
<p>When changing the WebDAV URL, make sure that the new location has the same exact content as the old location (i.e. copy all the Joplin data over to the new location). Otherwise, if there&#39;s nothing on the new location, Joplin is going to think that you have deleted all your data and will proceed to delete it locally too. So to change the WebDAV URL, please follow these steps:</p>
<h1>All my notes got deleted after changing the WebDAV URL!</h1>
<p>When changing the WebDAV URL, make sure that the new location has the same exact content as the old location (i.e. copy all the Joplin data over to the new location). Otherwise, if there's nothing on the new location, Joplin is going to think that you have deleted all your data and will proceed to delete it locally too. So to change the WebDAV URL, please follow these steps:</p>
<ol>
<li>Make a backup of your Joplin data in case something goes wrong. Export to a JEX archive for example.</li>
<li>Synchronise one last time all your data from a Joplin client (for example, from the desktop client)</li>
<li>Close the Joplin client.</li>
<li>On your WebDAV service, copy all the Joplin files from the old location to the new one. Make sure to also copy the <code>.resource</code> directory as it contains your images and other attachments.</li>
<li>Once it&#39;s done, open Joplin again and change the WebDAV URL.</li>
<li>Once it's done, open Joplin again and change the WebDAV URL.</li>
<li>Synchronise to verify that everything is working.</li>
<li>Do step 5 and 6 for all the other Joplin clients you need to sync.</li>
</ol>
<h1 id="how-can-i-easily-enter-markdown-tags-in-android-">How can I easily enter Markdown tags in Android?</h1>
<h1>How can I easily enter Markdown tags in Android?</h1>
<p>You may use a special keyboard such as <a href="https://play.google.com/store/apps/details?id=kl.ime.oh&amp;hl=en">Multiling O Keyboard</a>, which has shortcuts to create Markdown tags. <a href="https://discourse.joplin.cozic.net/t/android-create-new-list-item-with-enter/585/2?u=laurent">More information in this post</a>.</p>
<h1 id="the-initial-sync-is-very-slow-how-can-i-speed-it-up-">The initial sync is very slow, how can I speed it up?</h1>
<p>Whenever importing a large number of notes, for example from Evernote, it may take a very long time for the first sync to complete. There are various techniques to speed thing up (if you don&#39;t want to simply wait for the sync to complete), which are outlined in <a href="https://discourse.joplin.cozic.net/t/workaround-for-slow-initial-bulk-sync-after-evernote-import/746?u=laurent">this post</a>.</p>
<h1 id="is-it-possible-to-use-real-file-and-folder-names-in-the-sync-target-">Is it possible to use real file and folder names in the sync target?</h1>
<h1>The initial sync is very slow, how can I speed it up?</h1>
<p>Whenever importing a large number of notes, for example from Evernote, it may take a very long time for the first sync to complete. There are various techniques to speed thing up (if you don't want to simply wait for the sync to complete), which are outlined in <a href="https://discourse.joplin.cozic.net/t/workaround-for-slow-initial-bulk-sync-after-evernote-import/746?u=laurent">this post</a>.</p>
<h1>Is it possible to use real file and folder names in the sync target?</h1>
<p>Unfortunately it is not possible. Joplin synchronises with file systems using an open format however it does not mean the sync files are meant to be user-editable. The format is designed to be performant and reliable, not user friendly (it cannot be both), and that cannot be changed. Joplin sync directory is basically just a database.</p>
<h1 id="could-there-be-a-pin-or-password-to-restrict-access-to-joplin-">Could there be a PIN or password to restrict access to Joplin?</h1>
<h1>Could there be a PIN or password to restrict access to Joplin?</h1>
<p>Short answer: no. The end to end encryption that Joplin implements is to protect the data during transmission and on the cloud service so that only you can access it.</p>
<p>On the local device it is assumed that the data is safe due to the OS built-in security features. If additional security is needed it&#39;s always possible to put the notes on an encrypted Truecrypt drive for instance.</p>
<p>If someone that you don&#39;t trust has access to the computer, they can put a keylogger anyway so any local encryption or PIN access would not be useful.</p>
<h1 id="webdav-synchronisation-is-not-working">WebDAV synchronisation is not working</h1>
<h2 id="-forbidden-error-in-strato">&quot;Forbidden&quot; error in Strato</h2>
<p>On the local device it is assumed that the data is safe due to the OS built-in security features. If additional security is needed it's always possible to put the notes on an encrypted Truecrypt drive for instance.</p>
<p>If someone that you don't trust has access to the computer, they can put a keylogger anyway so any local encryption or PIN access would not be useful.</p>
<h1>WebDAV synchronisation is not working</h1>
<h2>&quot;Forbidden&quot; error in Strato</h2>
<p>For example:</p>
<pre><code>MKCOL .sync/: Unknown error 2 (403): &lt;!DOCTYPE HTML PUBLIC &quot;-//IETF//DTD HTML 2.0//EN&quot;&gt;
&lt;html&gt;&lt;head&gt;
&lt;title&gt;403 Forbidden&lt;/title&gt;
&lt;/head&gt;&lt;body&gt;
&lt;h1&gt;Forbidden&lt;/h1&gt;
&lt;p&gt;You don&#39;t have permission to access /.sync/
&lt;p&gt;You don't have permission to access /.sync/
on this server.&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;
</code></pre><p>In this case, <a href="https://github.com/laurent22/joplin/issues/309">make sure you enter the correct WebDAV URL</a>.</p>
<h2 id="nextcloud-sync-is-not-working">Nextcloud sync is not working</h2>
</code></pre>
<p>In this case, <a href="https://github.com/laurent22/joplin/issues/309">make sure you enter the correct WebDAV URL</a>.</p>
<h2>Nextcloud sync is not working</h2>
<ul>
<li>Check your username and password. <strong>Type it manually</strong> (without copying and pasting it) and try again.</li>
<li>Check the WebDAV URL - to get the correct URL, go to Nextcloud and, in the left sidebar, click on &quot;Settings&quot; and copy the WebDAV URL from there. <strong>Do not forget to add the folder you&#39;ve created to that URL</strong>. For example, if the base the WebDAV URL is &quot;<a href="https://example.com/nextcloud/remote.php/webdav/">https://example.com/nextcloud/remote.php/webdav/</a>&quot; and you want the notes to be synced in the &quot;Joplin&quot; directory, you need to give the URL &quot;<a href="https://example.com/nextcloud/remote.php/webdav/Joplin">https://example.com/nextcloud/remote.php/webdav/Joplin</a>&quot; <strong>and you need to create the &quot;Joplin&quot; directory yourself</strong>.</li>
<li>Check the WebDAV URL - to get the correct URL, go to Nextcloud and, in the left sidebar, click on &quot;Settings&quot; and copy the WebDAV URL from there. <strong>Do not forget to add the folder you've created to that URL</strong>. For example, if the base the WebDAV URL is &quot;<a href="https://example.com/nextcloud/remote.php/webdav/">https://example.com/nextcloud/remote.php/webdav/</a>&quot; and you want the notes to be synced in the &quot;Joplin&quot; directory, you need to give the URL &quot;<a href="https://example.com/nextcloud/remote.php/webdav/Joplin">https://example.com/nextcloud/remote.php/webdav/Joplin</a>&quot; <strong>and you need to create the &quot;Joplin&quot; directory yourself</strong>.</li>
<li>Did you enable <strong>2FA</strong> (Multi-factor authentication) on Nextcloud? In that case, you need to <a href="https://github.com/laurent22/joplin/issues/1453#issuecomment-486640902">create a one-time password for Joplin on the Nextcloud admin interface</a>.</li>
</ul>
<h1 id="could-you-publish-joplin-on-f-droid-">Could you publish Joplin on F-droid?</h1>
<h1>Could you publish Joplin on F-droid?</h1>
<p>Joplin relies on Firebase to enable reliable notifications on Android. Since F-Droid <a href="https://gitlab.com/fdroid/rfp/issues/434#note_55239154">do not accept applications that depend on this package</a>, it is not currently possible to have Joplin in that repository. To avoid using Google Play, you have the option to directly download the Joplin APK file.</p>
<h1 id="why-is-it-named-joplin-">Why is it named Joplin?</h1>
<p>The name comes from the composer and pianist <a href="https://en.wikipedia.org/wiki/Scott_Joplin">Scott Joplin</a>, which I often listen to. His name is also easy to remember and type so it fell like a good choice. And, to quote a user on Hacker News, &quot;though Scott Joplin&#39;s ragtime musical style has a lot in common with some very informal music, his own approach was more educated, sophisticated, and precise. Every note was in its place for a reason, and he was known to prefer his pieces to be performed exactly as written. So you could say that compared to the people who came before him, his notes were more organized&quot;.</p>
<h1>Why is it named Joplin?</h1>
<p>The name comes from the composer and pianist <a href="https://en.wikipedia.org/wiki/Scott_Joplin">Scott Joplin</a>, which I often listen to. His name is also easy to remember and type so it fell like a good choice. And, to quote a user on Hacker News, &quot;though Scott Joplin's ragtime musical style has a lot in common with some very informal music, his own approach was more educated, sophisticated, and precise. Every note was in its place for a reason, and he was known to prefer his pieces to be performed exactly as written. So you could say that compared to the people who came before him, his notes were more organized&quot;.</p>
<script>
function stickyHeader() {

View File

@ -256,10 +256,9 @@
<p>The notes can be <a href="#synchronisation">synchronised</a> with various cloud services including <a href="https://nextcloud.com/">Nextcloud</a>, Dropbox, OneDrive, WebDAV or the file system (for example with a network directory). When synchronising the notes, notebooks, tags and other metadata are saved to plain text files which can be easily inspected, backed up and moved around.</p>
<p>The application is available for Windows, Linux, macOS, Android and iOS. A <a href="https://github.com/laurent22/joplin/blob/master/readme/clipper.md">Web Clipper</a>, to save web pages and screenshots from your browser, is also available for <a href="https://addons.mozilla.org/en-US/firefox/addon/joplin-web-clipper/">Firefox</a> and <a href="https://chrome.google.com/webstore/detail/joplin-web-clipper/alofnhikmmkdbbbgpnglcpdollgjjfek?hl=en-GB">Chrome</a>.</p>
<div class="top-screenshot"><img src="https://joplinapp.org/images/AllClients.jpg" style="max-width: 100%; max-height: 35em;"></div>
<h1 id="installation">Installation</h1>
<h1>Installation</h1>
<p>Three types of applications are available: for the <strong>desktop</strong> (Windows, macOS and Linux), for <strong>mobile</strong> (Android and iOS) and for <strong>terminal</strong> (Windows, macOS and Linux). All applications have similar user interfaces and can synchronise with each other.</p>
<h2 id="desktop-applications">Desktop applications</h2>
<h2>Desktop applications</h2>
<table>
<thead>
<tr>
@ -272,25 +271,21 @@
<tr>
<td>Windows (32 and 64-bit)</td>
<td><a href='https://github.com/laurent22/joplin/releases/download/v1.0.143/Joplin-Setup-1.0.143.exe'><img alt='Get it on Windows' height="40px" src='https://joplinapp.org/images/BadgeWindows.png'/></a></td>
<td>or Get the <a href='https://github.com/laurent22/joplin/releases/download/v1.0.143/JoplinPortable.exe'>Portable version</a><br>(to run from a USB key, etc.)</td>
<td>Or get the <a href='https://github.com/laurent22/joplin/releases/download/v1.0.143/JoplinPortable.exe'>Portable version</a><br><br>The <a href="https://en.wikipedia.org/wiki/Portable_application">portable application</a> allows installing the software on a portable device such as a USB key. Simply copy the file JoplinPortable.exe in any directory on that USB key ; the application will then create a directory called &quot;JoplinProfile&quot; next to the executable file.</td>
</tr>
<tr>
<td>macOS</td>
<td><a href='https://github.com/laurent22/joplin/releases/download/v1.0.143/Joplin-1.0.143.dmg'><img alt='Get it on macOS' height="40px" src='https://joplinapp.org/images/BadgeMacOS.png'/></a></td>
<td></td>
<td>You can also use Homebrew: <code>brew cask install joplin</code></td>
</tr>
<tr>
<td>Linux</td>
<td><a href='https://github.com/laurent22/joplin/releases/download/v1.0.143/Joplin-1.0.143-x86_64.AppImage'><img alt='Get it on Linux' height="40px" src='https://joplinapp.org/images/BadgeLinux.png'/></a></td>
<td>An Arch Linux package<br><a href="#terminal-application">is also available</a>.</td>
<td>An Arch Linux package <a href="#terminal-application">is also available</a>.<br><br>If it works with your distribution (it has been tested on Ubuntu, Fedora, Gnome and Mint), the recommended way is to use this script as it will handle the desktop icon too:<br><br> <code>sh wget -O - https://raw.githubusercontent.com/laurent22/joplin/master/Joplin_install_and_update.sh | bash</code></td>
</tr>
</tbody>
</table>
<p>The <a href="https://en.wikipedia.org/wiki/Portable_application">portable application</a> allows installing the software on a portable device such as a USB key. Simply copy the file JoplinPortable.exe in any directory on that USB key ; the application will then create a directory called &quot;JoplinProfile&quot; next to the executable file.</p>
<p>On Linux, if it works with your distribution (it has been tested on Ubuntu, Fedora, Gnome and Mint), the recommended way is to use this script as it will handle the desktop icon too:</p>
<pre><code class="lang-sh">wget -O - https://raw.githubusercontent.com/laurent22/joplin/master/Joplin_install_and_update.sh | bash
</code></pre>
<h2 id="mobile-applications">Mobile applications</h2>
<h2>Mobile applications</h2>
<table>
<thead>
<tr>
@ -312,7 +307,7 @@
</tr>
</tbody>
</table>
<h2 id="terminal-application">Terminal application</h2>
<h2>Terminal application</h2>
<table>
<thead>
<tr>
@ -337,9 +332,9 @@
</table>
<p>To start it, type <code>joplin</code>.</p>
<p>For usage information, please refer to the full <a href="https://joplinapp.org/terminal/">Joplin Terminal Application Documentation</a>.</p>
<h2 id="web-clipper">Web Clipper</h2>
<h2>Web Clipper</h2>
<p>The Web Clipper is a browser extension that allows you to save web pages and screenshots from your browser. For more information on how to install and use it, see the <a href="https://github.com/laurent22/joplin/blob/master/readme/clipper.md">Web Clipper Help Page</a>.</p>
<h1 id="features">Features</h1>
<h1>Features</h1>
<ul>
<li>Desktop, mobile and terminal applications.</li>
<li><a href="https://github.com/laurent22/joplin/blob/master/readme/clipper.md">Web Clipper</a> for Firefox and Chrome.</li>
@ -358,23 +353,25 @@
<li>Supports multiple languages</li>
<li>External editor support - open notes in your favorite external editor with one click in Joplin.</li>
</ul>
<h1 id="importing">Importing</h1>
<h2 id="importing-from-evernote">Importing from Evernote</h2>
<h1>Importing</h1>
<h2>Importing from Evernote</h2>
<p>Joplin was designed as a replacement for Evernote and so can import complete Evernote notebooks, as well as notes, tags, resources (attached files) and note metadata (such as author, geo-location, etc.) via ENEX files. In terms of data, the only two things that might slightly differ are:</p>
<ul>
<li><p>Recognition data - Evernote images, in particular scanned (or photographed) documents have <a href="https://en.wikipedia.org/wiki/Optical_character_recognition">recognition data</a> associated with them. It is the text that Evernote has been able to recognise in the document. This data is not preserved when the note are imported into Joplin. However, should it become supported in the search tool or other parts of Joplin, it should be possible to regenerate this recognition data since the actual image would still be available.</p>
<li>
<p>Recognition data - Evernote images, in particular scanned (or photographed) documents have <a href="https://en.wikipedia.org/wiki/Optical_character_recognition">recognition data</a> associated with them. It is the text that Evernote has been able to recognise in the document. This data is not preserved when the note are imported into Joplin. However, should it become supported in the search tool or other parts of Joplin, it should be possible to regenerate this recognition data since the actual image would still be available.</p>
</li>
<li><p>Colour, font sizes and faces - Evernote text is stored as HTML and this is converted to Markdown during the import process. For notes that are mostly plain text or with basic formatting (bold, italic, bullet points, links, etc.) this is a lossless conversion, and the note, once rendered back to HTML should be very similar. Tables are also imported and converted to Markdown tables. For very complex notes, some formatting data might be lost - in particular colours, font sizes and font faces will not be imported. The text itself however is always imported in full regardless of formatting.</p>
<li>
<p>Colour, font sizes and faces - Evernote text is stored as HTML and this is converted to Markdown during the import process. For notes that are mostly plain text or with basic formatting (bold, italic, bullet points, links, etc.) this is a lossless conversion, and the note, once rendered back to HTML should be very similar. Tables are also imported and converted to Markdown tables. For very complex notes, some formatting data might be lost - in particular colours, font sizes and font faces will not be imported. The text itself however is always imported in full regardless of formatting.</p>
</li>
</ul>
<p>To import Evernote data, first export your Evernote notebooks to ENEX files as described <a href="https://help.evernote.com/hc/en-us/articles/209005557-How-to-back-up-export-and-restore-import-notes-and-notebooks">here</a>. Then follow these steps:</p>
<p>On the <strong>desktop application</strong>, open File &gt; Import &gt; ENEX and select your file. The notes will be imported into a new separate notebook. If needed they can then be moved to a different notebook, or the notebook can be renamed, etc.</p>
<p>On the <strong>terminal application</strong>, in <a href="https://joplinapp.org/terminal/#command-line-mode">command-line mode</a>, type <code>import /path/to/file.enex</code>. This will import the notes into a new notebook named after the filename.</p>
<h2 id="importing-from-markdown-files">Importing from Markdown files</h2>
<h2>Importing from Markdown files</h2>
<p>Joplin can import notes from plain Markdown file. You can either import a complete directory of Markdown files or individual files.</p>
<p>On the <strong>desktop application</strong>, open File &gt; Import &gt; MD and select your Markdown file or directory.</p>
<p>On the <strong>terminal application</strong>, in <a href="https://joplinapp.org/terminal/#command-line-mode">command-line mode</a>, type <code>import --format md /path/to/file.md</code> or <code>import --format md /path/to/directory/</code>.</p>
<h2 id="importing-from-other-applications">Importing from other applications</h2>
<h2>Importing from other applications</h2>
<p>In general the way to import notes from any application into Joplin is to convert the notes to ENEX files (Evernote format) and to import these ENEX files into Joplin using the method above. Most note-taking applications support ENEX files so it should be relatively straightforward. For help about specific applications, see below:</p>
<ul>
<li>Standard Notes: Please see <a href="https://programadorwebvalencia.com/migrate-notes-from-standard-notes-to-joplin/">this tutorial</a></li>
@ -382,26 +379,28 @@
<li>OneNote: First <a href="https://discussion.evernote.com/topic/107736-is-there-a-way-to-import-from-onenote-into-evernote-on-the-mac/">import the notes from OneNote into Evernote</a>. Then export the ENEX file from Evernote and import it into Joplin.</li>
<li>NixNote: Synchronise with Evernote, then export the ENEX files and import them into Joplin. More info <a href="https://discourse.joplin.cozic.net/t/import-from-nixnote/183/3">in this thread</a>.</li>
</ul>
<h1 id="exporting">Exporting</h1>
<h1>Exporting</h1>
<p>Joplin can export to the JEX format (Joplin Export file), which is a tar file that can contain multiple notes, notebooks, etc. This is a lossless format in that all the notes, but also metadata such as geo-location, updated time, tags, etc. are preserved. This format is convenient for backup purposes and can be re-imported into Joplin. A &quot;raw&quot; format is also available. This is the same as the JEX format except that the data is saved to a directory and each item represented by a single file.</p>
<h1 id="synchronisation">Synchronisation</h1>
<h1>Synchronisation</h1>
<p>One of the goals of Joplin was to avoid being tied to any particular company or service, whether it is Evernote, Google or Microsoft. As such the synchronisation is designed without any hard dependency to any particular service. Most of the synchronisation process is done at an abstract level and access to external services, such as Nextcloud or Dropbox, is done via lightweight drivers. It is easy to support new services by creating simple drivers that provide a filesystem-like interface, i.e. the ability to read, write, delete and list items. It is also simple to switch from one service to another or to even sync to multiple services at once. Each note, notebook, tags, as well as the relation between items is transmitted as plain text files during synchronisation, which means the data can also be moved to a different application, can be easily backed up, inspected, etc.</p>
<p>Currently, synchronisation is possible with Nextcloud, Dropbox (by default), OneDrive or the local filesystem. To setup synchronisation please follow the instructions below. After that, the application will synchronise in the background whenever it is running, or you can click on &quot;Synchronise&quot; to start a synchronisation manually.</p>
<h2 id="nextcloud-synchronisation">Nextcloud synchronisation</h2>
<p><img src="https://joplinapp.org/images/nextcloud-logo-background.png" width="100" align="left"> <a href="https://nextcloud.com/">Nextcloud</a> is a self-hosted, private cloud solution. It can store documents, images and videos but also calendars, passwords and countless other things and can sync them to your laptop or phone. As you can host your own Nextcloud server, you own both the data on your device and infrastructure used for synchronisation. As such it is a good fit for Joplin. The platform is also well supported and with a strong community, so it is likely to be around for a while - since it&#39;s open source anyway, it is not a service that can be closed, it can exist on a server for as long as one chooses.</p>
<h2>Nextcloud synchronisation</h2>
<p><img src="https://joplinapp.org/images/nextcloud-logo-background.png" width="100" align="left"> <a href="https://nextcloud.com/">Nextcloud</a> is a self-hosted, private cloud solution. It can store documents, images and videos but also calendars, passwords and countless other things and can sync them to your laptop or phone. As you can host your own Nextcloud server, you own both the data on your device and infrastructure used for synchronisation. As such it is a good fit for Joplin. The platform is also well supported and with a strong community, so it is likely to be around for a while - since it's open source anyway, it is not a service that can be closed, it can exist on a server for as long as one chooses.</p>
<p>On the <strong>desktop application</strong> or <strong>mobile application</strong>, go to the config screen and select Nextcloud as the synchronisation target. Then input the WebDAV URL (to get it, click on Settings in the bottom left corner of the page, in Nextcloud), this is normally <code>https://example.com/nextcloud/remote.php/webdav/Joplin</code> (<strong>make sure to create the &quot;Joplin&quot; directory in Nextcloud</strong>), and set the username and password. If it does not work, please <a href="https://github.com/laurent22/joplin/issues/61#issuecomment-373282608">see this explanation</a> for more details.</p>
<p>On the <strong>terminal application</strong>, you will need to set the <code>sync.target</code> config variable and all the <code>sync.5.path</code>, <code>sync.5.username</code> and <code>sync.5.password</code> config variables to, respectively the Nextcloud WebDAV URL, your username and your password. This can be done from the command line mode using:</p>
<pre><code>:config sync.5.path https://example.com/nextcloud/remote.php/webdav/Joplin
:config sync.5.username YOUR_USERNAME
:config sync.5.password YOUR_PASSWORD
:config sync.target 5
</code></pre><p>If synchronisation does not work, please consult the logs in the app profile directory - it is often due to a misconfigured URL or password. The log should indicate what the exact issue is.</p>
<h2 id="dropbox-synchronisation">Dropbox synchronisation</h2>
</code></pre>
<p>If synchronisation does not work, please consult the logs in the app profile directory - it is often due to a misconfigured URL or password. The log should indicate what the exact issue is.</p>
<h2>Dropbox synchronisation</h2>
<p>When syncing with Dropbox, Joplin creates a sub-directory in Dropbox, in <code>/Apps/Joplin</code> and read/write the notes and notebooks from it. The application does not have access to anything outside this directory.</p>
<p>On the <strong>desktop application</strong> or <strong>mobile application</strong>, select &quot;Dropbox&quot; as the synchronisation target in the config screen (it is selected by default). Then, to initiate the synchronisation process, click on the &quot;Synchronise&quot; button in the sidebar and follow the instructions.</p>
<p>On the <strong>terminal application</strong>, to initiate the synchronisation process, type <code>:sync</code>. You will be asked to follow a link to authorise the application. It is possible to also synchronise outside of the user interface by typing <code>joplin sync</code> from the terminal. This can be used to setup a cron script to synchronise at regular interval. For example, this would do it every 30 minutes:</p>
<pre><code>*/30 * * * * /path/to/joplin sync
</code></pre><h2 id="webdav-synchronisation">WebDAV synchronisation</h2>
</code></pre>
<h2>WebDAV synchronisation</h2>
<p>Select the &quot;WebDAV&quot; synchronisation target and follow the same instructions as for Nextcloud above.</p>
<p>WebDAV-compatible services that are known to work with Joplin:</p>
<ul>
@ -418,21 +417,21 @@
<li><a href="https://www.schimera.com/products/webdav-nav-server/">WebDAV Nav</a>, a macOS server.</li>
<li><a href="https://www.zimbra.com/">Zimbra</a></li>
</ul>
<h2 id="onedrive-synchronisation">OneDrive synchronisation</h2>
<h2>OneDrive synchronisation</h2>
<p>When syncing with OneDrive, Joplin creates a sub-directory in OneDrive, in /Apps/Joplin and read/write the notes and notebooks from it. The application does not have access to anything outside this directory.</p>
<p>On the <strong>desktop application</strong> or <strong>mobile application</strong>, select &quot;OneDrive&quot; as the synchronisation target in the config screen. Then, to initiate the synchronisation process, click on the &quot;Synchronise&quot; button in the sidebar and follow the instructions.</p>
<p>On the <strong>terminal application</strong>, to initiate the synchronisation process, type <code>:sync</code>. You will be asked to follow a link to authorise the application (simply input your Microsoft credentials - you do not need to register with OneDrive).</p>
<h1 id="encryption">Encryption</h1>
<h1>Encryption</h1>
<p>Joplin supports end-to-end encryption (E2EE) on all the applications. E2EE is a system where only the owner of the notes, notebooks, tags or resources can read them. It prevents potential eavesdroppers - including telecom providers, internet providers, and even the developers of Joplin from being able to access the data. Please see the <a href="https://joplinapp.org/e2ee/">End-To-End Encryption Tutorial</a> for more information about this feature and how to enable it.</p>
<p>For a more technical description, mostly relevant for development or to review the method being used, please see the <a href="https://joplinapp.org/spec/">Encryption specification</a>.</p>
<h1 id="external-text-editor">External text editor</h1>
<h1>External text editor</h1>
<p>Joplin notes can be opened and edited using an external editor of your choice. It can be a simple text editor like Notepad++ or Sublime Text or an actual Markdown editor like Typora. In that case, images will also be displayed within the editor. To open the note in an external editor, click on the icon in the toolbar or press Ctrl+E (or Cmd+E). Your default text editor will be used to open the note. If needed, you can also specify the editor directly in the General Options, under &quot;Text editor command&quot;.</p>
<h1 id="attachments-resources">Attachments / Resources</h1>
<h1>Attachments / Resources</h1>
<p>Any kind of file can be attached to a note. In Markdown, links to these files are represented as a simple ID to the resource. In the note viewer, these files, if they are images, will be displayed or, if they are other files (PDF, text files, etc.) they will be displayed as links. Clicking on this link will open the file in the default application.</p>
<p>On the <strong>desktop application</strong>, images can be attached either by clicking on &quot;Attach file&quot; or by pasting (with Ctrl+V) an image directly in the editor, or by drag and dropping an image.</p>
<p>Resources that are not attached to any note will be automatically deleted after 10 days (see <a href="https://github.com/laurent22/joplin/issues/154#issuecomment-356582366">rationale</a>).</p>
<p><strong>Important:</strong> Resources larger than 10 MB are not currently supported on mobile. They will crash the application when synchronising so it is recommended not to attach such resources at the moment. The issue is being looked at.</p>
<h1 id="notifications">Notifications</h1>
<h1>Notifications</h1>
<p>On the desktop and mobile apps, an alarm can be associated with any to-do. It will be triggered at the given time by displaying a notification. How the notification will be displayed depends on the operating system since each has a different way to handle this. Please see below for the requirements for the desktop applications:</p>
<ul>
<li><strong>Windows</strong>: &gt;= 8. Make sure the Action Center is enabled on Windows. Task bar balloon for Windows &lt; 8. Growl as fallback. Growl takes precedence over Windows balloons.</li>
@ -442,7 +441,7 @@
<p>See <a href="https://github.com/mikaelbr/node-notifier/blob/master/DECISION_FLOW.md">documentation and flow chart for reporter choice</a></p>
<p>On mobile, the alarms will be displayed using the built-in notification system.</p>
<p>If for any reason the notifications do not work, please <a href="https://github.com/laurent22/joplin/issues">open an issue</a>.</p>
<h1 id="sub-notebooks">Sub-notebooks</h1>
<h1>Sub-notebooks</h1>
<p>Sub-notebooks allow organising multiple notebooks into a tree of notebooks. For example it can be used to regroup all the notebooks related to work, to family or to a particular project under a parent notebook.</p>
<p><img src="https://joplinapp.org/images/SubNotebooks.png" alt=""></p>
<ul>
@ -450,14 +449,15 @@
<li>The <strong>mobile application</strong> supports displaying and collapsing/expanding the tree of notebooks, however it does not currently support moving the subnotebooks to different notebooks.</li>
<li>The <strong>terminal app</strong> supports displaying the tree of subnotebooks but it does not support collapsing/expanding them or moving the subnotebooks around.</li>
</ul>
<h1 id="markdown">Markdown</h1>
<h1>Markdown</h1>
<p>Joplin uses and renders <a href="https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet">Github-flavoured Markdown</a> with a few variations and additions. In particular:</p>
<h2 id="links-to-other-notes">Links to other notes</h2>
<h2>Links to other notes</h2>
<p>You can create a link to a note by specifying its ID in the URL. For example:</p>
<pre><code>[Link to my note](:/0b0d62d15e60409dac34f354b6e9e839)
</code></pre><p>Since getting the ID of a note is not straightforward, each app provides a way to create such link. In the <strong>desktop app</strong>, right click on a note an select &quot;Copy Markdown link&quot;. In the <strong>mobile app</strong>, open a note and, in the top right menu, select &quot;Copy Markdown link&quot;. You can then paste this link anywhere in another note.</p>
<h2 id="plugins">Plugins</h2>
<p>Joplin supports a number of plugins that can be toggled on top the standard markdown features you would expect. These toggle-able plugins are listed below. Note: not all of the plugins are enabled by default, if the enable field is &#39;no&#39; below, then enter Tools-&gt;General Options to enable the plugin. Plugins can be disabled in the same manner.</p>
</code></pre>
<p>Since getting the ID of a note is not straightforward, each app provides a way to create such link. In the <strong>desktop app</strong>, right click on a note an select &quot;Copy Markdown link&quot;. In the <strong>mobile app</strong>, open a note and, in the top right menu, select &quot;Copy Markdown link&quot;. You can then paste this link anywhere in another note.</p>
<h2>Plugins</h2>
<p>Joplin supports a number of plugins that can be toggled on top the standard markdown features you would expect. These toggle-able plugins are listed below. Note: not all of the plugins are enabled by default, if the enable field is 'no' below, then enter Tools-&gt;General Options to enable the plugin. Plugins can be disabled in the same manner.</p>
<table>
<thead>
<tr>
@ -482,7 +482,7 @@
</tr>
<tr>
<td><a href="https://github.com/markdown-it/markdown-it-footnote">Footnote</a></td>
<td><code>Simples inline footnote ^[I&#39;m inline!]</code></td>
<td><code>Simples inline footnote ^[I'm inline!]</code></td>
<td>See <a href="https://github.com/markdown-it/markdown-it-footnote">plugin page</a> for full description</td>
<td>yes</td>
</tr>
@ -536,31 +536,35 @@
</tr>
</tbody>
</table>
<h2 id="math-notation">Math notation</h2>
<h2>Math notation</h2>
<p>Math expressions can be added using the <a href="https://khan.github.io/KaTeX/">KaTeX notation</a>. To add an inline equation, wrap the expression in <code>$EXPRESSION$</code>, eg. <code>$\sqrt{3x-1}+(1+x)^2$</code>. To create an expression block, wrap it as follow:</p>
<pre><code>$$
EXPRESSION
$$
</code></pre><p>For example:</p>
</code></pre>
<p>For example:</p>
<pre><code>$$
f(x) = \int_{-\infty}^\infty
\hat f(\xi)\,e^{2 \pi i \xi x}
\,d\xi
\hat f(\xi)\,e^{2 \pi i \xi x}
\,d\xi
$$
</code></pre><p>Here is an example with the Markdown and rendered result side by side:</p>
<p><img src="https://joplinapp.org/images/Katex.png" height="400px"></p>
<h2 id="checkboxes">Checkboxes</h2>
</code></pre>
<p>Here is an example with the Markdown and rendered result side by side:</p>
<img src="https://joplinapp.org/images/Katex.png" height="400px">
<h2>Checkboxes</h2>
<p>Checkboxes can be added like so:</p>
<pre><code>- [ ] Milk
- [ ] Rice
- [ ] Eggs
</code></pre><p>The checkboxes can then be ticked in the mobile and desktop applications.</p>
<h2 id="html-support">HTML support</h2>
<p>It is generally recommended to enter the notes as Markdown as it makes the notes easier to edit. However for cases where certain features aren&#39;t supported (such as strikethrough or to highlight text), you can also use HTML code directly. For example this would be a valid note:</p>
</code></pre>
<p>The checkboxes can then be ticked in the mobile and desktop applications.</p>
<h2>HTML support</h2>
<p>It is generally recommended to enter the notes as Markdown as it makes the notes easier to edit. However for cases where certain features aren't supported (such as strikethrough or to highlight text), you can also use HTML code directly. For example this would be a valid note:</p>
<pre><code>This is &lt;s&gt;strikethrough text&lt;/s&gt; mixed with regular **Markdown**.
</code></pre><h2 id="custom-css">Custom CSS</h2>
</code></pre>
<h2>Custom CSS</h2>
<p>Rendered markdown can be customized by placing a userstyle file in the profile directory <code>~/.config/joplin-desktop/userstyle.css</code> (This path might be different on your device - check at the top of the Config screen for the exact path). This file supports standard CSS syntax. Note that this file is used only when display the notes, <strong>not when printing or exporting to PDF</strong>. This is because printing has a lot more restrictions (for example, printing white text over a black background is usually not wanted), so special rules are applied to make it look good when printing, and a userstyle.css would interfer with that.</p>
<h1 id="searching">Searching</h1>
<h1>Searching</h1>
<p>Joplin implements the SQLite Full Text Search (FTS4) extension. It means the content of all the notes is indexed in real time and search queries return results very fast. Both <a href="https://www.sqlite.org/fts3.html#simple_fts_queries">Simple FTS Queries</a> and <a href="https://www.sqlite.org/fts3.html#full_text_index_queries">Full-Text Index Queries</a> are supported. See below for the list of supported queries:</p>
<table>
<thead>
@ -599,19 +603,19 @@ $$
</tbody>
</table>
<p>Notes are sorted by &quot;relevance&quot;. Currently it means the notes that contain the requested terms the most times are on top. For queries with multiple terms, it also matter how close to each others are the terms. This is a bit experimental so if you notice a search query that returns unexpected results, please report it in the forum, providing as much details as possible to replicate the issue.</p>
<h1 id="donations">Donations</h1>
<h1>Donations</h1>
<p>Donations to Joplin support the development of the project. Developing quality applications mostly takes time, but there are also some expenses, such as digital certificates to sign the applications, app store fees, hosting, etc. Most of all, your donation will make it possible to keep up the current development standard.</p>
<p>Please see the <a href="https://joplinapp.org/donate/">donation page</a> for information on how to support the development of Joplin.</p>
<h1 id="community">Community</h1>
<h1>Community</h1>
<ul>
<li>For general discussion about Joplin, user support, software development questions, and to discuss new features, go to the <a href="https://discourse.joplin.cozic.net/">Joplin Forum</a>. It is possible to login with your GitHub account.</li>
<li>Also see here for information about <a href="https://discourse.joplin.cozic.net/c/news">the latest releases and general news</a>.</li>
<li>For bug reports and feature requests, go to the <a href="https://github.com/laurent22/joplin/issues">GitHub Issue Tracker</a>.</li>
<li>The latest news are posted <a href="https://www.patreon.com/joplin">on the Patreon page</a>.</li>
</ul>
<h1 id="contributing">Contributing</h1>
<h1>Contributing</h1>
<p>Please see the guide for information on how to contribute to the development of Joplin: <a href="https://github.com/laurent22/joplin/blob/master/CONTRIBUTING.md">https://github.com/laurent22/joplin/blob/master/CONTRIBUTING.md</a></p>
<h1 id="localisation">Localisation</h1>
<h1>Localisation</h1>
<p>Joplin is currently available in the languages below. If you would like to contribute a <strong>new translation</strong>, it is quite straightforward, please follow these steps:</p>
<ul>
<li><a href="https://poedit.net/">Download Poedit</a>, the translation editor, and install it.</li>
@ -626,7 +630,7 @@ $$
<table>
<thead>
<tr>
<th>&nbsp;</th>
<th> </th>
<th>Language</th>
<th>Po File</th>
<th>Last translator</th>
@ -638,7 +642,7 @@ $$
<td><img src="https://joplinapp.org/images/flags/country-4x3/arableague.png" alt=""></td>
<td>Arabic</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/ar.po">ar</a></td>
<td>عبد الناصر سعيد (as@althobaity.com)</td>
<td>عبد الناصر سعيد (<a href="mailto:as@althobaity.com">as@althobaity.com</a>)</td>
<td>95%</td>
</tr>
<tr>
@ -659,14 +663,14 @@ $$
<td><img src="https://joplinapp.org/images/flags/country-4x3/hr.png" alt=""></td>
<td>Croatian</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/hr_HR.po">hr_HR</a></td>
<td>Hrvoje Mandić (trbuhom@net.hr)</td>
<td>Hrvoje Mandić (<a href="mailto:trbuhom@net.hr">trbuhom@net.hr</a>)</td>
<td>44%</td>
</tr>
<tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/cz.png" alt=""></td>
<td>Czech</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/cs_CZ.po">cs_CZ</a></td>
<td>Lukas Helebrandt (lukas@aiya.cz)</td>
<td>Lukas Helebrandt (<a href="mailto:lukas@aiya.cz">lukas@aiya.cz</a>)</td>
<td>69%</td>
</tr>
<tr>
@ -680,7 +684,7 @@ $$
<td><img src="https://joplinapp.org/images/flags/country-4x3/de.png" alt=""></td>
<td>Deutsch</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/de_DE.po">de_DE</a></td>
<td>Michael Sonntag (ms@editorei.de)</td>
<td>Michael Sonntag (<a href="mailto:ms@editorei.de">ms@editorei.de</a>)</td>
<td>100%</td>
</tr>
<tr>
@ -715,7 +719,7 @@ $$
<td><img src="https://joplinapp.org/images/flags/es/galicia.png" alt=""></td>
<td>Galician</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/gl_ES.po">gl_ES</a></td>
<td>Marcos Lans (marcoslansgarza@gmail.com)</td>
<td>Marcos Lans (<a href="mailto:marcoslansgarza@gmail.com">marcoslansgarza@gmail.com</a>)</td>
<td>69%</td>
</tr>
<tr>
@ -736,21 +740,21 @@ $$
<td><img src="https://joplinapp.org/images/flags/country-4x3/nl.png" alt=""></td>
<td>Nederlands</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/nl_NL.po">nl_NL</a></td>
<td>Heimen Stoffels (vistausss@outlook.com)</td>
<td>Heimen Stoffels (<a href="mailto:vistausss@outlook.com">vistausss@outlook.com</a>)</td>
<td>83%</td>
</tr>
<tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/no.png" alt=""></td>
<td>Norwegian</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/nb_NO.po">nb_NO</a></td>
<td>Mats Estensen (code@mxe.no)</td>
<td>Mats Estensen (<a href="mailto:code@mxe.no">code@mxe.no</a>)</td>
<td>96%</td>
</tr>
<tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/br.png" alt=""></td>
<td>Português (Brasil)</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/pt_BR.po">pt_BR</a></td>
<td>Renato Nunes Bastos (rnbastos@gmail.com)</td>
<td>Renato Nunes Bastos (<a href="mailto:rnbastos@gmail.com">rnbastos@gmail.com</a>)</td>
<td>90%</td>
</tr>
<tr>
@ -771,21 +775,21 @@ $$
<td><img src="https://joplinapp.org/images/flags/country-4x3/se.png" alt=""></td>
<td>Svenska</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/sv.po">sv</a></td>
<td>Jonatan Nyberg (jonatan@autistici.org)</td>
<td>Jonatan Nyberg (<a href="mailto:jonatan@autistici.org">jonatan@autistici.org</a>)</td>
<td>93%</td>
</tr>
<tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/tr.png" alt=""></td>
<td>Türkçe</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/tr_TR.po">tr_TR</a></td>
<td>Zorbey Doğangüneş (zorbeyd@gmail.com)</td>
<td>Zorbey Doğangüneş (<a href="mailto:zorbeyd@gmail.com">zorbeyd@gmail.com</a>)</td>
<td>90%</td>
</tr>
<tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/ru.png" alt=""></td>
<td>Русский</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/ru_RU.po">ru_RU</a></td>
<td>Artyom Karlov (artyom.karlov@gmail.com)</td>
<td>Artyom Karlov (<a href="mailto:artyom.karlov@gmail.com">artyom.karlov@gmail.com</a>)</td>
<td>96%</td>
</tr>
<tr>
@ -799,14 +803,14 @@ $$
<td><img src="https://joplinapp.org/images/flags/country-4x3/tw.png" alt=""></td>
<td>中文 (繁體)</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/zh_TW.po">zh_TW</a></td>
<td>penguinsam (samliu@gmail.com)</td>
<td>penguinsam (<a href="mailto:samliu@gmail.com">samliu@gmail.com</a>)</td>
<td>83%</td>
</tr>
<tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/jp.png" alt=""></td>
<td>日本語</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/ja_JP.po">ja_JP</a></td>
<td>AWASHIRO Ikuya (ikunya@gmail.com)</td>
<td>AWASHIRO Ikuya (<a href="mailto:ikunya@gmail.com">ikunya@gmail.com</a>)</td>
<td>90%</td>
</tr>
<tr>
@ -819,13 +823,13 @@ $$
</tbody>
</table>
<!-- LOCALE-TABLE-AUTO-GENERATED -->
<h1 id="known-bugs">Known bugs</h1>
<h1>Known bugs</h1>
<ul>
<li>Resources larger than 10 MB are not currently supported on mobile. They will crash the application so it is recommended not to attach such resources at the moment. The issue is being looked at.</li>
<li>Non-alphabetical characters such as Chinese or Arabic might create glitches in the terminal on Windows. This is a limitation of the current Windows console.</li>
<li>It is only possible to upload files of up to 4MB to OneDrive due to a limitation of <a href="https://docs.microsoft.com/en-gb/onedrive/developer/rest-api/api/driveitem_put_content">the API</a> being currently used. There is currently no plan to support OneDrive &quot;large file&quot; API.</li>
</ul>
<h1 id="license">License</h1>
<h1>License</h1>
<p>MIT License</p>
<p>Copyright (c) 2016-2019 Laurent Cozic</p>
<p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the &quot;Software&quot;), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>

View File

@ -250,7 +250,7 @@
</li>
</ul>
</div>
<h1 id="getting-pre-releases">Getting pre-releases</h1>
<h1>Getting pre-releases</h1>
<p>Pre-releases are available for the desktop application. They are pretty much like regular releases, except that they have not yet been tested by many users, so it is possible that a bug or two went through.</p>
<p>You can help the development of Joplin by choosing to receive these early releases when updating the application. If you find any bug or other issue, you may report it <a href="https://discourse.joplin.cozic.net/">on the forum</a> or <a href="https://github.com/laurent22/joplin/issues">GitHub</a>.</p>
<p>In general it is safe to use these pre-releases (they do not include any experimental or unstable features). In fact most pre-release eventually become regular releases after a few days.</p>

View File

@ -250,10 +250,10 @@
</li>
</ul>
</div>
<h1 id="encryption">Encryption</h1>
<h1>Encryption</h1>
<p>Encrypted data is encoded to ASCII because encryption/decryption functions in React Native can only deal with strings. So for compatibility with all the apps we need to use the lowest common denominator.</p>
<h2 id="encrypted-data-format">Encrypted data format</h2>
<h3 id="header">Header</h3>
<h2>Encrypted data format</h2>
<h3>Header</h3>
<table>
<thead>
<tr>
@ -296,7 +296,7 @@
</tbody>
</table>
<p>See <code>lib/services/EncryptionService.js</code> for the list of available encryption methods.</p>
<h3 id="data-chunk">Data chunk</h3>
<h3>Data chunk</h3>
<p>The data is encoded in one or more chunks for performance reasons. That way it is possible to take a block of data from one file and encrypt it to another block in another file. Encrypting/decrypting the whole file in one go would not work (on mobile especially).</p>
<table>
<thead>
@ -316,27 +316,31 @@
</tr>
</tbody>
</table>
<h2 id="master-keys">Master Keys</h2>
<h2>Master Keys</h2>
<p>The master keys are used to encrypt and decrypt data. They can be generated from the Encryption Service and are saved to the database. They are themselves encrypted via a user password using a <a href="https://github.com/laurent22/joplin/blob/fb6dee32ac035b00153106273135fb16be4b4fa5/ReactNativeClient/lib/services/EncryptionService.js#L263">strong encyption method</a>.</p>
<p>These encrypted master keys are transmitted with the sync data so that they can be available to each client. Each client will need to supply the user password to decrypt each key.</p>
<p>The application supports multiple master keys in order to handle cases where one offline client starts encrypting notes, then another offline client starts encrypting notes too, and later both sync. Both master keys will have to be decrypted separately with the user password.</p>
<p>Only one master key can be active for encryption purposes. For decryption, the algorithm will check the Master Key ID in the header, then check if it&#39;s available to the current app and, if so, use this for decryption.</p>
<h2 id="encryption-service">Encryption Service</h2>
<p>Only one master key can be active for encryption purposes. For decryption, the algorithm will check the Master Key ID in the header, then check if it's available to the current app and, if so, use this for decryption.</p>
<h2>Encryption Service</h2>
<p>The applications make use of the <code>EncryptionService</code> class to handle encryption and decryption. Before it can be used, a least one master key must be loaded into it and be marked as &quot;active&quot;.</p>
<h2 id="encryption-workflow">Encryption workflow</h2>
<h2>Encryption workflow</h2>
<p>Items are encrypted only during synchronisation, when they are serialised (via <code>BaseItem.serializeForSync</code>), so before being sent to the sync target.</p>
<p>They are decrypted by DecryptionWorker in the background.</p>
<p>The apps handle displaying both decrypted and encrypted items, so that user is aware that these items are there even if not yet decrypted. Encrypted items are mostly read-only to the user, except that they can be deleted.</p>
<h2 id="enabling-and-disabling-encryption">Enabling and disabling encryption</h2>
<h2>Enabling and disabling encryption</h2>
<p>Enabling/disabling E2EE while two clients are in sync might have an unintuitive behaviour (although that behaviour might be correct), so below some scenarios are explained:</p>
<ul>
<li><p>If client 1 enables E2EE, all items will be synced to target and will appear encrypted on target. Although all items have been re-uploaded to the target, their timestamps did <em>not</em> change (because the item data itself has not changed, only its representation). Because of this, client 2 will not re-download the items - it does not need to do so anyway since it has already the item data.</p>
<li>
<p>If client 1 enables E2EE, all items will be synced to target and will appear encrypted on target. Although all items have been re-uploaded to the target, their timestamps did <em>not</em> change (because the item data itself has not changed, only its representation). Because of this, client 2 will not re-download the items - it does not need to do so anyway since it has already the item data.</p>
</li>
<li><p>When a client sync and download a master key for the first time, encryption will be automatically enabled (user will need to supply the master key password). In that case, all items that are not encrypted will be re-synced. Uploading only non-encrypted items is an optimisation since if an item is already encrypted locally it means it&#39;s encrypted on target too.</p>
<li>
<p>When a client sync and download a master key for the first time, encryption will be automatically enabled (user will need to supply the master key password). In that case, all items that are not encrypted will be re-synced. Uploading only non-encrypted items is an optimisation since if an item is already encrypted locally it means it's encrypted on target too.</p>
</li>
<li><p>If both clients are in sync with E2EE enabled: if client 1 disable E2EE, it&#39;s going to re-upload all the items unencrypted. Client 2 again will not re-download the items for the same reason as above (data did not change, only representation). Note that user <em>must</em> manually disable E2EE on all clients otherwise some will continue to upload encrypted items. Since synchronisation is stateless, clients do not know whether other clients use E2EE or not so this step has to be manual.</p>
<li>
<p>If both clients are in sync with E2EE enabled: if client 1 disable E2EE, it's going to re-upload all the items unencrypted. Client 2 again will not re-download the items for the same reason as above (data did not change, only representation). Note that user <em>must</em> manually disable E2EE on all clients otherwise some will continue to upload encrypted items. Since synchronisation is stateless, clients do not know whether other clients use E2EE or not so this step has to be manual.</p>
</li>
<li><p>Although messy, Joplin supports having some clients send encrypted items and others unencrypted ones. The situation gets resolved once all the clients have the same E2EE settings.</p>
<li>
<p>Although messy, Joplin supports having some clients send encrypted items and others unencrypted ones. The situation gets resolved once all the clients have the same E2EE settings.</p>
</li>
</ul>

View File

@ -250,7 +250,7 @@
</li>
</ul>
</div>
<h1 id="joplin-statistics">Joplin statistics</h1>
<h1>Joplin statistics</h1>
<table>
<thead>
<tr>
@ -479,7 +479,7 @@
<td>13</td>
<td>6</td>
<td>5</td>
<td>24 </td>
<td>24</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.107">v1.0.107</a></td>

View File

@ -253,8 +253,8 @@
<p>Joplin is a free, open source note taking and to-do application, which can handle a large number of notes organised into notebooks. The notes are searchable, can be copied, tagged and modified with your own text editor.</p>
<p>Notes exported from Evernote via .enex files <a href="https://joplinapp.org/#importing">can be imported</a> into Joplin, including the formatted content (which is converted to Markdown), resources (images, attachments, etc.) and complete metadata (geolocation, updated time, created time, etc.). Plain Markdown files can also be imported.</p>
<p>The notes can be <a href="#synchronisation">synchronised</a> with various targets including the file system (for example with a network directory), Nextcloud, Dropbox, OneDrive or WebDAV. When synchronising the notes, notebooks, tags and other metadata are saved to plain text files which can be easily inspected, backed up and moved around.</p>
<p><img src="https://joplinapp.org/images/ScreenshotTerminal.png" style="max-width: 60%"></p>
<h1 id="installation">Installation</h1>
<img src="https://joplinapp.org/images/ScreenshotTerminal.png" style="max-width: 60%">
<h1>Installation</h1>
<table>
<thead>
<tr>
@ -278,14 +278,14 @@
</tbody>
</table>
<p>To start it, type <code>joplin</code>.</p>
<h1 id="usage">Usage</h1>
<h1>Usage</h1>
<p>To start the application type <code>joplin</code>. This will open the user interface, which has three main panes: Notebooks, Notes and the text of the current note. There are also additional panels that can be toggled on and off via <a href="#shortcuts">shortcuts</a>.</p>
<p><img src="https://joplinapp.org/images/ScreenshotTerminalCaptions.png" height="450px"></p>
<h2 id="input-modes">Input modes</h2>
<img src="https://joplinapp.org/images/ScreenshotTerminalCaptions.png" height="450px">
<h2>Input modes</h2>
<p>Joplin user interface is partly based on the text editor Vim and offers two different modes to interact with the notes and notebooks:</p>
<h3 id="normal-mode">Normal mode</h3>
<h3>Normal mode</h3>
<p>Allows moving from one pane to another using the <code>Tab</code> and <code>Shift-Tab</code> keys, and to select/view notes using the arrow keys. Text area can be scrolled using the arrow keys too. Press <code>Enter</code> to edit a note. Various other <a href="#shortcuts">shortcuts</a> are available.</p>
<h3 id="command-line-mode">Command-line mode</h3>
<h3>Command-line mode</h3>
<p>Press <code>:</code> to enter command line mode. From there, the Joplin commands such as <code>mknote</code> or <code>search</code> are available. See the <a href="#commands">full list of commands</a>.</p>
<p>It is possible to refer to a note or notebook by title or ID. However the simplest way is to refer to the currently selected item using one of these shortcuts:</p>
<table>
@ -311,21 +311,27 @@
</tbody>
</table>
<p><strong>Examples:</strong></p>
<p>Create a new note with title &quot;Wednesday&#39;s meeting&quot;:</p>
<pre><code>mknote &quot;Wednesday&#39;s meeting&quot;
</code></pre><p>Create a new to-do:</p>
<p>Create a new note with title &quot;Wednesday's meeting&quot;:</p>
<pre><code>mknote &quot;Wednesday's meeting&quot;
</code></pre>
<p>Create a new to-do:</p>
<pre><code>mktodo &quot;Buy bread&quot;
</code></pre><p>Move the currently selected note ($n) to the notebook with title &quot;Personal&quot;</p>
</code></pre>
<p>Move the currently selected note ($n) to the notebook with title &quot;Personal&quot;</p>
<pre><code>mv $n &quot;Personal&quot;
</code></pre><p>Rename the currently selected notebook ($b) to &quot;Something&quot;:</p>
</code></pre>
<p>Rename the currently selected notebook ($b) to &quot;Something&quot;:</p>
<pre><code>ren $b &quot;Something&quot;
</code></pre><p>Attach a local file to the currently selected note ($n):</p>
</code></pre>
<p>Attach a local file to the currently selected note ($n):</p>
<pre><code>attach $n /home/laurent/pictures/Vacation12.jpg
</code></pre><p>The configuration can also be changed from command-line mode. For example, to change the current editor to Sublime Text:</p>
</code></pre>
<p>The configuration can also be changed from command-line mode. For example, to change the current editor to Sublime Text:</p>
<pre><code>config editor &quot;subl -w&quot;
</code></pre><h2 id="editing-a-note">Editing a note</h2>
</code></pre>
<h2>Editing a note</h2>
<p>To edit a note, select it and press <code>ENTER</code>. Or, in command-line mode, type <code>edit $n</code> to edit the currently selected note, or <code>edit &quot;Note title&quot;</code> to edit a particular note.</p>
<h2 id="getting-help">Getting help</h2>
<h2>Getting help</h2>
<p>The complete usage information is available from command-line mode, by typing one of these commands:</p>
<table>
<thead>
@ -351,50 +357,55 @@
</table>
<p>If the help is not fully visible, press <code>Tab</code> multiple times till the console is in focus and use the arrow keys or page up/down to scroll the text.</p>
<p>For general information relevant to all the applications, see also <a href="https://joplinapp.org">Joplin home page</a>.</p>
<h1 id="importing-notes-from-evernote">Importing notes from Evernote</h1>
<h1>Importing notes from Evernote</h1>
<p>To import Evernote data, follow these steps:</p>
<ul>
<li>First, export your Evernote notebooks to ENEX files as described <a href="https://help.evernote.com/hc/en-us/articles/209005557-How-to-back-up-export-and-restore-import-notes-and-notebooks">here</a>.</li>
<li>In Joplin, in <a href="#command-line-mode">command-line mode</a>, type <code>import /path/to/file.enex</code>. This will import the notes into a new notebook named after the filename.</li>
<li>Then repeat the process for each notebook that needs to be imported.</li>
</ul>
<h1 id="synchronisation">Synchronisation</h1>
<h1>Synchronisation</h1>
<p>One of the goals of Joplin was to avoid being tied to any particular company or service, whether it is Evernote, Google or Microsoft. As such the synchronisation is designed without any hard dependency to any particular service. Most of the synchronisation process is done at an abstract level and access to external services, such as Nextcloud or OneDrive, is done via lightweight drivers. It is easy to support new services by creating simple drivers that provide a filesystem-like interface, i.e. the ability to read, write, delete and list items. It is also simple to switch from one service to another or to even sync to multiple services at once. Each note, notebook, tags, as well as the relation between items is transmitted as plain text files during synchronisation, which means the data can also be moved to a different application, can be easily backed up, inspected, etc.</p>
<p>Currently, synchronisation is possible with Nextcloud, Dropbox (by default) and OneDrive, or the local filesystem. To setup synchronisation please follow the instructions below. After that, the application will synchronise in the background whenever it is running, or you can click on &quot;Synchronise&quot; to start a synchronisation manually.</p>
<h2 id="nextcloud-synchronisation">Nextcloud synchronisation</h2>
<h2>Nextcloud synchronisation</h2>
<p>You will need to set the <code>sync.target</code> config variable and all the <code>sync.5.path</code>, <code>sync.5.username</code> and <code>sync.5.password</code> config variables to, respectively the Nextcloud WebDAV URL, your username and your password. This can be done from the command line mode using:</p>
<pre><code>:config sync.target 5
:config sync.5.path https://example.com/nextcloud/remote.php/webdav/Joplin
:config sync.5.username YOUR_USERNAME
:config sync.5.password YOUR_PASSWORD
</code></pre><p>If synchronisation does not work, please consult the logs in the app profile directory (<code>~/.config/joplin</code>)- it is often due to a misconfigured URL or password. The log should indicate what the exact issue is.</p>
<h2 id="webdav-synchronisation">WebDAV synchronisation</h2>
</code></pre>
<p>If synchronisation does not work, please consult the logs in the app profile directory (<code>~/.config/joplin</code>)- it is often due to a misconfigured URL or password. The log should indicate what the exact issue is.</p>
<h2>WebDAV synchronisation</h2>
<p>Select the &quot;WebDAV&quot; synchronisation target and follow the same instructions as for Nextcloud above.</p>
<h2 id="onedrive-and-dropbox-synchronisation">OneDrive and Dropbox synchronisation</h2>
<h2>OneDrive and Dropbox synchronisation</h2>
<p>For Dropbox, type <code>:config sync.target 7</code>. For OneDrive, type <code>:config sync.target 3</code>. Then type <code>sync</code> to login to the service and start the synchronisation process.</p>
<p>It is possible to also synchronise outside of the user interface by typing <code>joplin sync</code> from the terminal. This can be used to setup a cron script to synchronise at regular interval. For example, this would do it every 30 minutes:</p>
<pre><code>*/30 * * * * /path/to/joplin sync
</code></pre><h1 id="urls">URLs</h1>
</code></pre>
<h1>URLs</h1>
<p>When Ctrl+Clicking a URL, most terminals will open that URL in the default browser. However, one issue, especially with long URLs, is that they can end up like this:</p>
<p><img src="https://joplinapp.org/images/UrlCut.png" width="300px"></p>
<img src="https://joplinapp.org/images/UrlCut.png" width="300px">
<p>Not only it makes the text hard to read, but the link, being cut in two, will also not be clickable.</p>
<p>As a solution Joplin tries to start a mini-server in the background and, if successful, all the links will be converted to a much shorter URL:</p>
<p><img src="https://joplinapp.org/images/UrlNoCut.png" width="300px"></p>
<img src="https://joplinapp.org/images/UrlNoCut.png" width="300px">
<p>Since this is still an actual URL, the terminal will still make it clickable. And with shorter URLs, the text is more readable and the links unlikely to be cut. Both resources (files that are attached to notes) and external links are handled in this way.</p>
<h1 id="attachments-resources">Attachments / Resources</h1>
<h1>Attachments / Resources</h1>
<p>In Markdown, links to resources are represented as a simple ID to the resource. In order to give access to these resources, they will be, like links, converted to local URLs. Clicking this link will then open a browser, which will handle the file - i.e. display the image, open the PDF file, etc.</p>
<h1 id="shell-mode">Shell mode</h1>
<h1>Shell mode</h1>
<p>Commands can also be used directly from a shell. To view the list of available commands, type <code>joplin help all</code>. To reference a note, notebook or tag you can either use the ID (type <code>joplin ls -l</code> to view the ID) or by title.</p>
<p>For example, this will create a new note &quot;My note&quot; in the notebook &quot;My notebook&quot;:</p>
<pre><code>$ joplin mkbook &quot;My notebook&quot;
$ joplin use &quot;My notebook&quot;
$ joplin mknote &quot;My note&quot;
</code></pre><p>To view the newly created note:</p>
</code></pre>
<p>To view the newly created note:</p>
<pre><code>$ joplin ls -l
fe889 07/12/2017 17:57 My note
</code></pre><p>Give a new title to the note:</p>
</code></pre>
<p>Give a new title to the note:</p>
<pre><code>$ joplin set fe889 title &quot;New title&quot;
</code></pre><h1 id="shortcuts">Shortcuts</h1>
</code></pre>
<h1>Shortcuts</h1>
<p>There are two types of shortcuts: those that manipulate the user interface directly, such as <code>TAB</code> to move from one pane to another, and those that are simply shortcuts to actual commands. In a way similar to Vim, these shortcuts are generally a verb followed by an object. For example, typing <code>mn</code> ([m]ake [n]ote), is used to create a new note: it will switch the interface to command line mode and pre-fill it with <code>mknote &quot;&quot;</code> from where the title of the note can be entered. See below for the full list of default shortcuts:</p>
<pre><code>: enter_command_line_mode
TAB focus_next
@ -414,27 +425,28 @@ mt mktodo &quot;&quot;
mb mkbook &quot;&quot;
yn cp $n &quot;&quot;
dn mv $n &quot;&quot;
</code></pre><p>Shortcut can be configured by adding a keymap file to the profile directory in <code>~/.config/joplin/keymap.json</code>. The content of this file is a JSON array with each entry defining a command and the keys associated with it.</p>
</code></pre>
<p>Shortcut can be configured by adding a keymap file to the profile directory in <code>~/.config/joplin/keymap.json</code>. The content of this file is a JSON array with each entry defining a command and the keys associated with it.</p>
<p>As an example, this is the default keymap, but read below for a detailed explanation of each property.</p>
<pre><code class="lang-json">[
{ &quot;keys&quot;: [&quot;:&quot;], &quot;type&quot;: &quot;function&quot;, &quot;command&quot;: &quot;enter_command_line_mode&quot; },
{ &quot;keys&quot;: [&quot;TAB&quot;], &quot;type&quot;: &quot;function&quot;, &quot;command&quot;: &quot;focus_next&quot; },
{ &quot;keys&quot;: [&quot;SHIFT_TAB&quot;], &quot;type&quot;: &quot;function&quot;, &quot;command&quot;: &quot;focus_previous&quot; },
{ &quot;keys&quot;: [&quot;UP&quot;], &quot;type&quot;: &quot;function&quot;, &quot;command&quot;: &quot;move_up&quot; },
{ &quot;keys&quot;: [&quot;DOWN&quot;], &quot;type&quot;: &quot;function&quot;, &quot;command&quot;: &quot;move_down&quot; },
{ &quot;keys&quot;: [&quot;PAGE_UP&quot;], &quot;type&quot;: &quot;function&quot;, &quot;command&quot;: &quot;page_up&quot; },
{ &quot;keys&quot;: [&quot;PAGE_DOWN&quot;], &quot;type&quot;: &quot;function&quot;, &quot;command&quot;: &quot;page_down&quot; },
{ &quot;keys&quot;: [&quot;ENTER&quot;], &quot;type&quot;: &quot;function&quot;, &quot;command&quot;: &quot;activate&quot; },
{ &quot;keys&quot;: [&quot;DELETE&quot;, &quot;BACKSPACE&quot;], &quot;type&quot;: &quot;function&quot;, &quot;command&quot;: &quot;delete&quot; },
{ &quot;keys&quot;: [&quot; &quot;], &quot;command&quot;: &quot;todo toggle $n&quot; },
{ &quot;keys&quot;: [&quot;tc&quot;], &quot;type&quot;: &quot;function&quot;, &quot;command&quot;: &quot;toggle_console&quot; },
{ &quot;keys&quot;: [&quot;tm&quot;], &quot;type&quot;: &quot;function&quot;, &quot;command&quot;: &quot;toggle_metadata&quot; },
{ &quot;keys&quot;: [&quot;/&quot;], &quot;type&quot;: &quot;prompt&quot;, &quot;command&quot;: &quot;search \&quot;\&quot;&quot;, &quot;cursorPosition&quot;: -2 },
{ &quot;keys&quot;: [&quot;mn&quot;], &quot;type&quot;: &quot;prompt&quot;, &quot;command&quot;: &quot;mknote \&quot;\&quot;&quot;, &quot;cursorPosition&quot;: -2 },
{ &quot;keys&quot;: [&quot;mt&quot;], &quot;type&quot;: &quot;prompt&quot;, &quot;command&quot;: &quot;mktodo \&quot;\&quot;&quot;, &quot;cursorPosition&quot;: -2 },
{ &quot;keys&quot;: [&quot;mb&quot;], &quot;type&quot;: &quot;prompt&quot;, &quot;command&quot;: &quot;mkbook \&quot;\&quot;&quot;, &quot;cursorPosition&quot;: -2 },
{ &quot;keys&quot;: [&quot;yn&quot;], &quot;type&quot;: &quot;prompt&quot;, &quot;command&quot;: &quot;cp $n \&quot;\&quot;&quot;, &quot;cursorPosition&quot;: -2 },
{ &quot;keys&quot;: [&quot;dn&quot;], &quot;type&quot;: &quot;prompt&quot;, &quot;command&quot;: &quot;mv $n \&quot;\&quot;&quot;, &quot;cursorPosition&quot;: -2 }
<pre><code class="language-json">[
{ &quot;keys&quot;: [&quot;:&quot;], &quot;type&quot;: &quot;function&quot;, &quot;command&quot;: &quot;enter_command_line_mode&quot; },
{ &quot;keys&quot;: [&quot;TAB&quot;], &quot;type&quot;: &quot;function&quot;, &quot;command&quot;: &quot;focus_next&quot; },
{ &quot;keys&quot;: [&quot;SHIFT_TAB&quot;], &quot;type&quot;: &quot;function&quot;, &quot;command&quot;: &quot;focus_previous&quot; },
{ &quot;keys&quot;: [&quot;UP&quot;], &quot;type&quot;: &quot;function&quot;, &quot;command&quot;: &quot;move_up&quot; },
{ &quot;keys&quot;: [&quot;DOWN&quot;], &quot;type&quot;: &quot;function&quot;, &quot;command&quot;: &quot;move_down&quot; },
{ &quot;keys&quot;: [&quot;PAGE_UP&quot;], &quot;type&quot;: &quot;function&quot;, &quot;command&quot;: &quot;page_up&quot; },
{ &quot;keys&quot;: [&quot;PAGE_DOWN&quot;], &quot;type&quot;: &quot;function&quot;, &quot;command&quot;: &quot;page_down&quot; },
{ &quot;keys&quot;: [&quot;ENTER&quot;], &quot;type&quot;: &quot;function&quot;, &quot;command&quot;: &quot;activate&quot; },
{ &quot;keys&quot;: [&quot;DELETE&quot;, &quot;BACKSPACE&quot;], &quot;type&quot;: &quot;function&quot;, &quot;command&quot;: &quot;delete&quot; },
{ &quot;keys&quot;: [&quot; &quot;], &quot;command&quot;: &quot;todo toggle $n&quot; },
{ &quot;keys&quot;: [&quot;tc&quot;], &quot;type&quot;: &quot;function&quot;, &quot;command&quot;: &quot;toggle_console&quot; },
{ &quot;keys&quot;: [&quot;tm&quot;], &quot;type&quot;: &quot;function&quot;, &quot;command&quot;: &quot;toggle_metadata&quot; },
{ &quot;keys&quot;: [&quot;/&quot;], &quot;type&quot;: &quot;prompt&quot;, &quot;command&quot;: &quot;search \&quot;\&quot;&quot;, &quot;cursorPosition&quot;: -2 },
{ &quot;keys&quot;: [&quot;mn&quot;], &quot;type&quot;: &quot;prompt&quot;, &quot;command&quot;: &quot;mknote \&quot;\&quot;&quot;, &quot;cursorPosition&quot;: -2 },
{ &quot;keys&quot;: [&quot;mt&quot;], &quot;type&quot;: &quot;prompt&quot;, &quot;command&quot;: &quot;mktodo \&quot;\&quot;&quot;, &quot;cursorPosition&quot;: -2 },
{ &quot;keys&quot;: [&quot;mb&quot;], &quot;type&quot;: &quot;prompt&quot;, &quot;command&quot;: &quot;mkbook \&quot;\&quot;&quot;, &quot;cursorPosition&quot;: -2 },
{ &quot;keys&quot;: [&quot;yn&quot;], &quot;type&quot;: &quot;prompt&quot;, &quot;command&quot;: &quot;cp $n \&quot;\&quot;&quot;, &quot;cursorPosition&quot;: -2 },
{ &quot;keys&quot;: [&quot;dn&quot;], &quot;type&quot;: &quot;prompt&quot;, &quot;command&quot;: &quot;mv $n \&quot;\&quot;&quot;, &quot;cursorPosition&quot;: -2 }
]
</code></pre>
<p>Each entry can have the following properties:</p>
@ -448,7 +460,7 @@ dn mv $n &quot;&quot;
<tbody>
<tr>
<td><code>keys</code></td>
<td>The array of keys that will trigger the action. Special keys such as page up, down arrow, etc. needs to be specified UPPERCASE. See the <a href="https://github.com/cronvel/terminal-kit/blob/3114206a9556f518cc63abbcb3d188fe1995100d/lib/termconfig/xterm.js#L531">list of available special keys</a>. For example, <code>[&#39;DELETE&#39;, &#39;BACKSPACE&#39;]</code> means the command will run if the user pressed either the delete or backspace key. Key combinations can also be provided - in that case specify them lowercase. For example &quot;tc&quot; means that the command will be executed when the user pressed &quot;t&quot; then &quot;c&quot;. Special keys can also be used in this fashion - simply write them one after the other. For instance, <code>CTRL_WCTRL_W</code> means the action would be executed if the user pressed &quot;ctrl-w ctrl-w&quot;.</td>
<td>The array of keys that will trigger the action. Special keys such as page up, down arrow, etc. needs to be specified UPPERCASE. See the <a href="https://github.com/cronvel/terminal-kit/blob/3114206a9556f518cc63abbcb3d188fe1995100d/lib/termconfig/xterm.js#L531">list of available special keys</a>. For example, <code>['DELETE', 'BACKSPACE']</code> means the command will run if the user pressed either the delete or backspace key. Key combinations can also be provided - in that case specify them lowercase. For example &quot;tc&quot; means that the command will be executed when the user pressed &quot;t&quot; then &quot;c&quot;. Special keys can also be used in this fashion - simply write them one after the other. For instance, <code>CTRL_WCTRL_W</code> means the action would be executed if the user pressed &quot;ctrl-w ctrl-w&quot;.</td>
</tr>
<tr>
<td><code>type</code></td>
@ -519,7 +531,7 @@ dn mv $n &quot;&quot;
</tr>
</tbody>
</table>
<h1 id="commands">Commands</h1>
<h1>Commands</h1>
<p>The following commands are available in <a href="#command-line-mode">command-line mode</a>:</p>
<pre><code>attach &lt;note&gt; &lt;file&gt;
@ -791,7 +803,8 @@ use &lt;notebook&gt;
version
Displays version information
</code></pre><h1 id="license">License</h1>
</code></pre>
<h1>License</h1>
<p>Copyright (c) 2016-2019 Laurent Cozic</p>
<p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the &quot;Software&quot;), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>