You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2025-08-24 20:19:10 +02:00
Compare commits
161 Commits
ios_releas
...
v1.7.1
Author | SHA1 | Date | |
---|---|---|---|
|
4e2e26f033 | ||
|
f37d37e613 | ||
|
63e30f6ccb | ||
|
9c718baf61 | ||
|
e8ae29adf2 | ||
|
0c67805626 | ||
|
e91c94baca | ||
|
aa74d05b24 | ||
|
9a1f7f227d | ||
|
40779d09c0 | ||
|
351d8d94c5 | ||
|
6addd52ba4 | ||
|
ea5849855f | ||
|
c81529dc45 | ||
|
b6d7971691 | ||
|
446db2d688 | ||
|
52da072f9a | ||
|
0d2bf6d787 | ||
|
59fe4a2193 | ||
|
df6d146c84 | ||
|
eb3493f648 | ||
|
7fd4c28a5b | ||
|
d1b55aeceb | ||
|
413ec1a933 | ||
|
7ad29577f9 | ||
|
7652a5a0a0 | ||
|
105189fc57 | ||
|
e559999aa4 | ||
|
4a230d7cd5 | ||
|
9b2e5e2959 | ||
|
3c5ac1ecc5 | ||
|
03dc1bbfe1 | ||
|
80580ba54d | ||
|
6a80b2ae9e | ||
|
f14ea46f0b | ||
|
247bd9bfd9 | ||
|
fc58db5d1a | ||
|
466cd836d7 | ||
|
66a09e5068 | ||
|
b53e475f99 | ||
|
ecb6134828 | ||
|
4b2bb1168b | ||
|
4743b0b5ce | ||
|
3abf21d4ae | ||
|
6cdb16c8ab | ||
|
b7bfa2b997 | ||
|
eab2371206 | ||
|
63615ffbaf | ||
|
59fa51c5bf | ||
|
c70f023fe0 | ||
|
fb5eb1a47b | ||
|
5aa5089ae0 | ||
|
4413e6a1ee | ||
|
309a97fb5b | ||
|
1b5b2342fc | ||
|
0f23277bfc | ||
|
e595e19c0d | ||
|
79dde365f0 | ||
|
2489409abb | ||
|
cbad3b1190 | ||
|
b74b849830 | ||
|
63a331c82f | ||
|
b7313568de | ||
|
25341858d5 | ||
|
dc6ae90113 | ||
|
3c8d79975c | ||
|
7530d2e4bc | ||
|
f678434411 | ||
|
9d547a58c9 | ||
|
aa4905ab45 | ||
|
b24eb5d09c | ||
|
1bc56d0fa9 | ||
|
a77d500bfa | ||
|
8fea9ba193 | ||
|
3fdcd3aaa6 | ||
|
0629cb394c | ||
|
f58b7563e6 | ||
|
d434723244 | ||
|
fca8f71f4a | ||
|
023170548f | ||
|
d75adc3740 | ||
|
0bf3531f51 | ||
|
c9f40ea23f | ||
|
c8755839be | ||
|
c3e696db5a | ||
|
a0134005b7 | ||
|
b66d90bbcc | ||
|
41edf5b2da | ||
|
c484c88715 | ||
|
4a0fb124a7 | ||
|
ebbaa5177b | ||
|
5d1dc224ca | ||
|
3626714403 | ||
|
3884ada760 | ||
|
16788d1437 | ||
|
b1908756d4 | ||
|
ccf5271584 | ||
|
df3e6a6219 | ||
|
f43ec71d9a | ||
|
32dab88054 | ||
|
1b5868a7c5 | ||
|
72712e71eb | ||
|
ec29f791ba | ||
|
40c2e59394 | ||
|
98cbb237b5 | ||
|
826dda5a75 | ||
|
6dc5a816e5 | ||
|
1700b29f7d | ||
|
7a6966405c | ||
|
9cb576889f | ||
|
047846a552 | ||
|
99fb578db4 | ||
|
7114228fd6 | ||
|
8d4d438136 | ||
|
420ac8359c | ||
|
fe7691d786 | ||
|
db4f35b936 | ||
|
72aabf71f3 | ||
|
d145ce1876 | ||
|
ab6f02a949 | ||
|
1339414443 | ||
|
732ca53b70 | ||
|
fa749d6d2a | ||
|
6e69343bb6 | ||
|
520454affb | ||
|
734514b6d8 | ||
|
ceb252b9ad | ||
|
f121245e40 | ||
|
215a1e0240 | ||
|
8ed36d7a29 | ||
|
2b33df2955 | ||
|
5c283e4508 | ||
|
c94ee5d99a | ||
|
4a258a2427 | ||
|
330ef6f7e6 | ||
|
4a579393f3 | ||
|
1091795a3a | ||
|
b5fc206202 | ||
|
794fb6a122 | ||
|
ec7cccf573 | ||
|
e94a1cac1c | ||
|
76ff0b9c11 | ||
|
fb01c64133 | ||
|
1dbeff1908 | ||
|
4f2d316db4 | ||
|
4851fd1ab3 | ||
|
ac8ddb1166 | ||
|
b61150457c | ||
|
3e948146cd | ||
|
8492a7ee26 | ||
|
0e57baf5b9 | ||
|
05f65c326a | ||
|
491714cde6 | ||
|
34c1096307 | ||
|
ebe3ddcd21 | ||
|
ca5ac9696b | ||
|
fdfbb84d37 | ||
|
740aba90ea | ||
|
eab9ff175c | ||
|
9e076bf194 | ||
|
74a797b410 |
@@ -6,4 +6,5 @@ packages/app-desktop
|
||||
packages/app-cli
|
||||
packages/app-mobile
|
||||
packages/app-clipper
|
||||
packages/generator-joplin
|
||||
packages/generator-joplin
|
||||
packages/plugin-repo-cli
|
29
.env-sample
29
.env-sample
@@ -1,9 +1,26 @@
|
||||
# Example of local config, for development:
|
||||
# =============================================================================
|
||||
# PRODUCTION CONFIG EXAMPLE
|
||||
# -----------------------------------------------------------------------------
|
||||
# By default it will use SQLite, but that's mostly to test and evaluate the
|
||||
# server. So you'll want to specify db connection settings to use Postgres.
|
||||
# =============================================================================
|
||||
#
|
||||
# JOPLIN_BASE_URL=http://localhost:22300
|
||||
# JOPLIN_PORT=22300
|
||||
# APP_BASE_URL=https://example.com/joplin
|
||||
# APP_PORT=22300
|
||||
#
|
||||
# DB_CLIENT=pg
|
||||
# POSTGRES_PASSWORD=joplin
|
||||
# POSTGRES_DATABASE=joplin
|
||||
# POSTGRES_USER=joplin
|
||||
# POSTGRES_PORT=5432
|
||||
# POSTGRES_HOST=localhost
|
||||
|
||||
# Example of config for production:
|
||||
# =============================================================================
|
||||
# DEV CONFIG EXAMPLE
|
||||
# -----------------------------------------------------------------------------
|
||||
# Example of local config, for development. In dev mode, you would usually use
|
||||
# SQLite so database settings are not needed.
|
||||
# =============================================================================
|
||||
#
|
||||
# JOPLIN_BASE_URL=https://example.com/joplin
|
||||
# JOPLIN_PORT=22300
|
||||
# APP_BASE_URL=http://localhost:22300
|
||||
# APP_PORT=22300
|
||||
|
232
.eslintignore
232
.eslintignore
@@ -6,6 +6,7 @@ _releases/
|
||||
**/node_modules/
|
||||
Assets/
|
||||
docs/
|
||||
packages/plugins/**/dist
|
||||
packages/server/dist/
|
||||
highlight.pack.js
|
||||
Modules/TinyMCE/IconPack/postinstall.js
|
||||
@@ -110,6 +111,12 @@ packages/app-cli/tests/models_Note.js.map
|
||||
packages/app-cli/tests/models_Setting.d.ts
|
||||
packages/app-cli/tests/models_Setting.js
|
||||
packages/app-cli/tests/models_Setting.js.map
|
||||
packages/app-cli/tests/services/plugins/RepositoryApi.d.ts
|
||||
packages/app-cli/tests/services/plugins/RepositoryApi.js
|
||||
packages/app-cli/tests/services/plugins/RepositoryApi.js.map
|
||||
packages/app-cli/tests/services/plugins/api/JoplinSettings.d.ts
|
||||
packages/app-cli/tests/services/plugins/api/JoplinSettings.js
|
||||
packages/app-cli/tests/services/plugins/api/JoplinSettings.js.map
|
||||
packages/app-cli/tests/services/plugins/api/JoplinViewMenuItem.d.ts
|
||||
packages/app-cli/tests/services/plugins/api/JoplinViewMenuItem.js
|
||||
packages/app-cli/tests/services/plugins/api/JoplinViewMenuItem.js.map
|
||||
@@ -155,6 +162,9 @@ packages/app-cli/tests/support/plugins/content_script/api/types.js.map
|
||||
packages/app-cli/tests/support/plugins/content_script/src/index.d.ts
|
||||
packages/app-cli/tests/support/plugins/content_script/src/index.js
|
||||
packages/app-cli/tests/support/plugins/content_script/src/index.js.map
|
||||
packages/app-cli/tests/support/plugins/content_script/src/markdownItTestPlugin.d.ts
|
||||
packages/app-cli/tests/support/plugins/content_script/src/markdownItTestPlugin.js
|
||||
packages/app-cli/tests/support/plugins/content_script/src/markdownItTestPlugin.js.map
|
||||
packages/app-cli/tests/support/plugins/dialog/api/index.d.ts
|
||||
packages/app-cli/tests/support/plugins/dialog/api/index.js
|
||||
packages/app-cli/tests/support/plugins/dialog/api/index.js.map
|
||||
@@ -218,6 +228,15 @@ packages/app-cli/tests/support/plugins/multi_selection/api/types.js.map
|
||||
packages/app-cli/tests/support/plugins/multi_selection/src/index.d.ts
|
||||
packages/app-cli/tests/support/plugins/multi_selection/src/index.js
|
||||
packages/app-cli/tests/support/plugins/multi_selection/src/index.js.map
|
||||
packages/app-cli/tests/support/plugins/post_messages/api/index.d.ts
|
||||
packages/app-cli/tests/support/plugins/post_messages/api/index.js
|
||||
packages/app-cli/tests/support/plugins/post_messages/api/index.js.map
|
||||
packages/app-cli/tests/support/plugins/post_messages/api/types.d.ts
|
||||
packages/app-cli/tests/support/plugins/post_messages/api/types.js
|
||||
packages/app-cli/tests/support/plugins/post_messages/api/types.js.map
|
||||
packages/app-cli/tests/support/plugins/post_messages/src/index.d.ts
|
||||
packages/app-cli/tests/support/plugins/post_messages/src/index.js
|
||||
packages/app-cli/tests/support/plugins/post_messages/src/index.js.map
|
||||
packages/app-cli/tests/support/plugins/register_command/api/index.d.ts
|
||||
packages/app-cli/tests/support/plugins/register_command/api/index.js
|
||||
packages/app-cli/tests/support/plugins/register_command/api/index.js.map
|
||||
@@ -320,12 +339,21 @@ packages/app-desktop/gui/ConfigScreen/ButtonBar.js.map
|
||||
packages/app-desktop/gui/ConfigScreen/ConfigScreen.d.ts
|
||||
packages/app-desktop/gui/ConfigScreen/ConfigScreen.js
|
||||
packages/app-desktop/gui/ConfigScreen/ConfigScreen.js.map
|
||||
packages/app-desktop/gui/ConfigScreen/SideBar.d.ts
|
||||
packages/app-desktop/gui/ConfigScreen/SideBar.js
|
||||
packages/app-desktop/gui/ConfigScreen/SideBar.js.map
|
||||
packages/app-desktop/gui/ConfigScreen/controls/PluginsStates.d.ts
|
||||
packages/app-desktop/gui/ConfigScreen/controls/PluginsStates.js
|
||||
packages/app-desktop/gui/ConfigScreen/controls/PluginsStates.js.map
|
||||
packages/app-desktop/gui/ConfigScreen/Sidebar.d.ts
|
||||
packages/app-desktop/gui/ConfigScreen/Sidebar.js
|
||||
packages/app-desktop/gui/ConfigScreen/Sidebar.js.map
|
||||
packages/app-desktop/gui/ConfigScreen/controls/plugins/PluginBox.d.ts
|
||||
packages/app-desktop/gui/ConfigScreen/controls/plugins/PluginBox.js
|
||||
packages/app-desktop/gui/ConfigScreen/controls/plugins/PluginBox.js.map
|
||||
packages/app-desktop/gui/ConfigScreen/controls/plugins/PluginsStates.d.ts
|
||||
packages/app-desktop/gui/ConfigScreen/controls/plugins/PluginsStates.js
|
||||
packages/app-desktop/gui/ConfigScreen/controls/plugins/PluginsStates.js.map
|
||||
packages/app-desktop/gui/ConfigScreen/controls/plugins/SearchPlugins.d.ts
|
||||
packages/app-desktop/gui/ConfigScreen/controls/plugins/SearchPlugins.js
|
||||
packages/app-desktop/gui/ConfigScreen/controls/plugins/SearchPlugins.js.map
|
||||
packages/app-desktop/gui/ConfigScreen/controls/plugins/useOnInstallHandler.d.ts
|
||||
packages/app-desktop/gui/ConfigScreen/controls/plugins/useOnInstallHandler.js
|
||||
packages/app-desktop/gui/ConfigScreen/controls/plugins/useOnInstallHandler.js.map
|
||||
packages/app-desktop/gui/DropboxLoginScreen.d.ts
|
||||
packages/app-desktop/gui/DropboxLoginScreen.js
|
||||
packages/app-desktop/gui/DropboxLoginScreen.js.map
|
||||
@@ -653,21 +681,18 @@ packages/app-desktop/gui/Root_UpgradeSyncTarget.js.map
|
||||
packages/app-desktop/gui/SearchBar/SearchBar.d.ts
|
||||
packages/app-desktop/gui/SearchBar/SearchBar.js
|
||||
packages/app-desktop/gui/SearchBar/SearchBar.js.map
|
||||
packages/app-desktop/gui/SearchBar/styles/index.d.ts
|
||||
packages/app-desktop/gui/SearchBar/styles/index.js
|
||||
packages/app-desktop/gui/SearchBar/styles/index.js.map
|
||||
packages/app-desktop/gui/ShareNoteDialog.d.ts
|
||||
packages/app-desktop/gui/ShareNoteDialog.js
|
||||
packages/app-desktop/gui/ShareNoteDialog.js.map
|
||||
packages/app-desktop/gui/SideBar/SideBar.d.ts
|
||||
packages/app-desktop/gui/SideBar/SideBar.js
|
||||
packages/app-desktop/gui/SideBar/SideBar.js.map
|
||||
packages/app-desktop/gui/SideBar/commands/focusElementSideBar.d.ts
|
||||
packages/app-desktop/gui/SideBar/commands/focusElementSideBar.js
|
||||
packages/app-desktop/gui/SideBar/commands/focusElementSideBar.js.map
|
||||
packages/app-desktop/gui/SideBar/styles/index.d.ts
|
||||
packages/app-desktop/gui/SideBar/styles/index.js
|
||||
packages/app-desktop/gui/SideBar/styles/index.js.map
|
||||
packages/app-desktop/gui/Sidebar/Sidebar.d.ts
|
||||
packages/app-desktop/gui/Sidebar/Sidebar.js
|
||||
packages/app-desktop/gui/Sidebar/Sidebar.js.map
|
||||
packages/app-desktop/gui/Sidebar/commands/focusElementSideBar.d.ts
|
||||
packages/app-desktop/gui/Sidebar/commands/focusElementSideBar.js
|
||||
packages/app-desktop/gui/Sidebar/commands/focusElementSideBar.js.map
|
||||
packages/app-desktop/gui/Sidebar/styles/index.d.ts
|
||||
packages/app-desktop/gui/Sidebar/styles/index.js
|
||||
packages/app-desktop/gui/Sidebar/styles/index.js.map
|
||||
packages/app-desktop/gui/StatusScreen/StatusScreen.d.ts
|
||||
packages/app-desktop/gui/StatusScreen/StatusScreen.js
|
||||
packages/app-desktop/gui/StatusScreen/StatusScreen.js.map
|
||||
@@ -704,6 +729,9 @@ packages/app-desktop/gui/hooks/usePrevious.js.map
|
||||
packages/app-desktop/gui/hooks/usePropsDebugger.d.ts
|
||||
packages/app-desktop/gui/hooks/usePropsDebugger.js
|
||||
packages/app-desktop/gui/hooks/usePropsDebugger.js.map
|
||||
packages/app-desktop/gui/lib/SearchInput/SearchInput.d.ts
|
||||
packages/app-desktop/gui/lib/SearchInput/SearchInput.js
|
||||
packages/app-desktop/gui/lib/SearchInput/SearchInput.js.map
|
||||
packages/app-desktop/gui/lib/ToggleButton/ToggleButton.d.ts
|
||||
packages/app-desktop/gui/lib/ToggleButton/ToggleButton.js
|
||||
packages/app-desktop/gui/lib/ToggleButton/ToggleButton.js.map
|
||||
@@ -1001,6 +1029,9 @@ packages/lib/services/KeymapService_keysRegExp.js.map
|
||||
packages/lib/services/KvStore.d.ts
|
||||
packages/lib/services/KvStore.js
|
||||
packages/lib/services/KvStore.js.map
|
||||
packages/lib/services/PostMessageService.d.ts
|
||||
packages/lib/services/PostMessageService.js
|
||||
packages/lib/services/PostMessageService.js.map
|
||||
packages/lib/services/ResourceEditWatcher/index.d.ts
|
||||
packages/lib/services/ResourceEditWatcher/index.js
|
||||
packages/lib/services/ResourceEditWatcher/index.js.map
|
||||
@@ -1118,6 +1149,9 @@ packages/lib/services/plugins/Plugin.js.map
|
||||
packages/lib/services/plugins/PluginService.d.ts
|
||||
packages/lib/services/plugins/PluginService.js
|
||||
packages/lib/services/plugins/PluginService.js.map
|
||||
packages/lib/services/plugins/RepositoryApi.d.ts
|
||||
packages/lib/services/plugins/RepositoryApi.js
|
||||
packages/lib/services/plugins/RepositoryApi.js.map
|
||||
packages/lib/services/plugins/ToolbarButtonController.d.ts
|
||||
packages/lib/services/plugins/ToolbarButtonController.js
|
||||
packages/lib/services/plugins/ToolbarButtonController.js.map
|
||||
@@ -1136,6 +1170,9 @@ packages/lib/services/plugins/api/Joplin.js.map
|
||||
packages/lib/services/plugins/api/JoplinCommands.d.ts
|
||||
packages/lib/services/plugins/api/JoplinCommands.js
|
||||
packages/lib/services/plugins/api/JoplinCommands.js.map
|
||||
packages/lib/services/plugins/api/JoplinContentScripts.d.ts
|
||||
packages/lib/services/plugins/api/JoplinContentScripts.js
|
||||
packages/lib/services/plugins/api/JoplinContentScripts.js.map
|
||||
packages/lib/services/plugins/api/JoplinData.d.ts
|
||||
packages/lib/services/plugins/api/JoplinData.js
|
||||
packages/lib/services/plugins/api/JoplinData.js.map
|
||||
@@ -1202,6 +1239,12 @@ packages/lib/services/plugins/utils/mapEventHandlersToIds.js.map
|
||||
packages/lib/services/plugins/utils/types.d.ts
|
||||
packages/lib/services/plugins/utils/types.js
|
||||
packages/lib/services/plugins/utils/types.js.map
|
||||
packages/lib/services/plugins/utils/validatePluginId.d.ts
|
||||
packages/lib/services/plugins/utils/validatePluginId.js
|
||||
packages/lib/services/plugins/utils/validatePluginId.js.map
|
||||
packages/lib/services/plugins/utils/validatePluginId.test.d.ts
|
||||
packages/lib/services/plugins/utils/validatePluginId.test.js
|
||||
packages/lib/services/plugins/utils/validatePluginId.test.js.map
|
||||
packages/lib/services/rest/Api.d.ts
|
||||
packages/lib/services/rest/Api.js
|
||||
packages/lib/services/rest/Api.js.map
|
||||
@@ -1331,6 +1374,21 @@ packages/lib/uuid.js.map
|
||||
packages/lib/versionInfo.d.ts
|
||||
packages/lib/versionInfo.js
|
||||
packages/lib/versionInfo.js.map
|
||||
packages/plugin-repo-cli/dummy.test.d.ts
|
||||
packages/plugin-repo-cli/dummy.test.js
|
||||
packages/plugin-repo-cli/dummy.test.js.map
|
||||
packages/plugin-repo-cli/index.d.ts
|
||||
packages/plugin-repo-cli/index.js
|
||||
packages/plugin-repo-cli/index.js.map
|
||||
packages/plugins/ToggleSidebars/api/index.d.ts
|
||||
packages/plugins/ToggleSidebars/api/index.js
|
||||
packages/plugins/ToggleSidebars/api/index.js.map
|
||||
packages/plugins/ToggleSidebars/api/types.d.ts
|
||||
packages/plugins/ToggleSidebars/api/types.js
|
||||
packages/plugins/ToggleSidebars/api/types.js.map
|
||||
packages/plugins/ToggleSidebars/src/index.d.ts
|
||||
packages/plugins/ToggleSidebars/src/index.js
|
||||
packages/plugins/ToggleSidebars/src/index.js.map
|
||||
packages/renderer/HtmlToHtml.d.ts
|
||||
packages/renderer/HtmlToHtml.js
|
||||
packages/renderer/HtmlToHtml.js.map
|
||||
@@ -1388,6 +1446,12 @@ packages/renderer/MdToHtml/rules/mermaid.js.map
|
||||
packages/renderer/MdToHtml/rules/sanitize_html.d.ts
|
||||
packages/renderer/MdToHtml/rules/sanitize_html.js
|
||||
packages/renderer/MdToHtml/rules/sanitize_html.js.map
|
||||
packages/renderer/MdToHtml/setupLinkify.d.ts
|
||||
packages/renderer/MdToHtml/setupLinkify.js
|
||||
packages/renderer/MdToHtml/setupLinkify.js.map
|
||||
packages/renderer/MdToHtml/validateLinks.d.ts
|
||||
packages/renderer/MdToHtml/validateLinks.js
|
||||
packages/renderer/MdToHtml/validateLinks.js.map
|
||||
packages/renderer/htmlUtils.d.ts
|
||||
packages/renderer/htmlUtils.js
|
||||
packages/renderer/htmlUtils.js.map
|
||||
@@ -1406,78 +1470,24 @@ packages/renderer/utils.js.map
|
||||
packages/server/src/app.d.ts
|
||||
packages/server/src/app.js
|
||||
packages/server/src/app.js.map
|
||||
packages/server/src/config-base.d.ts
|
||||
packages/server/src/config-base.js
|
||||
packages/server/src/config-base.js.map
|
||||
packages/server/src/config-buildTypes.d.ts
|
||||
packages/server/src/config-buildTypes.js
|
||||
packages/server/src/config-buildTypes.js.map
|
||||
packages/server/src/config-dev.d.ts
|
||||
packages/server/src/config-dev.js
|
||||
packages/server/src/config-dev.js.map
|
||||
packages/server/src/config-prod.d.ts
|
||||
packages/server/src/config-prod.js
|
||||
packages/server/src/config-prod.js.map
|
||||
packages/server/src/config-tests.d.ts
|
||||
packages/server/src/config-tests.js
|
||||
packages/server/src/config-tests.js.map
|
||||
packages/server/src/config.d.ts
|
||||
packages/server/src/config.js
|
||||
packages/server/src/config.js.map
|
||||
packages/server/src/controllers/BaseController.d.ts
|
||||
packages/server/src/controllers/BaseController.js
|
||||
packages/server/src/controllers/BaseController.js.map
|
||||
packages/server/src/controllers/api/FileController.d.ts
|
||||
packages/server/src/controllers/api/FileController.js
|
||||
packages/server/src/controllers/api/FileController.js.map
|
||||
packages/server/src/controllers/api/FileController.test.d.ts
|
||||
packages/server/src/controllers/api/FileController.test.js
|
||||
packages/server/src/controllers/api/FileController.test.js.map
|
||||
packages/server/src/controllers/api/OAuthController.d.ts
|
||||
packages/server/src/controllers/api/OAuthController.js
|
||||
packages/server/src/controllers/api/OAuthController.js.map
|
||||
packages/server/src/controllers/api/SessionController.d.ts
|
||||
packages/server/src/controllers/api/SessionController.js
|
||||
packages/server/src/controllers/api/SessionController.js.map
|
||||
packages/server/src/controllers/api/SessionController.test.d.ts
|
||||
packages/server/src/controllers/api/SessionController.test.js
|
||||
packages/server/src/controllers/api/SessionController.test.js.map
|
||||
packages/server/src/controllers/api/UserController.d.ts
|
||||
packages/server/src/controllers/api/UserController.js
|
||||
packages/server/src/controllers/api/UserController.js.map
|
||||
packages/server/src/controllers/api/UserController.test.d.ts
|
||||
packages/server/src/controllers/api/UserController.test.js
|
||||
packages/server/src/controllers/api/UserController.test.js.map
|
||||
packages/server/src/controllers/factory.d.ts
|
||||
packages/server/src/controllers/factory.js
|
||||
packages/server/src/controllers/factory.js.map
|
||||
packages/server/src/controllers/index/FileController.d.ts
|
||||
packages/server/src/controllers/index/FileController.js
|
||||
packages/server/src/controllers/index/FileController.js.map
|
||||
packages/server/src/controllers/index/HomeController.d.ts
|
||||
packages/server/src/controllers/index/HomeController.js
|
||||
packages/server/src/controllers/index/HomeController.js.map
|
||||
packages/server/src/controllers/index/LoginController.d.ts
|
||||
packages/server/src/controllers/index/LoginController.js
|
||||
packages/server/src/controllers/index/LoginController.js.map
|
||||
packages/server/src/controllers/index/NotificationController.d.ts
|
||||
packages/server/src/controllers/index/NotificationController.js
|
||||
packages/server/src/controllers/index/NotificationController.js.map
|
||||
packages/server/src/controllers/index/ProfileController.d.ts
|
||||
packages/server/src/controllers/index/ProfileController.js
|
||||
packages/server/src/controllers/index/ProfileController.js.map
|
||||
packages/server/src/controllers/index/UserController.d.ts
|
||||
packages/server/src/controllers/index/UserController.js
|
||||
packages/server/src/controllers/index/UserController.js.map
|
||||
packages/server/src/db.d.ts
|
||||
packages/server/src/db.js
|
||||
packages/server/src/db.js.map
|
||||
packages/server/src/middleware/notificationHandler.d.ts
|
||||
packages/server/src/middleware/notificationHandler.js
|
||||
packages/server/src/middleware/notificationHandler.js.map
|
||||
packages/server/src/middleware/notificationHandler.test.d.ts
|
||||
packages/server/src/middleware/notificationHandler.test.js
|
||||
packages/server/src/middleware/notificationHandler.test.js.map
|
||||
packages/server/src/middleware/ownerHandler.d.ts
|
||||
packages/server/src/middleware/ownerHandler.js
|
||||
packages/server/src/middleware/ownerHandler.js.map
|
||||
packages/server/src/middleware/ownerHandler.test.d.ts
|
||||
packages/server/src/middleware/ownerHandler.test.js
|
||||
packages/server/src/middleware/ownerHandler.test.js.map
|
||||
packages/server/src/middleware/routeHandler.d.ts
|
||||
packages/server/src/middleware/routeHandler.js
|
||||
packages/server/src/middleware/routeHandler.js.map
|
||||
@@ -1520,6 +1530,9 @@ packages/server/src/models/SessionModel.js.map
|
||||
packages/server/src/models/UserModel.d.ts
|
||||
packages/server/src/models/UserModel.js
|
||||
packages/server/src/models/UserModel.js.map
|
||||
packages/server/src/models/UserModel.test.d.ts
|
||||
packages/server/src/models/UserModel.test.js
|
||||
packages/server/src/models/UserModel.test.js.map
|
||||
packages/server/src/models/factory.d.ts
|
||||
packages/server/src/models/factory.js
|
||||
packages/server/src/models/factory.js.map
|
||||
@@ -1532,15 +1545,21 @@ packages/server/src/models/utils/pagination.test.js.map
|
||||
packages/server/src/routes/api/files.d.ts
|
||||
packages/server/src/routes/api/files.js
|
||||
packages/server/src/routes/api/files.js.map
|
||||
packages/server/src/routes/api/index.d.ts
|
||||
packages/server/src/routes/api/index.js
|
||||
packages/server/src/routes/api/index.js.map
|
||||
packages/server/src/routes/api/files.test.d.ts
|
||||
packages/server/src/routes/api/files.test.js
|
||||
packages/server/src/routes/api/files.test.js.map
|
||||
packages/server/src/routes/api/ping.d.ts
|
||||
packages/server/src/routes/api/ping.js
|
||||
packages/server/src/routes/api/ping.js.map
|
||||
packages/server/src/routes/api/ping.test.d.ts
|
||||
packages/server/src/routes/api/ping.test.js
|
||||
packages/server/src/routes/api/ping.test.js.map
|
||||
packages/server/src/routes/api/sessions.d.ts
|
||||
packages/server/src/routes/api/sessions.js
|
||||
packages/server/src/routes/api/sessions.js.map
|
||||
packages/server/src/routes/api/sessions.test.d.ts
|
||||
packages/server/src/routes/api/sessions.test.js
|
||||
packages/server/src/routes/api/sessions.test.js.map
|
||||
packages/server/src/routes/default.d.ts
|
||||
packages/server/src/routes/default.js
|
||||
packages/server/src/routes/default.js.map
|
||||
@@ -1550,24 +1569,33 @@ packages/server/src/routes/index/files.js.map
|
||||
packages/server/src/routes/index/home.d.ts
|
||||
packages/server/src/routes/index/home.js
|
||||
packages/server/src/routes/index/home.js.map
|
||||
packages/server/src/routes/index/home.test.d.ts
|
||||
packages/server/src/routes/index/home.test.js
|
||||
packages/server/src/routes/index/home.test.js.map
|
||||
packages/server/src/routes/index/login.d.ts
|
||||
packages/server/src/routes/index/login.js
|
||||
packages/server/src/routes/index/login.js.map
|
||||
packages/server/src/routes/index/login.test.d.ts
|
||||
packages/server/src/routes/index/login.test.js
|
||||
packages/server/src/routes/index/login.test.js.map
|
||||
packages/server/src/routes/index/logout.d.ts
|
||||
packages/server/src/routes/index/logout.js
|
||||
packages/server/src/routes/index/logout.js.map
|
||||
packages/server/src/routes/index/logout.test.d.ts
|
||||
packages/server/src/routes/index/logout.test.js
|
||||
packages/server/src/routes/index/logout.test.js.map
|
||||
packages/server/src/routes/index/notifications.d.ts
|
||||
packages/server/src/routes/index/notifications.js
|
||||
packages/server/src/routes/index/notifications.js.map
|
||||
packages/server/src/routes/index/profile.d.ts
|
||||
packages/server/src/routes/index/profile.js
|
||||
packages/server/src/routes/index/profile.js.map
|
||||
packages/server/src/routes/index/user.d.ts
|
||||
packages/server/src/routes/index/user.js
|
||||
packages/server/src/routes/index/user.js.map
|
||||
packages/server/src/routes/index/notifications.test.d.ts
|
||||
packages/server/src/routes/index/notifications.test.js
|
||||
packages/server/src/routes/index/notifications.test.js.map
|
||||
packages/server/src/routes/index/users.d.ts
|
||||
packages/server/src/routes/index/users.js
|
||||
packages/server/src/routes/index/users.js.map
|
||||
packages/server/src/routes/index/users.test.d.ts
|
||||
packages/server/src/routes/index/users.test.js
|
||||
packages/server/src/routes/index/users.test.js.map
|
||||
packages/server/src/routes/oauth2/authorize.d.ts
|
||||
packages/server/src/routes/oauth2/authorize.js
|
||||
packages/server/src/routes/oauth2/authorize.js.map
|
||||
@@ -1586,6 +1614,9 @@ packages/server/src/tools/dbTools.js.map
|
||||
packages/server/src/tools/generate-types.d.ts
|
||||
packages/server/src/tools/generate-types.js
|
||||
packages/server/src/tools/generate-types.js.map
|
||||
packages/server/src/utils/Router.d.ts
|
||||
packages/server/src/utils/Router.js
|
||||
packages/server/src/utils/Router.js.map
|
||||
packages/server/src/utils/TransactionHandler.d.ts
|
||||
packages/server/src/utils/TransactionHandler.js
|
||||
packages/server/src/utils/TransactionHandler.js.map
|
||||
@@ -1619,12 +1650,24 @@ packages/server/src/utils/routeUtils.js.map
|
||||
packages/server/src/utils/routeUtils.test.d.ts
|
||||
packages/server/src/utils/routeUtils.test.js
|
||||
packages/server/src/utils/routeUtils.test.js.map
|
||||
packages/server/src/utils/testUtils.d.ts
|
||||
packages/server/src/utils/testUtils.js
|
||||
packages/server/src/utils/testUtils.js.map
|
||||
packages/server/src/utils/testing/apiUtils.d.ts
|
||||
packages/server/src/utils/testing/apiUtils.js
|
||||
packages/server/src/utils/testing/apiUtils.js.map
|
||||
packages/server/src/utils/testing/koa/FakeCookies.d.ts
|
||||
packages/server/src/utils/testing/koa/FakeCookies.js
|
||||
packages/server/src/utils/testing/koa/FakeCookies.js.map
|
||||
packages/server/src/utils/testing/koa/FakeRequest.d.ts
|
||||
packages/server/src/utils/testing/koa/FakeRequest.js
|
||||
packages/server/src/utils/testing/koa/FakeRequest.js.map
|
||||
packages/server/src/utils/testing/koa/FakeResponse.d.ts
|
||||
packages/server/src/utils/testing/koa/FakeResponse.js
|
||||
packages/server/src/utils/testing/koa/FakeResponse.js.map
|
||||
packages/server/src/utils/testing/testRouters.d.ts
|
||||
packages/server/src/utils/testing/testRouters.js
|
||||
packages/server/src/utils/testing/testRouters.js.map
|
||||
packages/server/src/utils/testing/testUtils.d.ts
|
||||
packages/server/src/utils/testing/testUtils.js
|
||||
packages/server/src/utils/testing/testUtils.js.map
|
||||
packages/server/src/utils/time.d.ts
|
||||
packages/server/src/utils/time.js
|
||||
packages/server/src/utils/time.js.map
|
||||
@@ -1637,4 +1680,13 @@ packages/server/src/utils/urlUtils.js.map
|
||||
packages/server/src/utils/uuidgen.d.ts
|
||||
packages/server/src/utils/uuidgen.js
|
||||
packages/server/src/utils/uuidgen.js.map
|
||||
packages/tools/lerna-add.d.ts
|
||||
packages/tools/lerna-add.js
|
||||
packages/tools/lerna-add.js.map
|
||||
packages/tools/release-server.d.ts
|
||||
packages/tools/release-server.js
|
||||
packages/tools/release-server.js.map
|
||||
packages/tools/tool-utils.d.ts
|
||||
packages/tools/tool-utils.js
|
||||
packages/tools/tool-utils.js.map
|
||||
# AUTO-GENERATED - EXCLUDED TYPESCRIPT BUILD
|
||||
|
231
.gitignore
vendored
231
.gitignore
vendored
@@ -99,6 +99,12 @@ packages/app-cli/tests/models_Note.js.map
|
||||
packages/app-cli/tests/models_Setting.d.ts
|
||||
packages/app-cli/tests/models_Setting.js
|
||||
packages/app-cli/tests/models_Setting.js.map
|
||||
packages/app-cli/tests/services/plugins/RepositoryApi.d.ts
|
||||
packages/app-cli/tests/services/plugins/RepositoryApi.js
|
||||
packages/app-cli/tests/services/plugins/RepositoryApi.js.map
|
||||
packages/app-cli/tests/services/plugins/api/JoplinSettings.d.ts
|
||||
packages/app-cli/tests/services/plugins/api/JoplinSettings.js
|
||||
packages/app-cli/tests/services/plugins/api/JoplinSettings.js.map
|
||||
packages/app-cli/tests/services/plugins/api/JoplinViewMenuItem.d.ts
|
||||
packages/app-cli/tests/services/plugins/api/JoplinViewMenuItem.js
|
||||
packages/app-cli/tests/services/plugins/api/JoplinViewMenuItem.js.map
|
||||
@@ -144,6 +150,9 @@ packages/app-cli/tests/support/plugins/content_script/api/types.js.map
|
||||
packages/app-cli/tests/support/plugins/content_script/src/index.d.ts
|
||||
packages/app-cli/tests/support/plugins/content_script/src/index.js
|
||||
packages/app-cli/tests/support/plugins/content_script/src/index.js.map
|
||||
packages/app-cli/tests/support/plugins/content_script/src/markdownItTestPlugin.d.ts
|
||||
packages/app-cli/tests/support/plugins/content_script/src/markdownItTestPlugin.js
|
||||
packages/app-cli/tests/support/plugins/content_script/src/markdownItTestPlugin.js.map
|
||||
packages/app-cli/tests/support/plugins/dialog/api/index.d.ts
|
||||
packages/app-cli/tests/support/plugins/dialog/api/index.js
|
||||
packages/app-cli/tests/support/plugins/dialog/api/index.js.map
|
||||
@@ -207,6 +216,15 @@ packages/app-cli/tests/support/plugins/multi_selection/api/types.js.map
|
||||
packages/app-cli/tests/support/plugins/multi_selection/src/index.d.ts
|
||||
packages/app-cli/tests/support/plugins/multi_selection/src/index.js
|
||||
packages/app-cli/tests/support/plugins/multi_selection/src/index.js.map
|
||||
packages/app-cli/tests/support/plugins/post_messages/api/index.d.ts
|
||||
packages/app-cli/tests/support/plugins/post_messages/api/index.js
|
||||
packages/app-cli/tests/support/plugins/post_messages/api/index.js.map
|
||||
packages/app-cli/tests/support/plugins/post_messages/api/types.d.ts
|
||||
packages/app-cli/tests/support/plugins/post_messages/api/types.js
|
||||
packages/app-cli/tests/support/plugins/post_messages/api/types.js.map
|
||||
packages/app-cli/tests/support/plugins/post_messages/src/index.d.ts
|
||||
packages/app-cli/tests/support/plugins/post_messages/src/index.js
|
||||
packages/app-cli/tests/support/plugins/post_messages/src/index.js.map
|
||||
packages/app-cli/tests/support/plugins/register_command/api/index.d.ts
|
||||
packages/app-cli/tests/support/plugins/register_command/api/index.js
|
||||
packages/app-cli/tests/support/plugins/register_command/api/index.js.map
|
||||
@@ -309,12 +327,21 @@ packages/app-desktop/gui/ConfigScreen/ButtonBar.js.map
|
||||
packages/app-desktop/gui/ConfigScreen/ConfigScreen.d.ts
|
||||
packages/app-desktop/gui/ConfigScreen/ConfigScreen.js
|
||||
packages/app-desktop/gui/ConfigScreen/ConfigScreen.js.map
|
||||
packages/app-desktop/gui/ConfigScreen/SideBar.d.ts
|
||||
packages/app-desktop/gui/ConfigScreen/SideBar.js
|
||||
packages/app-desktop/gui/ConfigScreen/SideBar.js.map
|
||||
packages/app-desktop/gui/ConfigScreen/controls/PluginsStates.d.ts
|
||||
packages/app-desktop/gui/ConfigScreen/controls/PluginsStates.js
|
||||
packages/app-desktop/gui/ConfigScreen/controls/PluginsStates.js.map
|
||||
packages/app-desktop/gui/ConfigScreen/Sidebar.d.ts
|
||||
packages/app-desktop/gui/ConfigScreen/Sidebar.js
|
||||
packages/app-desktop/gui/ConfigScreen/Sidebar.js.map
|
||||
packages/app-desktop/gui/ConfigScreen/controls/plugins/PluginBox.d.ts
|
||||
packages/app-desktop/gui/ConfigScreen/controls/plugins/PluginBox.js
|
||||
packages/app-desktop/gui/ConfigScreen/controls/plugins/PluginBox.js.map
|
||||
packages/app-desktop/gui/ConfigScreen/controls/plugins/PluginsStates.d.ts
|
||||
packages/app-desktop/gui/ConfigScreen/controls/plugins/PluginsStates.js
|
||||
packages/app-desktop/gui/ConfigScreen/controls/plugins/PluginsStates.js.map
|
||||
packages/app-desktop/gui/ConfigScreen/controls/plugins/SearchPlugins.d.ts
|
||||
packages/app-desktop/gui/ConfigScreen/controls/plugins/SearchPlugins.js
|
||||
packages/app-desktop/gui/ConfigScreen/controls/plugins/SearchPlugins.js.map
|
||||
packages/app-desktop/gui/ConfigScreen/controls/plugins/useOnInstallHandler.d.ts
|
||||
packages/app-desktop/gui/ConfigScreen/controls/plugins/useOnInstallHandler.js
|
||||
packages/app-desktop/gui/ConfigScreen/controls/plugins/useOnInstallHandler.js.map
|
||||
packages/app-desktop/gui/DropboxLoginScreen.d.ts
|
||||
packages/app-desktop/gui/DropboxLoginScreen.js
|
||||
packages/app-desktop/gui/DropboxLoginScreen.js.map
|
||||
@@ -642,21 +669,18 @@ packages/app-desktop/gui/Root_UpgradeSyncTarget.js.map
|
||||
packages/app-desktop/gui/SearchBar/SearchBar.d.ts
|
||||
packages/app-desktop/gui/SearchBar/SearchBar.js
|
||||
packages/app-desktop/gui/SearchBar/SearchBar.js.map
|
||||
packages/app-desktop/gui/SearchBar/styles/index.d.ts
|
||||
packages/app-desktop/gui/SearchBar/styles/index.js
|
||||
packages/app-desktop/gui/SearchBar/styles/index.js.map
|
||||
packages/app-desktop/gui/ShareNoteDialog.d.ts
|
||||
packages/app-desktop/gui/ShareNoteDialog.js
|
||||
packages/app-desktop/gui/ShareNoteDialog.js.map
|
||||
packages/app-desktop/gui/SideBar/SideBar.d.ts
|
||||
packages/app-desktop/gui/SideBar/SideBar.js
|
||||
packages/app-desktop/gui/SideBar/SideBar.js.map
|
||||
packages/app-desktop/gui/SideBar/commands/focusElementSideBar.d.ts
|
||||
packages/app-desktop/gui/SideBar/commands/focusElementSideBar.js
|
||||
packages/app-desktop/gui/SideBar/commands/focusElementSideBar.js.map
|
||||
packages/app-desktop/gui/SideBar/styles/index.d.ts
|
||||
packages/app-desktop/gui/SideBar/styles/index.js
|
||||
packages/app-desktop/gui/SideBar/styles/index.js.map
|
||||
packages/app-desktop/gui/Sidebar/Sidebar.d.ts
|
||||
packages/app-desktop/gui/Sidebar/Sidebar.js
|
||||
packages/app-desktop/gui/Sidebar/Sidebar.js.map
|
||||
packages/app-desktop/gui/Sidebar/commands/focusElementSideBar.d.ts
|
||||
packages/app-desktop/gui/Sidebar/commands/focusElementSideBar.js
|
||||
packages/app-desktop/gui/Sidebar/commands/focusElementSideBar.js.map
|
||||
packages/app-desktop/gui/Sidebar/styles/index.d.ts
|
||||
packages/app-desktop/gui/Sidebar/styles/index.js
|
||||
packages/app-desktop/gui/Sidebar/styles/index.js.map
|
||||
packages/app-desktop/gui/StatusScreen/StatusScreen.d.ts
|
||||
packages/app-desktop/gui/StatusScreen/StatusScreen.js
|
||||
packages/app-desktop/gui/StatusScreen/StatusScreen.js.map
|
||||
@@ -693,6 +717,9 @@ packages/app-desktop/gui/hooks/usePrevious.js.map
|
||||
packages/app-desktop/gui/hooks/usePropsDebugger.d.ts
|
||||
packages/app-desktop/gui/hooks/usePropsDebugger.js
|
||||
packages/app-desktop/gui/hooks/usePropsDebugger.js.map
|
||||
packages/app-desktop/gui/lib/SearchInput/SearchInput.d.ts
|
||||
packages/app-desktop/gui/lib/SearchInput/SearchInput.js
|
||||
packages/app-desktop/gui/lib/SearchInput/SearchInput.js.map
|
||||
packages/app-desktop/gui/lib/ToggleButton/ToggleButton.d.ts
|
||||
packages/app-desktop/gui/lib/ToggleButton/ToggleButton.js
|
||||
packages/app-desktop/gui/lib/ToggleButton/ToggleButton.js.map
|
||||
@@ -990,6 +1017,9 @@ packages/lib/services/KeymapService_keysRegExp.js.map
|
||||
packages/lib/services/KvStore.d.ts
|
||||
packages/lib/services/KvStore.js
|
||||
packages/lib/services/KvStore.js.map
|
||||
packages/lib/services/PostMessageService.d.ts
|
||||
packages/lib/services/PostMessageService.js
|
||||
packages/lib/services/PostMessageService.js.map
|
||||
packages/lib/services/ResourceEditWatcher/index.d.ts
|
||||
packages/lib/services/ResourceEditWatcher/index.js
|
||||
packages/lib/services/ResourceEditWatcher/index.js.map
|
||||
@@ -1107,6 +1137,9 @@ packages/lib/services/plugins/Plugin.js.map
|
||||
packages/lib/services/plugins/PluginService.d.ts
|
||||
packages/lib/services/plugins/PluginService.js
|
||||
packages/lib/services/plugins/PluginService.js.map
|
||||
packages/lib/services/plugins/RepositoryApi.d.ts
|
||||
packages/lib/services/plugins/RepositoryApi.js
|
||||
packages/lib/services/plugins/RepositoryApi.js.map
|
||||
packages/lib/services/plugins/ToolbarButtonController.d.ts
|
||||
packages/lib/services/plugins/ToolbarButtonController.js
|
||||
packages/lib/services/plugins/ToolbarButtonController.js.map
|
||||
@@ -1125,6 +1158,9 @@ packages/lib/services/plugins/api/Joplin.js.map
|
||||
packages/lib/services/plugins/api/JoplinCommands.d.ts
|
||||
packages/lib/services/plugins/api/JoplinCommands.js
|
||||
packages/lib/services/plugins/api/JoplinCommands.js.map
|
||||
packages/lib/services/plugins/api/JoplinContentScripts.d.ts
|
||||
packages/lib/services/plugins/api/JoplinContentScripts.js
|
||||
packages/lib/services/plugins/api/JoplinContentScripts.js.map
|
||||
packages/lib/services/plugins/api/JoplinData.d.ts
|
||||
packages/lib/services/plugins/api/JoplinData.js
|
||||
packages/lib/services/plugins/api/JoplinData.js.map
|
||||
@@ -1191,6 +1227,12 @@ packages/lib/services/plugins/utils/mapEventHandlersToIds.js.map
|
||||
packages/lib/services/plugins/utils/types.d.ts
|
||||
packages/lib/services/plugins/utils/types.js
|
||||
packages/lib/services/plugins/utils/types.js.map
|
||||
packages/lib/services/plugins/utils/validatePluginId.d.ts
|
||||
packages/lib/services/plugins/utils/validatePluginId.js
|
||||
packages/lib/services/plugins/utils/validatePluginId.js.map
|
||||
packages/lib/services/plugins/utils/validatePluginId.test.d.ts
|
||||
packages/lib/services/plugins/utils/validatePluginId.test.js
|
||||
packages/lib/services/plugins/utils/validatePluginId.test.js.map
|
||||
packages/lib/services/rest/Api.d.ts
|
||||
packages/lib/services/rest/Api.js
|
||||
packages/lib/services/rest/Api.js.map
|
||||
@@ -1320,6 +1362,21 @@ packages/lib/uuid.js.map
|
||||
packages/lib/versionInfo.d.ts
|
||||
packages/lib/versionInfo.js
|
||||
packages/lib/versionInfo.js.map
|
||||
packages/plugin-repo-cli/dummy.test.d.ts
|
||||
packages/plugin-repo-cli/dummy.test.js
|
||||
packages/plugin-repo-cli/dummy.test.js.map
|
||||
packages/plugin-repo-cli/index.d.ts
|
||||
packages/plugin-repo-cli/index.js
|
||||
packages/plugin-repo-cli/index.js.map
|
||||
packages/plugins/ToggleSidebars/api/index.d.ts
|
||||
packages/plugins/ToggleSidebars/api/index.js
|
||||
packages/plugins/ToggleSidebars/api/index.js.map
|
||||
packages/plugins/ToggleSidebars/api/types.d.ts
|
||||
packages/plugins/ToggleSidebars/api/types.js
|
||||
packages/plugins/ToggleSidebars/api/types.js.map
|
||||
packages/plugins/ToggleSidebars/src/index.d.ts
|
||||
packages/plugins/ToggleSidebars/src/index.js
|
||||
packages/plugins/ToggleSidebars/src/index.js.map
|
||||
packages/renderer/HtmlToHtml.d.ts
|
||||
packages/renderer/HtmlToHtml.js
|
||||
packages/renderer/HtmlToHtml.js.map
|
||||
@@ -1377,6 +1434,12 @@ packages/renderer/MdToHtml/rules/mermaid.js.map
|
||||
packages/renderer/MdToHtml/rules/sanitize_html.d.ts
|
||||
packages/renderer/MdToHtml/rules/sanitize_html.js
|
||||
packages/renderer/MdToHtml/rules/sanitize_html.js.map
|
||||
packages/renderer/MdToHtml/setupLinkify.d.ts
|
||||
packages/renderer/MdToHtml/setupLinkify.js
|
||||
packages/renderer/MdToHtml/setupLinkify.js.map
|
||||
packages/renderer/MdToHtml/validateLinks.d.ts
|
||||
packages/renderer/MdToHtml/validateLinks.js
|
||||
packages/renderer/MdToHtml/validateLinks.js.map
|
||||
packages/renderer/htmlUtils.d.ts
|
||||
packages/renderer/htmlUtils.js
|
||||
packages/renderer/htmlUtils.js.map
|
||||
@@ -1395,78 +1458,24 @@ packages/renderer/utils.js.map
|
||||
packages/server/src/app.d.ts
|
||||
packages/server/src/app.js
|
||||
packages/server/src/app.js.map
|
||||
packages/server/src/config-base.d.ts
|
||||
packages/server/src/config-base.js
|
||||
packages/server/src/config-base.js.map
|
||||
packages/server/src/config-buildTypes.d.ts
|
||||
packages/server/src/config-buildTypes.js
|
||||
packages/server/src/config-buildTypes.js.map
|
||||
packages/server/src/config-dev.d.ts
|
||||
packages/server/src/config-dev.js
|
||||
packages/server/src/config-dev.js.map
|
||||
packages/server/src/config-prod.d.ts
|
||||
packages/server/src/config-prod.js
|
||||
packages/server/src/config-prod.js.map
|
||||
packages/server/src/config-tests.d.ts
|
||||
packages/server/src/config-tests.js
|
||||
packages/server/src/config-tests.js.map
|
||||
packages/server/src/config.d.ts
|
||||
packages/server/src/config.js
|
||||
packages/server/src/config.js.map
|
||||
packages/server/src/controllers/BaseController.d.ts
|
||||
packages/server/src/controllers/BaseController.js
|
||||
packages/server/src/controllers/BaseController.js.map
|
||||
packages/server/src/controllers/api/FileController.d.ts
|
||||
packages/server/src/controllers/api/FileController.js
|
||||
packages/server/src/controllers/api/FileController.js.map
|
||||
packages/server/src/controllers/api/FileController.test.d.ts
|
||||
packages/server/src/controllers/api/FileController.test.js
|
||||
packages/server/src/controllers/api/FileController.test.js.map
|
||||
packages/server/src/controllers/api/OAuthController.d.ts
|
||||
packages/server/src/controllers/api/OAuthController.js
|
||||
packages/server/src/controllers/api/OAuthController.js.map
|
||||
packages/server/src/controllers/api/SessionController.d.ts
|
||||
packages/server/src/controllers/api/SessionController.js
|
||||
packages/server/src/controllers/api/SessionController.js.map
|
||||
packages/server/src/controllers/api/SessionController.test.d.ts
|
||||
packages/server/src/controllers/api/SessionController.test.js
|
||||
packages/server/src/controllers/api/SessionController.test.js.map
|
||||
packages/server/src/controllers/api/UserController.d.ts
|
||||
packages/server/src/controllers/api/UserController.js
|
||||
packages/server/src/controllers/api/UserController.js.map
|
||||
packages/server/src/controllers/api/UserController.test.d.ts
|
||||
packages/server/src/controllers/api/UserController.test.js
|
||||
packages/server/src/controllers/api/UserController.test.js.map
|
||||
packages/server/src/controllers/factory.d.ts
|
||||
packages/server/src/controllers/factory.js
|
||||
packages/server/src/controllers/factory.js.map
|
||||
packages/server/src/controllers/index/FileController.d.ts
|
||||
packages/server/src/controllers/index/FileController.js
|
||||
packages/server/src/controllers/index/FileController.js.map
|
||||
packages/server/src/controllers/index/HomeController.d.ts
|
||||
packages/server/src/controllers/index/HomeController.js
|
||||
packages/server/src/controllers/index/HomeController.js.map
|
||||
packages/server/src/controllers/index/LoginController.d.ts
|
||||
packages/server/src/controllers/index/LoginController.js
|
||||
packages/server/src/controllers/index/LoginController.js.map
|
||||
packages/server/src/controllers/index/NotificationController.d.ts
|
||||
packages/server/src/controllers/index/NotificationController.js
|
||||
packages/server/src/controllers/index/NotificationController.js.map
|
||||
packages/server/src/controllers/index/ProfileController.d.ts
|
||||
packages/server/src/controllers/index/ProfileController.js
|
||||
packages/server/src/controllers/index/ProfileController.js.map
|
||||
packages/server/src/controllers/index/UserController.d.ts
|
||||
packages/server/src/controllers/index/UserController.js
|
||||
packages/server/src/controllers/index/UserController.js.map
|
||||
packages/server/src/db.d.ts
|
||||
packages/server/src/db.js
|
||||
packages/server/src/db.js.map
|
||||
packages/server/src/middleware/notificationHandler.d.ts
|
||||
packages/server/src/middleware/notificationHandler.js
|
||||
packages/server/src/middleware/notificationHandler.js.map
|
||||
packages/server/src/middleware/notificationHandler.test.d.ts
|
||||
packages/server/src/middleware/notificationHandler.test.js
|
||||
packages/server/src/middleware/notificationHandler.test.js.map
|
||||
packages/server/src/middleware/ownerHandler.d.ts
|
||||
packages/server/src/middleware/ownerHandler.js
|
||||
packages/server/src/middleware/ownerHandler.js.map
|
||||
packages/server/src/middleware/ownerHandler.test.d.ts
|
||||
packages/server/src/middleware/ownerHandler.test.js
|
||||
packages/server/src/middleware/ownerHandler.test.js.map
|
||||
packages/server/src/middleware/routeHandler.d.ts
|
||||
packages/server/src/middleware/routeHandler.js
|
||||
packages/server/src/middleware/routeHandler.js.map
|
||||
@@ -1509,6 +1518,9 @@ packages/server/src/models/SessionModel.js.map
|
||||
packages/server/src/models/UserModel.d.ts
|
||||
packages/server/src/models/UserModel.js
|
||||
packages/server/src/models/UserModel.js.map
|
||||
packages/server/src/models/UserModel.test.d.ts
|
||||
packages/server/src/models/UserModel.test.js
|
||||
packages/server/src/models/UserModel.test.js.map
|
||||
packages/server/src/models/factory.d.ts
|
||||
packages/server/src/models/factory.js
|
||||
packages/server/src/models/factory.js.map
|
||||
@@ -1521,15 +1533,21 @@ packages/server/src/models/utils/pagination.test.js.map
|
||||
packages/server/src/routes/api/files.d.ts
|
||||
packages/server/src/routes/api/files.js
|
||||
packages/server/src/routes/api/files.js.map
|
||||
packages/server/src/routes/api/index.d.ts
|
||||
packages/server/src/routes/api/index.js
|
||||
packages/server/src/routes/api/index.js.map
|
||||
packages/server/src/routes/api/files.test.d.ts
|
||||
packages/server/src/routes/api/files.test.js
|
||||
packages/server/src/routes/api/files.test.js.map
|
||||
packages/server/src/routes/api/ping.d.ts
|
||||
packages/server/src/routes/api/ping.js
|
||||
packages/server/src/routes/api/ping.js.map
|
||||
packages/server/src/routes/api/ping.test.d.ts
|
||||
packages/server/src/routes/api/ping.test.js
|
||||
packages/server/src/routes/api/ping.test.js.map
|
||||
packages/server/src/routes/api/sessions.d.ts
|
||||
packages/server/src/routes/api/sessions.js
|
||||
packages/server/src/routes/api/sessions.js.map
|
||||
packages/server/src/routes/api/sessions.test.d.ts
|
||||
packages/server/src/routes/api/sessions.test.js
|
||||
packages/server/src/routes/api/sessions.test.js.map
|
||||
packages/server/src/routes/default.d.ts
|
||||
packages/server/src/routes/default.js
|
||||
packages/server/src/routes/default.js.map
|
||||
@@ -1539,24 +1557,33 @@ packages/server/src/routes/index/files.js.map
|
||||
packages/server/src/routes/index/home.d.ts
|
||||
packages/server/src/routes/index/home.js
|
||||
packages/server/src/routes/index/home.js.map
|
||||
packages/server/src/routes/index/home.test.d.ts
|
||||
packages/server/src/routes/index/home.test.js
|
||||
packages/server/src/routes/index/home.test.js.map
|
||||
packages/server/src/routes/index/login.d.ts
|
||||
packages/server/src/routes/index/login.js
|
||||
packages/server/src/routes/index/login.js.map
|
||||
packages/server/src/routes/index/login.test.d.ts
|
||||
packages/server/src/routes/index/login.test.js
|
||||
packages/server/src/routes/index/login.test.js.map
|
||||
packages/server/src/routes/index/logout.d.ts
|
||||
packages/server/src/routes/index/logout.js
|
||||
packages/server/src/routes/index/logout.js.map
|
||||
packages/server/src/routes/index/logout.test.d.ts
|
||||
packages/server/src/routes/index/logout.test.js
|
||||
packages/server/src/routes/index/logout.test.js.map
|
||||
packages/server/src/routes/index/notifications.d.ts
|
||||
packages/server/src/routes/index/notifications.js
|
||||
packages/server/src/routes/index/notifications.js.map
|
||||
packages/server/src/routes/index/profile.d.ts
|
||||
packages/server/src/routes/index/profile.js
|
||||
packages/server/src/routes/index/profile.js.map
|
||||
packages/server/src/routes/index/user.d.ts
|
||||
packages/server/src/routes/index/user.js
|
||||
packages/server/src/routes/index/user.js.map
|
||||
packages/server/src/routes/index/notifications.test.d.ts
|
||||
packages/server/src/routes/index/notifications.test.js
|
||||
packages/server/src/routes/index/notifications.test.js.map
|
||||
packages/server/src/routes/index/users.d.ts
|
||||
packages/server/src/routes/index/users.js
|
||||
packages/server/src/routes/index/users.js.map
|
||||
packages/server/src/routes/index/users.test.d.ts
|
||||
packages/server/src/routes/index/users.test.js
|
||||
packages/server/src/routes/index/users.test.js.map
|
||||
packages/server/src/routes/oauth2/authorize.d.ts
|
||||
packages/server/src/routes/oauth2/authorize.js
|
||||
packages/server/src/routes/oauth2/authorize.js.map
|
||||
@@ -1575,6 +1602,9 @@ packages/server/src/tools/dbTools.js.map
|
||||
packages/server/src/tools/generate-types.d.ts
|
||||
packages/server/src/tools/generate-types.js
|
||||
packages/server/src/tools/generate-types.js.map
|
||||
packages/server/src/utils/Router.d.ts
|
||||
packages/server/src/utils/Router.js
|
||||
packages/server/src/utils/Router.js.map
|
||||
packages/server/src/utils/TransactionHandler.d.ts
|
||||
packages/server/src/utils/TransactionHandler.js
|
||||
packages/server/src/utils/TransactionHandler.js.map
|
||||
@@ -1608,12 +1638,24 @@ packages/server/src/utils/routeUtils.js.map
|
||||
packages/server/src/utils/routeUtils.test.d.ts
|
||||
packages/server/src/utils/routeUtils.test.js
|
||||
packages/server/src/utils/routeUtils.test.js.map
|
||||
packages/server/src/utils/testUtils.d.ts
|
||||
packages/server/src/utils/testUtils.js
|
||||
packages/server/src/utils/testUtils.js.map
|
||||
packages/server/src/utils/testing/apiUtils.d.ts
|
||||
packages/server/src/utils/testing/apiUtils.js
|
||||
packages/server/src/utils/testing/apiUtils.js.map
|
||||
packages/server/src/utils/testing/koa/FakeCookies.d.ts
|
||||
packages/server/src/utils/testing/koa/FakeCookies.js
|
||||
packages/server/src/utils/testing/koa/FakeCookies.js.map
|
||||
packages/server/src/utils/testing/koa/FakeRequest.d.ts
|
||||
packages/server/src/utils/testing/koa/FakeRequest.js
|
||||
packages/server/src/utils/testing/koa/FakeRequest.js.map
|
||||
packages/server/src/utils/testing/koa/FakeResponse.d.ts
|
||||
packages/server/src/utils/testing/koa/FakeResponse.js
|
||||
packages/server/src/utils/testing/koa/FakeResponse.js.map
|
||||
packages/server/src/utils/testing/testRouters.d.ts
|
||||
packages/server/src/utils/testing/testRouters.js
|
||||
packages/server/src/utils/testing/testRouters.js.map
|
||||
packages/server/src/utils/testing/testUtils.d.ts
|
||||
packages/server/src/utils/testing/testUtils.js
|
||||
packages/server/src/utils/testing/testUtils.js.map
|
||||
packages/server/src/utils/time.d.ts
|
||||
packages/server/src/utils/time.js
|
||||
packages/server/src/utils/time.js.map
|
||||
@@ -1626,4 +1668,13 @@ packages/server/src/utils/urlUtils.js.map
|
||||
packages/server/src/utils/uuidgen.d.ts
|
||||
packages/server/src/utils/uuidgen.js
|
||||
packages/server/src/utils/uuidgen.js.map
|
||||
packages/tools/lerna-add.d.ts
|
||||
packages/tools/lerna-add.js
|
||||
packages/tools/lerna-add.js.map
|
||||
packages/tools/release-server.d.ts
|
||||
packages/tools/release-server.js
|
||||
packages/tools/release-server.js.map
|
||||
packages/tools/tool-utils.d.ts
|
||||
packages/tools/tool-utils.js
|
||||
packages/tools/tool-utils.js.map
|
||||
# AUTO-GENERATED - EXCLUDED TYPESCRIPT BUILD
|
||||
|
@@ -22,7 +22,8 @@ module.exports = {
|
||||
|
||||
return `joplin.${camelCaseToDots(p)
|
||||
.replace(/menu\.items/, 'menuItems')
|
||||
.replace(/toolbar\.buttons/, 'toolbarButtons')}`;
|
||||
.replace(/toolbar\.buttons/, 'toolbarButtons')
|
||||
.replace(/content\.scripts/, 'contentScripts')}`;
|
||||
},
|
||||
|
||||
jpIsAllowedGroup: function(name) {
|
||||
|
@@ -1,3 +0,0 @@
|
||||
FROM postgres:13.1
|
||||
|
||||
EXPOSE 5432
|
@@ -16,8 +16,15 @@ WORKDIR /home/$user
|
||||
|
||||
RUN mkdir /home/$user/logs
|
||||
|
||||
# Install the root scripts but don't run postinstall (which would bootstrap
|
||||
# and build TypeScript files, but we don't have the TypeScript files at
|
||||
# this point)
|
||||
|
||||
COPY --chown=$user:$user package*.json ./
|
||||
RUN npm install --ignore-scripts
|
||||
|
||||
# To take advantage of the Docker cache, we first copy all the package.json
|
||||
# and package-lock.json files, as they rarely change? and then bootstrap
|
||||
# and package-lock.json files, as they rarely change, and then bootstrap
|
||||
# all the packages.
|
||||
#
|
||||
# Note that bootstrapping the packages will run all the postinstall
|
||||
@@ -27,19 +34,10 @@ RUN mkdir /home/$user/logs
|
||||
# We can't run boostrap with "--ignore-scripts" because that would
|
||||
# prevent certain sub-packages, such as sqlite3, from being built
|
||||
|
||||
COPY --chown=$user:$user package*.json ./
|
||||
|
||||
# Install the root scripts but don't run postinstall (which would bootstrap
|
||||
# and build TypeScript files, but we don't have the TypeScript files at
|
||||
# this point)
|
||||
|
||||
RUN npm install --ignore-scripts
|
||||
|
||||
COPY --chown=$user:$user packages/fork-sax/package*.json ./packages/fork-sax/
|
||||
COPY --chown=$user:$user packages/lib/package*.json ./packages/lib/
|
||||
COPY --chown=$user:$user packages/renderer/package*.json ./packages/renderer/
|
||||
COPY --chown=$user:$user packages/tools/package*.json ./packages/tools/
|
||||
COPY --chown=$user:$user packages/server/package*.json ./packages/server/
|
||||
COPY --chown=$user:$user packages/lib/package*.json ./packages/lib/
|
||||
COPY --chown=$user:$user lerna.json .
|
||||
COPY --chown=$user:$user tsconfig.json .
|
||||
|
||||
@@ -50,22 +48,29 @@ COPY --chown=$user:$user packages/turndown ./packages/turndown
|
||||
COPY --chown=$user:$user packages/turndown-plugin-gfm ./packages/turndown-plugin-gfm
|
||||
COPY --chown=$user:$user packages/fork-htmlparser2 ./packages/fork-htmlparser2
|
||||
|
||||
RUN ls -la /home/$user
|
||||
|
||||
# Then bootstrap only, without compiling the TypeScript files
|
||||
|
||||
RUN npm run bootstrap
|
||||
|
||||
# We have a separate step for the server files because they are more likely to
|
||||
# change.
|
||||
|
||||
COPY --chown=$user:$user packages/server/package*.json ./packages/server/
|
||||
RUN npm run bootstrapServerOnly
|
||||
|
||||
# Now copy the source files. Put lib and server last as they are more likely to change.
|
||||
|
||||
COPY --chown=$user:$user packages/fork-sax ./packages/fork-sax
|
||||
COPY --chown=$user:$user packages/lib ./packages/lib
|
||||
COPY --chown=$user:$user packages/renderer ./packages/renderer
|
||||
COPY --chown=$user:$user packages/tools ./packages/tools
|
||||
COPY --chown=$user:$user packages/lib ./packages/lib
|
||||
COPY --chown=$user:$user packages/server ./packages/server
|
||||
|
||||
# Finally build everything, in particular the TypeScript files.
|
||||
|
||||
RUN npm run build
|
||||
|
||||
EXPOSE ${JOPLIN_PORT}
|
||||
ENV RUNNING_IN_DOCKER=1
|
||||
EXPOSE ${APP_PORT}
|
||||
|
||||
CMD [ "npm", "--prefix", "packages/server", "start" ]
|
||||
|
@@ -162,7 +162,7 @@ DESKTOP=${DESKTOP,,} # convert to lower case
|
||||
|
||||
#-----------------------------------------------------
|
||||
echo 'Create Desktop icon...'
|
||||
if [[ $DESKTOP =~ .*gnome.*|.*kde.*|.*xfce.*|.*mate.*|.*lxqt.*|.*unity.*|.*x-cinnamon.*|.*deepin.*|.*pantheon.*|.*lxde.*|.*i3.* ]]
|
||||
if [[ $DESKTOP =~ .*gnome.*|.*kde.*|.*xfce.*|.*mate.*|.*lxqt.*|.*unity.*|.*x-cinnamon.*|.*deepin.*|.*pantheon.*|.*lxde.*|.*i3.*|.*sway.* ]]
|
||||
then
|
||||
# Only delete the desktop file if it will be replaced
|
||||
rm -f ~/.local/share/applications/appimagekit-joplin.desktop
|
||||
|
17
README.md
17
README.md
@@ -18,11 +18,17 @@ Three types of applications are available: for the **desktop** (Windows, macOS a
|
||||
|
||||
## Desktop applications
|
||||
|
||||
Operating System | Download | Alternative
|
||||
---|---|---
|
||||
Windows (32 and 64-bit) | <a href='https://github.com/laurent22/joplin/releases/download/v1.5.11/Joplin-Setup-1.5.11.exe'><img alt='Get it on Windows' width="134px" src='https://joplinapp.org/images/BadgeWindows.png'/></a> | Or get the <a href='https://github.com/laurent22/joplin/releases/download/v1.5.11/JoplinPortable.exe'>Portable version</a><br><br>The [portable application](https://en.wikipedia.org/wiki/Portable_application) allows installing the software on a portable device such as a USB key. Simply copy the file JoplinPortable.exe in any directory on that USB key ; the application will then create a directory called "JoplinProfile" next to the executable file.
|
||||
macOS | <a href='https://github.com/laurent22/joplin/releases/download/v1.5.11/Joplin-1.5.11.dmg'><img alt='Get it on macOS' width="134px" src='https://joplinapp.org/images/BadgeMacOS.png'/></a> | -
|
||||
Linux | <a href='https://github.com/laurent22/joplin/releases/download/v1.5.11/Joplin-1.5.11.AppImage'><img alt='Get it on Linux' width="134px" src='https://joplinapp.org/images/BadgeLinux.png'/></a> | The recommended way is to use the following installation script as it will handle the desktop icon too:<br><br> `wget -O - https://raw.githubusercontent.com/laurent22/joplin/dev/Joplin_install_and_update.sh \| bash`
|
||||
Operating System | Download
|
||||
---|---
|
||||
Windows (32 and 64-bit) | <a href='https://github.com/laurent22/joplin/releases/download/v1.6.6/Joplin-Setup-1.6.6.exe'><img alt='Get it on Windows' width="134px" src='https://joplinapp.org/images/BadgeWindows.png'/></a>
|
||||
macOS | <a href='https://github.com/laurent22/joplin/releases/download/v1.6.6/Joplin-1.6.6.dmg'><img alt='Get it on macOS' width="134px" src='https://joplinapp.org/images/BadgeMacOS.png'/></a>
|
||||
Linux | <a href='https://github.com/laurent22/joplin/releases/download/v1.6.6/Joplin-1.6.6.AppImage'><img alt='Get it on Linux' width="134px" src='https://joplinapp.org/images/BadgeLinux.png'/></a>
|
||||
|
||||
**On Windows**, you may also use the <a href='https://github.com/laurent22/joplin/releases/download/v1.6.6/JoplinPortable.exe'>Portable version</a>. The [portable application](https://en.wikipedia.org/wiki/Portable_application) allows installing the software on a portable device such as a USB key. Simply copy the file JoplinPortable.exe in any directory on that USB key ; the application will then create a directory called "JoplinProfile" next to the executable file.
|
||||
|
||||
**On Linux**, the recommended way is to use the following installation script as it will handle the desktop icon too:
|
||||
|
||||
<pre><code style="word-break: break-all">wget -O - https://raw.githubusercontent.com/laurent22/joplin/dev/Joplin_install_and_update.sh | bash</code></pre>
|
||||
|
||||
## Mobile applications
|
||||
|
||||
@@ -229,6 +235,7 @@ WebDAV-compatible services that are known to work with Joplin:
|
||||
- [OwnCloud](https://owncloud.org/)
|
||||
- [Seafile](https://www.seafile.com/)
|
||||
- [Stack](https://www.transip.nl/stack/)
|
||||
- [Synology WebDAV Server](https://www.synology.com/en-us/dsm/packages/WebDAVServer)
|
||||
- [WebDAV Nav](https://www.schimera.com/products/webdav-nav-server/), a macOS server.
|
||||
- [Zimbra](https://www.zimbra.com/)
|
||||
|
||||
|
15
docker-compose.db-dev.yml
Normal file
15
docker-compose.db-dev.yml
Normal file
@@ -0,0 +1,15 @@
|
||||
# For development this compose file starts the database only. The app can then
|
||||
# be started using `npm run start-dev`, which is useful for development, because
|
||||
# it means the app Docker file doesn't have to be rebuilt on each change.
|
||||
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
db:
|
||||
image: postgres:13.1
|
||||
ports:
|
||||
- "5432:5432"
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=joplin
|
||||
- POSTGRES_USER=joplin
|
||||
- POSTGRES_DB=joplin
|
@@ -1,28 +1,27 @@
|
||||
# For development, the easiest might be to only start the Postgres container and
|
||||
# run the app directly with `npm start`. Or use sqlite3.
|
||||
# This compose file can be used in development to run both the database and app
|
||||
# within Docker.
|
||||
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
# app:
|
||||
# build:
|
||||
# context: .
|
||||
# dockerfile: Dockerfile.server-dev
|
||||
# ports:
|
||||
# - "22300:22300"
|
||||
# # volumes:
|
||||
# # - ./packages/server/:/var/www/joplin/packages/server/
|
||||
# # - /var/www/joplin/packages/server/node_modules/
|
||||
db:
|
||||
app:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile.db
|
||||
dockerfile: Dockerfile.server
|
||||
ports:
|
||||
- "22300:22300"
|
||||
environment:
|
||||
- DB_CLIENT=pg
|
||||
- POSTGRES_PASSWORD=joplin
|
||||
- POSTGRES_DATABASE=joplin
|
||||
- POSTGRES_USER=joplin
|
||||
- POSTGRES_PORT=5432
|
||||
- POSTGRES_HOST=localhost
|
||||
db:
|
||||
image: postgres:13.1
|
||||
ports:
|
||||
- "5432:5432"
|
||||
environment:
|
||||
# TODO: Considering the database is only exposed to the
|
||||
# application, and not to the outside world, is there a need to
|
||||
# pick a secure password?
|
||||
- POSTGRES_PASSWORD=joplin
|
||||
- POSTGRES_USER=joplin
|
||||
- POSTGRES_DB=joplin
|
||||
- POSTGRES_DB=joplin
|
||||
|
@@ -1,40 +1,34 @@
|
||||
# This is a sample docker-compose file that can be used to run Joplin Server
|
||||
# along with a PostgreSQL server.
|
||||
#
|
||||
# All environment variables are optional. If you don't set them, you will get a
|
||||
# warning from docker-compose, however the app should use working defaults.
|
||||
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
app:
|
||||
environment:
|
||||
- JOPLIN_BASE_URL=${JOPLIN_BASE_URL}
|
||||
- JOPLIN_PORT=${JOPLIN_PORT}
|
||||
restart: unless-stopped
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile.server
|
||||
ports:
|
||||
- "${JOPLIN_PORT}:${JOPLIN_PORT}"
|
||||
# volumes:
|
||||
# # Mount the server directory so that it's possible to edit file
|
||||
# # while the container is running. However don't mount the
|
||||
# # node_modules directory which will be specific to the Docker
|
||||
# # image (eg native modules will be built for Ubuntu, while the
|
||||
# # container might be running in Windows)
|
||||
# # https://stackoverflow.com/a/37898591/561309
|
||||
# - ./packages/server:/home/joplin/packages/server
|
||||
# - /home/joplin/packages/server/node_modules/
|
||||
db:
|
||||
restart: unless-stopped
|
||||
# By default, the Postgres image saves the data to a Docker volume,
|
||||
# so it persists whenever the server is restarted using
|
||||
# `docker-compose up`. Note that it would however be deleted when
|
||||
# running `docker-compose down`.
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile.db
|
||||
image: postgres:13.1
|
||||
ports:
|
||||
- "5432:5432"
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
# TODO: Considering the database is only exposed to the
|
||||
# application, and not to the outside world, is there a need to
|
||||
# pick a secure password?
|
||||
- POSTGRES_PASSWORD=joplin
|
||||
- POSTGRES_USER=joplin
|
||||
- POSTGRES_DB=joplin
|
||||
- APP_PORT=22300
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||
- POSTGRES_USER=${POSTGRES_USER}
|
||||
- POSTGRES_DB=${POSTGRES_DATABASE}
|
||||
app:
|
||||
image: joplin/server:latest
|
||||
depends_on:
|
||||
- db
|
||||
ports:
|
||||
- "22300:22300"
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- APP_BASE_URL=${APP_BASE_URL}
|
||||
- DB_CLIENT=pg
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||
- POSTGRES_DATABASE=${POSTGRES_DATABASE}
|
||||
- POSTGRES_USER=${POSTGRES_USER}
|
||||
- POSTGRES_PORT=${POSTGRES_PORT}
|
||||
- POSTGRES_HOST=db
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/get_started/plugins.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/get_started/plugins.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -470,7 +472,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/get_started/plugins.md
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/overview.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/overview.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -462,7 +464,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/overview.md
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/development_m
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/development_m
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -441,7 +443,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/development_m
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
File diff suppressed because one or more lines are too long
@@ -102,6 +102,7 @@
|
||||
<h3>Accessors</h3>
|
||||
<ul class="tsd-index-list">
|
||||
<li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="joplin.html#commands" class="tsd-kind-icon">commands</a></li>
|
||||
<li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="joplin.html#contentscripts" class="tsd-kind-icon">content<wbr>Scripts</a></li>
|
||||
<li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="joplin.html#data" class="tsd-kind-icon">data</a></li>
|
||||
<li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="joplin.html#interop" class="tsd-kind-icon">interop</a></li>
|
||||
<li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="joplin.html#plugins" class="tsd-kind-icon">plugins</a></li>
|
||||
@@ -131,6 +132,24 @@
|
||||
<h4 class="tsd-returns-title">Returns <a href="joplincommands.html" class="tsd-signature-type">joplin.commands</a></h4>
|
||||
|
||||
|
||||
-->
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class">
|
||||
<a name="contentscripts" class="tsd-anchor"></a>
|
||||
<h3>content<wbr>Scripts</h3>
|
||||
<ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class">
|
||||
<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> contentScripts<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="joplincontentscripts.html" class="tsd-signature-type">joplin.contentScripts</a></li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
<aside class="tsd-sources">
|
||||
</aside>
|
||||
<!-- JOPLINCHANGE
|
||||
<h4 class="tsd-returns-title">Returns <a href="joplincontentscripts.html" class="tsd-signature-type">joplin.contentScripts</a></h4>
|
||||
|
||||
|
||||
-->
|
||||
</li>
|
||||
</ul>
|
||||
@@ -268,6 +287,9 @@
|
||||
<li class=" tsd-kind-get-signature tsd-parent-kind-class">
|
||||
<a href="joplin.html#commands" class="tsd-kind-icon">commands</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-get-signature tsd-parent-kind-class">
|
||||
<a href="joplin.html#contentscripts" class="tsd-kind-icon">content<wbr>Scripts</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-get-signature tsd-parent-kind-class">
|
||||
<a href="joplin.html#data" class="tsd-kind-icon">data</a>
|
||||
</li>
|
||||
|
256
docs/api/references/plugin_api/classes/joplincontentscripts.html
Normal file
256
docs/api/references/plugin_api/classes/joplincontentscripts.html
Normal file
@@ -0,0 +1,256 @@
|
||||
<!doctype html>
|
||||
<html class="default no-js">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<title>joplin.contentScripts | Joplin Plugin API Documentation</title>
|
||||
<meta name="description" content="Documentation for Joplin Plugin API Documentation">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../assets/css/main.css">
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<div class="tsd-page-toolbar">
|
||||
<div class="container">
|
||||
<div class="table-wrap">
|
||||
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
|
||||
<div class="field">
|
||||
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
|
||||
<input id="tsd-search-field" type="text" />
|
||||
</div>
|
||||
<ul class="results">
|
||||
<li class="state loading">Preparing search index...</li>
|
||||
<li class="state failure">The search index is not available</li>
|
||||
</ul>
|
||||
<a href="joplin.html" class="title">Joplin Plugin API Documentation</a>
|
||||
</div>
|
||||
<div class="table-cell" id="tsd-widgets">
|
||||
<div id="tsd-filter">
|
||||
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
|
||||
<div class="tsd-filter-group">
|
||||
<div class="tsd-select" id="tsd-filter-visibility">
|
||||
<span class="tsd-select-label">All</span>
|
||||
<ul class="tsd-select-list">
|
||||
<li data-value="public">Public</li>
|
||||
<li data-value="protected">Public/Protected</li>
|
||||
<li data-value="private" class="selected">All</li>
|
||||
</ul>
|
||||
</div>
|
||||
<input type="checkbox" id="tsd-filter-inherited" checked />
|
||||
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tsd-page-title">
|
||||
<div class="container">
|
||||
<ul class="tsd-breadcrumb">
|
||||
<!--
|
||||
<li>
|
||||
<a href="../globals.html">Globals</a>
|
||||
</li>
|
||||
-->
|
||||
<li>
|
||||
<a href="joplincontentscripts.html">joplin.contentScripts</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h1><!-- Class -->joplin.contentScripts</h1>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<div class="container container-main">
|
||||
<div class="row">
|
||||
<div class="col-8 col-content">
|
||||
<!--
|
||||
<section class="tsd-panel tsd-hierarchy">
|
||||
<h3>Hierarchy</h3>
|
||||
<ul class="tsd-hierarchy">
|
||||
<li>
|
||||
<span class="target">JoplinContentScripts</span>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</section>
|
||||
-->
|
||||
<section class="tsd-panel-group tsd-index-group">
|
||||
<h2>Index</h2>
|
||||
<section class="tsd-panel tsd-index-panel">
|
||||
<div class="tsd-index-content">
|
||||
<section class="tsd-index-section ">
|
||||
</section>
|
||||
<section class="tsd-index-section ">
|
||||
<h3>Methods</h3>
|
||||
<ul class="tsd-index-list">
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplincontentscripts.html#onmessage" class="tsd-kind-icon">on<wbr>Message</a></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplincontentscripts.html#register" class="tsd-kind-icon">register</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<section class="tsd-panel-group tsd-member-group ">
|
||||
</section>
|
||||
<section class="tsd-panel-group tsd-member-group ">
|
||||
<h2>Methods</h2>
|
||||
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
|
||||
<a name="onmessage" class="tsd-anchor"></a>
|
||||
<h3>on<wbr>Message</h3>
|
||||
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
|
||||
<li class="tsd-signature tsd-kind-icon">on<wbr>Message<span class="tsd-signature-symbol">(</span>contentScriptId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, callback<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</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>Listens to a messages sent from the content script using postMessage().
|
||||
See <a href="../enums/contentscripttype.html">ContentScriptType</a> for more information as well as the
|
||||
<a href="https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/post_messages">postMessage
|
||||
demo</a></p>
|
||||
</div>
|
||||
</div>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>contentScriptId: <span class="tsd-signature-type">string</span></h5>
|
||||
</li>
|
||||
<li>
|
||||
<h5>callback: <span class="tsd-signature-type">any</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>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
|
||||
<a name="register" class="tsd-anchor"></a>
|
||||
<h3>register</h3>
|
||||
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
|
||||
<li class="tsd-signature tsd-kind-icon">register<span class="tsd-signature-symbol">(</span>type<span class="tsd-signature-symbol">: </span><a href="../enums/contentscripttype.html" class="tsd-signature-type">ContentScriptType</a>, id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, scriptPath<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</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 a new content script. Unlike regular plugin code, which runs in
|
||||
a separate process, content scripts run within the main process code and
|
||||
thus allow improved performances and more customisations in specific
|
||||
cases. It can be used for example to load a Markdown or editor plugin.</p>
|
||||
</div>
|
||||
<p>Note that registering a content script in itself will do nothing - it
|
||||
will only be loaded in specific cases by the relevant app modules (eg.
|
||||
the Markdown renderer or the code editor). So it is not a way to inject
|
||||
and run arbitrary code in the app, which for safety and performance
|
||||
reasons is not supported.</p>
|
||||
<p>The plugin generator provides a way to build any content script you might
|
||||
want to package as well as its dependencies. See the <a href="https://github.com/laurent22/joplin/blob/dev/packages/generator-joplin/README.md">Plugin Generator
|
||||
doc</a>
|
||||
for more information.</p>
|
||||
<ul>
|
||||
<li><a href="https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/content_script">View the renderer demo plugin</a></li>
|
||||
<li><a href="https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/codemirror_content_script">View the editor demo plugin</a></li>
|
||||
</ul>
|
||||
<p>See also the <a href="https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/post_messages">postMessage demo</a></p>
|
||||
</div>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>type: <a href="../enums/contentscripttype.html" class="tsd-signature-type">ContentScriptType</a></h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<p>Defines how the script will be used. See the type definition for more information about each supported type.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<h5>id: <span class="tsd-signature-type">string</span></h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<p>A unique ID for the content script.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<h5>scriptPath: <span class="tsd-signature-type">string</span></h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<p>Must be a path relative to the plugin main script. For example, if your file content_script.js is next to your index.ts file, you would set <code>scriptPath</code> to <code>"./content_script.js</code>.</p>
|
||||
</div>
|
||||
</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>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
|
||||
<!--
|
||||
<nav class="tsd-navigation primary">
|
||||
<ul>
|
||||
<li class="globals ">
|
||||
<a href="../globals.html"><em>Globals</em></a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
-->
|
||||
<nav class="tsd-navigation secondary menu-sticky">
|
||||
<ul class="before-current">
|
||||
</ul>
|
||||
<ul class="current">
|
||||
<li class="current tsd-kind-class">
|
||||
<a href="joplincontentscripts.html" class="tsd-kind-icon">joplin.contentScripts</a>
|
||||
<ul>
|
||||
<li class=" tsd-kind-constructor tsd-parent-kind-class">
|
||||
<a href="joplincontentscripts.html#constructor" class="tsd-kind-icon">constructor</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-method tsd-parent-kind-class">
|
||||
<a href="joplincontentscripts.html#onmessage" class="tsd-kind-icon">on<wbr>Message</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-method tsd-parent-kind-class">
|
||||
<a href="joplincontentscripts.html#register" class="tsd-kind-icon">register</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="after-current">
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- JOPLINCHANGE
|
||||
<footer class="with-border-bottom">
|
||||
<div class="container">
|
||||
<h2>Legend</h2>
|
||||
<div class="tsd-legend-group">
|
||||
<ul class="tsd-legend">
|
||||
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
|
||||
</ul>
|
||||
<ul class="tsd-legend">
|
||||
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<div class="container tsd-generator">
|
||||
<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
|
||||
</div>
|
||||
-->
|
||||
<div class="overlay"></div>
|
||||
<script src="../assets/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
@@ -149,42 +149,22 @@
|
||||
<aside class="tsd-sources">
|
||||
</aside>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>Registers a new content script. Unlike regular plugin code, which
|
||||
runs in a separate process, content scripts run within the main
|
||||
process code and thus allow improved performances and more
|
||||
customisations in specific cases. It can be used for example to load
|
||||
a Markdown or editor plugin.</p>
|
||||
</div>
|
||||
<p>Note that registering a content script in itself will do nothing -
|
||||
it will only be loaded in specific cases by the relevant app modules
|
||||
(eg. the Markdown renderer or the code editor). So it is not a way
|
||||
to inject and run arbitrary code in the app, which for safety and
|
||||
performance reasons is not supported.</p>
|
||||
<ul>
|
||||
<li><a href="https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/content_script">View the renderer demo plugin</a></li>
|
||||
<li><a href="https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/codemirror_content_script">View the editor demo plugin</a></li>
|
||||
</ul>
|
||||
<dl class="tsd-comment-tags">
|
||||
<dt>deprecated</dt>
|
||||
<dd><p>Use joplin.contentScripts.register()</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>type: <a href="../enums/contentscripttype.html" class="tsd-signature-type">ContentScriptType</a></h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<p>Defines how the script will be used. See the type definition for more information about each supported type.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<h5>id: <span class="tsd-signature-type">string</span></h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<p>A unique ID for the content script.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<h5>scriptPath: <span class="tsd-signature-type">string</span></h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<p>Must be a path relative to the plugin main script. For example, if your file content_script.js is next to your index.ts file, you would set <code>scriptPath</code> to <code>"./content_script.js</code>.</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- JOPLINCHANGE
|
||||
|
@@ -96,6 +96,7 @@
|
||||
<h3>Methods</h3>
|
||||
<ul class="tsd-index-list">
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplinsettings.html#globalvalue" class="tsd-kind-icon">global<wbr>Value</a></li>
|
||||
<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#setvalue" class="tsd-kind-icon">set<wbr>Value</a></li>
|
||||
@@ -136,6 +137,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">any</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="onchange" class="tsd-anchor"></a>
|
||||
<h3>on<wbr>Change</h3>
|
||||
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
|
||||
<li class="tsd-signature tsd-kind-icon">on<wbr>Change<span class="tsd-signature-symbol">(</span>handler<span class="tsd-signature-symbol">: </span><a href="../globals.html#changehandler" class="tsd-signature-type">ChangeHandler</a><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>Called when one or multiple settings of your plugin have been changed.</p>
|
||||
<ul>
|
||||
<li>For performance reasons, this event is triggered with a delay.</li>
|
||||
<li>You will only get events for your own plugin settings.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>handler: <a href="../globals.html#changehandler" class="tsd-signature-type">ChangeHandler</a></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>
|
||||
@@ -293,6 +327,9 @@
|
||||
<li class=" tsd-kind-method tsd-parent-kind-class">
|
||||
<a href="joplinsettings.html#globalvalue" class="tsd-kind-icon">global<wbr>Value</a>
|
||||
</li>
|
||||
<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>
|
||||
|
@@ -117,6 +117,7 @@
|
||||
<section class="tsd-index-section ">
|
||||
<h3>Methods</h3>
|
||||
<ul class="tsd-index-list">
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplinviewsdialogs.html#addscript" class="tsd-kind-icon">add<wbr>Script</a></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplinviewsdialogs.html#create" class="tsd-kind-icon">create</a></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplinviewsdialogs.html#open" class="tsd-kind-icon">open</a></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplinviewsdialogs.html#setbuttons" class="tsd-kind-icon">set<wbr>Buttons</a></li>
|
||||
@@ -131,6 +132,38 @@
|
||||
</section>
|
||||
<section class="tsd-panel-group tsd-member-group ">
|
||||
<h2>Methods</h2>
|
||||
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
|
||||
<a name="addscript" class="tsd-anchor"></a>
|
||||
<h3>add<wbr>Script</h3>
|
||||
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
|
||||
<li class="tsd-signature tsd-kind-icon">add<wbr>Script<span class="tsd-signature-symbol">(</span>handle<span class="tsd-signature-symbol">: </span><a href="../globals.html#viewhandle" class="tsd-signature-type">ViewHandle</a>, scriptPath<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</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>Adds and loads a new JS or CSS files into the dialog.</p>
|
||||
</div>
|
||||
</div>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>handle: <a href="../globals.html#viewhandle" class="tsd-signature-type">ViewHandle</a></h5>
|
||||
</li>
|
||||
<li>
|
||||
<h5>scriptPath: <span class="tsd-signature-type">string</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>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
|
||||
<a name="create" class="tsd-anchor"></a>
|
||||
<h3>create</h3>
|
||||
@@ -304,6 +337,9 @@
|
||||
<li class=" tsd-kind-constructor tsd-parent-kind-class">
|
||||
<a href="joplinviewsdialogs.html#constructor" class="tsd-kind-icon">constructor</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-method tsd-parent-kind-class">
|
||||
<a href="joplinviewsdialogs.html#addscript" class="tsd-kind-icon">add<wbr>Script</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-method tsd-parent-kind-class">
|
||||
<a href="joplinviewsdialogs.html#create" class="tsd-kind-icon">create</a>
|
||||
</li>
|
||||
|
@@ -99,8 +99,11 @@
|
||||
<ul class="tsd-index-list">
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplinviewspanels.html#addscript" class="tsd-kind-icon">add<wbr>Script</a></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplinviewspanels.html#create" class="tsd-kind-icon">create</a></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplinviewspanels.html#hide" class="tsd-kind-icon">hide</a></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplinviewspanels.html#onmessage" class="tsd-kind-icon">on<wbr>Message</a></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplinviewspanels.html#sethtml" class="tsd-kind-icon">set<wbr>Html</a></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplinviewspanels.html#show" class="tsd-kind-icon">show</a></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplinviewspanels.html#visible" class="tsd-kind-icon">visible</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
</div>
|
||||
@@ -167,6 +170,35 @@
|
||||
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><a href="../globals.html#viewhandle" class="tsd-signature-type">ViewHandle</a><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="hide" class="tsd-anchor"></a>
|
||||
<h3>hide</h3>
|
||||
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
|
||||
<li class="tsd-signature tsd-kind-icon">hide<span class="tsd-signature-symbol">(</span>handle<span class="tsd-signature-symbol">: </span><a href="../globals.html#viewhandle" class="tsd-signature-type">ViewHandle</a><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>Hides the panel</p>
|
||||
</div>
|
||||
</div>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>handle: <a href="../globals.html#viewhandle" class="tsd-signature-type">ViewHandle</a></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>
|
||||
@@ -185,6 +217,16 @@
|
||||
<div class="lead">
|
||||
<p>Called when a message is sent from the webview (using postMessage).</p>
|
||||
</div>
|
||||
<p>To post a message from the webview to the plugin use:</p>
|
||||
<pre><code class="language-javascript"><span class="hljs-keyword">const</span> response = <span class="hljs-keyword">await</span> webviewApi.postMessage(message);</code></pre>
|
||||
<ul>
|
||||
<li><code>message</code> can be any JavaScript object, string or number</li>
|
||||
<li><code>response</code> is whatever was returned by the <code>onMessage</code> handler</li>
|
||||
</ul>
|
||||
<p>Using this mechanism, you can have two-way communication between the
|
||||
plugin and webview.</p>
|
||||
<p>See the <a href="https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/post_messages">postMessage
|
||||
demo</a> for more details.</p>
|
||||
</div>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
@@ -231,6 +273,67 @@
|
||||
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</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="show" class="tsd-anchor"></a>
|
||||
<h3>show</h3>
|
||||
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
|
||||
<li class="tsd-signature tsd-kind-icon">show<span class="tsd-signature-symbol">(</span>handle<span class="tsd-signature-symbol">: </span><a href="../globals.html#viewhandle" class="tsd-signature-type">ViewHandle</a>, show<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</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>Shows the panel</p>
|
||||
</div>
|
||||
</div>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>handle: <a href="../globals.html#viewhandle" class="tsd-signature-type">ViewHandle</a></h5>
|
||||
</li>
|
||||
<li>
|
||||
<h5><span class="tsd-flag ts-flagDefault value">Default value</span> show: <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = true</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>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
|
||||
<a name="visible" class="tsd-anchor"></a>
|
||||
<h3>visible</h3>
|
||||
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
|
||||
<li class="tsd-signature tsd-kind-icon">visible<span class="tsd-signature-symbol">(</span>handle<span class="tsd-signature-symbol">: </span><a href="../globals.html#viewhandle" class="tsd-signature-type">ViewHandle</a><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">boolean</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>Tells whether the panel is visible or not</p>
|
||||
</div>
|
||||
</div>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>handle: <a href="../globals.html#viewhandle" class="tsd-signature-type">ViewHandle</a></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">boolean</span><span class="tsd-signature-symbol">></span></h4>
|
||||
|
||||
|
||||
-->
|
||||
</li>
|
||||
</ul>
|
||||
@@ -263,12 +366,21 @@
|
||||
<li class=" tsd-kind-method tsd-parent-kind-class">
|
||||
<a href="joplinviewspanels.html#create" class="tsd-kind-icon">create</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-method tsd-parent-kind-class">
|
||||
<a href="joplinviewspanels.html#hide" class="tsd-kind-icon">hide</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-method tsd-parent-kind-class">
|
||||
<a href="joplinviewspanels.html#onmessage" class="tsd-kind-icon">on<wbr>Message</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-method tsd-parent-kind-class">
|
||||
<a href="joplinviewspanels.html#sethtml" class="tsd-kind-icon">set<wbr>Html</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-method tsd-parent-kind-class">
|
||||
<a href="joplinviewspanels.html#show" class="tsd-kind-icon">show</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-method tsd-parent-kind-class">
|
||||
<a href="joplinviewspanels.html#visible" class="tsd-kind-icon">visible</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
@@ -102,6 +102,7 @@
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplinworkspace.html#onnoteselectionchange" class="tsd-kind-icon">on<wbr>Note<wbr>Selection<wbr>Change</a></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplinworkspace.html#onsynccomplete" class="tsd-kind-icon">on<wbr>Sync<wbr>Complete</a></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplinworkspace.html#onsyncstart" class="tsd-kind-icon">on<wbr>Sync<wbr>Start</a></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplinworkspace.html#selectedfolder" class="tsd-kind-icon">selected<wbr>Folder</a></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplinworkspace.html#selectednote" class="tsd-kind-icon">selected<wbr>Note</a></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><a href="joplinworkspace.html#selectednoteids" class="tsd-kind-icon">selected<wbr>Note<wbr>Ids</a></li>
|
||||
</ul>
|
||||
@@ -288,6 +289,32 @@
|
||||
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><a href="../interfaces/disposable.html" class="tsd-signature-type">Disposable</a><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="selectedfolder" class="tsd-anchor"></a>
|
||||
<h3>selected<wbr>Folder</h3>
|
||||
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
|
||||
<li class="tsd-signature tsd-kind-icon">selected<wbr>Folder<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">FolderEntity</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>Gets the currently selected folder. In some cases, for example during
|
||||
search or when viewing a tag, no folder is actually selected in the user
|
||||
interface. In that case, that function would return the last selected
|
||||
folder.</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 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">FolderEntity</span><span class="tsd-signature-symbol">></span></h4>
|
||||
|
||||
|
||||
-->
|
||||
</li>
|
||||
</ul>
|
||||
@@ -378,6 +405,9 @@
|
||||
<li class=" tsd-kind-method tsd-parent-kind-class">
|
||||
<a href="joplinworkspace.html#onsyncstart" class="tsd-kind-icon">on<wbr>Sync<wbr>Start</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-method tsd-parent-kind-class">
|
||||
<a href="joplinworkspace.html#selectedfolder" class="tsd-kind-icon">selected<wbr>Folder</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-method tsd-parent-kind-class">
|
||||
<a href="joplinworkspace.html#selectednote" class="tsd-kind-icon">selected<wbr>Note</a>
|
||||
</li>
|
||||
|
@@ -108,42 +108,56 @@
|
||||
}
|
||||
}</code></pre>
|
||||
<ul>
|
||||
<li><p>The <code>context</code> argument is currently unused but could be used later
|
||||
on to provide access to your own plugin so that the content script
|
||||
and plugin can communicate.</p>
|
||||
<li><p>The <code>context</code> argument is currently unused but could be used later on
|
||||
to provide access to your own plugin so that the content script and
|
||||
plugin can communicate.</p>
|
||||
</li>
|
||||
<li><p>The <code>plugin</code> key is your CodeMirror plugin. This is where you can
|
||||
register new commands with CodeMirror or interact with the
|
||||
CodeMirror instance as needed.</p>
|
||||
register new commands with CodeMirror or interact with the CodeMirror
|
||||
instance as needed.</p>
|
||||
</li>
|
||||
<li><p>The <code>codeMirrorResources</code> key is an array of CodeMirror resources
|
||||
that will be loaded and attached to the CodeMirror module. These
|
||||
are made up of addons, keymaps, and modes. For example, for a
|
||||
plugin that want's to enable clojure highlighting in code blocks.
|
||||
<code>codeMirrorResources</code> would be set to <code>['mode/clojure/clojure']</code>.</p>
|
||||
<li><p>The <code>codeMirrorResources</code> key is an array of CodeMirror resources that
|
||||
will be loaded and attached to the CodeMirror module. These are made up
|
||||
of addons, keymaps, and modes. For example, for a plugin that want's to
|
||||
enable clojure highlighting in code blocks. <code>codeMirrorResources</code> would
|
||||
be set to <code>['mode/clojure/clojure']</code>.</p>
|
||||
</li>
|
||||
<li><p>The <code>codeMirrorOptions</code> key contains all the
|
||||
<a href="https://codemirror.net/doc/manual.html#config">CodeMirror</a>
|
||||
options that will be set or changed by this plugin. New options
|
||||
can alse be declared via
|
||||
<a href="https://codemirror.net/doc/manual.html#config">CodeMirror</a> options
|
||||
that will be set or changed by this plugin. New options can alse be
|
||||
declared via
|
||||
<a href="https://codemirror.net/doc/manual.html#defineOption"><code>CodeMirror.defineOption</code></a>,
|
||||
and then have their value set here. For example, a plugin that
|
||||
enables line numbers would set <code>codeMirrorOptions</code> to
|
||||
<code>{'lineNumbers': true}</code>.</p>
|
||||
and then have their value set here. For example, a plugin that enables
|
||||
line numbers would set <code>codeMirrorOptions</code> to <code>{'lineNumbers': true}</code>.</p>
|
||||
</li>
|
||||
<li><p>Using the <strong>optional</strong> <code>assets</code> key you may specify <strong>only</strong> CSS
|
||||
assets that should be loaded in the rendered HTML document. Check
|
||||
for example the Joplin [Mermaid
|
||||
<li><p>Using the <strong>optional</strong> <code>assets</code> key you may specify <strong>only</strong> CSS assets
|
||||
that should be loaded in the rendered HTML document. Check for example
|
||||
the Joplin [Mermaid
|
||||
plugin](<a href="https://github.com/laurent22/joplin/blob/dev/packages/renderer/MdToHtml/rules/mermaid.ts">https://github.com/laurent22/joplin/blob/dev/packages/renderer/MdToHtml/rules/mermaid.ts</a>)
|
||||
to see how the data should be structured.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p>One of the <code>plugin</code>, <code>codeMirrorResources</code>, or <code>codeMirrorOptions</code>
|
||||
keys must be provided for the plugin to be valid. Having multiple or
|
||||
all provided is also okay.</p>
|
||||
<p>See the <a href="https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/codemirror_content_script">demo
|
||||
<p>One of the <code>plugin</code>, <code>codeMirrorResources</code>, or <code>codeMirrorOptions</code> keys
|
||||
must be provided for the plugin to be valid. Having multiple or all
|
||||
provided is also okay.</p>
|
||||
<p>See also the <a href="https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/codemirror_content_script">demo
|
||||
plugin</a>
|
||||
for an example of all these keys being used in one plugin.</p>
|
||||
<a href="#posting-messages-from-the-content-script-to-your-plugin" id="posting-messages-from-the-content-script-to-your-plugin" style="color: inherit; text-decoration: none;">
|
||||
<h2>Posting messages from the content script to your plugin</h2>
|
||||
</a>
|
||||
<p>In order to post messages to the plugin, you can use the postMessage
|
||||
function passed to the <a href="../interfaces/contentscriptcontext.html">context</a>.</p>
|
||||
<pre><code class="language-javascript"><span class="hljs-keyword">const</span> response = <span class="hljs-keyword">await</span> context.postMessage(<span class="hljs-string">'messageFromCodeMirrorContentScript'</span>);</code></pre>
|
||||
<p>When you post a message, the plugin can send back a <code>response</code> thus
|
||||
allowing two-way communication:</p>
|
||||
<pre><code class="language-javascript"><span class="hljs-keyword">await</span> joplin.contentScripts.onMessage(contentScriptId, <span class="hljs-function">(<span class="hljs-params">message</span>) =></span> {
|
||||
<span class="hljs-comment">// Process message</span>
|
||||
<span class="hljs-keyword">return</span> response; <span class="hljs-comment">// Can be any object, string or number</span>
|
||||
});</code></pre>
|
||||
<p>See <a href="../classes/joplincontentscripts.html#onmessage">JoplinContentScripts.onMessage</a> for more details, as well as
|
||||
the <a href="https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/post_messages">postMessage
|
||||
demo</a>.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-enum-member tsd-parent-kind-enum">
|
||||
@@ -176,43 +190,51 @@
|
||||
<h2>Exported members</h2>
|
||||
</a>
|
||||
<ul>
|
||||
<li><p>The <code>context</code> argument is currently unused but could be used later
|
||||
on to provide access to your own plugin so that the content script
|
||||
and plugin can communicate.</p>
|
||||
<li><p>The <code>context</code> argument is currently unused but could be used later on
|
||||
to provide access to your own plugin so that the content script and
|
||||
plugin can communicate.</p>
|
||||
</li>
|
||||
<li><p>The <strong>required</strong> <code>plugin</code> key is the actual Markdown-It plugin -
|
||||
check the [official
|
||||
doc](<a href="https://github.com/markdown-it/markdown-it">https://github.com/markdown-it/markdown-it</a>) for more
|
||||
<li><p>The <strong>required</strong> <code>plugin</code> key is the actual Markdown-It plugin - check
|
||||
the <a href="https://github.com/markdown-it/markdown-it">official doc</a> for more
|
||||
information. The <code>options</code> parameter is of type
|
||||
<a href="https://github.com/laurent22/joplin/blob/dev/packages/renderer/MdToHtml.ts">RuleOptions</a>,
|
||||
which contains a number of options, mostly useful for Joplin's
|
||||
internal code.</p>
|
||||
which contains a number of options, mostly useful for Joplin's internal
|
||||
code.</p>
|
||||
</li>
|
||||
<li><p>Using the <strong>optional</strong> <code>assets</code> key you may specify assets such as
|
||||
JS or CSS that should be loaded in the rendered HTML document.
|
||||
Check for example the Joplin [Mermaid
|
||||
<li><p>Using the <strong>optional</strong> <code>assets</code> key you may specify assets such as JS
|
||||
or CSS that should be loaded in the rendered HTML document. Check for
|
||||
example the Joplin [Mermaid
|
||||
plugin](<a href="https://github.com/laurent22/joplin/blob/dev/packages/renderer/MdToHtml/rules/mermaid.ts">https://github.com/laurent22/joplin/blob/dev/packages/renderer/MdToHtml/rules/mermaid.ts</a>)
|
||||
to see how the data should be structured.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<a href="#passing-messages-from-the-content-script-to-your-plugin" id="passing-messages-from-the-content-script-to-your-plugin" style="color: inherit; text-decoration: none;">
|
||||
<h2>Passing messages from the content script to your plugin</h2>
|
||||
<a href="#posting-messages-from-the-content-script-to-your-plugin" id="posting-messages-from-the-content-script-to-your-plugin" style="color: inherit; text-decoration: none;">
|
||||
<h2>Posting messages from the content script to your plugin</h2>
|
||||
</a>
|
||||
<p>The application provides the following function to allow executing
|
||||
commands from the rendered HTML code:</p>
|
||||
<p><code>webviewApi.executeCommand(commandName, ...args)</code></p>
|
||||
<p>So you can use this mechanism to pass messages from the note viewer
|
||||
to your own plugin. To do so you would define a command, using
|
||||
<code>joplin.commands.register</code>, then you would call this command using
|
||||
the <code>webviewApi</code> object. See again <a href="https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/content_script">the
|
||||
demo</a>
|
||||
to see how this can be done.</p>
|
||||
<pre><code class="language-javascript"><span class="hljs-keyword">const</span> response = <span class="hljs-keyword">await</span> webviewApi.postMessage(contentScriptId, message);</code></pre>
|
||||
<ul>
|
||||
<li><code>contentScriptId</code> is the ID you've defined when you registered the
|
||||
content script. You can retrieve it from the
|
||||
<a href="../interfaces/contentscriptcontext.html">context</a>.</li>
|
||||
<li><code>message</code> can be any basic JavaScript type (number, string, plain
|
||||
object), but it cannot be a function or class instance.</li>
|
||||
</ul>
|
||||
<p>When you post a message, the plugin can send back a <code>response</code> thus
|
||||
allowing two-way communication:</p>
|
||||
<pre><code class="language-javascript"><span class="hljs-keyword">await</span> joplin.contentScripts.onMessage(contentScriptId, <span class="hljs-function">(<span class="hljs-params">message</span>) =></span> {
|
||||
<span class="hljs-comment">// Process message</span>
|
||||
<span class="hljs-keyword">return</span> response; <span class="hljs-comment">// Can be any object, string or number</span>
|
||||
});</code></pre>
|
||||
<p>See <a href="../classes/joplincontentscripts.html#onmessage">JoplinContentScripts.onMessage</a> for more details, as well as
|
||||
the <a href="https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/post_messages">postMessage
|
||||
demo</a>.</p>
|
||||
<a href="#registering-an-existing-markdown-it-plugin" id="registering-an-existing-markdown-it-plugin" style="color: inherit; text-decoration: none;">
|
||||
<h2>Registering an existing Markdown-it plugin</h2>
|
||||
</a>
|
||||
<p>To include a regular Markdown-It plugin, that doesn't make use of
|
||||
any Joplin-specific features, you would simply create a file such as
|
||||
this:</p>
|
||||
<p>To include a regular Markdown-It plugin, that doesn't make use of any
|
||||
Joplin-specific features, you would simply create a file such as this:</p>
|
||||
<pre><code class="language-javascript"><span class="hljs-built_in">module</span>.exports = {
|
||||
<span class="hljs-attr">default</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">context</span>) </span>{
|
||||
<span class="hljs-keyword">return</span> {
|
||||
|
@@ -82,6 +82,7 @@
|
||||
<ul class="tsd-index-list">
|
||||
<li class="tsd-kind-class"><a href="classes/joplin.html" class="tsd-kind-icon">Joplin</a></li>
|
||||
<li class="tsd-kind-class"><a href="classes/joplincommands.html" class="tsd-kind-icon">Joplin<wbr>Commands</a></li>
|
||||
<li class="tsd-kind-class"><a href="classes/joplincontentscripts.html" class="tsd-kind-icon">Joplin<wbr>Content<wbr>Scripts</a></li>
|
||||
<li class="tsd-kind-class"><a href="classes/joplindata.html" class="tsd-kind-icon">Joplin<wbr>Data</a></li>
|
||||
<li class="tsd-kind-class"><a href="classes/joplininterop.html" class="tsd-kind-icon">Joplin<wbr>Interop</a></li>
|
||||
<li class="tsd-kind-class"><a href="classes/joplinplugins.html" class="tsd-kind-icon">Joplin<wbr>Plugins</a></li>
|
||||
@@ -99,7 +100,9 @@
|
||||
<h3>Interfaces</h3>
|
||||
<ul class="tsd-index-list">
|
||||
<li class="tsd-kind-interface"><a href="interfaces/buttonspec.html" class="tsd-kind-icon">Button<wbr>Spec</a></li>
|
||||
<li class="tsd-kind-interface"><a href="interfaces/changeevent.html" class="tsd-kind-icon">Change<wbr>Event</a></li>
|
||||
<li class="tsd-kind-interface"><a href="interfaces/command.html" class="tsd-kind-icon">Command</a></li>
|
||||
<li class="tsd-kind-interface"><a href="interfaces/contentscriptcontext.html" class="tsd-kind-icon">Content<wbr>Script<wbr>Context</a></li>
|
||||
<li class="tsd-kind-interface"><a href="interfaces/createmenuitemoptions.html" class="tsd-kind-icon">Create<wbr>Menu<wbr>Item<wbr>Options</a></li>
|
||||
<li class="tsd-kind-interface"><a href="interfaces/dialogresult.html" class="tsd-kind-icon">Dialog<wbr>Result</a></li>
|
||||
<li class="tsd-kind-interface"><a href="interfaces/disposable.html" class="tsd-kind-icon">Disposable</a></li>
|
||||
@@ -121,8 +124,10 @@
|
||||
<h3>Type aliases</h3>
|
||||
<ul class="tsd-index-list">
|
||||
<li class="tsd-kind-type-alias"><a href="globals.html#buttonid" class="tsd-kind-icon">Button<wbr>Id</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="globals.html#changehandler" class="tsd-kind-icon">Change<wbr>Handler</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="globals.html#itemchangehandler" class="tsd-kind-icon">Item<wbr>Change<wbr>Handler</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="globals.html#path" class="tsd-kind-icon">Path</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="globals.html#postmessagehandler" class="tsd-kind-icon">Post<wbr>Message<wbr>Handler</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="globals.html#syncstarthandler" class="tsd-kind-icon">Sync<wbr>Start<wbr>Handler</a></li>
|
||||
<li class="tsd-kind-type-alias"><a href="globals.html#viewhandle" class="tsd-kind-icon">View<wbr>Handle</a></li>
|
||||
</ul>
|
||||
@@ -151,6 +156,38 @@
|
||||
<aside class="tsd-sources">
|
||||
</aside>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-type-alias">
|
||||
<a name="changehandler" class="tsd-anchor"></a>
|
||||
<h3>Change<wbr>Handler</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">Change<wbr>Handler<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>event<span class="tsd-signature-symbol">: </span><a href="interfaces/changeevent.html" class="tsd-signature-type">ChangeEvent</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> => </span><span class="tsd-signature-type">void</span></div>
|
||||
<aside class="tsd-sources">
|
||||
</aside>
|
||||
<div class="tsd-type-declaration">
|
||||
<h4>Type declaration</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li class="tsd-parameter-signature">
|
||||
<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias">
|
||||
<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>event<span class="tsd-signature-symbol">: </span><a href="interfaces/changeevent.html" class="tsd-signature-type">ChangeEvent</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>event: <a href="interfaces/changeevent.html" class="tsd-signature-type">ChangeEvent</a></h5>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- JOPLINCHANGE
|
||||
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
|
||||
|
||||
|
||||
-->
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-type-alias">
|
||||
<a name="itemchangehandler" class="tsd-anchor"></a>
|
||||
<h3>Item<wbr>Change<wbr>Handler</h3>
|
||||
@@ -200,6 +237,41 @@
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-type-alias">
|
||||
<a name="postmessagehandler" class="tsd-anchor"></a>
|
||||
<h3>Post<wbr>Message<wbr>Handler</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">Post<wbr>Message<wbr>Handler<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, message<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</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">any</span><span class="tsd-signature-symbol">></span></div>
|
||||
<aside class="tsd-sources">
|
||||
</aside>
|
||||
<div class="tsd-type-declaration">
|
||||
<h4>Type declaration</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li class="tsd-parameter-signature">
|
||||
<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias">
|
||||
<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, message<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</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">any</span><span class="tsd-signature-symbol">></span></li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>id: <span class="tsd-signature-type">string</span></h5>
|
||||
</li>
|
||||
<li>
|
||||
<h5>message: <span class="tsd-signature-type">any</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">any</span><span class="tsd-signature-symbol">></span></h4>
|
||||
|
||||
|
||||
-->
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-type-alias">
|
||||
<a name="syncstarthandler" class="tsd-anchor"></a>
|
||||
<h3>Sync<wbr>Start<wbr>Handler</h3>
|
||||
@@ -317,6 +389,9 @@
|
||||
<li class=" tsd-kind-class">
|
||||
<a href="classes/joplincommands.html" class="tsd-kind-icon">joplin.commands</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-class">
|
||||
<a href="classes/joplincontentscripts.html" class="tsd-kind-icon">joplin.contentScripts</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-class">
|
||||
<a href="classes/joplindata.html" class="tsd-kind-icon">joplin.data</a>
|
||||
</li>
|
||||
@@ -353,9 +428,15 @@
|
||||
<li class=" tsd-kind-interface">
|
||||
<a href="interfaces/buttonspec.html" class="tsd-kind-icon">ButtonSpec</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-interface">
|
||||
<a href="interfaces/changeevent.html" class="tsd-kind-icon">ChangeEvent</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-interface">
|
||||
<a href="interfaces/command.html" class="tsd-kind-icon">Command</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-interface">
|
||||
<a href="interfaces/contentscriptcontext.html" class="tsd-kind-icon">ContentScriptContext</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-interface">
|
||||
<a href="interfaces/createmenuitemoptions.html" class="tsd-kind-icon">CreateMenuItemOptions</a>
|
||||
</li>
|
||||
@@ -404,12 +485,18 @@
|
||||
<li class=" tsd-kind-type-alias">
|
||||
<a href="globals.html#buttonid" class="tsd-kind-icon">ButtonId</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-type-alias">
|
||||
<a href="globals.html#changehandler" class="tsd-kind-icon">ChangeHandler</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-type-alias">
|
||||
<a href="globals.html#itemchangehandler" class="tsd-kind-icon">ItemChangeHandler</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-type-alias">
|
||||
<a href="globals.html#path" class="tsd-kind-icon">Path</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-type-alias">
|
||||
<a href="globals.html#postmessagehandler" class="tsd-kind-icon">PostMessageHandler</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-type-alias">
|
||||
<a href="globals.html#syncstarthandler" class="tsd-kind-icon">SyncStartHandler</a>
|
||||
</li>
|
||||
|
@@ -107,6 +107,9 @@
|
||||
<li class=" tsd-kind-class">
|
||||
<a href="classes/joplincommands.html" class="tsd-kind-icon">joplin.commands</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-class">
|
||||
<a href="classes/joplincontentscripts.html" class="tsd-kind-icon">joplin.contentScripts</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-class">
|
||||
<a href="classes/joplindata.html" class="tsd-kind-icon">joplin.data</a>
|
||||
</li>
|
||||
@@ -143,9 +146,15 @@
|
||||
<li class=" tsd-kind-interface">
|
||||
<a href="interfaces/buttonspec.html" class="tsd-kind-icon">ButtonSpec</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-interface">
|
||||
<a href="interfaces/changeevent.html" class="tsd-kind-icon">ChangeEvent</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-interface">
|
||||
<a href="interfaces/command.html" class="tsd-kind-icon">Command</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-interface">
|
||||
<a href="interfaces/contentscriptcontext.html" class="tsd-kind-icon">ContentScriptContext</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-interface">
|
||||
<a href="interfaces/createmenuitemoptions.html" class="tsd-kind-icon">CreateMenuItemOptions</a>
|
||||
</li>
|
||||
@@ -194,12 +203,18 @@
|
||||
<li class=" tsd-kind-type-alias">
|
||||
<a href="globals.html#buttonid" class="tsd-kind-icon">ButtonId</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-type-alias">
|
||||
<a href="globals.html#changehandler" class="tsd-kind-icon">ChangeHandler</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-type-alias">
|
||||
<a href="globals.html#itemchangehandler" class="tsd-kind-icon">ItemChangeHandler</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-type-alias">
|
||||
<a href="globals.html#path" class="tsd-kind-icon">Path</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-type-alias">
|
||||
<a href="globals.html#postmessagehandler" class="tsd-kind-icon">PostMessageHandler</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-type-alias">
|
||||
<a href="globals.html#syncstarthandler" class="tsd-kind-icon">SyncStartHandler</a>
|
||||
</li>
|
||||
|
161
docs/api/references/plugin_api/interfaces/changeevent.html
Normal file
161
docs/api/references/plugin_api/interfaces/changeevent.html
Normal file
@@ -0,0 +1,161 @@
|
||||
<!doctype html>
|
||||
<html class="default no-js">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<title>ChangeEvent | Joplin Plugin API Documentation</title>
|
||||
<meta name="description" content="Documentation for Joplin Plugin API Documentation">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../assets/css/main.css">
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<div class="tsd-page-toolbar">
|
||||
<div class="container">
|
||||
<div class="table-wrap">
|
||||
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
|
||||
<div class="field">
|
||||
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
|
||||
<input id="tsd-search-field" type="text" />
|
||||
</div>
|
||||
<ul class="results">
|
||||
<li class="state loading">Preparing search index...</li>
|
||||
<li class="state failure">The search index is not available</li>
|
||||
</ul>
|
||||
<a href="../classes/joplin.html" class="title">Joplin Plugin API Documentation</a>
|
||||
</div>
|
||||
<div class="table-cell" id="tsd-widgets">
|
||||
<div id="tsd-filter">
|
||||
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
|
||||
<div class="tsd-filter-group">
|
||||
<div class="tsd-select" id="tsd-filter-visibility">
|
||||
<span class="tsd-select-label">All</span>
|
||||
<ul class="tsd-select-list">
|
||||
<li data-value="public">Public</li>
|
||||
<li data-value="protected">Public/Protected</li>
|
||||
<li data-value="private" class="selected">All</li>
|
||||
</ul>
|
||||
</div>
|
||||
<input type="checkbox" id="tsd-filter-inherited" checked />
|
||||
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tsd-page-title">
|
||||
<div class="container">
|
||||
<ul class="tsd-breadcrumb">
|
||||
<!--
|
||||
<li>
|
||||
<a href="../globals.html">Globals</a>
|
||||
</li>
|
||||
-->
|
||||
<li>
|
||||
<a href="changeevent.html">ChangeEvent</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h1><!-- Interface -->ChangeEvent</h1>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<div class="container container-main">
|
||||
<div class="row">
|
||||
<div class="col-8 col-content">
|
||||
<!--
|
||||
<section class="tsd-panel tsd-hierarchy">
|
||||
<h3>Hierarchy</h3>
|
||||
<ul class="tsd-hierarchy">
|
||||
<li>
|
||||
<span class="target">ChangeEvent</span>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</section>
|
||||
-->
|
||||
<section class="tsd-panel-group tsd-index-group">
|
||||
<h2>Index</h2>
|
||||
<section class="tsd-panel tsd-index-panel">
|
||||
<div class="tsd-index-content">
|
||||
<section class="tsd-index-section ">
|
||||
<h3>Properties</h3>
|
||||
<ul class="tsd-index-list">
|
||||
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="changeevent.html#keys" class="tsd-kind-icon">keys</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<section class="tsd-panel-group tsd-member-group ">
|
||||
<h2>Properties</h2>
|
||||
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
|
||||
<a name="keys" class="tsd-anchor"></a>
|
||||
<h3>keys</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">keys<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></div>
|
||||
<aside class="tsd-sources">
|
||||
</aside>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>Setting keys that have been changed</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
|
||||
<!--
|
||||
<nav class="tsd-navigation primary">
|
||||
<ul>
|
||||
<li class="globals ">
|
||||
<a href="../globals.html"><em>Globals</em></a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
-->
|
||||
<nav class="tsd-navigation secondary menu-sticky">
|
||||
<ul class="before-current">
|
||||
</ul>
|
||||
<ul class="current">
|
||||
<li class="current tsd-kind-interface">
|
||||
<a href="changeevent.html" class="tsd-kind-icon">ChangeEvent</a>
|
||||
<ul>
|
||||
<li class=" tsd-kind-property tsd-parent-kind-interface">
|
||||
<a href="changeevent.html#keys" class="tsd-kind-icon">keys</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="after-current">
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- JOPLINCHANGE
|
||||
<footer class="with-border-bottom">
|
||||
<div class="container">
|
||||
<h2>Legend</h2>
|
||||
<div class="tsd-legend-group">
|
||||
<ul class="tsd-legend">
|
||||
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
|
||||
</ul>
|
||||
<ul class="tsd-legend">
|
||||
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<div class="container tsd-generator">
|
||||
<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
|
||||
</div>
|
||||
-->
|
||||
<div class="overlay"></div>
|
||||
<script src="../assets/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
@@ -0,0 +1,200 @@
|
||||
<!doctype html>
|
||||
<html class="default no-js">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<title>ContentScriptContext | Joplin Plugin API Documentation</title>
|
||||
<meta name="description" content="Documentation for Joplin Plugin API Documentation">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../assets/css/main.css">
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<div class="tsd-page-toolbar">
|
||||
<div class="container">
|
||||
<div class="table-wrap">
|
||||
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
|
||||
<div class="field">
|
||||
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
|
||||
<input id="tsd-search-field" type="text" />
|
||||
</div>
|
||||
<ul class="results">
|
||||
<li class="state loading">Preparing search index...</li>
|
||||
<li class="state failure">The search index is not available</li>
|
||||
</ul>
|
||||
<a href="../classes/joplin.html" class="title">Joplin Plugin API Documentation</a>
|
||||
</div>
|
||||
<div class="table-cell" id="tsd-widgets">
|
||||
<div id="tsd-filter">
|
||||
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
|
||||
<div class="tsd-filter-group">
|
||||
<div class="tsd-select" id="tsd-filter-visibility">
|
||||
<span class="tsd-select-label">All</span>
|
||||
<ul class="tsd-select-list">
|
||||
<li data-value="public">Public</li>
|
||||
<li data-value="protected">Public/Protected</li>
|
||||
<li data-value="private" class="selected">All</li>
|
||||
</ul>
|
||||
</div>
|
||||
<input type="checkbox" id="tsd-filter-inherited" checked />
|
||||
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tsd-page-title">
|
||||
<div class="container">
|
||||
<ul class="tsd-breadcrumb">
|
||||
<!--
|
||||
<li>
|
||||
<a href="../globals.html">Globals</a>
|
||||
</li>
|
||||
-->
|
||||
<li>
|
||||
<a href="contentscriptcontext.html">ContentScriptContext</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h1><!-- Interface -->ContentScriptContext</h1>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<div class="container container-main">
|
||||
<div class="row">
|
||||
<div class="col-8 col-content">
|
||||
<section class="tsd-panel tsd-comment">
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>When a content script is initialised, it receives a <code>context</code> object.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!--
|
||||
<section class="tsd-panel tsd-hierarchy">
|
||||
<h3>Hierarchy</h3>
|
||||
<ul class="tsd-hierarchy">
|
||||
<li>
|
||||
<span class="target">ContentScriptContext</span>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</section>
|
||||
-->
|
||||
<section class="tsd-panel-group tsd-index-group">
|
||||
<h2>Index</h2>
|
||||
<section class="tsd-panel tsd-index-panel">
|
||||
<div class="tsd-index-content">
|
||||
<section class="tsd-index-section ">
|
||||
<h3>Properties</h3>
|
||||
<ul class="tsd-index-list">
|
||||
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="contentscriptcontext.html#contentscriptid" class="tsd-kind-icon">content<wbr>Script<wbr>Id</a></li>
|
||||
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="contentscriptcontext.html#pluginid" class="tsd-kind-icon">plugin<wbr>Id</a></li>
|
||||
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="contentscriptcontext.html#postmessage" class="tsd-kind-icon">post<wbr>Message</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<section class="tsd-panel-group tsd-member-group ">
|
||||
<h2>Properties</h2>
|
||||
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
|
||||
<a name="contentscriptid" class="tsd-anchor"></a>
|
||||
<h3>content<wbr>Script<wbr>Id</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">content<wbr>Script<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
|
||||
<aside class="tsd-sources">
|
||||
</aside>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>The content script ID, which may be necessary to post messages</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
|
||||
<a name="pluginid" class="tsd-anchor"></a>
|
||||
<h3>plugin<wbr>Id</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">plugin<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
|
||||
<aside class="tsd-sources">
|
||||
</aside>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>The plugin ID that registered this content script</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
|
||||
<a name="postmessage" class="tsd-anchor"></a>
|
||||
<h3>post<wbr>Message</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">post<wbr>Message<span class="tsd-signature-symbol">:</span> <a href="../globals.html#postmessagehandler" class="tsd-signature-type">PostMessageHandler</a></div>
|
||||
<aside class="tsd-sources">
|
||||
</aside>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>Can be used by CodeMirror content scripts to post a message to the plugin</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
|
||||
<!--
|
||||
<nav class="tsd-navigation primary">
|
||||
<ul>
|
||||
<li class="globals ">
|
||||
<a href="../globals.html"><em>Globals</em></a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
-->
|
||||
<nav class="tsd-navigation secondary menu-sticky">
|
||||
<ul class="before-current">
|
||||
</ul>
|
||||
<ul class="current">
|
||||
<li class="current tsd-kind-interface">
|
||||
<a href="contentscriptcontext.html" class="tsd-kind-icon">ContentScriptContext</a>
|
||||
<ul>
|
||||
<li class=" tsd-kind-property tsd-parent-kind-interface">
|
||||
<a href="contentscriptcontext.html#contentscriptid" class="tsd-kind-icon">content<wbr>Script<wbr>Id</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-property tsd-parent-kind-interface">
|
||||
<a href="contentscriptcontext.html#pluginid" class="tsd-kind-icon">plugin<wbr>Id</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-property tsd-parent-kind-interface">
|
||||
<a href="contentscriptcontext.html#postmessage" class="tsd-kind-icon">post<wbr>Message</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="after-current">
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- JOPLINCHANGE
|
||||
<footer class="with-border-bottom">
|
||||
<div class="container">
|
||||
<h2>Legend</h2>
|
||||
<div class="tsd-legend-group">
|
||||
<ul class="tsd-legend">
|
||||
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
|
||||
</ul>
|
||||
<ul class="tsd-legend">
|
||||
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<div class="container tsd-generator">
|
||||
<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
|
||||
</div>
|
||||
-->
|
||||
<div class="overlay"></div>
|
||||
<script src="../assets/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/plugin_loadin
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/plugin_loadin
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -447,7 +449,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/plugin_loadin
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/plugin_manife
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/plugin_manife
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -405,6 +407,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/plugin_manife
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Type</th>
|
||||
<th>Required?</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
@@ -412,42 +415,49 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/plugin_manife
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>manifest_version</code></td>
|
||||
<td>number</td>
|
||||
<td><strong>Yes</strong></td>
|
||||
<td>For now should always be "1".</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>name</code></td>
|
||||
<td>string</td>
|
||||
<td><strong>Yes</strong></td>
|
||||
<td>Name of the plugin. Should be a user-friendly string, as it will be displayed in the UI.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>version</code></td>
|
||||
<td>string</td>
|
||||
<td><strong>Yes</strong></td>
|
||||
<td>Version number such as "1.0.0".</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>app_min_version</code></td>
|
||||
<td>string</td>
|
||||
<td><strong>Yes</strong></td>
|
||||
<td>Minimum version of Joplin that the plugin is compatible with. In general it should be whatever version you are using to develop the plugin.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>description</code></td>
|
||||
<td>string</td>
|
||||
<td>No</td>
|
||||
<td>Detailed description of the plugin.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>author</code></td>
|
||||
<td>string</td>
|
||||
<td>No</td>
|
||||
<td>Plugin author name.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>homepage_url</code></td>
|
||||
<td>string</td>
|
||||
<td>No</td>
|
||||
<td>Homepage URL of the plugin. It can also be, for example, a link to a GitHub repository.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>Here's a complete example:</p>
|
||||
<h2>Manifest example<a name="manifest-example" href="#manifest-example" class="heading-anchor">🔗</a></h2>
|
||||
<pre><code class="language-json">{
|
||||
"manifest_version": 1,
|
||||
"name": "Joplin Simple Plugin",
|
||||
@@ -497,7 +507,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/plugin_manife
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/rest_api.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/references/rest_api.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -1070,7 +1072,7 @@ async function fetchAllNotes() {
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/tutorials/toc_plugin.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/api/tutorials/toc_plugin.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -712,7 +714,7 @@ document.addEventListener('click', event => {
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20180621-182112.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20180621-182112.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -445,7 +447,7 @@ published_at: 2018-06-21T17:21:12.000+00:00</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20180906-111039.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20180906-111039.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -446,7 +448,7 @@ published_at: 2018-09-06T10:10:39.000+00:00</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20180916-210431.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20180916-210431.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -445,7 +447,7 @@ published_at: 2018-09-16T20:04:31.000+00:00</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20180929-121053.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20180929-121053.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -445,7 +447,7 @@ published_at: 2018-09-29T11:10:53.000+00:00</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20181004-091123.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20181004-091123.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -447,7 +449,7 @@ published_at: 2018-10-04T08:11:23.000+00:00</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20181101-174335.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20181101-174335.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -450,7 +452,7 @@ published_at: 2018-11-01T17:43:35.000+00:00</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20181213-173459.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20181213-173459.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -448,7 +450,7 @@ published_at: 2018-12-13T17:34:59.000+00:00</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190130-230218.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190130-230218.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -448,7 +450,7 @@ published_at: 2019-01-30T23:02:18.000+00:00</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190404-074157.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190404-074157.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -447,7 +449,7 @@ published_at: 2019-04-04T06:41:57.000+00:00</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190424-112410.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190424-112410.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -447,7 +449,7 @@ published_at: 2019-04-24T10:24:10.000+00:00</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190523-231026.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190523-231026.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -457,7 +459,7 @@ published_at: 2019-05-23T22:10:26.000+00:00</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190611-000711.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190611-000711.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -447,7 +449,7 @@ published_at: 2019-06-10T23:07:11.000+00:00</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190613-202613.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190613-202613.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -447,7 +449,7 @@ published_at: 2019-06-13T19:26:13.000+00:00</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190814-225957.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190814-225957.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -456,7 +458,7 @@ published_at: 2019-08-14T21:59:57.000+00:00</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190925-000254.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190925-000254.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -461,7 +463,7 @@ published_at: 2019-09-24T23:02:54.000+00:00</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190929-152834.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20190929-152834.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -454,7 +456,7 @@ published_at: 2019-09-29T14:28:34.000+00:00</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20191012-233121.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20191012-233121.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -454,7 +456,7 @@ published_at: 2019-10-12T22:31:21.000+00:00</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20191014-165136.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20191014-165136.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -446,7 +448,7 @@ published_at: 2019-10-14T15:51:36.000+00:00</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20191101-131852.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20191101-131852.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -450,7 +452,7 @@ published_at: 2019-11-01T13:18:52.000+00:00</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20191117-183855.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20191117-183855.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -455,7 +457,7 @@ published_at: 2019-11-17T18:38:55.000+00:00</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20191118-072700.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20191118-072700.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -453,7 +455,7 @@ published_at: 2019-11-18T07:27:00.000+00:00</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20200220-190804.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20200220-190804.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -445,7 +447,7 @@ published_at: 2020-02-20T19:08:04.000+00:00</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20200301-125055.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20200301-125055.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -461,7 +463,7 @@ published_at: 2020-03-01T12:50:55.000+00:00</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20200314-001555.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20200314-001555.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -455,7 +457,7 @@ published_at: 2020-03-14T00:15:55.000+00:00</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20200406-224254.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/blog/20200406-224254.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -473,7 +475,7 @@ published_at: 2020-04-06T21:42:54.000+00:00</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/build_troubleshooting.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/build_troubleshooting.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -473,7 +475,7 @@ pod install
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -400,6 +402,59 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog.md
|
||||
|
||||
<div class="main">
|
||||
<h1>Joplin changelog<a name="joplin-changelog" href="#joplin-changelog" class="heading-anchor">🔗</a></h1>
|
||||
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.6.6">v1.6.6</a> - 2021-01-09T16:15:31Z<a name="v1-6-6-https-github-com-laurent22-joplin-releases-tag-v1-6-6-2021-01-09t16-15-31z" href="#v1-6-6-https-github-com-laurent22-joplin-releases-tag-v1-6-6-2021-01-09t16-15-31z" class="heading-anchor">🔗</a></h2>
|
||||
<ul>
|
||||
<li>New: Add way to install plugin from file</li>
|
||||
</ul>
|
||||
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.5.14">v1.5.14</a> - 2020-12-30T01:48:46Z<a name="v1-5-14-https-github-com-laurent22-joplin-releases-tag-v1-5-14-2020-12-30t01-48-46z" href="#v1-5-14-https-github-com-laurent22-joplin-releases-tag-v1-5-14-2020-12-30t01-48-46z" class="heading-anchor">🔗</a></h2>
|
||||
<ul>
|
||||
<li>Fixed: Fixed importing ENEX files that contain hidden sections</li>
|
||||
</ul>
|
||||
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.5.13">v1.5.13</a> - 2020-12-29T18:29:15Z<a name="v1-5-13-https-github-com-laurent22-joplin-releases-tag-v1-5-13-2020-12-29t18-29-15z" href="#v1-5-13-https-github-com-laurent22-joplin-releases-tag-v1-5-13-2020-12-29t18-29-15z" class="heading-anchor">🔗</a></h2>
|
||||
<ul>
|
||||
<li>Improved: Improve support for SVG images when importing ENEX files</li>
|
||||
</ul>
|
||||
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.5.12">v1.5.12</a> - 2020-12-28T15:14:08Z<a name="v1-5-12-https-github-com-laurent22-joplin-releases-tag-v1-5-12-2020-12-28t15-14-08z" href="#v1-5-12-https-github-com-laurent22-joplin-releases-tag-v1-5-12-2020-12-28t15-14-08z" class="heading-anchor">🔗</a></h2>
|
||||
<p>Fixed ENEX import regression: Fix issue when importing ENEX file that contains invalid list elements</p>
|
||||
<ul>
|
||||
<li>New: Add support for media players (video, audio and PDF)</li>
|
||||
<li>New: Add table captions when importing ENEX files</li>
|
||||
<li>New: Added doc about Rich Text editor and added way to dismiss warning banner</li>
|
||||
<li>New: MacOS: Notarize application</li>
|
||||
<li>New: Plugins: Add support for content script asset files, for Markdown-it plugins</li>
|
||||
<li>New: Plugins: Add support for context menu items on notebooks and tags</li>
|
||||
<li>New: Plugins: Add support for workspace.onSyncStart event</li>
|
||||
<li>New: Plugins: Added a way to execute commands from Markdown-it content scripts</li>
|
||||
<li>Fixed: Fix End key behavior with Codemirror spellcheck (<a href="https://github.com/laurent22/joplin/issues/4215">#4215</a> by Caleb John)</li>
|
||||
<li>Fixed: Fixed basic search when executing a query in Chinese (<a href="https://github.com/laurent22/joplin/issues/4034">#4034</a> by Naveen M V)</li>
|
||||
<li>Fixed: Fixed context menu when the UI is zoomed in or out (<a href="https://github.com/laurent22/joplin/issues/4201">#4201</a>)</li>
|
||||
<li>Fixed: Fixed importing certain code blocks from ENEX</li>
|
||||
<li>Fixed: Fixed importing ENEX files that contain empty resources</li>
|
||||
<li>Fixed: Fixed importing ENEX files that contain resources with invalid mime type</li>
|
||||
<li>Fixed: Fixed issue when searching for text that contains diacritic (<a href="https://github.com/laurent22/joplin/issues/4152">#4152</a>) (<a href="https://github.com/laurent22/joplin/issues/4025">#4025</a> by Roman Musin)</li>
|
||||
<li>Fixed: Fixed issue with attachment paths being invalid when user has spaces in home directory path.</li>
|
||||
<li>Fixed: Fixed issue with note not being saved when a column is added or remove from Rich Text editor</li>
|
||||
<li>Fixed: Fixed issues when importing hidden tables within hidden sections in Enex files</li>
|
||||
<li>Fixed: Fixed numbered list bug in markdown editor (<a href="https://github.com/laurent22/joplin/issues/4116">#4116</a>) (<a href="https://github.com/laurent22/joplin/issues/3917">#3917</a> by <a href="https://github.com/MichBoi">@MichBoi</a>)</li>
|
||||
<li>Fixed: Fixed potential crash when watching note files or resources</li>
|
||||
<li>Fixed: Fixed title input field width on small windows</li>
|
||||
<li>Fixed: Focus editor after pressing toolbar buttons (<a href="https://github.com/laurent22/joplin/issues/4037">#4037</a>) (<a href="https://github.com/laurent22/joplin/issues/4036">#4036</a> by <a href="https://github.com/CalebJohn">@CalebJohn</a>)</li>
|
||||
<li>Fixed: Plugins: Fixed disabling plugin files that start with "_"</li>
|
||||
<li>Fixed: Prevent double paste when using Shift+Ctrl+V (<a href="https://github.com/laurent22/joplin/issues/4243">#4243</a>)</li>
|
||||
<li>Fixed: Prevents crash when invalid spell checker language is selected, and provide fallback for invalid language codes (<a href="https://github.com/laurent22/joplin/issues/4146">#4146</a>)</li>
|
||||
<li>Fixed: Register Markdown editor commands with the Keyboard Shortcut editor (<a href="https://github.com/laurent22/joplin/issues/4136">#4136</a>) (<a href="https://github.com/laurent22/joplin/issues/4130">#4130</a> by Caleb John)</li>
|
||||
<li>Improved: Display Katex parsing errors</li>
|
||||
<li>Improved: Improved warning banner colors</li>
|
||||
<li>Improved: Plugins: Commands would not show up in keymap editor when no shortcut was associated with them</li>
|
||||
<li>Improved: Plugins: Improved note change event handling.</li>
|
||||
<li>Improved: Removed warning for Markdown editor spell checking</li>
|
||||
<li>Improved: Restrict auto-detection of links, and added option to toggle linkify (<a href="https://github.com/laurent22/joplin/issues/4205">#4205</a>)</li>
|
||||
<li>Improved: Rich Text: Do not converts to markdown links URLs that would be linkified</li>
|
||||
<li>Improved: Translation: Update zh_CN (<a href="https://github.com/laurent22/joplin/issues/4195">#4195</a> by Zhang YANG)</li>
|
||||
<li>Improved: Update macOS icon for macOS Big Sur</li>
|
||||
<li>Improved: Update Mermaid: 8.8.1 -> 8.8.4 (<a href="https://github.com/laurent22/joplin/issues/4193">#4193</a> by Helmut K. C. Tessarek)</li>
|
||||
<li>Improved: Use plugins whenever printing or exporting notes</li>
|
||||
</ul>
|
||||
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.5.11">v1.5.11</a> - 2020-12-27T19:54:07Z<a name="v1-5-11-https-github-com-laurent22-joplin-releases-tag-v1-5-11-2020-12-27t19-54-07z" href="#v1-5-11-https-github-com-laurent22-joplin-releases-tag-v1-5-11-2020-12-27t19-54-07z" class="heading-anchor">🔗</a></h2>
|
||||
<ul>
|
||||
<li>New: Add support for media players (video, audio and PDF)</li>
|
||||
@@ -1955,7 +2010,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog.md
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog_cli.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog_cli.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -400,6 +402,28 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog_cli.md
|
||||
|
||||
<div class="main">
|
||||
<h1>Joplin terminal app changelog<a name="joplin-terminal-app-changelog" href="#joplin-terminal-app-changelog" class="heading-anchor">🔗</a></h1>
|
||||
<h2><a href="https://github.com/laurent22/joplin/releases/tag/cli-v1.6.3">cli-v1.6.3</a> - 2021-01-11T11:52:11Z<a name="cli-v1-6-3-https-github-com-laurent22-joplin-releases-tag-cli-v1-6-3-2021-01-11t11-52-11z" href="#cli-v1-6-3-https-github-com-laurent22-joplin-releases-tag-cli-v1-6-3-2021-01-11t11-52-11z" class="heading-anchor">🔗</a></h2>
|
||||
<ul>
|
||||
<li>New: Add more log info when a revision cannot be deleted due to still-encrypted itel</li>
|
||||
<li>Improved: Do not display error message when fixing ENEX resource mime type (#4310)</li>
|
||||
<li>Improved: Improve support for SVG images when importing ENEX files</li>
|
||||
<li>Improved: Improved support for bold and italic format when importing ENEX file (#4316)</li>
|
||||
<li>Improved: Support natural sorting by title (#4272 by <a href="https://github.com/volatilevar">@volatilevar</a>)</li>
|
||||
<li>Improved: Upload Big Notes to Onedrive (#4120) (#3528 by Jonathan Heard)</li>
|
||||
<li>Fixed: Fixed OneDrive issue that would require a full resync every time (#4324) (#4313 by Jonathan Heard)</li>
|
||||
<li>Fixed: Fixed importing ENEX files that contain hidden sections</li>
|
||||
</ul>
|
||||
<h2><a href="https://github.com/laurent22/joplin/releases/tag/cli-v1.6.2">cli-v1.6.2</a> - 2021-01-11T11:41:56Z<a name="cli-v1-6-2-https-github-com-laurent22-joplin-releases-tag-cli-v1-6-2-2021-01-11t11-41-56z" href="#cli-v1-6-2-https-github-com-laurent22-joplin-releases-tag-cli-v1-6-2-2021-01-11t11-41-56z" class="heading-anchor">🔗</a></h2>
|
||||
<ul>
|
||||
<li>New: Add more log info when a revision cannot be deleted due to still-encrypted item</li>
|
||||
<li>Improved: Do not display error message when fixing ENEX resource mime type (#4310)</li>
|
||||
<li>Improved: Improve support for SVG images when importing ENEX files</li>
|
||||
<li>Improved: Improved support for bold and italic format when importing ENEX file (#4316)</li>
|
||||
<li>Improved: Support natural sorting by title (#4272 by <a href="https://github.com/volatilevar">@volatilevar</a>)</li>
|
||||
<li>Improved: Upload Big Notes to Onedrive (#4120) (#3528 by Jonathan Heard)</li>
|
||||
<li>Fixed: Fixed OneDrive issue that would require a full resync every time (#4324) (#4313 by Jonathan Heard)</li>
|
||||
<li>Fixed: Fixed importing ENEX files that contain hidden sections</li>
|
||||
</ul>
|
||||
<h2><a href="https://github.com/laurent22/joplin/releases/tag/cli-v1.5.1">cli-v1.5.1</a> - 2020-12-26T00:46:31Z<a name="cli-v1-5-1-https-github-com-laurent22-joplin-releases-tag-cli-v1-5-1-2020-12-26t00-46-31z" href="#cli-v1-5-1-https-github-com-laurent22-joplin-releases-tag-cli-v1-5-1-2020-12-26t00-46-31z" class="heading-anchor">🔗</a></h2>
|
||||
<ul>
|
||||
<li>New: Add table captions when importing ENEX files</li>
|
||||
@@ -687,7 +711,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog_cli.md
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/clipper.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/clipper.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -404,7 +406,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/clipper.md
|
||||
<img src="https://joplinapp.org/images/WebExtensionScreenshot.png" style="max-width: 50%; border: 1px solid gray;">
|
||||
<h1>Troubleshooting the web clipper service<a name="troubleshooting-the-web-clipper-service" href="#troubleshooting-the-web-clipper-service" class="heading-anchor">🔗</a></h1>
|
||||
<p>The web clipper extension and the Joplin application communicates via a service, which is started by the Joplin desktop app.</p>
|
||||
<p>However certain things can interfer with this service and prevent it from being accessible or from starting. If something does not work, check the following:</p>
|
||||
<p>However certain things can interfere with this service and prevent it from being accessible or from starting. If something does not work, check the following:</p>
|
||||
<ul>
|
||||
<li>Check that the service is started. You can check this in the Web clipper options in the desktop app.</li>
|
||||
<li>Check that the port used by the service is not blocked by a firewall. You can find the port number in the Web clipper options in the desktop Joplin application.</li>
|
||||
@@ -471,7 +473,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/clipper.md
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/conflict.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/conflict.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -447,7 +449,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/conflict.md
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/debugging.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/debugging.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -493,7 +495,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/debugging.md
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/desktop.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/desktop.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -441,7 +443,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/desktop.md
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/donate.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/donate.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -474,7 +476,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/donate.md
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/e2ee.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/e2ee.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -459,7 +461,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/e2ee.md
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/faq.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/faq.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -413,7 +415,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/faq.md
|
||||
<p>More info there: <a href="https://github.com/electron-userland/electron-builder/issues/4057">https://github.com/electron-userland/electron-builder/issues/4057</a></p>
|
||||
<h2>How can I pass arguments to the Linux installation script?<a name="how-can-i-pass-arguments-to-the-linux-installation-script" href="#how-can-i-pass-arguments-to-the-linux-installation-script" class="heading-anchor">🔗</a></h2>
|
||||
<p>You can pass <a href="https://github.com/laurent22/joplin/blob/dev/Joplin_install_and_update.sh#L37">arguments</a> to the installation script by using this command.</p>
|
||||
<p><code>wget -O - https://raw.githubusercontent.com/laurent22/joplin/dev/Joplin_install_and_update.sh \| bash -s -- --argument1 --argument2</code></p>
|
||||
<pre><code style="word-break: break-all">wget -O - https://raw.githubusercontent.com/laurent22/joplin/dev/Joplin_install_and_update.sh | bash -s -- --argument1 --argument2</code></pre>
|
||||
<h2>How can I edit my note in an external text editor?<a name="how-can-i-edit-my-note-in-an-external-text-editor" href="#how-can-i-edit-my-note-in-an-external-text-editor" class="heading-anchor">🔗</a></h2>
|
||||
<p>The editor command (may include arguments) defines which editor will be used to open a note. If none is provided it will try to auto-detect the default editor. If this does nothing or you want to change it for Joplin, you need to configure it in the Preferences -> Text editor command.</p>
|
||||
<p>Some example configurations are: (comments after #)</p>
|
||||
@@ -526,7 +528,7 @@ on this server.</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsoc2020/ideas.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsoc2020/ideas.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -544,7 +546,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsoc2020/ideas.md
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsoc2020/index.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsoc2020/index.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -543,7 +545,7 @@ There could be exceptional reason to accept proposal what cannot be finished ove
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsod2020/ideas.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsod2020/ideas.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -469,7 +471,7 @@ Task is to find a toolset to structure them and make the knowledge buried in the
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsod2020/index.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/gsod2020/index.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -529,7 +531,7 @@ The procedure reflects some of the lessons learnt in the GSOC 2020 campaign, so
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/README.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/README.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -414,27 +416,26 @@ https://github.com/laurent22/joplin/blob/dev/README.md
|
||||
<tr>
|
||||
<th>Operating System</th>
|
||||
<th>Download</th>
|
||||
<th>Alternative</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Windows (32 and 64-bit)</td>
|
||||
<td><a href='https://github.com/laurent22/joplin/releases/download/v1.5.11/Joplin-Setup-1.5.11.exe'><img alt='Get it on Windows' width="134px" src='https://joplinapp.org/images/BadgeWindows.png'/></a></td>
|
||||
<td>Or get the <a href='https://github.com/laurent22/joplin/releases/download/v1.5.11/JoplinPortable.exe'>Portable version</a><br><br>The <a href="https://en.wikipedia.org/wiki/Portable_application">portable application</a> allows installing the software on a portable device such as a USB key. Simply copy the file JoplinPortable.exe in any directory on that USB key ; the application will then create a directory called "JoplinProfile" next to the executable file.</td>
|
||||
<td><a href='https://github.com/laurent22/joplin/releases/download/v1.6.6/Joplin-Setup-1.6.6.exe'><img alt='Get it on Windows' width="134px" src='https://joplinapp.org/images/BadgeWindows.png'/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>macOS</td>
|
||||
<td><a href='https://github.com/laurent22/joplin/releases/download/v1.5.11/Joplin-1.5.11.dmg'><img alt='Get it on macOS' width="134px" src='https://joplinapp.org/images/BadgeMacOS.png'/></a></td>
|
||||
<td>-</td>
|
||||
<td><a href='https://github.com/laurent22/joplin/releases/download/v1.6.6/Joplin-1.6.6.dmg'><img alt='Get it on macOS' width="134px" src='https://joplinapp.org/images/BadgeMacOS.png'/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Linux</td>
|
||||
<td><a href='https://github.com/laurent22/joplin/releases/download/v1.5.11/Joplin-1.5.11.AppImage'><img alt='Get it on Linux' width="134px" src='https://joplinapp.org/images/BadgeLinux.png'/></a></td>
|
||||
<td>The recommended way is to use the following installation script as it will handle the desktop icon too:<br><br> <code>wget -O - https://raw.githubusercontent.com/laurent22/joplin/dev/Joplin_install_and_update.sh | bash</code></td>
|
||||
<td><a href='https://github.com/laurent22/joplin/releases/download/v1.6.6/Joplin-1.6.6.AppImage'><img alt='Get it on Linux' width="134px" src='https://joplinapp.org/images/BadgeLinux.png'/></a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p><strong>On Windows</strong>, you may also use the <a href='https://github.com/laurent22/joplin/releases/download/v1.6.6/JoplinPortable.exe'>Portable version</a>. The <a href="https://en.wikipedia.org/wiki/Portable_application">portable application</a> allows installing the software on a portable device such as a USB key. Simply copy the file JoplinPortable.exe in any directory on that USB key ; the application will then create a directory called "JoplinProfile" next to the executable file.</p>
|
||||
<p><strong>On Linux</strong>, the recommended way is to use the following installation script as it will handle the desktop icon too:</p>
|
||||
<pre><code style="word-break: break-all">wget -O - https://raw.githubusercontent.com/laurent22/joplin/dev/Joplin_install_and_update.sh | bash</code></pre>
|
||||
<h2>Mobile applications<a name="mobile-applications" href="#mobile-applications" class="heading-anchor">🔗</a></h2>
|
||||
<table>
|
||||
<thead>
|
||||
@@ -611,6 +612,7 @@ https://github.com/laurent22/joplin/blob/dev/README.md
|
||||
<li><a href="https://owncloud.org/">OwnCloud</a></li>
|
||||
<li><a href="https://www.seafile.com/">Seafile</a></li>
|
||||
<li><a href="https://www.transip.nl/stack/">Stack</a></li>
|
||||
<li><a href="https://www.synology.com/en-us/dsm/packages/WebDAVServer">Synology WebDAV Server</a></li>
|
||||
<li><a href="https://www.schimera.com/products/webdav-nav-server/">WebDAV Nav</a>, a macOS server.</li>
|
||||
<li><a href="https://www.zimbra.com/">Zimbra</a></li>
|
||||
</ul>
|
||||
@@ -927,35 +929,35 @@ Eg. <code>:search -- "-tag:tag1"</code>.</p>
|
||||
<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:fi_ahmed_bacha@esi.dz">أحمد باشا إبراهيم</a></td>
|
||||
<td>77%</td>
|
||||
<td>75%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/es/basque_country.png" alt=""></td>
|
||||
<td>Basque</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/eu.po">eu</a></td>
|
||||
<td>juan.abasolo@ehu.eus</td>
|
||||
<td>33%</td>
|
||||
<td>32%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/ba.png" alt=""></td>
|
||||
<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>79%</td>
|
||||
<td>77%</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>64%</td>
|
||||
<td>62%</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>92%</td>
|
||||
<td>89%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/hr.png" alt=""></td>
|
||||
@@ -969,28 +971,28 @@ Eg. <code>:search -- "-tag:tag1"</code>.</p>
|
||||
<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>96%</td>
|
||||
<td>93%</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>79%</td>
|
||||
<td>77%</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>96%</td>
|
||||
<td>95%</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>63%</td>
|
||||
<td>61%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/country-4x3/gb.png" alt=""></td>
|
||||
@@ -1011,189 +1013,189 @@ 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>96%</td>
|
||||
<td>99%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://joplinapp.org/images/flags/esperanto.png" alt=""></td>
|
||||
<td>Esperanto</td>
|
||||
<td><a href="https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/eo.po">eo</a></td>
|
||||
<td>Marton Paulo</td>
|
||||
<td>36%</td>
|
||||
<td>35%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<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>97%</td>
|
||||
<td>94%</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>96%</td>
|
||||
<td>99%</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>42%</td>
|
||||
<td>40%</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>88%</td>
|
||||
<td>85%</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>97%</td>
|
||||
<td>96%</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>33%</td>
|
||||
<td>32%</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>96%</td>
|
||||
<td>93%</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>85%</td>
|
||||
<td>82%</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>79%</td>
|
||||
<td>77%</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></td>
|
||||
<td>95%</td>
|
||||
<td>92%</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:rnbastos@gmail.com">Renato Nunes Bastos</a></td>
|
||||
<td>93%</td>
|
||||
<td>91%</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:jduar@protonmail.com">João Duarte</a></td>
|
||||
<td>95%</td>
|
||||
<td>92%</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>74%</td>
|
||||
<td>72%</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>41%</td>
|
||||
<td>40%</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>68%</td>
|
||||
<td>66%</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>50%</td>
|
||||
<td>49%</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>82%</td>
|
||||
<td>79%</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>94%</td>
|
||||
<td>99%</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>92%</td>
|
||||
<td>89%</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>92%</td>
|
||||
<td>96%</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>69%</td>
|
||||
<td>67%</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:fungdaat31@outlook.com">WhiredPlanck</a></td>
|
||||
<td>97%</td>
|
||||
<td>99%</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>91%</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>97%</td>
|
||||
<td>96%</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>97%</td>
|
||||
<td>96%</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -1587,7 +1589,7 @@ Eg. <code>:search -- "-tag:tag1"</code>.</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/markdown.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/markdown.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -640,6 +642,20 @@ graph TD;
|
||||
<td><a href="https://joplinapp.org/images/md_plugins/katex_plugin.jpg">View</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://fountain.io">Fountain</a></td>
|
||||
<td><code>```fountain</code><br/>Your screenplay...<br/><code>```</code></td>
|
||||
<td>Adds support for the Fountain markup language, a plain text markup language for screenwriting</td>
|
||||
<td>no</td>
|
||||
<td><a href="https://joplinapp.org/images/md_plugins/fountain_plugin.jpg">View</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://mermaid-js.github.io/mermaid/">Mermaid</a></td>
|
||||
<td><code>```mermaid</code><br/>mermaid syntax...<br/><code>```</code></td>
|
||||
<td>See <a href="https://mermaid-js.github.io/mermaid/#/examples">plugin page</a> for full description</td>
|
||||
<td>no</td>
|
||||
<td><a href="https://joplinapp.org/images/md_plugins/mermaid.jpg">View</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://github.com/markdown-it/markdown-it-mark">Mark</a></td>
|
||||
<td><code>==marked==</code></td>
|
||||
<td>Transforms into <code><mark>marked</mark></code> (highlighted)</td>
|
||||
@@ -709,20 +725,6 @@ graph TD;
|
||||
<td>no</td>
|
||||
<td><a href="https://joplinapp.org/images/md_plugins/multitable_plugin.jpg">View</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://fountain.io">Fountain</a></td>
|
||||
<td><code>```fountain</code><br/>Your screenplay...<br/><code>```</code></td>
|
||||
<td>Adds support for the Fountain markup language, a plain text markup language for screenwriting</td>
|
||||
<td>no</td>
|
||||
<td><a href="https://joplinapp.org/images/md_plugins/fountain_plugin.jpg">View</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://mermaid-js.github.io/mermaid/">Mermaid</a></td>
|
||||
<td><code>```mermaid</code><br/>mermaid syntax...<br/><code>```</code></td>
|
||||
<td>See <a href="https://mermaid-js.github.io/mermaid/#/examples">plugin page</a> for full description</td>
|
||||
<td>no</td>
|
||||
<td><a href="https://joplinapp.org/images/md_plugins/mermaid.jpg">View</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@@ -764,7 +766,7 @@ graph TD;
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/mobile.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/mobile.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -440,7 +442,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/mobile.md
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/nextcloud_app.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/nextcloud_app.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -479,7 +481,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/nextcloud_app.md
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/plugins.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/plugins.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -442,7 +444,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/plugins.md
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/prereleases.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/prereleases.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -443,7 +445,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/prereleases.md
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/privacy.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/privacy.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -442,7 +444,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/privacy.md
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/rich_text_editor.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/rich_text_editor.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -414,6 +416,12 @@ https://github.com/laurent22/joplin/blob/dev/readme/rich_text_editor.md
|
||||
<li>
|
||||
<p>Tables must have a header, because this is a requirement in Markdown. When you create a table, it will let you create it without a header, but under the hood it will add an empty one. And next time you open the note, this empty header will be present.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>All items in a list must be of the same type, so for example all checkboxes, or all bullet points. If you require two different types, you should create two different lists separated by an horizontal rule or similar.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Special keyboard modes "vim" and "emacs" are not supported.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Those are the known limitations but if you notice any other issue not listed here, please let us know <a href="https://discourse.joplinapp.org/">in the forum</a>.</p>
|
||||
|
||||
@@ -455,7 +463,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/rich_text_editor.md
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/e2ee.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/e2ee.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -534,7 +536,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/e2ee.md
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/history.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/history.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -466,7 +468,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/history.md
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/plugins.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/plugins.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -504,7 +506,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/plugins.md
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/search_sorting.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/search_sorting.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -461,7 +463,7 @@ This time-based weight decays logarithmically, becoming less of a factor than BM
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
523
docs/spec/server_delta_sync/index.html
Normal file
523
docs/spec/server_delta_sync/index.html
Normal file
@@ -0,0 +1,523 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
|
||||
<!--
|
||||
|
||||
!!! WARNING !!!
|
||||
|
||||
This file was auto-generated from readme/spec/server_delta_sync.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_sync.md
|
||||
|
||||
-->
|
||||
|
||||
<head>
|
||||
<title>Joplin Server delta sync | 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%;
|
||||
}
|
||||
.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-server_delta_sync">
|
||||
|
||||
<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="help" href="#" title="Menu">Menu</a></li>
|
||||
<!-- <li><a class="gsod" href="https://joplinapp.org/gsod2020/" title="Google Season of Docs 2020">GSoD 2020</a></li> -->
|
||||
</ul>
|
||||
<div class="nav-right">
|
||||
<!--
|
||||
<iframe class="share-btn" src="https://www.facebook.com/plugins/share_button.php?href=http%3A%2F%2Fjoplinapp.org&layout=button&size=small&mobile_iframe=true&width=60&height=20&appId" width="60" height="20" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true"></iframe>
|
||||
<iframe class="share-btn" src="https://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fjoplinapp.org" width="62" height="20" title="Tweet" style="border: 0; overflow: hidden;"></iframe>
|
||||
-->
|
||||
<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="100px" 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>
|
||||
</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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>Google Summer of Code 2020</p>
|
||||
<ul>
|
||||
<li><a href="https://joplinapp.org/gsoc2020/index/">Google Summer of Code 2020</a></li>
|
||||
<li><a href="https://joplinapp.org/gsoc2020/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/stats/">Stats</a></li>
|
||||
<li><a href="https://joplinapp.org/donate/">Donate</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="main">
|
||||
<h1>Joplin Server delta sync<a name="joplin-server-delta-sync" href="#joplin-server-delta-sync" class="heading-anchor">🔗</a></h1>
|
||||
<p>This documentation is meant to provide a high level overview of delta sync API. Exact technical details might change over time and would be documented separately in an API doc.</p>
|
||||
<p>Delta sync provides an API end point that gives a list of the latest change events since a particular point. At a high level, it works like so:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>User calls <code>/api/files/delta</code> and get a list of the latest changes on the sync target. They also get a <code>cursor</code> object that can be used to check for the latest changes at a later time. A <code>cursor</code> essentially represents a point in time.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Later on, they call <code>/api/file/delta?cursor=CURSOR</code>, with the cursor they previously got, and they will get the latest events since that cursor. They will also get a new cursor, which they would use again to get the following events, and so on.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p>The events are tied to a particular parent ID - in other words it's only possible to list the changes associated with a particular directory (non-recursive). For now, this is sufficient for the purpose of Joplin synchronisation, but later on it might be possible to get the changes in a recursive way.</p>
|
||||
<h2>What is a change event<a name="what-is-a-change-event" href="#what-is-a-change-event" class="heading-anchor">🔗</a></h2>
|
||||
<p>An event can be "create", "update" or "detete" and is associated with a given file. The client uses this info to apply the change locally - creating, updating or deleting the file as needed.</p>
|
||||
<p>Attached to the event, is also a copy of the file metadata, so the client doesn't need to a do a second request to fetch it.</p>
|
||||
<p>Internally, the event also stores the file name and parent ID. This is used when an item is deleted since in that case the item ID only would not be sufficient to know where the item was initally stored.</p>
|
||||
<h2>Event compression<a name="event-compression" href="#event-compression" class="heading-anchor">🔗</a></h2>
|
||||
<p>To reduce the data being transferred, the API compresses the events by removing redundant ones. For example, multiple updates are compressed into one, since the client only need to know that the item has been updated at least once. The following rules are currently applied to compress the events:</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Event sequence</th>
|
||||
<th>Result</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>update - update</td>
|
||||
<td>update</td>
|
||||
<td>If an item is updated twice or more, we only send one update event back</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>create - update</td>
|
||||
<td>create</td>
|
||||
<td>If an item has been created then modified, we only send one create event, with the latest version of the file</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>create - delete</td>
|
||||
<td>NOOP</td>
|
||||
<td>If an item has been created, then deleted, we don't send anything back. For the client, this file has never existed.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>update - delete</td>
|
||||
<td>delete</td>
|
||||
<td>If an item is updated multiple times, then deleted, we only send a "delete" event back.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>Compression works at a page-level so depending on how many items are requested via the <code>limit</code> parameters, different compression will apply.</p>
|
||||
<p>Due to this compression, the <code>limit</code> query parameter is only advisory. There's no guarantee that exactly <code>limit</code> items will be returned as some items might have been removed after compression. There's however a guarantee that no more than <code>limit</code> items will be returned.</p>
|
||||
<h2>Delete event limitation<a name="delete-event-limitation" href="#delete-event-limitation" class="heading-anchor">🔗</a></h2>
|
||||
<p>There's currently a known limitation regarding delete events. When looking at a particular event page, the server might find that a "create" or "update" event is associated with a non-existing file, which would have been deleted. In that case, the server will send back a "delete" event. When looking at following pages, the server will eventually process the actual "delete" event for that item - and send again a "delete" event for it.</p>
|
||||
<p>This is a known issue and to solve it would require looking ahead in event pages, which would slow down the process. It means it's expected that a client might receive a "delete" event for a file, even though it has no such file or has already deleted it. In that case, the processing for that "delete" event should be a noop, not an error.</p>
|
||||
<h2>ResyncRequired error<a name="resyncrequired-error" href="#resyncrequired-error" class="heading-anchor">🔗</a></h2>
|
||||
<p>In some cases, in particular when a delta cursor has expired or is invalid, the server might throw an error with a "resyncRequired" error code. In that case, the client should discard their cursor and sync the complete data again from the beginning.</p>
|
||||
<p>This error should be rare - currently it would only happen if the cursor is invalid. Later on, it will also happen when old events have been deleted after x months. So a client that has not synced in a long time might see this error. The error code could also be used to solve server-side errors in some rare cases.</p>
|
||||
<p>When syncing from the start, there will be many "create" events for files that are already there locally. In that case, they should just be skipped.</p>
|
||||
<h2>Regarding the deletion of old change events<a name="regarding-the-deletion-of-old-change-events" href="#regarding-the-deletion-of-old-change-events" class="heading-anchor">🔗</a></h2>
|
||||
<p>Keeping all change events permanently would represent a lot of data, however it might be necessary. Without it, it won't be possible for a client to know what file has been deleted and thus a client that has not synced for a long time will keep its files permanently.</p>
|
||||
<p>So most likely we'll always keep the change events. However, we could compress the old ones to just "create" and "delete" events. All "update" events are not needed. And for a file that has been deleted, we don't need to keep the "create" event.</p>
|
||||
<p>The client would then follow this logic:</p>
|
||||
<ul>
|
||||
<li>For "create" events:
|
||||
<ul>
|
||||
<li>If the file is present locally, update it with the version from the server.</li>
|
||||
<li>If the file is not present, create it using the version from the server.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>For "delete" events:
|
||||
<ul>
|
||||
<li>If the file is present, delete it.</li>
|
||||
<li>If it is not, skip the event (not an error).</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>It might seem we could derive the "create" events simply by looking at the files in the directory - all files that are there would implicitely have a "create" event. The issue however is that it's not possible to reliably iterate over the files in a folder, because they might change in the meantime. The change events on the other hand provide an ID that can be used reliably to iterate over changes, and to resume at any time.</p>
|
||||
|
||||
<div class="bottom-links">
|
||||
<a href="https://github.com/laurent22/joplin/blob/dev/readme/spec/server_delta_sync.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');
|
||||
}
|
||||
}
|
||||
|
||||
$('#toc').hide();
|
||||
|
||||
$('.help').click(function(event) {
|
||||
event.preventDefault();
|
||||
$('#toc').show();
|
||||
});
|
||||
|
||||
$(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>
|
469
docs/spec/server_file_url_format/index.html
Normal file
469
docs/spec/server_file_url_format/index.html
Normal file
@@ -0,0 +1,469 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
|
||||
<!--
|
||||
|
||||
!!! WARNING !!!
|
||||
|
||||
This file was auto-generated from readme/spec/server_file_url_format.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_file_url_format.md
|
||||
|
||||
-->
|
||||
|
||||
<head>
|
||||
<title>Structure of file URLs in Joplin Server | 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%;
|
||||
}
|
||||
.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-server_file_url_format">
|
||||
|
||||
<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="help" href="#" title="Menu">Menu</a></li>
|
||||
<!-- <li><a class="gsod" href="https://joplinapp.org/gsod2020/" title="Google Season of Docs 2020">GSoD 2020</a></li> -->
|
||||
</ul>
|
||||
<div class="nav-right">
|
||||
<!--
|
||||
<iframe class="share-btn" src="https://www.facebook.com/plugins/share_button.php?href=http%3A%2F%2Fjoplinapp.org&layout=button&size=small&mobile_iframe=true&width=60&height=20&appId" width="60" height="20" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true"></iframe>
|
||||
<iframe class="share-btn" src="https://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fjoplinapp.org" width="62" height="20" title="Tweet" style="border: 0; overflow: hidden;"></iframe>
|
||||
-->
|
||||
<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="100px" 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>
|
||||
</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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>Google Summer of Code 2020</p>
|
||||
<ul>
|
||||
<li><a href="https://joplinapp.org/gsoc2020/index/">Google Summer of Code 2020</a></li>
|
||||
<li><a href="https://joplinapp.org/gsoc2020/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/stats/">Stats</a></li>
|
||||
<li><a href="https://joplinapp.org/donate/">Donate</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="main">
|
||||
<h1>Structure of file URLs in Joplin Server<a name="structure-of-file-urls-in-joplin-server" href="#structure-of-file-urls-in-joplin-server" class="heading-anchor">🔗</a></h1>
|
||||
<p>To identify a file, Joplin Server supports two types of URLs:</p>
|
||||
<h2>Access by ID<a name="access-by-id" href="#access-by-id" class="heading-anchor">🔗</a></h2>
|
||||
<p><strong>Format:</strong> <code>BASE_URL/files/FILE_ID</code></p>
|
||||
<p>This is the simplest way and it matches how other API items are accessed by ID.</p>
|
||||
<p>For example: <code>https://example.com/api/files/5c7e0f3f54434ba</code></p>
|
||||
<h2>Access by full path<a name="access-by-full-path" href="#access-by-full-path" class="heading-anchor">🔗</a></h2>
|
||||
<p><strong>Format:</strong> <code>BASE_URL/files/SPECIAL_DIR:/path/to/file/:</code></p>
|
||||
<p>This is to access a file by its full path. In this case, the path must be prefixed by <code>SPECIAL_DIR</code>, which can only be <code>root</code> at the moment. Then to differentiate the path from URL segments, it needs to be wrapped in colons <code>:</code>.</p>
|
||||
<p>For example, to access the metadata of file <code>/my/file.txt</code></p>
|
||||
<p><code>https://example.com/api/files/root:/my/file.txt:</code></p>
|
||||
<p>To access its content:</p>
|
||||
<p><code>https://example.com/api/files/root:/my/file.txt:/content</code></p>
|
||||
<p>To access the root only (for example to list its content):</p>
|
||||
<p><code>https://example.com/api/files/root:/:</code></p>
|
||||
<p>Which can also be written as:</p>
|
||||
<p><code>https://example.com/api/files/root</code></p>
|
||||
<h2>Difference between API and web app end points<a name="difference-between-api-and-web-app-end-points" href="#difference-between-api-and-web-app-end-points" class="heading-anchor">🔗</a></h2>
|
||||
<p>The API and web app end points are consistent in the way they access files, except that in one case the URLs will start with <code>/api</code> and the other with just <code>/</code>. For example, this would access the same file:</p>
|
||||
<ul>
|
||||
<li>API: <code>https://example.com/api/files/root:/my/file.txt:</code></li>
|
||||
<li>Web: <code>https://example.com/files/root:/my/file.txt:</code></li>
|
||||
</ul>
|
||||
|
||||
<div class="bottom-links">
|
||||
<a href="https://github.com/laurent22/joplin/blob/dev/readme/spec/server_file_url_format.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');
|
||||
}
|
||||
}
|
||||
|
||||
$('#toc').hide();
|
||||
|
||||
$('.help').click(function(event) {
|
||||
event.preventDefault();
|
||||
$('#toc').show();
|
||||
});
|
||||
|
||||
$(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>
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/sync_lock.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/sync_lock.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -498,7 +500,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/spec/sync_lock.md
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/terminal.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/terminal.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -1117,7 +1119,7 @@ version
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/1_welcome_to_joplin.
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/1_welcome_to_joplin.
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -486,7 +488,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/1_welcome_to_joplin.
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/2_importing_and_expo
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/2_importing_and_expo
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -446,7 +448,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/2_importing_and_expo
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/3_synchronising_your
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/3_synchronising_your
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -450,7 +452,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/3_synchronising_your
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/4_tips.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/4_tips.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -503,7 +505,7 @@ $$</p>
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -81,7 +81,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/5_privacy.md
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
font-size: .85em;
|
||||
word-break: break-all;
|
||||
/* word-break: break-all; */
|
||||
}
|
||||
pre code {
|
||||
border: none;
|
||||
@@ -377,6 +377,8 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/5_privacy.md
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -470,7 +472,7 @@ https://github.com/laurent22/joplin/blob/dev/readme/welcome/5_privacy.md
|
||||
</div></div>
|
||||
|
||||
<div class="footer">
|
||||
Copyright (C) 2016-2020 Laurent Cozic
|
||||
Copyright (C) 2016-2021 Laurent Cozic
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -1,5 +1,15 @@
|
||||
module.exports = {
|
||||
'**/*.ts?(x)': () => 'npm run tsc',
|
||||
// Don't compile when committing as it will process all TS files in the
|
||||
// monorepo, which is too slow. Errors should be checked during development
|
||||
// using `npm run watch`.
|
||||
//
|
||||
// Or if we add this back, we could do something like this:
|
||||
// https://stackoverflow.com/a/44748041/561309
|
||||
//
|
||||
// The script would check where the TS file is located, then use the right
|
||||
// tsconfig.json file along with the tsconfig override.
|
||||
//
|
||||
// '**/*.ts?(x)': () => 'npm run tsc',
|
||||
'*.{js,jsx,ts,tsx}': [
|
||||
'npm run linter-precommit',
|
||||
'git add',
|
||||
|
24
package.json
24
package.json
@@ -7,35 +7,32 @@
|
||||
},
|
||||
"license": "MIT",
|
||||
"scripts": {
|
||||
"addPackageCli": "lerna add --scope joplin",
|
||||
"addPackageCliD": "lerna add --scope joplin -D",
|
||||
"addPackageDesktop": "lerna add --scope @joplin/app-desktop",
|
||||
"addPackageDesktopD": "lerna add --scope @joplin/app-desktop -D",
|
||||
"addPackageMobile": "lerna add --scope @joplin/app-mobile",
|
||||
"addPackageMobileD": "lerna add --scope @joplin/app-mobile -D",
|
||||
"bootstrap": "lerna bootstrap --no-ci",
|
||||
"bootstrapServerOnly": "lerna bootstrap --no-ci --include-dependents --include-dependencies --scope @joplin/server",
|
||||
"bootstrapIgnoreScripts": "lerna bootstrap --ignore-scripts --no-ci",
|
||||
"build": "lerna run build && npm run tsc",
|
||||
"buildApiDoc": "npm start --prefix=packages/app-cli -- apidoc ../../readme/api/references/rest_api.md",
|
||||
"buildDoc": "./packages/tools/build-all.sh",
|
||||
"buildPluginDoc": "typedoc --name 'Joplin Plugin API Documentation' --mode file -theme './Assets/PluginDocTheme/' --readme './Assets/PluginDocTheme/index.md' --excludeNotExported --excludeExternals --excludePrivate --excludeProtected --out docs/api/references/plugin_api packages/lib/services/plugins/api/",
|
||||
"buildTranslations": "npm run tsc && node packages/tools/build-translation.js",
|
||||
"buildTranslationsNoTsc": "node packages/tools/build-translation.js",
|
||||
"buildWebsite": "npm run buildApiDoc && node ./packages/tools/build-website.js && npm run buildPluginDoc",
|
||||
"clean": "lerna clean -y && lerna run clean",
|
||||
"circularDependencyCheck": "npx madge --warning --circular --extensions js ./",
|
||||
"clean": "lerna clean -y && lerna run clean",
|
||||
"generateDatabaseTypes": "node packages/tools/generate-database-types",
|
||||
"linkChecker": "linkchecker https://joplinapp.org",
|
||||
"linter-ci": "./node_modules/.bin/eslint --resolve-plugins-relative-to . --quiet --ext .js --ext .jsx --ext .ts --ext .tsx",
|
||||
"linter-precommit": "./node_modules/.bin/eslint --resolve-plugins-relative-to . --fix --ext .js --ext .jsx --ext .ts --ext .tsx",
|
||||
"linter": "./node_modules/.bin/eslint --resolve-plugins-relative-to . --fix --quiet --ext .js --ext .jsx --ext .ts --ext .tsx",
|
||||
"bootstrap": "lerna bootstrap --no-ci",
|
||||
"bootstrapIgnoreScripts": "lerna bootstrap --ignore-scripts --no-ci",
|
||||
"postinstall": "npm run bootstrap --no-ci && npm run build",
|
||||
"build": "lerna run build && npm run tsc",
|
||||
"publishAll": "git pull && lerna version --yes --no-private --no-git-tag-version && gulp completePublishAll",
|
||||
"releaseAndroid": "node packages/tools/release-android.js",
|
||||
"publishAll": "git pull && npm run build && lerna version --yes --no-private --no-git-tag-version && gulp completePublishAll",
|
||||
"releaseAndroidClean": "node packages/tools/release-android.js",
|
||||
"releaseAndroid": "export PATH=\"/usr/local/opt/openjdk@11/bin:$PATH\" && node packages/tools/release-android.js",
|
||||
"releaseCli": "node packages/tools/release-cli.js",
|
||||
"releaseClipper": "node packages/tools/release-clipper.js",
|
||||
"releaseDesktop": "node packages/tools/release-electron.js",
|
||||
"releasePluginGenerator": "node packages/tools/release-plugin-generator.js",
|
||||
"releaseServer": "node packages/tools/release-server.js",
|
||||
"setupNewRelease": "node ./packages/tools/setupNewRelease",
|
||||
"test-ci": "lerna run test-ci --stream",
|
||||
"test": "lerna run test --stream",
|
||||
@@ -43,8 +40,7 @@
|
||||
"updateIgnored": "gulp updateIgnoredTypeScriptBuild",
|
||||
"updatePluginTypes": "./packages/generator-joplin/updateTypes.sh",
|
||||
"watch": "lerna run watch --stream --parallel",
|
||||
"i": "lerna add --no-bootstrap --scope",
|
||||
"server-start-dev": "docker-compose --file docker-compose.server-dev.yml up"
|
||||
"i": "lerna add --no-bootstrap --scope"
|
||||
},
|
||||
"husky": {
|
||||
"hooks": {
|
||||
|
@@ -1,22 +1,8 @@
|
||||
const gulp = require('gulp');
|
||||
const fs = require('fs-extra');
|
||||
const utils = require('@joplin/tools/gulp/utils');
|
||||
const { setPackagePrivateField } = require('@joplin/tools/tool-utils');
|
||||
const tasks = {
|
||||
// compileExtensions: {
|
||||
// fn: require('../Tools/gulp/tasks/compileExtensions.js'),
|
||||
// },
|
||||
// copyLib: require('../Tools/gulp/tasks/copyLib'),
|
||||
// tsc: require('../Tools/gulp/tasks/tsc'),
|
||||
// updateIgnoredTypeScriptBuild: require('../Tools/gulp/tasks/updateIgnoredTypeScriptBuild'),
|
||||
};
|
||||
|
||||
// async function makePackagePublic(filePath) {
|
||||
// const text = await fs.readFile(filePath, 'utf8');
|
||||
// const obj = JSON.parse(text);
|
||||
// delete obj.private;
|
||||
// await fs.writeFile(filePath, JSON.stringify(obj), 'utf8');
|
||||
// }
|
||||
const tasks = {};
|
||||
|
||||
tasks.prepareBuild = {
|
||||
fn: async () => {
|
||||
@@ -26,8 +12,7 @@ tasks.prepareBuild = {
|
||||
});
|
||||
|
||||
await utils.copyFile(`${__dirname}/package.json`, `${buildDir}/package.json`);
|
||||
// await makePackagePublic(`${buildDir}/package.json`);
|
||||
await setPackagePrivateField(`${buildDir}/package.json`, false);
|
||||
await utils.setPackagePrivateField(`${buildDir}/package.json`, false);
|
||||
|
||||
await utils.copyFile(`${__dirname}/package-lock.json`, `${buildDir}/package-lock.json`);
|
||||
await utils.copyFile(`${__dirname}/gulpfile.js`, `${buildDir}/gulpfile.js`);
|
||||
@@ -50,14 +35,6 @@ tasks.prepareTestBuild = {
|
||||
],
|
||||
});
|
||||
|
||||
// const rootDir = utils.rootDir();
|
||||
|
||||
// await utils.copyDir(`${rootDir}/packages/app-mobile/lib`, `${testBuildDir}/lib`, {
|
||||
// excluded: [
|
||||
// `${rootDir}/packages/renderer/node_modules`,
|
||||
// ],
|
||||
// });
|
||||
// await utils.copyDir(`${rootDir}/packages/app-mobile/locales`, `${testBuildDir}/locales`);
|
||||
await fs.mkdirp(`${testBuildDir}/data`);
|
||||
},
|
||||
};
|
||||
@@ -67,12 +44,4 @@ utils.registerGulpTasks(gulp, tasks);
|
||||
|
||||
gulp.task('build', gulp.series([
|
||||
'prepareBuild',
|
||||
// 'compileExtensions',
|
||||
// 'copyLib',
|
||||
]));
|
||||
|
||||
// gulp.task('buildTests', gulp.series([
|
||||
// // 'prepareTestBuild',
|
||||
// // 'compileExtensions',
|
||||
// // 'copyLib',
|
||||
// ]));
|
||||
|
@@ -54,5 +54,5 @@ module.exports = {
|
||||
|
||||
testEnvironment: 'node',
|
||||
setupFilesAfterEnv: [`${__dirname}/jest.setup.js`],
|
||||
slowTestThreshold: 20,
|
||||
slowTestThreshold: 40,
|
||||
};
|
||||
|
2
packages/app-cli/package-lock.json
generated
2
packages/app-cli/package-lock.json
generated
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "joplin",
|
||||
"version": "1.5.1",
|
||||
"version": "1.6.3",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
@@ -31,7 +31,7 @@
|
||||
],
|
||||
"owner": "Laurent Cozic"
|
||||
},
|
||||
"version": "1.6.0",
|
||||
"version": "1.7.0",
|
||||
"bin": {
|
||||
"joplin": "./main.js"
|
||||
},
|
||||
@@ -39,8 +39,8 @@
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@joplin/lib": "^1.0.9",
|
||||
"@joplin/renderer": "^1.0.17",
|
||||
"@joplin/lib": "*",
|
||||
"@joplin/renderer": "*",
|
||||
"aws-sdk": "^2.588.0",
|
||||
"chalk": "^4.1.0",
|
||||
"clean-html": "^1.5.0",
|
||||
|
@@ -27,17 +27,22 @@ describe('InMemoryCache', function() {
|
||||
await time.msleep(510);
|
||||
expect(cache.value('test')).toBe(undefined);
|
||||
|
||||
// Check that the TTL is reset every time setValue is called
|
||||
cache.setValue('test', 'something', 300);
|
||||
await time.msleep(100);
|
||||
cache.setValue('test', 'something', 300);
|
||||
await time.msleep(100);
|
||||
cache.setValue('test', 'something', 300);
|
||||
await time.msleep(100);
|
||||
cache.setValue('test', 'something', 300);
|
||||
await time.msleep(100);
|
||||
// This test can sometimes fail in some cases, probably because it
|
||||
// sleeps for more than 100ms (when the computer is slow). Changing this
|
||||
// to use higher values would slow down the test unit too much, so let's
|
||||
// disable it for now.
|
||||
|
||||
expect(cache.value('test')).toBe('something');
|
||||
// Check that the TTL is reset every time setValue is called
|
||||
// cache.setValue('test', 'something', 300);
|
||||
// await time.msleep(100);
|
||||
// cache.setValue('test', 'something', 300);
|
||||
// await time.msleep(100);
|
||||
// cache.setValue('test', 'something', 300);
|
||||
// await time.msleep(100);
|
||||
// cache.setValue('test', 'something', 300);
|
||||
// await time.msleep(100);
|
||||
|
||||
// expect(cache.value('test')).toBe('something');
|
||||
});
|
||||
|
||||
it('should delete old records', async () => {
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user