Compare commits

..

327 Commits

Author SHA1 Message Date
Elian Doran
cba15f9df5 ci: Deploy main on tags as well 2024-08-06 23:09:31 +03:00
Elian Doran
b72626aab6 release 0.90.3 2024-08-06 20:40:58 +03:00
Elian Doran
712ef92f7c build: Mark releases as draft 2024-08-06 20:40:54 +03:00
Elian Doran
c3b742df3b docs: Fix dynamic references to wiki 2024-08-06 20:38:35 +03:00
Elian Doran
85eaf0cb52 docs: Fix the remainder of hard-coded links to wiki 2024-08-06 20:18:19 +03:00
Elian Doran
c1fcb10bc0 docs: Change reference to search.md 2024-08-06 20:12:13 +03:00
Elian Doran
743fee2783 electron: Fix alt+left, alt+right navigation
Broken due to a change in Electron API:
https://github.com/electron/electron/pull/41577/files
2024-08-06 18:44:19 +03:00
Elian Doran
f3641e5fa6 server: Fix fulltext search ignoring buffers 2024-08-04 23:26:35 +03:00
Elian Doran
8f5859f344 Merge pull request #285 from perfectra1n/develop
Add CI/CD step for DockerHub containers
2024-08-04 19:47:02 +03:00
perfectra1n
a8337c51dd Merge branch 'develop' into develop 2024-08-04 09:42:37 -07:00
Elian Doran
2f9a75b74c Merge pull request #291 from TriliumNext/feature/new_icon
New icon
2024-08-04 19:36:25 +03:00
Elian Doran
2d7ffaf2a8 ci: Revert change 2024-08-04 19:35:59 +03:00
Elian Doran
8ca6dbe34b Scale mac icon to 0.8 2024-08-04 17:11:46 +03:00
Elian Doran
5ee62d4d65 Create Big Sur-style icons 2024-08-04 16:42:35 +03:00
Elian Doran
3544dc6650 Fix weird plural in author name 2024-08-04 16:09:44 +03:00
Elian Doran
03cb773560 Add sharper icons using Inkscape for rendering 2024-08-04 15:36:51 +03:00
Elian Doran
3659cad587 bin: Don't remove intermediate icons, simply ignore them 2024-08-04 15:18:39 +03:00
Elian Doran
54b9bcb6de Build small icons for macOS as well 2024-08-04 14:30:55 +03:00
Elian Doran
712b180f94 Set up 1024x1024 icon for macOS 2024-08-04 14:26:30 +03:00
Elian Doran
3ce2c98317 bin: Add asserts for create-icons dependencies 2024-08-04 14:26:10 +03:00
Elian Doran
880b0420cc client: Update icon in CKEditor 2024-08-04 14:15:35 +03:00
Elian Doran
c0a26889e4 Document #run=mobileStartup (fixes #290) 2024-08-04 10:46:28 +03:00
Elian Doran
efc5ac0e9b ci: Add workflow_dispatch to main 2024-08-03 23:37:28 +03:00
Elian Doran
86463086fa Update non-rendering emoji
See https://emojipedia.org/right-thought-bubble
2024-08-03 23:21:15 +03:00
Elian Doran
48ac02a1a7 Update logo in demo document 2024-08-03 22:33:33 +03:00
Elian Doran
a94c2c45b7 build: Build Squirrel splash image as well 2024-08-03 22:25:10 +03:00
Elian Doran
f81bf509cd build: Create script to build icons for the application 2024-08-03 22:20:05 +03:00
Elian Doran
7906c8b64f Remove unused icons 2024-08-03 21:55:38 +03:00
Elian Doran
80289b8059 client: Fix icon jumping on hover 2024-08-03 21:43:49 +03:00
Elian Doran
96aecf8544 client: Match original size icon slightly 2024-08-03 21:40:07 +03:00
Elian Doran
deb2f389df client: Use correct color 2024-08-03 21:37:46 +03:00
Elian Doran
ab25778e7e client: Embed SVG directly 2024-08-03 21:35:16 +03:00
Elian Doran
3b0ea51f5f docs: Add a few details about CKEditor 2024-08-02 00:20:17 +03:00
perf3ct
eb91834539 trigger CI 2024-07-31 12:06:01 -07:00
perf3ct
c104475cd6 have DockerHub login use username secret instead 2024-07-31 12:03:53 -07:00
perf3ct
2a09c620fd update step names 2024-07-31 12:00:47 -07:00
perfectra1n
fe03db7dba Merge pull request #1 from perfectra1n/cicd-add-dockerhub-images
add steps to push container to DockerHub as well
2024-07-31 11:59:05 -07:00
perf3ct
5b74a931aa fix push action ids 2024-07-31 11:58:49 -07:00
perf3ct
ee4544cefe add steps to push container to DockerHub as well 2024-07-31 11:56:17 -07:00
Elian Doran
99ca701a5c electron: Fix initial sync (closes #284)
Apparently the issue was caused by options_init which for Electron was
attempting to read the theme asynchronously. That's why it didn't cause
issues on the server build.
2024-07-29 20:41:28 +03:00
Elian Doran
bc5a1de9b7 server: Fix import when no meta (closes #281) 2024-07-28 23:39:25 +03:00
Elian Doran
89314fac03 server: Report ZIP import errors properly 2024-07-28 23:38:34 +03:00
Elian Doran
347f18058f build: Set up iconUrl for squirrel build 2024-07-28 21:51:48 +03:00
Elian Doran
2f0d41922b release 0.90.2-beta 2024-07-28 10:12:19 +03:00
Elian Doran
1d142b9e57 build: Fix accidental change in release script 2024-07-28 10:12:08 +03:00
Elian Doran
e654f053b1 Merge pull request #277 from TriliumNext/feature/update_ckeditor_v41.4.2
ckeditor: 41.0.0 -> 41.4.2
2024-07-28 09:07:37 +03:00
Elian Doran
d5693e21df ci: Fix main not triggering 2024-07-28 00:22:52 +03:00
Elian Doran
32dc064ffa docs: Add some more documentation 2024-07-27 23:49:56 +03:00
Elian Doran
d9d8fff249 docs: Update example env 2024-07-27 23:39:15 +03:00
Elian Doran
312c85ae30 docs: Update documentation 2024-07-27 23:28:14 +03:00
Elian Doran
f5e02102e7 docs: Improve the preview script 2024-07-27 23:27:18 +03:00
Elian Doran
f32fb168dc docs: Fix the prepare script if run from a different dir 2024-07-27 23:27:11 +03:00
Elian Doran
1871846b64 ckeditor: Bring back emojis 2024-07-27 23:10:33 +03:00
Elian Doran
f5ebd66661 ckeditor: 41.0.0 -> 41.4.2 2024-07-27 21:53:59 +03:00
Elian Doran
e4d464d6c9 electron: Fix deprecated assert syntax 2024-07-27 16:51:36 +03:00
Elian Doran
557f6096b4 i18n: Fix warning about missing dev language 2024-07-27 16:50:34 +03:00
Elian Doran
84c535ae0d electron: Fix "Cannot access 'sqlInit' before initialization" at startup 2024-07-27 16:45:02 +03:00
Elian Doran
e5cdccc066 build: Make copy-dist silent 2024-07-27 16:42:47 +03:00
Elian Doran
ac4f902bb9 electron: Display TypeScript stack traces 2024-07-27 16:40:59 +03:00
Elian Doran
3bc83e19fa build: Turn off safe mode by default in order to be able to test scripts 2024-07-27 15:28:12 +03:00
Elian Doran
3466786a96 Merge branch 'develop' of ssh://github.com/TriliumNext/Notes into develop 2024-07-27 15:25:34 +03:00
Elian Doran
b58b7a6575 Merge pull request #268 from TriliumNext/feature/server_esm_part4
Server ESM port: Fix Electron build
2024-07-27 15:21:03 +03:00
Elian Doran
48cf41b5a5 Merge pull request #243 from TriliumNext/feature/server_esm_part3
Server ESM port: Getting things to run
2024-07-27 15:20:52 +03:00
Elian Doran
7b2d70ba56 Merge remote-tracking branch 'origin/develop' into feature/server_esm_part3 2024-07-27 15:20:39 +03:00
Elian Doran
1a5649e8ac Merge pull request #259 from TriliumNext/feature/server_esm
Server ESM port: Basic imports
2024-07-27 15:19:44 +03:00
Elian Doran
0f7446c198 client: Display errors for all basic widgets instead of just right panel widget 2024-07-27 12:26:35 +03:00
Elian Doran
0ba9fc7f5b client: Display errors for right panel widgets instead of crashing 2024-07-27 12:24:49 +03:00
Elian Doran
584ba246e3 client: Use translations for critical error 2024-07-27 12:10:59 +03:00
Elian Doran
22761d8a00 client: Display critical error toast instead of blank screen 2024-07-27 12:05:24 +03:00
Elian Doran
7bb70bb659 client: Allow newlines in toast message 2024-07-27 12:03:40 +03:00
Elian Doran
b508b5bbfd Update SECURITY.md 2024-07-25 00:31:42 +03:00
Elian Doran
dc48eeb7c1 dev: Set up default JSON formatter on VS Code 2024-07-25 00:30:51 +03:00
Elian Doran
3ba8f93412 Merge remote-tracking branch 'origin/develop' into feature/server_esm_part4 2024-07-24 21:39:39 +03:00
Elian Doran
25db092b41 electron: Fix crash due to missing i18next 2024-07-24 21:04:20 +03:00
Elian Doran
ae80a748af electron: Fix not starting due to squirrel 2024-07-24 20:57:32 +03:00
Elian Doran
6006d01f8b electron: Fix JSON imports 2024-07-24 20:52:46 +03:00
Elian Doran
7fb3abb4ea electron: Fix directory imports 2024-07-24 20:41:44 +03:00
Elian Doran
bb19cc216b server: Fix shadowed fields in becca entities 2024-07-24 20:40:03 +03:00
Elian Doran
709101c540 server: Fix some build errors 2024-07-24 20:35:19 +03:00
Elian Doran
eca9459d4c server: Use the TypeScript configuration that corresponds for Electron 2024-07-24 20:33:49 +03:00
Elian Doran
24af2e55dc server: Fix the remainder of import issues 2024-07-24 20:33:35 +03:00
Elian Doran
42f0073ab6 server: Fix various imports 2024-07-24 20:31:26 +03:00
Elian Doran
20ee62dfb1 server: Fix search-related imports 2024-07-24 20:30:12 +03:00
Elian Doran
2787feb593 server: Fix missing .js import for blob_interface 2024-07-24 20:27:50 +03:00
Elian Doran
8a5dca5dca server: Fix missing .js import for becca 2024-07-24 20:26:57 +03:00
Elian Doran
d5ec62f797 server: Fix missing .js import for shaca 2024-07-24 20:25:38 +03:00
Elian Doran
3595ace249 server: Fix missing .js import for request_interface 2024-07-24 20:24:47 +03:00
Elian Doran
ed0970b33b server: Fix missing .js import for entity_changes_interface 2024-07-24 20:24:13 +03:00
Elian Doran
ed0d86c787 server: Fix missing .js import for note-interface 2024-07-24 20:23:34 +03:00
Elian Doran
212d61c1d2 server: Fix missing .js import for route-interface 2024-07-24 20:23:05 +03:00
Elian Doran
3067380338 server: Fix missing .js import for etapi-interface 2024-07-24 20:21:52 +03:00
Elian Doran
76fcea7189 server: Fix missing .js import for rows file 2024-07-24 20:20:20 +03:00
MeIchthys
379c07a7fa Update issue template to use new version scheme and TriliumNext Documentation links 2024-07-24 09:49:50 -04:00
Elian Doran
f382d3c728 Merge remote-tracking branch 'origin/feature/update_bettersqlite3' into feature/server_esm_part3 2024-07-24 00:02:15 +03:00
Elian Doran
fd1f43d192 Merge remote-tracking branch 'origin/feature/update_electron' into feature/server_esm_part3 2024-07-24 00:01:44 +03:00
Elian Doran
989462c1b8 electron: Fix Common.js import 2024-07-24 00:00:41 +03:00
Elian Doran
bd6ef06732 Merge remote-tracking branch 'origin/develop' into feature/server_esm_part3 2024-07-23 23:43:00 +03:00
Elian Doran
b9a2be6808 Merge pull request #248 from TriliumNext/feature/i18n_first_steps
i18n: First steps
2024-07-23 23:27:45 +03:00
Elian Doran
ece343ac09 dev: Improve custom translation framework slightly 2024-07-23 23:27:00 +03:00
Elian Doran
2fb05ab37d Merge remote-tracking branch 'origin/develop' into feature/i18n_first_steps
; Conflicts:
;	package-lock.json
;	package.json
2024-07-23 23:22:34 +03:00
Elian Doran
de342c3285 dev: Set up key style & source language 2024-07-23 23:19:11 +03:00
Elian Doran
906dad62a8 dev: Set up i18n-ally 2024-07-23 22:52:34 +03:00
Elian Doran
0606fe01f6 Merge pull request #242 from TriliumNext/feature/server_esm_part2
Server ESM port: Convert some of the asynchronous imports
2024-07-23 19:17:20 +03:00
Elian Doran
1b5b3e697e Merge branch 'feature/server_esm_part2' into feature/server_esm_part3 2024-07-23 19:15:59 +03:00
Elian Doran
3aa38b998a server: Address requested changes 2024-07-23 19:14:33 +03:00
Elian Doran
45bf75b864 Merge branch 'feature/server_esm' into feature/server_esm_part2 2024-07-23 19:08:46 +03:00
Elian Doran
7f2caa00cb test: Remove commented-out code 2024-07-23 19:07:39 +03:00
Elian Doran
e9e329c6dd build: Fix Windows installer build 2024-07-23 00:26:02 +03:00
Elian Doran
faa9ebe1bc build: Remove unnecessary rm 2024-07-23 00:24:27 +03:00
Elian Doran
26efa9299e build: Fix export = 2024-07-23 00:17:20 +03:00
Elian Doran
3dbf8fb1c1 build: Fix running webpack on ESM 2024-07-23 00:12:08 +03:00
Elian Doran
6f6ce38538 build: Increase strictness of copy-trilium 2024-07-22 21:44:48 +03:00
Elian Doran
e74eff75db Revert "build: Export correct build info"
This reverts commit ef4f0f80b9.
2024-07-22 21:43:55 +03:00
Elian Doran
7fb4a66127 build: Remove redundant rm 2024-07-22 21:39:36 +03:00
Elian Doran
ef4f0f80b9 build: Export correct build info 2024-07-22 21:35:24 +03:00
Elian Doran
dd14ba9e0e build: Increase error strictness 2024-07-22 21:33:07 +03:00
Elian Doran
c39d131426 ci: Add ESM change to main temporarily 2024-07-22 21:23:06 +03:00
Elian Doran
b0d6564a63 server: Fix share not working after ESM port 2024-07-22 21:17:43 +03:00
Elian Doran
c20c8d1176 server: Fix init database not working due to share db 2024-07-22 21:17:27 +03:00
Elian Doran
10239d1a0b Merge branch 'feature/server_esm_part2' into feature/server_esm_part3 2024-07-22 20:20:34 +03:00
Elian Doran
f0a561565e Merge branch 'feature/server_esm' into feature/server_esm_part2 2024-07-22 20:15:49 +03:00
Elian Doran
e53b7dd297 Merge remote-tracking branch 'origin/develop' into feature/server_esm 2024-07-22 19:59:44 +03:00
Elian Doran
997da1c3bc client: Change URL for checking updates (not testable yet) 2024-07-22 19:40:00 +03:00
Elian Doran
c1b5eb086b ci: Don't build main if only docs were changed 2024-07-22 19:39:15 +03:00
Elian Doran
043313c71a Merge branch 'feature/update_electron' into feature/update_bettersqlite3 2024-07-21 23:29:48 +03:00
Elian Doran
62804ec67a Merge remote-tracking branch 'origin/develop' into feature/update_electron 2024-07-21 23:28:03 +03:00
Elian Doran
4edb0374fc server: Fix "Content hash check for [...] sector [...] FAILED"
The issue was caused by a guard condition which prevented the writing of
entity changes which came from the remote and were marked as deleted,
resulting in an incorrect checksum when attempting to sync.
2024-07-21 21:14:27 +03:00
Elian Doran
2e9a624bfd release 0.90.1-beta 2024-07-21 13:25:01 +03:00
Elian Doran
715a952148 build: Remove auth if token not provided 2024-07-21 13:24:44 +03:00
Elian Doran
d09578735e build: Implement cross-platform build info script 2024-07-21 11:45:31 +03:00
Elian Doran
374a51b77c ci: Update build info for Windows setup as well 2024-07-21 11:26:14 +03:00
Elian Doran
5a8442f3d8 build: Fix artifacts not generated due to name change 2024-07-21 10:57:43 +03:00
Elian Doran
f07a6600c9 ci: Patch package.json main 2024-07-21 09:12:46 +03:00
Elian Doran
b2f688a3e5 ci: Fix typo 2024-07-21 08:53:21 +03:00
Elian Doran
4a7c447528 Merge pull request #255 from TriliumNext/feature/windows_installer
Windows installer
2024-07-21 08:52:06 +03:00
Elian Doran
028565d89b ci: Fix dev workflow no longer triggering 2024-07-21 08:48:54 +03:00
Elian Doran
b55e93c7c1 ci: Join workflows 2024-07-21 08:37:18 +03:00
Elian Doran
ad7a29a700 ci: Try to fix missing assets in installer 2024-07-21 00:31:36 +03:00
Elian Doran
f49008bf21 ci: Improve workflow 2024-07-21 00:02:43 +03:00
Elian Doran
3ac643b3ac build: Reorder scripts & rename artifact 2024-07-20 23:56:28 +03:00
Elian Doran
2e2400edb3 build: Improve product information in package.json 2024-07-20 23:39:53 +03:00
Elian Doran
6c36c47135 ci: Adapt to changes to package.json 2024-07-20 23:34:52 +03:00
Elian Doran
a5f7a3a029 build: Improve package.json for building with electron-forge 2024-07-20 23:33:40 +03:00
Elian Doran
52af97c88f build: Remove electron-builder 2024-07-20 23:24:04 +03:00
Elian Doran
dcb5d539b3 Fix removing dependency on electron 2024-07-20 23:23:44 +03:00
Elian Doran
19e776b1f6 Merge remote-tracking branch 'origin/develop' into feature/windows_installer
; Conflicts:
;	electron.js
;	package-lock.json
;	package.json
2024-07-20 23:07:32 +03:00
Elian Doran
f9a4f9b538 Merge pull request #253 from TriliumNext/feature/update_ci
CI improvements
2024-07-20 22:28:26 +03:00
Elian Doran
5277c3e6b6 ci: Revert artifact upload for darwin 2024-07-20 22:23:31 +03:00
Elian Doran
e380fa5224 ci: Fix permission issue with build script 2024-07-20 22:10:09 +03:00
Elian Doran
5eabdf8496 ci: Cancel unnecessary actions 2024-07-20 22:03:51 +03:00
Elian Doran
128af66797 ci: Don't pack Windows artifact 2024-07-20 22:02:29 +03:00
Elian Doran
80e647ffec ci: Update build info 2024-07-20 21:58:14 +03:00
Elian Doran
7dc8c662ca ci: Revert .tar.xz to avoid losing permissions 2024-07-20 21:50:32 +03:00
Elian Doran
cc55e1b657 ci: Remove .tar.xz to avoid double archiving 2024-07-20 21:48:04 +03:00
Elian Doran
27c2d1efbd ci: Fix double .zip artifact name 2024-07-20 21:46:37 +03:00
Elian Doran
4dc615fe68 ci: Fix double zipping 2024-07-20 21:39:11 +03:00
Elian Doran
9647738162 Merge pull request #252 from TriliumNext/feature/update_reduce_binary_size
Reduce dist size
2024-07-20 21:33:21 +03:00
Elian Doran
5b8148206d Merge pull request #251 from TriliumNext/feature/update_server_dependencies
Update server dependencies
2024-07-20 21:33:05 +03:00
Elian Doran
758c08ec85 build: Remove map files & ts files 2024-07-20 20:55:38 +03:00
Elian Doran
cb0d1d80a1 build: Remove some more unnecessary files 2024-07-20 20:53:33 +03:00
Elian Doran
9dcf51b117 build: Remove some unnecessary files 2024-07-20 20:39:18 +03:00
Elian Doran
389097bcc2 build: Silence clean-up phase 2024-07-20 20:31:36 +03:00
Elian Doran
366e791e2d build: Use--omit=dev 2024-07-20 20:19:38 +03:00
Elian Doran
d570b3c428 build: Move rimraf to devDependencies 2024-07-20 20:18:47 +03:00
Elian Doran
3b3f676964 server: Update ini, debounce 2024-07-20 19:06:56 +03:00
Elian Doran
77ddf529ac server: Update https-proxy-agent, sax 2024-07-20 19:06:55 +03:00
Elian Doran
ba74f39d86 server: Update semver, async-mutex 2024-07-20 19:06:55 +03:00
Elian Doran
76890de33b server: Update dayjs 2024-07-20 19:06:55 +03:00
Elian Doran
e9860e9523 server: Update axios, ejs 2024-07-20 19:06:55 +03:00
Elian Doran
44d095777c server: Update ws 2024-07-20 19:06:55 +03:00
Elian Doran
af726eff6c server: Update jsdom 2024-07-20 19:06:55 +03:00
Elian Doran
abd860754f server: Update express, express-rate-limit 2024-07-20 19:06:55 +03:00
Elian Doran
1a5b3ab0e3 server: Update yauzl 2024-07-20 19:06:55 +03:00
Elian Doran
8a507d3cc0 server: Update sanitize-url, archiver, marked, sanitize-html, turndown 2024-07-20 19:06:55 +03:00
Elian Doran
645c16e450 Merge pull request #228 from TriliumNext/feature/update_to_node20
Update Node.js version
2024-07-20 19:06:21 +03:00
Elian Doran
338012ec7e build: Bring update script for better-sqlite3 2024-07-20 16:48:41 +03:00
Elian Doran
e778680e94 Merge branch 'feature/update_to_node20' into feature/update_electron 2024-07-20 16:39:38 +03:00
Elian Doran
9b9180e5c8 Merge remote-tracking branch 'origin/develop' into feature/update_to_node20 2024-07-20 16:30:46 +03:00
Elian Doran
460bd6b979 ci: Always build main for update branches 2024-07-20 16:30:17 +03:00
Elian Doran
45a751ac6c Merge remote-tracking branch 'origin/feature/update_to_node20' into feature/update_electron 2024-07-20 15:27:19 +03:00
Elian Doran
c080dab9fa Revert "ci: Build main temporarily"
This reverts commit 776d2e7402.
2024-07-20 15:24:36 +03:00
Elian Doran
75ccf9c3a7 Merge pull request #232 from TriliumNext/feature/update_tooling_dependencies
Update tooling dependencies
2024-07-20 15:22:15 +03:00
Elian Doran
66415abe8a server: Remove dependency to "open", closes #221
This is a very old dependency from 2018:
aa2bbc6575

It is no longer used.
2024-07-20 15:21:24 +03:00
Elian Doran
431e04d039 build: Update rimraf, webpack, nodemon, jsdoc 2024-07-20 15:21:24 +03:00
Elian Doran
946a02fd67 build: Determine better-sqlite3 version automatically 2024-07-20 15:13:42 +03:00
Elian Doran
6a7f95f75b Revert "ci: Build main temporarily"
This reverts commit 79871dce638f47a86f673daa36cec84daa37c6ae.
2024-07-20 15:13:42 +03:00
Elian Doran
2a57765dd9 build: Update bettersqlite3 binary for Linux server 2024-07-20 15:13:42 +03:00
Elian Doran
42c0a557b4 build: Update bettersqlite3 binary for Linux desktop 2024-07-20 15:13:42 +03:00
Elian Doran
aa6cf1f11c build: Update bettersqlite3 binary for macOS 2024-07-20 15:13:42 +03:00
Elian Doran
d73b10d10d build: Update bettersqlite3 binary for Windows 2024-07-20 15:13:42 +03:00
Elian Doran
6aea3b1472 Revert "build: Investigate not embedding better_sqlite3 natives"
This reverts commit 0e10fbb0875e515b6c10d4d010fe81464b41f6b4.
2024-07-20 15:13:40 +03:00
Elian Doran
edc18e5be8 Revert "build: Fix ".node is not a valid Win32 application""
This reverts commit 8ac84e12c8dd2a838bf602e032b08d507b9d763b.
2024-07-20 15:13:19 +03:00
Elian Doran
86659552ee build: Fix ".node is not a valid Win32 application"
See https://github.com/electron/packager/issues/740.
2024-07-20 15:13:19 +03:00
Elian Doran
03ab41bfba build: Investigate not embedding better_sqlite3 natives 2024-07-20 15:13:17 +03:00
Elian Doran
956beb1cc0 server: Update better-sqlite3 from 8.5.0 to 11.1.2 2024-07-20 15:12:34 +03:00
Elian Doran
9db4e1d7d3 build: Fix Node version incompatibility 2024-07-20 15:10:50 +03:00
Elian Doran
776d2e7402 ci: Build main temporarily 2024-07-20 15:10:50 +03:00
Elian Doran
41286d41ee electron: Downgrade electron-debug
Avoids an import error because electron-debug became ESM-only in version
4. We will update to it once we upgrade to ESM.
2024-07-20 15:10:50 +03:00
Elian Doran
4bae19b1c3 electron: Switch 25.9.8 -> 31.2.1 2024-07-20 15:10:49 +03:00
Elian Doran
b587ec474c build: Use rimraf instead of rm -rf 2024-07-20 14:16:49 +03:00
Elian Doran
837b7ce3d1 Merge remote-tracking branch 'origin/develop' into feature/update_to_node20 2024-07-20 13:23:25 +03:00
Elian Doran
05776d178e docs: Move binaries to bin/ 2024-07-20 13:14:48 +03:00
Elian Doran
46c193dd9f docs: Get rid of /share 2024-07-20 13:10:19 +03:00
Elian Doran
5bcae52d08 docs: Always use HTML extensions 2024-07-20 13:08:22 +03:00
Elian Doran
4f5fa9f42b docs: Deploy .html files for GitHub Pages 2024-07-20 12:51:41 +03:00
Elian Doran
d381ef5100 docs: Deploy first documentation 2024-07-20 12:41:39 +03:00
Elian Doran
0a1a8c5a27 docs: Deploy to docs folder 2024-07-20 12:41:30 +03:00
Elian Doran
5db499cf56 docs: Create home page with redirect 2024-07-20 12:40:03 +03:00
Elian Doran
bfab6b4d5c docs: Add preview script 2024-07-20 12:29:12 +03:00
Elian Doran
621cc4a065 docs: Get rid of domain in output folder 2024-07-20 12:26:52 +03:00
Elian Doran
30c1810211 docs: Set up basic download script 2024-07-20 12:23:56 +03:00
Elian Doran
e284ea945c i18n: Improve formatting 2024-07-20 11:42:54 +03:00
Elian Doran
288e677495 i18n: Change back to English 2024-07-20 10:37:28 +03:00
Elian Doran
5ea35dd851 i18n: Implement HTTP backend loader 2024-07-20 10:19:11 +03:00
Elian Doran
d4bf162e92 i18n: Add i18next-http-backend to library loader 2024-07-20 10:07:10 +03:00
Elian Doran
d14cf7c246 i18n: Move translations to backend serve 2024-07-20 10:02:25 +03:00
Elian Doran
784891409f i18n: Add Romanian as demo 2024-07-20 09:51:09 +03:00
Elian Doran
0dbe6702ff i18n: Translate about page 2024-07-20 09:42:55 +03:00
Elian Doran
10ec7d6b2b i18n: Set up client dependency to i18next 2024-07-20 09:32:56 +03:00
Elian Doran
33d6d51d59 i18n: Set up i18next 2024-07-20 09:24:16 +03:00
Elian Doran
a71a53de97 Merge pull request #246 from CrO2Cl2/develop
update Italian README
2024-07-20 00:03:11 +03:00
CrO2Cl2
6a0949e5b4 found out the Italian README was actually already in here, and Translated all of the new stuff 2024-07-19 18:27:18 +00:00
Elian Doran
33a26b0b70 Merge pull request #212 from TriliumNext/bugfix/sync_failure
Sync failed: Cannot read properties of undefined (reading 'utcDateChanged')
2024-07-19 19:33:42 +03:00
Elian Doran
ab23459299 server: Fix script execution error (closes #244) 2024-07-19 19:30:27 +03:00
CrO2Cl2
f18939942b copy Italian README by MatMasIt from Zadams Repo 2024-07-19 16:27:29 +00:00
Elian Doran
40363f6e8e Merge pull request #225 from TriliumNext/feature/update_typescript
Update TypeScript dependencies
2024-07-19 19:12:13 +03:00
Elian Doran
583a4420fd Merge pull request #245 from Nriver/develop
update Chinese README
2024-07-19 18:33:24 +03:00
Nriver
508b53d47b update Chinese README 2024-07-19 15:00:53 +08:00
Elian Doran
dd416ed042 server-esm: Revert types config 2024-07-19 00:54:43 +03:00
Elian Doran
a10cc7bf8b server-esm: Fix missing becca 2024-07-19 00:49:56 +03:00
Elian Doran
1cd6670c55 server-esm: Fix circular dependency between sql and sql_init 2024-07-19 00:47:09 +03:00
Elian Doran
87fbd4bce8 server-esm: Fix cyclical dependency 2024-07-19 00:34:37 +03:00
Elian Doran
b6c5880484 server-esm: Fix use of __dirname 2024-07-19 00:18:35 +03:00
Elian Doran
27c296fa6c server-esm: Fix marked import issue 2024-07-19 00:02:39 +03:00
Elian Doran
fb7c0fdb4c server-esm: Use tsx instead of ts-node 2024-07-18 23:59:48 +03:00
Elian Doran
93a0782009 server-esm: Fix a few more straightforward imports 2024-07-18 23:48:14 +03:00
Elian Doran
508b5e3c69 server-esm: Handle more straightforward requires 2024-07-18 23:45:17 +03:00
Elian Doran
f137d38300 server-esm: Handle async client 2024-07-18 23:42:54 +03:00
Elian Doran
da0829245f server-esm: Handle proxy agent 2024-07-18 23:40:32 +03:00
Elian Doran
0a7828b9ae server-esm: Handle two more async imports 2024-07-18 23:39:04 +03:00
Elian Doran
86808c07bd server-esm: Handle migrations asynchronously 2024-07-18 23:36:49 +03:00
Elian Doran
3852753a89 server-esm: Avoid passing async to express 2024-07-18 23:36:26 +03:00
Elian Doran
fe385bf2e4 server-esm: Solve a few straightforward cases 2024-07-18 23:35:13 +03:00
Elian Doran
013f25a49b server-esm: Make crash async 2024-07-18 23:26:21 +03:00
Elian Doran
8a30663d1e server-esm: Start with some fundamental imports 2024-07-18 23:24:36 +03:00
Elian Doran
6de1291efa server-esm: Configure for dynamic imports 2024-07-18 23:23:23 +03:00
Elian Doran
4f018c8ceb server-esm: Fix one more service import 2024-07-18 23:15:01 +03:00
Elian Doran
bf29b30004 server-esm: Fix some more service imports 2024-07-18 23:06:08 +03:00
Elian Doran
c5561530ec server-esm: Fix import to session-file-store 2024-07-18 22:59:39 +03:00
Elian Doran
f4d19e2bc1 server-esm: Solve some more imports 2024-07-18 22:58:12 +03:00
Elian Doran
4ed88d28e9 server-esm: Fix type errors related to cloning 2024-07-18 22:41:58 +03:00
Elian Doran
8ac8f6c2df server-esm: Fix a few more import issues 2024-07-18 22:33:36 +03:00
Elian Doran
ad93fe4b75 server-esm: Remove dynamic imports due to past circular issues 2024-07-18 22:30:16 +03:00
Elian Doran
efdae79c10 server-esm: Remove two more straightforward imports 2024-07-18 22:25:03 +03:00
Elian Doran
a8fd3be133 server-esm: Remove dynamic import to utils 2024-07-18 22:21:33 +03:00
Elian Doran
0c87fab550 server-esm: Fix wonderful token type mismatch 2024-07-18 22:18:10 +03:00
Elian Doran
20c729e62b server-esm: Solve a few straightforward imports 2024-07-18 22:11:38 +03:00
Elian Doran
5d3e54ee9c server-esm: Fix Electron helpers 2024-07-18 22:07:57 +03:00
Elian Doran
1dc894e279 server-esm: Fix the remaining compilation errors 2024-07-18 21:56:20 +03:00
Elian Doran
46f76d7284 server-esm: Fix some imports in app.ts 2024-07-18 21:55:26 +03:00
Elian Doran
6c8e9f69b0 server-esm: Fix import of package.json 2024-07-18 21:53:50 +03:00
Elian Doran
ecb8a7f394 server-esm: Change single export to export default 2024-07-18 21:50:12 +03:00
Elian Doran
0ceae0a65e server-esm: Change some more export object to export default object 2024-07-18 21:47:30 +03:00
Elian Doran
55eecb0f61 server-esm: Change export object to export default object 2024-07-18 21:42:44 +03:00
Elian Doran
2750df04a3 server-esm: Change simple library import statements 2024-07-18 21:37:45 +03:00
Elian Doran
35d11cc0d2 server-esm: Change simple local import statements 2024-07-18 21:35:17 +03:00
Elian Doran
8fb67c9766 server-esm: Normalize quotes in require imports 2024-07-18 21:28:51 +03:00
Elian Doran
971c1472a5 server: Set to bundler / ES2015 2024-07-18 21:22:10 +03:00
Elian Doran
893a563afb vscode: Add task to watch build errors 2024-07-18 20:45:46 +03:00
Elian Doran
8b79975500 server: Fix SVG backwards compatibility (fixes #238) 2024-07-18 19:29:34 +03:00
Elian Doran
824bc4705f Merge pull request #234 from root-hal9000/develop
Fixed links to wiki and documentation to redirect to TriliumNext Docs
2024-07-18 12:58:20 +03:00
root-hal9000
75d583e064 Russian language README fixes
- fixes links and other small issues that differed from the English version, same as other languages
- Fixed forgotten change of title in Japanese version
2024-07-17 18:16:58 -05:00
root-hal9000
7562c28686 updated links in japanese readme 2024-07-17 18:06:44 -05:00
root-hal9000
4ef6406a76 Italian README links fixed
- Italian: same basic clean up and change of links as the other languages
**** Please note: Italian README file is not present in master branch
- For chinese: changed title to TriliumNext and fixed general link to docs
2024-07-17 18:00:08 -05:00
root-hal9000
be978e893f Updates of chinese language readme
-  updated for content to match current English version
- Changed wiki links from original zadam repo to TriliumNext docs
- changed release/builds link to TriliumNext repo
- removed gitpod reference
- added the same heading icons as in english version
- left a link referring to a third party wiki in chinese. Were they the ones who translated this? : https://github.com/baddate/trilium/wiki/
- did not mess with adding any of the new content such as "Why TriliumNext" - need an actual translator for a few of these
2024-07-17 17:49:21 -05:00
root-hal9000
95b8bf620f update links in English language readme 2024-07-17 17:24:00 -05:00
Elian Doran
e74b7f6964 build: Update NODE_VERSION in build-server 2024-07-17 01:08:33 +03:00
Elian Doran
612907c830 Revert "ci: Force build release for branch"
This reverts commit bc60d77cd7.
2024-07-17 01:01:41 +03:00
Elian Doran
6a2ed4f621 server: Upgrade better-sqlite3 to 8.5.0 2024-07-17 00:40:52 +03:00
Elian Doran
bc60d77cd7 ci: Force build release for branch 2024-07-17 00:02:19 +03:00
Elian Doran
fe4bf31de8 Update .gitpod to Node 20 2024-07-17 00:01:33 +03:00
Elian Doran
0c0bcdcf4e ci: Update to Node 20 2024-07-16 23:59:46 +03:00
Elian Doran
a7006df892 docker: Update to Node 20.15.1 2024-07-16 23:52:55 +03:00
Elian Doran
690048e910 Merge pull request #215 from TriliumNext/feature/investigate_tests
(Bug report) Search not working correctly
2024-07-16 23:19:22 +03:00
Elian Doran
2dbe3c62c2 Merge pull request #227 from TriliumNext/feature/client_updates
Update client dependencies, Canvas: "Copy image reference to clipboard" no longer working
2024-07-16 23:02:18 +03:00
Elian Doran
1eefa65418 client: Update KaTeX to 10.9.1 2024-07-16 22:51:44 +03:00
Elian Doran
7ad977de63 client: Update Mermaid to 10.9.1 2024-07-16 22:49:23 +03:00
Elian Doran
d48cdb1c8d client: Update Excalidraw to 0.17.6 2024-07-16 22:43:15 +03:00
Elian Doran
ea1da1e155 server: Fix rendering of SVG attachments (closes #226) 2024-07-16 22:29:00 +03:00
Elian Doran
623b2730ed server: Update @types/* to latest 2024-07-16 21:43:14 +03:00
Elian Doran
c0b3c8496e server: Fix build errors after updating to latest TypeScript 2024-07-16 21:43:04 +03:00
Elian Doran
9fdb7b29de server: Update TypeScript to latest 2024-07-16 21:30:07 +03:00
Elian Doran
e89faf6786 Merge remote-tracking branch 'origin/develop' into feature/investigate_tests 2024-07-16 18:33:55 +03:00
Elian Doran
66108c1067 client: Fix regression (front end no longer loading) 2024-07-16 18:33:39 +03:00
Elian Doran
eb39da19b3 server: Fix build comparator preferring numeric comparators 2024-07-15 23:20:20 +03:00
Elian Doran
105aa3e5f8 tests: Fix test-jasmine on Windows 2024-07-15 22:42:12 +03:00
Elian Doran
9dc22264f4 test: Add additional context for failed test 2024-07-15 22:36:09 +03:00
Elian Doran
80d2a69f47 test: Ignore tests that are failing upstream due to "no such table: notes" 2024-07-15 22:31:04 +03:00
Elian Doran
e393914b94 tests: Align with original repo
Apparently upstream does not run all the tests, the beforeAll() is not
even executed. On our side it was, causing a lot of errors related to
timeouts.
2024-07-15 22:24:14 +03:00
Elian Doran
eff6ca3365 Merge pull request #173 from TriliumNext/feat/ts-unit-and-integration-tests
feat: TS unit and integration tests
2024-07-15 21:21:11 +03:00
Elian Doran
6a7eb9b34f Merge remote-tracking branch 'origin/develop' into feat/ts-unit-and-integration-tests
; Conflicts:
;	package.json
;	tsconfig.json
2024-07-15 21:17:20 +03:00
Elian Doran
1e54a9660b Revert indentation change 2024-07-15 21:15:22 +03:00
Elian Doran
653fba3b71 client: Fix URL to repository 2024-07-15 20:21:43 +03:00
Elian Doran
ea47668916 server: Clarify name 2024-07-15 19:31:59 +03:00
Elian Doran
81a2b206ca electron: Improve run & switch scripts 2024-07-15 19:25:55 +03:00
Elian Doran
ddce014495 server: Fix sync failing if local EC is missing 2024-07-15 19:25:31 +03:00
Elian Doran
f323193c9d release 0.90.0-beta 2024-07-14 22:32:45 +03:00
Alex
17fac31cd1 convert es6 tests to ts 2024-06-09 12:16:09 +02:00
Alex
615f15756b Merge branch 'develop' into feat/ts-unit-and-integration-tests 2024-06-09 11:36:52 +02:00
Alex
d7f8cb4e38 remove rebuild 2024-06-09 11:35:48 +02:00
Alex
b88f81b718 feat: add temp formatter settings 2024-05-21 20:31:22 +02:00
Alex
fcb30f6319 feat: migrate jasmine tests to ts 2024-05-08 23:59:11 +02:00
Alex
aa4960f1a5 Merge branch 'develop' into feat/ts-unit-and-integration-tests 2024-05-08 21:17:29 +02:00
Alex
e7f11d6687 enable jasmine test runs 2024-05-03 21:18:20 +02:00
Elian Doran
4c1bc10d0f Publish installer artifact 2023-11-09 21:00:53 +02:00
Elian Doran
fe82b1d2d6 Start writing GitHub Actions workflow 2023-11-09 20:51:03 +02:00
Elian Doran
a5c150baba Remove unused electron-forge config 2023-11-09 20:04:30 +02:00
Elian Doran
e9282976d5 Fix application icon 2023-11-08 23:53:08 +02:00
Elian Doran
7cace222c0 Fix installer if webpack not run 2023-11-08 23:17:13 +02:00
Elian Doran
df79f3d9c9 Add a custom setup banner 2023-11-08 23:08:38 +02:00
Elian Doran
ddfa0d0749 Set up application icon 2023-11-08 22:40:38 +02:00
Elian Doran
c0c5e30898 Add icon to setup 2023-11-08 22:10:22 +02:00
Elian Doran
b1e0492e05 Prevent (re)start on install & uninstall 2023-11-08 21:56:02 +02:00
Elian Doran
2faee49bd9 Use package.json instead for consistency 2023-11-08 21:40:58 +02:00
Elian Doran
380b967407 Configure author & description for maker-squirrel 2023-11-08 21:40:04 +02:00
Elian Doran
145a09edd1 Set up Electron Forge
This should allow us to package Trilium for multiple platforms,
including generating a Windows installer which is our current target.
2023-11-08 21:28:04 +02:00
Elian Doran
b07628abda Remove electron-builder dependency
The `electron-builder` dependency was introduced a while ago in #289,
but finally removed bcbbf4dc3e so there
should be no reason to keep it around.
2023-11-08 21:21:01 +02:00
411 changed files with 52801 additions and 15554 deletions

View File

@@ -5,9 +5,9 @@ labels: "Type: Bug"
body:
- type: input
attributes:
label: Trilium Version
description: What version of Trilium are you using?
placeholder: 0.57.0-beta
label: TriliumNext Version
description: What version of TriliumNext are you using?
placeholder: 0.90.0-beta
validations:
required: true
- type: dropdown
@@ -24,7 +24,7 @@ body:
- type: dropdown
attributes:
label: What is your setup?
description: https://github.com/zadam/trilium/wiki#choose-the-setup
description: https://triliumnext.github.io/Docs/Wiki/quick-start.html
options:
- Local (no sync)
- Local + server sync
@@ -47,6 +47,6 @@ body:
- type: textarea
attributes:
label: Error logs
description: Please provide error logs, see [wiki page](https://github.com/zadam/trilium/wiki/Error-logs) for instructions on how to submit them.
description: Please provide error logs, see [wiki page](https://triliumnext.github.io/Docs/Wiki/error-logs.html) for instructions on how to submit them.
validations:
required: false

View File

@@ -1,6 +1,14 @@
name: Dev
on:
push:
branches-ignore:
- 'develop'
- 'feature/update**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build_docker:
name: Build Docker image
@@ -10,7 +18,7 @@ jobs:
- name: Set up node & dependencies
uses: actions/setup-node@v4
with:
node-version: 18
node-version: 20
cache: "npm"
- run: npm ci
- name: Run the TypeScript build

View File

@@ -2,10 +2,25 @@ name: Main
on:
push:
branches:
- 'develop'
- "develop"
- "feature/update**"
- "feature/server_esm**"
paths-ignore:
- "docs/**"
- "bin/**"
tags:
- "v*"
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
REGISTRY: ghcr.io
GHCR_REGISTRY: ghcr.io
DOCKERHUB_REGISTRY: docker.io
IMAGE_NAME: ${{ github.repository }}
jobs:
build_darwin-x64:
name: Build macOS x86_64
@@ -15,10 +30,12 @@ jobs:
- name: Set up node & dependencies
uses: actions/setup-node@v4
with:
node-version: 18
node-version: 20
cache: "npm"
- run: npm ci
- run: ./bin/build-mac-x64.sh
- run: |
npm run update-build-info
./bin/build-mac-x64.sh
- uses: actions/upload-artifact@v4
with:
name: trilium-mac-x64.zip
@@ -31,10 +48,12 @@ jobs:
- name: Set up node & dependencies
uses: actions/setup-node@v4
with:
node-version: 18
node-version: 20
cache: "npm"
- run: npm ci
- run: ./bin/build-mac-arm64.sh
- run: |
npm run update-build-info
./bin/build-mac-arm64.sh
- uses: actions/upload-artifact@v4
with:
name: trilium-mac-arm64.zip
@@ -47,10 +66,12 @@ jobs:
- name: Set up node & dependencies
uses: actions/setup-node@v4
with:
node-version: 18
node-version: 20
cache: "npm"
- run: npm ci
- run: ./bin/build-linux-x64.sh
- run: |
npm run update-build-info
./bin/build-linux-x64.sh
- uses: actions/upload-artifact@v4
with:
name: trilium-linux-x64.tar.xz
@@ -67,10 +88,12 @@ jobs:
- name: Set up node & dependencies
uses: actions/setup-node@v4
with:
node-version: 18
node-version: 20
cache: "npm"
- run: npm ci
- run: ./bin/build-server.sh
- run: |
npm run update-build-info
./bin/build-server.sh
- uses: actions/upload-artifact@v4
with:
name: trilium-linux-x64-server.tar.xz
@@ -90,16 +113,38 @@ jobs:
- name: Set up node & dependencies
uses: actions/setup-node@v4
with:
node-version: 18
node-version: 20
cache: "npm"
- run: npm ci
- run: ./bin/build-win-x64.sh
- run: |
npm run update-build-info
./bin/build-win-x64.sh DONTPACK
- uses: actions/upload-artifact@v4
with:
name: trilium-windows-x64.zip
path: dist/trilium-windows-x64-*.zip
name: trilium-windows-x64
path: dist/trilium-windows-x64
build_windows-installer:
name: Build Windows x86_64 (Setup)
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Set up node & dependencies
uses: actions/setup-node@v4
with:
node-version: 20
cache: "npm"
- run: npm ci
- name: Run installer build
run: |
npm run update-build-info
npm run make-electron
- name: Publish installer artifact
uses: actions/upload-artifact@v4
with:
name: TriliumNext Notes for Windows (Setup)
path: out/make/squirrel.windows/x64/*.exe
build_docker:
name: Build Docker image
name: Build Docker images
runs-on: ubuntu-latest
permissions:
contents: read
@@ -108,40 +153,68 @@ jobs:
id-token: write
steps:
- uses: actions/checkout@v4
- name: Log in to the Container registry
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
- name: Extract metadata (tags, labels) for GHCR image
id: ghcr-meta
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
images: ${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}
- name: Extract metadata (tags, labels) for DockerHub image
id: dh-meta
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
with:
images: ${{ env.DOCKERHUB_REGISTRY }}/${{ env.IMAGE_NAME }}
- name: Set up node & dependencies
uses: actions/setup-node@v4
with:
node-version: 18
node-version: 20
cache: "npm"
- run: npm ci
- run: npm ci
- name: Run the TypeScript build
run: npx tsc
- name: Create server-package.json
run: cat package.json | grep -v electron > server-package.json
- name: Log in to the GHCR container registry
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
with:
registry: ${{ env.GHCR_REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: docker/setup-buildx-action@v3
- uses: docker/build-push-action@v6
id: push
- name: Build and push container image to GHCR
uses: docker/build-push-action@v6
id: ghcr-push
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
tags: ${{ steps.ghcr-meta.outputs.tags }}
labels: ${{ steps.ghcr-meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Generate artifact attestation
- name: Generate and push artifact attestation to GHCR
uses: actions/attest-build-provenance@v1
with:
subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME}}
subject-digest: ${{ steps.push.outputs.digest }}
push-to-registry: true
subject-name: ${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME}}
subject-digest: ${{ steps.ghcr-push.outputs.digest }}
push-to-registry: true
- name: Log in to the DockerHub container registry
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
with:
registry: ${{ env.DOCKERHUB_REGISTRY }}
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push image to DockerHub
uses: docker/build-push-action@v6
id: dh-push
with:
context: .
push: true
tags: ${{ steps.dh-meta.outputs.tags }}
labels: ${{ steps.dh-meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Generate and push artifact attestation to DockerHub
uses: actions/attest-build-provenance@v1
with:
subject-name: ${{ env.DOCKERHUB_REGISTRY }}/${{ env.IMAGE_NAME}}
subject-digest: ${{ steps.dh-push.outputs.digest }}
push-to-registry: true

8
.gitignore vendored
View File

@@ -15,3 +15,11 @@ data/
data-test/
tmp/
.eslintcache
out/
images/app-icons/png/16x16.png
images/app-icons/png/32x32.png
images/app-icons/png/512x512.png
images/app-icons/png/1024x1024.png
images/app-icons/mac/*.png

View File

@@ -2,7 +2,7 @@ image:
file: .gitpod.dockerfile
tasks:
- before: nvm install 18.18.2 && nvm use 18.18.2
- before: nvm install 20.15.1 && nvm use 20.15.1
init: npm install
command: npm run start-server

5
.vscode/extensions.json vendored Normal file
View File

@@ -0,0 +1,5 @@
{
"recommendations": [
"lokalise.i18n-ally"
]
}

30
.vscode/i18n-ally-custom-framework.yml vendored Normal file
View File

@@ -0,0 +1,30 @@
# An array of strings which contain Language Ids defined by VS Code
# You can check available language ids here: https://code.visualstudio.com/docs/languages/identifiers
languageIds:
- javascript
- typescript
# An array of RegExes to find the key usage. **The key should be captured in the first match group**.
# You should unescape RegEx strings in order to fit in the YAML file
# To help with this, you can use https://www.freeformatter.com/json-escape.html
usageMatchRegex:
# The following example shows how to detect `t("your.i18n.keys")`
# the `{key}` will be placed by a proper keypath matching regex,
# you can ignore it and use your own matching rules as well
- "[^\\w\\d]t\\(['\"`]({key})['\"`]"
# A RegEx to set a custom scope range. This scope will be used as a prefix when detecting keys
# and works like how the i18next framework identifies the namespace scope from the
# useTranslation() hook.
# You should unescape RegEx strings in order to fit in the YAML file
# To help with this, you can use https://www.freeformatter.com/json-escape.html
scopeRangeRegex: "useTranslation\\(\\s*\\[?\\s*['\"`](.*?)['\"`]"
# An array of strings containing refactor templates.
# The "$1" will be replaced by the keypath specified.
refactorTemplates:
- t("$1")
# If set to true, only enables this custom framework (will disable all built-in frameworks)
monopoly: true

10
.vscode/settings.json vendored
View File

@@ -2,5 +2,13 @@
"editor.formatOnSave": false,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"files.eol": "\n",
"typescript.tsdk": "node_modules/typescript/lib"
"typescript.tsdk": "node_modules/typescript/lib",
"i18n-ally.sourceLanguage": "en",
"i18n-ally.keystyle": "nested",
"i18n-ally.localesPaths": [
"./src/public/translations"
],
"[jsonc]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
}

17
.vscode/tasks.json vendored Normal file
View File

@@ -0,0 +1,17 @@
{
"version": "2.0.0",
"tasks": [
{
"type": "npm",
"script": "errors",
"problemMatcher": "$tsc-watch",
"isBackground": true,
"presentation": {
"revealProblems": "never"
},
"runOptions": {
"runOn": "folderOpen"
}
}
]
}

View File

@@ -1,5 +1,5 @@
# !!! Don't try to build this Dockerfile directly, run it through bin/build-docker.sh script !!!
FROM node:18.18.2-alpine
FROM node:20.15.1-alpine
# Configure system dependencies
RUN apk add --no-cache --virtual .build-dependencies \

View File

@@ -1,63 +1,78 @@
# Trilium Notes
# TriliumNext Notes
[English](https://github.com/zadam/trilium/blob/master/README.md) | [Chinese](https://github.com/zadam/trilium/blob/master/README-ZH_CN.md) | [Russian](https://github.com/zadam/trilium/blob/master/README.ru.md) | [Japanese](https://github.com/zadam/trilium/blob/master/README.ja.md) | [Italian](https://github.com/zadam/trilium/blob/master/README.it.md)
[English](https://github.com/TriliumNext/Notes/blob/master/README.md) | [Chinese](https://github.com/TriliumNext/Notes/blob/master/README-ZH_CN.md) | [Russian](https://github.com/TriliumNext/Notes/blob/master/README.ru.md) | [Japanese](https://github.com/TriliumNext/Notes/blob/master/README.ja.md) | [Italian](https://github.com/TriliumNext/Notes/blob/master/README.it.md)
[![Join the chat at https://gitter.im/trilium-notes/Lobby](https://badges.gitter.im/trilium-notes/Lobby.svg)](https://gitter.im/trilium-notes/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
Trilium Notes 是一个层次化的笔记应用程序,专注于建立大型个人知识库。请参阅[屏幕截图](https://github.com/zadam/trilium/wiki/Screenshot-tour)以快速了解:
TriliumNext Notes 是一个层次化的笔记应用程序,专注于建立大型个人知识库。请参阅[屏幕截图](https://triliumnext.github.io/Docs/Wiki/screenshot-tour)以快速了解:
![](https://raw.githubusercontent.com/wiki/zadam/trilium/images/screenshot.png)
<a href="https://triliumnext.github.io/Docs/Wiki/screenshot-tour"><img src="https://github.com/TriliumNext/Docs/blob/main/Wiki/images/screenshot.png?raw=true" alt="Trilium Screenshot" width="1000"></a>
Ukraine is currently suffering from Russian aggression, please consider donating to [one of these charities](https://old.reddit.com/r/ukraine/comments/s6g5un/want_to_support_ukraine_heres_a_list_of_charities/).
## ⚠️ 为什么选择TriliumNext
<img src="https://upload.wikimedia.org/wikipedia/commons/4/49/Flag_of_Ukraine.svg" alt="drawing" width="600"/>
<img src="https://signmyrocket.com//uploads/2b2a523cd0c0e76cdbba95a89a9636b2_1676971281.jpg" alt="Trilium Notes supports Ukraine!" width="600"/>
[原始的Trilium项目目前处于维护模式](https://github.com/zadam/trilium/issues/4620)
## 特性
## 🗭 与我们讨论
* 笔记可以排列成任意深的树。单个笔记可以放在树中的多个位置(请参阅[克隆](https://github.com/zadam/trilium/wiki/Cloning-notes)
* 丰富的所见即所得笔记编辑功能,包括带有 Markdown [自动格式化功能的](https://github.com/zadam/trilium/wiki/Text-notes#autoformat)表格,图像和[数学](https://github.com/zadam/trilium/wiki/Text-notes#math-support)
* 支持编辑[使用源代码的笔记](https://github.com/zadam/trilium/wiki/Code-notes),包括语法高亮显示
* 笔记之间快速[导航](https://github.com/zadam/trilium/wiki/Note-navigation),全文搜索和[笔记聚焦](https://github.com/zadam/trilium/wiki/Note-hoisting)
* 无缝[笔记版本控制](https://github.com/zadam/trilium/wiki/Note-revisions)
* 笔记[属性](https://github.com/zadam/trilium/wiki/Attributes)可用于笔记组织,查询和高级[脚本编写](https://github.com/zadam/trilium/wiki/Scripts)
* [同步](https://github.com/zadam/trilium/wiki/Synchronization)与自托管同步服务器
欢迎加入我们的官方讨论和社区。我们专注于Trilium的开发乐于听取您对功能、建议或问题的意见
- [Matrix](https://matrix.to/#/#triliumnext:matrix.org)(用于同步讨论)
- [Github Discussions](https://github.com/TriliumNext/Notes/discussions)(用于异步讨论)
- [Wiki](https://triliumnext.github.io/Docs/)(用于常见操作问题和用户指南)
上面链接的两个房间是镜像的所以您可以在任意平台上使用XMPP或者Matrix来和我们交流。
### 非官方社区
[Trilium Rocks](https://discord.gg/aqdX9mXX4r)
## 🎁 特性
* 笔记可以排列成任意深的树。单个笔记可以放在树中的多个位置(请参阅[克隆](https://triliumnext.github.io/Docs/Wiki/cloning-notes)
* 丰富的所见即所得笔记编辑功能,包括带有 Markdown [自动格式化功能的](https://triliumnext.github.io/Docs/Wiki/text-notes#autoformat)表格,图像和[数学公式](https://triliumnext.github.io/Docs/Wiki/text-notes#math-support)
* 支持编辑[使用源代码的笔记](https://triliumnext.github.io/Docs/Wiki/code-notes),包括语法高亮显示
* 笔记之间快速[导航](https://triliumnext.github.io/Docs/Wiki/note-navigation),全文搜索和[提升笔记](https://triliumnext.github.io/Docs/Wiki/note-hoisting)
* 无缝[笔记版本控制](https://triliumnext.github.io/Docs/Wiki/note-revisions)
* 笔记[属性](https://triliumnext.github.io/Docs/Wiki/attributes)可用于笔记组织,查询和高级[脚本编写](https://triliumnext.github.io/Docs/Wiki/scripts)
* [同步](https://triliumnext.github.io/Docs/Wiki/synchronization)与自托管同步服务器
* 有一个[第三方提供的同步服务器托管服务](https://trilium.cc/paid-hosting)
* 公开地[分享](https://github.com/zadam/trilium/wiki/Sharing)(发布)笔记到互联网
* 具有按笔记粒度的强大的[笔记加密](https://github.com/zadam/trilium/wiki/Protected-notes)
* 公开地[分享](https://triliumnext.github.io/Docs/Wiki/sharing)(发布)笔记到互联网
* 具有按笔记粒度的强大的[笔记加密](https://triliumnext.github.io/Docs/Wiki/protected-notes)
* 使用自带的 Excalidraw 来绘制图表(笔记类型“画布”)
* [关系图](https://github.com/zadam/trilium/wiki/Relation-map)和[链接图](https://github.com/zadam/trilium/wiki/Link-map),用于可视化笔记及其关系
* [脚本](https://github.com/zadam/trilium/wiki/Scripts) - 请参阅[高级功能展示](https://github.com/zadam/trilium/wiki/Advanced-showcases)
* [关系图](https://triliumnext.github.io/Docs/Wiki/relation-map)和[链接图](https://triliumnext.github.io/Docs/Wiki/link-map),用于可视化笔记及其关系
* [脚本](https://triliumnext.github.io/Docs/Wiki/scripts) - 请参阅[高级功能展示](https://triliumnext.github.io/Docs/Wiki/advanced-showcases)
* 可用于自动化的 [REST API](https://triliumnext.github.io/Docs/Wiki/etapi)
* 在拥有超过 10 万条笔记时仍能保持良好的可用性和性能
* 针对智能手机和平板电脑进行优化的[用于移动设备的前端](https://github.com/zadam/trilium/wiki/Mobile-frontend)
* [夜间主题](https://github.com/zadam/trilium/wiki/Themes)
* [Evernote](https://github.com/zadam/trilium/wiki/Evernote-import) 和 [Markdown 导入导出](https://github.com/zadam/trilium/wiki/Markdown)功能
* 使用[网页剪藏](https://github.com/zadam/trilium/wiki/Web-clipper)轻松保存互联网上的内容
* 针对智能手机和平板电脑进行优化的[用于移动设备的前端](https://triliumnext.github.io/Docs/Wiki/mobile-frontend)
* [夜间主题](https://triliumnext.github.io/Docs/Wiki/themes)
* [Evernote](https://triliumnext.github.io/Docs/Wiki/evernote-import) 和 [Markdown 导入导出](https://triliumnext.github.io/Docs/Wiki/markdown)功能
* 使用[网页剪藏](https://triliumnext.github.io/Docs/Wiki/web-clipper)轻松保存互联网上的内容
## 构建
✨ 查看以下第三方资源获取更多关于TriliumNext的好东西
Trilium 可以用作桌面应用程序Linux 和 Windows或服务器Linux上托管的 Web 应用程序。虽然有 macOS 版本的桌面应用程序,但它[不受支持](https://github.com/zadam/trilium/wiki/FAQ#mac-os-support)
- [awesome-trilium](https://github.com/Nriver/awesome-trilium):提供第三方主题、脚本、插件等资源的列表
- [TriliumRocks!](https://trilium.rocks/):提供教程、指南等更多内容。
* 如果要在桌面上使用 Trilium请从[最新版本](https://github.com/zadam/trilium/releases/latest)下载适用于您平台的二进制版本,解压缩该软件包并运行`trilium`可执行文件。
* 如果要在服务器上安装 Trilium请参考[此页面](https://github.com/zadam/trilium/wiki/Server-installation)。
## 🏗 构建
Trilium 可以用作桌面应用程序Linux 和 Windows或服务器Linux上托管的 Web 应用程序。虽然有 macOS 版本的桌面应用程序,但它[不受支持](https://triliumnext.github.io/Docs/Wiki/faq#mac-os-support)。
* 如果要在桌面上使用 Trilium请从[最新版本](https://github.com/TriliumNext/Notes/releases/latest)下载适用于您平台的二进制版本,解压缩该软件包并运行`trilium`可执行文件。
* 如果要在服务器上安装 Trilium请参考[此页面](https://triliumnext.github.io/Docs/Wiki/server-installation)。
* 当前仅支持(测试过)最近发布的 Chrome 和 Firefox 浏览器。
Trilium 也提供 Flatpak
[<img width="240" src="https://flathub.org/assets/badges/flathub-badge-en.png">](https://flathub.org/apps/details/com.github.zadam.trilium)
## 文档
## 📝 文档
[有关文档页面的完整列表,请参见 Wiki。](https://github.com/zadam/trilium/wiki/)
[有关文档页面的完整列表,请参见 Wiki。](https://triliumnext.github.io/Docs/)
* [Wiki 的中文翻译版本](https://github.com/baddate/trilium/wiki/)
您还可以阅读[个人知识库模式](https://github.com/zadam/trilium/wiki/Patterns-of-personal-knowledge-base),以获取有关如何使用 Trilium 的灵感。
您还可以阅读[个人知识库模式](https://triliumnext.github.io/Docs/Wiki/patterns-of-personal-knowledge),以获取有关如何使用 Trilium 的灵感。
## 贡献
## 💻 贡献
使用基于浏览器的开发环境
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/zadam/trilium)
或者克隆本仓库到本地,并运行
@@ -66,17 +81,17 @@ npm install
npm run start-server
```
## 致谢
## 👏 致谢
* [CKEditor 5](https://github.com/ckeditor/ckeditor5) - 市面上最好的所见即所得编辑器,拥有互动性强且聆听能力强的团队
* [FancyTree](https://github.com/mar10/fancytree) - 一个非常丰富的关于树的库强大到没有对手。没有它Trilium Notes 将不会如此。
* [CodeMirror](https://github.com/codemirror/CodeMirror) - 支持大量语言的代码编辑器
* [jsPlumb](https://github.com/jsplumb/jsplumb) - 强大的可视化连接库。用于[关系图](https://github.com/zadam/trilium/wiki/Relation-map)和[链接图](https://github.com/zadam/trilium/wiki/Link-map)
* [jsPlumb](https://github.com/jsplumb/jsplumb) - 强大的可视化连接库。用于[关系图](https://triliumnext.github.io/Docs/Wiki/relation-map)和[链接图](https://triliumnext.github.io/Docs/Wiki/link-map)
## 捐赠
## 🤝 捐赠
你可以通过 GitHub Sponsors[PayPal](https://paypal.me/za4am) 或者比特币 (bitcoin:bc1qv3svjn40v89mnkre5vyvs2xw6y8phaltl385d2) 来捐赠。
## 许可证
## 🔑 许可证
本程序是自由软件:你可以再发布本软件和/或修改本软件,只要你遵循 Free Software Foundation 发布的 GNU Affero General Public License 的第三版或者任何(由你选择)更晚的版本。

View File

@@ -1,92 +1,91 @@
# Trilium Notes
# TriliumNext Notes
## Trilium è in manutenzione - vedi i dettagli in https://github.com/zadam/trilium/issues/4620
[English](https://github.com/TriliumNext/Notes/blob/master/README.md) | [Chinese](https://github.com/TriliumNext/Notes/blob/master/README-ZH_CN.md) | [Russian](https://github.com/TriliumNext/Notes/blob/master/README.ru.md) | [Japanese](https://github.com/TriliumNext/Notes/blob/master/README.ja.md) | [Italian](https://github.com/TriliumNext/Notes/blob/master/README.it.md)
Le discussioni preliminari sull'organizzazione si stanno svolgendo in [Trilium Next discussions](https://github.com/orgs/TriliumNext/discussions).
TriliumNext Notes è un'applicazione per appunti ad organizzazione gerarchica, studiata per la costruzione di archivi di conoscenza personali di grandi dimensioni.
[![Join the chat at https://gitter.im/trilium-notes/Lobby](https://badges.gitter.im/trilium-notes/Lobby.svg)](https://gitter.im/trilium-notes/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [English](https://github.com/zadam/trilium/blob/master/README.md) | [Chinese](https://github.com/zadam/trilium/blob/master/README-ZH_CN.md) | [Russian](https://github.com/zadam/trilium/blob/master/README.ru.md) | [Japanese](https://github.com/zadam/trilium/blob/master/README.ja.md) | [Italian](https://github.com/zadam/trilium/blob/master/README.it.md)
Vedi [fotografie](https://triliumnext.github.io/Docs/Wiki/screenshot-tour) per una panoramica veloce:
<a href="https://triliumnext.github.io/Docs/Wiki/screenshot-tour"><img src="https://github.com/TriliumNext/Docs/blob/main/Wiki/images/screenshot.png?raw=true" alt="Trilium Screenshot" width="1000"></a>
Trilium Notes è un'applicazione per appunti ad organizzazione gerarchica, studiata per la costruzione di archivi di conoscenza personali di grandi dimensioni.
## ⚠️ Perchè TriliumNext?
[Il progetto originale Trilium è in modalità di manutenzione](https://github.com/zadam/trilium/issues/4620)
Vedi [fotografie](https://github.com/zadam/trilium/wiki/Screenshot-tour) per una panoramica veloce:
## 🗭 Discuti con noi
Sentiti libero di unirti alle nostre discussioni ufficiali e alla nostra comunità. Siamo concentrati sullo sviluppo di Trilium e ci piacerebbe sapere quali funzioni, suggerimenti o eventuali problemi hai!
<a href="https://github.com/zadam/trilium/wiki/Screenshot-tour"><img src="https://raw.githubusercontent.com/wiki/zadam/trilium/images/screenshot.png" alt="Trilium Screenshot" width="1000"></a>
- [Matrix](https://matrix.to/#/#triliumnext:matrix.org) (Per discussioni sincrone)
- [Discussioni Github](https://github.com/TriliumNext/Notes/discussions) (Per discussioni asincrone)
- [Wiki](https://triliumnext.github.io/Docs/) (Per le domande più comuni e le guide per l'utente)
L'Ucraina si sta difendendo dall'aggressione russa, considera [donare all'esercito ucraino o a organizzazioni umanitarie](https://standforukraine.com/).
<p float="left">
<img src="https://upload.wikimedia.org/wikipedia/commons/4/49/Flag_of_Ukraine.svg" alt="drawing" width="400"/>
<img src="https://signmyrocket.com//uploads/2b2a523cd0c0e76cdbba95a89a9636b2_1676971281.jpg" alt="Trilium Notes supports Ukraine!" width="570"/>
</p>
Le due stanze linkate sopra sono connesse e contengono gli stessi messaggi, quindi puoi usare XMPP o Matrix da qualsiasi client tu preferisca, praticamente su qualsiasi piattaforma!
### Comunità non ufficiali
[Trilium Rocks](https://discord.gg/aqdX9mXX4r)
## 🎁 Funzionalità
* Gli appunti possono essere organizzati in un albero di profondità arbitraria. Un singolo appunto può essere collocato in più posti nell'albero (vedi [clonazione](https://github.com/zadam/trilium/wiki/Cloning-notes))
* Ricco editor visuale (WYSIWYG), con supporto -tra l'altro- per tabelle, immagini ed [espressioni matematiche](https://github.com/zadam/trilium/wiki/Text-notes#math-support) e con [formattazione automatica](https://github.com/zadam/trilium/wiki/Text-notes#autoformat) per markdown
* Supporto per la modifica di [appunti con codice sorgente](https://github.com/zadam/trilium/wiki/Code-notes), con evidenziazione della sintassi
* [Navigazione veloce](https://github.com/zadam/trilium/wiki/Note-navigation) tra gli appunti, ricerca testuale completa e [fissaggio degli appunti](https://github.com/zadam/trilium/wiki/Note-hoisting)
* Supporto integrato ed automatico per le [revisioni degli appunti](https://github.com/zadam/trilium/wiki/Note-revisions)
* Gli [attributi](https://github.com/zadam/trilium/wiki/Attributes) degli appunti possono essere utilizzati per l'organizzazione, per l'interrogazione e per lo scripting avanzato (prorgrammazione).
* [Sincronizzazione](https://github.com/zadam/trilium/wiki/Synchronization) con un server di sincronizzazione auto-ospitato
* Gli appunti possono essere organizzati in un albero di profondità arbitraria. Un singolo appunto può essere collocato in più posti nell'albero (vedi [clonazione](https://triliumnext.github.io/Docs/Wiki/cloning-notes))
* Ricco editor visuale (WYSIWYG), con supporto -tra l'altro- per tabelle, immagini ed [espressioni matematiche](https://triliumnext.github.io/Docs/Wiki/text-notes#math-support) e con [formattazione automatica](https://triliumnext.github.io/Docs/Wiki/text-notes#autoformat) per markdown
* Supporto per la modifica di [appunti con codice sorgente](https://triliumnext.github.io/Docs/Wiki/code-notes), con evidenziazione della sintassi
* [Navigazione veloce](https://triliumnext.github.io/Docs/Wiki/note-navigation) tra gli appunti, ricerca testuale completa e [fissaggio degli appunti](https://triliumnext.github.io/Docs/Wiki/note-hoisting)
* Supporto integrato ed automatico per le [revisioni degli appunti](https://triliumnext.github.io/Docs/Wiki/note-revisions)
* Gli [attributi](https://triliumnext.github.io/Docs/Wiki/attributes) degli appunti possono essere utilizzati per l'organizzazione, per l'interrogazione e per lo scripting avanzato (prorgrammazione).
* [Sincronizzazione](https://triliumnext.github.io/Docs/Wiki/synchronization) con un server di sincronizzazione auto-ospitato
* c'è un [servizio di terze parti per ospitare server di sincronizzazione](https://trilium.cc/paid-hosting)
* [Condivisione](https://github.com/zadam/trilium/wiki/Sharing) (pubblicazione) di appunti sull'internet pubblico
* Robusta [crittografia](https://github.com/zadam/trilium/wiki/Protected-notes) configurabile singolarmente per ogni appunto
* [Condivisione](https://triliumnext.github.io/Docs/Wiki/sharing) (pubblicazione) di appunti sull'internet pubblico
* Robusta [crittografia](https://triliumnext.github.io/Docs/Wiki/protected-notes) configurabile singolarmente per ogni appunto
* Disegno di diagrammi con Excalidraw (tipo di appunto "canvas")
* [Mappe relazionali](https://github.com/zadam/trilium/wiki/Relation-map) e [mappe di collegamenti](https://github.com/zadam/trilium/wiki/Link-map) per visualizzare gli appunti e le loro relazioni
* [Scripting](https://github.com/zadam/trilium/wiki/Scripts) - vedi [Esempi avanzati](https://github.com/zadam/trilium/wiki/Advanced-showcases)
* [API REST](https://github.com/zadam/trilium/wiki/ETAPI) per l'automazione
* [Mappe relazionali](https://triliumnext.github.io/Docs/Wiki/relation-map) e [mappe di collegamenti](https://triliumnext.github.io/Docs/Wiki/link-map) per visualizzare gli appunti e le loro relazioni
* [Scripting](https://triliumnext.github.io/Docs/Wiki/scripts) - vedi [Esempi avanzati](https://triliumnext.github.io/Docs/Wiki/advanced-showcases)
* [API REST](https://triliumnext.github.io/Docs/Wiki/etapi) per l'automazione
* Si adatta bene sia in termini di usabilità che di prestazioni fino ad oltre 100 000 appunti
* Interfaccia utente ottimizzata per il [mobile](https://github.com/zadam/trilium/wiki/Mobile-frontend) (smartphone e tablet)
* [Tema Notturno](https://github.com/zadam/trilium/wiki/Themes)
* Supporto per importazione ed esportazione da e per [Evernote](https://github.com/zadam/trilium/wiki/Evernote-import) e [Markdown import](https://github.com/zadam/trilium/wiki/Markdown)
* [Web Clipper](https://github.com/zadam/trilium/wiki/Web-clipper) per il salvataggio facile di contenuti web
* Interfaccia utente ottimizzata per il [mobile](https://triliumnext.github.io/Docs/Wiki/mobile-frontend) (smartphone e tablet)
* [Tema Notturno](https://triliumnext.github.io/Docs/Wiki/themes)
* Supporto per importazione ed esportazione da e per [Evernote](https://triliumnext.github.io/Docs/Wiki/evernote-import) e [Markdown import](https://triliumnext.github.io/Docs/Wiki/markdown)
* [Web Clipper](https://triliumnext.github.io/Docs/Wiki/web-clipper) per il salvataggio facile di contenuti web
✨ Dai un'occhiata alle seguenti risorse di terze parti per scoprire altre bellezze legate a TriliumNext:
Dai un'occhiata a [awesome-trilium](https://github.com/Nriver/awesome-trilium) per temi, script, plugin e altro di terze parti.
-[awesome-trilium](https://github.com/Nriver/awesome-trilium) per temi, script, plugin e altro di terze parti.
- [TriliumRocks!](https://trilium.rocks/) per tutorial, guide e molto altro.
## 🏗 Rilasci
Trilium è fornito come applicazione desktop (Linux e Windows) o come applicazione web ospitata sul tuo server (Linux). La versione desktop per Mac OS è disponibile, ma [non è supportata](https://github.com/zadam/trilium/wiki/FAQ#mac-os-support).
Trilium è fornito come applicazione desktop (Linux e Windows) o come applicazione web ospitata sul tuo server (Linux). La versione desktop per Mac OS è disponibile, ma [non è supportata](https://triliumnext.github.io/Docs/Wiki/faq#mac-os-support).
* Se vuoi usare Trilium sul tuo desktop, scarica il rilascio binario per la tua piattaforma dall'[ultimo rilascio](https://github.com/zadam/trilium/releases/latest), decomprimi l'archivio e avvia l'eseguibile ```trilium```.
* Se vuoi installare Trilium su un server, segui [questa pagina](https://github.com/zadam/trilium/wiki/Server-installation).
* Se vuoi usare Trilium sul tuo desktop, scarica il rilascio binario per la tua piattaforma dall'[ultimo rilascio](https://github.com/TriliumNext/Notes/releases/latest), decomprimi l'archivio e avvia l'eseguibile ```trilium```.
* Se vuoi installare Trilium su un server, segui [questa pagina](https://triliumnext.github.io/Docs/Wiki/server-installation).
* Per ora solo Chrome e Firefox sono i browser supportati (testati).
Trilium è anche disponibile su Flatpak:
TriliumNext sarà fornito anche come Flatpak:
[<img width="240" src="https://flathub.org/assets/badges/flathub-badge-en.png">](https://flathub.org/apps/details/com.github.zadam.trilium)
<img width="240" src="https://flathub.org/assets/badges/flathub-badge-en.png">
## 📝 Documentazione
[Vedi la wiki per una lista completa delle pagine di documentazione.](https://github.com/zadam/trilium/wiki/)
[Vedi la wiki per una lista completa delle pagine di documentazione.](https://triliumnext.github.io/Docs/)
Puoi anche leggere ["Patterns of personal knowledge base"](https://github.com/zadam/trilium/wiki/Patterns-of-personal-knowledge-base) per avere un'ispirazione su come potresti utilizzare Trilium.
Puoi anche leggere ["Patterns of personal knowledge base"](https://triliumnext.github.io/Docs/Wiki/patterns-of-personal-knowledge) per avere un'ispirazione su come potresti utilizzare Trilium.
## 💻 Contribuire
Usa un ambiente di sviluppo basato su browser
[![Apri in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/zadam/trilium)
O clona localmente ed esegui
Clona localmente ed esegui
```
npm install
npm run start-server
```
## 📢 Riconoscimenti
## 👏 Riconoscimenti
* [CKEditor 5](https://github.com/ckeditor/ckeditor5) - miglior editor visuale (WYSIWYG) sul mercato, squadra di sviluppo attenta e reattiva
* [FancyTree](https://github.com/mar10/fancytree) - libreria per alberi molto ricca di funzionalità, senza pari. Trilium Notes non sarebbe lo stesso senza di essa.
* [CodeMirror](https://github.com/codemirror/CodeMirror) - editor di codice con supporto per un'enorme quantità di linguaggi.
* [jsPlumb](https://github.com/jsplumb/jsplumb) - libreria per la connettività visuale senza pari. Utilizzata per [mappe relazionali](https://github.com/zadam/trilium/wiki/Relation-map) e [mappe di collegamenti](https://github.com/zadam/trilium/wiki/Link-map).
* [jsPlumb](https://github.com/jsplumb/jsplumb) - libreria per la connettività visuale senza pari. Utilizzata per [mappe relazionali](https://triliumnext.github.io/Docs/Wiki/relation-map) e [mappe di collegamenti](https://triliumnext.github.io/Docs/Wiki/link-map).
## 🤝 Supporto
È possibile supportare Trilium attraverso Github Sponsors, [PayPal](https://paypal.me/za4am) o Bitcoin (bitcoin:bc1qv3svjn40v89mnkre5vyvs2xw6y8phaltl385d2).
Puoi sostenere lo sviluppatore originale di Trilium utilizzando gli sponsor di GitHub, [PayPal](https://paypal.me/za4am) o Bitcoin (bitcoin:bc1qv3svjn40v89mnkre5vyvs2xw6y8phaltl385d2).
Il supporto all'organizzazione TriliumNext sarà possibile nel prossimo futuro.
## 🔑 Licenza

View File

@@ -1,48 +1,41 @@
# Trilium Notes
# TriliumNext Notes
[English](https://github.com/zadam/trilium/blob/master/README.md) | [Chinese](https://github.com/zadam/trilium/blob/master/README-ZH_CN.md) | [Russian](https://github.com/zadam/trilium/blob/master/README.ru.md) | [Japanese](https://github.com/zadam/trilium/blob/master/README.ja.md) | [Italian](https://github.com/zadam/trilium/blob/master/README.it.md)
[English](https://github.com/TriliumNext/Notes/blob/master/README.md) | [Chinese](https://github.com/TriliumNext/Notes/blob/master/README-ZH_CN.md) | [Russian](https://github.com/TriliumNext/Notes/blob/master/README.ru.md) | [Japanese](https://github.com/TriliumNext/Notes/blob/master/README.ja.md) | [Italian](https://github.com/TriliumNext/Notes/blob/master/README.it.md)
Trilium Notes は、大規模な個人知識ベースの構築に焦点を当てた、階層型ノートアプリケーションです。概要は[スクリーンショット](https://github.com/zadam/trilium/wiki/Screenshot-tour)をご覧ください:
Trilium Notes は、大規模な個人知識ベースの構築に焦点を当てた、階層型ノートアプリケーションです。概要は[スクリーンショット](https://triliumnext.github.io/Docs/Wiki/screenshot-tour)をご覧ください:
<a href="https://github.com/zadam/trilium/wiki/Screenshot-tour"><img src="https://raw.githubusercontent.com/wiki/zadam/trilium/images/screenshot.png" alt="Trilium Screenshot" width="1000"></a>
ウクライナは現在、ロシアの侵略から自国を守っています。[ウクライナ軍や人道的な慈善団体への寄付](https://standforukraine.com/)をご検討ください。
<p float="left">
<img src="https://upload.wikimedia.org/wikipedia/commons/4/49/Flag_of_Ukraine.svg" alt="drawing" width="400"/>
<img src="https://signmyrocket.com//uploads/2b2a523cd0c0e76cdbba95a89a9636b2_1676971281.jpg" alt="Trilium Notes supports Ukraine!" width="570"/>
</p>
<a href="https://triliumnext.github.io/Docs/Wiki/screenshot-tour"><img src="https://raw.githubusercontent.com/wiki/zadam/trilium/images/screenshot.png" alt="Trilium Screenshot" width="1000"></a>
## 🎁 特徴
* ノートは、任意の深さのツリーに配置できます。単一のノートをツリー内の複数の場所に配置できます ([cloning](https://github.com/zadam/trilium/wiki/Cloning-notes) を参照)
* マークダウン[オートフォーマット](https://github.com/zadam/trilium/wiki/Text-notes#autoformat)による、表、画像、[数学](https://github.com/zadam/trilium/wiki/Text-notes#math-support)などの豊富な WYSIWYG ノート編集機能
* シンタックスハイライトを含む[ソースコード付きノート](https://github.com/zadam/trilium/wiki/Code-notes)の編集をサポート
* [ノート間のナビゲーション](https://github.com/zadam/trilium/wiki/Note-navigation)、全文検索、[ノートホイスト](https://github.com/zadam/trilium/wiki/Note-hoisting)が高速かつ簡単に行えます
* シームレスな[ノートのバージョン管理](https://github.com/zadam/trilium/wiki/Note-revisions)
* ノート[属性](https://github.com/zadam/trilium/wiki/Attributes)は、ノート整理、クエリ、高度な[スクリプト](https://github.com/zadam/trilium/wiki/Scripts)に使用できます
* 自己ホスト型同期サーバーとの[同期](https://github.com/zadam/trilium/wiki/Synchronization)
* ノートは、任意の深さのツリーに配置できます。単一のノートをツリー内の複数の場所に配置できます ([cloning](https://triliumnext.github.io/Docs/Wiki/cloning-notes) を参照)
* マークダウン[オートフォーマット](https://triliumnext.github.io/Docs/Wiki/text-notes#autoformat)による、表、画像、[数学](https://triliumnext.github.io/Docs/Wiki/text-notes#math-support)などの豊富な WYSIWYG ノート編集機能
* シンタックスハイライトを含む[ソースコード付きノート](https://triliumnext.github.io/Docs/Wiki/code-notes)の編集をサポート
* [ノート間のナビゲーション](https://triliumnext.github.io/Docs/Wiki/note-navigation)、全文検索、[ノートホイスト](https://triliumnext.github.io/Docs/Wiki/note-hoisting)が高速かつ簡単に行えます
* シームレスな[ノートのバージョン管理](https://triliumnext.github.io/Docs/Wiki/note-revisions)
* ノート[属性](https://triliumnext.github.io/Docs/Wiki/Attributes)は、ノート整理、クエリ、高度な[スクリプト](https://triliumnext.github.io/Docs/Wiki/scripts)に使用できます
* 自己ホスト型同期サーバーとの[同期](https://triliumnext.github.io/Docs/Wiki/synchronization)
* [同期サーバーをホストするサードパーティ・サービス](https://trilium.cc/paid-hosting)があります
* 公開インターネットへのノートの[共有](https://github.com/zadam/trilium/wiki/Sharing)(公開)
* ノートごとの粒度を持つ強力な[ノート暗号化](https://github.com/zadam/trilium/wiki/Protected-notes)
* 公開インターネットへのノートの[共有](https://triliumnext.github.io/Docs/Wiki/sharing)(公開)
* ノートごとの粒度を持つ強力な[ノート暗号化](https://triliumnext.github.io/Docs/Wiki/protected-notes)
* 組み込みの Excalidraw を使用した図のスケッチ (ノート タイプ"キャンバス")
* ノートとその関係を可視化するための[関係図](https://github.com/zadam/trilium/wiki/Relation-map)と[リンクマップ](https://github.com/zadam/trilium/wiki/Link-map)
* [スクリプティング](https://github.com/zadam/trilium/wiki/Scripts) - [高度なショーケース](https://github.com/zadam/trilium/wiki/Advanced-showcases)を参照
* 自動化のための [REST API](https://github.com/zadam/trilium/wiki/ETAPI)
* ノートとその関係を可視化するための[関係図](https://triliumnext.github.io/Docs/Wiki/relation-map)と[リンクマップ](https://triliumnext.github.io/Docs/Wiki/link-map)
* [スクリプティング](https://triliumnext.github.io/Docs/Wiki/scripts) - [高度なショーケース](https://triliumnext.github.io/Docs/Wiki/advanced-showcases)を参照
* 自動化のための [REST API](https://triliumnext.github.io/Docs/Wiki/etapi)
* ユーザビリティとパフォーマンスの両方で 100 000 ノート以上に拡張可能
* スマートフォンとタブレット向けのタッチ最適化[モバイルフロントエンド](https://github.com/zadam/trilium/wiki/Mobile-frontend)
* [ナイトテーマ](https://github.com/zadam/trilium/wiki/Themes)
* [Evernote](https://github.com/zadam/trilium/wiki/Evernote-import) と [Markdown のインポートとエクスポート](https://github.com/zadam/trilium/wiki/Markdown)
* Web コンテンツを簡単に保存するための [Web クリッパー](https://github.com/zadam/trilium/wiki/Web-clipper)
* スマートフォンとタブレット向けのタッチ最適化[モバイルフロントエンド](https://triliumnext.github.io/Docs/Wiki/mobile-frontend)
* [ナイトテーマ](https://triliumnext.github.io/Docs/Wiki/themes)
* [Evernote](https://triliumnext.github.io/Docs/Wiki/evernote-import) と [Markdown のインポートとエクスポート](https://triliumnext.github.io/Docs/Wiki/Markdown)
* Web コンテンツを簡単に保存するための [Web クリッパー](https://triliumnext.github.io/Docs/Wiki/web-clipper)
サードパーティのテーマ、スクリプト、プラグインなどは、 [awesome-trilium](https://github.com/Nriver/awesome-trilium) をチェックしてください。
## 🏗 ビルド
Trilium は、デスクトップアプリケーションLinux、Windowsまたはサーバー上でホストされるウェブアプリケーションLinuxとして提供されます。 Mac OS のデスクトップビルドも利用可能ですが、 [unsupported](https://github.com/zadam/trilium/wiki/FAQ#mac-os-support) となっています。
Trilium は、デスクトップアプリケーションLinux、Windowsまたはサーバー上でホストされるウェブアプリケーションLinuxとして提供されます。 Mac OS のデスクトップビルドも利用可能ですが、 [unsupported](https://triliumnext.github.io/Docs/Wiki/faq#mac-os-support) となっています。
* デスクトップで Trilium を使用したい場合は、 [latest release](https://github.com/zadam/trilium/releases/latest) からお使いのプラットフォームのバイナリリリースをダウンロードし、パッケージを解凍して ``trilium`` の実行ファイルを実行してください。
* サーバーに Trilium をインストールする場合は、[このページ](https://github.com/zadam/trilium/wiki/Server-installation)に従ってください。
* デスクトップで Trilium を使用したい場合は、 [latest release](https://github.com/TriliumNext/Notes/releases/latest) からお使いのプラットフォームのバイナリリリースをダウンロードし、パッケージを解凍して ``trilium`` の実行ファイルを実行してください。
* サーバーに Trilium をインストールする場合は、[このページ](https://triliumnext.github.io/Docs/Wiki/server-installation)に従ってください。
* 現在、対応(動作確認)しているブラウザは、最近の Chrome と Firefox のみです。
Trilium は Flatpak としても提供されます:
@@ -51,16 +44,12 @@ Trilium は Flatpak としても提供されます:
## 📝 ドキュメント
[ドキュメントページの全リストはwikiをご覧ください。](https://github.com/zadam/trilium/wiki/)
[ドキュメントページの全リストはwikiをご覧ください。](https://triliumnext.github.io/Docs/)
また、[個人的な知識基盤のパターン](https://github.com/zadam/trilium/wiki/Patterns-of-personal-knowledge-base)を読むと、 Trilium の使い方のヒントを得ることができます。
また、[個人的な知識基盤のパターン](https://triliumnext.github.io/Docs/Wiki/patterns-of-personal-knowledge)を読むと、 Trilium の使い方のヒントを得ることができます。
## 💻 コントリビュート
ブラウザベースの開発環境を使用
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/zadam/trilium)
または、ローカルにクローンして実行
```
npm install
@@ -72,7 +61,7 @@ npm run start-server
* [CKEditor 5](https://github.com/ckeditor/ckeditor5) - 市場で最高の WYSIWYG エディター、非常にインタラクティブで聞き上手なチーム
* [FancyTree](https://github.com/mar10/fancytree) - 真の競争相手がいない、非常に機能豊富なツリーライブラリです。 Trilium Notes は、これなしでは成り立たないでしょう。
* [CodeMirror](https://github.com/codemirror/CodeMirror) - 膨大な数の言語をサポートするコードエディタ
* [jsPlumb](https://github.com/jsplumb/jsplumb) - 競合のないビジュアルコネクティビティライブラリです。[関係図](https://github.com/zadam/trilium/wiki/Relation-map)、[リンク図](https://github.com/zadam/trilium/wiki/Link-map)で使用。
* [jsPlumb](https://github.com/jsplumb/jsplumb) - 競合のないビジュアルコネクティビティライブラリです。[関係図](https://triliumnext.github.io/Docs/Wiki/relation-map)、[リンク図](https://triliumnext.github.io/Docs/Wiki/link-map)で使用。
## 🤝 サポート

View File

@@ -4,21 +4,21 @@
TriliumNext Notes is a hierarchical note taking application with focus on building large personal knowledge bases.
See [screenshots](https://triliumnext.github.io/Docs/Wiki/Screenshot%20tour) for quick overview:
See [screenshots](https://triliumnext.github.io/Docs/Wiki/screenshot-tour) for quick overview:
<a href="https://triliumnext.github.io/Docs/Wiki/Screenshot%20tour"><img src="https://github.com/TriliumNext/Docs/blob/main/Wiki/images/screenshot.png?raw=true" alt="Trilium Screenshot" width="1000"></a>
<a href="https://triliumnext.github.io/Docs/Wiki/screenshot-tour"><img src="https://github.com/TriliumNext/Docs/blob/main/Wiki/images/screenshot.png?raw=true" alt="Trilium Screenshot" width="1000"></a>
## ⚠️ Why TriliumNext?
[The original Trilium project is in maintenance mode](https://github.com/zadam/trilium/issues/4620)
## 🗭 Discuss with us
## 💬 Discuss with us
Feel free to join our official discussions and community. We are focused on the development on Trilium, and would love to hear what features, suggestions, or issues you may have!
- [Matrix](https://matrix.to/#/#triliumnext:matrix.org) (For synchronous discussions)
- [Github Discussions](https://github.com/TriliumNext/Notes/discussions) (For Asynchronous discussions)
- [Wiki](https://github.com/zadam/trilium/wiki) (For common how-to questions and user guides)
- [Wiki](https://triliumnext.github.io/Docs/) (For common how-to questions and user guides)
The two rooms linked above are mirrored, so you can use either XMPP or Matrix, from any client you prefer, on pretty much any platform under the sun!
@@ -28,25 +28,25 @@ The two rooms linked above are mirrored, so you can use either XMPP or Matrix, f
## 🎁 Features
* Notes can be arranged into arbitrarily deep tree. Single note can be placed into multiple places in the tree (see [cloning](https://triliumnext.github.io/Docs/Wiki/Cloning-notes))
* Rich WYSIWYG note editing including e.g. tables, images and [math](https://triliumnext.github.io/Docs/Wiki/Text-notes) with markdown [autoformat](https://triliumnext.github.io/Docs/Wiki/Text-notes#autoformat)
* Support for editing [notes with source code](https://triliumnext.github.io/Docs/Wiki/Code-notes), including syntax highlighting
* Fast and easy [navigation between notes](https://triliumnext.github.io/Docs/Wiki/Note-navigation), full text search and [note hoisting](https://triliumnext.github.io/Docs/Wiki/Note-hoisting)
* Seamless [note versioning](https://triliumnext.github.io/Docs/Wiki/Note-revisions)
* Note [attributes](https://triliumnext.github.io/Docs/Wiki/Attributes) can be used for note organization, querying and advanced [scripting](https://triliumnext.github.io/Docs/Wiki/Scripts)
* [Synchronization](https://triliumnext.github.io/Docs/Wiki/Synchronization) with self-hosted sync server
* Notes can be arranged into arbitrarily deep tree. Single note can be placed into multiple places in the tree (see [cloning](https://triliumnext.github.io/Docs/Wiki/cloning-notes)
* Rich WYSIWYG note editing including e.g. tables, images and [math](https://triliumnext.github.io/Docs/Wiki/text-notes) with markdown [autoformat](https://triliumnext.github.io/Docs/Wiki/text-notes#autoformat)
* Support for editing [notes with source code](https://triliumnext.github.io/Docs/Wiki/code-notes), including syntax highlighting
* Fast and easy [navigation between notes](https://triliumnext.github.io/Docs/Wiki/note-navigation), full text search and [note hoisting](https://triliumnext.github.io/Docs/Wiki/note-hoisting)
* Seamless [note versioning](https://triliumnext.github.io/Docs/Wiki/note-revisions)
* Note [attributes](https://triliumnext.github.io/Docs/Wiki/attributes) can be used for note organization, querying and advanced [scripting](https://triliumnext.github.io/Docs/Wiki/scripts)
* [Synchronization](https://triliumnext.github.io/Docs/Wiki/synchronization) with self-hosted sync server
* there's a [3rd party service for hosting synchronisation server](https://trilium.cc/paid-hosting)
* [Sharing](https://triliumnext.github.io/Docs/Wiki/Sharing) (publishing) notes to public internet
* Strong [note encryption](https://triliumnext.github.io/Docs/Wiki/Protected-notes) with per-note granularity
* [Sharing](https://triliumnext.github.io/Docs/Wiki/sharing) (publishing) notes to public internet
* Strong [note encryption](https://triliumnext.github.io/Docs/Wiki/protected-notes) with per-note granularity
* Sketching diagrams with built-in Excalidraw (note type "canvas")
* [Relation maps](https://triliumnext.github.io/Docs/Wiki/Relation-map) and [link maps](https://triliumnext.github.io/Docs/Wiki/Link-map) for visualizing notes and their relations
* [Scripting](https://triliumnext.github.io/Docs/Wiki/Scripts) - see [Advanced showcases](https://triliumnext.github.io/Docs/Wiki/Advanced-showcases)
* [REST API](https://triliumnext.github.io/Docs/Wiki/ETAPI) for automation
* [Relation maps](https://triliumnext.github.io/Docs/Wiki/relation-map) and [link maps](https://triliumnext.github.io/Docs/Wiki/link-map) for visualizing notes and their relations
* [Scripting](https://triliumnext.github.io/Docs/Wiki/scripts) - see [Advanced showcases](https://triliumnext.github.io/Docs/Wiki/advanced-showcases)
* [REST API](https://triliumnext.github.io/Docs/Wiki/etapi) for automation
* Scales well in both usability and performance upwards of 100 000 notes
* Touch optimized [mobile frontend](https://triliumnext.github.io/Docs/Wiki/Mobile-frontend) for smartphones and tablets
* [Night theme](https://triliumnext.github.io/Docs/Wiki/Themes)
* [Evernote](https://triliumnext.github.io/Docs/Wiki/Evernote-import) and [Markdown import & export](https://triliumnext.github.io/Docs/Wiki/Markdown)
* [Web Clipper](https://triliumnext.github.io/Docs/Wiki/Web-clipper) for easy saving of web content
* Touch optimized [mobile frontend](https://triliumnext.github.io/Docs/Wiki/mobile-frontend) for smartphones and tablets
* [Night theme](https://triliumnext.github.io/Docs/Wiki/themes)
* [Evernote](https://triliumnext.github.io/Docs/Wiki/evernote-import) and [Markdown import & export](https://triliumnext.github.io/Docs/Wiki/markdown)
* [Web Clipper](https://triliumnext.github.io/Docs/Wiki/web-clipper) for easy saving of web content
✨ Check out the following third-party resources for more TriliumNext related goodies:
@@ -55,10 +55,10 @@ The two rooms linked above are mirrored, so you can use either XMPP or Matrix, f
## 🏗 Builds
Trilium is provided as either desktop application (Linux and Windows) or web application hosted on your server (Linux). Mac OS desktop build is available, but it is [unsupported](https://triliumnext.github.io/Docs/Wiki/FAQ#mac-os-support).
Trilium is provided as either desktop application (Linux and Windows) or web application hosted on your server (Linux). Mac OS desktop build is available, but it is [unsupported](https://triliumnext.github.io/Docs/Wiki/faq#mac-os-support).
* If you want to use TriliumNext on the desktop, download binary release for your platform from [latest release](https://github.com/TriliumNext/Notes/releases/latest), unzip the package and run ```trilium``` executable.
* If you want to install TriliumNext on your own server, follow [this page](https://triliumnext.github.io/Docs/Wiki/Server-installation).
* If you want to install TriliumNext on your own server, follow [this page](https://triliumnext.github.io/Docs/Wiki/server-installation).
* Currently only recent versions of Chrome and Firefox are supported (tested) browsers.
TriliumNext will also provided as a Flatpak:
@@ -69,7 +69,7 @@ TriliumNext will also provided as a Flatpak:
[See wiki for complete list of documentation pages.](https://triliumnext.github.io/Docs)
You can also read [Patterns of personal knowledge base](https://triliumnext.github.io/Docs/Wiki/Patterns-of-personal-knowledge-base) to get some inspiration on how you might use Trilium.
You can also read [Patterns of personal knowledge base](https://triliumnext.github.io/Docs/Wiki/patterns-of-personal-knowledge) to get some inspiration on how you might use Trilium.
## 💻 Contribute

View File

@@ -1,54 +1,44 @@
# Trilium Notes
# TriliumNext Notes
[English](https://github.com/zadam/trilium/blob/master/README.md) | [Chinese](https://github.com/zadam/trilium/blob/master/README-ZH_CN.md) | [Russian](https://github.com/zadam/trilium/blob/master/README.ru.md) | [Japanese](https://github.com/zadam/trilium/blob/master/README.ja.md) | [Italian](https://github.com/zadam/trilium/blob/master/README.it.md)
[English](https://github.com/TriliumNext/Notes/blob/master/README.md) | [Chinese](https://github.com/TriliumNext/Notes/blob/master/README-ZH_CN.md) | [Russian](https://github.com/TriliumNext/Notes/blob/master/README.ru.md) | [Japanese](https://github.com/TriliumNext/Notes/blob/master/README.ja.md) | [Italian](https://github.com/TriliumNext/Notes/blob/master/README.it.md)
[![Join the chat at https://gitter.im/trilium-notes/Lobby](https://badges.gitter.im/trilium-notes/Lobby.svg)](https://gitter.im/trilium-notes/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
Trilium Notes это приложение для заметок с иерархической структурой, ориентированное на создание больших персональных баз знаний. Для быстрого ознакомления посмотрите [скриншот-тур](https://github.com/zadam/trilium/wiki/Screenshot-tour):
Trilium Notes это приложение для заметок с иерархической структурой, ориентированное на создание больших персональных баз знаний. Для быстрого ознакомления посмотрите [скриншот-тур](https://triliumnext.github.io/Docs/Wiki/screenshot-tour):
![](https://raw.githubusercontent.com/wiki/zadam/trilium/images/screenshot.png)
<a href="https://triliumnext.github.io/Docs/Wiki/screenshot-tour"><img src="https://github.com/TriliumNext/Docs/blob/main/Wiki/images/screenshot.png?raw=true" alt="Trilium Screenshot" width="1000"></a>
Ukraine is currently suffering from Russian aggression, please consider donating to [one of these charities](https://old.reddit.com/r/ukraine/comments/s6g5un/want_to_support_ukraine_heres_a_list_of_charities/).
## 🎁 Возможности
<img src="https://upload.wikimedia.org/wikipedia/commons/4/49/Flag_of_Ukraine.svg" alt="drawing" width="600"/>
<img src="https://signmyrocket.com//uploads/2b2a523cd0c0e76cdbba95a89a9636b2_1676971281.jpg" alt="Trilium Notes supports Ukraine!" width="600"/>
## Возможности
* Заметки можно расположить в виде дерева произвольной глубины. Отдельную заметку можно разместить в нескольких местах дерева (см. [клонирование](https://github.com/zadam/trilium/wiki/Cloning-notes))
* Продвинутый визуальный редактор (WYSIWYG) позволяет работать с таблицами, изображениями, [формулами](https://github.com/zadam/trilium/wiki/Text-notes#math-support) и разметкой markdown, имеет [автоформатирование](https://github.com/zadam/trilium/wiki/Text-notes#autoformat)
* Редактирование [заметок с исходным кодом](https://github.com/zadam/trilium/wiki/Code-notes), включая подсветку синтаксиса
* Быстрая и простая [навигация между заметками](https://github.com/zadam/trilium/wiki/Note-navigation), полнотекстовый поиск и [выделение заметок](https://github.com/zadam/trilium/wiki/Note-hoisting) в отдельный блок
* Бесшовное [версионирование заметки](https://github.com/zadam/trilium/wiki/Note-revisions)
* Специальные [атрибуты](https://github.com/zadam/trilium/wiki/Attributes) позволяют гибко организовать структуру, используются для поиска и продвинутого [скриптинга](https://github.com/zadam/trilium/wiki/Scripts)
* [Синхронизация](https://github.com/zadam/trilium/wiki/Synchronization) заметок со своим сервером
* Надёжное [шифрование](https://github.com/zadam/trilium/wiki/Protected-notes) с детализацией по каждой заметке
* [Карты связей](https://github.com/zadam/trilium/wiki/Relation-map) и [карты ссылок](https://github.com/zadam/trilium/wiki/Link-map) для визуализации их взяимосвязей
* [Скрипты](https://github.com/zadam/trilium/wiki/Scripts) - см. [продвинутые примеры](https://github.com/zadam/trilium/wiki/Advanced-showcases)
* Заметки можно расположить в виде дерева произвольной глубины. Отдельную заметку можно разместить в нескольких местах дерева (см. [клонирование](https://triliumnext.github.io/Docs/Wiki/cloning-notes))
* Продвинутый визуальный редактор (WYSIWYG) позволяет работать с таблицами, изображениями, [формулами](https://triliumnext.github.io/Docs/Wiki/text-notes#math-support) и разметкой markdown, имеет [автоформатирование](https://triliumnext.github.io/Docs/Wiki/text-notes#autoformat)
* Редактирование [заметок с исходным кодом](https://triliumnext.github.io/Docs/Wiki/code-notes), включая подсветку синтаксиса
* Быстрая и простая [навигация между заметками](https://triliumnext.github.io/Docs/Wiki/note-navigation), полнотекстовый поиск и [выделение заметок](https://triliumnext.github.io/Docs/Wiki/note-hoisting) в отдельный блок
* Бесшовное [версионирование заметки](https://triliumnext.github.io/Docs/Wiki/note-revisions)
* Специальные [атрибуты](https://triliumnext.github.io/Docs/Wiki/attributes) позволяют гибко организовать структуру, используются для поиска и продвинутого [скриптинга](https://triliumnext.github.io/Docs/Wiki/scripts)
* [Синхронизация](https://triliumnext.github.io/Docs/Wiki/synchronization) заметок со своим сервером
* Надёжное [шифрование](https://triliumnext.github.io/Docs/Wiki/protected-notes) с детализацией по каждой заметке
* [Карты связей](https://triliumnext.github.io/Docs/Wiki/relation-map) и [карты ссылок](https://triliumnext.github.io/Docs/Wiki/link-map) для визуализации их взяимосвязей
* [Скрипты](https://triliumnext.github.io/Docs/Wiki/scripts) - см. [продвинутые примеры](https://triliumnext.github.io/Docs/Wiki/advanced-showcases)
* Хорошо масштабируется, как по удобству использования, так и по производительности до 100000 заметок
* Оптимизированный [мобильный фронтенд](https://github.com/zadam/trilium/wiki/Mobile-frontend) смартфонов и планшетов
* [Темная тема](https://github.com/zadam/trilium/wiki/Themes)
* Импорт и экпорт [Evernote](https://github.com/zadam/trilium/wiki/Evernote-import) и данных в [markdown](https://github.com/zadam/trilium/wiki/Markdown) формате
* [Web Clipper](https://github.com/zadam/trilium/wiki/Web-clipper) для удобного сохранения веб-контента
* Оптимизированный [мобильный фронтенд](https://triliumnext.github.io/Docs/Wiki/mobile-frontend) смартфонов и планшетов
* [Темная тема](https://triliumnext.github.io/Docs/Wiki/themes)
* Импорт и экпорт [Evernote](https://triliumnext.github.io/Docs/Wiki/evernote-import) и данных в [markdown](https://triliumnext.github.io/Docs/Wiki/markdown) формате
* [Web Clipper](https://triliumnext.github.io/Docs/Wiki/web-clipper) для удобного сохранения веб-контента
## Сборки
## 🏗 Сборки
Trilium предоставляется в виде десктопного приложения (Linux и Windows) или веб-приложения, размещенного на вашем сервере (Linux). Доступна сборка Mac OS, но она [не поддерживается](https://github.com/zadam/trilium/wiki/FAQ#mac-os-support).
Trilium предоставляется в виде десктопного приложения (Linux и Windows) или веб-приложения, размещенного на вашем сервере (Linux). Доступна сборка Mac OS, но она [не поддерживается](https://triliumnext.github.io/Docs/Wiki/faq#mac-os-support).
* Если вы хотите использовать Trilium на десктопе, скачайте архив для своей платформы со страницы [релизов](https://github.com/zadam/trilium/releases/latest), распакуйте и запустите исполняемый файл ```trilium```.
* Если вы хотите установить Trilium на сервере, следуйте этой [инструкции](https://github.com/zadam/trilium/wiki/Server-installation).
* Если вы хотите использовать Trilium на десктопе, скачайте архив для своей платформы со страницы [релизов](https://github.com/TriliumNext/Notes/releases/latest), распакуйте и запустите исполняемый файл ```trilium```.
* Если вы хотите установить Trilium на сервере, следуйте этой [инструкции](https://triliumnext.github.io/Docs/Wiki/server-installation).
* В данный момент поддерживаются (протестированы) последние версии браузеров Chrome и Firefox.
## Документация
## 📝 Документация
[Полный список страниц документации доступен в Wiki.](https://github.com/zadam/trilium/wiki/)
[Полный список страниц документации доступен в Wiki.](https://triliumnext.github.io/Docs/)
Вы также можете ознакомиться с [шаблонами персональных баз знаний](https://github.com/zadam/trilium/wiki/Patterns-of-personal-knowledge-base), чтобы получить представление о том, как можно использовать Trilium.
Вы также можете ознакомиться с [шаблонами персональных баз знаний](https://triliumnext.github.io/Docs/Wiki/patterns-of-personal-knowledge), чтобы получить представление о том, как можно использовать Trilium.
## Участвуйте в разработке
Используйте онлайн среду разработки в браузере
[![Открыть в Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/zadam/trilium)
## 💻 Участвуйте в разработке
Или склонируйте на своё устройство и запустите
```
@@ -56,13 +46,13 @@ npm install
npm run start-server
```
## Благодарности
## 👏 Благодарности
* [CKEditor 5](https://github.com/ckeditor/ckeditor5) - лучший WYSIWYG редактор, очень активная и внимательная команда.
* [FancyTree](https://github.com/mar10/fancytree) - многофункциональная библиотека для создания древовидных структур. Вне конкуренции. Без него Trilium Notes не были бы таким.
* [CodeMirror](https://github.com/codemirror/CodeMirror) - редактор кода с поддержкой огромного количество языков.
* [jsPlumb](https://github.com/jsplumb/jsplumb) - библиотека для визуализации связей. Вне конкуренции. Используется в [картах связей](https://github.com/zadam/trilium/wiki/Relation-map) и [картах ссылок](https://github.com/zadam/trilium/wiki/Link-map).
* [jsPlumb](https://github.com/jsplumb/jsplumb) - библиотека для визуализации связей. Вне конкуренции. Используется в [картах связей](https://triliumnext.github.io/Docs/Wiki/relation-map) и [картах ссылок](https://triliumnext.github.io/Docs/Wiki/link-map).
## Лицензия
## 🔑 Лицензия
Эта программа является бесплатным программным обеспечением: вы можете распространять и/или изменять ее в соответствии с условиями GNU Affero General Public License, опубликованной Free Software Foundation, либо версии 3 Лицензии, либо (по вашему выбору) любой более поздней версии.

View File

@@ -10,4 +10,4 @@ Description above is a general rule and may be altered on case by case basis.
## Reporting a Vulnerability
You can report low severity vulnerabilities as GitHub issues, more severe vulnerabilities should be reported to the email zadam.apps@gmail.com
You can report low severity vulnerabilities as GitHub issues, more severe vulnerabilities should be reported to the email [contact@eliandoran.me](mailto:contact@eliandoran.me)

BIN
bin/better-sqlite3/linux-desktop-better_sqlite3.node Normal file → Executable file

Binary file not shown.

BIN
bin/better-sqlite3/linux-server-better_sqlite3.node Normal file → Executable file

Binary file not shown.

BIN
bin/better-sqlite3/mac-arm64-better_sqlite3.node Normal file → Executable file

Binary file not shown.

BIN
bin/better-sqlite3/mac-x64-better_sqlite3.node Normal file → Executable file

Binary file not shown.

38
bin/better-sqlite3/update.sh Executable file
View File

@@ -0,0 +1,38 @@
#!/usr/bin/env bash
ELECTRON_VERSION="electron-v125"
NODE_VERSION="node-v115"
if ! command -v jq &> /dev/null; then
echo "Missing command: jq"
exit 1
fi
script_dir=$(realpath $(dirname $0))
cd "$script_dir"
BETTER_SQLITE3_VERSION=$(jq -r '.dependencies.["better-sqlite3"]' ../../package.json | grep -oP "\d+\.\d+\.\d+")
if [ -z $BETTER_SQLITE3_VERSION ]; then
echo "Unable to determine better-sqlite3 version."
exit 2
fi
echo "Version: $BETTER_SQLITE3_VERSION"
function download() {
version="$1"
platform="$2"
dest_name="$3"
url=https://github.com/WiseLibs/better-sqlite3/releases/download/v${BETTER_SQLITE3_VERSION}/better-sqlite3-v${BETTER_SQLITE3_VERSION}-${version}-${platform}.tar.gz
temp_file="temp.tar.gz"
curl -L "$url" -o "$temp_file"
tar -xzvf "$temp_file"
mv build/Release/better_sqlite3.node "$dest_name-better_sqlite3.node"
rm -rf build
rm -f "$temp_file"
}
download $NODE_VERSION "linux-x64" "linux-server"
download $ELECTRON_VERSION "linux-x64" "linux-desktop"
download $ELECTRON_VERSION "win32-x64" "win"
download $ELECTRON_VERSION "darwin-x64" "mac-x64"
download $ELECTRON_VERSION "darwin-arm64" "mac-arm64"

View File

@@ -1,5 +1,7 @@
#!/usr/bin/env bash
set -e # Fail on any command error
if ! command -v dpkg-deb &> /dev/null; then
echo "Missing command: dpkg-deb"
exit 1

View File

@@ -1,5 +1,7 @@
#!/usr/bin/env bash
set -e # Fail on any command error
VERSION=`jq -r ".version" package.json`
SERIES=${VERSION:0:4}-latest

View File

@@ -1,5 +1,7 @@
#!/usr/bin/env bash
set -e # Fail on any command error
if ! command -v jq &> /dev/null; then
echo "Missing command: jq"
exit 1
@@ -24,8 +26,6 @@ SRC_DIR=./dist/trilium-linux-x64-src
[ "$1" != "DONTCOPY" ] && ./bin/copy-trilium.sh "$SRC_DIR"
rm -r "$SRC_DIR"/src/public/app-dist/*.mobile.*
echo "Copying required linux-x64 binaries"
cp -r bin/better-sqlite3/linux-desktop-better_sqlite3.node "$SRC_DIR"/node_modules/better-sqlite3/build/Release/better_sqlite3.node
@@ -35,7 +35,7 @@ echo "Packaging linux x64 electron build"
BUILD_DIR=./dist/trilium-linux-x64
rm -rf "$BUILD_DIR"
mv "./dist/Trilium Notes-linux-x64" "$BUILD_DIR"
mv "./dist/TriliumNext Notes-linux-x64" "$BUILD_DIR"
cp images/app-icons/png/128x128.png "$BUILD_DIR"/icon.png
cp bin/tpl/anonymize-database.sql "$BUILD_DIR"/

View File

@@ -1,5 +1,7 @@
#!/usr/bin/env bash
set -e # Fail on any command error
SRC_DIR=./dist/trilium-mac-arm64-src
if [ "$1" != "DONTCOPY" ]
@@ -11,8 +13,6 @@ echo "Copying required mac arm64 binaries"
cp -r bin/better-sqlite3/mac-arm64-better_sqlite3.node $SRC_DIR/node_modules/better-sqlite3/build/Release/better_sqlite3.node
rm -r $SRC_DIR/src/public/app-dist/*.mobile.*
echo "Packaging mac arm64 electron build"
./node_modules/.bin/electron-packager $SRC_DIR --asar --out=dist --executable-name=trilium --platform=darwin --arch=arm64 --overwrite --icon=images/app-icons/mac/icon.icns
@@ -21,7 +21,7 @@ BUILD_DIR=./dist/trilium-mac-arm64
rm -rf $BUILD_DIR
# Mac build has by default useless directory level
mv "./dist/Trilium Notes-darwin-arm64" $BUILD_DIR
mv "./dist/TriliumNext Notes-darwin-arm64" $BUILD_DIR
cp bin/tpl/anonymize-database.sql $BUILD_DIR/
@@ -34,5 +34,4 @@ VERSION=`jq -r ".version" package.json`
cd dist
rm trilium-mac-arm64-${VERSION}.zip
zip -r9 --symlinks trilium-mac-arm64-${VERSION}.zip trilium-mac-arm64

View File

@@ -1,5 +1,7 @@
#!/usr/bin/env bash
set -e # Fail on any command error
SRC_DIR=./dist/trilium-mac-x64-src
if [ "$1" != "DONTCOPY" ]
@@ -11,8 +13,6 @@ echo "Copying required mac x64 binaries"
cp -r bin/better-sqlite3/mac-x64-better_sqlite3.node $SRC_DIR/node_modules/better-sqlite3/build/Release/better_sqlite3.node
rm -r $SRC_DIR/src/public/app-dist/*.mobile.*
echo "Packaging mac x64 electron build"
./node_modules/.bin/electron-packager $SRC_DIR --asar --out=dist --executable-name=trilium --platform=darwin --arch=x64 --overwrite --icon=images/app-icons/mac/icon.icns
@@ -21,7 +21,7 @@ BUILD_DIR=./dist/trilium-mac-x64
rm -rf $BUILD_DIR
# Mac build has by default useless directory level
mv "./dist/Trilium Notes-darwin-x64" $BUILD_DIR
mv "./dist/TriliumNext Notes-darwin-x64" $BUILD_DIR
cp bin/tpl/anonymize-database.sql $BUILD_DIR/
@@ -34,5 +34,4 @@ VERSION=`jq -r ".version" package.json`
cd dist
rm trilium-mac-x64-${VERSION}.zip
zip -r9 --symlinks trilium-mac-x64-${VERSION}.zip trilium-mac-x64

View File

@@ -1,7 +1,9 @@
#!/usr/bin/env bash
set -e # Fail on any command error
PKG_DIR=dist/trilium-linux-x64-server
NODE_VERSION=18.18.2
NODE_VERSION=20.15.1
if [ "$1" != "DONTCOPY" ]
then
@@ -20,7 +22,6 @@ rm -r $PKG_DIR/node/lib/node_modules/npm
rm -r $PKG_DIR/node/include/node
rm -r $PKG_DIR/node_modules/electron*
rm -r $PKG_DIR/webpack*
rm -r $PKG_DIR/electron.js
cp -r bin/better-sqlite3/linux-server-better_sqlite3.node $PKG_DIR/node_modules/better-sqlite3/build/Release/better_sqlite3.node

View File

@@ -1,5 +1,7 @@
#!/usr/bin/env bash
set -e # Fail on any command error
if ! command -v wine &> /dev/null; then
echo "Missing command: wine"
exit 1
@@ -16,8 +18,6 @@ echo "Copying required windows binaries"
cp -r bin/better-sqlite3/win-better_sqlite3.node $SRC_DIR/node_modules/better-sqlite3/build/Release/better_sqlite3.node
rm -r $SRC_DIR/src/public/app-dist/*.mobile.*
echo "Packaging windows x64 electron build"
./node_modules/.bin/electron-packager $SRC_DIR --asar --out=dist --executable-name=trilium --platform=win32 --arch=x64 --overwrite --icon=images/app-icons/win/icon.ico
@@ -25,7 +25,7 @@ echo "Packaging windows x64 electron build"
BUILD_DIR=./dist/trilium-windows-x64
rm -rf $BUILD_DIR
mv "./dist/Trilium Notes-win32-x64" $BUILD_DIR
mv "./dist/TriliumNext Notes-win32-x64" $BUILD_DIR
cp bin/tpl/anonymize-database.sql $BUILD_DIR/
@@ -34,9 +34,11 @@ rm -rf $BUILD_DIR/dump-db/node_modules
cp bin/tpl/trilium-{portable,no-cert-check,safe-mode}.bat $BUILD_DIR/
echo "Zipping windows x64 electron distribution..."
VERSION=`jq -r ".version" package.json`
if [ "$1" != "DONTPACK" ]
then
echo "Zipping windows x64 electron distribution..."
VERSION=`jq -r ".version" package.json`
cd dist
zip -r9 trilium-windows-x64-${VERSION}.zip trilium-windows-x64
cd dist
zip -r9 trilium-windows-x64-${VERSION}.zip trilium-windows-x64
fi

View File

@@ -1,5 +1,7 @@
#!/usr/bin/env bash
set -e # Fail on any command error
if ! command -v jq &> /dev/null; then
echo "Missing command: jq"
exit 1
@@ -40,7 +42,6 @@ cp -r $SRC_DIR ./dist/trilium-windows-x64-src
cp -r $SRC_DIR ./dist/trilium-mac-x64-src
cp -r $SRC_DIR ./dist/trilium-mac-arm64-src
set -e
bin/build-win-x64.sh DONTCOPY
bin/build-mac-x64.sh DONTCOPY

View File

@@ -5,11 +5,19 @@ const DEST_DIR = "./dist";
const DEST_DIR_SRC = path.join(DEST_DIR, "src");
const DEST_DIR_NODE_MODULES = path.join(DEST_DIR, "node_modules");
const VERBOSE = process.env.VERBOSE;
function log(...args) {
if (VERBOSE) {
console.log(args);
}
}
async function copyNodeModuleFileOrFolder(source: string) {
const adjustedSource = source.substring(13);
const destination = path.join(DEST_DIR_NODE_MODULES, adjustedSource);
console.log(`Copying ${source} to ${destination}`);
log(`Copying ${source} to ${destination}`);
await fs.ensureDir(path.dirname(destination));
await fs.copy(source, destination);
}
@@ -17,25 +25,25 @@ async function copyNodeModuleFileOrFolder(source: string) {
const copy = async () => {
for (const srcFile of fs.readdirSync("build")) {
const destFile = path.join(DEST_DIR, path.basename(srcFile));
console.log(`Copying source ${srcFile} -> ${destFile}.`);
log(`Copying source ${srcFile} -> ${destFile}.`);
fs.copySync(path.join("build", srcFile), destFile, { recursive: true });
}
const filesToCopy = ["config-sample.ini"];
for (const file of filesToCopy) {
console.log(`Copying ${file}`);
log(`Copying ${file}`);
await fs.copy(file, path.join(DEST_DIR, file));
}
const dirsToCopy = ["images", "libraries", "db"];
for (const dir of dirsToCopy) {
console.log(`Copying ${dir}`);
log(`Copying ${dir}`);
await fs.copy(dir, path.join(DEST_DIR, dir));
}
const srcDirsToCopy = ["./src/public", "./src/views", "./build"];
for (const dir of srcDirsToCopy) {
console.log(`Copying ${dir}`);
log(`Copying ${dir}`);
await fs.copy(dir, path.join(DEST_DIR_SRC, path.basename(dir)));
}
@@ -66,6 +74,8 @@ const copy = async () => {
"node_modules/print-this/",
"node_modules/split.js/dist/",
"node_modules/panzoom/dist/",
"node_modules/i18next/",
"node_modules/i18next-http-backend/"
];
for (const folder of nodeModulesFolder) {

View File

@@ -1,5 +1,6 @@
#!/usr/bin/env bash
set -e # Fail on any command error
shopt -s globstar
if [[ $# -eq 0 ]] ; then
@@ -35,26 +36,36 @@ for f in 'package.json' 'package-lock.json' 'README.md' 'LICENSE' 'config-sample
cp "$f" "$DIR"/
done
# Patch package.json main
sed -i 's/.\/dist\/electron.js/electron.js/g' "$DIR/package.json"
script_dir=$(realpath $(dirname $0))
cp -Rv "$script_dir/../build/src" "$DIR"
cp -R "$script_dir/../build/src" "$DIR"
cp "$script_dir/../build/electron.js" "$DIR"
# run in subshell (so we return to original dir)
(cd $DIR && npm install --only=prod)
(cd $DIR && npm install --omit=dev)
if [[ -d "$DIR"/node_modules ]]; then
# cleanup of useless files in dependencies
for d in 'image-q/demo' 'better-sqlite3/Release' 'better-sqlite3/deps/sqlite3.tar.gz' '@jimp/plugin-print/fonts' 'jimp/browser' 'jimp/fonts'; do
[[ -e "$DIR"/node_modules/"$d" ]] && rm -rv "$DIR"/node_modules/"$d"
# cleanup of useless files in dependencies
for d in 'image-q/demo' \
'@excalidraw/excalidraw/dist/excalidraw-assets-dev' '@excalidraw/excalidraw/dist/excalidraw.development.js' '@excalidraw/excalidraw/dist/excalidraw-with-preact.development.js' \
'mermaid/dist/mermaid.js' \
'boxicons/svg' 'boxicons/node_modules/react'/* \
'better-sqlite3/Release' 'better-sqlite3/deps/sqlite3.tar.gz' 'better-sqlite3/deps/sqlite3' \
'@jimp/plugin-print/fonts' 'jimp/browser' 'jimp/fonts'; do
[[ -e "$DIR"/node_modules/"$d" ]] && rm -r "$DIR"/node_modules/"$d"
done
# delete all tests (there are often large images as test file for jimp etc.)
for d in 'test' 'docs' 'demo'; do
find "$DIR"/node_modules -name "$d" -exec rm -rf {} \;
# delete all tests (there are often large images as test file for jimp etc.)
for d in 'test' 'docs' 'demo' 'example'; do
find "$DIR"/node_modules -name "$d" -exec rm -rf {} +
done
fi
find $DIR/libraries -name "*.map" -type f -delete
find $DIR/node_modules -name "*.map" -type f -delete
find $DIR -name "*.ts" -type f -delete
d="$DIR"/src/public
[[ -d "$d"/app-dist ]] || mkdir -pv "$d"/app-dist

45
bin/create-icons.sh Executable file
View File

@@ -0,0 +1,45 @@
#!/usr/bin/env bash
if ! command -v magick &> /dev/null; then
echo "This tool requires ImageMagick to be installed in order to create the icons."
exit 1
fi
if ! command -v inkscape &> /dev/null; then
echo "This tool requires Inkscape to be render sharper SVGs than ImageMagick."
exit 1
fi
if ! command -v icnsutil &> /dev/null; then
echo "This tool requires icnsutil to be installed in order to generate macOS icons."
exit 1
fi
script_dir=$(realpath $(dirname $0))
cd "${script_dir}/../images/app-icons"
inkscape -w 180 -h 180 "../icon-color.svg" -o "./ios/apple-touch-icon.png"
# Build PNGs
inkscape -w 128 -h 128 "../icon-color.svg" -o "./png/128x128.png"
inkscape -w 256 -h 256 "../icon-color.svg" -o "./png/256x256.png"
inkscape -w 256 -h 256 "../icon-purple.svg" -o "./png/256x256-dev.png"
# Build Mac .icns
declare -a sizes=("16" "32" "512" "1024")
for size in "${sizes[@]}"; do
inkscape -w $size -h $size "../icon-color.svg" -o "./png/${size}x${size}.png"
done
mkdir -p fakeapp.app
npx iconsur set fakeapp.app -l -i "png/1024x1024.png" -o "mac/1024x1024.png" -s 0.8
declare -a sizes=("16x16" "32x32" "128x128" "512x512")
for size in "${sizes[@]}"; do
magick "mac/1024x1024.png" -resize "${size}" "mac/${size}.png"
done
icnsutil compose -f "mac/icon.icns" ./mac/*.png
# Build Windows icon
magick -background none "../icon-color.svg" -define icon:auto-resize=16,32,48,64,128,256 "./win/icon.ico"
# Build Squirrel splash image
magick "./png/256x256.png" -background "#ffffff" -gravity center -extent 640x480 "./win/setup-banner.gif"

3
bin/docs/.env.example Normal file
View File

@@ -0,0 +1,3 @@
SHARE_PROTOCOL=http
SHARE_HOST=notes.johnsmith.me
ROOT_NOTE_ID=4yYHqKbLovVX

2
bin/docs/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
output
.env

View File

@@ -0,0 +1,23 @@
/**
* Fetch note with given ID from backend
*
* @param noteId of the given note to be fetched. If false, fetches current note.
*/
async function fetchNote(noteId = null) {
if (!noteId) {
noteId = document.body.getAttribute("data-note-id");
}
const resp = await fetch(`api/notes/${noteId}`);
return await resp.json();
}
document.addEventListener('DOMContentLoaded', () => {
const toggleMenuButton = document.getElementById('toggleMenuButton');
const layout = document.getElementById('layout');
if (toggleMenuButton && layout) {
toggleMenuButton.addEventListener('click', () => layout.classList.toggle('showMenu'));
}
}, false);

View File

@@ -0,0 +1,551 @@
/* !!!!!! TRILIUM CUSTOM CHANGES !!!!!! */
.printed-content .ck-widget__selection-handle, .printed-content .ck-widget__type-around { /* gets rid of triangles: https://github.com/zadam/trilium/issues/1129 */
display: none;
}
/*
* CKEditor 5 (v41.0.0) content styles.
* Generated on Fri, 26 Jan 2024 10:23:49 GMT.
* For more information, check out https://ckeditor.com/docs/ckeditor5/latest/installation/advanced/content-styles.html
*/
:root {
--ck-color-image-caption-background: hsl(0, 0%, 97%);
--ck-color-image-caption-text: hsl(0, 0%, 20%);
--ck-color-mention-background: hsla(341, 100%, 30%, 0.1);
--ck-color-mention-text: hsl(341, 100%, 30%);
--ck-color-selector-caption-background: hsl(0, 0%, 97%);
--ck-color-selector-caption-text: hsl(0, 0%, 20%);
--ck-highlight-marker-blue: hsl(201, 97%, 72%);
--ck-highlight-marker-green: hsl(120, 93%, 68%);
--ck-highlight-marker-pink: hsl(345, 96%, 73%);
--ck-highlight-marker-yellow: hsl(60, 97%, 73%);
--ck-highlight-pen-green: hsl(112, 100%, 27%);
--ck-highlight-pen-red: hsl(0, 85%, 49%);
--ck-image-style-spacing: 1.5em;
--ck-inline-image-style-spacing: calc(var(--ck-image-style-spacing) / 2);
--ck-todo-list-checkmark-size: 16px;
}
/* @ckeditor/ckeditor5-table/theme/tablecolumnresize.css */
.ck-content .table .ck-table-resized {
table-layout: fixed;
}
/* @ckeditor/ckeditor5-table/theme/tablecolumnresize.css */
.ck-content .table table {
overflow: hidden;
}
/* @ckeditor/ckeditor5-table/theme/tablecolumnresize.css */
.ck-content .table td,
.ck-content .table th {
overflow-wrap: break-word;
position: relative;
}
/* @ckeditor/ckeditor5-table/theme/table.css */
.ck-content .table {
margin: 0.9em auto;
display: table;
}
/* @ckeditor/ckeditor5-table/theme/table.css */
.ck-content .table table {
border-collapse: collapse;
border-spacing: 0;
width: 100%;
height: 100%;
border: 1px double hsl(0, 0%, 70%);
}
/* @ckeditor/ckeditor5-table/theme/table.css */
.ck-content .table table td,
.ck-content .table table th {
min-width: 2em;
padding: .4em;
border: 1px solid hsl(0, 0%, 75%);
}
/* @ckeditor/ckeditor5-table/theme/table.css */
.ck-content .table table th {
font-weight: bold;
background: hsla(0, 0%, 0%, 5%);
}
/* @ckeditor/ckeditor5-table/theme/table.css */
.ck-content[dir="rtl"] .table th {
text-align: right;
}
/* @ckeditor/ckeditor5-table/theme/table.css */
.ck-content[dir="ltr"] .table th {
text-align: left;
}
/* @ckeditor/ckeditor5-table/theme/tablecaption.css */
.ck-content .table > figcaption {
display: table-caption;
caption-side: top;
word-break: break-word;
text-align: center;
color: var(--ck-color-selector-caption-text);
background-color: var(--ck-color-selector-caption-background);
padding: .6em;
font-size: .75em;
outline-offset: -1px;
}
/* @ckeditor/ckeditor5-page-break/theme/pagebreak.css */
.ck-content .page-break {
position: relative;
clear: both;
padding: 5px 0;
display: flex;
align-items: center;
justify-content: center;
}
/* @ckeditor/ckeditor5-page-break/theme/pagebreak.css */
.ck-content .page-break::after {
content: '';
position: absolute;
border-bottom: 2px dashed hsl(0, 0%, 77%);
width: 100%;
}
/* @ckeditor/ckeditor5-page-break/theme/pagebreak.css */
.ck-content .page-break__label {
position: relative;
z-index: 1;
padding: .3em .6em;
display: block;
text-transform: uppercase;
border: 1px solid hsl(0, 0%, 77%);
border-radius: 2px;
font-family: Helvetica, Arial, Tahoma, Verdana, Sans-Serif;
font-size: 0.75em;
font-weight: bold;
color: hsl(0, 0%, 20%);
background: hsl(0, 0%, 100%);
box-shadow: 2px 2px 1px hsla(0, 0%, 0%, 0.15);
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
/* @ckeditor/ckeditor5-media-embed/theme/mediaembed.css */
.ck-content .media {
clear: both;
margin: 0.9em 0;
display: block;
min-width: 15em;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-content .todo-list {
list-style: none;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-content .todo-list li {
position: relative;
margin-bottom: 5px;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-content .todo-list li .todo-list {
margin-top: 5px;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-content .todo-list .todo-list__label > input {
-webkit-appearance: none;
display: inline-block;
position: relative;
width: var(--ck-todo-list-checkmark-size);
height: var(--ck-todo-list-checkmark-size);
vertical-align: middle;
border: 0;
left: -25px;
margin-right: -15px;
right: 0;
margin-left: 0;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-content[dir=rtl] .todo-list .todo-list__label > input {
left: 0;
margin-right: 0;
right: -25px;
margin-left: -15px;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-content .todo-list .todo-list__label > input::before {
display: block;
position: absolute;
box-sizing: border-box;
content: '';
width: 100%;
height: 100%;
border: 1px solid hsl(0, 0%, 20%);
border-radius: 2px;
transition: 250ms ease-in-out box-shadow;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-content .todo-list .todo-list__label > input::after {
display: block;
position: absolute;
box-sizing: content-box;
pointer-events: none;
content: '';
left: calc( var(--ck-todo-list-checkmark-size) / 3 );
top: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
width: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
height: calc( var(--ck-todo-list-checkmark-size) / 2.6 );
border-style: solid;
border-color: transparent;
border-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0;
transform: rotate(45deg);
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-content .todo-list .todo-list__label > input[checked]::before {
background: hsl(126, 64%, 41%);
border-color: hsl(126, 64%, 41%);
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-content .todo-list .todo-list__label > input[checked]::after {
border-color: hsl(0, 0%, 100%);
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-content .todo-list .todo-list__label .todo-list__label__description {
vertical-align: middle;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox] {
position: absolute;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-editor__editable.ck-content .todo-list .todo-list__label > input,
.ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input {
cursor: pointer;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-editor__editable.ck-content .todo-list .todo-list__label > input:hover::before, .ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input:hover::before {
box-shadow: 0 0 0 5px hsla(0, 0%, 0%, 0.1);
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input {
-webkit-appearance: none;
display: inline-block;
position: relative;
width: var(--ck-todo-list-checkmark-size);
height: var(--ck-todo-list-checkmark-size);
vertical-align: middle;
border: 0;
left: -25px;
margin-right: -15px;
right: 0;
margin-left: 0;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-editor__editable.ck-content[dir=rtl] .todo-list .todo-list__label > span[contenteditable=false] > input {
left: 0;
margin-right: 0;
right: -25px;
margin-left: -15px;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input::before {
display: block;
position: absolute;
box-sizing: border-box;
content: '';
width: 100%;
height: 100%;
border: 1px solid hsl(0, 0%, 20%);
border-radius: 2px;
transition: 250ms ease-in-out box-shadow;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input::after {
display: block;
position: absolute;
box-sizing: content-box;
pointer-events: none;
content: '';
left: calc( var(--ck-todo-list-checkmark-size) / 3 );
top: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
width: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
height: calc( var(--ck-todo-list-checkmark-size) / 2.6 );
border-style: solid;
border-color: transparent;
border-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0;
transform: rotate(45deg);
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input[checked]::before {
background: hsl(126, 64%, 41%);
border-color: hsl(126, 64%, 41%);
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input[checked]::after {
border-color: hsl(0, 0%, 100%);
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-editor__editable.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox] {
position: absolute;
}
/* @ckeditor/ckeditor5-list/theme/list.css */
.ck-content ol {
list-style-type: decimal;
}
/* @ckeditor/ckeditor5-list/theme/list.css */
.ck-content ol ol {
list-style-type: lower-latin;
}
/* @ckeditor/ckeditor5-list/theme/list.css */
.ck-content ol ol ol {
list-style-type: lower-roman;
}
/* @ckeditor/ckeditor5-list/theme/list.css */
.ck-content ol ol ol ol {
list-style-type: upper-latin;
}
/* @ckeditor/ckeditor5-list/theme/list.css */
.ck-content ol ol ol ol ol {
list-style-type: upper-roman;
}
/* @ckeditor/ckeditor5-list/theme/list.css */
.ck-content ul {
list-style-type: disc;
}
/* @ckeditor/ckeditor5-list/theme/list.css */
.ck-content ul ul {
list-style-type: circle;
}
/* @ckeditor/ckeditor5-list/theme/list.css */
.ck-content ul ul ul {
list-style-type: square;
}
/* @ckeditor/ckeditor5-list/theme/list.css */
.ck-content ul ul ul ul {
list-style-type: square;
}
/* @ckeditor/ckeditor5-image/theme/image.css */
.ck-content .image {
display: table;
clear: both;
text-align: center;
margin: 0.9em auto;
min-width: 50px;
}
/* @ckeditor/ckeditor5-image/theme/image.css */
.ck-content .image img {
display: block;
margin: 0 auto;
max-width: 100%;
min-width: 100%;
height: auto;
}
/* @ckeditor/ckeditor5-image/theme/image.css */
.ck-content .image-inline {
/*
* Normally, the .image-inline would have "display: inline-block" and "img { width: 100% }" (to follow the wrapper while resizing).;
* Unfortunately, together with "srcset", it gets automatically stretched up to the width of the editing root.
* This strange behavior does not happen with inline-flex.
*/
display: inline-flex;
max-width: 100%;
align-items: flex-start;
}
/* @ckeditor/ckeditor5-image/theme/image.css */
.ck-content .image-inline picture {
display: flex;
}
/* @ckeditor/ckeditor5-image/theme/image.css */
.ck-content .image-inline picture,
.ck-content .image-inline img {
flex-grow: 1;
flex-shrink: 1;
max-width: 100%;
}
/* @ckeditor/ckeditor5-image/theme/imageresize.css */
.ck-content img.image_resized {
height: auto;
}
/* @ckeditor/ckeditor5-image/theme/imageresize.css */
.ck-content .image.image_resized {
max-width: 100%;
display: block;
box-sizing: border-box;
}
/* @ckeditor/ckeditor5-image/theme/imageresize.css */
.ck-content .image.image_resized img {
width: 100%;
}
/* @ckeditor/ckeditor5-image/theme/imageresize.css */
.ck-content .image.image_resized > figcaption {
display: block;
}
/* @ckeditor/ckeditor5-image/theme/imagecaption.css */
.ck-content .image > figcaption {
display: table-caption;
caption-side: bottom;
word-break: break-word;
color: var(--ck-color-image-caption-text);
background-color: var(--ck-color-image-caption-background);
padding: .6em;
font-size: .75em;
outline-offset: -1px;
}
/* @ckeditor/ckeditor5-image/theme/imagestyle.css */
.ck-content .image-style-block-align-left,
.ck-content .image-style-block-align-right {
max-width: calc(100% - var(--ck-image-style-spacing));
}
/* @ckeditor/ckeditor5-image/theme/imagestyle.css */
.ck-content .image-style-align-left,
.ck-content .image-style-align-right {
clear: none;
}
/* @ckeditor/ckeditor5-image/theme/imagestyle.css */
.ck-content .image-style-side {
float: right;
margin-left: var(--ck-image-style-spacing);
max-width: 50%;
}
/* @ckeditor/ckeditor5-image/theme/imagestyle.css */
.ck-content .image-style-align-left {
float: left;
margin-right: var(--ck-image-style-spacing);
}
/* @ckeditor/ckeditor5-image/theme/imagestyle.css */
.ck-content .image-style-align-center {
margin-left: auto;
margin-right: auto;
}
/* @ckeditor/ckeditor5-image/theme/imagestyle.css */
.ck-content .image-style-align-right {
float: right;
margin-left: var(--ck-image-style-spacing);
}
/* @ckeditor/ckeditor5-image/theme/imagestyle.css */
.ck-content .image-style-block-align-right {
margin-right: 0;
margin-left: auto;
}
/* @ckeditor/ckeditor5-image/theme/imagestyle.css */
.ck-content .image-style-block-align-left {
margin-left: 0;
margin-right: auto;
}
/* @ckeditor/ckeditor5-image/theme/imagestyle.css */
.ck-content p + .image-style-align-left,
.ck-content p + .image-style-align-right,
.ck-content p + .image-style-side {
margin-top: 0;
}
/* @ckeditor/ckeditor5-image/theme/imagestyle.css */
.ck-content .image-inline.image-style-align-left,
.ck-content .image-inline.image-style-align-right {
margin-top: var(--ck-inline-image-style-spacing);
margin-bottom: var(--ck-inline-image-style-spacing);
}
/* @ckeditor/ckeditor5-image/theme/imagestyle.css */
.ck-content .image-inline.image-style-align-left {
margin-right: var(--ck-inline-image-style-spacing);
}
/* @ckeditor/ckeditor5-image/theme/imagestyle.css */
.ck-content .image-inline.image-style-align-right {
margin-left: var(--ck-inline-image-style-spacing);
}
/* @ckeditor/ckeditor5-highlight/theme/highlight.css */
.ck-content .marker-yellow {
background-color: var(--ck-highlight-marker-yellow);
}
/* @ckeditor/ckeditor5-highlight/theme/highlight.css */
.ck-content .marker-green {
background-color: var(--ck-highlight-marker-green);
}
/* @ckeditor/ckeditor5-highlight/theme/highlight.css */
.ck-content .marker-pink {
background-color: var(--ck-highlight-marker-pink);
}
/* @ckeditor/ckeditor5-highlight/theme/highlight.css */
.ck-content .marker-blue {
background-color: var(--ck-highlight-marker-blue);
}
/* @ckeditor/ckeditor5-highlight/theme/highlight.css */
.ck-content .pen-red {
color: var(--ck-highlight-pen-red);
background-color: transparent;
}
/* @ckeditor/ckeditor5-highlight/theme/highlight.css */
.ck-content .pen-green {
color: var(--ck-highlight-pen-green);
background-color: transparent;
}
/* @ckeditor/ckeditor5-block-quote/theme/blockquote.css */
.ck-content blockquote {
overflow: hidden;
padding-right: 1.5em;
padding-left: 1.5em;
margin-left: 0;
margin-right: 0;
font-style: italic;
border-left: solid 5px hsl(0, 0%, 80%);
}
/* @ckeditor/ckeditor5-block-quote/theme/blockquote.css */
.ck-content[dir="rtl"] blockquote {
border-left: 0;
border-right: solid 5px hsl(0, 0%, 80%);
}
/* @ckeditor/ckeditor5-basic-styles/theme/code.css */
.ck-content code {
background-color: hsla(0, 0%, 78%, 0.3);
padding: .15em;
border-radius: 2px;
}
/* @ckeditor/ckeditor5-font/theme/fontsize.css */
.ck-content .text-tiny {
font-size: .7em;
}
/* @ckeditor/ckeditor5-font/theme/fontsize.css */
.ck-content .text-small {
font-size: .85em;
}
/* @ckeditor/ckeditor5-font/theme/fontsize.css */
.ck-content .text-big {
font-size: 1.4em;
}
/* @ckeditor/ckeditor5-font/theme/fontsize.css */
.ck-content .text-huge {
font-size: 1.8em;
}
/* @ckeditor/ckeditor5-mention/theme/mention.css */
.ck-content .mention {
background: var(--ck-color-mention-background);
color: var(--ck-color-mention-text);
}
/* @ckeditor/ckeditor5-horizontal-line/theme/horizontalline.css */
.ck-content hr {
margin: 15px 0;
height: 4px;
background: hsl(0, 0%, 87%);
border: 0;
}
/* @ckeditor/ckeditor5-code-block/theme/codeblock.css */
.ck-content pre {
padding: 1em;
color: hsl(0, 0%, 20.8%);
background: hsla(0, 0%, 78%, 0.3);
border: 1px solid hsl(0, 0%, 77%);
border-radius: 2px;
text-align: left;
direction: ltr;
tab-size: 4;
white-space: pre-wrap;
font-style: normal;
min-width: 200px;
}
/* @ckeditor/ckeditor5-code-block/theme/codeblock.css */
.ck-content pre code {
background: unset;
padding: 0;
border-radius: 0;
}
@media print {
/* @ckeditor/ckeditor5-page-break/theme/pagebreak.css */
.ck-content .page-break {
padding: 0;
}
/* @ckeditor/ckeditor5-page-break/theme/pagebreak.css */
.ck-content .page-break::after {
display: none;
}
}

View File

@@ -0,0 +1,2 @@
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}
/*# sourceMappingURL=normalize.min.css.map */

View File

@@ -0,0 +1,165 @@
body {
font-family: 'Lucida Grande', 'Lucida Sans Unicode', arial, sans-serif;
line-height: 1.5;
}
#layout {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: row-reverse;
}
#menu {
padding: 25px;
flex-basis: 0;
flex-grow: 1;
overflow: auto;
}
#menu p {
margin: 0;
}
#menu > p {
font-weight: bold;
font-size: 110%;
}
#menu ul {
padding-left: 20px;
}
#main {
flex-basis: 0;
flex-grow: 3;
overflow: auto;
padding: 10px 20px 20px 20px;
}
#parentLink {
float: right;
margin-top: 20px;
}
#title {
margin: 0;
padding-top: 10px;
}
img {
max-width: 100%;
}
pre {
white-space: pre-wrap;
word-wrap: anywhere;
}
iframe.pdf-view {
width: 100%;
height: 800px;
}
#toggleMenuButton {
display: none;
position: fixed;
top: 8px;
left: 5px;
width: 1.4em;
border-radius: 5px;
border: 1px solid #aaa;
font-size: 2rem;
z-index: 10;
height: auto;
color: black;
cursor: pointer;
}
#childLinks.grid ul {
list-style-type: none;
display: flex;
flex-wrap: wrap;
padding: 0;
}
#childLinks.grid ul li {
width: 180px;
height: 140px;
padding: 10px;
}
#childLinks.grid ul li a {
display: flex;
flex-direction: column;
height: 100%;
width: 100%;
border: 1px solid #ddd;
border-radius: 5px;
justify-content: center;
align-content: center;
text-align: center;
font-size: large;
}
#childLinks.grid ul li a:hover {
background: #eee;
}
#childLinks.list ul {
list-style-type: none;
display: inline-flex;
flex-wrap: wrap;
padding: 0;
margin-top: 5px;
}
#childLinks.list ul li {
margin-right: 20px;
}
#noteClippedFrom {
padding: 10px 0 10px 0;
margin: 20px 0 20px 0;
color: #666;
border: 1px solid #ddd;
border-left: 0;
border-right: 0;
}
#toggleMenuButton::after {
position: relative;
top: -2px;
left: 1px;
}
@media (max-width: 48em) {
#layout.showMenu #menu {
display: block;
margin-top: 40px;
}
#toggleMenuButton {
display: block;
}
#layout.showMenu #main {
display: none;
}
#title {
padding-left: 60px;
}
#layout.showMenu #toggleMenuButton::after {
content: "«";
}
#toggleMenuButton::after {
content: "»";
}
#menu {
display: none;
}
}

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="refresh" content="0; url=./{{ROOT_NOTE_ID}}.html" />
</head>
<body>
</body>
</html>

