Merge branch 'master' of github.com:laurent22/joplin

pull/2044/head
Laurent Cozic 2019-10-29 11:08:48 +00:00
commit cde5aa9b06
64 changed files with 546 additions and 408 deletions

View File

@ -411,7 +411,7 @@ class Application extends BaseApplication {
await Setting.saveAll(); await Setting.saveAll();
// Need to call exit() explicitely, otherwise Node wait for any timeout to complete // Need to call exit() explicitly, otherwise Node wait for any timeout to complete
// https://stackoverflow.com/questions/18050095 // https://stackoverflow.com/questions/18050095
process.exit(0); process.exit(0);
} else { } else {

View File

@ -11,7 +11,7 @@ async function handleAutocompletionPromise(line) {
const names = await app().commandNames(); const names = await app().commandNames();
let words = getArguments(line); let words = getArguments(line);
// If there is only one word and it is not already a command name then you // If there is only one word and it is not already a command name then you
// should look for commmands it could be // should look for commands it could be
if (words.length == 1) { if (words.length == 1) {
if (names.indexOf(words[0]) === -1) { if (names.indexOf(words[0]) === -1) {
let x = names.filter(n => n.indexOf(words[0]) === 0); let x = names.filter(n => n.indexOf(words[0]) === 0);

View File

@ -197,7 +197,7 @@ class Command extends BaseCommand {
// When using the tool in command line mode, the ResourceFetcher service is // When using the tool in command line mode, the ResourceFetcher service is
// not going to be running in the background, so the resources need to be // not going to be running in the background, so the resources need to be
// explicitely downloaded below. // explicitly downloaded below.
if (!app().hasGui()) { if (!app().hasGui()) {
this.stdout(_('Downloading resources...')); this.stdout(_('Downloading resources...'));
await ResourceFetcher.instance().fetchAll(); await ResourceFetcher.instance().fetchAll();

View File

@ -107,7 +107,7 @@ class OneDriveApiNodeUtils {
enableServerDestroy(this.oauthServer_); enableServerDestroy(this.oauthServer_);
// Rather than displaying authCodeUrl directly, we go throught the local // Rather than displaying authCodeUrl directly, we go through the local
// server. This is just so that the URL being displayed is shorter and // server. This is just so that the URL being displayed is shorter and
// doesn't get cut in terminals (especially those that don't handle multi // doesn't get cut in terminals (especially those that don't handle multi
// lines URLs). // lines URLs).

View File

@ -1158,6 +1158,10 @@ msgstr "إزالة الوسم \"%s\" من كل الملاحظات؟"
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "حذف هذا البحث من الشريط الجانبي؟" msgstr "حذف هذا البحث من الشريط الجانبي؟"
#, fuzzy
msgid "New sub-notebook"
msgstr "دفتر ملاحظات جديد"
msgid "Rename" msgid "Rename"
msgstr "إعادة تسمية" msgstr "إعادة تسمية"

View File

@ -1185,6 +1185,10 @@ msgstr "Да премахна ли таг \"%s\" от всички бележк
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "Да премахна ли това търсене от страничния панел?" msgstr "Да премахна ли това търсене от страничния панел?"
#, fuzzy
msgid "New sub-notebook"
msgstr "Нова тетрадка"
msgid "Rename" msgid "Rename"
msgstr "Преименувай" msgstr "Преименувай"

View File

@ -1195,6 +1195,10 @@ msgstr "Voleu suprimir aquesta etiqueta de totes les notes?"
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "Voleu suprimir aquesta cerca de la barra laterla?" msgstr "Voleu suprimir aquesta cerca de la barra laterla?"
#, fuzzy
msgid "New sub-notebook"
msgstr "Bloc de notes nou"
msgid "Rename" msgid "Rename"
msgstr "Canvia el nom" msgstr "Canvia el nom"

View File

@ -15,8 +15,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.2\n" "X-Generator: Poedit 2.0.2\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
msgid "To delete a tag, untag the associated notes." msgid "To delete a tag, untag the associated notes."
msgstr "Pro smazání tagu jej odeberte od přiřazených poznámek." msgstr "Pro smazání tagu jej odeberte od přiřazených poznámek."
@ -1174,6 +1172,10 @@ msgstr "Odebrat tag \"%s\" ze všech poznámek?"
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "Smazat tento hledaný výraz z panelu?" msgstr "Smazat tento hledaný výraz z panelu?"
#, fuzzy
msgid "New sub-notebook"
msgstr "Nový zápisník"
msgid "Rename" msgid "Rename"
msgstr "Přejmenovat" msgstr "Přejmenovat"

File diff suppressed because it is too large Load Diff

View File

@ -1203,6 +1203,10 @@ msgstr "Schlagwort \"%s\" von allen Notizen entfernen?"
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "Diese Suche von der Seitenleiste entfernen?" msgstr "Diese Suche von der Seitenleiste entfernen?"
#, fuzzy
msgid "New sub-notebook"
msgstr "Neues Notizbuch"
msgid "Rename" msgid "Rename"
msgstr "Umbenennen" msgstr "Umbenennen"

View File

@ -1214,6 +1214,10 @@ msgstr "Κατάργηση της ετικέτας \"%s\" από όλες τις
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "Κατάργηση αυτής της αναζήτησης από την πλευρική μπάρα;" msgstr "Κατάργηση αυτής της αναζήτησης από την πλευρική μπάρα;"
#, fuzzy
msgid "New sub-notebook"
msgstr "Νέο σημειωματάριο"
msgid "Rename" msgid "Rename"
msgstr "Μετονομασία" msgstr "Μετονομασία"

View File

@ -1067,6 +1067,9 @@ msgstr ""
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "" msgstr ""
msgid "New sub-notebook"
msgstr ""
msgid "Rename" msgid "Rename"
msgstr "" msgstr ""

View File

@ -1085,6 +1085,9 @@ msgstr ""
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "" msgstr ""
msgid "New sub-notebook"
msgstr ""
msgid "Rename" msgid "Rename"
msgstr "" msgstr ""

View File

@ -1189,6 +1189,10 @@ msgstr "Desea borrar las etiquetas pertenecientes a \"%s\" de todas las notas?"
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "¿Desea eliminar esta búsqueda de la barra lateral?" msgstr "¿Desea eliminar esta búsqueda de la barra lateral?"
#, fuzzy
msgid "New sub-notebook"
msgstr "Nueva libreta"
msgid "Rename" msgid "Rename"
msgstr "Renombrar" msgstr "Renombrar"

View File

@ -1183,6 +1183,10 @@ msgstr "Kendu etiketa hori ohar guztietatik?"
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "Kendu bilaketa hori ohar guztietatik?" msgstr "Kendu bilaketa hori ohar guztietatik?"
#, fuzzy
msgid "New sub-notebook"
msgstr "Koaderno berria"
msgid "Rename" msgid "Rename"
msgstr "Berrizendatu" msgstr "Berrizendatu"

View File

@ -1087,6 +1087,10 @@ msgstr ""
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "این جستجو را از نواک کناری حذف شود؟" msgstr "این جستجو را از نواک کناری حذف شود؟"
#, fuzzy
msgid "New sub-notebook"
msgstr "دفترچه جدید"
msgid "Rename" msgid "Rename"
msgstr "تغییر نام" msgstr "تغییر نام"

View File

@ -1193,6 +1193,10 @@ msgstr "Enlever létiquette \"%s\" de toutes les notes ?"
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "Enlever cette recherche de la barre latérale ?" msgstr "Enlever cette recherche de la barre latérale ?"
#, fuzzy
msgid "New sub-notebook"
msgstr "Nouveau carnet"
msgid "Rename" msgid "Rename"
msgstr "Renommer" msgstr "Renommer"

View File

@ -1170,6 +1170,10 @@ msgstr "Desexa eliminar esta etiqueta de todas as notas?"
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "Desexa eliminar esta busca da barra lateral?" msgstr "Desexa eliminar esta busca da barra lateral?"
#, fuzzy
msgid "New sub-notebook"
msgstr "Novo caderno"
msgid "Rename" msgid "Rename"
msgstr "Renomear" msgstr "Renomear"

View File

@ -1163,6 +1163,10 @@ msgstr "Makni ovu oznaku iz svih bilješki?"
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "Makni ovu pretragu iz izbornika?" msgstr "Makni ovu pretragu iz izbornika?"
#, fuzzy
msgid "New sub-notebook"
msgstr "Nova bilježnica"
msgid "Rename" msgid "Rename"
msgstr "Preimenuj" msgstr "Preimenuj"

View File

@ -1185,6 +1185,10 @@ msgstr "Rimuovere letichetta \"%s\" da tutte le note?"
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "Rimuovere questa ricerca dalla barra laterale?" msgstr "Rimuovere questa ricerca dalla barra laterale?"
#, fuzzy
msgid "New sub-notebook"
msgstr "Nuovo taccuino"
msgid "Rename" msgid "Rename"
msgstr "Rinomina" msgstr "Rinomina"

View File

@ -15,8 +15,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.4\n" "X-Generator: Poedit 1.8.4\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
msgid "To delete a tag, untag the associated notes." msgid "To delete a tag, untag the associated notes."
msgstr "タグを削除するには、関連するノートからタグを外してください。" msgstr "タグを削除するには、関連するノートからタグを外してください。"
@ -1162,6 +1160,10 @@ msgstr "すべてのノートからタグ \"%s\" を削除しますか?"
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "サイドバーからこの検索を削除しますか?" msgstr "サイドバーからこの検索を削除しますか?"
#, fuzzy
msgid "New sub-notebook"
msgstr "新しいノートブック"
msgid "Rename" msgid "Rename"
msgstr "名前の変更" msgstr "名前の変更"

View File

@ -1067,6 +1067,9 @@ msgstr ""
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "" msgstr ""
msgid "New sub-notebook"
msgstr ""
msgid "Rename" msgid "Rename"
msgstr "" msgstr ""

View File

@ -15,8 +15,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.2.4\n" "X-Generator: Poedit 2.2.4\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
msgid "To delete a tag, untag the associated notes." msgid "To delete a tag, untag the associated notes."
msgstr "태그를 삭제하려면 먼저 연결된 노트의 태그를 해제해주세요." msgstr "태그를 삭제하려면 먼저 연결된 노트의 태그를 해제해주세요."
@ -1157,6 +1155,10 @@ msgstr "모든 노트에서 “%s” 태그를 제거할까요?"
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "사이드바에서 이 검색 항목을 제거할까요?" msgstr "사이드바에서 이 검색 항목을 제거할까요?"
#, fuzzy
msgid "New sub-notebook"
msgstr "새 노트북"
msgid "Rename" msgid "Rename"
msgstr "이름 바꾸기" msgstr "이름 바꾸기"

View File

@ -1171,6 +1171,10 @@ msgstr "Fjern denne merkelappen \"%s\" fra alle notater?"
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "Fjerne dette søket fra sidepanelet?" msgstr "Fjerne dette søket fra sidepanelet?"
#, fuzzy
msgid "New sub-notebook"
msgstr "Ny notatbok"
msgid "Rename" msgid "Rename"
msgstr "Gi nytt navn" msgstr "Gi nytt navn"

View File

@ -1187,6 +1187,10 @@ msgstr "Deze tag verwijderen van alle notities?"
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "Dit item verwijderen van de zijbalk?" msgstr "Dit item verwijderen van de zijbalk?"
#, fuzzy
msgid "New sub-notebook"
msgstr "Nieuw notitieboek"
msgid "Rename" msgid "Rename"
msgstr "Hernoem" msgstr "Hernoem"

View File

@ -1189,6 +1189,10 @@ msgstr "Label “%s” verwijderen van alle notities?"
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "Deze zoekopdracht verwijderen uit de zijbalk?" msgstr "Deze zoekopdracht verwijderen uit de zijbalk?"
#, fuzzy
msgid "New sub-notebook"
msgstr "Nieuw notitieboek"
msgid "Rename" msgid "Rename"
msgstr "Naam wijzigen" msgstr "Naam wijzigen"

View File

@ -1192,6 +1192,10 @@ msgstr "Usunąć znacznik \"%s\" ze wszystkich notatek?"
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "Usunąć wyszukiwanie z nawigatora?" msgstr "Usunąć wyszukiwanie z nawigatora?"
#, fuzzy
msgid "New sub-notebook"
msgstr "Nowy notatnik"
msgid "Rename" msgid "Rename"
msgstr "Zmień nazwę" msgstr "Zmień nazwę"

View File

@ -1180,6 +1180,10 @@ msgstr "Remover a tag \"%s\" de todas as notas?"
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "Remover essa pesquisa da barra lateral?" msgstr "Remover essa pesquisa da barra lateral?"
#, fuzzy
msgid "New sub-notebook"
msgstr "Novo caderno"
msgid "Rename" msgid "Rename"
msgstr "Renomear" msgstr "Renomear"

View File

@ -1094,6 +1094,10 @@ msgstr ""
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "" msgstr ""
#, fuzzy
msgid "New sub-notebook"
msgstr "Adăugați un nou caiet de notițe"
msgid "Rename" msgid "Rename"
msgstr "Redenumiți" msgstr "Redenumiți"

View File

@ -1181,6 +1181,10 @@ msgstr "Удалить метку “%s” из всех заметок?"
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "Удалить этот поиск из боковой панели?" msgstr "Удалить этот поиск из боковой панели?"
#, fuzzy
msgid "New sub-notebook"
msgstr "Новый блокнот"
msgid "Rename" msgid "Rename"
msgstr "Переименовать" msgstr "Переименовать"

View File

@ -1183,6 +1183,10 @@ msgstr "Odstranite to oznako iz vseh zabeležk?"
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "Odstranite ta iskalni niz iz stranske vrstice?" msgstr "Odstranite ta iskalni niz iz stranske vrstice?"
#, fuzzy
msgid "New sub-notebook"
msgstr "Nova beležnica"
msgid "Rename" msgid "Rename"
msgstr "Preimenuj" msgstr "Preimenuj"

View File

@ -1184,6 +1184,10 @@ msgstr "Уклонити ознаку \"%s\" из свих белешки?"
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "Уклонити ову претраку из бочне траке?" msgstr "Уклонити ову претраку из бочне траке?"
#, fuzzy
msgid "New sub-notebook"
msgstr "Нова бележница"
msgid "Rename" msgid "Rename"
msgstr "Преименуј" msgstr "Преименуј"

View File

@ -1189,6 +1189,10 @@ msgstr "Ta bort den här taggen från alla anteckningar?"
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "Ta bort den här sökningen från sidofältet?" msgstr "Ta bort den här sökningen från sidofältet?"
#, fuzzy
msgid "New sub-notebook"
msgstr "Ny anteckningsbok"
msgid "Rename" msgid "Rename"
msgstr "Byt namn" msgstr "Byt namn"

View File

@ -1160,6 +1160,10 @@ msgstr "Bu etiket tüm notlardan kaldırılsın mı?"
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "Bu aramayı kenar çubuğundan kaldır?" msgstr "Bu aramayı kenar çubuğundan kaldır?"
#, fuzzy
msgid "New sub-notebook"
msgstr "Yeni not defteri"
msgid "Rename" msgid "Rename"
msgstr "Yeniden adlandır" msgstr "Yeniden adlandır"

View File

@ -1127,6 +1127,10 @@ msgstr "从所有笔记中删除标签“%s”"
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "从边栏中删除该项搜索?" msgstr "从边栏中删除该项搜索?"
#, fuzzy
msgid "New sub-notebook"
msgstr "新建笔记本"
msgid "Rename" msgid "Rename"
msgstr "重命名" msgstr "重命名"

View File

@ -1135,6 +1135,10 @@ msgstr "是否從所有記事中刪除此標籤?"
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "是否從側邊欄中刪除此搜索?" msgstr "是否從側邊欄中刪除此搜索?"
#, fuzzy
msgid "New sub-notebook"
msgstr "新增記事本"
msgid "Rename" msgid "Rename"
msgstr "重新命名" msgstr "重新命名"

View File

@ -1,4 +1,4 @@
<table> <table>
<tr><td>No</td><td>header</td></tr> <tr><td>No</td><td>header</td></tr>
<tr><td>And no</td><td>suprises</td></tr> <tr><td>And no</td><td>surprises</td></tr>
</table> </table>

View File

@ -1,4 +1,4 @@
| | | | | |
| --- | --- | | --- | --- |
| No | header | | No | header |
| And no | suprises | | And no | surprises |

View File

@ -23,7 +23,7 @@ describe('markdownUtils', function() {
['![something](/img/test.png)', '![something](https://test.com/img/test.png)'], ['![something](/img/test.png)', '![something](https://test.com/img/test.png)'],
['[![something](/img/test.png)](/index.html "Home page")', '[![something](https://test.com/img/test.png)](https://test.com/index.html "Home page")'], ['[![something](/img/test.png)](/index.html "Home page")', '[![something](https://test.com/img/test.png)](https://test.com/index.html "Home page")'],
['[onelink.com](/jmp/?id=123&u=http://something.com/test)', '[onelink.com](https://test.com/jmp/?id=123&u=http://something.com/test)'], ['[onelink.com](/jmp/?id=123&u=http://something.com/test)', '[onelink.com](https://test.com/jmp/?id=123&u=http://something.com/test)'],
['[![some text](/img/test.png)](/jmp/?s=80&l=related&u=http://example.com "some decription")', '[![some text](https://test.com/img/test.png)](https://test.com/jmp/?s=80&l=related&u=http://example.com "some decription")'], ['[![some text](/img/test.png)](/jmp/?s=80&l=related&u=http://example.com "some description")', '[![some text](https://test.com/img/test.png)](https://test.com/jmp/?s=80&l=related&u=http://example.com "some description")'],
]; ];
for (let i = 0; i < testCases.length; i++) { for (let i = 0; i < testCases.length; i++) {

View File

@ -287,7 +287,7 @@ async function loadEncryptionMasterKey(id = null, useExisting = false) {
masterKey = await MasterKey.save(masterKey); masterKey = await MasterKey.save(masterKey);
} else { // Use the one already available } else { // Use the one already available
const masterKeys = await MasterKey.all(); const masterKeys = await MasterKey.all();
if (!masterKeys.length) throw new Error('No mater key available'); if (!masterKeys.length) throw new Error('No master key available');
masterKey = masterKeys[0]; masterKey = masterKeys[0];
} }

View File

@ -25,7 +25,7 @@ describe('urlUtils', function() {
expect(urlUtils.prependBaseUrl('', 'http://example.com/something')).toBe('http://example.com/something'); expect(urlUtils.prependBaseUrl('', 'http://example.com/something')).toBe('http://example.com/something');
expect(urlUtils.prependBaseUrl('testing.html', '')).toBe('testing.html'); expect(urlUtils.prependBaseUrl('testing.html', '')).toBe('testing.html');
// It shouldn't prepend anyting for these: // It shouldn't prepend anything for these:
expect(urlUtils.prependBaseUrl('mailto:emailme@example.com', 'http://example.com')).toBe('mailto:emailme@example.com'); expect(urlUtils.prependBaseUrl('mailto:emailme@example.com', 'http://example.com')).toBe('mailto:emailme@example.com');
expect(urlUtils.prependBaseUrl('javascript:var%20testing=true', 'http://example.com')).toBe('javascript:var%20testing=true'); expect(urlUtils.prependBaseUrl('javascript:var%20testing=true', 'http://example.com')).toBe('javascript:var%20testing=true');
expect(urlUtils.prependBaseUrl('http://alreadyabsolute.com', 'http://example.com')).toBe('http://alreadyabsolute.com'); expect(urlUtils.prependBaseUrl('http://alreadyabsolute.com', 'http://example.com')).toBe('http://alreadyabsolute.com');

View File

@ -87,7 +87,7 @@ class ElectronAppWrapper {
// user clicks on the icon in the task bar). // user clicks on the icon in the task bar).
// On Windows and Linux, the app is closed when the window is closed *except* if the tray icon is used. In which // On Windows and Linux, the app is closed when the window is closed *except* if the tray icon is used. In which
// case the app must be explicitely closed with Ctrl+Q or by right-clicking on the tray icon and selecting "Exit". // case the app must be explicitly closed with Ctrl+Q or by right-clicking on the tray icon and selecting "Exit".
if (process.platform === 'darwin') { if (process.platform === 'darwin') {
if (this.willQuitApp_) { if (this.willQuitApp_) {
@ -138,7 +138,7 @@ class ElectronAppWrapper {
} }
// This method is used in macOS only to hide the whole app (and not just the main window) // This method is used in macOS only to hide the whole app (and not just the main window)
// including the menu bar. This follows the macOS way of hidding an app. // including the menu bar. This follows the macOS way of hiding an app.
hide() { hide() {
this.electronApp_.hide(); this.electronApp_.hide();
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -36,30 +36,30 @@ stats['eu'] = {"percentDone":45};
stats['bg_BG'] = {"percentDone":88}; stats['bg_BG'] = {"percentDone":88};
stats['ca'] = {"percentDone":70}; stats['ca'] = {"percentDone":70};
stats['hr_HR'] = {"percentDone":37}; stats['hr_HR'] = {"percentDone":37};
stats['cs_CZ'] = {"percentDone":81}; stats['cs_CZ'] = {"percentDone":97};
stats['da_DK'] = {"percentDone":58}; stats['da_DK'] = {"percentDone":98};
stats['de_DE'] = {"percentDone":100}; stats['de_DE'] = {"percentDone":99};
stats['en_GB'] = {"percentDone":100}; stats['en_GB'] = {"percentDone":100};
stats['en_US'] = {"percentDone":100}; stats['en_US'] = {"percentDone":100};
stats['es_ES'] = {"percentDone":96}; stats['es_ES'] = {"percentDone":96};
stats['fr_FR'] = {"percentDone":96}; stats['fr_FR'] = {"percentDone":96};
stats['gl_ES'] = {"percentDone":57}; stats['gl_ES'] = {"percentDone":57};
stats['it_IT'] = {"percentDone":94}; stats['it_IT'] = {"percentDone":96};
stats['nl_BE'] = {"percentDone":45}; stats['nl_BE'] = {"percentDone":45};
stats['nl_NL'] = {"percentDone":96}; stats['nl_NL'] = {"percentDone":96};
stats['nb_NO'] = {"percentDone":96}; stats['nb_NO'] = {"percentDone":96};
stats['fa'] = {"percentDone":43}; stats['fa'] = {"percentDone":43};
stats['pl_PL'] = {"percentDone":87}; stats['pl_PL'] = {"percentDone":87};
stats['pt_BR'] = {"percentDone":90}; stats['pt_BR'] = {"percentDone":89};
stats['ro'] = {"percentDone":45}; stats['ro'] = {"percentDone":45};
stats['sl_SI'] = {"percentDone":57}; stats['sl_SI'] = {"percentDone":56};
stats['sv'] = {"percentDone":78}; stats['sv'] = {"percentDone":77};
stats['tr_TR'] = {"percentDone":75}; stats['tr_TR'] = {"percentDone":75};
stats['el_GR'] = {"percentDone":96}; stats['el_GR'] = {"percentDone":96};
stats['ru_RU'] = {"percentDone":94}; stats['ru_RU'] = {"percentDone":94};
stats['sr_RS'] = {"percentDone":87}; stats['sr_RS'] = {"percentDone":86};
stats['zh_CN'] = {"percentDone":94}; stats['zh_CN'] = {"percentDone":94};
stats['zh_TW'] = {"percentDone":70}; stats['zh_TW'] = {"percentDone":70};
stats['ja_JP'] = {"percentDone":96}; stats['ja_JP'] = {"percentDone":99};
stats['ko'] = {"percentDone":94}; stats['ko'] = {"percentDone":99};
module.exports = { locales: locales, stats: stats }; module.exports = { locales: locales, stats: stats };

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -349,32 +349,32 @@ Current translations:
![](https://joplinapp.org/images/flags/country-4x3/bg.png) | Bulgarian | [bg_BG](https://github.com/laurent22/joplin/blob/master/CliClient/locales/bg_BG.po) | | 88% ![](https://joplinapp.org/images/flags/country-4x3/bg.png) | Bulgarian | [bg_BG](https://github.com/laurent22/joplin/blob/master/CliClient/locales/bg_BG.po) | | 88%
![](https://joplinapp.org/images/flags/es/catalonia.png) | Catalan | [ca](https://github.com/laurent22/joplin/blob/master/CliClient/locales/ca.po) | jmontane, 2019 | 70% ![](https://joplinapp.org/images/flags/es/catalonia.png) | Catalan | [ca](https://github.com/laurent22/joplin/blob/master/CliClient/locales/ca.po) | jmontane, 2019 | 70%
![](https://joplinapp.org/images/flags/country-4x3/hr.png) | Croatian | [hr_HR](https://github.com/laurent22/joplin/blob/master/CliClient/locales/hr_HR.po) | Hrvoje Mandić (trbuhom@net.hr) | 37% ![](https://joplinapp.org/images/flags/country-4x3/hr.png) | Croatian | [hr_HR](https://github.com/laurent22/joplin/blob/master/CliClient/locales/hr_HR.po) | Hrvoje Mandić (trbuhom@net.hr) | 37%
![](https://joplinapp.org/images/flags/country-4x3/cz.png) | Czech | [cs_CZ](https://github.com/laurent22/joplin/blob/master/CliClient/locales/cs_CZ.po) | Lukas Helebrandt (lukas@aiya.cz) | 81% ![](https://joplinapp.org/images/flags/country-4x3/cz.png) | Czech | [cs_CZ](https://github.com/laurent22/joplin/blob/master/CliClient/locales/cs_CZ.po) | Lukas Helebrandt (lukas@aiya.cz) | 97%
![](https://joplinapp.org/images/flags/country-4x3/dk.png) | Dansk | [da_DK](https://github.com/laurent22/joplin/blob/master/CliClient/locales/da_DK.po) | Morten Juhl-Johansen Zölde-Fejér (mjjzf@syntaktisk. | 58% ![](https://joplinapp.org/images/flags/country-4x3/dk.png) | Dansk | [da_DK](https://github.com/laurent22/joplin/blob/master/CliClient/locales/da_DK.po) | Morten Juhl-Johansen Zölde-Fejér (mjjzf@syntaktisk. | 98%
![](https://joplinapp.org/images/flags/country-4x3/de.png) | Deutsch | [de_DE](https://github.com/laurent22/joplin/blob/master/CliClient/locales/de_DE.po) | Michael Sonntag (ms@editorei.de) | 100% ![](https://joplinapp.org/images/flags/country-4x3/de.png) | Deutsch | [de_DE](https://github.com/laurent22/joplin/blob/master/CliClient/locales/de_DE.po) | Michael Sonntag (ms@editorei.de) | 99%
![](https://joplinapp.org/images/flags/country-4x3/gb.png) | English (UK) | [en_GB](https://github.com/laurent22/joplin/blob/master/CliClient/locales/en_GB.po) | | 100% ![](https://joplinapp.org/images/flags/country-4x3/gb.png) | English (UK) | [en_GB](https://github.com/laurent22/joplin/blob/master/CliClient/locales/en_GB.po) | | 100%
![](https://joplinapp.org/images/flags/country-4x3/us.png) | English (US) | [en_US](https://github.com/laurent22/joplin/blob/master/CliClient/locales/en_US.po) | | 100% ![](https://joplinapp.org/images/flags/country-4x3/us.png) | English (US) | [en_US](https://github.com/laurent22/joplin/blob/master/CliClient/locales/en_US.po) | | 100%
![](https://joplinapp.org/images/flags/country-4x3/es.png) | Español | [es_ES](https://github.com/laurent22/joplin/blob/master/CliClient/locales/es_ES.po) | Andros Fenollosa (andros@fenollosa.email) | 96% ![](https://joplinapp.org/images/flags/country-4x3/es.png) | Español | [es_ES](https://github.com/laurent22/joplin/blob/master/CliClient/locales/es_ES.po) | Andros Fenollosa (andros@fenollosa.email) | 96%
![](https://joplinapp.org/images/flags/country-4x3/fr.png) | Français | [fr_FR](https://github.com/laurent22/joplin/blob/master/CliClient/locales/fr_FR.po) | Laurent Cozic | 96% ![](https://joplinapp.org/images/flags/country-4x3/fr.png) | Français | [fr_FR](https://github.com/laurent22/joplin/blob/master/CliClient/locales/fr_FR.po) | Laurent Cozic | 96%
![](https://joplinapp.org/images/flags/es/galicia.png) | Galician | [gl_ES](https://github.com/laurent22/joplin/blob/master/CliClient/locales/gl_ES.po) | Marcos Lans (marcoslansgarza@gmail.com) | 57% ![](https://joplinapp.org/images/flags/es/galicia.png) | Galician | [gl_ES](https://github.com/laurent22/joplin/blob/master/CliClient/locales/gl_ES.po) | Marcos Lans (marcoslansgarza@gmail.com) | 57%
![](https://joplinapp.org/images/flags/country-4x3/it.png) | Italiano | [it_IT](https://github.com/laurent22/joplin/blob/master/CliClient/locales/it_IT.po) | | 94% ![](https://joplinapp.org/images/flags/country-4x3/it.png) | Italiano | [it_IT](https://github.com/laurent22/joplin/blob/master/CliClient/locales/it_IT.po) | | 96%
![](https://joplinapp.org/images/flags/country-4x3/be.png) | Nederlands | [nl_BE](https://github.com/laurent22/joplin/blob/master/CliClient/locales/nl_BE.po) | | 45% ![](https://joplinapp.org/images/flags/country-4x3/be.png) | Nederlands | [nl_BE](https://github.com/laurent22/joplin/blob/master/CliClient/locales/nl_BE.po) | | 45%
![](https://joplinapp.org/images/flags/country-4x3/nl.png) | Nederlands | [nl_NL](https://github.com/laurent22/joplin/blob/master/CliClient/locales/nl_NL.po) | Robert (metbril@outlook.com) | 96% ![](https://joplinapp.org/images/flags/country-4x3/nl.png) | Nederlands | [nl_NL](https://github.com/laurent22/joplin/blob/master/CliClient/locales/nl_NL.po) | Robert (metbril@outlook.com) | 96%
![](https://joplinapp.org/images/flags/country-4x3/no.png) | Norwegian | [nb_NO](https://github.com/laurent22/joplin/blob/master/CliClient/locales/nb_NO.po) | Mats Estensen (code@mxe.no) | 96% ![](https://joplinapp.org/images/flags/country-4x3/no.png) | Norwegian | [nb_NO](https://github.com/laurent22/joplin/blob/master/CliClient/locales/nb_NO.po) | Mats Estensen (code@mxe.no) | 96%
![](https://joplinapp.org/images/flags/country-4x3/ir.png) | Persian | [fa](https://github.com/laurent22/joplin/blob/master/CliClient/locales/fa.po) | Mehrad Mahmoudian (mehrad@mahmoudian.me) | 43% ![](https://joplinapp.org/images/flags/country-4x3/ir.png) | Persian | [fa](https://github.com/laurent22/joplin/blob/master/CliClient/locales/fa.po) | Mehrad Mahmoudian (mehrad@mahmoudian.me) | 43%
![](https://joplinapp.org/images/flags/country-4x3/pl.png) | Polski | [pl_PL](https://github.com/laurent22/joplin/blob/master/CliClient/locales/pl_PL.po) | | 87% ![](https://joplinapp.org/images/flags/country-4x3/pl.png) | Polski | [pl_PL](https://github.com/laurent22/joplin/blob/master/CliClient/locales/pl_PL.po) | | 87%
![](https://joplinapp.org/images/flags/country-4x3/br.png) | Português (Brasil) | [pt_BR](https://github.com/laurent22/joplin/blob/master/CliClient/locales/pt_BR.po) | Rafael Teixeira (rto.tinfo@gmail.com) | 90% ![](https://joplinapp.org/images/flags/country-4x3/br.png) | Português (Brasil) | [pt_BR](https://github.com/laurent22/joplin/blob/master/CliClient/locales/pt_BR.po) | Rafael Teixeira (rto.tinfo@gmail.com) | 89%
![](https://joplinapp.org/images/flags/country-4x3/ro.png) | Română | [ro](https://github.com/laurent22/joplin/blob/master/CliClient/locales/ro.po) | | 45% ![](https://joplinapp.org/images/flags/country-4x3/ro.png) | Română | [ro](https://github.com/laurent22/joplin/blob/master/CliClient/locales/ro.po) | | 45%
![](https://joplinapp.org/images/flags/country-4x3/si.png) | Slovenian | [sl_SI](https://github.com/laurent22/joplin/blob/master/CliClient/locales/sl_SI.po) | | 57% ![](https://joplinapp.org/images/flags/country-4x3/si.png) | Slovenian | [sl_SI](https://github.com/laurent22/joplin/blob/master/CliClient/locales/sl_SI.po) | | 56%
![](https://joplinapp.org/images/flags/country-4x3/se.png) | Svenska | [sv](https://github.com/laurent22/joplin/blob/master/CliClient/locales/sv.po) | Jonatan Nyberg (jonatan@autistici.org) | 78% ![](https://joplinapp.org/images/flags/country-4x3/se.png) | Svenska | [sv](https://github.com/laurent22/joplin/blob/master/CliClient/locales/sv.po) | Jonatan Nyberg (jonatan@autistici.org) | 77%
![](https://joplinapp.org/images/flags/country-4x3/tr.png) | Türkçe | [tr_TR](https://github.com/laurent22/joplin/blob/master/CliClient/locales/tr_TR.po) | Zorbey Doğangüneş (zorbeyd@gmail.com) | 75% ![](https://joplinapp.org/images/flags/country-4x3/tr.png) | Türkçe | [tr_TR](https://github.com/laurent22/joplin/blob/master/CliClient/locales/tr_TR.po) | Zorbey Doğangüneş (zorbeyd@gmail.com) | 75%
![](https://joplinapp.org/images/flags/country-4x3/gr.png) | ελληνικά | [el_GR](https://github.com/laurent22/joplin/blob/master/CliClient/locales/el_GR.po) | Harris Arvanitis (xaris@tuta.io) | 96% ![](https://joplinapp.org/images/flags/country-4x3/gr.png) | ελληνικά | [el_GR](https://github.com/laurent22/joplin/blob/master/CliClient/locales/el_GR.po) | Harris Arvanitis (xaris@tuta.io) | 96%
![](https://joplinapp.org/images/flags/country-4x3/ru.png) | Русский | [ru_RU](https://github.com/laurent22/joplin/blob/master/CliClient/locales/ru_RU.po) | Artyom Karlov (artyom.karlov@gmail.com) | 94% ![](https://joplinapp.org/images/flags/country-4x3/ru.png) | Русский | [ru_RU](https://github.com/laurent22/joplin/blob/master/CliClient/locales/ru_RU.po) | Artyom Karlov (artyom.karlov@gmail.com) | 94%
![](https://joplinapp.org/images/flags/country-4x3/rs.png) | српски језик | [sr_RS](https://github.com/laurent22/joplin/blob/master/CliClient/locales/sr_RS.po) | | 87% ![](https://joplinapp.org/images/flags/country-4x3/rs.png) | српски језик | [sr_RS](https://github.com/laurent22/joplin/blob/master/CliClient/locales/sr_RS.po) | | 86%
![](https://joplinapp.org/images/flags/country-4x3/cn.png) | 中文 (简体) | [zh_CN](https://github.com/laurent22/joplin/blob/master/CliClient/locales/zh_CN.po) | | 94% ![](https://joplinapp.org/images/flags/country-4x3/cn.png) | 中文 (简体) | [zh_CN](https://github.com/laurent22/joplin/blob/master/CliClient/locales/zh_CN.po) | | 94%
![](https://joplinapp.org/images/flags/country-4x3/tw.png) | 中文 (繁體) | [zh_TW](https://github.com/laurent22/joplin/blob/master/CliClient/locales/zh_TW.po) | penguinsam (samliu@gmail.com) | 70% ![](https://joplinapp.org/images/flags/country-4x3/tw.png) | 中文 (繁體) | [zh_TW](https://github.com/laurent22/joplin/blob/master/CliClient/locales/zh_TW.po) | penguinsam (samliu@gmail.com) | 70%
![](https://joplinapp.org/images/flags/country-4x3/jp.png) | 日本語 | [ja_JP](https://github.com/laurent22/joplin/blob/master/CliClient/locales/ja_JP.po) | genneko (genneko217@gmail.com) | 96% ![](https://joplinapp.org/images/flags/country-4x3/jp.png) | 日本語 | [ja_JP](https://github.com/laurent22/joplin/blob/master/CliClient/locales/ja_JP.po) | genneko (genneko217@gmail.com) | 99%
![](https://joplinapp.org/images/flags/country-4x3/kr.png) | 한국말 | [ko](https://github.com/laurent22/joplin/blob/master/CliClient/locales/ko.po) | | 94% ![](https://joplinapp.org/images/flags/country-4x3/kr.png) | 한국말 | [ko](https://github.com/laurent22/joplin/blob/master/CliClient/locales/ko.po) | | 99%
<!-- LOCALE-TABLE-AUTO-GENERATED --> <!-- LOCALE-TABLE-AUTO-GENERATED -->
# Sponsors # Sponsors

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -36,30 +36,30 @@ stats['eu'] = {"percentDone":45};
stats['bg_BG'] = {"percentDone":88}; stats['bg_BG'] = {"percentDone":88};
stats['ca'] = {"percentDone":70}; stats['ca'] = {"percentDone":70};
stats['hr_HR'] = {"percentDone":37}; stats['hr_HR'] = {"percentDone":37};
stats['cs_CZ'] = {"percentDone":81}; stats['cs_CZ'] = {"percentDone":97};
stats['da_DK'] = {"percentDone":58}; stats['da_DK'] = {"percentDone":98};
stats['de_DE'] = {"percentDone":100}; stats['de_DE'] = {"percentDone":99};
stats['en_GB'] = {"percentDone":100}; stats['en_GB'] = {"percentDone":100};
stats['en_US'] = {"percentDone":100}; stats['en_US'] = {"percentDone":100};
stats['es_ES'] = {"percentDone":96}; stats['es_ES'] = {"percentDone":96};
stats['fr_FR'] = {"percentDone":96}; stats['fr_FR'] = {"percentDone":96};
stats['gl_ES'] = {"percentDone":57}; stats['gl_ES'] = {"percentDone":57};
stats['it_IT'] = {"percentDone":94}; stats['it_IT'] = {"percentDone":96};
stats['nl_BE'] = {"percentDone":45}; stats['nl_BE'] = {"percentDone":45};
stats['nl_NL'] = {"percentDone":96}; stats['nl_NL'] = {"percentDone":96};
stats['nb_NO'] = {"percentDone":96}; stats['nb_NO'] = {"percentDone":96};
stats['fa'] = {"percentDone":43}; stats['fa'] = {"percentDone":43};
stats['pl_PL'] = {"percentDone":87}; stats['pl_PL'] = {"percentDone":87};
stats['pt_BR'] = {"percentDone":90}; stats['pt_BR'] = {"percentDone":89};
stats['ro'] = {"percentDone":45}; stats['ro'] = {"percentDone":45};
stats['sl_SI'] = {"percentDone":57}; stats['sl_SI'] = {"percentDone":56};
stats['sv'] = {"percentDone":78}; stats['sv'] = {"percentDone":77};
stats['tr_TR'] = {"percentDone":75}; stats['tr_TR'] = {"percentDone":75};
stats['el_GR'] = {"percentDone":96}; stats['el_GR'] = {"percentDone":96};
stats['ru_RU'] = {"percentDone":94}; stats['ru_RU'] = {"percentDone":94};
stats['sr_RS'] = {"percentDone":87}; stats['sr_RS'] = {"percentDone":86};
stats['zh_CN'] = {"percentDone":94}; stats['zh_CN'] = {"percentDone":94};
stats['zh_TW'] = {"percentDone":70}; stats['zh_TW'] = {"percentDone":70};
stats['ja_JP'] = {"percentDone":96}; stats['ja_JP'] = {"percentDone":99};
stats['ko'] = {"percentDone":94}; stats['ko'] = {"percentDone":99};
module.exports = { locales: locales, stats: stats }; module.exports = { locales: locales, stats: stats };

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
// React Native WebView cannot load external JS files, however it can load // React Native WebView cannot load external JS files, however it can load
// arbitraty JS via the injectedJavaScript property. So we use this to load external // arbitrary JS via the injectedJavaScript property. So we use this to load external
// files: First here we convert the JS file to a plain string, and that string // files: First here we convert the JS file to a plain string, and that string
// is then loaded by eg. the Mermaid plugin, and finally injected in the WebView. // is then loaded by eg. the Mermaid plugin, and finally injected in the WebView.

View File

@ -370,6 +370,13 @@ on this server.&lt;/p&gt;
</ul> </ul>
<h1>How can I use self-signed SSL certificates on Android?<a name="how-can-i-use-self-signed-ssl-certificates-on-android" href="#how-can-i-use-self-signed-ssl-certificates-on-android" class="heading-anchor">🔗</a></h1> <h1>How can I use self-signed SSL certificates on Android?<a name="how-can-i-use-self-signed-ssl-certificates-on-android" href="#how-can-i-use-self-signed-ssl-certificates-on-android" class="heading-anchor">🔗</a></h1>
<p>If you want to serve using https but can't or don't want to use SSL certificates signed by trusted certificate authorities (like &quot;Let's Encrypt&quot;), it's possible to generate a custom CA and sign your certificates with it. You can generate the CA and certificates using <a href="https://gist.github.com/fntlnz/cf14feb5a46b2eda428e000157447309">openssl</a>, but I like to use a tool called <a href="https://github.com/FiloSottile/mkcert">mkcert</a> for it's simplicity. Finally, you have to add your CA certificate to Android settings so that Android can recognize the certificates you signed with your CA as valid (<a href="https://support.google.com/nexus/answer/2844832?hl=en-GB">link</a>).</p> <p>If you want to serve using https but can't or don't want to use SSL certificates signed by trusted certificate authorities (like &quot;Let's Encrypt&quot;), it's possible to generate a custom CA and sign your certificates with it. You can generate the CA and certificates using <a href="https://gist.github.com/fntlnz/cf14feb5a46b2eda428e000157447309">openssl</a>, but I like to use a tool called <a href="https://github.com/FiloSottile/mkcert">mkcert</a> for it's simplicity. Finally, you have to add your CA certificate to Android settings so that Android can recognize the certificates you signed with your CA as valid (<a href="https://support.google.com/nexus/answer/2844832?hl=en-GB">link</a>).</p>
<h1>How do I restart Joplin on Windows (so that certain changes take effect)?<a name="how-do-i-restart-joplin-on-windows-so-that-certain-changes-take-effect" href="#how-do-i-restart-joplin-on-windows-so-that-certain-changes-take-effect" class="heading-anchor">🔗</a></h1>
<p>If <code>Show tray icon</code> is enabled, closing the Joplin window does not quit the application. To restart the application properly, one of the following has to be done to quit Joplin:</p>
<ul>
<li>click <code>File</code> in the menu and then click <code>Quit</code></li>
<li>right-click on the Joplin tray icon and then click <code>Exit</code></li>
</ul>
<p>Additionally the Windows Task Manager can be used to verify whether Joplin is still around.</p>
<h1>Why is it named Joplin?<a name="why-is-it-named-joplin" href="#why-is-it-named-joplin" class="heading-anchor">🔗</a></h1> <h1>Why is it named Joplin?<a name="why-is-it-named-joplin" href="#why-is-it-named-joplin" class="heading-anchor">🔗</a></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> <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>

View File

@ -361,7 +361,7 @@ https://github.com/laurent22/joplin/blob/master/
<tr> <tr>
<td>Android</td> <td>Android</td>
<td><a href='https://play.google.com/store/apps/details?id=net.cozic.joplin&utm_source=GitHub&utm_campaign=README&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1'><img alt='Get it on Google Play' height="40px" src='https://joplinapp.org/images/BadgeAndroid.png'/></a></td> <td><a href='https://play.google.com/store/apps/details?id=net.cozic.joplin&utm_source=GitHub&utm_campaign=README&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1'><img alt='Get it on Google Play' height="40px" src='https://joplinapp.org/images/BadgeAndroid.png'/></a></td>
<td>or download the APK file: <a href="https://github.com/laurent22/joplin-android/releases/download/android-v1.0.308/joplin-v1.0.308.apk">64-bit</a> <a href="https://github.com/laurent22/joplin-android/releases/download/android-v1.0.308/joplin-v1.0.308-32bit.apk">32-bit</a></td> <td>or download the APK file: <a href="https://github.com/laurent22/joplin-android/releases/download/android-v1.0.309/joplin-v1.0.309.apk">64-bit</a> <a href="https://github.com/laurent22/joplin-android/releases/download/android-v1.0.309/joplin-v1.0.309-32bit.apk">32-bit</a></td>
</tr> </tr>
<tr> <tr>
<td>iOS</td> <td>iOS</td>
@ -647,56 +647,56 @@ Details:
<td>Arabic</td> <td>Arabic</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/ar.po">ar</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/ar.po">ar</a></td>
<td>عبد الناصر سعيد (<a href="mailto:as@althobaity.com">as@althobaity.com</a>)</td> <td>عبد الناصر سعيد (<a href="mailto:as@althobaity.com">as@althobaity.com</a>)</td>
<td>83%</td> <td>80%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/es/basque_country.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/es/basque_country.png" alt=""></td>
<td>Basque</td> <td>Basque</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/eu.po">eu</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/eu.po">eu</a></td>
<td>juan.abasolo@ehu.eus</td> <td>juan.abasolo@ehu.eus</td>
<td>47%</td> <td>45%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/bg.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/country-4x3/bg.png" alt=""></td>
<td>Bulgarian</td> <td>Bulgarian</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/bg_BG.po">bg_BG</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/bg_BG.po">bg_BG</a></td>
<td></td> <td></td>
<td>91%</td> <td>88%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/es/catalonia.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/es/catalonia.png" alt=""></td>
<td>Catalan</td> <td>Catalan</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/ca.po">ca</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/ca.po">ca</a></td>
<td>jmontane, 2019</td> <td>jmontane, 2019</td>
<td>72%</td> <td>70%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/hr.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/country-4x3/hr.png" alt=""></td>
<td>Croatian</td> <td>Croatian</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/hr_HR.po">hr_HR</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/hr_HR.po">hr_HR</a></td>
<td>Hrvoje Mandić (<a href="mailto:trbuhom@net.hr">trbuhom@net.hr</a>)</td> <td>Hrvoje Mandić (<a href="mailto:trbuhom@net.hr">trbuhom@net.hr</a>)</td>
<td>38%</td> <td>37%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/cz.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/country-4x3/cz.png" alt=""></td>
<td>Czech</td> <td>Czech</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/cs_CZ.po">cs_CZ</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/cs_CZ.po">cs_CZ</a></td>
<td>Lukas Helebrandt (<a href="mailto:lukas@aiya.cz">lukas@aiya.cz</a>)</td> <td>Lukas Helebrandt (<a href="mailto:lukas@aiya.cz">lukas@aiya.cz</a>)</td>
<td>84%</td> <td>81%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/dk.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/country-4x3/dk.png" alt=""></td>
<td>Dansk</td> <td>Dansk</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/da_DK.po">da_DK</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/da_DK.po">da_DK</a></td>
<td>Morten Juhl-Johansen Zölde-Fejér (mjjzf@syntaktisk.</td> <td>Morten Juhl-Johansen Zölde-Fejér (mjjzf@syntaktisk.</td>
<td>61%</td> <td>58%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/de.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/country-4x3/de.png" alt=""></td>
<td>Deutsch</td> <td>Deutsch</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/de_DE.po">de_DE</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/de_DE.po">de_DE</a></td>
<td>Michael Sonntag (<a href="mailto:ms@editorei.de">ms@editorei.de</a>)</td> <td>Michael Sonntag (<a href="mailto:ms@editorei.de">ms@editorei.de</a>)</td>
<td>96%</td> <td>100%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/gb.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/country-4x3/gb.png" alt=""></td>
@ -717,140 +717,147 @@ Details:
<td>Español</td> <td>Español</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/es_ES.po">es_ES</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/es_ES.po">es_ES</a></td>
<td>Andros Fenollosa (andros@fenollosa.email)</td> <td>Andros Fenollosa (andros@fenollosa.email)</td>
<td>90%</td> <td>96%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/fr.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/country-4x3/fr.png" alt=""></td>
<td>Français</td> <td>Français</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/fr_FR.po">fr_FR</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/fr_FR.po">fr_FR</a></td>
<td>Laurent Cozic</td> <td>Laurent Cozic</td>
<td>100%</td> <td>96%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/es/galicia.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/es/galicia.png" alt=""></td>
<td>Galician</td> <td>Galician</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/gl_ES.po">gl_ES</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/gl_ES.po">gl_ES</a></td>
<td>Marcos Lans (<a href="mailto:marcoslansgarza@gmail.com">marcoslansgarza@gmail.com</a>)</td> <td>Marcos Lans (<a href="mailto:marcoslansgarza@gmail.com">marcoslansgarza@gmail.com</a>)</td>
<td>59%</td> <td>57%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/it.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/country-4x3/it.png" alt=""></td>
<td>Italiano</td> <td>Italiano</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/it_IT.po">it_IT</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/it_IT.po">it_IT</a></td>
<td></td> <td></td>
<td>95%</td> <td>94%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/be.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/country-4x3/be.png" alt=""></td>
<td>Nederlands</td> <td>Nederlands</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/nl_BE.po">nl_BE</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/nl_BE.po">nl_BE</a></td>
<td></td> <td></td>
<td>47%</td> <td>45%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/nl.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/country-4x3/nl.png" alt=""></td>
<td>Nederlands</td> <td>Nederlands</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/nl_NL.po">nl_NL</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/nl_NL.po">nl_NL</a></td>
<td>Heimen Stoffels (<a href="mailto:vistausss@outlook.com">vistausss@outlook.com</a>)</td> <td>Robert (<a href="mailto:metbril@outlook.com">metbril@outlook.com</a>)</td>
<td>94%</td> <td>96%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/no.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/country-4x3/no.png" alt=""></td>
<td>Norwegian</td> <td>Norwegian</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/nb_NO.po">nb_NO</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/nb_NO.po">nb_NO</a></td>
<td>Mats Estensen (<a href="mailto:code@mxe.no">code@mxe.no</a>)</td> <td>Mats Estensen (<a href="mailto:code@mxe.no">code@mxe.no</a>)</td>
<td>84%</td> <td>96%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/ir.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/country-4x3/ir.png" alt=""></td>
<td>Persian</td> <td>Persian</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/fa.po">fa</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/fa.po">fa</a></td>
<td>Mehrad Mahmoudian (<a href="mailto:mehrad@mahmoudian.me">mehrad@mahmoudian.me</a>)</td> <td>Mehrad Mahmoudian (<a href="mailto:mehrad@mahmoudian.me">mehrad@mahmoudian.me</a>)</td>
<td>45%</td> <td>43%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/pl.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/country-4x3/pl.png" alt=""></td>
<td>Polski</td> <td>Polski</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/pl_PL.po">pl_PL</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/pl_PL.po">pl_PL</a></td>
<td></td> <td></td>
<td>90%</td> <td>87%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/br.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/country-4x3/br.png" alt=""></td>
<td>Português (Brasil)</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><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/pt_BR.po">pt_BR</a></td>
<td>Rafael Teixeira (<a href="mailto:rto.tinfo@gmail.com">rto.tinfo@gmail.com</a>)</td> <td>Rafael Teixeira (<a href="mailto:rto.tinfo@gmail.com">rto.tinfo@gmail.com</a>)</td>
<td>93%</td> <td>90%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/ro.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/country-4x3/ro.png" alt=""></td>
<td>Română</td> <td>Română</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/ro.po">ro</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/ro.po">ro</a></td>
<td></td> <td></td>
<td>47%</td> <td>45%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/si.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/country-4x3/si.png" alt=""></td>
<td>Slovenian</td> <td>Slovenian</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/sl_SI.po">sl_SI</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/sl_SI.po">sl_SI</a></td>
<td></td> <td></td>
<td>59%</td> <td>57%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/se.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/country-4x3/se.png" alt=""></td>
<td>Svenska</td> <td>Svenska</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/sv.po">sv</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/sv.po">sv</a></td>
<td>Jonatan Nyberg (<a href="mailto:jonatan@autistici.org">jonatan@autistici.org</a>)</td> <td>Jonatan Nyberg (<a href="mailto:jonatan@autistici.org">jonatan@autistici.org</a>)</td>
<td>80%</td> <td>78%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/tr.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/country-4x3/tr.png" alt=""></td>
<td>Türkçe</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><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/tr_TR.po">tr_TR</a></td>
<td>Zorbey Doğangüneş (<a href="mailto:zorbeyd@gmail.com">zorbeyd@gmail.com</a>)</td> <td>Zorbey Doğangüneş (<a href="mailto:zorbeyd@gmail.com">zorbeyd@gmail.com</a>)</td>
<td>78%</td> <td>75%</td>
</tr>
<tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/gr.png" alt=""></td>
<td>ελληνικά</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/el_GR.po">el_GR</a></td>
<td>Harris Arvanitis (<a href="mailto:xaris@tuta.io">xaris@tuta.io</a>)</td>
<td>96%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/ru.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/country-4x3/ru.png" alt=""></td>
<td>Русский</td> <td>Русский</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/ru_RU.po">ru_RU</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/ru_RU.po">ru_RU</a></td>
<td>Artyom Karlov (<a href="mailto:artyom.karlov@gmail.com">artyom.karlov@gmail.com</a>)</td> <td>Artyom Karlov (<a href="mailto:artyom.karlov@gmail.com">artyom.karlov@gmail.com</a>)</td>
<td>83%</td> <td>94%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/rs.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/country-4x3/rs.png" alt=""></td>
<td>српски језик</td> <td>српски језик</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/sr_RS.po">sr_RS</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/sr_RS.po">sr_RS</a></td>
<td></td> <td></td>
<td>90%</td> <td>87%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/cn.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/country-4x3/cn.png" alt=""></td>
<td>中文 (简体)</td> <td>中文 (简体)</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/zh_CN.po">zh_CN</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/zh_CN.po">zh_CN</a></td>
<td></td> <td></td>
<td>98%</td> <td>94%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/tw.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/country-4x3/tw.png" alt=""></td>
<td>中文 (繁體)</td> <td>中文 (繁體)</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/zh_TW.po">zh_TW</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/zh_TW.po">zh_TW</a></td>
<td>penguinsam (<a href="mailto:samliu@gmail.com">samliu@gmail.com</a>)</td> <td>penguinsam (<a href="mailto:samliu@gmail.com">samliu@gmail.com</a>)</td>
<td>72%</td> <td>70%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/jp.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/country-4x3/jp.png" alt=""></td>
<td>日本語</td> <td>日本語</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/ja_JP.po">ja_JP</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/ja_JP.po">ja_JP</a></td>
<td>AWASHIRO Ikuya (<a href="mailto:ikunya@gmail.com">ikunya@gmail.com</a>)</td> <td>genneko (<a href="mailto:genneko217@gmail.com">genneko217@gmail.com</a>)</td>
<td>98%</td> <td>96%</td>
</tr> </tr>
<tr> <tr>
<td><img src="https://joplinapp.org/images/flags/country-4x3/kr.png" alt=""></td> <td><img src="https://joplinapp.org/images/flags/country-4x3/kr.png" alt=""></td>
<td>한국말</td> <td>한국말</td>
<td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/ko.po">ko</a></td> <td><a href="https://github.com/laurent22/joplin/blob/master/CliClient/locales/ko.po">ko</a></td>
<td></td> <td></td>
<td>98%</td> <td>94%</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@ -501,6 +501,12 @@ $$
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td>Typographer</td>
<td>See <a href="https://markdown-it.github.io/#md3=%7B%22source%22%3A%22%23%20Typographic%20replacements%5Cn%5Cn%28c%29%20%28C%29%20%28r%29%20%28R%29%20%28tm%29%20%28TM%29%20%28p%29%20%28P%29%20%2B-%5Cn%5Cntest..%20test...%20test.....%20test%3F.....%20test!....%5Cn%5Cn!!!!!!%20%3F%3F%3F%3F%20%2C%2C%20%20--%20---%5Cn%5Cn%5C%22Smartypants%2C%20double%20quotes%5C%22%20and%20%27single%20quotes%27%5Cn%22%2C%22defaults%22%3A%7B%22html%22%3Afalse%2C%22xhtmlOut%22%3Afalse%2C%22breaks%22%3Afalse%2C%22langPrefix%22%3A%22language-%22%2C%22linkify%22%3Atrue%2C%22typographer%22%3Atrue%2C%22_highlight%22%3Atrue%2C%22_strict%22%3Afalse%2C%22_view%22%3A%22html%22%7D%7D">typographer</a> markdown-it demo</td>
<td>Does typographic replacements, (c) -&gt; © and so on</td>
<td>no</td>
</tr>
<tr>
<td><a href="https://katex.org">Katex</a></td> <td><a href="https://katex.org">Katex</a></td>
<td><code>$$math expr$$</code> or <code>$math$</code></td> <td><code>$$math expr$$</code> or <code>$math$</code></td>
<td><a href="#math-notation">See above</a></td> <td><a href="#math-notation">See above</a></td>

View File

@ -108,7 +108,7 @@ https://github.com/laurent22/joplin/blob/master/readme/spec.md
height: 3em; height: 3em;
text-align: center; text-align: center;
} }
table.screenshots th, table.screenshots th,
table.screenshots td { table.screenshots td {
border: 1px solid #C2C2C2; border: 1px solid #C2C2C2;
} }
@ -404,11 +404,11 @@ https://github.com/laurent22/joplin/blob/master/readme/spec.md
</ul> </ul>
<script> <script>
function stickyHeader() { function stickyHeader() {
return; // Disabled return; // Disabled
if ($(window).scrollTop() > 179) { if ($(window).scrollTop() > 179) {
$('.nav').addClass('sticky'); $('.nav').addClass('sticky');
} else { } else {
$('.nav').removeClass('sticky'); $('.nav').removeClass('sticky');
} }

View File

@ -672,8 +672,8 @@ Possible keys/values:
Type: string. Type: string.
sync.target Synchronisation target. sync.target Synchronisation target.
The target to synchonise to. Each sync target may The target to synchronise to. Each sync target may
have additional parameters which are named as have additional parameters which are named as
`sync.NUM.NAME` (all documented below). `sync.NUM.NAME` (all documented below).
Type: Enum. Type: Enum.
Possible values: 2 (File system), 3 (OneDrive), 4 Possible values: 2 (File system), 3 (OneDrive), 4

View File

@ -92,6 +92,15 @@ In this case, [make sure you enter the correct WebDAV URL](https://github.com/la
If you want to serve using https but can't or don't want to use SSL certificates signed by trusted certificate authorities (like "Let's Encrypt"), it's possible to generate a custom CA and sign your certificates with it. You can generate the CA and certificates using [openssl](https://gist.github.com/fntlnz/cf14feb5a46b2eda428e000157447309), but I like to use a tool called [mkcert](https://github.com/FiloSottile/mkcert) for it's simplicity. Finally, you have to add your CA certificate to Android settings so that Android can recognize the certificates you signed with your CA as valid ([link](https://support.google.com/nexus/answer/2844832?hl=en-GB)). If you want to serve using https but can't or don't want to use SSL certificates signed by trusted certificate authorities (like "Let's Encrypt"), it's possible to generate a custom CA and sign your certificates with it. You can generate the CA and certificates using [openssl](https://gist.github.com/fntlnz/cf14feb5a46b2eda428e000157447309), but I like to use a tool called [mkcert](https://github.com/FiloSottile/mkcert) for it's simplicity. Finally, you have to add your CA certificate to Android settings so that Android can recognize the certificates you signed with your CA as valid ([link](https://support.google.com/nexus/answer/2844832?hl=en-GB)).
# How do I restart Joplin on Windows (so that certain changes take effect)?
If `Show tray icon` is enabled, closing the Joplin window does not quit the application. To restart the application properly, one of the following has to be done to quit Joplin:
- click `File` in the menu and then click `Quit`
- right-click on the Joplin tray icon and then click `Exit`
Additionally the Windows Task Manager can be used to verify whether Joplin is still around.
# Why is it named Joplin? # Why is it named Joplin?
The name comes from the composer and pianist [Scott Joplin](https://en.wikipedia.org/wiki/Scott_Joplin), 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, "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". The name comes from the composer and pianist [Scott Joplin](https://en.wikipedia.org/wiki/Scott_Joplin), 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, "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".

View File

@ -32,7 +32,7 @@ Data | ("Length" bytes) (ASCII)
## Master Keys ## Master Keys
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 [strong encyption method](https://github.com/laurent22/joplin/blob/fb6dee32ac035b00153106273135fb16be4b4fa5/ReactNativeClient/lib/services/EncryptionService.js#L263). 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 [strong encryption method](https://github.com/laurent22/joplin/blob/fb6dee32ac035b00153106273135fb16be4b4fa5/ReactNativeClient/lib/services/EncryptionService.js#L263).
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. 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.

View File

@ -322,10 +322,10 @@ The following commands are available in [command-line mode](#command-line-mode):
will be used to open a note. If none is provided will be used to open a note. If none is provided
it will try to auto-detect the default editor. it will try to auto-detect the default editor.
Type: string. Type: string.
sync.target Synchronisation target. sync.target Synchronisation target.
The target to synchonise to. Each sync target may The target to synchronise to. Each sync target may
have additional parameters which are named as have additional parameters which are named as
`sync.NUM.NAME` (all documented below). `sync.NUM.NAME` (all documented below).
Type: Enum. Type: Enum.
Possible values: 2 (File system), 3 (OneDrive), 4 Possible values: 2 (File system), 3 (OneDrive), 4