1
0
mirror of https://github.com/laurent22/joplin.git synced 2025-09-02 20:46:21 +02:00

Compare commits

...

9 Commits

Author SHA1 Message Date
Laurent Cozic
7d1f61e47b Electron release v1.0.106 2018-09-08 15:47:15 +01:00
Laurent Cozic
643e5a6a2a Electron: Resolves #714: Allow starting application minimised in the tray icon 2018-09-06 18:56:23 +01:00
Laurent Cozic
a1e7e29279 All: Fixes #709: Now that HTML is supported in notes, remove BR tag replacement hack. 2018-09-06 18:40:05 +01:00
Laurent Cozic
abf6c3f3f1 Electron: Fixes #697: Focus search text input after clearing search 2018-09-06 18:37:39 +01:00
Laurent Cozic
32c81ad8c2 All: Fixes #657: Disallow giving name of existing tag to another tag 2018-09-06 18:33:21 +01:00
Laurent Cozic
ef1ae63233 Electron: Fix #759: Add border around code block when exporting to PDF 2018-09-05 14:59:33 +01:00
Laurent Cozic
81ac200cc0 All: Resolves #761: Highlight single tick code segments 2018-09-05 14:51:50 +01:00
Laurent Cozic
3a2d62f6c7 Update website 2018-09-05 12:30:37 +01:00
Laurent Cozic
7f80f67fd6 CLI v1.0.114 2018-09-05 12:30:09 +01:00
19 changed files with 272 additions and 171 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "joplin",
"version": "1.0.113",
"version": "1.0.114",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@@ -19,7 +19,7 @@
],
"owner": "Laurent Cozic"
},
"version": "1.0.113",
"version": "1.0.114",
"bin": {
"joplin": "./main.js"
},

View File

@@ -28,6 +28,7 @@ npm test tests-build/HtmlToMd.js
npm test tests-build/markdownUtils.js
npm test tests-build/models_Folder.js
npm test tests-build/models_Note.js
npm test tests-build/models_Tag.js
npm test tests-build/models_Setting.js
npm test tests-build/services_InteropService.js
npm test tests-build/services_ResourceService.js

View File

@@ -0,0 +1,45 @@
require('app-module-path').addPath(__dirname);
const { time } = require('lib/time-utils.js');
const { asyncTest, fileContentEqual, setupDatabase, setupDatabaseAndSynchronizer, db, synchronizer, fileApi, sleep, clearDatabase, switchClient, syncTargetId, objectsEqual, checkThrowAsync } = require('test-utils.js');
const Folder = require('lib/models/Folder.js');
const Note = require('lib/models/Note.js');
const Tag = require('lib/models/Tag.js');
const BaseModel = require('lib/BaseModel.js');
const { shim } = require('lib/shim');
process.on('unhandledRejection', (reason, p) => {
console.log('Unhandled Rejection at: Promise', p, 'reason:', reason);
});
describe('models_Tag', function() {
beforeEach(async (done) => {
await setupDatabaseAndSynchronizer(1);
await switchClient(1);
done();
});
it('should add tags by title', asyncTest(async () => {
let folder1 = await Folder.save({ title: "folder1" });
let note1 = await Note.save({ title: 'ma note', parent_id: folder1.id });
await Tag.setNoteTagsByTitles(note1.id, ['un', 'deux']);
const noteTags = await Tag.tagsByNoteId(note1.id);
expect(noteTags.length).toBe(2);
}));
it('should not allow renaming tag to existing tag names', asyncTest(async () => {
let folder1 = await Folder.save({ title: "folder1" });
let note1 = await Note.save({ title: 'ma note', parent_id: folder1.id });
await Tag.setNoteTagsByTitles(note1.id, ['un', 'deux']);
const tagUn = await Tag.loadByTitle('un');
const hasThrown = await checkThrowAsync(async () => await Tag.save({ id: tagUn.id, title: 'deux' }, { userSideValidation: true }));
expect(hasThrown).toBe(true);
}));
});

View File