43
bin/docs/prepare.sh Executable file
View File

@@ -0,0 +1,43 @@
#!/usr/bin/env bash
script_dir=$(realpath $(dirname $0))
cd "$script_dir"
env_file="$script_dir/.env"
if [ ! -f "$env_file" ]; then
echo "Missing .env file, cannot proceed."
exit 1
fi
output_dir="$script_dir/../../docs"
mkdir -p "$output_dir"
rm -f "$output_dir"/*
rm -rf "$output_dir"/{assets,share}
source "$env_file"
# Download everything in output/notes.example.com/share/...
share_url="$SHARE_PROTOCOL://$SHARE_HOST/share/$ROOT_NOTE_ID"
wget -rpEk -e robots=off "$share_url" -P "$output_dir"
if [ $? -ne 0 ]; then
echo -e \\nDownloading failed, make sure you are using the real wget package and not the busybox one.
exit 1
fi
# Get rid of the domain in the output folder
mv "$output_dir/$SHARE_HOST"/* "$output_dir/"
rmdir "$output_dir/$SHARE_HOST"
# Create home page with redirect
index_dest_path="$output_dir/index.html"
cp index.template.html "$index_dest_path"
sed -i "s/{{ROOT_NOTE_ID}}/$ROOT_NOTE_ID/g" "$index_dest_path"
# Rewrite links to get rid of the share folder
sed -i "s/<link href=\"\\.\\./<link href=\"\\./g" "$output_dir/share"/*.html
sed -i "s/<script src=\"\\.\\./<script src=\"\\./g" "$output_dir/share"/*.html
sed -i "s/rel=\"shortcut icon\" href=\"\\.\\./rel=\"shortcut icon\" href=\"\\./g" "$output_dir/share"/*.html
cp -r "$output_dir/share"/* "$output_dir"
rm -r "$output_dir/share"

8
bin/docs/preview.sh Executable file
View File

@@ -0,0 +1,8 @@
#!/usr/bin/env bash
LISTEN_ADDRESS=127.0.0.1:8088
script_dir=$(realpath $(dirname $0))
output_dir="$script_dir/../../docs"
echo "Preview the documentation at http://$LISTEN_ADDRESS"
httpd -fv -p "$LISTEN_ADDRESS" -h "$output_dir"

View File

@@ -32,7 +32,7 @@ mv package.json.tmp package.json
git add package.json
echo 'export = { buildDate:"'`date --iso-8601=seconds`'", buildRevision: "'`git log -1 --format="%H"`'" };' > src/services/build.ts
npm run update-build-info
git add src/services/build.ts
@@ -65,9 +65,11 @@ if [[ $TAG == *"beta"* ]]; then
EXTRA=--prerelease
fi
echo "$GITHUB_CLI_AUTH_TOKEN" | gh auth login --with-token
if [ ! -z "$GITHUB_CLI_AUTH_TOKEN" ]; then
echo "$GITHUB_CLI_AUTH_TOKEN" | gh auth login --with-token
fi
gh release create "$TAG" \
gh release create -d "$TAG" \
--title "$TAG release" \
--notes "" \
$EXTRA \

25
bin/update-build-info.ts Normal file
View File

@@ -0,0 +1,25 @@
import child_process from "child_process";
import fs from "fs";
function getBuildDate() {
const now = new Date();
now.setMilliseconds(0);
return now
.toISOString()
.replace(".000", "");
}
function getGitRevision() {
return child_process.execSync('git log -1 --format="%H"')
.toString("utf-8")
.trimEnd();
}
const output = `\
export default {
buildDate: "${getBuildDate()}",
buildRevision: "${getGitRevision()}"
};
`;
fs.writeFileSync("src/services/build.ts", output);

Binary file not shown.

831
docs/1l1f6WZbaBEZ.html Normal file
View File

@@ -0,0 +1,831 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Branch prefixes</title>
</head>
<body data-note-id="1l1f6WZbaBEZ" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="B8hxg4e66cVL.html"
class="type-text">Development and architecture</a>
</nav>
<h1 id="title">Branch prefixes</h1>
<p>This note has no content.</p>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<strong>Branch prefixes</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

866
docs/1pOWnHdGAuWR.html Normal file
View File

@@ -0,0 +1,866 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Widgets</title>
</head>
<body data-note-id="1pOWnHdGAuWR" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="3eTu21fjtZkj.html"
class="type-text">Scripting</a>
</nav>
<h1 id="title">Widgets</h1>
<div id="content" class="type-text ck-content">
<p>To create a basic widget, simply create a code note with type “JS frontend”. Add the <code>#widget</code> label in order for it to be loaded at startup.</p><pre><code class="language-text-plain">const template = `&lt;div id="my-widget"&gt;&lt;button&gt;Click Me!&lt;/button&gt;&lt;/div&gt;`;
class MyWidget extends api.BasicWidget {
get position() { return 1; }
get parentWidget() { return "left-pane" }
doRender() {
this.$widget = $(template);
return this.$widget;
}
}
module.exports = new MyWidget();</code></pre><p><code>parentWidget()</code> can be given the following values:</p><ul><li><code>left-pane</code> - This renders the widget on the left side of the screen where the note tree lives.</li><li><code>center-pane</code> - This renders the widget in the center of the layout in the same location that notes and splits appear.</li><li><code>note-detail-pane</code> - This renders the widget <i>with</i> the note in the center pane. This means it can appear multiple times with splits.</li><li><code>right-pane</code> - This renders the widget to the right of any opened notes.</li></ul><hr><p>Reference:</p><ul><li><a href="https://trilium.rocks/X7pxYpiu0lgU">https://trilium.rocks/X7pxYpiu0lgU</a>&nbsp;</li><li><a href="https://github.com/zadam/trilium/wiki/Widget-Basics">https://github.com/zadam/trilium/wiki/Widget-Basics</a>&nbsp;</li><li><a href="https://github.com/zadam/trilium/wiki/Frontend-Basics">https://github.com/zadam/trilium/wiki/Frontend-Basics</a>&nbsp;</li></ul>
</div>
<nav id="childLinks" class="list">
<hr>
<span>Child notes: </span>
<ul>
<li>
<a href="8jWguCtuKsAt.html"
class="type-text">Right pane widget</a>
</li>
<li>
<a href="4FXLAtcPhZFo.html"
class="type-text">CSS</a>
</li>
</ul>
</nav>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<strong>Widgets</strong>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

842
docs/3eTu21fjtZkj.html Normal file
View File

@@ -0,0 +1,842 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Scripting</title>
</head>
<body data-note-id="3eTu21fjtZkj" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="4yYHqKbLovVX.html"
class="type-text">Developer&#39;s Guide</a>
</nav>
<h1 id="title">Scripting</h1>
<nav id="childLinks" class="grid">
<ul>
<li>
<a href="1pOWnHdGAuWR.html"
class="type-text">Widgets</a>
</li>
</ul>
</nav>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<strong>Scripting</strong>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

833
docs/3jc1nUXyteo0.html Normal file
View File

@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Themes</title>
</head>
<body data-note-id="3jc1nUXyteo0" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="B8hxg4e66cVL.html"
class="type-text">Development and architecture</a>
</nav>
<h1 id="title">Themes</h1>
<div id="content" class="type-text ck-content">
<h2>Server-side</h2><ul><li>There are two themes embedded in the application:<ul><li><code>light</code>, located in <code>src\public\stylesheets\theme-light.css</code></li><li><code>dark</code>, located in <code>src\public\stylesheets\theme-dark.css</code></li></ul></li><li>The default theme is set only once, when the database is created and is managed by <code>options_init#initNotSyncedOptions</code>.<ul><li>On Electron, the choice between <code>light</code> and <code>dark</code> is done based on the OS preference.</li><li>Otherwise, the theme is always <code>dark</code>.</li></ul></li><li>The theme is served via <code>src\routes\index.ts</code>, in the <code>getThemeCssUrl</code> method.</li></ul><h2>Client-side</h2><ul><li>The two predefined themes are hard-coded in the client in <code>src\public\app\widgets\type_widgets\options\appearance\theme.js</code>.</li><li>The user-defined themes are obtained via a call to the server: <code>options/user-themes</code>.</li><li>The theme retrieval is done via a request</li></ul>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<strong>Themes</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

838
docs/4FXLAtcPhZFo.html Normal file
View File

@@ -0,0 +1,838 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>CSS</title>
</head>
<body data-note-id="4FXLAtcPhZFo" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="1pOWnHdGAuWR.html"
class="type-text">Widgets</a>
</nav>
<h1 id="title">CSS</h1>
<div id="content" class="type-text ck-content">
<p>In <code>doRender()</code>:</p><pre><code class="language-text-plain">this.cssBlock(`#my-widget {
position: absolute;
bottom: 40px;
left: 60px;
z-index: 1;
}`)</code></pre><hr><p>Reference: <a href="https://trilium.rocks/X7pxYpiu0lgU">https://trilium.rocks/X7pxYpiu0lgU</a>&nbsp;</p>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<strong>CSS</strong>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

857
docs/4yYHqKbLovVX.html Normal file
View File

@@ -0,0 +1,857 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Developer&#39;s Guide</title>
</head>
<body data-note-id="4yYHqKbLovVX" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<h1 id="title">Developer&#39;s Guide</h1>
<nav id="childLinks" class="grid">
<ul>
<li>
<a href="VS22Hq5PBFNf.html"
class="type-text">Dependency Management</a>
</li>
<li>
<a href="ZlxZh8NH5frM.html"
class="type-text">Building and deployment</a>
</li>
<li>
<a href="xtBYDVZPb0gr.html"
class="type-text">Project maintenance</a>
</li>
<li>
<a href="B8hxg4e66cVL.html"
class="type-text">Development and architecture</a>
</li>
<li>
<a href="3eTu21fjtZkj.html"
class="type-text">Scripting</a>
</li>
</ul>
</nav>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<strong>Developer&#39;s Guide</strong>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

833
docs/6x42mhlfLo0o.html Normal file
View File

@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>blobs</title>
</head>
<body data-note-id="6x42mhlfLo0o" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="zCDxk5VFdsqg.html"
class="type-text">Database</a>
</nav>
<h1 id="title">blobs</h1>
<div id="content" class="type-text ck-content">
<figure class="table"><table><thead><tr><th>Column Name</th><th>Data Type</th><th>Nullity</th><th>Default value</th><th>Description</th></tr></thead><tbody><tr><th><code>blobId</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>The unique ID of the blob (e.g. <code>XXbfAJXqWrYnSXcelLFA</code>).</td></tr><tr><th><code>content</code></th><td>Text</td><td>Nullable</td><td><code>null</code></td><td><p>The content of the blob, can be either:</p><ul><li>text (for plain text notes or HTML notes).</li><li>binary (for images and other types of attachments)</li></ul></td></tr><tr><th><code>dateModified</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>Localized modification date (e.g. <code>2023-11-08 18:43:44.204+0200</code>)</td></tr><tr><th><code>utcDateModified</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>Modification date in UTC format (e.g. <code>2023-11-08 16:43:44.204Z</code>)</td></tr></tbody></table></figure>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<strong>blobs</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

855
docs/8jWguCtuKsAt.html Normal file
View File

@@ -0,0 +1,855 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Right pane widget</title>
</head>
<body data-note-id="8jWguCtuKsAt" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="1pOWnHdGAuWR.html"
class="type-text">Widgets</a>
</nav>
<h1 id="title">Right pane widget</h1>
<div id="content" class="type-text ck-content">
<ul><li><code>doRender</code> must not be overridden, instead <code>doRenderBody()</code> has to be overridden.</li><li><code>parentWidget()</code> must be set to <code>“rightPane”</code>.</li><li><code>widgetTitle()</code> getter can optionally be overriden, otherwise the widget will be displayed as “Untitled widget”.</li></ul><pre><code class="language-text-plain">const template = `&lt;div&gt;Hi&lt;/div&gt;`;
class ToDoListWidget extends api.RightPanelWidget {
get widgetTitle() {
return "Title goes here";
}
get parentWidget() { return "right-pane" }
doRenderBody() {
this.$body.empty().append($(template));
}
async refreshWithNote(note) {
this.toggleInt(false);
this.triggerCommand("reEvaluateRightPaneVisibility");
this.toggleInt(true);
this.triggerCommand("reEvaluateRightPaneVisibility");
}
}
module.exports = new ToDoListWidget();</code></pre><p>The implementation is in <code>src/public/app/widgets/right_panel_widget.js</code>.</p>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<strong>Right pane widget</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

907
docs/B8hxg4e66cVL.html Normal file
View File

@@ -0,0 +1,907 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Development and architecture</title>
</head>
<body data-note-id="B8hxg4e66cVL" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="4yYHqKbLovVX.html"
class="type-text">Developer&#39;s Guide</a>
</nav>
<h1 id="title">Development and architecture</h1>
<nav id="childLinks" class="grid">
<ul>
<li>
<a href="hkrBX8KE1HQl.html"
class="type-text">Internationalisation / Translations</a>
</li>
<li>
<a href="XxqZW6JjkW2g.html"
class="type-text">Live reload</a>
</li>
<li>
<a href="3jc1nUXyteo0.html"
class="type-text">Themes</a>
</li>
<li>
<a href="U5RtMeGPeZ29.html"
class="type-text">Synchronisation</a>
</li>
<li>
<a href="mPGbEmYGitWe.html"
class="type-text">Build information</a>
</li>
<li>
<a href="zCDxk5VFdsqg.html"
class="type-text">Database</a>
</li>
<li>
<a href="KbwD5mDpD4CV.html"
class="type-text">Protected entities</a>
</li>
<li>
<a href="IuxV242YGaN5.html"
class="type-text">Deleted notes</a>
</li>
<li>
<a href="FJ4VR6G2M6VD.html"
class="type-text">Special notes</a>
</li>
<li>
<a href="1l1f6WZbaBEZ.html"
class="type-text">Branch prefixes</a>
</li>
<li>
<a href="QSkfVssHIngA.html"
class="type-text">Revisions</a>
</li>
<li>
<a href="cemIoFLfEGPO.html"
class="type-text">Backlinks</a>
</li>
<li>
<a href="VbDoDdiHEemi.html"
class="type-text">Note types</a>
</li>
<li>
<a href="UDBwK5Fhr2CT.html"
class="type-text">Safe mode</a>
</li>
</ul>
</nav>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<strong>Development and architecture</strong>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

833
docs/BhE2WFknKKHG.html Normal file
View File

@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Main</title>
</head>
<body data-note-id="BhE2WFknKKHG" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="rU1hxvgqlA9x.html"
class="type-text">CI</a>
</nav>
<h1 id="title">Main</h1>
<div id="content" class="type-text ck-content">
<p>The main workflow of the CI:</p><ul><li>Builds the Docker image and publishes in the GitHub Docker registry.</li><li>Builds using a portion of the <a href="UTB518X6X9Uh.html" class="type-text">delivery script</a> artifacts for the following platforms:<ul><li>Windows <code>x86_64</code> as .zip file</li><li>Windows <code>x86_64</code> installer (using Squirrel)</li><li>macOS <code>x86_64</code> and <code>aarch64</code>.</li><li>Linux <code>x86_64</code></li><li>Linux server <code>x86_64</code>.</li></ul></li></ul><p>The main workflow of the CI runs on <code>develop</code> branches as well as any branch that starts with <code>feature/update_</code>.</p><h2>Downloading the artifacts from the main branch</h2><p>Simply go to the <a href="https://github.com/TriliumNext/Notes"><code>develop</code> branch on GitHub</a> and look at the commit bar:</p><figure class="image"><img style="aspect-ratio:896/59;" src="api/attachments/XEUUvzBxh89z/image/image.png" width="896" height="59"></figure><p>Press the green checkmark (or red cross if something went bad). Then look at the list of jobs and their status:</p><figure class="image"><img style="aspect-ratio:616/445;" src="api/attachments/27Z989bSFWAc/image/image.png" width="616" height="445"></figure><p>Then look for any of the entires that starts with “Main” and press the “Details” link next to it. It doesn't really matter which platform you'll choose as the artifacts are available on the same page.</p><p>&nbsp;</p>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<strong>Main</strong>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

833
docs/C09Dou56ffMe.html Normal file
View File

@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Having a simpler packaging system</title>
</head>
<body data-note-id="C09Dou56ffMe" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="VS22Hq5PBFNf.html"
class="type-text">Dependency Management</a>
</nav>
<h1 id="title">Having a simpler packaging system</h1>
<div id="content" class="type-text ck-content">
<p>The current build scripts are a bit complicated and maintaining them is not easy.</p><p><a href="https://www.electronforge.io/">Electron Forge</a> seems more mature and has a boatload of features, including Flatpak, snaps, Windows installers &amp; more.</p><p>Have a look also at the <a href="https://www.electronforge.io/config/plugins">Plugins</a> section since there are quite a few interesting things there as well.</p><p>Afterwards consider running a new round of&nbsp;<a class="reference-link">Reducing binary size</a>, especially taking into consideration removing of the unnecessary locales.</p>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<strong>Having a simpler packaging system</strong>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

831
docs/FJ4VR6G2M6VD.html Normal file
View File

@@ -0,0 +1,831 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Special notes</title>
</head>
<body data-note-id="FJ4VR6G2M6VD" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="B8hxg4e66cVL.html"
class="type-text">Development and architecture</a>
</nav>
<h1 id="title">Special notes</h1>
<p>This note has no content.</p>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<strong>Special notes</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

833
docs/FSZoX3cJlJE7.html Normal file
View File

@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>options</title>
</head>
<body data-note-id="FSZoX3cJlJE7" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="zCDxk5VFdsqg.html"
class="type-text">Database</a>
</nav>
<h1 id="title">options</h1>
<div id="content" class="type-text ck-content">
<figure class="table"><table><thead><tr><th>Column Name</th><th>Data Type</th><th>Nullity</th><th>Default value</th><th>Description</th></tr></thead><tbody><tr><th><code>name</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>The name of option (e.g. <code>maxContentWidth</code>)</td></tr><tr><th><code>value</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>The value of the option.</td></tr><tr><th><code>isSynced</code></th><td>Integer</td><td>Non-null</td><td>0</td><td><code>0</code> if the option is not synchronized and thus can differ between clients, <code>1</code> if the option is synchronized.</td></tr><tr><th><code>utcDateModified</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>Modification date in UTC format (e.g. <code>2023-11-08 16:43:44.204Z</code>)</td></tr></tbody></table></figure>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<strong>options</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

833
docs/GMta9hBHsXHQ.html Normal file
View File

@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Node.js, Electron and `better-sqlite3`</title>
</head>
<body data-note-id="GMta9hBHsXHQ" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="s5gsYTbPQr6c.html"
class="type-text">Updating dependencies</a>
</nav>
<h1 id="title">Node.js, Electron and `better-sqlite3`</h1>
<div id="content" class="type-text ck-content">
<p><code>better-sqlite3</code> requires a native module in order to work. In order to ease the installation process, prebuilt binaries are provided by the library developers.</p><p>Trilium Next started with version <a href="https://github.com/WiseLibs/better-sqlite3/releases/tag/v8.4.0">8.4.0</a> for <code>better-sqlite3</code></p><figure class="table" style="width:100%;"><table class="ck-table-resized"><colgroup><col style="width:30.24%;"><col style="width:18.47%;"><col style="width:26.73%;"><col style="width:24.56%;"></colgroup><tbody><tr><td><code>better-sqlite3</code> version</td><td>SQLite version</td><td>Node.js prebuilds</td><td>Electron.js prebuilds</td></tr><tr><td>8.4.0</td><td rowspan="4">&lt;3.43.0</td><td>v20</td><td>???</td></tr><tr><td>8.5.0</td><td>v20</td><td>v25</td></tr><tr><td>8.5.1</td><td>&nbsp;</td><td rowspan="4">v26</td></tr><tr><td>8.5.2</td><td>v20 (macOS + arm64)</td></tr><tr><td>8.6.0</td><td>3.43.0</td><td>&nbsp;</td></tr><tr><td>8.7.0</td><td>3.43.1</td><td>&nbsp;</td></tr><tr><td>9.0.0</td><td>3.43.2</td><td>&nbsp;</td><td rowspan="4">v27</td></tr><tr><td>9.1.0</td><td rowspan="2">3.44.0</td><td>&nbsp;</td></tr><tr><td>9.1.1</td><td>macOS + Alpine</td></tr><tr><td>9.2.0</td><td rowspan="2">3.44.2</td><td>&nbsp;</td></tr><tr><td>9.2.1 / 9.2.2</td><td>&nbsp;</td><td rowspan="4">v28</td></tr><tr><td>9.3.0</td><td>3.45.0</td><td>&nbsp;</td></tr><tr><td>9.4.0</td><td rowspan="6">3.45.1</td><td>&nbsp;</td></tr><tr><td>9.4.1</td><td>Windows arm, arm64</td></tr><tr><td>9.4.2</td><td>&nbsp;</td><td>&lt;v29</td></tr><tr><td>9.4.3</td><td>&nbsp;</td><td>&lt;v29</td></tr><tr><td>9.4.4</td><td>&nbsp;</td><td rowspan="3">v29</td></tr><tr><td>9.4.5</td><td>Better prebuilds</td></tr><tr><td>9.5.0</td><td>3.45.2</td><td>&nbsp;</td></tr><tr><td>9.6.0</td><td rowspan="2">3.45.3</td><td>&nbsp;</td><td rowspan="4">v30</td></tr><tr><td>10.0.0</td><td>v22</td></tr><tr><td>10.1.0</td><td rowspan="2">3.46.0</td><td>&nbsp;</td></tr><tr><td>11.0.0</td><td>&gt;21</td></tr><tr><td>11.1.0 (prerelease)</td><td>&nbsp;</td><td>&nbsp;</td><td rowspan="3">v31</td></tr><tr><td>11.1.1</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>11.1.2</td><td>&nbsp;</td><td>&nbsp;</td></tr></tbody></table></figure>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<strong>Node.js, Electron and `better-sqlite3`</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

831
docs/IuxV242YGaN5.html Normal file
View File

@@ -0,0 +1,831 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Deleted notes</title>
</head>
<body data-note-id="IuxV242YGaN5" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="B8hxg4e66cVL.html"
class="type-text">Development and architecture</a>
</nav>
<h1 id="title">Deleted notes</h1>
<p>This note has no content.</p>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<strong>Deleted notes</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

833
docs/KRC2O84LekPz.html Normal file
View File

@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>i18n-ally</title>
</head>
<body data-note-id="KRC2O84LekPz" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="hkrBX8KE1HQl.html"
class="type-text">Internationalisation / Translations</a>
</nav>
<h1 id="title">i18n-ally</h1>
<div id="content" class="type-text ck-content">
<p><a href="https://github.com/lokalise/i18n-ally"><code>i18n-ally</code></a> is a VS Code extension that aids in internationalization.</p><p>It is currently integrated in the project and offers features such as:</p><ul><li>Highlight, autocomplete translations.</li><li>Display translations inline.</li><li>Extract messages into translation.</li></ul><h3>Extracting messages into translation</h3><ol><li>Open any .js file and select an untranslated string inside a template (<code>TPL</code>).</li><li>Press Ctrl+P and look for “i18n Ally: Extract text into i18n messages”</li><li>Select the first template.</li><li>Select the path of translation, taking into consideration the&nbsp;<a class="reference-link type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>&nbsp;(e.g. <code>jump_to_note.search-for-note-by-its-name</code>).</li></ol>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<strong>i18n-ally</strong>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

833
docs/KbwD5mDpD4CV.html Normal file
View File

@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Protected entities</title>
</head>
<body data-note-id="KbwD5mDpD4CV" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="B8hxg4e66cVL.html"
class="type-text">Development and architecture</a>
</nav>
<h1 id="title">Protected entities</h1>
<div id="content" class="type-text ck-content">
<p>The following entities can be made protected, via their <code>isProtected</code> flag:</p><ul><li><a class="reference-link type-text" href="wCxCJB3hhojs.html">attachments</a></li><li><a class="reference-link type-text" href="kAfgZERKtVhU.html">notes</a></li><li><a class="reference-link type-text" href="QYMncZf5Bu3D.html">revisions</a></li></ul>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<strong>Protected entities</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

835
docs/MUGBo4n67kBI.html Normal file
View File

@@ -0,0 +1,835 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Environment setup</title>
</head>
<body data-note-id="MUGBo4n67kBI" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="WKn3hLGmKmiH.html"
class="type-text">CKEditor</a>
</nav>
<h1 id="title">Environment setup</h1>
<div id="content" class="type-text ck-content">
<p>To set up the repository:</p><pre><code class="language-text-plain">git clone https://github.com/TriliumNext/trilium-ckeditor5.git
cd trilium-ckeditor5.git
yarn install</code></pre><p>To trigger the build run:</p><pre><code class="language-text-plain">yarn build</code></pre>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<strong>Environment setup</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

833
docs/PHqgH8FCfcod.html Normal file
View File

@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Documentation</title>
</head>
<body data-note-id="PHqgH8FCfcod" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="ZlxZh8NH5frM.html"
class="type-text">Building and deployment</a>
</nav>
<h1 id="title">Documentation</h1>
<div id="content" class="type-text ck-content">
<p>Development notes are published on <a href="https://triliumnext.github.io/Notes">triliumnext.github.io/Notes</a> by the CI using GitHub Pages.</p><p>The GitHub Pages deployment works by taking the files from the Notes repository, in the <code>docs</code> directory.</p><h2>How it works</h2><p>There is a script that uses <code>wget</code> to download all the files from a share, that means:</p><ol><li>You must have a local instance of Trilium Notes server.</li><li>You must have the documentation imported, up to date and shared.</li></ol><p>Note that currently the documentation source file is not distributed (the note export), until a way is found to automate this process. Contact <code>eliandoran</code> should you require to obtain a copy of the documentation.</p><h2>Setting up <code>.env</code> file</h2><p>Go to <code>bin/docs</code> and copy <code>.env.example</code> to <code>.env</code> and edit it:</p><ol><li>Change the <code>SHARE_PROTOCOL</code> to either <code>http</code> or <code>https</code> depending on your setup.</li><li>Change <code>SHARE_HOST</code> to match the domain name or the URL to the host (without the protocol or any slashes).</li></ol><p>Generally <code>ROOT_NOTE_ID</code> should not be changed since the note ID must match if the files were imported correctly.</p><h2>Triggering a build</h2><p>Run:</p><pre><code class="language-text-plain">./bin/docs/prepare.sh</code></pre><p>This will attempt to download all the notes from the share URL and put them in <code>docs</code>, rewritten for GitHub Pages.</p><p>Commit the results and follow the normal development process to push them.</p>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<strong>Documentation</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

831
docs/QSkfVssHIngA.html Normal file
View File

@@ -0,0 +1,831 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Revisions</title>
</head>
<body data-note-id="QSkfVssHIngA" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="B8hxg4e66cVL.html"
class="type-text">Development and architecture</a>
</nav>
<h1 id="title">Revisions</h1>
<p>This note has no content.</p>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<strong>Revisions</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

881
docs/QXCi6Y1SYulw.html Normal file
View File

@@ -0,0 +1,881 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Adding a new client library</title>
</head>
<body data-note-id="QXCi6Y1SYulw" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="VS22Hq5PBFNf.html"
class="type-text">Dependency Management</a>
</nav>
<h1 id="title">Adding a new client library</h1>
<div id="content" class="type-text ck-content">
<p>In the past some libraries have been copy-pasted (and adapted if needed) to the repository. However, new libraries must be obtained exclusively through npm.</p><p>The first step is to install the desired library. As an example we are going to install <code>i18next</code>:</p><pre><code class="language-text-plain">npm i i18next</code></pre><h3>Step 1. Understanding the structure of the import</h3><p>After installing the dependency, it's important to know how it's structured. You can do this by looking at the directory structure of the newly imported dependency:</p><pre><code class="language-text-plain">$ tree node_modules/i18next
node_modules/i18next
├── dist
│ ├── cjs
│ │ └── i18next.js
│ ├── esm
│ │ ├── i18next.bundled.js
│ │ ├── i18next.js
│ │ └── package.json
│ └── umd
│ ├── i18next.js
│ └── i18next.min.js
├── i18next.js
├── i18next.min.js
├── index.d.mts
├── index.d.ts
├── index.js
├── index.v4.d.ts
├── LICENSE
├── package.json
├── README.md
└── typescript
├── helpers.d.ts
├── options.d.ts
├── t.d.ts
└── t.v4.d.ts</code></pre><p>Generally you should be looking for a <code>.min.js</code> file. Note that the <code>esm</code> and <code>cjs</code> variants generally don't work, we are looking for the classic, no module dependency.</p><h3>Step 2. Exposing the library from the server</h3><p>The library must be delivered by the server and this is done via <code>src/routes/assets.ts</code>. In the <code>register</code> function, add a new entry near the bottom of the function:</p><pre><code class="language-application-javascript-env-frontend">app.use(`/${assetPath}/node_modules/i18next/`, persistentCacheStatic(path.join(srcRoot, "..", 'node_modules/i18next/')));</code></pre><h3>Step 3. Adding it to the library loader</h3><p>The library loader is a client module which is in charge of downloading the library from the server and importing it. The loader is located in <code>src/public/app/services/library_loader.js</code>.</p><p>To add a new library, start by creating a constant for it, with the value pointing to the minified JS identified at the first step:</p><pre><code class="language-application-javascript-env-frontend">const I18NEXT = {
js: [
"node_modules/i18next/i18next.min.js"
]
};</code></pre><p>Then add it to the <code>export default</code> section:</p><pre><code class="language-text-x-diff"> export default {
requireCss,
requireLibrary,
CKEDITOR,
CODE_MIRROR,
ESLINT,
RELATION_MAP,
PRINT_THIS,
CALENDAR_WIDGET,
KATEX,
WHEEL_ZOOM,
FORCE_GRAPH,
MERMAID,
EXCALIDRAW,
- MARKJS
+ MARKJS,
+ I18NEXT
}</code></pre><h3>Step 4. Using the library</h3><p>To import the library, simply use the following mechanism:</p><pre><code class="language-text-x-diff">import library_loader from "./library_loader.js";
await library_loader.requireLibrary(library_loader.I18NEXT);</code></pre><p>Make sure to replace <code>I18NEXT</code> with the library that was created at the previous steps.</p><p>Note that because we are not using a module management mechanism such as ES Modules or Common.js modules, the <code>requireLibrary</code> method does not actually return anything.&nbsp;</p><p>To benefit from the library, it must export on its own an object in <code>window</code>.</p><p>In the case of <code>i18next</code>, it sets <code>window.i18next</code> and that can be used directly:</p><pre><code class="language-text-x-diff">i18next.init({});</code></pre><h3>Step 5. Adding Electron support</h3><p>For Electron, the <code>node_modules</code> are copied as a separate step by <code>bin/copy-dist.ts</code>.</p><p>Scroll all the way down to the <code>nodeModulesFolder</code> and append an entry for the newly added libraries.</p>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<strong>Adding a new client library</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

833
docs/QYMncZf5Bu3D.html Normal file
View File

@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>revisions</title>
</head>
<body data-note-id="QYMncZf5Bu3D" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="zCDxk5VFdsqg.html"
class="type-text">Database</a>
</nav>
<h1 id="title">revisions</h1>
<div id="content" class="type-text ck-content">
<figure class="table"><table><thead><tr><th>Column Name</th><th>Data Type</th><th>Nullity</th><th>Default value</th><th>Description</th></tr></thead><tbody><tr><th><code>revisionId</code></th><td>TextText</td><td>Non-null</td><td>&nbsp;</td><td>Unique ID of the revision (e.g. <code>0GjgUqnEudI8</code>).</td></tr><tr><th><code>noteId</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>ID of the <a href="kAfgZERKtVhU.html" class="type-text">note</a> this revision belongs to.</td></tr><tr><th><code>type</code></th><td>Text</td><td>Non-null</td><td><code>""</code></td><td>The type of note (i.e. <code>text</code>, <code>file</code>, <code>code</code>, <code>relationMap</code>, <code>mermaid</code>, <code>canvas</code>).</td></tr><tr><th><code>mime</code></th><td>Text</td><td>Non-null</td><td><code>""</code></td><td>The MIME type of the note (e.g. <code>text/html</code>).</td></tr><tr><th><code>title</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>The title of the note, as defined by the user.</td></tr><tr><th><code>isProtected</code></th><td>Integer</td><td>Non-null</td><td>0</td><td><code>1</code> if the entity is <a href="KbwD5mDpD4CV.html" class="type-text">protected</a>, <code>0</code> otherwise.</td></tr><tr><th><code>blobId</code></th><td>Text</td><td>Nullable</td><td><code>null</code></td><td>The corresponding ID from&nbsp;<a class="reference-link type-text" href="6x42mhlfLo0o.html">blobs</a>. Although it can theoretically be <code>NULL</code>, haven't found any such note yet.</td></tr><tr><th><code>utcDateLastEdited</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td><strong>Not sure how it differs from modification date.</strong></td></tr><tr><th><code>utcDateCreated</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>Creation date in UTC format (e.g. <code>2023-11-08 16:43:44.204Z</code>)</td></tr><tr><th><code>utcDateModified</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>Modification date in UTC format (e.g. <code>2023-11-08 16:43:44.204Z</code>)</td></tr><tr><th><code>dateLastEdited</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td><strong>Not sure how it differs from modification date.</strong></td></tr><tr><th><code>dateCreated</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>Localized creatino date (e.g. <code>2023-08-12 15:10:04.045+0300</code>)</td></tr></tbody></table></figure>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<strong>revisions</strong>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

842
docs/U5RtMeGPeZ29.html Normal file
View File

@@ -0,0 +1,842 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Synchronisation</title>
</head>
<body data-note-id="U5RtMeGPeZ29" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="B8hxg4e66cVL.html"
class="type-text">Development and architecture</a>
</nav>
<h1 id="title">Synchronisation</h1>
<nav id="childLinks" class="grid">
<ul>
<li>
<a href="d3dnvVOhur16.html"
class="type-text">Content hashing</a>
</li>
</ul>
</nav>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<strong>Synchronisation</strong>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

833
docs/UDBwK5Fhr2CT.html Normal file
View File

@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Safe mode</title>
</head>
<body data-note-id="UDBwK5Fhr2CT" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="B8hxg4e66cVL.html"
class="type-text">Development and architecture</a>
</nav>
<h1 id="title">Safe mode</h1>
<div id="content" class="type-text ck-content">
<p>Safe mode is triggered by setting the <code>TRILIUM_SAFE_MODE</code> to a truthy value, usually <code>1</code>.</p><p>In each artifact there is a <code>trilium-safe-mode.sh</code> (or <code>.bat</code>) script to enable it.</p><p>What it does:</p><ul><li>Disables <code>customWidget</code> launcher types in <code>app/widgets/containers/launcher.js</code>.</li><li>Disables the running of <code>mobileStartup</code> or <code>frontendStartup</code> scripts.</li><li>Displays the root note instead of the previously saved session.</li><li>Disables the running of <code>backendStartup</code>, <code>hourly</code>, <code>daily</code> scripts and checks for the hidden subtree.</li></ul>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<strong>Safe mode</strong>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

837
docs/UTB518X6X9Uh.html Normal file
View File

@@ -0,0 +1,837 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Build deliveries locally</title>
</head>
<body data-note-id="UTB518X6X9Uh" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="ZlxZh8NH5frM.html"
class="type-text">Building and deployment</a>
</nav>
<h1 id="title">Build deliveries locally</h1>
<div id="content" class="type-text ck-content">
<p>In the project root:</p><figure class="table"><table><thead><tr><th>Platform</th><th>Architecture</th><th>Application</th><th>Build command</th></tr></thead><tbody><tr><th rowspan="2">macOS</th><td>x86_64</td><td>Desktop / Electron app</td><td><code>./bin/build-mac-x64.sh</code></td></tr><tr><td>ARM 64</td><td>Desktop / Electron app</td><td><code>./bin/build-mac-arm64.sh</code></td></tr><tr><th rowspan="2">Linux</th><td rowspan="2">x86_64</td><td>Desktop / Electron app</td><td><code>./bin/build-linux-x64.sh</code></td></tr><tr><td>Server</td><td><code>./bin/build-server.sh</code></td></tr><tr><th>Windows</th><td>x86_64</td><td>Desktop / Electron app</td><td><code>./bin/build-win-x64.sh</code></td></tr></tbody></table></figure><p>Under NixOS the following <code>nix-shell</code> is needed:</p><pre><code class="language-text-plain">nix-shell -p jq</code></pre><p>For Linux builds:</p><pre><code class="language-text-plain">nix-shell -p jq fakeroot dpkg</code></pre><p>The resulting build will be in the <code>dist</code> directory under the project root.</p><h3>Testing the Linux builds under NixOS</h3><figure class="table"><table><thead><tr><th>Desktop client</th><th>Server</th></tr></thead><tbody><tr><td><pre><code class="language-text-plain">$ NIXPKGS_ALLOW_UNFREE=1 nix-shell -p steam-run
[nix-shell] cd dist/trilium-linux-x64
[nix-shell] steam-run ./trilium</code></pre></td><td><pre><code class="language-text-plain">$ NIXPKGS_ALLOW_UNFREE=1 nix-shell -p steam-run
[nix-shell] cd dist/trilium-linux-x64-server
[nix-shell] steam-run ./trilium.sh</code></pre></td></tr></tbody></table></figure>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<strong>Build deliveries locally</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

847
docs/VS22Hq5PBFNf.html Normal file
View File

@@ -0,0 +1,847 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Dependency Management</title>
</head>
<body data-note-id="VS22Hq5PBFNf" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="4yYHqKbLovVX.html"
class="type-text">Developer&#39;s Guide</a>
</nav>
<h1 id="title">Dependency Management</h1>
<nav id="childLinks" class="grid">
<ul>
<li>
<a href="QXCi6Y1SYulw.html"
class="type-text">Adding a new client library</a>
</li>
<li>
<a href="C09Dou56ffMe.html"
class="type-text">Having a simpler packaging system</a>
</li>
</ul>
</nav>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<strong>Dependency Management</strong>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

857
docs/VbDoDdiHEemi.html Normal file
View File

@@ -0,0 +1,857 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Note types</title>
</head>
<body data-note-id="VbDoDdiHEemi" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="B8hxg4e66cVL.html"
class="type-text">Development and architecture</a>
</nav>
<h1 id="title">Note types</h1>
<div id="content" class="type-text ck-content">
<p>The note type is defined by the <code>type</code> column in&nbsp;<a class="reference-link type-text" href="kAfgZERKtVhU.html">notes</a>.</p><p>Possible types:</p><figure class="table" style="width:100%;"><table class="ck-table-resized"><colgroup><col style="width:9.01%;"><col style="width:10.33%;"><col style="width:29.72%;"><col style="width:23.85%;"><col style="width:27.09%;"></colgroup><thead><tr><th>Note Type</th><th><code>type</code> value</th><th>Corresponding MIME type</th><th>Content of the note's blob</th><th>Relevant attributes</th></tr></thead><tbody><tr><th>Text</th><td><code>text</code></td><td>&nbsp;</td><td>The HTML of the note.</td><td>&nbsp;</td></tr><tr><th><a href="https://github.com/zadam/trilium/wiki/Relation-map">Relation Map&nbsp;</a></th><td><code>relationMap</code></td><td><code>application/json</code></td><td><p>A JSON describing the note:</p><pre><code class="language-text-plain">{
"notes": [
{
"noteId": "gFQDL11KEm9G",
"x": 142,
"y": 405
},
{
"noteId": "8GcjEKyrrCgl",
"x": 100.10406374385552,
"y": 757.0364424520196
}
],
"transform": {
"scale": 0.3,
"x": 480.29766098682165,
"y": 116.83892021963081
}
}</code></pre></td><td>None</td></tr><tr><th><a href="https://github.com/zadam/trilium/wiki/Scripts">Render Note</a></th><td><code>render</code></td><td><code>text/html</code> or blank.</td><td>An empty blob.</td><td><code>~renderNote</code> pointing to the HTML note to render.</td></tr><tr><th>Canvas</th><td><code>canvas</code></td><td><code>application/json</code></td><td><pre><code class="language-text-plain">{
"appState": {},
"elemenets": {},
"files": {},
"type": "excalidraw",
"version": 2
}</code></pre></td><td>None</td></tr><tr><th>Mermaid Diagram</th><td><code>mermaid</code></td><td><code>text/mermaid</code> or <code>text/plain</code></td><td>The plain text content of the Mermaid diagram.</td><td>None</td></tr><tr><th>Book</th><td><code>book</code></td><td><code>text/html</code> or blank.</td><td>An empty blob.</td><td><ul><li><code>#viewType</code> which can be either <code>grid</code> or <code>list</code>.</li><li><code>#expanded</code></li></ul><p>both options are shown to the user via the “Book Properties” ribbon widget.</p></td></tr><tr><th>Web View</th><td><code>webView</code></td><td>blank</td><td>An empty blob.</td><td><code>#webViewSrc</code> pointing to an URL to render.</td></tr><tr><th>Code</th><td><code>code</code></td><td>Depends on the language (e.g. <code>text/plain</code>, <code>text/x-markdown</code>, <code>text/x-c++src</code>).</td><td>The plain text content.</td><td>&nbsp;</td></tr></tbody></table></figure>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<strong>Note types</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

833
docs/Vy1PbjSkUast.html Normal file
View File

@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>branches</title>
</head>
<body data-note-id="Vy1PbjSkUast" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="zCDxk5VFdsqg.html"
class="type-text">Database</a>
</nav>
<h1 id="title">branches</h1>
<div id="content" class="type-text ck-content">
<figure class="table"><table><thead><tr><th>Column Name</th><th>Data Type</th><th>Nullity</th><th>Default value</th><th>Description</th></tr></thead><tbody><tr><th><code>branchId</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>The ID of the branch, in the form of <code>a_b</code> where <code>a</code> is the <code>parentNoteId</code> and <code>b</code> is the <code>noteId</code>.</td></tr><tr><th><code>noteId</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>The ID of the <a href="kAfgZERKtVhU.html" class="type-text">note</a>.</td></tr><tr><th><code>parentNoteId</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>The ID of the parent <a href="kAfgZERKtVhU.html" class="type-text">note</a> the note belongs to.</td></tr><tr><th><code>notePosition</code></th><td>Integer</td><td>Non-null</td><td>&nbsp;</td><td>The position of the branch within the same level of hierarchy, the value is usually a multiple of 10.</td></tr><tr><th><code>prefix</code></th><td>Text</td><td>Nullable</td><td>&nbsp;</td><td>The <a href="1l1f6WZbaBEZ.html" class="type-text">branch prefix</a> if any, or <code>NULL</code> otherwise.</td></tr><tr><th><code>isExpanded</code></th><td>Integer</td><td>Non-null</td><td>0</td><td>Whether the branch should appear expanded (its children shown) to the user.</td></tr><tr><th><code>isDeleted</code></th><td>Integer</td><td>Non-null</td><td>0</td><td><code>1</code> if the entity is <a href="IuxV242YGaN5.html" class="type-text">deleted</a>, <code>0</code> otherwise.</td></tr><tr><th><code>deleteId</code></th><td>Text</td><td>Nullable</td><td><code>null</code></td><td>&nbsp;</td></tr><tr><th><code>utcDateModified</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>Modification date in UTC format (e.g. <code>2023-11-08 16:43:44.204Z</code>)</td></tr></tbody></table></figure>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<strong>branches</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

852
docs/WKn3hLGmKmiH.html Normal file
View File

@@ -0,0 +1,852 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>CKEditor</title>
</head>
<body data-note-id="WKn3hLGmKmiH" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="s5gsYTbPQr6c.html"
class="type-text">Updating dependencies</a>
</nav>
<h1 id="title">CKEditor</h1>
<nav id="childLinks" class="grid">
<ul>
<li>
<a href="MUGBo4n67kBI.html"
class="type-text">Environment setup</a>
</li>
<li>
<a href="icQBu8R1ij57.html"
class="type-text">Building &amp; updating</a>
</li>
<li>
<a href="zpR91YHYs6lL.html"
class="type-text">Differences from upstream</a>
</li>
</ul>
</nav>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<strong>CKEditor</strong>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

838
docs/X4N03xLYEWnN.html Normal file
View File

@@ -0,0 +1,838 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>bettersqlite binaries</title>
</head>
<body data-note-id="X4N03xLYEWnN" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="s5gsYTbPQr6c.html"
class="type-text">Updating dependencies</a>
</nav>
<h1 id="title">bettersqlite binaries</h1>
<div id="content" class="type-text ck-content">
<h3>The native node bindings</h3><p><code>better-sqlite3</code> has native Node bindings. With updates of <code>better-sqlite3</code>, but also of Electron and Node.js versions, these bindings need to be updated.</p><p>Note that Electron and Node.js versions need different versions of these bindings, since Electron usually packs a different version of Node.js.</p><p>During development, <code>npm install</code> tries to build or reuse prebuilt natives for the current Node.js version. This makes <code>npm run start-server</code> work out of the box. Trying to run <code>npm run start-electron</code> with these versions generally causes an error such as this:</p><pre><code class="language-text-plain">Uncaught Exception:
Error: The module '/Users/elian/Projects/Notes/node_modules/better-sqlite3/build/Release/better_sqlite3.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 108. This version of Node.js requires
NODE_MODULE_VERSION 116. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).</code></pre><h3>How the natives are handled</h3><p>Locally, this can be fixed by rebuilding the binaries, which is what <code>npm run switch-electron</code> does, which uses <code>electron-rebuild</code> under the hood.</p><p>When the deliveries are built (see&nbsp;<a class="reference-link type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>), it is not feasible to rebuild the dependencies since we are building for multiple platforms. Luckily, <code>better-sqlite3</code> provides these prebuilt binaries from us, available as artifacts on <a href="https://github.com/WiseLibs/better-sqlite3/releases/">their GitHub releases page</a>.&nbsp;</p><p>The build script manages the natives for <code>better-sqlite3</code> by keeping a copy of the <code>.node</code> file for every platform in <code>bin/better-sqlite3</code>.</p><p>Whenever the version of <code>better-sqlite3</code> changes, the <code>.node</code> files must also be renewed based on their releases page. To simplify this process, a script was created in <code>bin/better-sqlite3/update.sh</code>.</p><h2>How to update the natives</h2><p>The update script needs to know the version of Electron or Node.js for which to download the prebuilt binaries.</p><p>If you get errors during download, check on the <a href="https://github.com/WiseLibs/better-sqlite3/releases/">releases page</a> to ensure that this particular combination of Electron/Node actually exists for the given release.</p><p>To determine the <code>NODE_MODULE_VERSION</code> that is required, look for <code>This version of Node.js requires</code><br><code>NODE_MODULE_VERSION</code> in the error when starting Trilium via:</p><ul><li><code>npm run start-electron</code> (or run any Electron <a href="UTB518X6X9Uh.html" class="type-text">delivery</a>), case in which the <span style="color:#c0bfbc;"><code>ELECTRON_VERSION</code> variable needs to be changed.</span></li><li><span style="color:#c0bfbc;"><code>npm run start-server</code></span> (or run the Linux server delivery), case in which the <code>NODE_VERSION</code> variable needs to be changed.</li></ul><p>Check which files got changed after running the update script and for each platform that got changed, test it locally via&nbsp;<a class="reference-link type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>&nbsp;or via the CI.</p>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<strong>bettersqlite binaries</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

833
docs/XxqZW6JjkW2g.html Normal file
View File

@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Live reload</title>
</head>
<body data-note-id="XxqZW6JjkW2g" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="B8hxg4e66cVL.html"
class="type-text">Development and architecture</a>
</nav>
<h1 id="title">Live reload</h1>
<div id="content" class="type-text ck-content">
<h2>Server live reload</h2><p>If running the server using <code>npm run start-server</code>, the server will watch for changes in <code>src/public</code> and trigger a frontend reload if that occurs.</p><h2>Electron live reload</h2><p>Similarly, <code>npm run start-electron</code> supports live refresh &nbsp;as well.</p><p>However, a core difference is that Electron watches <code>dist/src/public</code> instead of <code>src/public</code> since Electron runs on its own copy of the files.</p><p>To ameliorate that, a separate watch script has been implemented which automatically copies files from <code>src/public</code> to <code>dist/src/public</code> whenever a change is detected. To run it:</p><pre><code class="language-text-plain">npm run </code></pre><h2>Technical details</h2><ul><li>This mechanism is managed at server level by watching for changes in<code>services/ws.ts</code>.</li></ul>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<strong>Live reload</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

833
docs/Z9N9OKBXXLFW.html Normal file
View File

@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Guidelines</title>
</head>
<body data-note-id="Z9N9OKBXXLFW" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="hkrBX8KE1HQl.html"
class="type-text">Internationalisation / Translations</a>
</nav>
<h1 id="title">Guidelines</h1>
<div id="content" class="type-text ck-content">
<ul><li>Use hierarchy whenever appropriate, try to group the messages by:<ul><li>Modals (e.g. <code>about.foo</code>, <code>jump_to_note.foo</code>)</li></ul></li><li>Don't duplicate messages that are very widely used.<ul><li>One such example is <code>aria-label="Close"</code> which should go to a single message such as <code>modal.close</code> instead of being duplicated in every modal.</li></ul></li><li>On the other hand, don't overly generalise messages. A <code>close</code> message that is used whenever the “Close” word is encountered is not a good approach since it can potentially cause issues due to lack of context.</li><li>Use <a href="https://www.i18next.com/translation-function/interpolation">variable interpolation</a> whenever appropriate.<ul><li>If you see multiple messages joined together only to apply add a variable such as a user-inputted value, try to join those messages together into a single message containing a variable.</li><li>So instead of <code>“Number of updates: “ + numUpdates + “.”</code> use <code>$(t("number_updates", { numUpdates }))</code> where the message translation would appear as <code>Number of updates: {{numUpdates}}.</code></li></ul></li></ul>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<strong>Guidelines</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

862
docs/ZlxZh8NH5frM.html Normal file
View File

@@ -0,0 +1,862 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Building and deployment</title>
</head>
<body data-note-id="ZlxZh8NH5frM" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="4yYHqKbLovVX.html"
class="type-text">Developer&#39;s Guide</a>
</nav>
<h1 id="title">Building and deployment</h1>
<nav id="childLinks" class="grid">
<ul>
<li>
<a href="PHqgH8FCfcod.html"
class="type-text">Documentation</a>
</li>
<li>
<a href="btM6L9JtG301.html"
class="type-text">Running a development build</a>
</li>
<li>
<a href="UTB518X6X9Uh.html"
class="type-text">Build deliveries locally</a>
</li>
<li>
<a href="biDJ9KgbWLgt.html"
class="type-text">Releasing a version</a>
</li>
<li>
<a href="rU1hxvgqlA9x.html"
class="type-text">CI</a>
</li>
</ul>
</nav>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<strong>Building and deployment</strong>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

View File

@@ -0,0 +1,23 @@
/**
* Fetch note with given ID from backend
*
* @param noteId of the given note to be fetched. If false, fetches current note.
*/
async function fetchNote(noteId = null) {
if (!noteId) {
noteId = document.body.getAttribute("data-note-id");
}
const resp = await fetch(`api/notes/${noteId}`);
return await resp.json();
}
document.addEventListener('DOMContentLoaded', () => {
const toggleMenuButton = document.getElementById('toggleMenuButton');
const layout = document.getElementById('layout');
if (toggleMenuButton && layout) {
toggleMenuButton.addEventListener('click', () => layout.classList.toggle('showMenu'));
}
}, false);

