You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2025-08-30 20:39:46 +02:00
Compare commits
72 Commits
android-v1
...
android-v1
Author | SHA1 | Date | |
---|---|---|---|
|
a76b4a0d3e | ||
|
97c538dc48 | ||
|
0b67446ec0 | ||
|
4b26893b21 | ||
|
4ea21e0c32 | ||
|
ebf92605ae | ||
|
606a64f49c | ||
|
f76f99b423 | ||
|
1f9388d62c | ||
|
5c7dd6df5a | ||
|
26a91416c7 | ||
|
b5f01c005f | ||
|
b1ecb75e1f | ||
|
a0ead2c48e | ||
|
eb82ae87ca | ||
|
a6caa357c8 | ||
|
da4c61653f | ||
|
eef86d6166 | ||
|
4be5182913 | ||
|
92b4b967d9 | ||
|
9a043bfca5 | ||
|
156a681ecf | ||
|
5587f10487 | ||
|
34540ed30a | ||
|
bafa5053fd | ||
|
43feb1ea7e | ||
|
2531e89457 | ||
|
06ae47f507 | ||
|
b1ea3f3ad1 | ||
|
f87ff54e3d | ||
|
a4854fcde8 | ||
|
3235f58f5a | ||
|
920f54f5d3 | ||
|
de035dca39 | ||
|
1501238730 | ||
|
108b5b4cdc | ||
|
da8cc73df6 | ||
|
e95ea48ce9 | ||
|
0aef1f95ef | ||
|
a67eab46f4 | ||
|
f603440c30 | ||
|
80b16dd17e | ||
|
ad09bd93d6 | ||
|
a29648d46c | ||
|
e7184f5f86 | ||
|
8789e557ea | ||
|
f62bfbb853 | ||
|
e06a640900 | ||
|
5a620ee26e | ||
|
170f587f28 | ||
|
7518ac00fc | ||
|
9171a1ee9e | ||
|
30fab85caa | ||
|
1354c247b4 | ||
|
9642f5f715 | ||
|
f721d0123e | ||
|
518d7fc187 | ||
|
35a1da0b08 | ||
|
91bd8969cc | ||
|
2fc9c53ff0 | ||
|
e3efe70bab | ||
|
015aec503e | ||
|
54884d6db4 | ||
|
5667e687e9 | ||
|
fbfca47ef3 | ||
|
c37c2256c6 | ||
|
c79c9c4c2f | ||
|
17792d91a1 | ||
|
d8ed15873b | ||
|
29a8e815d9 | ||
|
0ff25b6302 | ||
|
bfacf71397 |
@@ -106,6 +106,9 @@ packages/app-cli/tests/Synchronizer.sharing.js.map
|
||||
packages/app-cli/tests/Synchronizer.tags.d.ts
|
||||
packages/app-cli/tests/Synchronizer.tags.js
|
||||
packages/app-cli/tests/Synchronizer.tags.js.map
|
||||
packages/app-cli/tests/Synchronizer.tools.d.ts
|
||||
packages/app-cli/tests/Synchronizer.tools.js
|
||||
packages/app-cli/tests/Synchronizer.tools.js.map
|
||||
packages/app-cli/tests/fsDriver.d.ts
|
||||
packages/app-cli/tests/fsDriver.js
|
||||
packages/app-cli/tests/fsDriver.js.map
|
||||
@@ -211,6 +214,9 @@ packages/app-desktop/commands/stopExternalEditing.js.map
|
||||
packages/app-desktop/commands/toggleExternalEditing.d.ts
|
||||
packages/app-desktop/commands/toggleExternalEditing.js
|
||||
packages/app-desktop/commands/toggleExternalEditing.js.map
|
||||
packages/app-desktop/commands/toggleSafeMode.d.ts
|
||||
packages/app-desktop/commands/toggleSafeMode.js
|
||||
packages/app-desktop/commands/toggleSafeMode.js.map
|
||||
packages/app-desktop/gui/Button/Button.d.ts
|
||||
packages/app-desktop/gui/Button/Button.js
|
||||
packages/app-desktop/gui/Button/Button.js.map
|
||||
@@ -376,6 +382,9 @@ packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/utils/types.js.map
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/utils/useCursorUtils.d.ts
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/utils/useCursorUtils.js
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/utils/useCursorUtils.js.map
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/utils/useCursorUtils.test.d.ts
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/utils/useCursorUtils.test.js
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/utils/useCursorUtils.test.js.map
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/utils/useEditorSearch.d.ts
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/utils/useEditorSearch.js
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/utils/useEditorSearch.js.map
|
||||
@@ -403,12 +412,6 @@ packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/TinyMCE.js.map
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/styles/index.d.ts
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/styles/index.js
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/styles/index.js.map
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/getCopyableContent.d.ts
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/getCopyableContent.js
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/getCopyableContent.js.map
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/getCopyableContent.test.d.ts
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/getCopyableContent.test.js
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/getCopyableContent.test.js.map
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.d.ts
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.js
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.js.map
|
||||
@@ -442,6 +445,12 @@ packages/app-desktop/gui/NoteEditor/commands/showRevisions.js.map
|
||||
packages/app-desktop/gui/NoteEditor/styles/index.d.ts
|
||||
packages/app-desktop/gui/NoteEditor/styles/index.js
|
||||
packages/app-desktop/gui/NoteEditor/styles/index.js.map
|
||||
packages/app-desktop/gui/NoteEditor/utils/clipboardUtils.d.ts
|
||||
packages/app-desktop/gui/NoteEditor/utils/clipboardUtils.js
|
||||
packages/app-desktop/gui/NoteEditor/utils/clipboardUtils.js.map
|
||||
packages/app-desktop/gui/NoteEditor/utils/clipboardUtils.test.d.ts
|
||||
packages/app-desktop/gui/NoteEditor/utils/clipboardUtils.test.js
|
||||
packages/app-desktop/gui/NoteEditor/utils/clipboardUtils.test.js.map
|
||||
packages/app-desktop/gui/NoteEditor/utils/contextMenu.d.ts
|
||||
packages/app-desktop/gui/NoteEditor/utils/contextMenu.js
|
||||
packages/app-desktop/gui/NoteEditor/utils/contextMenu.js.map
|
||||
@@ -742,6 +751,12 @@ packages/app-mobile/setUpQuickActions.js.map
|
||||
packages/app-mobile/utils/ShareExtension.d.ts
|
||||
packages/app-mobile/utils/ShareExtension.js
|
||||
packages/app-mobile/utils/ShareExtension.js.map
|
||||
packages/app-mobile/utils/ShareUtils.d.ts
|
||||
packages/app-mobile/utils/ShareUtils.js
|
||||
packages/app-mobile/utils/ShareUtils.js.map
|
||||
packages/app-mobile/utils/TlsUtils.d.ts
|
||||
packages/app-mobile/utils/TlsUtils.js
|
||||
packages/app-mobile/utils/TlsUtils.js.map
|
||||
packages/app-mobile/utils/checkPermissions.d.ts
|
||||
packages/app-mobile/utils/checkPermissions.js
|
||||
packages/app-mobile/utils/checkPermissions.js.map
|
||||
@@ -817,6 +832,9 @@ packages/lib/BaseModel.js.map
|
||||
packages/lib/BaseSyncTarget.d.ts
|
||||
packages/lib/BaseSyncTarget.js
|
||||
packages/lib/BaseSyncTarget.js.map
|
||||
packages/lib/HtmlToMd.d.ts
|
||||
packages/lib/HtmlToMd.js
|
||||
packages/lib/HtmlToMd.js.map
|
||||
packages/lib/InMemoryCache.d.ts
|
||||
packages/lib/InMemoryCache.js
|
||||
packages/lib/InMemoryCache.js.map
|
||||
@@ -1048,6 +1066,12 @@ packages/lib/services/commands/ToolbarButtonUtils.js.map
|
||||
packages/lib/services/commands/commandsToMarkdownTable.d.ts
|
||||
packages/lib/services/commands/commandsToMarkdownTable.js
|
||||
packages/lib/services/commands/commandsToMarkdownTable.js.map
|
||||
packages/lib/services/commands/focusEditorIfEditorCommand.d.ts
|
||||
packages/lib/services/commands/focusEditorIfEditorCommand.js
|
||||
packages/lib/services/commands/focusEditorIfEditorCommand.js.map
|
||||
packages/lib/services/commands/isEditorCommand.d.ts
|
||||
packages/lib/services/commands/isEditorCommand.js
|
||||
packages/lib/services/commands/isEditorCommand.js.map
|
||||
packages/lib/services/commands/propsHaveChanged.d.ts
|
||||
packages/lib/services/commands/propsHaveChanged.js
|
||||
packages/lib/services/commands/propsHaveChanged.js.map
|
||||
@@ -1324,6 +1348,12 @@ packages/lib/services/synchronizer/migrations/1.js.map
|
||||
packages/lib/services/synchronizer/migrations/2.d.ts
|
||||
packages/lib/services/synchronizer/migrations/2.js
|
||||
packages/lib/services/synchronizer/migrations/2.js.map
|
||||
packages/lib/services/synchronizer/tools.d.ts
|
||||
packages/lib/services/synchronizer/tools.js
|
||||
packages/lib/services/synchronizer/tools.js.map
|
||||
packages/lib/services/synchronizer/utils/handleSyncStartupOperation.d.ts
|
||||
packages/lib/services/synchronizer/utils/handleSyncStartupOperation.js
|
||||
packages/lib/services/synchronizer/utils/handleSyncStartupOperation.js.map
|
||||
packages/lib/services/synchronizer/utils/types.d.ts
|
||||
packages/lib/services/synchronizer/utils/types.js
|
||||
packages/lib/services/synchronizer/utils/types.js.map
|
||||
|
1
.github/stale.yml
vendored
1
.github/stale.yml
vendored
@@ -11,6 +11,7 @@ exemptLabels:
|
||||
- "high"
|
||||
- "medium"
|
||||
- "spec"
|
||||
- "cannot reproduce"
|
||||
# Label to use when marking an issue as stale
|
||||
staleLabel: stale
|
||||
# Comment to post when marking an issue as stale. Set to `false` to disable
|
||||
|
42
.gitignore
vendored
42
.gitignore
vendored
@@ -93,6 +93,9 @@ packages/app-cli/tests/Synchronizer.sharing.js.map
|
||||
packages/app-cli/tests/Synchronizer.tags.d.ts
|
||||
packages/app-cli/tests/Synchronizer.tags.js
|
||||
packages/app-cli/tests/Synchronizer.tags.js.map
|
||||
packages/app-cli/tests/Synchronizer.tools.d.ts
|
||||
packages/app-cli/tests/Synchronizer.tools.js
|
||||
packages/app-cli/tests/Synchronizer.tools.js.map
|
||||
packages/app-cli/tests/fsDriver.d.ts
|
||||
packages/app-cli/tests/fsDriver.js
|
||||
packages/app-cli/tests/fsDriver.js.map
|
||||
@@ -198,6 +201,9 @@ packages/app-desktop/commands/stopExternalEditing.js.map
|
||||
packages/app-desktop/commands/toggleExternalEditing.d.ts
|
||||
packages/app-desktop/commands/toggleExternalEditing.js
|
||||
packages/app-desktop/commands/toggleExternalEditing.js.map
|
||||
packages/app-desktop/commands/toggleSafeMode.d.ts
|
||||
packages/app-desktop/commands/toggleSafeMode.js
|
||||
packages/app-desktop/commands/toggleSafeMode.js.map
|
||||
packages/app-desktop/gui/Button/Button.d.ts
|
||||
packages/app-desktop/gui/Button/Button.js
|
||||
packages/app-desktop/gui/Button/Button.js.map
|
||||
@@ -363,6 +369,9 @@ packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/utils/types.js.map
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/utils/useCursorUtils.d.ts
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/utils/useCursorUtils.js
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/utils/useCursorUtils.js.map
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/utils/useCursorUtils.test.d.ts
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/utils/useCursorUtils.test.js
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/utils/useCursorUtils.test.js.map
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/utils/useEditorSearch.d.ts
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/utils/useEditorSearch.js
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/utils/useEditorSearch.js.map
|
||||
@@ -390,12 +399,6 @@ packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/TinyMCE.js.map
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/styles/index.d.ts
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/styles/index.js
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/styles/index.js.map
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/getCopyableContent.d.ts
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/getCopyableContent.js
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/getCopyableContent.js.map
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/getCopyableContent.test.d.ts
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/getCopyableContent.test.js
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/getCopyableContent.test.js.map
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.d.ts
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.js
|
||||
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.js.map
|
||||
@@ -429,6 +432,12 @@ packages/app-desktop/gui/NoteEditor/commands/showRevisions.js.map
|
||||
packages/app-desktop/gui/NoteEditor/styles/index.d.ts
|
||||
packages/app-desktop/gui/NoteEditor/styles/index.js
|
||||
packages/app-desktop/gui/NoteEditor/styles/index.js.map
|
||||
packages/app-desktop/gui/NoteEditor/utils/clipboardUtils.d.ts
|
||||
packages/app-desktop/gui/NoteEditor/utils/clipboardUtils.js
|
||||
packages/app-desktop/gui/NoteEditor/utils/clipboardUtils.js.map
|
||||
packages/app-desktop/gui/NoteEditor/utils/clipboardUtils.test.d.ts
|
||||
packages/app-desktop/gui/NoteEditor/utils/clipboardUtils.test.js
|
||||
packages/app-desktop/gui/NoteEditor/utils/clipboardUtils.test.js.map
|
||||
packages/app-desktop/gui/NoteEditor/utils/contextMenu.d.ts
|
||||
packages/app-desktop/gui/NoteEditor/utils/contextMenu.js
|
||||
packages/app-desktop/gui/NoteEditor/utils/contextMenu.js.map
|
||||
@@ -729,6 +738,12 @@ packages/app-mobile/setUpQuickActions.js.map
|
||||
packages/app-mobile/utils/ShareExtension.d.ts
|
||||
packages/app-mobile/utils/ShareExtension.js
|
||||
packages/app-mobile/utils/ShareExtension.js.map
|
||||
packages/app-mobile/utils/ShareUtils.d.ts
|
||||
packages/app-mobile/utils/ShareUtils.js
|
||||
packages/app-mobile/utils/ShareUtils.js.map
|
||||
packages/app-mobile/utils/TlsUtils.d.ts
|
||||
packages/app-mobile/utils/TlsUtils.js
|
||||
packages/app-mobile/utils/TlsUtils.js.map
|
||||
packages/app-mobile/utils/checkPermissions.d.ts
|
||||
packages/app-mobile/utils/checkPermissions.js
|
||||
packages/app-mobile/utils/checkPermissions.js.map
|
||||
@@ -804,6 +819,9 @@ packages/lib/BaseModel.js.map
|
||||
packages/lib/BaseSyncTarget.d.ts
|
||||
packages/lib/BaseSyncTarget.js
|
||||
packages/lib/BaseSyncTarget.js.map
|
||||
packages/lib/HtmlToMd.d.ts
|
||||
packages/lib/HtmlToMd.js
|
||||
packages/lib/HtmlToMd.js.map
|
||||
packages/lib/InMemoryCache.d.ts
|
||||
packages/lib/InMemoryCache.js
|
||||
packages/lib/InMemoryCache.js.map
|
||||
@@ -1035,6 +1053,12 @@ packages/lib/services/commands/ToolbarButtonUtils.js.map
|
||||
packages/lib/services/commands/commandsToMarkdownTable.d.ts
|
||||
packages/lib/services/commands/commandsToMarkdownTable.js
|
||||
packages/lib/services/commands/commandsToMarkdownTable.js.map
|
||||
packages/lib/services/commands/focusEditorIfEditorCommand.d.ts
|
||||
packages/lib/services/commands/focusEditorIfEditorCommand.js
|
||||
packages/lib/services/commands/focusEditorIfEditorCommand.js.map
|
||||
packages/lib/services/commands/isEditorCommand.d.ts
|
||||
packages/lib/services/commands/isEditorCommand.js
|
||||
packages/lib/services/commands/isEditorCommand.js.map
|
||||
packages/lib/services/commands/propsHaveChanged.d.ts
|
||||
packages/lib/services/commands/propsHaveChanged.js
|
||||
packages/lib/services/commands/propsHaveChanged.js.map
|
||||
@@ -1311,6 +1335,12 @@ packages/lib/services/synchronizer/migrations/1.js.map
|
||||
packages/lib/services/synchronizer/migrations/2.d.ts
|
||||
packages/lib/services/synchronizer/migrations/2.js
|
||||
packages/lib/services/synchronizer/migrations/2.js.map
|
||||
packages/lib/services/synchronizer/tools.d.ts
|
||||
packages/lib/services/synchronizer/tools.js
|
||||
packages/lib/services/synchronizer/tools.js.map
|
||||
packages/lib/services/synchronizer/utils/handleSyncStartupOperation.d.ts
|
||||
packages/lib/services/synchronizer/utils/handleSyncStartupOperation.js
|
||||
packages/lib/services/synchronizer/utils/handleSyncStartupOperation.js.map
|
||||
packages/lib/services/synchronizer/utils/types.d.ts
|
||||
packages/lib/services/synchronizer/utils/types.js
|
||||
packages/lib/services/synchronizer/utils/types.js.map
|
||||
|
80
README.md
80
README.md
@@ -109,6 +109,7 @@ The Web Clipper is a browser extension that allows you to save web pages and scr
|
||||
- [Data API](https://github.com/laurent22/joplin/blob/dev/readme/api/references/rest_api.md)
|
||||
- [Plugin manifest](https://github.com/laurent22/joplin/blob/dev/readme/api/references/plugin_manifest.md)
|
||||
- [Plugin loading rules](https://github.com/laurent22/joplin/blob/dev/readme/api/references/plugin_loading_rules.md)
|
||||
- [Plugin theming](https://github.com/laurent22/joplin/blob/dev/readme/api/references/plugin_theming.md)
|
||||
|
||||
- Development
|
||||
|
||||
@@ -427,12 +428,13 @@ You can also use search filters to further restrict the search.
|
||||
| **title:** <br> **body:**|Restrict your search to just the title or the body field.|`title:"hello world"` searches for notes whose title contains `hello` and `world`.<br>`title:hello -body:world` searches for notes whose title contains `hello` and body does not contain `world`.
|
||||
| **tag:** |Restrict the search to the notes with the specified tags.|`tag:office` searches for all notes having tag office.<br>`tag:office tag:important` searches for all notes having both office and important tags.<br>`tag:office -tag:spam` searches for notes having tag `office` which do not have tag `spam`.<br>`any:1 tag:office tag:spam` searches for notes having tag `office` or tag `spam`.<br>`tag:be*ful` does a search with wildcards.<br>`tag:*` returns all notes with tags.<br>`-tag:*` returns all notes without tags.|
|
||||
| **notebook:** | Restrict the search to the specified notebook(s). |`notebook:books` limits the search scope within `books` and all its subnotebooks.<br>`notebook:wheel*time` does a wildcard search.|
|
||||
| **created:** <br> **updated:** | Searches for notes created/updated on dates specified using YYYYMMDD format. You can also search relative to the current day, week, month, or year. | `created:20201218` will return notes created on or after December 18, 2020.<br>`-updated:20201218` will return notes updated before December 18, 2020.<br>`created:20200118 -created:20201215` will return notes created between January 18, 2020, and before December 15, 2020.<br>`created:202001 -created:202003` will return notes created on or after January and before March 2020.<br>`updated:1997 -updated:2020` will return all notes updated between the years 1997 and 2019.<br>`created:day-2` searches for all notes created in the past two days.<br>`updated:year-0` searches all notes updated in the current year.
|
||||
| **created:** <br> **updated:** <br> **due:**| Searches for notes created/updated on dates specified using YYYYMMDD format. You can also search relative to the current day, week, month, or year. | `created:20201218` will return notes created on or after December 18, 2020.<br>`-updated:20201218` will return notes updated before December 18, 2020.<br>`created:20200118 -created:20201215` will return notes created between January 18, 2020, and before December 15, 2020.<br>`created:202001 -created:202003` will return notes created on or after January and before March 2020.<br>`updated:1997 -updated:2020` will return all notes updated between the years 1997 and 2019.<br>`created:day-2` searches for all notes created in the past two days.<br>`updated:year-0` searches all notes updated in the current year.<br>`-due:day+7` will return all todos which are due or will be due in the next seven days.<br>`-due:day-5` searches all todos that are overdue for more than 5 days.|
|
||||
| **type:** |Restrict the search to either notes or todos. | `type:note` to return all notes<br>`type:todo` to return all todos |
|
||||
| **iscompleted:** | Restrict the search to either completed or uncompleted todos. | `iscompleted:1` to return all completed todos<br>`iscompleted:0` to return all uncompleted todos|
|
||||
|**latitude:** <br> **longitude:** <br> **altitude:**|Filter by location|`latitude:40 -latitude:50` to return notes with latitude >= 40 and < 50 |
|
||||
|**resource:**|Filter by attachment MIME type|`resource:image/jpeg` to return notes with a jpeg attachment.<br>`-resource:application/pdf` to return notes without a pdf attachment.<br>`resource:image/*` to return notes with any images.|
|
||||
|**sourceurl:**|Filter by source URL|`sourceurl:https://www.google.com`<br>`sourceurl:*joplinapp.org` to perform a wildcard search.|
|
||||
|**id:**|Filter by note ID|`id:9cbc1b4f242043a9b8a50627508bccd5` return a note with the specified id |
|
||||
|
||||
Note: In the CLI client you have to escape the query using `--` when using negated filters.
|
||||
Eg. `:search -- "-tag:tag1"`.
|
||||
@@ -449,7 +451,7 @@ Notes are sorted by "relevance". Currently it means the notes that contain the r
|
||||
|
||||
# Goto Anything
|
||||
|
||||
In the desktop application, press <kbd>Ctrl+G</kbd> or <kbd>Cmd+G</kbd> and type a note title or part of its content to jump to it. Or type <kbd>#</kbd> followed by a tag name, or <kbd>@</kbd> followed by a notebook name.
|
||||
In the desktop application, press <kbd>Ctrl+P</kbd> or <kbd>Cmd+P</kbd> and type a note title or part of its content to jump to it. Or type <kbd>#</kbd> followed by a tag name, or <kbd>@</kbd> followed by a notebook name.
|
||||
|
||||
# Privacy
|
||||
|
||||
@@ -509,47 +511,47 @@ Current translations:
|
||||
<!-- LOCALE-TABLE-AUTO-GENERATED -->
|
||||
| Language | Po File | Last translator | Percent done
|
||||
---|---|---|---|---
|
||||
 | Arabic | [ar](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ar.po) | [Whaell](mailto:Whaell@protonmail.com) | 99%
|
||||
 | Arabic | [ar](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ar.po) | [Whaell O](mailto:Whaell@protonmail.com) | 99%
|
||||
 | Basque | [eu](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/eu.po) | juan.abasolo@ehu.eus | 31%
|
||||
 | Bosnian (Bosna i Hercegovina) | [bs_BA](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/bs_BA.po) | [Derviš T.](mailto:dervis.t@pm.me) | 76%
|
||||
 | Bulgarian (България) | [bg_BG](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/bg_BG.po) | | 61%
|
||||
 | Catalan | [ca](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ca.po) | jmontane, 2019 | 87%
|
||||
 | Croatian (Hrvatska) | [hr_HR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/hr_HR.po) | [Milo Ivir](mailto:mail@milotype.de) | 100%
|
||||
 | Czech (Česká republika) | [cs_CZ](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/cs_CZ.po) | [Lukas Helebrandt](mailto:lukas@aiya.cz) | 90%
|
||||
 | Dansk (Danmark) | [da_DK](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/da_DK.po) | Mustafa Al-Dailemi (dailemi@hotmail.com)Language-Team: | 75%
|
||||
 | Deutsch (Deutschland) | [de_DE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/de_DE.po) | [Ettore Atalan](mailto:atalanttore@users.noreply.github.com) | 93%
|
||||
 | Eesti Keel (Eesti) | [et_EE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/et_EE.po) | | 60%
|
||||
 | Bosnian (Bosna i Hercegovina) | [bs_BA](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/bs_BA.po) | [Derviš T.](mailto:dervis.t@pm.me) | 74%
|
||||
 | Bulgarian (България) | [bg_BG](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/bg_BG.po) | | 60%
|
||||
 | Catalan | [ca](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ca.po) | jmontane, 2019 | 85%
|
||||
 | Croatian (Hrvatska) | [hr_HR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/hr_HR.po) | [Milo Ivir](mailto:mail@milotype.de) | 99%
|
||||
 | Czech (Česká republika) | [cs_CZ](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/cs_CZ.po) | [Lukas Helebrandt](mailto:lukas@aiya.cz) | 89%
|
||||
 | Dansk (Danmark) | [da_DK](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/da_DK.po) | Mustafa Al-Dailemi (dailemi@hotmail.com)Language-Team: | 96%
|
||||
 | Deutsch (Deutschland) | [de_DE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/de_DE.po) | [Atalanttore](mailto:atalanttore@googlemail.com) | 98%
|
||||
 | Eesti Keel (Eesti) | [et_EE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/et_EE.po) | | 58%
|
||||
 | English (United Kingdom) | [en_GB](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/en_GB.po) | | 100%
|
||||
 | English (United States of America) | [en_US](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/en_US.po) | | 100%
|
||||
 | Español (España) | [es_ES](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/es_ES.po) | [Mario Campo](mailto:mario.campo@gmail.com) | 99%
|
||||
 | Español (España) | [es_ES](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/es_ES.po) | [Mario Campo](mailto:mario.campo@gmail.com) | 97%
|
||||
 | Esperanto | [eo](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/eo.po) | Marton Paulo | 34%
|
||||
 | Finnish (Suomi) | [fi_FI](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fi_FI.po) | | 91%
|
||||
 | Français (France) | [fr_FR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fr_FR.po) | Laurent Cozic | 97%
|
||||
 | Galician (España) | [gl_ES](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/gl_ES.po) | [Marcos Lans](mailto:marcoslansgarza@gmail.com) | 40%
|
||||
 | Indonesian (Indonesia) | [id_ID](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/id_ID.po) | [Fathy AR](mailto:16875937+fathyar@users.noreply.github.com) | 95%
|
||||
 | Italiano (Italia) | [it_IT](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/it_IT.po) | [Alessandro Bernardello](mailto:mailfilledwithspam@gmail.com) | 94%
|
||||
 | Magyar (Magyarország) | [hu_HU](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/hu_HU.po) | [Szőke Sándor](mailto:mail@szokesandor.hu) | 93%
|
||||
 | Nederlands (België, Belgique, Belgien) | [nl_BE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nl_BE.po) | | 97%
|
||||
 | Nederlands (Nederland) | [nl_NL](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nl_NL.po) | [MetBril](mailto:metbril@users.noreply.github.com) | 91%
|
||||
 | Norwegian (Norge, Noreg) | [nb_NO](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nb_NO.po) | [Mats Estensen](mailto:code@mxe.no) | 80%
|
||||
 | Persian | [fa](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fa.po) | [Kourosh Firoozbakht](mailto:kourox@protonmail.com) | 75%
|
||||
 | Polski (Polska) | [pl_PL](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pl_PL.po) | [konhi](mailto:hello.konhi@gmail.com) | 100%
|
||||
 | Português (Brasil) | [pt_BR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pt_BR.po) | [Nicolas Suzuki](mailto:nicolas.suzuki@pm.me) | 100%
|
||||
 | Português (Portugal) | [pt_PT](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pt_PT.po) | [Diogo Caveiro](mailto:dcaveiro@yahoo.com) | 100%
|
||||
 | Română | [ro](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ro.po) | [Cristi Duluta](mailto:cristi.duluta@gmail.com) | 70%
|
||||
 | Slovenian (Slovenija) | [sl_SI](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sl_SI.po) | | 39%
|
||||
 | Svenska | [sv](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sv.po) | [Jonatan Nyberg](mailto:jonatan@autistici.org) | 65%
|
||||
 | Thai (ประเทศไทย) | [th_TH](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/th_TH.po) | | 48%
|
||||
 | Tiếng Việt | [vi](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/vi.po) | | 77%
|
||||
 | Türkçe (Türkiye) | [tr_TR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/tr_TR.po) | [Arda Kılıçdağı](mailto:arda@kilicdagi.com) | 99%
|
||||
 | Ukrainian (Україна) | [uk_UA](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/uk_UA.po) | [Vyacheslav Andreykiv](mailto:vandreykiv@gmail.com) | 100%
|
||||
 | Ελληνικά (Ελλάδα) | [el_GR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/el_GR.po) | [Harris Arvanitis](mailto:xaris@tuta.io) | 87%
|
||||
 | Русский (Россия) | [ru_RU](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ru_RU.po) | [Sergey Segeda](mailto:thesermanarm@gmail.com) | 99%
|
||||
 | српски језик (Србија) | [sr_RS](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sr_RS.po) | | 75%
|
||||
 | 中文 (简体) | [zh_CN](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_CN.po) | [Yang Zhang](mailto:zyangmath@gmail.com) | 99%
|
||||
 | 中文 (繁體) | [zh_TW](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_TW.po) | [Yaoze Ye](mailto:yaozeye@yahoo.co.jp) | 92%
|
||||
 | 日本語 (日本) | [ja_JP](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ja_JP.po) | [genneko](mailto:genneko217@gmail.com) | 99%
|
||||
 | 한국어 | [ko](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ko.po) | [Ji-Hyeon Gim](mailto:potatogim@potatogim.net) | 100%
|
||||
 | Finnish (Suomi) | [fi_FI](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fi_FI.po) | mrkaato | 97%
|
||||
 | Français (France) | [fr_FR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fr_FR.po) | Laurent Cozic | 95%
|
||||
 | Galician (España) | [gl_ES](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/gl_ES.po) | [Marcos Lans](mailto:marcoslansgarza@gmail.com) | 39%
|
||||
 | Indonesian (Indonesia) | [id_ID](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/id_ID.po) | [eresytter](mailto:42007357+eresytter@users.noreply.github.com) | 96%
|
||||
 | Italiano (Italia) | [it_IT](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/it_IT.po) | [Alessandro Bernardello](mailto:mailfilledwithspam@gmail.com) | 97%
|
||||
 | Magyar (Magyarország) | [hu_HU](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/hu_HU.po) | [Szőke Sándor](mailto:mail@szokesandor.hu) | 91%
|
||||
 | Nederlands (België, Belgique, Belgien) | [nl_BE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nl_BE.po) | | 95%
|
||||
 | Nederlands (Nederland) | [nl_NL](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nl_NL.po) | [MetBril](mailto:metbril@users.noreply.github.com) | 98%
|
||||
 | Norwegian (Norge, Noreg) | [nb_NO](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nb_NO.po) | [Mats Estensen](mailto:code@mxe.no) | 78%
|
||||
 | Persian | [fa](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fa.po) | [Kourosh Firoozbakht](mailto:kourox@protonmail.com) | 74%
|
||||
 | Polski (Polska) | [pl_PL](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pl_PL.po) | [konhi](mailto:hello.konhi@gmail.com) | 97%
|
||||
 | Português (Brasil) | [pt_BR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pt_BR.po) | [Nicolas Suzuki](mailto:nicolas.suzuki@pm.me) | 97%
|
||||
 | Português (Portugal) | [pt_PT](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pt_PT.po) | [Diogo Caveiro](mailto:dcaveiro@yahoo.com) | 97%
|
||||
 | Română | [ro](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ro.po) | [Cristi Duluta](mailto:cristi.duluta@gmail.com) | 68%
|
||||
 | Slovenian (Slovenija) | [sl_SI](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sl_SI.po) | [Martin Korelič](mailto:martin.korelic@protonmail.com) | 99%
|
||||
 | Svenska | [sv](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sv.po) | [Jonatan Nyberg](mailto:jonatan@autistici.org) | 63%
|
||||
 | Thai (ประเทศไทย) | [th_TH](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/th_TH.po) | | 47%
|
||||
 | Tiếng Việt | [vi](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/vi.po) | | 75%
|
||||
 | Türkçe (Türkiye) | [tr_TR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/tr_TR.po) | [Arda Kılıçdağı](mailto:arda@kilicdagi.com) | 97%
|
||||
 | Ukrainian (Україна) | [uk_UA](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/uk_UA.po) | [Vyacheslav Andreykiv](mailto:vandreykiv@gmail.com) | 97%
|
||||
 | Ελληνικά (Ελλάδα) | [el_GR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/el_GR.po) | [Harris Arvanitis](mailto:xaris@tuta.io) | 85%
|
||||
 | Русский (Россия) | [ru_RU](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ru_RU.po) | [Sergey Segeda](mailto:thesermanarm@gmail.com) | 97%
|
||||
 | српски језик (Србија) | [sr_RS](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sr_RS.po) | | 73%
|
||||
 | 中文 (简体) | [zh_CN](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_CN.po) | [Yang Zhang](mailto:zyangmath@gmail.com) | 97%
|
||||
 | 中文 (繁體) | [zh_TW](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_TW.po) | [Yaoze Ye](mailto:yaozeye@yahoo.co.jp) | 95%
|
||||
 | 日本語 (日本) | [ja_JP](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ja_JP.po) | [genneko](mailto:genneko217@gmail.com) | 98%
|
||||
 | 한국어 | [ko](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ko.po) | [Ji-Hyeon Gim](mailto:potatogim@potatogim.net) | 97%
|
||||
<!-- LOCALE-TABLE-AUTO-GENERATED -->
|
||||
|
||||
# Contributors
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/get_started/plugins.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/overview.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/development_m
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
File diff suppressed because one or more lines are too long
@@ -99,6 +99,7 @@
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplinsettings.html#onchange" class="tsd-kind-icon">on<wbr>Change</a></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplinsettings.html#registersection" class="tsd-kind-icon">register<wbr>Section</a></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplinsettings.html#registersetting" class="tsd-kind-icon">register<wbr>Setting</a></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplinsettings.html#registersettings" class="tsd-kind-icon">register<wbr>Settings</a></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplinsettings.html#setvalue" class="tsd-kind-icon">set<wbr>Value</a></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplinsettings.html#value" class="tsd-kind-icon">value</a></li>
|
||||
</ul>
|
||||
@@ -217,12 +218,12 @@
|
||||
<aside class="tsd-sources">
|
||||
</aside>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>Registers a new setting. Note that registering a setting item is dynamic and will be gone next time Joplin starts.
|
||||
What it means is that you need to register the setting every time the plugin starts (for example in the onStart event).
|
||||
The setting value however will be preserved from one launch to the next so there is no risk that it will be lost even if for some
|
||||
reason the plugin fails to start at some point.</p>
|
||||
</div>
|
||||
<dl class="tsd-comment-tags">
|
||||
<dt>deprecated</dt>
|
||||
<dd><p>Use joplin.settings.registerSettings()</p>
|
||||
<p>Registers a new setting.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
@@ -237,6 +238,39 @@
|
||||
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
|
||||
|
||||
|
||||
-->
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
|
||||
<a name="registersettings" class="tsd-anchor"></a>
|
||||
<h3>register<wbr>Settings</h3>
|
||||
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
|
||||
<li class="tsd-signature tsd-kind-icon">register<wbr>Settings<span class="tsd-signature-symbol">(</span>settings<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><a href="../interfaces/settingitem.html" class="tsd-signature-type">SettingItem</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
<aside class="tsd-sources">
|
||||
</aside>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>Registers new settings.
|
||||
Note that registering a setting item is dynamic and will be gone next time Joplin starts.
|
||||
What it means is that you need to register the setting every time the plugin starts (for example in the onStart event).
|
||||
The setting value however will be preserved from one launch to the next so there is no risk that it will be lost even if for some
|
||||
reason the plugin fails to start at some point.</p>
|
||||
</div>
|
||||
</div>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>settings: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><a href="../interfaces/settingitem.html" class="tsd-signature-type">SettingItem</a><span class="tsd-signature-symbol">></span></h5>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- JOPLINCHANGE
|
||||
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
|
||||
|
||||
|
||||
-->
|
||||
</li>
|
||||
</ul>
|
||||
@@ -336,6 +370,9 @@
|
||||
<li class=" tsd-kind-method tsd-parent-kind-class">
|
||||
<a href="joplinsettings.html#registersetting" class="tsd-kind-icon">register<wbr>Setting</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-method tsd-parent-kind-class">
|
||||
<a href="joplinsettings.html#registersettings" class="tsd-kind-icon">register<wbr>Settings</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-method tsd-parent-kind-class">
|
||||
<a href="joplinsettings.html#setvalue" class="tsd-kind-icon">set<wbr>Value</a>
|
||||
</li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/plugin_loadin
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/plugin_manife
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
481
docs/api/references/plugin_theming/index.html
Normal file
481
docs/api/references/plugin_theming/index.html
Normal file
@@ -0,0 +1,481 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
|
||||
<!--
|
||||
|
||||
!!! WARNING !!!
|
||||
|
||||
This file was auto-generated from readme/api/references/plugin_theming.md and any manual change
|
||||
made to it will be overwritten. To make a change to this file please modify
|
||||
the source Markdown file:
|
||||
|
||||
https://github.com/laurent22/joplin/blob/dev/readme/api/references/plugin_theming.md
|
||||
|
||||
-->
|
||||
|
||||
<head>
|
||||
<title>Plugin theming | Joplin</title>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="https://joplinapp.org/css/bootstrap.min.css">
|
||||
<link rel="shortcut icon" type="image/x-icon" href="https://joplinapp.org/favicon.ico">
|
||||
<!-- <link rel="stylesheet" href="https://joplinapp.org/css/fontawesome-all.min.css"> -->
|
||||
<link rel="stylesheet" href="https://joplinapp.org/css/fork-awesome.min.css">
|
||||
<script src="https://joplinapp.org/js/jquery-3.2.1.slim.min.js"></script>
|
||||
<style>
|
||||
body {
|
||||
background-color: #F1F1F1;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.root {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
a[href^="mailto:"] {
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
table {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
td, th {
|
||||
padding: .8em;
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.page-markdown table pre,
|
||||
.page-markdown table blockquote {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.page-markdown table pre,
|
||||
.page-markdown table blockquote {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.page-markdown table pre {
|
||||
background-color: rgba(0,0,0,0);
|
||||
border: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
h1, h2 {
|
||||
border-bottom: 1px solid #eaecef;
|
||||
padding-bottom: 0.3em;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||||
font-weight: 600;
|
||||
font-size: 2em;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
h2 {
|
||||
font-size: 1.6em;
|
||||
}
|
||||
h3 {
|
||||
font-size: 1.3em;
|
||||
}
|
||||
code {
|
||||
color: black;
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
}
|
||||
pre {
|
||||
font-size: .85em;
|
||||
}
|
||||
blockquote {
|
||||
font-size: 1em;
|
||||
color: #555;
|
||||
};
|
||||
#toc ul {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
#toc > ul > li {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
#toc {
|
||||
padding-bottom: 1em;
|
||||
}
|
||||
.title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.title-icon {
|
||||
display: flex;
|
||||
height: 1em;
|
||||
}
|
||||
.title-text {
|
||||
display: flex;
|
||||
font-weight: normal;
|
||||
margin-bottom: .2em;
|
||||
margin-left: .5em;
|
||||
}
|
||||
.sub-title {
|
||||
font-weight: normal;
|
||||
}
|
||||
.container {
|
||||
background-color: white;
|
||||
padding: 0;
|
||||
box-shadow: 0 10px 20px #888888;
|
||||
}
|
||||
table.screenshots {
|
||||
margin-top: 2em;
|
||||
margin-bottom: 2em;
|
||||
}
|
||||
table.screenshots th {
|
||||
height: 3em;
|
||||
text-align: center;
|
||||
}
|
||||
table.screenshots th,
|
||||
table.screenshots td {
|
||||
border: 1px solid #C2C2C2;
|
||||
}
|
||||
img[align="left"] {
|
||||
margin-right: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.mobile-screenshot {
|
||||
height: 40em;
|
||||
padding: 1em;
|
||||
}
|
||||
.cli-screenshot-wrapper {
|
||||
background-color: black;
|
||||
vertical-align: top;
|
||||
padding: 1em 2em 1em 1em;
|
||||
}
|
||||
.cli-screenshot {
|
||||
font-family: "Monaco", "Inconsolata", "CONSOLAS", "Deja Vu Sans Mono", "Droid Sans Mono", "Andale Mono", monospace;
|
||||
background-color: black;
|
||||
color: white;
|
||||
border: none;
|
||||
}
|
||||
.cli-screenshot .prompt {
|
||||
color: #48C2F0;
|
||||
}
|
||||
.top-screenshot {
|
||||
margin-top: 2em;
|
||||
text-align: center;
|
||||
}
|
||||
.header {
|
||||
position: relative;
|
||||
padding-left: 2em;
|
||||
padding-right: 2em;
|
||||
padding-top: 1em;
|
||||
padding-bottom: 1em;
|
||||
color: white;
|
||||
background-color: #2B2B3D;
|
||||
}
|
||||
.header a h1 {
|
||||
color: white;
|
||||
}
|
||||
.header a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
.content {
|
||||
padding-left: 2em;
|
||||
padding-right: 2em;
|
||||
padding-bottom: 2em;
|
||||
padding-top: 2em;
|
||||
}
|
||||
.forkme {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top:0;
|
||||
}
|
||||
.nav-wrapper {
|
||||
position: relative;
|
||||
width: inherit;
|
||||
}
|
||||
.nav {
|
||||
background-color: black;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.nav.sticky {
|
||||
position:fixed;
|
||||
top: 0;
|
||||
width: inherit;
|
||||
box-shadow: 0 0 10px #000000;
|
||||
}
|
||||
.nav a {
|
||||
color: white;
|
||||
display: inline-block;
|
||||
padding: .6em .9em .6em .9em;
|
||||
}
|
||||
.nav ul {
|
||||
padding-left: 2em;
|
||||
margin-bottom: 0;
|
||||
display: table-cell;
|
||||
display: flex;
|
||||
width: 100%;
|
||||
/* For GSoC: */
|
||||
min-width: 470px;
|
||||
}
|
||||
.nav ul li {
|
||||
display: inline-block;
|
||||
padding: 0;
|
||||
}
|
||||
.nav li.selected {
|
||||
background-color: #222;
|
||||
font-weight: bold;
|
||||
}
|
||||
.nav-right {
|
||||
display: flex;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
line-height: 0;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.nav-right .share-btn {
|
||||
display: none;
|
||||
}
|
||||
.nav-right .small-share-btn {
|
||||
display: none;
|
||||
}
|
||||
.footer {
|
||||
padding: 2em;
|
||||
border-top: 1px solid #d4d4d4;
|
||||
margin-top: 2em;
|
||||
color: gray;
|
||||
font-size: .9em;
|
||||
}
|
||||
a.heading-anchor {
|
||||
display: inline-block;
|
||||
opacity: 0;
|
||||
width: 1.3em;
|
||||
font-size: 0.7em;
|
||||
margin-left: 0.4em;
|
||||
line-height: 1em;
|
||||
text-decoration: none;
|
||||
transition: opacity 0.3s;
|
||||
}
|
||||
a.heading-anchor:hover,
|
||||
h1:hover a.heading-anchor,
|
||||
h2:hover a.heading-anchor,
|
||||
h3:hover a.heading-anchor,
|
||||
h4:hover a.heading-anchor,
|
||||
h5:hover a.heading-anchor,
|
||||
h6:hover a.heading-anchor {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.content{
|
||||
display: flex;
|
||||
}
|
||||
|
||||
#toc{
|
||||
display: block!important;
|
||||
align-self: flex-start;
|
||||
width: 300px;
|
||||
position: sticky; top: 20px; left: 0;
|
||||
}
|
||||
|
||||
.main{
|
||||
width: calc(100% - 300px);
|
||||
}
|
||||
}
|
||||
|
||||
.bottom-links {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
border-top: 1px solid #d4d4d4;
|
||||
margin-top: 30px;
|
||||
padding-top: 25px;
|
||||
}
|
||||
|
||||
@media all and (min-width: 400px) {
|
||||
.nav-right .share-btn {
|
||||
display: inline-block;
|
||||
}
|
||||
.nav-right .small-share-btn {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="container root page-plugin_theming">
|
||||
|
||||
<div class="header">
|
||||
<a class="forkme" href="https://github.com/laurent22/joplin"><img src="https://joplinapp.org/images/ForkMe.png"/></a>
|
||||
<a href="https://joplinapp.org"><h1 class="title"><img class="title-icon" src="https://joplinapp.org/images/Icon512.png"><span class="title-text">Joplin</span></h1></a>
|
||||
<p class="sub-title">An open source note taking and to-do application with synchronisation capabilities</p>
|
||||
</div>
|
||||
|
||||
<div class="nav-wrapper">
|
||||
<div class="nav">
|
||||
<ul>
|
||||
<li class=""><a href="https://joplinapp.org/" title="Home"><i class="fa fa-home"></i></a></li>
|
||||
<li><a href="https://discourse.joplinapp.org" title="Forum">Forum</a></li>
|
||||
<li><a class="gsoc" href="https://joplinapp.org/gsoc2021/index/" title="Google Summer of Code 2021">GSoC 2021</a></li>
|
||||
</ul>
|
||||
<div class="nav-right">
|
||||
<iframe class="share-btn share-btn-github" src="https://ghbtns.com/github-btn.html?user=laurent22&repo=joplin&type=star&count=true" frameborder="0" scrolling="0" width="115px" height="20px"></iframe>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div id="toc"><ul>
|
||||
<li>
|
||||
<p>Applications</p>
|
||||
<ul>
|
||||
<li><a href="https://joplinapp.org/desktop/">Desktop application</a></li>
|
||||
<li><a href="https://joplinapp.org/mobile/">Mobile applications</a></li>
|
||||
<li><a href="https://joplinapp.org/terminal/">Terminal application</a></li>
|
||||
<li><a href="https://joplinapp.org/clipper/">Web Clipper</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>Support</p>
|
||||
<ul>
|
||||
<li><a href="https://discourse.joplinapp.org">Joplin Forum</a></li>
|
||||
<li><a href="https://joplinapp.org/markdown/">Markdown Guide</a></li>
|
||||
<li><a href="https://joplinapp.org/e2ee/">How to enable end-to-end encryption</a></li>
|
||||
<li><a href="https://joplinapp.org/conflict/">What is a conflict?</a></li>
|
||||
<li><a href="https://joplinapp.org/debugging/">How to enable debug mode</a></li>
|
||||
<li><a href="https://joplinapp.org/rich_text_editor/">About the Rich Text editor limitations</a></li>
|
||||
<li><a href="https://joplinapp.org/faq/">FAQ</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>Joplin API - Get Started</p>
|
||||
<ul>
|
||||
<li><a href="https://joplinapp.org/api/overview/">Joplin API Overview</a></li>
|
||||
<li><a href="https://joplinapp.org/api/get_started/plugins/">Plugin development</a></li>
|
||||
<li><a href="https://joplinapp.org/api/tutorials/toc_plugin/">Plugin tutorial</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>Joplin API - References</p>
|
||||
<ul>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_api/classes/joplin.html">Plugin API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>Development</p>
|
||||
<ul>
|
||||
<li><a href="https://github.com/laurent22/joplin/blob/dev/BUILD.md">How to build the apps</a></li>
|
||||
<li><a href="https://joplinapp.org/spec/e2ee/">End-to-end encryption spec</a></li>
|
||||
<li><a href="https://joplinapp.org/spec/history/">Note History spec</a></li>
|
||||
<li><a href="https://joplinapp.org/spec/sync_lock/">Sync Lock spec</a></li>
|
||||
<li><a href="https://joplinapp.org/spec/plugins/">Plugin Architecture spec</a></li>
|
||||
<li><a href="https://joplinapp.org/spec/search_sorting/">Search Sorting spec</a></li>
|
||||
<li><a href="https://joplinapp.org/spec/server_file_url_format/">Server: File URL Format</a></li>
|
||||
<li><a href="https://joplinapp.org/spec/server_delta_sync/">Server: Delta Sync</a></li>
|
||||
<li><a href="https://joplinapp.org/spec/server_sharing/">Server: Sharing</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>Google Summer of Code 2021</p>
|
||||
<ul>
|
||||
<li><a href="https://joplinapp.org/gsoc2021/index/">Google Summer of Code 2021</a></li>
|
||||
<li><a href="https://joplinapp.org/gsoc2021/pull_request_guidelines/">How to submit a GSoC pull request</a></li>
|
||||
<li><a href="https://joplinapp.org/gsoc2021/ideas/">Project Ideas</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>About</p>
|
||||
<ul>
|
||||
<li><a href="https://joplinapp.org/changelog/">Changelog (Desktop App)</a></li>
|
||||
<li><a href="https://joplinapp.org/changelog_cli/">Changelog (CLI App)</a></li>
|
||||
<li><a href="https://joplinapp.org/changelog_server/">Changelog (Server)</a></li>
|
||||
<li><a href="https://joplinapp.org/stats/">Stats</a></li>
|
||||
<li><a href="https://joplinapp.org/donate/">Donate</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="main">
|
||||
<p><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=E8JMYD2LQ8MMA&lc=GB&item_name=Joplin+Development&currency_code=EUR&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted"><img src="https://joplinapp.org/images/badges/Donate-PayPal-green.svg" alt="Donate using PayPal"></a> <a href="https://github.com/sponsors/laurent22/"><img src="https://joplinapp.org/images/badges/GitHub-Badge.svg" alt="Sponsor on GitHub"></a> <a href="https://www.patreon.com/joplin"><img src="https://joplinapp.org/images/badges/Patreon-Badge.svg" alt="Become a patron"></a> <a href="https://joplinapp.org/donate/#donations"><img src="https://joplinapp.org/images/badges/Donate-IBAN.svg" alt="Donate using IBAN"></a></p>
|
||||
<hr>
|
||||
<h1>Plugin theming<a name="plugin-theming" href="#plugin-theming" class="heading-anchor">🔗</a></h1>
|
||||
<h2>CSS<a name="css" href="#css" class="heading-anchor">🔗</a></h2>
|
||||
<p>Plugins add custom content to the UI using<br>
|
||||
<a href="https://joplinapp.org/api/references/plugin_api/classes/joplinviewspanels.html">webview panels</a>.<br>
|
||||
The HTML content of a a panel is styled with CSS.</p>
|
||||
<p>To keep the look and feel of a plugin consistent with the rest of the Joplin UI,<br>
|
||||
you are automatically provided with variables derived from the current theme.</p>
|
||||
<p>Variables follow the naming convention <code>--joplin-{property}</code> and are used<br>
|
||||
in your plugin's stylesheet as shown here.</p>
|
||||
<pre><code class="language-css">/* webview.css */
|
||||
.container {
|
||||
color: var(--joplin-color);
|
||||
font-family: var(--joplin-font-family);
|
||||
}
|
||||
</code></pre>
|
||||
<h2>Icons<a name="icons" href="#icons" class="heading-anchor">🔗</a></h2>
|
||||
<p>In addition to variables, you have access to a set of standard font assets that ship with Joplin.<br>
|
||||
These include:</p>
|
||||
<ul>
|
||||
<li><a href="https://fonts.google.com/specimen/Roboto?preview.text_type=custom">Roboto</a> - (the standard UI font, <code>font-family</code> referenced above)</li>
|
||||
<li><a href="https://fontawesome.com/icons?d=gallery&p=2&m=free">Font Awesome</a> - icon library</li>
|
||||
<li><a href="https://icomoon.io/#preview-free">icoMoon</a> - icon library (subset, see <a href="https://github.com/laurent22/joplin/blob/dev/packages/app-desktop/style/icons/style.css">style.css</a>)</li>
|
||||
</ul>
|
||||
<p>To display an icon, use CSS and HTML like the following.</p>
|
||||
<pre><code class="language-css">/* style icons to match the theme */
|
||||
.toolbarIcon {
|
||||
font-size: var(--joplin-toolbar-icon-size);
|
||||
}
|
||||
.primary {
|
||||
color: var(--joplin-color);
|
||||
}
|
||||
.secondary {
|
||||
color: var(--joplin-color-2);
|
||||
}
|
||||
</code></pre>
|
||||
<pre><code class="language-html"><i class="toolbarIcon primary fas fa-music"></i> Font Awesome music icon
|
||||
<br />
|
||||
<i class="toolbarIcon secondary icon-notebooks"></i> icoMoon notebook icon
|
||||
</code></pre>
|
||||
|
||||
<div class="bottom-links">
|
||||
<a href="https://github.com/laurent22/joplin/blob/dev/readme/api/references/plugin_theming.md">
|
||||
<i class="fa fa-github"></i> Improve this doc
|
||||
</a>
|
||||
</div>
|
||||
<script>
|
||||
function stickyHeader() {
|
||||
return; // Disabled
|
||||
|
||||
if ($(window).scrollTop() > 179) {
|
||||
$('.nav').addClass('sticky');
|
||||
} else {
|
||||
$('.nav').removeClass('sticky');
|
||||
}
|
||||
}
|
||||
|
||||
$(window).scroll(function() {
|
||||
stickyHeader();
|
||||
});
|
||||
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
||||
ga('create', 'UA-103586105-1', 'auto');
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/rest_api.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -840,6 +841,16 @@ async function fetchAllNotes() {
|
||||
<td>int</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>is_linked_folder</td>
|
||||
<td>int</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>source_folder_owner_id</td>
|
||||
<td>text</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h2>GET /folders<a name="get-folders" href="#get-folders" class="heading-anchor">🔗</a></h2>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/tutorials/toc_plugin.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -458,7 +459,7 @@ joplin.plugins.register({
|
||||
|
||||
// This event will be triggered when the content of the note changes
|
||||
// as you also want to update the TOC in this case.
|
||||
await joplin.workspace.onNoteContentChange(() => {
|
||||
await joplin.workspace.onNoteChange(() => {
|
||||
updateTocView();
|
||||
});
|
||||
|
||||
@@ -541,7 +542,7 @@ function escapeHtml(unsafe:string) {
|
||||
|
||||
onStart: async function() {
|
||||
// Create the panel object
|
||||
const panel = await joplin.views.panels.create();
|
||||
const panel = await joplin.views.panels.create('panel_1');
|
||||
|
||||
// Set some initial content while the TOC is being created
|
||||
await joplin.views.panels.setHtml(panel, 'Loading...');
|
||||
@@ -593,7 +594,7 @@ function escapeHtml(unsafe:string) {
|
||||
<p>Now run the plugin again and you should see the TOC dynamically updating as you change notes.</p>
|
||||
<h2>Styling the view<a name="styling-the-view" href="#styling-the-view" class="heading-anchor">🔗</a></h2>
|
||||
<p>In order to better integrate the TOC to Joplin, you might want to style it using CSS. To do so, first add a <code>webview.css</code> file next to <code>index.ts</code>, then you will need to let Joplin know about this file. This is done using the <code>addScript()</code> function (which is also used to add JavaScript files as we'll see later), like so:</p>
|
||||
<pre><code class="language-typescript">const panel = await joplin.views.panels.create();
|
||||
<pre><code class="language-typescript">const panel = await joplin.views.panels.create('panel_1');
|
||||
// Add the CSS file to the view, right after it has been created:
|
||||
await joplin.views.panels.addScript(panel, './webview.css');
|
||||
</code></pre>
|
||||
@@ -617,8 +618,7 @@ await joplin.views.panels.addScript(panel, './webview.css');
|
||||
<h2>Making the webview interactive<a name="making-the-webview-interactive" href="#making-the-webview-interactive" class="heading-anchor">🔗</a></h2>
|
||||
<p>The next step is to make the TOC interactive so that when the user clicks on a link, the note is scrolled to right header. This can be done using an external JavaScript file that will handle the click events. As for the CSS file, create a <code>webview.js</code> file next to <code>index.ts</code>, then add the script to the webview:</p>
|
||||
<pre><code class="language-typescript">// In index.ts
|
||||
|
||||
const panel = joplin.views.createWebviewPanel();
|
||||
const panel = await joplin.views.panels.create('panel_1');
|
||||
await joplin.views.panels.addScript(panel, './webview.css');
|
||||
await joplin.views.panels.addScript(panel, './webview.js'); // Add the JS file
|
||||
</code></pre>
|
||||
@@ -657,7 +657,7 @@ document.addEventListener('click', event => {
|
||||
<p>Then from the plugin, in <code>src/index.ts</code>, you can listen to this message using the <code>onMessage()</code> handler. Then from this handler, you can call the <code>scrollToHash</code> command and pass it the slug (or hash).</p>
|
||||
<pre><code class="language-typescript">joplin.plugins.register({
|
||||
onStart: async function() {
|
||||
const panel = await joplin.views.panels.create();
|
||||
const panel = await joplin.views.panels.create('panel_1');
|
||||
|
||||
// ...
|
||||
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20180621-182112.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20180906-111039.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20180916-210431.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20180929-121053.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20181004-091123.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20181101-174335.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20181213-173459.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190130-230218.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190404-074157.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190424-112410.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190523-231026.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190611-000711.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190613-202613.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190814-225957.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190925-000254.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190929-152834.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20191012-233121.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20191014-165136.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20191101-131852.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20191117-183855.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20191118-072700.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20200220-190804.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20200301-125055.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20200314-001555.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20200406-224254.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/build_troubleshooting.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog_cli.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog_server.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/clipper.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/conflict.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/debugging.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/desktop.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/donate.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -436,7 +437,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/donate.md
|
||||
<p>Finally, there are other ways to support the development of Joplin:</p>
|
||||
<ul>
|
||||
<li>Consider rating the app on <a href="https://play.google.com/store/apps/details?id=net.cozic.joplin&utm_source=GitHub&utm_campaign=README&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1">Google Play</a> or <a href="https://itunes.apple.com/us/app/joplin/id1315599797">App Store</a>.</li>
|
||||
<li>Vote for or review the app on <a href="https://alternativeto.net/software/joplin/">alternativeTo</a> or <a href="https://www.producthunt.com/posts/joplin">Product Hunt</a>.</li>
|
||||
<li>Vote for or review the app on <a href="https://alternativeto.net/software/joplin/about/">alternativeTo</a> or <a href="https://www.producthunt.com/posts/joplin">Product Hunt</a>.</li>
|
||||
<li><a href="https://joplinapp.org/#localisation">Create or update a translation</a>.</li>
|
||||
</ul>
|
||||
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/e2ee.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/faq.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsoc2020/ideas.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsoc2020/index.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsoc2021/ideas.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsoc2021/index.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsoc2021/pull_request_guidel
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsod2020/ideas.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsod2020/index.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/README.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -839,9 +840,9 @@ Details:
|
||||
<td><code>notebook:books</code> limits the search scope within <code>books</code> and all its subnotebooks.<br><code>notebook:wheel*time</code> does a wildcard search.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>created:</strong> <br> <strong>updated:</strong></td>
|
||||
<td><strong>created:</strong> <br> <strong>updated:</strong> <br> <strong>due:</strong></td>
|
||||
<td>Searches for notes created/updated on dates specified using YYYYMMDD format. You can also search relative to the current day, week, month, or year.</td>
|
||||
<td><code>created:20201218</code> will return notes created on or after December 18, 2020.<br><code>-updated:20201218</code> will return notes updated before December 18, 2020.<br><code>created:20200118 -created:20201215</code> will return notes created between January 18, 2020, and before December 15, 2020.<br><code>created:202001 -created:202003</code> will return notes created on or after January and before March 2020.<br><code>updated:1997 -updated:2020</code> will return all notes updated between the years 1997 and 2019.<br><code>created:day-2</code> searches for all notes created in the past two days.<br><code>updated:year-0</code> searches all notes updated in the current year.</td>
|
||||
<td><code>created:20201218</code> will return notes created on or after December 18, 2020.<br><code>-updated:20201218</code> will return notes updated before December 18, 2020.<br><code>created:20200118 -created:20201215</code> will return notes created between January 18, 2020, and before December 15, 2020.<br><code>created:202001 -created:202003</code> will return notes created on or after January and before March 2020.<br><code>updated:1997 -updated:2020</code> will return all notes updated between the years 1997 and 2019.<br><code>created:day-2</code> searches for all notes created in the past two days.<br><code>updated:year-0</code> searches all notes updated in the current year.<br><code>-due:day+7</code> will return all todos which are due or will be due in the next seven days.<br><code>-due:day-5</code> searches all todos that are overdue for more than 5 days.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>type:</strong></td>
|
||||
@@ -868,6 +869,11 @@ Details:
|
||||
<td>Filter by source URL</td>
|
||||
<td><code>sourceurl:https://www.google.com</code><br><code>sourceurl:*joplinapp.org</code> to perform a wildcard search.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>id:</strong></td>
|
||||
<td>Filter by note ID</td>
|
||||
<td><code>id:9cbc1b4f242043a9b8a50627508bccd5</code> return a note with the specified id</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>Note: In the CLI client you have to escape the query using <code>--</code> when using negated filters.<br>
|
||||
@@ -881,7 +887,7 @@ Eg. <code>:search -- "-tag:tag1"</code>.</p>
|
||||
<h2>Search order<a name="search-order" href="#search-order" class="heading-anchor">🔗</a></h2>
|
||||
<p>Notes are sorted by "relevance". Currently it means the notes that contain the requested terms the most times are on top. For queries with multiple terms, it also matters how close to each other the terms are. This is a bit experimental so if you notice a search query that returns unexpected results, please report it in the forum, providing as many details as possible to replicate the issue.</p>
|
||||
<h1>Goto Anything<a name="goto-anything" href="#goto-anything" class="heading-anchor">🔗</a></h1>
|
||||
<p>In the desktop application, press <kbd>Ctrl+G</kbd> or <kbd>Cmd+G</kbd> and type a note title or part of its content to jump to it. Or type <kbd>#</kbd> followed by a tag name, or <kbd>@</kbd> followed by a notebook name.</p>
|
||||
<p>In the desktop application, press <kbd>Ctrl+P</kbd> or <kbd>Cmd+P</kbd> and type a note title or part of its content to jump to it. Or type <kbd>#</kbd> followed by a tag name, or <kbd>@</kbd> followed by a notebook name.</p>
|
||||
<h1>Privacy<a name="privacy" href="#privacy" class="heading-anchor">🔗</a></h1>
|
||||
<p>Joplin values your privacy and security by giving you complete control over your information and digital footprint.</p>
|
||||
<p>Joplin applications do not send any data to any service without your authorisation. Any data that Joplin saves, such as notes or images, are saved to your own device and you are free to delete this data at any time.</p>
|
||||
@@ -982,7 +988,7 @@ Eg. <code>:search -- "-tag:tag1"</code>.</p>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/arableague.png" alt=""></td>
|
||||
<td>Arabic</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ar.po">ar</a></td>
|
||||
<td><a href="mailto:Whaell@protonmail.com">Whaell</a></td>
|
||||
<td><a href="mailto:Whaell@protonmail.com">Whaell O</a></td>
|
||||
<td>99%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -997,56 +1003,56 @@ Eg. <code>:search -- "-tag:tag1"</code>.</p>
|
||||
<td>Bosnian (Bosna i Hercegovina)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/bs_BA.po">bs_BA</a></td>
|
||||
<td><a href="mailto:dervis.t@pm.me">Derviš T.</a></td>
|
||||
<td>76%</td>
|
||||
<td>74%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/bg.png" alt=""></td>
|
||||
<td>Bulgarian (България)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/bg_BG.po">bg_BG</a></td>
|
||||
<td></td>
|
||||
<td>61%</td>
|
||||
<td>60%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/es/catalonia.png" alt=""></td>
|
||||
<td>Catalan</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ca.po">ca</a></td>
|
||||
<td>jmontane, 2019</td>
|
||||
<td>87%</td>
|
||||
<td>85%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/hr.png" alt=""></td>
|
||||
<td>Croatian (Hrvatska)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/hr_HR.po">hr_HR</a></td>
|
||||
<td><a href="mailto:mail@milotype.de">Milo Ivir</a></td>
|
||||
<td>100%</td>
|
||||
<td>99%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/cz.png" alt=""></td>
|
||||
<td>Czech (Česká republika)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/cs_CZ.po">cs_CZ</a></td>
|
||||
<td><a href="mailto:lukas@aiya.cz">Lukas Helebrandt</a></td>
|
||||
<td>90%</td>
|
||||
<td>89%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/dk.png" alt=""></td>
|
||||
<td>Dansk (Danmark)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/da_DK.po">da_DK</a></td>
|
||||
<td>Mustafa Al-Dailemi (<a href="mailto:dailemi@hotmail.com">dailemi@hotmail.com</a>)Language-Team:</td>
|
||||
<td>75%</td>
|
||||
<td>96%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/de.png" alt=""></td>
|
||||
<td>Deutsch (Deutschland)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/de_DE.po">de_DE</a></td>
|
||||
<td><a href="mailto:atalanttore@users.noreply.github.com">Ettore Atalan</a></td>
|
||||
<td>93%</td>
|
||||
<td><a href="mailto:atalanttore@googlemail.com">Atalanttore</a></td>
|
||||
<td>98%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/ee.png" alt=""></td>
|
||||
<td>Eesti Keel (Eesti)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/et_EE.po">et_EE</a></td>
|
||||
<td></td>
|
||||
<td>60%</td>
|
||||
<td>58%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/gb.png" alt=""></td>
|
||||
@@ -1067,7 +1073,7 @@ Eg. <code>:search -- "-tag:tag1"</code>.</p>
|
||||
<td>Español (España)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/es_ES.po">es_ES</a></td>
|
||||
<td><a href="mailto:mario.campo@gmail.com">Mario Campo</a></td>
|
||||
<td>99%</td>
|
||||
<td>97%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/esperanto.png" alt=""></td>
|
||||
@@ -1080,190 +1086,190 @@ Eg. <code>:search -- "-tag:tag1"</code>.</p>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/fi.png" alt=""></td>
|
||||
<td>Finnish (Suomi)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fi_FI.po">fi_FI</a></td>
|
||||
<td></td>
|
||||
<td>91%</td>
|
||||
<td>mrkaato</td>
|
||||
<td>97%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/fr.png" alt=""></td>
|
||||
<td>Français (France)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fr_FR.po">fr_FR</a></td>
|
||||
<td>Laurent Cozic</td>
|
||||
<td>97%</td>
|
||||
<td>95%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/es/galicia.png" alt=""></td>
|
||||
<td>Galician (España)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/gl_ES.po">gl_ES</a></td>
|
||||
<td><a href="mailto:marcoslansgarza@gmail.com">Marcos Lans</a></td>
|
||||
<td>40%</td>
|
||||
<td>39%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/id.png" alt=""></td>
|
||||
<td>Indonesian (Indonesia)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/id_ID.po">id_ID</a></td>
|
||||
<td><a href="mailto:16875937+fathyar@users.noreply.github.com">Fathy AR</a></td>
|
||||
<td>95%</td>
|
||||
<td><a href="mailto:42007357+eresytter@users.noreply.github.com">eresytter</a></td>
|
||||
<td>96%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/it.png" alt=""></td>
|
||||
<td>Italiano (Italia)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/it_IT.po">it_IT</a></td>
|
||||
<td><a href="mailto:mailfilledwithspam@gmail.com">Alessandro Bernardello</a></td>
|
||||
<td>94%</td>
|
||||
<td>97%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/hu.png" alt=""></td>
|
||||
<td>Magyar (Magyarország)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/hu_HU.po">hu_HU</a></td>
|
||||
<td><a href="mailto:mail@szokesandor.hu">Szőke Sándor</a></td>
|
||||
<td>93%</td>
|
||||
<td>91%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/be.png" alt=""></td>
|
||||
<td>Nederlands (België, Belgique, Belgien)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nl_BE.po">nl_BE</a></td>
|
||||
<td></td>
|
||||
<td>97%</td>
|
||||
<td>95%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/nl.png" alt=""></td>
|
||||
<td>Nederlands (Nederland)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nl_NL.po">nl_NL</a></td>
|
||||
<td><a href="mailto:metbril@users.noreply.github.com">MetBril</a></td>
|
||||
<td>91%</td>
|
||||
<td>98%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/no.png" alt=""></td>
|
||||
<td>Norwegian (Norge, Noreg)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nb_NO.po">nb_NO</a></td>
|
||||
<td><a href="mailto:code@mxe.no">Mats Estensen</a></td>
|
||||
<td>80%</td>
|
||||
<td>78%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/ir.png" alt=""></td>
|
||||
<td>Persian</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fa.po">fa</a></td>
|
||||
<td><a href="mailto:kourox@protonmail.com">Kourosh Firoozbakht</a></td>
|
||||
<td>75%</td>
|
||||
<td>74%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/pl.png" alt=""></td>
|
||||
<td>Polski (Polska)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pl_PL.po">pl_PL</a></td>
|
||||
<td><a href="mailto:hello.konhi@gmail.com">konhi</a></td>
|
||||
<td>100%</td>
|
||||
<td>97%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/br.png" alt=""></td>
|
||||
<td>Português (Brasil)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pt_BR.po">pt_BR</a></td>
|
||||
<td><a href="mailto:nicolas.suzuki@pm.me">Nicolas Suzuki</a></td>
|
||||
<td>100%</td>
|
||||
<td>97%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/pt.png" alt=""></td>
|
||||
<td>Português (Portugal)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pt_PT.po">pt_PT</a></td>
|
||||
<td><a href="mailto:dcaveiro@yahoo.com">Diogo Caveiro</a></td>
|
||||
<td>100%</td>
|
||||
<td>97%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/ro.png" alt=""></td>
|
||||
<td>Română</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ro.po">ro</a></td>
|
||||
<td><a href="mailto:cristi.duluta@gmail.com">Cristi Duluta</a></td>
|
||||
<td>70%</td>
|
||||
<td>68%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/si.png" alt=""></td>
|
||||
<td>Slovenian (Slovenija)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sl_SI.po">sl_SI</a></td>
|
||||
<td></td>
|
||||
<td>39%</td>
|
||||
<td><a href="mailto:martin.korelic@protonmail.com">Martin Korelič</a></td>
|
||||
<td>99%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/se.png" alt=""></td>
|
||||
<td>Svenska</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sv.po">sv</a></td>
|
||||
<td><a href="mailto:jonatan@autistici.org">Jonatan Nyberg</a></td>
|
||||
<td>65%</td>
|
||||
<td>63%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/th.png" alt=""></td>
|
||||
<td>Thai (ประเทศไทย)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/th_TH.po">th_TH</a></td>
|
||||
<td></td>
|
||||
<td>48%</td>
|
||||
<td>47%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/vi.png" alt=""></td>
|
||||
<td>Tiếng Việt</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/vi.po">vi</a></td>
|
||||
<td></td>
|
||||
<td>77%</td>
|
||||
<td>75%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/tr.png" alt=""></td>
|
||||
<td>Türkçe (Türkiye)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/tr_TR.po">tr_TR</a></td>
|
||||
<td><a href="mailto:arda@kilicdagi.com">Arda Kılıçdağı</a></td>
|
||||
<td>99%</td>
|
||||
<td>97%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/ua.png" alt=""></td>
|
||||
<td>Ukrainian (Україна)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/uk_UA.po">uk_UA</a></td>
|
||||
<td><a href="mailto:vandreykiv@gmail.com">Vyacheslav Andreykiv</a></td>
|
||||
<td>100%</td>
|
||||
<td>97%</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/dev/packages/tools/locales/el_GR.po">el_GR</a></td>
|
||||
<td><a href="mailto:xaris@tuta.io">Harris Arvanitis</a></td>
|
||||
<td>87%</td>
|
||||
<td>85%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/ru.png" alt=""></td>
|
||||
<td>Русский (Россия)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ru_RU.po">ru_RU</a></td>
|
||||
<td><a href="mailto:thesermanarm@gmail.com">Sergey Segeda</a></td>
|
||||
<td>99%</td>
|
||||
<td>97%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/rs.png" alt=""></td>
|
||||
<td>српски језик (Србија)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sr_RS.po">sr_RS</a></td>
|
||||
<td></td>
|
||||
<td>75%</td>
|
||||
<td>73%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/cn.png" alt=""></td>
|
||||
<td>中文 (简体)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_CN.po">zh_CN</a></td>
|
||||
<td><a href="mailto:zyangmath@gmail.com">Yang Zhang</a></td>
|
||||
<td>99%</td>
|
||||
<td>97%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/tw.png" alt=""></td>
|
||||
<td>中文 (繁體)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_TW.po">zh_TW</a></td>
|
||||
<td><a href="mailto:yaozeye@yahoo.co.jp">Yaoze Ye</a></td>
|
||||
<td>92%</td>
|
||||
<td>95%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/jp.png" alt=""></td>
|
||||
<td>日本語 (日本)</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ja_JP.po">ja_JP</a></td>
|
||||
<td><a href="mailto:genneko217@gmail.com">genneko</a></td>
|
||||
<td>99%</td>
|
||||
<td>98%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/kr.png" alt=""></td>
|
||||
<td>한국어</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ko.po">ko</a></td>
|
||||
<td><a href="mailto:potatogim@potatogim.net">Ji-Hyeon Gim</a></td>
|
||||
<td>100%</td>
|
||||
<td>97%</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/markdown.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/mobile.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/nextcloud_app.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/note_history.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/plugins.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/prereleases.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/privacy.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/rich_text_editor.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -17,7 +17,7 @@
|
||||
"sync.target": {
|
||||
"type": "integer",
|
||||
"default": 7,
|
||||
"description": "Synchronisation target",
|
||||
"description": "Synchronisationsziel",
|
||||
"enum": [
|
||||
2,
|
||||
3,
|
||||
@@ -33,47 +33,52 @@
|
||||
"default": 0,
|
||||
"$comment": "private"
|
||||
},
|
||||
"sync.startupOperation": {
|
||||
"type": "integer",
|
||||
"default": 0,
|
||||
"$comment": "private"
|
||||
},
|
||||
"sync.2.path": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "Directory to synchronise with (absolute path). Attention: If you change this location, make sure you copy all your content to it before syncing, otherwise all files will be removed! See the FAQ for more details: https://joplinapp.org/faq/"
|
||||
"description": "Verzeichnis, mit dem synchronisiert werden soll (absoluter Pfad). Attention: If you change this location, make sure you copy all your content to it before syncing, otherwise all files will be removed! See the FAQ for more details: https://joplinapp.org/faq/"
|
||||
},
|
||||
"sync.5.path": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "Nextcloud WebDAV URL. Attention: If you change this location, make sure you copy all your content to it before syncing, otherwise all files will be removed! See the FAQ for more details: https://joplinapp.org/faq/"
|
||||
"description": "Nextcloud-WebDAV-URL. Attention: If you change this location, make sure you copy all your content to it before syncing, otherwise all files will be removed! See the FAQ for more details: https://joplinapp.org/faq/"
|
||||
},
|
||||
"sync.5.username": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "Nextcloud username"
|
||||
"description": "Nextcloud-Benutzername"
|
||||
},
|
||||
"sync.5.password": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "Nextcloud password",
|
||||
"description": "Nextcloud-Passwort",
|
||||
"$comment": "private"
|
||||
},
|
||||
"sync.6.path": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "WebDAV URL. Attention: If you change this location, make sure you copy all your content to it before syncing, otherwise all files will be removed! See the FAQ for more details: https://joplinapp.org/faq/"
|
||||
"description": "WebDAV-URL. Attention: If you change this location, make sure you copy all your content to it before syncing, otherwise all files will be removed! See the FAQ for more details: https://joplinapp.org/faq/"
|
||||
},
|
||||
"sync.6.username": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "WebDAV username"
|
||||
"description": "WebDAV-Benutzername"
|
||||
},
|
||||
"sync.6.password": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "WebDAV password",
|
||||
"description": "WebDAV-Passwort",
|
||||
"$comment": "private"
|
||||
},
|
||||
"sync.8.path": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "AWS S3 bucket. Attention: If you change this location, make sure you copy all your content to it before syncing, otherwise all files will be removed! See the FAQ for more details: https://joplinapp.org/faq/"
|
||||
"description": "Amazon S3-Bucket. Attention: If you change this location, make sure you copy all your content to it before syncing, otherwise all files will be removed! See the FAQ for more details: https://joplinapp.org/faq/"
|
||||
},
|
||||
"sync.8.url": {
|
||||
"type": "string",
|
||||
@@ -83,33 +88,33 @@
|
||||
"sync.8.username": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "AWS key"
|
||||
"description": "AWS-Schlüssel"
|
||||
},
|
||||
"sync.8.password": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "AWS secret",
|
||||
"description": "AWS-Geheimnis",
|
||||
"$comment": "private"
|
||||
},
|
||||
"sync.9.path": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "Joplin Server URL. Attention: If you change this location, make sure you copy all your content to it before syncing, otherwise all files will be removed! See the FAQ for more details: https://joplinapp.org/faq/"
|
||||
"description": "Joplin-Server-URL. Attention: If you change this location, make sure you copy all your content to it before syncing, otherwise all files will be removed! See the FAQ for more details: https://joplinapp.org/faq/"
|
||||
},
|
||||
"sync.9.directory": {
|
||||
"type": "string",
|
||||
"default": "Apps/Joplin",
|
||||
"description": "Joplin Server Directory"
|
||||
"description": "Joplin-Server-Verzeichnis"
|
||||
},
|
||||
"sync.9.username": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "Joplin Server username"
|
||||
"description": "Joplin-Server-Benutzername"
|
||||
},
|
||||
"sync.9.password": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "Joplin Server password",
|
||||
"description": "Joplin-Server-Passwort",
|
||||
"$comment": "private"
|
||||
},
|
||||
"sync.5.syncTargets": {
|
||||
@@ -120,7 +125,7 @@
|
||||
"sync.resourceDownloadMode": {
|
||||
"type": "string",
|
||||
"default": "always",
|
||||
"description": "Attachment download behaviour. In \"Manual\" mode, attachments are downloaded only when you click on them. In \"Auto\", they are downloaded when you open the note. In \"Always\", all the attachments are downloaded whether you open the note or not.",
|
||||
"description": "Verhalten für das Herunterladen von Anhängen. Im Modus „Manuell“ werden die Anhänge nur heruntergeladen, wenn du auf sie klickst. Bei „Automatisch“ werden sie heruntergeladen, sobald du die Notiz öffnest. Bei „Immer“ werden die Anhänge heruntergeladen, egal ob du die Notiz öffnest oder nicht.",
|
||||
"enum": [
|
||||
"always",
|
||||
"manual",
|
||||
@@ -195,7 +200,7 @@
|
||||
"sync.maxConcurrentConnections": {
|
||||
"type": "integer",
|
||||
"default": 5,
|
||||
"description": "Max concurrent connections",
|
||||
"description": "Maximale Anzahl an gleichzeitigen Verbindungen",
|
||||
"minimum": 1,
|
||||
"maximum": 20
|
||||
},
|
||||
@@ -217,7 +222,7 @@
|
||||
"locale": {
|
||||
"type": "string",
|
||||
"default": "en_GB",
|
||||
"description": "Language",
|
||||
"description": "Sprache",
|
||||
"enum": [
|
||||
"ar",
|
||||
"eu",
|
||||
@@ -265,7 +270,7 @@
|
||||
"dateFormat": {
|
||||
"type": "string",
|
||||
"default": "DD/MM/YYYY",
|
||||
"description": "Date format",
|
||||
"description": "Datumsformat",
|
||||
"enum": [
|
||||
"DD/MM/YYYY",
|
||||
"DD/MM/YY",
|
||||
@@ -279,7 +284,7 @@
|
||||
"timeFormat": {
|
||||
"type": "string",
|
||||
"default": "HH:mm",
|
||||
"description": "Time format",
|
||||
"description": "Zeitformat",
|
||||
"enum": [
|
||||
"HH:mm",
|
||||
"h:mm A"
|
||||
@@ -288,7 +293,7 @@
|
||||
"theme": {
|
||||
"type": "integer",
|
||||
"default": 1,
|
||||
"description": "Theme",
|
||||
"description": "Design",
|
||||
"enum": [
|
||||
1,
|
||||
2,
|
||||
@@ -303,12 +308,12 @@
|
||||
"themeAutoDetect": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Automatically switch theme to match system theme"
|
||||
"description": "Automatisch das Design ändern, um es dem System-Design anzupassen"
|
||||
},
|
||||
"preferredLightTheme": {
|
||||
"type": "integer",
|
||||
"default": 1,
|
||||
"description": "Preferred light theme",
|
||||
"description": "Bevorzugtes helles Design",
|
||||
"enum": [
|
||||
1,
|
||||
2,
|
||||
@@ -323,7 +328,7 @@
|
||||
"preferredDarkTheme": {
|
||||
"type": "integer",
|
||||
"default": 2,
|
||||
"description": "Preferred dark theme",
|
||||
"description": "Bevorzugtes dunkles Design",
|
||||
"enum": [
|
||||
1,
|
||||
2,
|
||||
@@ -343,7 +348,7 @@
|
||||
"showNoteCounts": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Show note counts",
|
||||
"description": "Notizanzahl anzeigen",
|
||||
"$comment": "private"
|
||||
},
|
||||
"layoutButtonSequence": {
|
||||
@@ -360,17 +365,17 @@
|
||||
"uncompletedTodosOnTop": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Uncompleted to-dos on top"
|
||||
"description": "Unvollständige Aufgaben oben"
|
||||
},
|
||||
"showCompletedTodos": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Show completed to-dos"
|
||||
"description": "Abgeschlossene Aufgaben anzeigen"
|
||||
},
|
||||
"notes.sortOrder.field": {
|
||||
"type": "string",
|
||||
"default": "user_updated_time",
|
||||
"description": "Sort notes by",
|
||||
"description": "Sortiere Notizen nach",
|
||||
"enum": [
|
||||
"user_updated_time",
|
||||
"user_created_time",
|
||||
@@ -381,17 +386,17 @@
|
||||
"editor.autoMatchingBraces": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Auto-pair braces, parenthesis, quotations, etc."
|
||||
"description": "Automatisches Hinzufügen von geschweiften Klammern, runden Klammern, Anführungszeichen usw."
|
||||
},
|
||||
"notes.sortOrder.reverse": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Reverse sort order"
|
||||
"description": "Sortierreihenfolge umkehren"
|
||||
},
|
||||
"folders.sortOrder.field": {
|
||||
"type": "string",
|
||||
"default": "title",
|
||||
"description": "Sort notebooks by",
|
||||
"description": "Notizbücher sortieren nach",
|
||||
"enum": [
|
||||
"title",
|
||||
"last_note_user_updated_time"
|
||||
@@ -400,12 +405,12 @@
|
||||
"folders.sortOrder.reverse": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Reverse sort order"
|
||||
"description": "Sortierreihenfolge umkehren"
|
||||
},
|
||||
"trackLocation": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Save geo-location with notes"
|
||||
"description": "Momentanen Standort zusammen mit Notizen speichern"
|
||||
},
|
||||
"editor.beta": {
|
||||
"type": "boolean",
|
||||
@@ -416,7 +421,7 @@
|
||||
"newTodoFocus": {
|
||||
"type": "string",
|
||||
"default": "title",
|
||||
"description": "When creating a new to-do:",
|
||||
"description": "Wenn eine neue Aufgabe erstellt wird:",
|
||||
"enum": [
|
||||
"title",
|
||||
"body"
|
||||
@@ -425,7 +430,7 @@
|
||||
"newNoteFocus": {
|
||||
"type": "string",
|
||||
"default": "body",
|
||||
"description": "When creating a new note:",
|
||||
"description": "Wenn eine neue Notiz erstellt wird:",
|
||||
"enum": [
|
||||
"title",
|
||||
"body"
|
||||
@@ -454,107 +459,107 @@
|
||||
"markdown.plugin.softbreaks": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Enable soft breaks"
|
||||
"description": "Weiche Zeilenumbrüche aktivieren"
|
||||
},
|
||||
"markdown.plugin.typographer": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Enable typographer support"
|
||||
"description": "Typographie-Unterstützung aktivieren"
|
||||
},
|
||||
"markdown.plugin.linkify": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Enable Linkify"
|
||||
"description": "Linkify aktivieren"
|
||||
},
|
||||
"markdown.plugin.katex": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Enable math expressions"
|
||||
"description": "Mathematische Ausdrücke aktivieren"
|
||||
},
|
||||
"markdown.plugin.fountain": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Enable Fountain syntax support"
|
||||
"description": "Fountain-Syntaxunterstützung aktivieren"
|
||||
},
|
||||
"markdown.plugin.mermaid": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Enable Mermaid diagrams support"
|
||||
"description": "Mermaid-Diagrammunterstützung aktivieren"
|
||||
},
|
||||
"markdown.plugin.audioPlayer": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Enable audio player"
|
||||
"description": "Audiospieler aktivieren"
|
||||
},
|
||||
"markdown.plugin.videoPlayer": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Enable video player"
|
||||
"description": "Videospieler aktivieren"
|
||||
},
|
||||
"markdown.plugin.pdfViewer": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Enable PDF viewer"
|
||||
"description": "PDF-Betrachter aktivieren"
|
||||
},
|
||||
"markdown.plugin.mark": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Enable ==mark== syntax"
|
||||
"description": "Syntax ==mark== aktivieren"
|
||||
},
|
||||
"markdown.plugin.footnote": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Enable footnotes"
|
||||
"description": "Fußnoten aktivieren"
|
||||
},
|
||||
"markdown.plugin.toc": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Enable table of contents extension"
|
||||
"description": "Inhaltsverzeichnis-Erweiterung aktivieren"
|
||||
},
|
||||
"markdown.plugin.sub": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Enable ~sub~ syntax"
|
||||
"description": "Syntax ~sub~ aktivieren"
|
||||
},
|
||||
"markdown.plugin.sup": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Enable ^sup^ syntax"
|
||||
"description": "Syntax ^sup^ aktivieren"
|
||||
},
|
||||
"markdown.plugin.deflist": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Enable deflist syntax"
|
||||
"description": "Syntax deflist aktivieren"
|
||||
},
|
||||
"markdown.plugin.abbr": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Enable abbreviation syntax"
|
||||
"description": "Abkürzungssyntax aktivieren"
|
||||
},
|
||||
"markdown.plugin.emoji": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Enable markdown emoji"
|
||||
"description": "Markdown Emoji aktivieren"
|
||||
},
|
||||
"markdown.plugin.insert": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Enable ++insert++ syntax"
|
||||
"description": "Syntax ++insert++ aktivieren"
|
||||
},
|
||||
"markdown.plugin.multitable": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Enable multimarkdown table extension"
|
||||
"description": "Multimarkdown Tabellenerweiterung aktivieren"
|
||||
},
|
||||
"showTrayIcon": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Show tray icon. This will allow Joplin to run in the background. It is recommended to enable this setting so that your notes are constantly being synchronised, thus reducing the number of conflicts."
|
||||
"description": "Taskleistensymbol anzeigen. Dadurch kann Joplin im Hintergrund laufen. Es wird empfohlen, diese Einstellung zu aktivieren, damit deine Notizen ständig synchronisiert werden und somit die Anzahl der Konflikte reduziert wird."
|
||||
},
|
||||
"startMinimized": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Start application minimised in the tray icon"
|
||||
"description": "Anwendung minimiert als Taskleistensymbol starten"
|
||||
},
|
||||
"collapsedFolderIds": {
|
||||
"type": "array",
|
||||
@@ -606,14 +611,19 @@
|
||||
"style.editor.fontSize": {
|
||||
"type": "integer",
|
||||
"default": 13,
|
||||
"description": "Editor font size",
|
||||
"description": "Schriftgröße im Editor",
|
||||
"minimum": 4,
|
||||
"maximum": 50
|
||||
},
|
||||
"style.editor.fontFamily": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "Editor font family. This should be a *monospace* font or some elements will render incorrectly. If the font is incorrect or empty, it will default to a generic monospace font."
|
||||
"description": "Schriftfamilie im Editor. Used for most text in the markdown editor. If not found, a generic proportional (variable width) font is used."
|
||||
},
|
||||
"style.editor.monospaceFontFamily": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "Nichtproportionale Schriftfamilie im Editor. Used where a fixed width font is needed to lay out text legibly (e.g. tables, checkboxes, code). If not found, a generic monospace (fixed width) font is used."
|
||||
},
|
||||
"ui.layout": {
|
||||
"type": "object",
|
||||
@@ -623,12 +633,12 @@
|
||||
"autoUpdateEnabled": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Automatically update the application"
|
||||
"description": "Die Anwendung automatisch aktualisieren"
|
||||
},
|
||||
"autoUpdate.includePreReleases": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Get pre-releases when checking for updates. See the pre-release page for more details: https://joplinapp.org/prereleases"
|
||||
"description": "Bei der Suche nach Aktualisierungen Vorabveröffentlichungen erhalten. Weitere Informationen findest Du auf der Vorabversionsseite: https://joplinapp.org/prereleases"
|
||||
},
|
||||
"clipperServer.autoStart": {
|
||||
"type": "boolean",
|
||||
@@ -638,7 +648,7 @@
|
||||
"sync.interval": {
|
||||
"type": "integer",
|
||||
"default": 300,
|
||||
"description": "Synchronisation interval",
|
||||
"description": "Synchronisationsintervall",
|
||||
"enum": [
|
||||
0,
|
||||
300,
|
||||
@@ -649,6 +659,11 @@
|
||||
86400
|
||||
]
|
||||
},
|
||||
"sync.mobileWifiOnly": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Nur über WiFi-Verbindung synchronisieren"
|
||||
},
|
||||
"noteVisiblePanes": {
|
||||
"type": "array",
|
||||
"default": [
|
||||
@@ -670,12 +685,12 @@
|
||||
"editor": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "Text editor command. The editor command (may include arguments) that will be used to open a note. If none is provided it will try to auto-detect the default editor."
|
||||
"description": "Texteditor-Befehl. Der Editor-Befehl (kann Kommandozeilenargumente enthalten), der zum Öffnen einer Notiz verwendet wird. Wenn keiner angegeben wird, wird versucht, den Standard-Editor automatisch zu erkennen."
|
||||
},
|
||||
"export.pdfPageSize": {
|
||||
"type": "string",
|
||||
"default": "A4",
|
||||
"description": "Page size for PDF export",
|
||||
"description": "Seitengröße für den PDF-Export",
|
||||
"enum": [
|
||||
"A4",
|
||||
"Letter",
|
||||
@@ -688,7 +703,7 @@
|
||||
"export.pdfPageOrientation": {
|
||||
"type": "string",
|
||||
"default": "portrait",
|
||||
"description": "Page orientation for PDF export",
|
||||
"description": "Seitenausrichtung für den PDF-Export",
|
||||
"enum": [
|
||||
"portrait",
|
||||
"landscape"
|
||||
@@ -697,7 +712,7 @@
|
||||
"editor.keyboardMode": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "Keyboard Mode",
|
||||
"description": "Tastatur-Modus",
|
||||
"enum": [
|
||||
"",
|
||||
"emacs",
|
||||
@@ -713,17 +728,17 @@
|
||||
"net.customCertificates": {
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"description": "Custom TLS certificates. Comma-separated list of paths to directories to load the certificates from, or path to individual cert files. For example: /my/cert_dir, /other/custom.pem. Note that if you make changes to the TLS settings, you must save your changes before clicking on \"Check synchronisation configuration\"."
|
||||
"description": "Benutzerdefinierte TLS-Zertifikate. Kommagetrennte Liste von Pfaden zu Verzeichnissen, aus denen die Zertifikate geladen werden, oder Pfad zu einzelnen Zertifikatsdateien. Zum Beispiel: /my/cert_dir, /other/custom.pem. Wenn du Änderungen an den TLS-Einstellungen vornimmst, musst du deine Änderungen speichern, bevor du auf „Synchronisierungskonfiguration prüfen“ klickst."
|
||||
},
|
||||
"net.ignoreTlsErrors": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Ignore TLS certificate errors"
|
||||
"description": "TLS-Zertifikatfehler ignorieren"
|
||||
},
|
||||
"sync.wipeOutFailSafe": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Fail-safe. Fail-safe: Do not wipe out local data when sync target is empty (often the result of a misconfiguration or bug)"
|
||||
"description": "Ausfallsicher. Ausfallsicher: Lösche nicht die lokalen Daten, wenn das Synchronisationsziel leer ist (oft ein Resultat von Fehlkonfiguration oder einem Programmfehler)"
|
||||
},
|
||||
"api.token": {
|
||||
"type": "string",
|
||||
@@ -733,7 +748,7 @@
|
||||
"api.port": {
|
||||
"type": "integer",
|
||||
"default": null,
|
||||
"description": "Specify the port that should be used by the API server. If not set, a default will be used."
|
||||
"description": "Spezifiziere den Port, der vom API-Server verwendet werden soll. Wenn er nicht gesetzt ist, wird ein Standardwert verwendet."
|
||||
},
|
||||
"resourceService.lastProcessedChangeId": {
|
||||
"type": "integer",
|
||||
@@ -758,12 +773,12 @@
|
||||
"revisionService.enabled": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Enable note history"
|
||||
"description": "Notizenverlauf aktivieren"
|
||||
},
|
||||
"revisionService.ttlDays": {
|
||||
"type": "integer",
|
||||
"default": 90,
|
||||
"description": "Keep note history for",
|
||||
"description": "Notizenverlauf speichern für",
|
||||
"minimum": 1,
|
||||
"maximum": 730
|
||||
},
|
||||
@@ -817,17 +832,22 @@
|
||||
"layout.folderList.factor": {
|
||||
"type": "integer",
|
||||
"default": 1,
|
||||
"description": "Notebook list growth factor. The factor property sets how the item will grow or shrink to fit the available space in its container with respect to the other items. Thus an item with a factor of 2 will take twice as much space as an item with a factor of 1.Restart app to see changes."
|
||||
"description": "Notizbuch-Listenwachstumsfaktor. Die Faktor-Eigenschaft legt fest, wie der Artikel wächst oder schrumpft, um dem verfügbaren Platz in seinem Container in Bezug auf die anderen Artikel zu entsprechen. Ein Element mit dem Faktor 2 benötigt also doppelt so viel Platz wie ein Element mit dem Faktor 1. Starten Sie die App neu, um Änderungen zu sehen."
|
||||
},
|
||||
"layout.noteList.factor": {
|
||||
"type": "integer",
|
||||
"default": 1,
|
||||
"description": "Note list growth factor. The factor property sets how the item will grow or shrink to fit the available space in its container with respect to the other items. Thus an item with a factor of 2 will take twice as much space as an item with a factor of 1.Restart app to see changes."
|
||||
"description": "Notiz-Listenwachstumsfaktor. Die Faktor-Eigenschaft legt fest, wie der Artikel wächst oder schrumpft, um dem verfügbaren Platz in seinem Container in Bezug auf die anderen Artikel zu entsprechen. Ein Element mit dem Faktor 2 benötigt also doppelt so viel Platz wie ein Element mit dem Faktor 1. Starten Sie die App neu, um Änderungen zu sehen."
|
||||
},
|
||||
"layout.note.factor": {
|
||||
"type": "integer",
|
||||
"default": 2,
|
||||
"description": "Note area growth factor. The factor property sets how the item will grow or shrink to fit the available space in its container with respect to the other items. Thus an item with a factor of 2 will take twice as much space as an item with a factor of 1.Restart app to see changes."
|
||||
"description": "Notiz-Flächenwachstumsfaktor. Die Faktor-Eigenschaft legt fest, wie der Artikel wächst oder schrumpft, um dem verfügbaren Platz in seinem Container in Bezug auf die anderen Artikel zu entsprechen. Ein Element mit dem Faktor 2 benötigt also doppelt so viel Platz wie ein Element mit dem Faktor 1. Starten Sie die App neu, um Änderungen zu sehen."
|
||||
},
|
||||
"isSafeMode": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"$comment": "private"
|
||||
}
|
||||
}
|
||||
}
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/e2ee.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/history.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/plugins.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/search_sorting.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/server_delta_sync.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/server_file_url_format.
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -5,11 +5,11 @@
|
||||
|
||||
!!! WARNING !!!
|
||||
|
||||
This file was auto-generated from readme/spec/server_delta_sharing.md and any manual change
|
||||
This file was auto-generated from readme/spec/server_sharing.md and any manual change
|
||||
made to it will be overwritten. To make a change to this file please modify
|
||||
the source Markdown file:
|
||||
|
||||
https://github.com/laurent22/joplin/blob/dev/readme/spec/server_delta_sharing.md
|
||||
https://github.com/laurent22/joplin/blob/dev/readme/spec/server_sharing.md
|
||||
|
||||
-->
|
||||
|
||||
@@ -304,7 +304,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/server_delta_sharing.md
|
||||
|
||||
<body>
|
||||
|
||||
<div class="container root page-server_delta_sharing">
|
||||
<div class="container root page-server_sharing">
|
||||
|
||||
<div class="header">
|
||||
<a class="forkme" href="https://github.com/laurent22/joplin"><img src="https://joplinapp.org/images/ForkMe.png"/></a>
|
||||
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/server_delta_sharing.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -429,7 +430,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/server_delta_sharing.md
|
||||
<p>TBD</p>
|
||||
|
||||
<div class="bottom-links">
|
||||
<a href="https://github.com/laurent22/joplin/blob/dev/readme/spec/server_delta_sharing.md">
|
||||
<a href="https://github.com/laurent22/joplin/blob/dev/readme/spec/server_sharing.md">
|
||||
<i class="fa fa-github"></i> Improve this doc
|
||||
</a>
|
||||
</div>
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/sync_lock.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/terminal.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/1_welcome_to_joplin.
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -404,7 +405,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/1_welcome_to_joplin.
|
||||
<p><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=E8JMYD2LQ8MMA&lc=GB&item_name=Joplin+Development&currency_code=EUR&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted"><img src="https://joplinapp.org/images/badges/Donate-PayPal-green.svg" alt="Donate using PayPal"></a> <a href="https://github.com/sponsors/laurent22/"><img src="https://joplinapp.org/images/badges/GitHub-Badge.svg" alt="Sponsor on GitHub"></a> <a href="https://www.patreon.com/joplin"><img src="https://joplinapp.org/images/badges/Patreon-Badge.svg" alt="Become a patron"></a> <a href="https://joplinapp.org/donate/#donations"><img src="https://joplinapp.org/images/badges/Donate-IBAN.svg" alt="Donate using IBAN"></a></p>
|
||||
<hr>
|
||||
<h1>Welcome to Joplin! 🗒️<a name="welcome-to-joplin" href="#welcome-to-joplin" class="heading-anchor">🔗</a></h1>
|
||||
<p>Joplin is a free, open source note taking and to-do application, which helps you write and organise your notes, and synchronise them between your devices. The notes are searchable, can be copied, tagged and modified either from the applications directly or from your own text editor. The notes are in <a href="https://joplinapp.org/#markdown">Markdown format</a>. Joplin is available as a <strong>💻 desktop</strong>, <strong>📱 mobile</strong> and <strong>🔡 terminal</strong> application.</p>
|
||||
<p>Joplin is a free, open source note taking and to-do application, which helps you write and organise your notes, and synchronise them between your devices. The notes are searchable, can be copied, tagged and modified either from the application directly or from your own text editor. The notes are in <a href="https://joplinapp.org/#markdown">Markdown format</a>. Joplin is available as a <strong>💻 desktop</strong>, <strong>📱 mobile</strong> and <strong>🔡 terminal</strong> application.</p>
|
||||
<p>The notes in this notebook give an overview of what Joplin can do and how to use it. In general, the three applications share roughly the same functionalities; any differences will be clearly indicated.</p>
|
||||
<p><img src="./AllClients.png" alt=""></p>
|
||||
<h2>Joplin is divided into three parts<a name="joplin-is-divided-into-three-parts" href="#joplin-is-divided-into-three-parts" class="heading-anchor">🔗</a></h2>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/2_importing_and_expo
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/3_synchronising_your
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/4_tips.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@@ -363,6 +363,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/5_privacy.md
|
||||
<li><a href="https://joplinapp.org/api/references/rest_api/">Data API</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_manifest/">Plugin manifest</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_loading_rules/">Plugin loading rules</a></li>
|
||||
<li><a href="https://joplinapp.org/api/references/plugin_theming/">Plugin theming</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
2188
package-lock.json
generated
2188
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -7,6 +7,7 @@
|
||||
},
|
||||
"license": "MIT",
|
||||
"scripts": {
|
||||
"audit": "lerna-audit",
|
||||
"bootstrap": "lerna bootstrap --no-ci",
|
||||
"bootstrapIgnoreScripts": "lerna bootstrap --ignore-scripts --no-ci",
|
||||
"bootstrapServerOnly": "lerna bootstrap --no-ci --include-dependents --include-dependencies --scope @joplin/server",
|
||||
@@ -62,8 +63,9 @@
|
||||
"gulp": "^4.0.2",
|
||||
"husky": "^3.0.2",
|
||||
"lerna": "^3.22.1",
|
||||
"lerna-audit": "^1.3.2",
|
||||
"lint-staged": "^9.2.1",
|
||||
"madge": "^4.0.0",
|
||||
"madge": "^4.0.2",
|
||||
"typedoc": "^0.17.8",
|
||||
"typescript": "^4.0.5"
|
||||
}
|
||||
|
@@ -9,6 +9,7 @@ const Tag = require('@joplin/lib/models/Tag').default;
|
||||
const Setting = require('@joplin/lib/models/Setting').default;
|
||||
const { reg } = require('@joplin/lib/registry.js');
|
||||
const { fileExtension } = require('@joplin/lib/path-utils');
|
||||
const { splitCommandString } = require('@joplin/lib/string-utils');
|
||||
const { _ } = require('@joplin/lib/locale');
|
||||
const fs = require('fs-extra');
|
||||
const { cliUtils } = require('./cli-utils.js');
|
||||
@@ -386,6 +387,21 @@ class Application extends BaseApplication {
|
||||
return output;
|
||||
}
|
||||
|
||||
async commandList(argv) {
|
||||
if (argv.length && argv[0] === 'batch') {
|
||||
const commands = [];
|
||||
const commandLines = (await fs.readFile(argv[1], 'utf-8')).split('\n');
|
||||
for (const commandLine of commandLines) {
|
||||
if (!commandLine.trim()) continue;
|
||||
const splitted = splitCommandString(commandLine.trim());
|
||||
commands.push(splitted);
|
||||
}
|
||||
return commands;
|
||||
} else {
|
||||
return [argv];
|
||||
}
|
||||
}
|
||||
|
||||
async start(argv) {
|
||||
argv = await super.start(argv);
|
||||
|
||||
@@ -403,7 +419,10 @@ class Application extends BaseApplication {
|
||||
await this.applySettingsSideEffects();
|
||||
|
||||
try {
|
||||
await this.execCommand(argv);
|
||||
const commands = await this.commandList(argv);
|
||||
for (const command of commands) {
|
||||
await this.execCommand(command);
|
||||
}
|
||||
} catch (error) {
|
||||
if (this.showStackTraces_) {
|
||||
console.error(error);
|
||||
|
19
packages/app-cli/app/command-batch.js
Normal file
19
packages/app-cli/app/command-batch.js
Normal file
@@ -0,0 +1,19 @@
|
||||
const { BaseCommand } = require('./base-command.js');
|
||||
const { _ } = require('@joplin/lib/locale');
|
||||
|
||||
class Command extends BaseCommand {
|
||||
usage() {
|
||||
return 'batch <file-path>';
|
||||
}
|
||||
|
||||
description() {
|
||||
return _('Runs the commands contained in the text file. There should be one command per line.');
|
||||
}
|
||||
|
||||
async action() {
|
||||
// Implementation is in app.js::commandList()
|
||||
throw new Error('No implemented');
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Command;
|
@@ -59,7 +59,12 @@ try {
|
||||
keytar = null;
|
||||
}
|
||||
|
||||
shimInit(sharp, keytar);
|
||||
function appVersion() {
|
||||
const p = require('./package.json');
|
||||
return p.version;
|
||||
}
|
||||
|
||||
shimInit(sharp, keytar, null, appVersion);
|
||||
|
||||
const application = app();
|
||||
|
||||
|
41
packages/app-cli/package-lock.json
generated
41
packages/app-cli/package-lock.json
generated
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "joplin",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
@@ -4074,9 +4074,9 @@
|
||||
}
|
||||
},
|
||||
"hosted-git-info": {
|
||||
"version": "2.8.5",
|
||||
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz",
|
||||
"integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==",
|
||||
"version": "2.8.9",
|
||||
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
|
||||
"integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
|
||||
"dev": true
|
||||
},
|
||||
"html-encoding-sniffer": {
|
||||
@@ -4170,9 +4170,9 @@
|
||||
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
|
||||
},
|
||||
"ini": {
|
||||
"version": "1.3.4",
|
||||
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
|
||||
"integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4="
|
||||
"version": "1.3.8",
|
||||
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
|
||||
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
|
||||
},
|
||||
"interpret": {
|
||||
"version": "1.2.0",
|
||||
@@ -4666,8 +4666,7 @@
|
||||
},
|
||||
"y18n": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
|
||||
"integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
|
||||
"resolved": "",
|
||||
"dev": true
|
||||
},
|
||||
"yargs": {
|
||||
@@ -5464,9 +5463,9 @@
|
||||
}
|
||||
},
|
||||
"y18n": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
|
||||
"integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
|
||||
"integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
|
||||
"dev": true
|
||||
},
|
||||
"yargs": {
|
||||
@@ -5989,9 +5988,9 @@
|
||||
}
|
||||
},
|
||||
"lodash": {
|
||||
"version": "4.17.20",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
|
||||
"integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
|
||||
"version": "4.17.21",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
|
||||
"dev": true
|
||||
},
|
||||
"lodash.sortby": {
|
||||
@@ -7023,9 +7022,9 @@
|
||||
"integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
|
||||
},
|
||||
"querystringify": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz",
|
||||
"integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA=="
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
|
||||
"integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ=="
|
||||
},
|
||||
"rc": {
|
||||
"version": "1.2.8",
|
||||
@@ -8587,9 +8586,9 @@
|
||||
}
|
||||
},
|
||||
"url-parse": {
|
||||
"version": "1.4.7",
|
||||
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz",
|
||||
"integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==",
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz",
|
||||
"integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==",
|
||||
"requires": {
|
||||
"querystringify": "^2.1.1",
|
||||
"requires-port": "^1.0.0"
|
||||
|
@@ -1,7 +1,7 @@
|
||||
import shim from '@joplin/lib/shim';
|
||||
const os = require('os');
|
||||
const { filename } = require('@joplin/lib/path-utils');
|
||||
const HtmlToMd = require('@joplin/lib/HtmlToMd');
|
||||
import HtmlToMd from '@joplin/lib/HtmlToMd';
|
||||
|
||||
describe('HtmlToMd', function() {
|
||||
|
||||
|
53
packages/app-cli/tests/Synchronizer.tools.ts
Normal file
53
packages/app-cli/tests/Synchronizer.tools.ts
Normal file
@@ -0,0 +1,53 @@
|
||||
import { allNotesFolders, remoteNotesAndFolders } from './test-utils-synchronizer';
|
||||
import { afterAllCleanUp, synchronizerStart, setupDatabaseAndSynchronizer, switchClient, fileApi, db } from './test-utils';
|
||||
import Folder from '@joplin/lib/models/Folder';
|
||||
import Note from '@joplin/lib/models/Note';
|
||||
import { clearLocalDataForRedownload, clearLocalSyncStateForReupload } from '@joplin/lib/services/synchronizer/tools';
|
||||
|
||||
describe('Synchronizer.tools', function() {
|
||||
|
||||
beforeEach(async (done) => {
|
||||
await setupDatabaseAndSynchronizer(1);
|
||||
await setupDatabaseAndSynchronizer(2);
|
||||
await switchClient(1);
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await afterAllCleanUp();
|
||||
});
|
||||
|
||||
it('should clear local sync data, and re-upload everything to sync target', (async () => {
|
||||
await Folder.save({ title: 'test' });
|
||||
|
||||
await synchronizerStart();
|
||||
|
||||
await fileApi().clearRoot();
|
||||
|
||||
await clearLocalSyncStateForReupload(db());
|
||||
|
||||
// Now that the local sync state has been cleared, it should re-upload
|
||||
// the items as if it was a new sync target. It should also not delete*
|
||||
// any local data.
|
||||
await synchronizerStart();
|
||||
expect((await remoteNotesAndFolders()).length).toBe(1);
|
||||
expect((await Folder.all()).length).toBe(1);
|
||||
}));
|
||||
|
||||
it('should clear local data, and re-downlaod everything from sync target', (async () => {
|
||||
const folder = await Folder.save({ title: 'test' });
|
||||
await Note.save({ title: 'test note', parent_id: folder.id });
|
||||
|
||||
await synchronizerStart();
|
||||
|
||||
await clearLocalDataForRedownload(db());
|
||||
|
||||
expect((await allNotesFolders()).length).toBe(0);
|
||||
|
||||
await synchronizerStart();
|
||||
|
||||
expect((await allNotesFolders()).length).toBe(2);
|
||||
expect((await remoteNotesAndFolders()).length).toBe(2);
|
||||
}));
|
||||
|
||||
});
|
@@ -5,6 +5,7 @@ import markdownUtils from '@joplin/lib/markdownUtils';
|
||||
const { sortedIds, createNTestNotes, setupDatabaseAndSynchronizer, switchClient, checkThrowAsync } = require('./test-utils.js');
|
||||
import Folder from '@joplin/lib/models/Folder';
|
||||
import Note from '@joplin/lib/models/Note';
|
||||
import Tag from '@joplin/lib/models/Tag';
|
||||
const ArrayUtils = require('@joplin/lib/ArrayUtils.js');
|
||||
|
||||
async function allItems() {
|
||||
@@ -125,6 +126,22 @@ describe('models_Note', function() {
|
||||
expect(duplicatedNote.user_updated_time !== note1.user_updated_time).toBe(true);
|
||||
}));
|
||||
|
||||
it('should duplicate a note with tags', (async () => {
|
||||
const folder1 = await Folder.save({ title: 'folder1' });
|
||||
const tag1 = await Tag.save({ title: 'tag1' });
|
||||
const tag2 = await Tag.save({ title: 'tag2' });
|
||||
const originalNote = await Note.save({ title: 'originalNote', parent_id: folder1.id });
|
||||
await Tag.addNote(tag1.id, originalNote.id);
|
||||
await Tag.addNote(tag2.id, originalNote.id);
|
||||
|
||||
const duplicatedNote = await Note.duplicate(originalNote.id);
|
||||
const duplicatedNoteTags = await Tag.tagsByNoteId(duplicatedNote.id);
|
||||
|
||||
expect(duplicatedNoteTags.find(o => o.id === tag1.id)).toBeDefined();
|
||||
expect(duplicatedNoteTags.find(o => o.id === tag2.id)).toBeDefined();
|
||||
expect(duplicatedNoteTags.length).toBe(2);
|
||||
}));
|
||||
|
||||
it('should delete a set of notes', (async () => {
|
||||
const folder1 = await Folder.save({ title: 'folder1' });
|
||||
const noOfNotes = 20;
|
||||
|
@@ -6,6 +6,7 @@ const Note = require('@joplin/lib/models/Note').default;
|
||||
const Tag = require('@joplin/lib/models/Tag').default;
|
||||
const reducer = require('@joplin/lib/reducer').default;
|
||||
const { defaultState, stateUtils, MAX_HISTORY } = require('@joplin/lib/reducer');
|
||||
const { ALL_NOTES_FILTER_ID } = require('@joplin/lib/reserved-ids');
|
||||
|
||||
function initTestState(folders, selectedFolderIndex, notes, selectedNoteIndexes, tags = null, selectedTagIndex = null) {
|
||||
let state = defaultState;
|
||||
@@ -581,4 +582,23 @@ describe('reducer', function() {
|
||||
expect(state.backwardHistoryNotes.length).toEqual(MAX_HISTORY);
|
||||
expect(state.forwardHistoryNotes.map(x => x.id)).toEqual([]);
|
||||
}));
|
||||
|
||||
it('should not change folders when all notes filter is on', async () => {
|
||||
const folders = await createNTestFolders(2);
|
||||
const notes = [];
|
||||
for (let i = 0; i < folders.length; i++) {
|
||||
notes.push(...await createNTestNotes(1, folders[i]));
|
||||
}
|
||||
// initialize state with no folders selected
|
||||
let state = initTestState(folders, null, notes.slice(0,2), null);
|
||||
|
||||
// turn on 'All Notes' filter
|
||||
state = reducer(state, { type: 'SMART_FILTER_SELECT', id: ALL_NOTES_FILTER_ID });
|
||||
|
||||
// change folder
|
||||
state = reducer(state, { type: 'FOLDER_AND_NOTE_SELECT', folderId: folders[1].id, noteId: notes[1].id });
|
||||
|
||||
expect(state.selectedFolderId).toEqual(null);
|
||||
expect(state.selectedNoteIds[0]).toEqual(notes[1].id);
|
||||
});
|
||||
});
|
||||
|
@@ -580,6 +580,64 @@ describe('services_SearchFilter', function() {
|
||||
expect(ids(rows)).toContain(t3.id);
|
||||
}));
|
||||
|
||||
it('should support filtering by due date', (async () => {
|
||||
let rows;
|
||||
const toDo1 = await Note.save({ title: 'ToDo 1', body: 'todo', is_todo: 1, todo_due: Date.parse('2021-04-27') });
|
||||
const toDo2 = await Note.save({ title: 'ToDo 2', body: 'todo', is_todo: 1, todo_due: Date.parse('2021-03-17') });
|
||||
const note1 = await Note.save({ title: 'Note 1', body: 'Note' });
|
||||
|
||||
await engine.syncTables();
|
||||
|
||||
rows = await engine.search('due:20210425');
|
||||
expect(rows.length).toBe(1);
|
||||
expect(ids(rows)).toContain(toDo1.id);
|
||||
|
||||
rows = await engine.search('-due:20210425');
|
||||
expect(rows.length).toBe(1);
|
||||
expect(ids(rows)).toContain(toDo2.id);
|
||||
}));
|
||||
|
||||
it('should support filtering by due with smart value: day', (async () => {
|
||||
let rows;
|
||||
|
||||
const inThreeDays = parseInt(time.goForwardInTime(Date.now(), 3, 'day'), 10);
|
||||
const inSevenDays = parseInt(time.goForwardInTime(Date.now(), 7, 'day'), 10);
|
||||
const threeDaysAgo = parseInt(time.goBackInTime(Date.now(), 3, 'day'), 10);
|
||||
const sevenDaysAgo = parseInt(time.goBackInTime(Date.now(), 7, 'day'), 10);
|
||||
|
||||
const toDo1 = await Note.save({ title: 'ToDo + 3 day', body: 'toto', is_todo: 1, todo_due: inThreeDays });
|
||||
const toDo2 = await Note.save({ title: 'ToDo + 7 day', body: 'toto', is_todo: 1, todo_due: inSevenDays });
|
||||
const toDo3 = await Note.save({ title: 'ToDo - 3 day', body: 'toto', is_todo: 1, todo_due: threeDaysAgo });
|
||||
const toDo4 = await Note.save({ title: 'ToDo - 7 day', body: 'toto', is_todo: 1, todo_due: sevenDaysAgo });
|
||||
|
||||
await engine.syncTables();
|
||||
|
||||
rows = await engine.search('due:day-4');
|
||||
expect(rows.length).toBe(3);
|
||||
expect(ids(rows)).toContain(toDo1.id);
|
||||
expect(ids(rows)).toContain(toDo2.id);
|
||||
expect(ids(rows)).toContain(toDo3.id);
|
||||
|
||||
rows = await engine.search('-due:day-4');
|
||||
expect(rows.length).toBe(1);
|
||||
expect(ids(rows)).toContain(toDo4.id);
|
||||
|
||||
rows = await engine.search('-due:day+4');
|
||||
expect(rows.length).toBe(3);
|
||||
expect(ids(rows)).toContain(toDo1.id);
|
||||
expect(ids(rows)).toContain(toDo3.id);
|
||||
expect(ids(rows)).toContain(toDo4.id);
|
||||
|
||||
rows = await engine.search('due:day+4');
|
||||
expect(rows.length).toBe(1);
|
||||
expect(ids(rows)).toContain(toDo2.id);
|
||||
|
||||
rows = await engine.search('due:day-4 -due:day+4');
|
||||
expect(rows.length).toBe(2);
|
||||
expect(ids(rows)).toContain(toDo1.id);
|
||||
expect(ids(rows)).toContain(toDo3.id);
|
||||
}));
|
||||
|
||||
it('should support filtering by latitude, longitude, altitude', (async () => {
|
||||
let rows;
|
||||
const n1 = await Note.save({ title: 'I made this', body: 'this week', latitude: 12.97, longitude: 88.88, altitude: 69.96 });
|
||||
@@ -790,4 +848,29 @@ describe('services_SearchFilter', function() {
|
||||
|
||||
}));
|
||||
|
||||
it('should support filtering by note id', (async () => {
|
||||
let rows;
|
||||
const note1 = await Note.save({ title: 'Note 1', body: 'body' });
|
||||
const note2 = await Note.save({ title: 'Note 2', body: 'body' });
|
||||
const note3 = await Note.save({ title: 'Note 3', body: 'body' });
|
||||
await engine.syncTables();
|
||||
|
||||
rows = await engine.search(`id:${note1.id}`);
|
||||
expect(rows.length).toBe(1);
|
||||
expect(rows.map(r=>r.id)).toContain(note1.id);
|
||||
|
||||
rows = await engine.search(`any:1 id:${note1.id} id:${note2.id}`);
|
||||
expect(rows.length).toBe(2);
|
||||
expect(rows.map(r=>r.id)).toContain(note1.id);
|
||||
expect(rows.map(r=>r.id)).toContain(note2.id);
|
||||
|
||||
rows = await engine.search(`any:0 id:${note1.id} id:${note2.id}`);
|
||||
expect(rows.length).toBe(0);
|
||||
|
||||
rows = await engine.search(`-id:${note2.id}`);
|
||||
expect(rows.length).toBe(2);
|
||||
expect(rows.map(r=>r.id)).toContain(note1.id);
|
||||
expect(rows.map(r=>r.id)).toContain(note3.id);
|
||||
}));
|
||||
|
||||
});
|
||||
|
@@ -34,11 +34,14 @@ joplin.plugins.register({
|
||||
Name: <input type="text" name="name"/>
|
||||
<br/>
|
||||
Email: <input type="text" name="email"/>
|
||||
<br/>
|
||||
Description: <textarea name="desc"></textarea>
|
||||
</form>
|
||||
`);
|
||||
|
||||
const result3 = await dialogs.open(handle3);
|
||||
console.info('Got result: ' + JSON.stringify(result3));
|
||||
|
||||
},
|
||||
|
||||
});
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/* eslint-disable require-atomic-updates */
|
||||
import BaseApplication from '@joplin/lib/BaseApplication';
|
||||
import BaseModel from '@joplin/lib/BaseModel';
|
||||
import Logger, { TargetType, LoggerWrapper } from '@joplin/lib/Logger';
|
||||
import Logger, { TargetType, LoggerWrapper, LogLevel } from '@joplin/lib/Logger';
|
||||
import Setting from '@joplin/lib/models/Setting';
|
||||
import BaseService from '@joplin/lib/services/BaseService';
|
||||
import FsDriverNode from '@joplin/lib/fs-driver-node';
|
||||
@@ -69,7 +69,6 @@ const suiteName_ = uuid.createNano();
|
||||
|
||||
const databases_: any[] = [];
|
||||
let synchronizers_: any[] = [];
|
||||
const synchronizerContexts_: any = {};
|
||||
const fileApis_: any = {};
|
||||
const encryptionServices_: any[] = [];
|
||||
const revisionServices_: any[] = [];
|
||||
@@ -168,7 +167,7 @@ dbLogger.setLevel(Logger.LEVEL_WARN);
|
||||
|
||||
const logger = new Logger();
|
||||
logger.addTarget(TargetType.Console);
|
||||
logger.setLevel(Logger.LEVEL_WARN); // Set to DEBUG to display sync process in console
|
||||
logger.setLevel(LogLevel.Warn); // Set to DEBUG to display sync process in console
|
||||
|
||||
Logger.initializeGlobalLogger(logger);
|
||||
|
||||
@@ -390,7 +389,6 @@ async function setupDatabaseAndSynchronizer(id: number, options: any = null) {
|
||||
syncTarget.setFileApi(fileApi());
|
||||
syncTarget.setLogger(logger);
|
||||
synchronizers_[id] = await syncTarget.synchronizer();
|
||||
synchronizerContexts_[id] = null;
|
||||
}
|
||||
|
||||
encryptionServices_[id] = new EncryptionService();
|
||||
@@ -420,11 +418,16 @@ function synchronizer(id: number = null) {
|
||||
// the client.
|
||||
async function synchronizerStart(id: number = null, extraOptions: any = null) {
|
||||
if (id === null) id = currentClient_;
|
||||
const context = synchronizerContexts_[id];
|
||||
|
||||
const contextKey = `sync.${syncTargetId()}.context`;
|
||||
const context = Setting.value(contextKey);
|
||||
|
||||
const options = Object.assign({}, extraOptions);
|
||||
if (context) options.context = context;
|
||||
const newContext = await synchronizer(id).start(options);
|
||||
synchronizerContexts_[id] = newContext;
|
||||
|
||||
Setting.setValue(contextKey, JSON.stringify(newContext));
|
||||
|
||||
return newContext;
|
||||
}
|
||||
|
||||
|
2517
packages/app-clipper/popup/package-lock.json
generated
2517
packages/app-clipper/popup/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -41,7 +41,7 @@
|
||||
"react-redux": "^5.0.7",
|
||||
"redux": "^4.0.0",
|
||||
"resolve": "1.15.0",
|
||||
"resolve-url-loader": "3.1.1",
|
||||
"resolve-url-loader": "^3.1.3",
|
||||
"sass-loader": "8.0.2",
|
||||
"semver": "6.3.0",
|
||||
"style-loader": "1.1.3",
|
||||
@@ -49,7 +49,7 @@
|
||||
"ts-pnp": "1.1.5",
|
||||
"url-loader": "2.3.0",
|
||||
"webpack": "4.41.5",
|
||||
"webpack-dev-server": "3.10.1",
|
||||
"webpack-dev-server": "^3.11.2",
|
||||
"webpack-manifest-plugin": "2.2.0",
|
||||
"workbox-webpack-plugin": "4.3.1"
|
||||
},
|
||||
@@ -61,7 +61,7 @@
|
||||
"postinstall": "node postinstall.js && npm run build"
|
||||
},
|
||||
"devDependencies": {
|
||||
"cra-build-watch": "^3.2.0",
|
||||
"cra-build-watch": "^3.4.0",
|
||||
"fs-extra": "^6.0.1",
|
||||
"react-scripts": "^3.3.1"
|
||||
},
|
||||
|
@@ -189,18 +189,27 @@ export default class ElectronAppWrapper {
|
||||
// This handler receives IPC messages from a plugin or from the main window,
|
||||
// and forwards it to the main window or the plugin window.
|
||||
ipcMain.on('pluginMessage', (_event: any, message: PluginMessage) => {
|
||||
if (message.target === 'mainWindow') {
|
||||
this.win_.webContents.send('pluginMessage', message);
|
||||
}
|
||||
|
||||
if (message.target === 'plugin') {
|
||||
const win = this.pluginWindows_[message.pluginId];
|
||||
if (!win) {
|
||||
this.logger().error(`Trying to send IPC message to non-existing plugin window: ${message.pluginId}`);
|
||||
return;
|
||||
try {
|
||||
if (message.target === 'mainWindow') {
|
||||
this.win_.webContents.send('pluginMessage', message);
|
||||
}
|
||||
|
||||
win.webContents.send('pluginMessage', message);
|
||||
if (message.target === 'plugin') {
|
||||
const win = this.pluginWindows_[message.pluginId];
|
||||
if (!win) {
|
||||
this.logger().error(`Trying to send IPC message to non-existing plugin window: ${message.pluginId}`);
|
||||
return;
|
||||
}
|
||||
|
||||
win.webContents.send('pluginMessage', message);
|
||||
}
|
||||
} catch (error) {
|
||||
// An error might happen when the app is closing and a plugin
|
||||
// sends a message. In which case, the above code would try to
|
||||
// access a destroyed webview.
|
||||
// https://github.com/laurent22/joplin/issues/4570
|
||||
console.error('Could not process plugin message:', message);
|
||||
console.error(error);
|
||||
}
|
||||
});
|
||||
|
||||
|
@@ -89,10 +89,11 @@ const globalCommands = [
|
||||
require('./commands/exportNotes'),
|
||||
require('./commands/focusElement'),
|
||||
require('./commands/openProfileDirectory'),
|
||||
require('./commands/replaceMisspelling'),
|
||||
require('./commands/startExternalEditing'),
|
||||
require('./commands/stopExternalEditing'),
|
||||
require('./commands/toggleExternalEditing'),
|
||||
require('./commands/replaceMisspelling'),
|
||||
require('./commands/toggleSafeMode'),
|
||||
require('@joplin/lib/commands/historyBackward'),
|
||||
require('@joplin/lib/commands/historyForward'),
|
||||
require('@joplin/lib/commands/synchronize'),
|
||||
@@ -539,6 +540,7 @@ class Application extends BaseApplication {
|
||||
|
||||
const pluginRunner = new PluginRunner();
|
||||
service.initialize(packageInfo.version, PlatformImplementation.instance(), pluginRunner, this.store());
|
||||
service.isSafeMode = Setting.value('isSafeMode');
|
||||
|
||||
const pluginSettings = service.unserializePluginSettings(Setting.value('plugins.states'));
|
||||
|
||||
|
@@ -29,41 +29,61 @@ function onCheckEnded() {
|
||||
isCheckingForUpdate_ = false;
|
||||
}
|
||||
|
||||
function getMajorMinorTagName(tagName) {
|
||||
const s = tagName.split('.');
|
||||
s.pop();
|
||||
return s.join('.');
|
||||
}
|
||||
|
||||
async function fetchLatestRelease(options) {
|
||||
options = Object.assign({}, { includePreReleases: false }, options);
|
||||
|
||||
let json = null;
|
||||
const response = await fetch('https://api.github.com/repos/laurent22/joplin/releases');
|
||||
|
||||
if (options.includePreReleases) {
|
||||
// This end-point will include all releases, including pre-releases (but not draft), so we take
|
||||
// whatever is the latest release. It might be the same as releases/latest, or it might be
|
||||
// a pre-release.
|
||||
const response = await fetch('https://api.github.com/repos/laurent22/joplin/releases');
|
||||
|
||||
if (!response.ok) {
|
||||
const responseText = await response.text();
|
||||
throw new Error(`Cannot get latest release info: ${responseText.substr(0,500)}`);
|
||||
}
|
||||
|
||||
json = await response.json();
|
||||
if (!json.length) throw new Error('Cannot get latest release info (JSON)');
|
||||
json = json[0];
|
||||
} else {
|
||||
const response = await fetch('https://api.github.com/repos/laurent22/joplin/releases/latest');
|
||||
|
||||
if (!response.ok) {
|
||||
const responseText = await response.text();
|
||||
throw new Error(`Cannot get latest release info: ${responseText.substr(0,500)}`);
|
||||
}
|
||||
|
||||
json = await response.json();
|
||||
if (!response.ok) {
|
||||
const responseText = await response.text();
|
||||
throw new Error(`Cannot get latest release info: ${responseText.substr(0,500)}`);
|
||||
}
|
||||
|
||||
const releases = await response.json();
|
||||
if (!releases.length) throw new Error('Cannot get latest release info (JSON)');
|
||||
|
||||
let release = null;
|
||||
|
||||
if (options.includePreReleases) {
|
||||
release = releases[0];
|
||||
} else {
|
||||
for (const r of releases) {
|
||||
if (!r.prerelease) {
|
||||
release = r;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!release) throw new Error('Could not get tag name');
|
||||
|
||||
const version = release.tag_name.substr(1);
|
||||
|
||||
// We concatenate all the release notes of the major/minor versions
|
||||
// corresponding to the latest version. For example, if the latest version
|
||||
// is 1.8.3, we concatenate all the 1.8.x versions. This is so that no
|
||||
// matter from which version you upgrade, you always see the full changes,
|
||||
// with the latest changes being on top.
|
||||
|
||||
const fullReleaseNotes = [];
|
||||
const majorMinorTagName = getMajorMinorTagName(release.tag_name);
|
||||
|
||||
for (const release of releases) {
|
||||
if (getMajorMinorTagName(release.tag_name) === majorMinorTagName) {
|
||||
fullReleaseNotes.push(release.body.trim());
|
||||
}
|
||||
}
|
||||
|
||||
const version = json.tag_name.substr(1);
|
||||
let downloadUrl = null;
|
||||
const platform = process.platform;
|
||||
for (let i = 0; i < json.assets.length; i++) {
|
||||
const asset = json.assets[i];
|
||||
for (let i = 0; i < release.assets.length; i++) {
|
||||
const asset = release.assets[i];
|
||||
let found = false;
|
||||
const ext = fileExtension(asset.name);
|
||||
if (platform === 'win32' && ext === 'exe') {
|
||||
@@ -84,12 +104,28 @@ async function fetchLatestRelease(options) {
|
||||
}
|
||||
}
|
||||
|
||||
function cleanUpReleaseNotes(releaseNotes) {
|
||||
const lines = releaseNotes.join('\n\n* * *\n\n').split('\n');
|
||||
const output = [];
|
||||
for (const line of lines) {
|
||||
const r = line
|
||||
.replace(/\(#.* by .*\)/g, '') // Removes issue numbers and names - (#3157 by [@user](https://github.com/user))
|
||||
.replace(/\([0-9a-z]{7}\)/g, '') // Removes commits - "sync state or data (a6caa35)"
|
||||
.replace(/\(#[0-9]+\)/g, '') // Removes issue numbers - "(#4727)"
|
||||
.replace(/ {2}/g, ' ')
|
||||
.trim();
|
||||
|
||||
output.push(r);
|
||||
}
|
||||
return output.join('\n');
|
||||
}
|
||||
|
||||
return {
|
||||
version: version,
|
||||
downloadUrl: downloadUrl,
|
||||
notes: json.body,
|
||||
pageUrl: json.html_url,
|
||||
prerelease: json.prerelease,
|
||||
notes: cleanUpReleaseNotes(fullReleaseNotes),
|
||||
pageUrl: release.html_url,
|
||||
prerelease: release.prerelease,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -151,13 +187,13 @@ function checkForUpdates(inBackground, window, logFilePath, options) {
|
||||
type: 'info',
|
||||
message: `${_('An update is available, do you want to download it now?')}`,
|
||||
detail: `${_('Your version: %s', packageInfo.version)}\n${_('New version: %s', newVersionString)}${releaseNotes}`,
|
||||
buttons: [_('Download'), _('Cancel')].concat(truncateReleaseNotes ? [_('Full Release Notes')] : []),
|
||||
buttons: [_('Download'), _('Cancel'), _('Full changelog')],
|
||||
cancelId: 1,
|
||||
});
|
||||
|
||||
const buttonIndex = result.response;
|
||||
if (buttonIndex === 0) require('electron').shell.openExternal(release.downloadUrl ? release.downloadUrl : release.pageUrl);
|
||||
if (buttonIndex === 2) require('electron').shell.openExternal(release.pageUrl);
|
||||
if (buttonIndex === 2) require('electron').shell.openExternal('https://joplinapp.org/changelog/');
|
||||
}
|
||||
}).catch(error => {
|
||||
autoUpdateLogger_.error(error);
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user