@@ -758,6 +758,10 @@ class Application extends BaseApplication {
AlarmService.garbageCollect();
}, 1000 * 60 * 60);
if (Setting.value('startMinimized') && Setting.value('showTrayIcon')) {
bridge().window().hide();
}
ResourceService.runInBackground();
if (Setting.value('env') === 'dev') {

View File

@@ -35,6 +35,7 @@ class HeaderComponent extends React.Component {
this.search_onClear = (event) => {
this.setState({ searchQuery: '' });
triggerOnQuery('');
if (this.searchElement_) this.searchElement_.focus();
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "Joplin",
"version": "1.0.105",
"version": "1.0.106",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@@ -1,6 +1,6 @@
{
"name": "Joplin",
"version": "1.0.105",
"version": "1.0.106",
"description": "Joplin for Desktop",
"main": "main.js",
"scripts": {

View File

@@ -20,9 +20,9 @@ Three types of applications are available: for the **desktop** (Windows, macOS a
Operating System | Download | Alternative
-----------------|--------|-------------------
Windows (32 and 64-bit) | <a href='https://github.com/laurent22/joplin/releases/download/v1.0.104/Joplin-Setup-1.0.104.exe'><img alt='Get it on Windows' height="40px" src='https://joplin.cozic.net/images/BadgeWindows.png'/></a> | or Get the <a href='https://github.com/laurent22/joplin/releases/download/v1.0.104/JoplinPortable.exe'>Portable version</a><br>(to run from a USB key, etc.)
macOS | <a href='https://github.com/laurent22/joplin/releases/download/v1.0.104/Joplin-1.0.104.dmg'><img alt='Get it on macOS' height="40px" src='https://joplin.cozic.net/images/BadgeMacOS.png'/></a> |
Linux | <a href='https://github.com/laurent22/joplin/releases/download/v1.0.104/Joplin-1.0.104-x86_64.AppImage'><img alt='Get it on Linux' height="40px" src='https://joplin.cozic.net/images/BadgeLinux.png'/></a> | An Arch Linux package<br>[is also available](#terminal-application).
Windows (32 and 64-bit) | <a href='https://github.com/laurent22/joplin/releases/download/v1.0.105/Joplin-Setup-1.0.105.exe'><img alt='Get it on Windows' height="40px" src='https://joplin.cozic.net/images/BadgeWindows.png'/></a> | or Get the <a href='https://github.com/laurent22/joplin/releases/download/v1.0.105/JoplinPortable.exe'>Portable version</a><br>(to run from a USB key, etc.)
macOS | <a href='https://github.com/laurent22/joplin/releases/download/v1.0.105/Joplin-1.0.105.dmg'><img alt='Get it on macOS' height="40px" src='https://joplin.cozic.net/images/BadgeMacOS.png'/></a> |
Linux | <a href='https://github.com/laurent22/joplin/releases/download/v1.0.105/Joplin-1.0.105-x86_64.AppImage'><img alt='Get it on Linux' height="40px" src='https://joplin.cozic.net/images/BadgeLinux.png'/></a> | An Arch Linux package<br>[is also available](#terminal-application).
The [portable application](https://en.wikipedia.org/wiki/Portable_application) 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 "JoplinProfile" next to the executable file.

View File

@@ -259,7 +259,7 @@ class MdToHtml {
}
if (!rendererPlugin) {
output.push('<code>');
output.push('<code class="inline-code">');
}
}
@@ -472,9 +472,6 @@ class MdToHtml {
}
}
// Support <br> tag to allow newlines inside table cells
renderedBody = renderedBody.replace(/&lt;br&gt;/gi, '<br>');
// https://necolas.github.io/normalize.css/
const normalizeCss = `
html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}
@@ -567,6 +564,12 @@ class MdToHtml {
width: auto;
max-width: 100%;
}
.inline-code {
border: 1px solid #CBCBCB;
background-color: #eff0f1;
padding-right: .2em;
padding-left: .2em;
}
@media print {
body {
@@ -596,6 +599,10 @@ class MdToHtml {
pre {
white-space: pre-wrap;
}
.code, .inline-code {
border: 1px solid #CBCBCB;
}
}
`;

View File

@@ -93,6 +93,8 @@ class Setting extends BaseModel {
return platform === 'linux' ? _('Note: Does not work in all desktop environments.') : null;
}},
'startMinimized': { value: false, type: Setting.TYPE_BOOL, public: true, appTypes: ['desktop'], label: () => _('Start application minimised in the tray icon') },
'collapsedFolderIds': { value: [], type: Setting.TYPE_ARRAY, public: false },
'encryption.enabled': { value: false, type: Setting.TYPE_BOOL, public: false },

View File

@@ -3,6 +3,7 @@ const BaseItem = require('lib/models/BaseItem.js');
const NoteTag = require('lib/models/NoteTag.js');
const Note = require('lib/models/Note.js');
const { time } = require('lib/time-utils.js');
const { _ } = require('lib/locale');
class Tag extends BaseItem {
@@ -153,6 +154,9 @@ class Tag extends BaseItem {
if (options && options.userSideValidation) {
if ('title' in o) {
o.title = o.title.trim().toLowerCase();
const existingTag = await Tag.loadByTitle(o.title);
if (existingTag && existingTag.id !== o.id) throw new Error(_('The tag "%s" already exists. Please choose a different name.', o.title));
}
}

View File

@@ -250,6 +250,17 @@
</ul>
</div>
<h1 id="joplin-changelog">Joplin changelog</h1>
<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>
<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>
<li>Resolves <a href="https://github.com/laurent22/joplin/issues/594">#594</a>: Enable support for SVG graphics</li>
<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/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>
<ul>
<li>New: Allow HTML in Markdown documents in a secure way.</li>

View File

@@ -262,6 +262,8 @@
<li>Synchronise to verify that everything is working.</li>
<li>Do step 4 and 5 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>
<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="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>
<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>

View File

@@ -270,17 +270,17 @@
<tbody>
<tr>
<td>Windows (32 and 64-bit)</td>
<td><a href='https://github.com/laurent22/joplin/releases/download/v1.0.104/Joplin-Setup-1.0.104.exe'><img alt='Get it on Windows' height="40px" src='https://joplin.cozic.net/images/BadgeWindows.png'/></a></td>
<td>or Get the <a href='https://github.com/laurent22/joplin/releases/download/v1.0.104/JoplinPortable.exe'>Portable version</a><br>(to run from a USB key, etc.)</td>
<td><a href='https://github.com/laurent22/joplin/releases/download/v1.0.105/Joplin-Setup-1.0.105.exe'><img alt='Get it on Windows' height="40px" src='https://joplin.cozic.net/images/BadgeWindows.png'/></a></td>
<td>or Get the <a href='https://github.com/laurent22/joplin/releases/download/v1.0.105/JoplinPortable.exe'>Portable version</a><br>(to run from a USB key, etc.)</td>
</tr>
<tr>
<td>macOS</td>
<td><a href='https://github.com/laurent22/joplin/releases/download/v1.0.104/Joplin-1.0.104.dmg'><img alt='Get it on macOS' height="40px" src='https://joplin.cozic.net/images/BadgeMacOS.png'/></a></td>
<td><a href='https://github.com/laurent22/joplin/releases/download/v1.0.105/Joplin-1.0.105.dmg'><img alt='Get it on macOS' height="40px" src='https://joplin.cozic.net/images/BadgeMacOS.png'/></a></td>
<td></td>
</tr>
<tr>
<td>Linux</td>
<td><a href='https://github.com/laurent22/joplin/releases/download/v1.0.104/Joplin-1.0.104-x86_64.AppImage'><img alt='Get it on Linux' height="40px" src='https://joplin.cozic.net/images/BadgeLinux.png'/></a></td>
<td><a href='https://github.com/laurent22/joplin/releases/download/v1.0.105/Joplin-1.0.105-x86_64.AppImage'><img alt='Get it on Linux' height="40px" src='https://joplin.cozic.net/images/BadgeLinux.png'/></a></td>
<td>An Arch Linux package<br><a href="#terminal-application">is also available</a>.</td>
</tr>
</tbody>

View File

@@ -260,27 +260,27 @@
<tbody>
<tr>
<td>Total Windows downloads</td>
<td>30732</td>
<td>45960</td>
</tr>
<tr>
<td>Total macOs downloads</td>
<td>15729</td>
<td>20467</td>
</tr>
<tr>
<td>Total Linux downloads</td>
<td>14050</td>
<td>20984</td>
</tr>
<tr>
<td>Windows %</td>
<td>51%</td>
<td>53%</td>
</tr>
<tr>
<td>macOS %</td>
<td>26%</td>
<td>23%</td>
</tr>
<tr>
<td>Linux %</td>
<td>23%</td>
<td>24%</td>
</tr>
</tbody>
</table>
@@ -297,236 +297,244 @@
</thead>
<tbody>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.105">v1.0.105</a></td>
<td>2018-09-05T11:29:36Z</td>
<td>2</td>
<td>1</td>
<td></td>
<td>3 </td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.104">v1.0.104</a></td>
<td>2018-06-28T20:25:36Z</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>14867</td>
<td>4642</td>
<td>6835</td>
<td>26344</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.103">v1.0.103</a></td>
<td>2018-06-21T19:38:13Z</td>
<td>1967</td>
<td>841</td>
<td>643</td>
<td>3451</td>
<td>2001</td>
<td>852</td>
<td>664</td>
<td>3517</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.101">v1.0.101</a></td>
<td>2018-06-17T18:35:11Z</td>
<td>1266</td>
<td>574</td>
<td>393</td>
<td>2233</td>
<td>1283</td>
<td>577</td>
<td>397</td>
<td>2257</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.100">v1.0.100</a></td>
<td>2018-06-14T17:41:43Z</td>
<td>830</td>
<td>401</td>
<td>219</td>
<td>1450</td>
<td>848</td>
<td>404</td>
<td>224</td>
<td>1476</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.99">v1.0.99</a></td>
<td>2018-06-10T13:18:23Z</td>
<td>1212</td>
<td>573</td>
<td>369</td>
<td>2154</td>
<td>1228</td>
<td>575</td>
<td>370</td>
<td>2173</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.97">v1.0.97</a></td>
<td>2018-06-09T19:23:34Z</td>
<td>273</td>
<td>129</td>
<td>50</td>
<td>452</td>
<td>290</td>
<td>131</td>
<td>51</td>
<td>472</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.96">v1.0.96</a></td>
<td>2018-05-26T16:36:39Z</td>
<td>2654</td>
<td>1192</td>
<td>1124</td>
<td>4970</td>
<td>2671</td>
<td>1194</td>
<td>1145</td>
<td>5010</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.95">v1.0.95</a></td>
<td>2018-05-25T13:04:30Z</td>
<td>366</td>
<td>184</td>
<td>79</td>
<td>629</td>
<td>381</td>
<td>186</td>
<td>81</td>
<td>648</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.94">v1.0.94</a></td>
<td>2018-05-21T20:52:59Z</td>
<td>1078</td>
<td>551</td>
<td>352</td>
<td>1981</td>
<td>1094</td>
<td>553</td>
<td>354</td>
<td>2001</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.93">v1.0.93</a></td>
<td>2018-05-14T11:36:01Z</td>
<td>1752</td>
<td>826</td>
<td>725</td>
<td>3303</td>
<td>1766</td>
<td>842</td>
<td>737</td>
<td>3345</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.91">v1.0.91</a></td>
<td>2018-05-10T14:48:04Z</td>
<td>804</td>
<td>528</td>
<td>284</td>
<td>1616</td>
<td>812</td>
<td>531</td>
<td>286</td>
<td>1629</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.89">v1.0.89</a></td>
<td>2018-05-09T13:05:05Z</td>
<td>459</td>
<td>204</td>
<td>87</td>
<td>750</td>
<td>469</td>
<td>206</td>
<td>90</td>
<td>765</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.85">v1.0.85</a></td>
<td>2018-05-01T21:08:24Z</td>
<td>1626</td>
<td>927</td>
<td>605</td>
<td>3158</td>
<td>1638</td>
<td>929</td>
<td>607</td>
<td>3174</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.83">v1.0.83</a></td>
<td>2018-04-04T19:43:58Z</td>
<td>4398</td>
<td>2367</td>
<td>2625</td>
<td>9390</td>
<td>4431</td>
<td>2378</td>
<td>2627</td>
<td>9436</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.82">v1.0.82</a></td>
<td>2018-03-31T19:16:31Z</td>
<td>682</td>
<td>381</td>
<td>90</td>
<td>1153</td>
<td>684</td>
<td>383</td>
<td>92</td>
<td>1159</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.81">v1.0.81</a></td>
<td>2018-03-28T08:13:58Z</td>
<td>977</td>
<td>563</td>
<td>740</td>
<td>2280</td>
<td>984</td>
<td>565</td>
<td>742</td>
<td>2291</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.79">v1.0.79</a></td>
<td>2018-03-23T18:00:11Z</td>
<td>912</td>
<td>506</td>
<td>351</td>
<td>1769</td>
<td>919</td>
<td>508</td>
<td>353</td>
<td>1780</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.78">v1.0.78</a></td>
<td>2018-03-17T15:27:18Z</td>
<td>1295</td>
<td>833</td>
<td>839</td>
<td>2967</td>
<td>1302</td>
<td>836</td>
<td>841</td>
<td>2979</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.77">v1.0.77</a></td>
<td>2018-03-16T15:12:35Z</td>
<td>164</td>
<td>85</td>
<td>23</td>
<td>272</td>
<td>165</td>
<td>87</td>
<td>25</td>
<td>277</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.72">v1.0.72</a></td>
<td>2018-03-14T09:44:35Z</td>
<td>395</td>
<td>229</td>
<td>30</td>
<td>654</td>
<td>396</td>
<td>232</td>
<td>32</td>
<td>660</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.70">v1.0.70</a></td>
<td>2018-02-28T20:04:30Z</td>
<td>1836</td>
<td>1020</td>
<td>1218</td>
<td>4074</td>
<td>1844</td>
<td>1022</td>
<td>1220</td>
<td>4086</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.67">v1.0.67</a></td>
<td>2018-02-19T22:51:08Z</td>
<td>1735</td>
<td>577</td>
<td>1802</td>
<td>579</td>
<td></td>
<td>2312</td>
<td>2381</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.66">v1.0.66</a></td>
<td>2018-02-18T23:09:09Z</td>
<td>312</td>
<td>105</td>
<td>71</td>
<td>488</td>
<td>313</td>
<td>107</td>
<td>72</td>
<td>492</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.65">v1.0.65</a></td>
<td>2018-02-17T20:02:25Z</td>
<td>184</td>
<td>102</td>
<td>113</td>
<td>399</td>
<td>185</td>
<td>104</td>
<td>114</td>
<td>403</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.64">v1.0.64</a></td>
<td>2018-02-16T00:58:20Z</td>
<td>1066</td>
<td>526</td>
<td>1115</td>
<td>2707</td>
<td>1074</td>
<td>528</td>
<td>1116</td>
<td>2718</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.63">v1.0.63</a></td>
<td>2018-02-14T19:40:36Z</td>
<td>284</td>
<td>141</td>
<td>82</td>
<td>507</td>
<td>291</td>
<td>143</td>
<td>83</td>
<td>517</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v1.0.62">v1.0.62</a></td>
<td>2018-02-12T20:19:58Z</td>
<td>540</td>
<td>272</td>
<td>345</td>
<td>1157</td>
<td>547</td>
<td>274</td>
<td>346</td>
<td>1167</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.61">v0.10.61</a></td>
<td>2018-02-08T18:27:39Z</td>
<td>955</td>
<td>601</td>
<td>940</td>
<td>2496</td>
<td>962</td>
<td>603</td>
<td>941</td>
<td>2506</td>
</tr>
<tr>
<td><a href="https://github.com/laurent22/joplin/releases/tag/v0.10.60">v0.10.60</a></td>
<td>2018-02-06T13:09:56Z</td>
<td>710</td>
<td>491</td>
<td>538</td>
<td>1739</td>
<td>711</td>
<td>495</td>
<td>539</td>
<td>1745</td>
</tr>
</tbody>
</table>

View File

@@ -1,5 +1,16 @@
# Joplin changelog
## [v1.0.105](https://github.com/laurent22/joplin/releases/tag/v1.0.105) - 2018-09-05T11:29:36Z
- Resolves [#679](https://github.com/laurent22/joplin/issues/679): Drag a note on a tag to associate the tag.
- Resolves [#427](https://github.com/laurent22/joplin/issues/427): Import source-url from Enex files
- Resolves [#594](https://github.com/laurent22/joplin/issues/594): Enable support for SVG graphics
- New: replace the resource icon (for internal links) with the Joplin icon (from ForkAwesome)
- Update: Upgraded Katex to support new features
- Update: Improve speed of loading notes that include many resources, and prevent UI from freezing
- Fixes [#653](https://github.com/laurent22/joplin/issues/653): Don't detect horizontal rule as bullet list item
- Fixes [#113](https://github.com/laurent22/joplin/issues/113): Upgraded Ace Editor to try to fix Korean input issue (to be confirmed)
## [v1.0.104](https://github.com/laurent22/joplin/releases/tag/v1.0.104) - 2018-06-28T20:25:36Z
- New: Allow HTML in Markdown documents in a secure way.

View File

@@ -14,6 +14,10 @@ When changing the WebDAV URL, make sure that the new location has the same exact
5. Synchronise to verify that everything is working.
6. Do step 4 and 5 for all the other Joplin clients you need to sync.
# How can I easily enter Markdown tags in Android?
You may use a special keyboard such as [Multiling O Keyboard](https://play.google.com/store/apps/details?id=kl.ime.oh&hl=en), which has shortcuts to create Markdown tags. [More information in this post](https://discourse.joplin.cozic.net/t/android-create-new-list-item-with-enter/585/2?u=laurent).
# Is it possible to use real file and folder names in the sync target?
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.

View File

@@ -2,41 +2,42 @@
Name | Value
--- | ---
Total Windows downloads | 30732
Total macOs downloads | 15729
Total Linux downloads | 14050
Windows % | 51%
macOS % | 26%
Linux % | 23%
Total Windows downloads | 45960
Total macOs downloads | 20467
Total Linux downloads | 20984
Windows % | 53%
macOS % | 23%
Linux % | 24%
Version | Date | Windows | macOS | Linux | Total
--- | --- | --- | --- | --- | ---
[v1.0.104](https://github.com/laurent22/joplin/releases/tag/v1.0.104) | 2018-06-28T20:25:36Z | | | |
[v1.0.103](https://github.com/laurent22/joplin/releases/tag/v1.0.103) | 2018-06-21T19:38:13Z | 1967 | 841 | 643 | 3451
[v1.0.101](https://github.com/laurent22/joplin/releases/tag/v1.0.101) | 2018-06-17T18:35:11Z | 1266 | 574 | 393 | 2233
[v1.0.100](https://github.com/laurent22/joplin/releases/tag/v1.0.100) | 2018-06-14T17:41:43Z | 830 | 401 | 219 | 1450
[v1.0.99](https://github.com/laurent22/joplin/releases/tag/v1.0.99) | 2018-06-10T13:18:23Z | 1212 | 573 | 369 | 2154
[v1.0.97](https://github.com/laurent22/joplin/releases/tag/v1.0.97) | 2018-06-09T19:23:34Z | 273 | 129 | 50 | 452
[v1.0.96](https://github.com/laurent22/joplin/releases/tag/v1.0.96) | 2018-05-26T16:36:39Z | 2654 | 1192 | 1124 | 4970
[v1.0.95](https://github.com/laurent22/joplin/releases/tag/v1.0.95) | 2018-05-25T13:04:30Z | 366 | 184 | 79 | 629
[v1.0.94](https://github.com/laurent22/joplin/releases/tag/v1.0.94) | 2018-05-21T20:52:59Z | 1078 | 551 | 352 | 1981
[v1.0.93](https://github.com/laurent22/joplin/releases/tag/v1.0.93) | 2018-05-14T11:36:01Z | 1752 | 826 | 725 | 3303
[v1.0.91](https://github.com/laurent22/joplin/releases/tag/v1.0.91) | 2018-05-10T14:48:04Z | 804 | 528 | 284 | 1616
[v1.0.89](https://github.com/laurent22/joplin/releases/tag/v1.0.89) | 2018-05-09T13:05:05Z | 459 | 204 | 87 | 750
[v1.0.85](https://github.com/laurent22/joplin/releases/tag/v1.0.85) | 2018-05-01T21:08:24Z | 1626 | 927 | 605 | 3158
[v1.0.83](https://github.com/laurent22/joplin/releases/tag/v1.0.83) | 2018-04-04T19:43:58Z | 4398 | 2367 | 2625 | 9390
[v1.0.82](https://github.com/laurent22/joplin/releases/tag/v1.0.82) | 2018-03-31T19:16:31Z | 682 | 381 | 90 | 1153
[v1.0.81](https://github.com/laurent22/joplin/releases/tag/v1.0.81) | 2018-03-28T08:13:58Z | 977 | 563 | 740 | 2280
[v1.0.79](https://github.com/laurent22/joplin/releases/tag/v1.0.79) | 2018-03-23T18:00:11Z | 912 | 506 | 351 | 1769
[v1.0.78](https://github.com/laurent22/joplin/releases/tag/v1.0.78) | 2018-03-17T15:27:18Z | 1295 | 833 | 839 | 2967
[v1.0.77](https://github.com/laurent22/joplin/releases/tag/v1.0.77) | 2018-03-16T15:12:35Z | 164 | 85 | 23 | 272
[v1.0.72](https://github.com/laurent22/joplin/releases/tag/v1.0.72) | 2018-03-14T09:44:35Z | 395 | 229 | 30 | 654
[v1.0.70](https://github.com/laurent22/joplin/releases/tag/v1.0.70) | 2018-02-28T20:04:30Z | 1836 | 1020 | 1218 | 4074
[v1.0.67](https://github.com/laurent22/joplin/releases/tag/v1.0.67) | 2018-02-19T22:51:08Z | 1735 | 577 | | 2312
[v1.0.66](https://github.com/laurent22/joplin/releases/tag/v1.0.66) | 2018-02-18T23:09:09Z | 312 | 105 | 71 | 488
[v1.0.65](https://github.com/laurent22/joplin/releases/tag/v1.0.65) | 2018-02-17T20:02:25Z | 184 | 102 | 113 | 399
[v1.0.64](https://github.com/laurent22/joplin/releases/tag/v1.0.64) | 2018-02-16T00:58:20Z | 1066 | 526 | 1115 | 2707
[v1.0.63](https://github.com/laurent22/joplin/releases/tag/v1.0.63) | 2018-02-14T19:40:36Z | 284 | 141 | 82 | 507
[v1.0.62](https://github.com/laurent22/joplin/releases/tag/v1.0.62) | 2018-02-12T20:19:58Z | 540 | 272 | 345 | 1157
[v0.10.61](https://github.com/laurent22/joplin/releases/tag/v0.10.61) | 2018-02-08T18:27:39Z | 955 | 601 | 940 | 2496
[v0.10.60](https://github.com/laurent22/joplin/releases/tag/v0.10.60) | 2018-02-06T13:09:56Z | 710 | 491 | 538 | 1739
[v1.0.105](https://github.com/laurent22/joplin/releases/tag/v1.0.105) | 2018-09-05T11:29:36Z | 2 | 1 | | 3
[v1.0.104](https://github.com/laurent22/joplin/releases/tag/v1.0.104) | 2018-06-28T20:25:36Z | 14867 | 4642 | 6835 | 26344
[v1.0.103](https://github.com/laurent22/joplin/releases/tag/v1.0.103) | 2018-06-21T19:38:13Z | 2001 | 852 | 664 | 3517
[v1.0.101](https://github.com/laurent22/joplin/releases/tag/v1.0.101) | 2018-06-17T18:35:11Z | 1283 | 577 | 397 | 2257
[v1.0.100](https://github.com/laurent22/joplin/releases/tag/v1.0.100) | 2018-06-14T17:41:43Z | 848 | 404 | 224 | 1476
[v1.0.99](https://github.com/laurent22/joplin/releases/tag/v1.0.99) | 2018-06-10T13:18:23Z | 1228 | 575 | 370 | 2173
[v1.0.97](https://github.com/laurent22/joplin/releases/tag/v1.0.97) | 2018-06-09T19:23:34Z | 290 | 131 | 51 | 472
[v1.0.96](https://github.com/laurent22/joplin/releases/tag/v1.0.96) | 2018-05-26T16:36:39Z | 2671 | 1194 | 1145 | 5010
[v1.0.95](https://github.com/laurent22/joplin/releases/tag/v1.0.95) | 2018-05-25T13:04:30Z | 381 | 186 | 81 | 648
[v1.0.94](https://github.com/laurent22/joplin/releases/tag/v1.0.94) | 2018-05-21T20:52:59Z | 1094 | 553 | 354 | 2001
[v1.0.93](https://github.com/laurent22/joplin/releases/tag/v1.0.93) | 2018-05-14T11:36:01Z | 1766 | 842 | 737 | 3345
[v1.0.91](https://github.com/laurent22/joplin/releases/tag/v1.0.91) | 2018-05-10T14:48:04Z | 812 | 531 | 286 | 1629
[v1.0.89](https://github.com/laurent22/joplin/releases/tag/v1.0.89) | 2018-05-09T13:05:05Z | 469 | 206 | 90 | 765
[v1.0.85](https://github.com/laurent22/joplin/releases/tag/v1.0.85) | 2018-05-01T21:08:24Z | 1638 | 929 | 607 | 3174
[v1.0.83](https://github.com/laurent22/joplin/releases/tag/v1.0.83) | 2018-04-04T19:43:58Z | 4431 | 2378 | 2627 | 9436
[v1.0.82](https://github.com/laurent22/joplin/releases/tag/v1.0.82) | 2018-03-31T19:16:31Z | 684 | 383 | 92 | 1159
[v1.0.81](https://github.com/laurent22/joplin/releases/tag/v1.0.81) | 2018-03-28T08:13:58Z | 984 | 565 | 742 | 2291
[v1.0.79](https://github.com/laurent22/joplin/releases/tag/v1.0.79) | 2018-03-23T18:00:11Z | 919 | 508 | 353 | 1780
[v1.0.78](https://github.com/laurent22/joplin/releases/tag/v1.0.78) | 2018-03-17T15:27:18Z | 1302 | 836 | 841 | 2979
[v1.0.77](https://github.com/laurent22/joplin/releases/tag/v1.0.77) | 2018-03-16T15:12:35Z | 165 | 87 | 25 | 277
[v1.0.72](https://github.com/laurent22/joplin/releases/tag/v1.0.72) | 2018-03-14T09:44:35Z | 396 | 232 | 32 | 660
[v1.0.70](https://github.com/laurent22/joplin/releases/tag/v1.0.70) | 2018-02-28T20:04:30Z | 1844 | 1022 | 1220 | 4086
[v1.0.67](https://github.com/laurent22/joplin/releases/tag/v1.0.67) | 2018-02-19T22:51:08Z | 1802 | 579 | | 2381
[v1.0.66](https://github.com/laurent22/joplin/releases/tag/v1.0.66) | 2018-02-18T23:09:09Z | 313 | 107 | 72 | 492
[v1.0.65](https://github.com/laurent22/joplin/releases/tag/v1.0.65) | 2018-02-17T20:02:25Z | 185 | 104 | 114 | 403
[v1.0.64](https://github.com/laurent22/joplin/releases/tag/v1.0.64) | 2018-02-16T00:58:20Z | 1074 | 528 | 1116 | 2718
[v1.0.63](https://github.com/laurent22/joplin/releases/tag/v1.0.63) | 2018-02-14T19:40:36Z | 291 | 143 | 83 | 517
[v1.0.62](https://github.com/laurent22/joplin/releases/tag/v1.0.62) | 2018-02-12T20:19:58Z | 547 | 274 | 346 | 1167
[v0.10.61](https://github.com/laurent22/joplin/releases/tag/v0.10.61) | 2018-02-08T18:27:39Z | 962 | 603 | 941 | 2506
[v0.10.60](https://github.com/laurent22/joplin/releases/tag/v0.10.60) | 2018-02-06T13:09:56Z | 711 | 495 | 539 | 1745