View File

@@ -0,0 +1,551 @@
/* !!!!!! TRILIUM CUSTOM CHANGES !!!!!! */
.printed-content .ck-widget__selection-handle, .printed-content .ck-widget__type-around { /* gets rid of triangles: https://github.com/zadam/trilium/issues/1129 */
display: none;
}
/*
* CKEditor 5 (v41.0.0) content styles.
* Generated on Fri, 26 Jan 2024 10:23:49 GMT.
* For more information, check out https://ckeditor.com/docs/ckeditor5/latest/installation/advanced/content-styles.html
*/
:root {
--ck-color-image-caption-background: hsl(0, 0%, 97%);
--ck-color-image-caption-text: hsl(0, 0%, 20%);
--ck-color-mention-background: hsla(341, 100%, 30%, 0.1);
--ck-color-mention-text: hsl(341, 100%, 30%);
--ck-color-selector-caption-background: hsl(0, 0%, 97%);
--ck-color-selector-caption-text: hsl(0, 0%, 20%);
--ck-highlight-marker-blue: hsl(201, 97%, 72%);
--ck-highlight-marker-green: hsl(120, 93%, 68%);
--ck-highlight-marker-pink: hsl(345, 96%, 73%);
--ck-highlight-marker-yellow: hsl(60, 97%, 73%);
--ck-highlight-pen-green: hsl(112, 100%, 27%);
--ck-highlight-pen-red: hsl(0, 85%, 49%);
--ck-image-style-spacing: 1.5em;
--ck-inline-image-style-spacing: calc(var(--ck-image-style-spacing) / 2);
--ck-todo-list-checkmark-size: 16px;
}
/* @ckeditor/ckeditor5-table/theme/tablecolumnresize.css */
.ck-content .table .ck-table-resized {
table-layout: fixed;
}
/* @ckeditor/ckeditor5-table/theme/tablecolumnresize.css */
.ck-content .table table {
overflow: hidden;
}
/* @ckeditor/ckeditor5-table/theme/tablecolumnresize.css */
.ck-content .table td,
.ck-content .table th {
overflow-wrap: break-word;
position: relative;
}
/* @ckeditor/ckeditor5-table/theme/table.css */
.ck-content .table {
margin: 0.9em auto;
display: table;
}
/* @ckeditor/ckeditor5-table/theme/table.css */
.ck-content .table table {
border-collapse: collapse;
border-spacing: 0;
width: 100%;
height: 100%;
border: 1px double hsl(0, 0%, 70%);
}
/* @ckeditor/ckeditor5-table/theme/table.css */
.ck-content .table table td,
.ck-content .table table th {
min-width: 2em;
padding: .4em;
border: 1px solid hsl(0, 0%, 75%);
}
/* @ckeditor/ckeditor5-table/theme/table.css */
.ck-content .table table th {
font-weight: bold;
background: hsla(0, 0%, 0%, 5%);
}
/* @ckeditor/ckeditor5-table/theme/table.css */
.ck-content[dir="rtl"] .table th {
text-align: right;
}
/* @ckeditor/ckeditor5-table/theme/table.css */
.ck-content[dir="ltr"] .table th {
text-align: left;
}
/* @ckeditor/ckeditor5-table/theme/tablecaption.css */
.ck-content .table > figcaption {
display: table-caption;
caption-side: top;
word-break: break-word;
text-align: center;
color: var(--ck-color-selector-caption-text);
background-color: var(--ck-color-selector-caption-background);
padding: .6em;
font-size: .75em;
outline-offset: -1px;
}
/* @ckeditor/ckeditor5-page-break/theme/pagebreak.css */
.ck-content .page-break {
position: relative;
clear: both;
padding: 5px 0;
display: flex;
align-items: center;
justify-content: center;
}
/* @ckeditor/ckeditor5-page-break/theme/pagebreak.css */
.ck-content .page-break::after {
content: '';
position: absolute;
border-bottom: 2px dashed hsl(0, 0%, 77%);
width: 100%;
}
/* @ckeditor/ckeditor5-page-break/theme/pagebreak.css */
.ck-content .page-break__label {
position: relative;
z-index: 1;
padding: .3em .6em;
display: block;
text-transform: uppercase;
border: 1px solid hsl(0, 0%, 77%);
border-radius: 2px;
font-family: Helvetica, Arial, Tahoma, Verdana, Sans-Serif;
font-size: 0.75em;
font-weight: bold;
color: hsl(0, 0%, 20%);
background: hsl(0, 0%, 100%);
box-shadow: 2px 2px 1px hsla(0, 0%, 0%, 0.15);
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
/* @ckeditor/ckeditor5-media-embed/theme/mediaembed.css */
.ck-content .media {
clear: both;
margin: 0.9em 0;
display: block;
min-width: 15em;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-content .todo-list {
list-style: none;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-content .todo-list li {
position: relative;
margin-bottom: 5px;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-content .todo-list li .todo-list {
margin-top: 5px;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-content .todo-list .todo-list__label > input {
-webkit-appearance: none;
display: inline-block;
position: relative;
width: var(--ck-todo-list-checkmark-size);
height: var(--ck-todo-list-checkmark-size);
vertical-align: middle;
border: 0;
left: -25px;
margin-right: -15px;
right: 0;
margin-left: 0;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-content[dir=rtl] .todo-list .todo-list__label > input {
left: 0;
margin-right: 0;
right: -25px;
margin-left: -15px;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-content .todo-list .todo-list__label > input::before {
display: block;
position: absolute;
box-sizing: border-box;
content: '';
width: 100%;
height: 100%;
border: 1px solid hsl(0, 0%, 20%);
border-radius: 2px;
transition: 250ms ease-in-out box-shadow;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-content .todo-list .todo-list__label > input::after {
display: block;
position: absolute;
box-sizing: content-box;
pointer-events: none;
content: '';
left: calc( var(--ck-todo-list-checkmark-size) / 3 );
top: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
width: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
height: calc( var(--ck-todo-list-checkmark-size) / 2.6 );
border-style: solid;
border-color: transparent;
border-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0;
transform: rotate(45deg);
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-content .todo-list .todo-list__label > input[checked]::before {
background: hsl(126, 64%, 41%);
border-color: hsl(126, 64%, 41%);
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-content .todo-list .todo-list__label > input[checked]::after {
border-color: hsl(0, 0%, 100%);
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-content .todo-list .todo-list__label .todo-list__label__description {
vertical-align: middle;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox] {
position: absolute;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-editor__editable.ck-content .todo-list .todo-list__label > input,
.ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input {
cursor: pointer;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-editor__editable.ck-content .todo-list .todo-list__label > input:hover::before, .ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input:hover::before {
box-shadow: 0 0 0 5px hsla(0, 0%, 0%, 0.1);
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input {
-webkit-appearance: none;
display: inline-block;
position: relative;
width: var(--ck-todo-list-checkmark-size);
height: var(--ck-todo-list-checkmark-size);
vertical-align: middle;
border: 0;
left: -25px;
margin-right: -15px;
right: 0;
margin-left: 0;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-editor__editable.ck-content[dir=rtl] .todo-list .todo-list__label > span[contenteditable=false] > input {
left: 0;
margin-right: 0;
right: -25px;
margin-left: -15px;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input::before {
display: block;
position: absolute;
box-sizing: border-box;
content: '';
width: 100%;
height: 100%;
border: 1px solid hsl(0, 0%, 20%);
border-radius: 2px;
transition: 250ms ease-in-out box-shadow;
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input::after {
display: block;
position: absolute;
box-sizing: content-box;
pointer-events: none;
content: '';
left: calc( var(--ck-todo-list-checkmark-size) / 3 );
top: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
width: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
height: calc( var(--ck-todo-list-checkmark-size) / 2.6 );
border-style: solid;
border-color: transparent;
border-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0;
transform: rotate(45deg);
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input[checked]::before {
background: hsl(126, 64%, 41%);
border-color: hsl(126, 64%, 41%);
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input[checked]::after {
border-color: hsl(0, 0%, 100%);
}
/* @ckeditor/ckeditor5-list/theme/todolist.css */
.ck-editor__editable.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox] {
position: absolute;
}
/* @ckeditor/ckeditor5-list/theme/list.css */
.ck-content ol {
list-style-type: decimal;
}
/* @ckeditor/ckeditor5-list/theme/list.css */
.ck-content ol ol {
list-style-type: lower-latin;
}
/* @ckeditor/ckeditor5-list/theme/list.css */
.ck-content ol ol ol {
list-style-type: lower-roman;
}
/* @ckeditor/ckeditor5-list/theme/list.css */
.ck-content ol ol ol ol {
list-style-type: upper-latin;
}
/* @ckeditor/ckeditor5-list/theme/list.css */
.ck-content ol ol ol ol ol {
list-style-type: upper-roman;
}
/* @ckeditor/ckeditor5-list/theme/list.css */
.ck-content ul {
list-style-type: disc;
}
/* @ckeditor/ckeditor5-list/theme/list.css */
.ck-content ul ul {
list-style-type: circle;
}
/* @ckeditor/ckeditor5-list/theme/list.css */
.ck-content ul ul ul {
list-style-type: square;
}
/* @ckeditor/ckeditor5-list/theme/list.css */
.ck-content ul ul ul ul {
list-style-type: square;
}
/* @ckeditor/ckeditor5-image/theme/image.css */
.ck-content .image {
display: table;
clear: both;
text-align: center;
margin: 0.9em auto;
min-width: 50px;
}
/* @ckeditor/ckeditor5-image/theme/image.css */
.ck-content .image img {
display: block;
margin: 0 auto;
max-width: 100%;
min-width: 100%;
height: auto;
}
/* @ckeditor/ckeditor5-image/theme/image.css */
.ck-content .image-inline {
/*
* Normally, the .image-inline would have "display: inline-block" and "img { width: 100% }" (to follow the wrapper while resizing).;
* Unfortunately, together with "srcset", it gets automatically stretched up to the width of the editing root.
* This strange behavior does not happen with inline-flex.
*/
display: inline-flex;
max-width: 100%;
align-items: flex-start;
}
/* @ckeditor/ckeditor5-image/theme/image.css */
.ck-content .image-inline picture {
display: flex;
}
/* @ckeditor/ckeditor5-image/theme/image.css */
.ck-content .image-inline picture,
.ck-content .image-inline img {
flex-grow: 1;
flex-shrink: 1;
max-width: 100%;
}
/* @ckeditor/ckeditor5-image/theme/imageresize.css */
.ck-content img.image_resized {
height: auto;
}
/* @ckeditor/ckeditor5-image/theme/imageresize.css */
.ck-content .image.image_resized {
max-width: 100%;
display: block;
box-sizing: border-box;
}
/* @ckeditor/ckeditor5-image/theme/imageresize.css */
.ck-content .image.image_resized img {
width: 100%;
}
/* @ckeditor/ckeditor5-image/theme/imageresize.css */
.ck-content .image.image_resized > figcaption {
display: block;
}
/* @ckeditor/ckeditor5-image/theme/imagecaption.css */
.ck-content .image > figcaption {
display: table-caption;
caption-side: bottom;
word-break: break-word;
color: var(--ck-color-image-caption-text);
background-color: var(--ck-color-image-caption-background);
padding: .6em;
font-size: .75em;
outline-offset: -1px;
}
/* @ckeditor/ckeditor5-image/theme/imagestyle.css */
.ck-content .image-style-block-align-left,
.ck-content .image-style-block-align-right {
max-width: calc(100% - var(--ck-image-style-spacing));
}
/* @ckeditor/ckeditor5-image/theme/imagestyle.css */
.ck-content .image-style-align-left,
.ck-content .image-style-align-right {
clear: none;
}
/* @ckeditor/ckeditor5-image/theme/imagestyle.css */
.ck-content .image-style-side {
float: right;
margin-left: var(--ck-image-style-spacing);
max-width: 50%;
}
/* @ckeditor/ckeditor5-image/theme/imagestyle.css */
.ck-content .image-style-align-left {
float: left;
margin-right: var(--ck-image-style-spacing);
}
/* @ckeditor/ckeditor5-image/theme/imagestyle.css */
.ck-content .image-style-align-center {
margin-left: auto;
margin-right: auto;
}
/* @ckeditor/ckeditor5-image/theme/imagestyle.css */
.ck-content .image-style-align-right {
float: right;
margin-left: var(--ck-image-style-spacing);
}
/* @ckeditor/ckeditor5-image/theme/imagestyle.css */
.ck-content .image-style-block-align-right {
margin-right: 0;
margin-left: auto;
}
/* @ckeditor/ckeditor5-image/theme/imagestyle.css */
.ck-content .image-style-block-align-left {
margin-left: 0;
margin-right: auto;
}
/* @ckeditor/ckeditor5-image/theme/imagestyle.css */
.ck-content p + .image-style-align-left,
.ck-content p + .image-style-align-right,
.ck-content p + .image-style-side {
margin-top: 0;
}
/* @ckeditor/ckeditor5-image/theme/imagestyle.css */
.ck-content .image-inline.image-style-align-left,
.ck-content .image-inline.image-style-align-right {
margin-top: var(--ck-inline-image-style-spacing);
margin-bottom: var(--ck-inline-image-style-spacing);
}
/* @ckeditor/ckeditor5-image/theme/imagestyle.css */
.ck-content .image-inline.image-style-align-left {
margin-right: var(--ck-inline-image-style-spacing);
}
/* @ckeditor/ckeditor5-image/theme/imagestyle.css */
.ck-content .image-inline.image-style-align-right {
margin-left: var(--ck-inline-image-style-spacing);
}
/* @ckeditor/ckeditor5-highlight/theme/highlight.css */
.ck-content .marker-yellow {
background-color: var(--ck-highlight-marker-yellow);
}
/* @ckeditor/ckeditor5-highlight/theme/highlight.css */
.ck-content .marker-green {
background-color: var(--ck-highlight-marker-green);
}
/* @ckeditor/ckeditor5-highlight/theme/highlight.css */
.ck-content .marker-pink {
background-color: var(--ck-highlight-marker-pink);
}
/* @ckeditor/ckeditor5-highlight/theme/highlight.css */
.ck-content .marker-blue {
background-color: var(--ck-highlight-marker-blue);
}
/* @ckeditor/ckeditor5-highlight/theme/highlight.css */
.ck-content .pen-red {
color: var(--ck-highlight-pen-red);
background-color: transparent;
}
/* @ckeditor/ckeditor5-highlight/theme/highlight.css */
.ck-content .pen-green {
color: var(--ck-highlight-pen-green);
background-color: transparent;
}
/* @ckeditor/ckeditor5-block-quote/theme/blockquote.css */
.ck-content blockquote {
overflow: hidden;
padding-right: 1.5em;
padding-left: 1.5em;
margin-left: 0;
margin-right: 0;
font-style: italic;
border-left: solid 5px hsl(0, 0%, 80%);
}
/* @ckeditor/ckeditor5-block-quote/theme/blockquote.css */
.ck-content[dir="rtl"] blockquote {
border-left: 0;
border-right: solid 5px hsl(0, 0%, 80%);
}
/* @ckeditor/ckeditor5-basic-styles/theme/code.css */
.ck-content code {
background-color: hsla(0, 0%, 78%, 0.3);
padding: .15em;
border-radius: 2px;
}
/* @ckeditor/ckeditor5-font/theme/fontsize.css */
.ck-content .text-tiny {
font-size: .7em;
}
/* @ckeditor/ckeditor5-font/theme/fontsize.css */
.ck-content .text-small {
font-size: .85em;
}
/* @ckeditor/ckeditor5-font/theme/fontsize.css */
.ck-content .text-big {
font-size: 1.4em;
}
/* @ckeditor/ckeditor5-font/theme/fontsize.css */
.ck-content .text-huge {
font-size: 1.8em;
}
/* @ckeditor/ckeditor5-mention/theme/mention.css */
.ck-content .mention {
background: var(--ck-color-mention-background);
color: var(--ck-color-mention-text);
}
/* @ckeditor/ckeditor5-horizontal-line/theme/horizontalline.css */
.ck-content hr {
margin: 15px 0;
height: 4px;
background: hsl(0, 0%, 87%);
border: 0;
}
/* @ckeditor/ckeditor5-code-block/theme/codeblock.css */
.ck-content pre {
padding: 1em;
color: hsl(0, 0%, 20.8%);
background: hsla(0, 0%, 78%, 0.3);
border: 1px solid hsl(0, 0%, 77%);
border-radius: 2px;
text-align: left;
direction: ltr;
tab-size: 4;
white-space: pre-wrap;
font-style: normal;
min-width: 200px;
}
/* @ckeditor/ckeditor5-code-block/theme/codeblock.css */
.ck-content pre code {
background: unset;
padding: 0;
border-radius: 0;
}
@media print {
/* @ckeditor/ckeditor5-page-break/theme/pagebreak.css */
.ck-content .page-break {
padding: 0;
}
/* @ckeditor/ckeditor5-page-break/theme/pagebreak.css */
.ck-content .page-break::after {
display: none;
}
}

View File

@@ -0,0 +1,2 @@
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}
/*# sourceMappingURL=normalize.min.css.map */

View File

@@ -0,0 +1,165 @@
body {
font-family: 'Lucida Grande', 'Lucida Sans Unicode', arial, sans-serif;
line-height: 1.5;
}
#layout {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: row-reverse;
}
#menu {
padding: 25px;
flex-basis: 0;
flex-grow: 1;
overflow: auto;
}
#menu p {
margin: 0;
}
#menu > p {
font-weight: bold;
font-size: 110%;
}
#menu ul {
padding-left: 20px;
}
#main {
flex-basis: 0;
flex-grow: 3;
overflow: auto;
padding: 10px 20px 20px 20px;
}
#parentLink {
float: right;
margin-top: 20px;
}
#title {
margin: 0;
padding-top: 10px;
}
img {
max-width: 100%;
}
pre {
white-space: pre-wrap;
word-wrap: anywhere;
}
iframe.pdf-view {
width: 100%;
height: 800px;
}
#toggleMenuButton {
display: none;
position: fixed;
top: 8px;
left: 5px;
width: 1.4em;
border-radius: 5px;
border: 1px solid #aaa;
font-size: 2rem;
z-index: 10;
height: auto;
color: black;
cursor: pointer;
}
#childLinks.grid ul {
list-style-type: none;
display: flex;
flex-wrap: wrap;
padding: 0;
}
#childLinks.grid ul li {
width: 180px;
height: 140px;
padding: 10px;
}
#childLinks.grid ul li a {
display: flex;
flex-direction: column;
height: 100%;
width: 100%;
border: 1px solid #ddd;
border-radius: 5px;
justify-content: center;
align-content: center;
text-align: center;
font-size: large;
}
#childLinks.grid ul li a:hover {
background: #eee;
}
#childLinks.list ul {
list-style-type: none;
display: inline-flex;
flex-wrap: wrap;
padding: 0;
margin-top: 5px;
}
#childLinks.list ul li {
margin-right: 20px;
}
#noteClippedFrom {
padding: 10px 0 10px 0;
margin: 20px 0 20px 0;
color: #666;
border: 1px solid #ddd;
border-left: 0;
border-right: 0;
}
#toggleMenuButton::after {
position: relative;
top: -2px;
left: 1px;
}
@media (max-width: 48em) {
#layout.showMenu #menu {
display: block;
margin-top: 40px;
}
#toggleMenuButton {
display: block;
}
#layout.showMenu #main {
display: none;
}
#title {
padding-left: 60px;
}
#layout.showMenu #toggleMenuButton::after {
content: "«";
}
#toggleMenuButton::after {
content: "»";
}
#menu {
display: none;
}
}

833
docs/biDJ9KgbWLgt.html Normal file
View File

@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Releasing a version</title>
</head>
<body data-note-id="biDJ9KgbWLgt" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="ZlxZh8NH5frM.html"
class="type-text">Building and deployment</a>
</nav>
<h1 id="title">Releasing a version</h1>
<div id="content" class="type-text ck-content">
<p>On NixOS:</p><pre><code class="language-text-plain">nix-shell -p dpkg fakeroot jq nodejs_20</code></pre><p>Then simply run from project root:</p><pre><code class="language-text-plain">./bin/release.sh 1.2.3</code></pre><p>where <code>1.2.3</code> is the desired release version.</p><p>If a version ends with <code>-beta</code>, it will automatically be marked as pre-release in GitHub.</p><p>This will automatically generate a release in GitHub if everything goes according to plan.</p><p>Note that the Windows installer is not automatically uploaded yet, it has to be taken from the <a href="BhE2WFknKKHG.html" class="type-text">main workflow of the CI from the <code>develop</code> branch</a>.</p><p>Make sure to check test the artifacts of the release.</p>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<strong>Releasing a version</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

833
docs/btM6L9JtG301.html Normal file
View File

@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Running a development build</title>
</head>
<body data-note-id="btM6L9JtG301" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="ZlxZh8NH5frM.html"
class="type-text">Building and deployment</a>
</nav>
<h1 id="title">Running a development build</h1>
<div id="content" class="type-text ck-content">
<h3>Run server</h3><p>Run with default settings:</p><pre><code class="language-text-plain">npm run start-server</code></pre><p>Run with custom port:</p><pre><code class="language-text-plain">TRILIUM_PORT=8082 npm run start-server</code></pre><h3>Run Electron</h3><p>Rebuild <code>better-sqlite3</code> dependency:</p><pre><code class="language-text-plain">npm run switch-electron</code></pre><p>Then run Electron:</p><pre><code class="language-text-plain">npm run start-electron</code></pre><p>To run Electron using the same data directory as the production version:</p><pre><code class="language-text-plain">npm run start-electron-no-dir</code></pre><p>When done, switch back the <code>better-sqlite3</code> dependency:</p><pre><code class="language-text-plain">npm run switch-server</code></pre>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<strong>Running a development build</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

833
docs/bzQfhyzDo3Xz.html Normal file
View File

@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>recent_notes</title>
</head>
<body data-note-id="bzQfhyzDo3Xz" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="zCDxk5VFdsqg.html"
class="type-text">Database</a>
</nav>
<h1 id="title">recent_notes</h1>
<div id="content" class="type-text ck-content">
<figure class="table"><table><thead><tr><th>Column Name</th><th>Data Type</th><th>Nullity</th><th>Default value</th><th>Description</th></tr></thead><tbody><tr><th><code>noteId</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>Unique ID of the note (e.g. <code>yRRTLlqTbGoZ</code>).</td></tr><tr><th><code>notePath</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>The path (IDs) to the <a href="kAfgZERKtVhU.html" class="type-text">note</a> from root to the note itself, separated by slashes.</td></tr><tr><th><code>utcDateCreated</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>Creation date in UTC format (e.g. <code>2023-11-08 16:43:44.204Z</code>)</td></tr></tbody></table></figure>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<strong>recent_notes</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

831
docs/cemIoFLfEGPO.html Normal file
View File

@@ -0,0 +1,831 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Backlinks</title>
</head>
<body data-note-id="cemIoFLfEGPO" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="B8hxg4e66cVL.html"
class="type-text">Development and architecture</a>
</nav>
<h1 id="title">Backlinks</h1>
<p>This note has no content.</p>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<strong>Backlinks</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

833
docs/d3dnvVOhur16.html Normal file
View File

@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Content hashing</title>
</head>
<body data-note-id="d3dnvVOhur16" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="U5RtMeGPeZ29.html"
class="type-text">Synchronisation</a>
</nav>
<h1 id="title">Content hashing</h1>
<div id="content" class="type-text ck-content">
<p>Entity hashing is done in <code>content_hash#getEntityHashes</code>.</p><ul><li>It works by looking at the <code>entity_changes</code> table and going through each of the entity names/types:<ul><li><code>blobs</code></li><li><code>attributes</code></li><li><code>revisions</code></li><li><code>attachments</code></li><li><code>notes</code></li><li><code>branches</code></li><li><code>etapi_tokens</code></li><li><code>options</code></li></ul></li><li>For some reason <code>note_reordering</code> entities are ignored specifically.</li><li>All the rows in <code>entity_changes</code> are then ordered alphabetically, based on their <code>entityId</code>.</li><li>Every entity row is then grouped by <code>entityName</code> and then by sector. The sector is defined as the first character of the <code>id</code>.</li><li>The hash is altered to add the <code>isErased</code> value as well since the hash of deleted entries is not updated.</li><li>For each sector, the hash is calculated using <code>utils.hash</code>, using SHA1 encoded as Base64.</li></ul>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<strong>Content hashing</strong>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

BIN
docs/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

860
docs/hkrBX8KE1HQl.html Normal file
View File

@@ -0,0 +1,860 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Internationalisation / Translations</title>
</head>
<body data-note-id="hkrBX8KE1HQl" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="B8hxg4e66cVL.html"
class="type-text">Development and architecture</a>
</nav>
<h1 id="title">Internationalisation / Translations</h1>
<div id="content" class="type-text ck-content">
<p>During the initial development of Trilium Notes, internationalisation was not considered as it was meant to be an English-only product.</p><p>As the application and the user base grows, it makes sense to be able to reach out as many people as possible by providing translations in their native language.</p><p>The library used is <a href="https://www.i18next.com/">i18next</a>.</p><h2>What has been implemented so far</h2><ul class="todo-list"><li><label class="todo-list__label"><input type="checkbox" checked="checked" disabled="disabled"><span class="todo-list__label__description">Client component-level translations: <a href="https://github.com/TriliumNext/Notes/pull/248/files">#248</a></span></label></li><li><label class="todo-list__label"><input type="checkbox" disabled="disabled"><span class="todo-list__label__description">Client template-level translations</span></label></li><li><label class="todo-list__label"><input type="checkbox" disabled="disabled"><span class="todo-list__label__description">Server-side translations</span></label></li><li><label class="todo-list__label"><input type="checkbox" disabled="disabled"><span class="todo-list__label__description">Electron translations</span></label></li><li><label class="todo-list__label"><input type="checkbox" disabled="disabled"><span class="todo-list__label__description">Allowing the user to switch the language via options</span></label></li><li><label class="todo-list__label"><input type="checkbox" disabled="disabled"><span class="todo-list__label__description">Integrate with a translation service</span></label></li></ul><h2>Where are the translations?</h2><p>The translations are formatted as JSON files and they are located in <code>src/public/translations</code>. For every supported locale, there is a subdirectory in which there is a <code>translation.json</code> file (e.g. <code>src/public/translations/en/translation.json</code>).</p><h3>Message keys</h3><p>One important aspect is the fact that we are using a key-based approach. This means that each message is identified by an ID rather than a natural-language message (such as the default approach in gettext).</p><p>The key-based approach allows a hierarchical structure. For example, a key of <code>about.title</code> would be added in <code>translation.json</code> as follows:</p><pre><code class="language-application-json">{
"about": {
"title": "About TriliumNext Notes"
}
} </code></pre><p>Follow the&nbsp;<a class="reference-link type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>&nbsp;when creating a new message.</p><h3>Adding a new locale</h3><p>To add a new locale, go to <code>src/public/translations</code> with your favorite text editor and copy the <code>en</code> directory.</p><p>Rename the copy to the ISO code (e.g. <code>fr</code>, <code>ro</code>) of the language being translated.</p><p>Translations with a country-language combination, using their corresponding ISO code (e.g. <code>fr_FR</code>, <code>fr_BE</code>), has not been tested yet.</p><h3>Changing the language</h3><p>Since the internationalisation process is in its early stages, there is no user-facing way to switch the language.</p><p>To change the language manually, edit <code>src/public/app/services/i18n.js</code> and look for the line containing <code>lng: "en"</code>. Replace <code>en</code> with the desired language code (from the ones available in <code>src/public/translations</code>).</p><h2>Client-side translations</h2><h3>Component-level translations</h3><p>Most of the client translations are present in the various widgets and layouts.</p><p>Translation support has to be added manually for every file.</p><p>The first step is to add the translation import with a relative import. For example, if we are in the <code>src/public/app/widgets/dialogs</code> directory, the import would look as follows:</p><pre><code class="language-application-javascript-env-frontend">import { t } from "../../services/i18n.js";</code></pre><p>Afterwards, simply replace the hard-coded message with:</p><pre><code class="language-application-javascript-env-frontend">${t("msgid")}</code></pre><p>where <code>msgid</code> is the key of the message being translated.</p><h3>Variables</h3><p>In the translation, enclose the variables with <code>{{</code> and <code>}}</code>:</p><pre><code class="language-text-plain">{
"key": "{{what}} is {{how}}"
}</code></pre><p>Then pass the arguments when reading the translation:</p><pre><code class="language-text-plain">t('key', { what: 'i18next', how: 'great' })</code></pre><h3>Template-level translations</h3><p>Templates are <code>.ejs</code> files present in <code>src/views</code>, these are used to prepare the root layout for desktop, mobile applications as well as setup (onboarding) and the shared notes view.</p><p>Due to using a different approach, it is not possible yet to translate those files.</p><h2>Server-side translations</h2><p>Currently the server-side messages are not translatable. They will be added as a separate step.</p>
</div>
<nav id="childLinks" class="list">
<hr>
<span>Child notes: </span>
<ul>
<li>
<a href="Z9N9OKBXXLFW.html"
class="type-text">Guidelines</a>
</li>
<li>
<a href="KRC2O84LekPz.html"
class="type-text">i18n-ally</a>
</li>
</ul>
</nav>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<strong>Internationalisation / Translations</strong>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

834
docs/icQBu8R1ij57.html Normal file
View File

@@ -0,0 +1,834 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Building &amp; updating</title>
</head>
<body data-note-id="icQBu8R1ij57" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="WKn3hLGmKmiH.html"
class="type-text">CKEditor</a>
</nav>
<h1 id="title">Building &amp; updating</h1>
<div id="content" class="type-text ck-content">
<pre><code class="language-text-plain">cd packages/ckeditor5-build-balloon-block
yarn build</code></pre><p>This will trigger a change in the <code>build</code> directory.</p><p>Then go to <code>packages/ckeditor5-build-balloon-block/build</code> and copy <code>ckeditor.js</code> and <code>ckeditor.js.map</code> to <code>libraries/ckeditor</code> in the <code>Notes</code> repository.</p><p>Commit the change on both sides.</p><p>Then run the server and check type <code>CKEDITOR_VERSION</code> in the browser/Electron console to ensure that the correct version is used. Do a basic sanity check as well.</p>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<strong>Building &amp; updating</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

833
docs/inGKXCChkVYX.html Normal file
View File

@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>entity_changes</title>
</head>
<body data-note-id="inGKXCChkVYX" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="zCDxk5VFdsqg.html"
class="type-text">Database</a>
</nav>
<h1 id="title">entity_changes</h1>
<div id="content" class="type-text ck-content">
<figure class="table"><table><thead><tr><th>Column Name</th><th>Data Type</th><th>Nullity</th><th>Default value</th><th>Description</th></tr></thead><tbody><tr><th><code>id</code></th><td>Integer</td><td>Nullable</td><td>&nbsp;</td><td>A sequential numeric index of the entity change.</td></tr><tr><th><code>entityName</code></th><td>Text</td><td>Nullable</td><td>&nbsp;</td><td>The type of entity being changed (<code>attributes</code>, <code>branches</code>, <code>note_reordering</code>, etc.)</td></tr><tr><th><code>entityId</code></th><td>Text</td><td>Nullable</td><td>&nbsp;</td><td>The ID of the entity being changed.</td></tr><tr><th><code>hash</code></th><td>Text</td><td>Nullable</td><td>&nbsp;</td><td>TODO: Describe how the hash is calculated</td></tr><tr><th><code>isErased</code></th><td>Integer</td><td>Nullable</td><td>&nbsp;</td><td>TODO: What does this do?</td></tr><tr><th><code>changeId</code></th><td>Text</td><td>Nullable</td><td>&nbsp;</td><td>TODO: What does this do?</td></tr><tr><th><code>componentId</code></th><td>Text</td><td>Nullable</td><td>&nbsp;</td><td>TODO: What does this do?</td></tr><tr><th><code>instanceId</code></th><td>Text</td><td>Nullable</td><td>&nbsp;</td><td>TODO: What does this do?</td></tr><tr><th><code>isSynced</code></th><td>Integer</td><td>Nullable</td><td>&nbsp;</td><td>TODO: What does this do?</td></tr><tr><th><code>utcDateChanged</code></th><td>Text</td><td>Nullable</td><td>&nbsp;</td><td>Date of the entity change in UTC format (e.g. <code>2023-11-08 16:43:44.204Z</code>)</td></tr></tbody></table></figure>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<strong>entity_changes</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

10
docs/index.html Normal file
View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="refresh" content="0; url=./4yYHqKbLovVX.html" />
</head>
<body>
</body>
</html>

833
docs/jvdjFBOCCrOa.html Normal file
View File

@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Testing compatibility</title>
</head>
<body data-note-id="jvdjFBOCCrOa" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="s5gsYTbPQr6c.html"
class="type-text">Updating dependencies</a>
</nav>
<h1 id="title">Testing compatibility</h1>
<div id="content" class="type-text ck-content">
<figure class="table"><table><tbody><tr><td><code>better-sqlite3</code> version</td><td>SQLite version</td><td>Compatibility</td></tr><tr><td>8.4.0</td><td>&lt;3.43.0</td><td>Compatible, same version.</td></tr><tr><td>8.6.0</td><td>3.43.0</td><td>&nbsp;</td></tr><tr><td>8.7.0</td><td>3.43.1</td><td>&nbsp;</td></tr><tr><td>9.0.0</td><td>3.43.2</td><td>&nbsp;</td></tr><tr><td>9.1.0 + 9.1.1</td><td>3.44.0</td><td>&nbsp;</td></tr><tr><td>9.2.0 + 9.2.1 + 9.2.2</td><td>3.44.2</td><td>&nbsp;</td></tr><tr><td>9.3.0</td><td>3.45.0</td><td>&nbsp;</td></tr><tr><td>9.4.0, 9.4.1, 9.4.2, 9.4.3, 9.4.4, 9.4.5</td><td>3.45.1</td><td>&nbsp;</td></tr><tr><td>9.5.0</td><td>3.45.2</td><td>&nbsp;</td></tr><tr><td>9.6.0 / 10.0.0</td><td>3.45.3</td><td>&nbsp;</td></tr><tr><td>10.1.0 / 11.0.0 / 11.1.1 / 11.1.2</td><td>3.46.0</td><td>&nbsp;</td></tr></tbody></table></figure>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<strong>Testing compatibility</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

833
docs/kAfgZERKtVhU.html Normal file
View File

@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>notes</title>
</head>
<body data-note-id="kAfgZERKtVhU" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="zCDxk5VFdsqg.html"
class="type-text">Database</a>
</nav>
<h1 id="title">notes</h1>
<div id="content" class="type-text ck-content">
<figure class="table"><table><thead><tr><th>Column Name</th><th>Data Type</th><th>Nullity</th><th>Default value</th><th>Description</th></tr></thead><tbody><tr><th><code>noteId</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>The unique ID of the note (e.g. <code>2LJrKqIhr0Pe</code>).</td></tr><tr><th><code>title</code></th><td>Text</td><td>Non-null</td><td><code>"note"</code></td><td>The title of the note, as defined by the user.</td></tr><tr><th><code>isProtected</code></th><td>Integer</td><td>Non-null</td><td>0</td><td><code>1</code> if the entity is <a href="KbwD5mDpD4CV.html" class="type-text">protected</a>, <code>0</code> otherwise.</td></tr><tr><th><code>type</code></th><td>Text</td><td>Non-null</td><td><code>"text"</code></td><td>The type of note (i.e. <code>text</code>, <code>file</code>, <code>code</code>, <code>relationMap</code>, <code>mermaid</code>, <code>canvas</code>).</td></tr><tr><th><code>mime</code></th><td>Text</td><td>Non-null</td><td><code>"text/html"</code></td><td>The MIME type of the note (e.g. <code>text/html</code>).. Note that it can be an empty string in some circumstances, but not null.</td></tr><tr><th><code>isDeleted</code></th><td>Integer</td><td>Nullable</td><td>0</td><td><code>1</code> if the entity is <a href="IuxV242YGaN5.html" class="type-text">deleted</a>, <code>0</code> otherwise.</td></tr><tr><th><code>deleteId</code></th><td>Text</td><td>Non-null</td><td><code>null</code></td><td>&nbsp;</td></tr><tr><th><code>dateCreated</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>Localized creation date (e.g. <code>2023-11-08 18:43:44.204+0200</code>)</td></tr><tr><th><code>dateModified</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>Localized modification date (e.g. <code>2023-11-08 18:43:44.204+0200</code>)</td></tr><tr><th><code>utcDateCreated</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>Creation date in UTC format (e.g. <code>2023-11-08 16:43:44.204Z</code>)</td></tr><tr><th><code>utcDateModified</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>Modification date in UTC format (e.g. <code>2023-11-08 16:43:44.204Z</code>)</td></tr><tr><th><code>blobId</code></th><td>Text</td><td>Nullable</td><td><code>null</code></td><td>The corresponding ID from&nbsp;<a class="reference-link type-text" href="6x42mhlfLo0o.html">blobs</a>. Although it can theoretically be <code>NULL</code>, haven't found any such note yet.</td></tr></tbody></table></figure>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<strong>notes</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

833
docs/mPGbEmYGitWe.html Normal file
View File

@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Build information</title>
</head>
<body data-note-id="mPGbEmYGitWe" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="B8hxg4e66cVL.html"
class="type-text">Development and architecture</a>
</nav>
<h1 id="title">Build information</h1>
<div id="content" class="type-text ck-content">
<ul><li>Provides context about when the build was made and the corresponding Git revision.</li><li>The information is displayed to the client when going in the about dialog.</li><li>The build information is hard-coded in <code>src/services/build.ts</code>. This file is generated automatically via <code>npm run update-build-info</code> which itself is run automatically whenever making a build in the CI, or a <a href="UTB518X6X9Uh.html" class="type-text">local delivery</a>.</li></ul>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<strong>Build information</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

842
docs/rU1hxvgqlA9x.html Normal file
View File

@@ -0,0 +1,842 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>CI</title>
</head>
<body data-note-id="rU1hxvgqlA9x" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="ZlxZh8NH5frM.html"
class="type-text">Building and deployment</a>
</nav>
<h1 id="title">CI</h1>
<nav id="childLinks" class="grid">
<ul>
<li>
<a href="BhE2WFknKKHG.html"
class="type-text">Main</a>
</li>
</ul>
</nav>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<strong>CI</strong>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

864
docs/s5gsYTbPQr6c.html Normal file
View File

@@ -0,0 +1,864 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Updating dependencies</title>
</head>
<body data-note-id="s5gsYTbPQr6c" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="xtBYDVZPb0gr.html"
class="type-text">Project maintenance</a>
</nav>
<h1 id="title">Updating dependencies</h1>
<div id="content" class="type-text ck-content">
<p>&nbsp;</p><figure class="table"><table><thead><tr><th>Dependency</th><th>Things to check for a basic sanity check</th></tr></thead><tbody><tr><td><code>better-sqlite3</code></td><td>See&nbsp;<a class="reference-link type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>.</td></tr><tr><td><code>jsdom</code></td><td><ul><li>Note map</li><li>Clipper</li><li>Note similarity</li></ul></td></tr><tr><td><code>async-mutex</code></td><td><ul><li>Sync</li></ul></td></tr><tr><td><code>axios</code></td><td><ul><li>Can't be directly tested, as it's exposed only via the backend script API.</li></ul></td></tr><tr><td><code>sax</code></td><td><ul><li>EverNote imports</li></ul></td></tr><tr><td><ul><li><code>ws</code></li><li><code>debounce</code></li></ul></td><td><ul><li>Check any action is reported from server to client (e.g. delete a note).</li></ul></td></tr><tr><td><code>ejs</code></td><td><ul><li>Onboarding / first setup</li></ul></td></tr><tr><td><code>dayjs</code></td><td><ul><li>Day notes</li></ul></td></tr><tr><td><code>semver</code></td><td><ul><li>Application should start.</li></ul></td></tr><tr><td><code>https-proxy-agent</code></td><td>???</td></tr><tr><td><code>sax</code></td><td><ul><li>EverNote import</li></ul></td></tr><tr><td><code>ini</code></td><td><ul><li>Affects config, generally if the application starts then it should be OK.</li></ul></td></tr></tbody></table></figure>
</div>
<nav id="childLinks" class="list">
<hr>
<span>Child notes: </span>
<ul>
<li>
<a href="X4N03xLYEWnN.html"
class="type-text">bettersqlite binaries</a>
</li>
<li>
<a href="GMta9hBHsXHQ.html"
class="type-text">Node.js, Electron and `better-sqlite3`</a>
</li>
<li>
<a href="jvdjFBOCCrOa.html"
class="type-text">Testing compatibility</a>
</li>
<li>
<a href="WKn3hLGmKmiH.html"
class="type-text">CKEditor</a>
</li>
</ul>
</nav>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<strong>Updating dependencies</strong>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

833
docs/wCxCJB3hhojs.html Normal file
View File

@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>attachments</title>
</head>
<body data-note-id="wCxCJB3hhojs" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="zCDxk5VFdsqg.html"
class="type-text">Database</a>
</nav>
<h1 id="title">attachments</h1>
<div id="content" class="type-text ck-content">
<figure class="table" style="width:100%;"><table class="ck-table-resized"><colgroup><col style="width:21.13%;"><col style="width:8.03%;"><col style="width:7.85%;"><col style="width:9.86%;"><col style="width:53.13%;"></colgroup><thead><tr><th>Column Name</th><th>Data Type</th><th>Nullity</th><th>Default value</th><th>Description</th></tr></thead><tbody><tr><th><code>attachmentId</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>Unique ID (e.g. <code>qhC1vzU4nwSE</code>)</td></tr><tr><th><code>ownerId</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>The unique ID of a row in&nbsp;<a class="reference-link type-text" href="kAfgZERKtVhU.html">notes</a>.</td></tr><tr><th><code>role</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>The role of the attachment: <code>image</code> for images that are attached to a note.</td></tr><tr><th><code>mime</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>The MIME type of the attachment (e.g. <code>image/png</code>)</td></tr><tr><th><code>title</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>The title of the attachment.</td></tr><tr><th><code>isProtected</code></th><td>Integer</td><td>Non-null</td><td>0</td><td><code>1</code> if the entity is <a href="KbwD5mDpD4CV.html" class="type-text">protected</a>, <code>0</code> otherwise.</td></tr><tr><th><code>position</code></th><td>Integer</td><td>Non-null</td><td>0</td><td>Not sure where the position is relevant for attachments (saw it with values of 10 and 0).</td></tr><tr><th><code>blobId</code></th><td>Text</td><td>Nullable</td><td><code>null</code></td><td>The corresponding <code>blobId</code> from the&nbsp;<a class="reference-link type-text" href="6x42mhlfLo0o.html">blobs</a>&nbsp;table.</td></tr><tr><th><code>dateModified</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>Localized modification date (e.g. <code>2023-11-08 18:43:44.204+0200</code>)</td></tr><tr><th><code>utcDateModified</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>Modification date in UTC format (e.g. <code>2023-11-08 16:43:44.204Z</code>)</td></tr><tr><th><code>utcDateScheduledForErasure</code></th><td>Text</td><td>Nullable</td><td><code>null</code></td><td>&nbsp;</td></tr><tr><th><code>isDeleted</code></th><td>Integer</td><td>Non-null</td><td>&nbsp;</td><td><code>1</code> if the entity is <a href="IuxV242YGaN5.html" class="type-text">deleted</a>, <code>0</code> otherwise.</td></tr><tr><th><code>deleteId</code></th><td>Text</td><td>Nullable</td><td><code>null</code></td><td>&nbsp;</td></tr></tbody></table></figure>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<strong>attachments</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More