Compare commits

...

1378 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
Elian Doran
b811f3d399 release 0.90.0-beta 2024-07-14 22:32:17 +03:00
Elian Doran
bbbbc3b860 bin/build*: Adjust error tolerance 2024-07-14 21:48:15 +03:00
Elian Doran
c9f27547a2 bin/build*: Check if dpkg-deb tool is correct 2024-07-14 21:45:48 +03:00
Elian Doran
6bf063b92f bin/build*: Check that required binaries are present 2024-07-14 21:35:08 +03:00
Elian Doran
590442b0d5 client,server: Trilium Notes -> TriliumNext Notes (closes #195) 2024-07-14 21:20:42 +03:00
Elian Doran
4862b324a5 bin/release: Get rid of sponge 2024-07-14 21:13:06 +03:00
Elian Doran
f678c4337b bin/release: Fail if jq is missing 2024-07-14 21:12:51 +03:00
Elian Doran
686b9c840e release 0.9.0 2024-07-14 21:04:43 +03:00
Elian Doran
2e8b2d4b81 server: Fix empty note titles (closes #205) 2024-07-14 20:50:42 +03:00
Elian Doran
3d423d25f8 Merge pull request #208 from TriliumNext/bugfix/fix_importing_non_text_files
Unable to import a PDF file
2024-07-14 17:14:04 +03:00
Elian Doran
79123b0c63 server: Fix import of non-text files 2024-07-14 15:21:45 +03:00
Elian Doran
595402adea dev: Fix npm start-electron script 2024-07-14 13:03:06 +03:00
Elian Doran
f40257b591 Merge pull request #206 from TriliumNext/bugfix/image_upload_regression
server: Fix regression in uploading images
2024-07-14 11:07:34 +03:00
Elian Doran
b6ca2281f7 Merge pull request #199 from TriliumNext/feature/port_0.63.7
Port 0.63.7
2024-07-14 10:17:18 +03:00
Elian Doran
186650b1cf ci: Add workflow to build macOS ARM64 2024-07-14 10:12:12 +03:00
Elian Doran
1dad4bc80f Merge remote-tracking branch 'origin/develop' into feature/port_0.63.7 2024-07-14 09:58:37 +03:00
Elian Doran
d66a70f099 Merge pull request #201 from TriliumNext/feature/fix_build_scripts
Fix build scripts & add CI for running them
2024-07-14 09:58:00 +03:00
Elian Doran
0792714e45 server: Fix regression in uploading images
The attachment is first saved with no content while the image is being
asynchronously resized. On our side we had a guard condition fail if the
content was empty, whereas the original implementation was simply using
an empty string instead.
2024-07-14 09:52:01 +03:00
Elian Doran
6ecbf1c528 Merge pull request #198 from TriliumNext/bugfix/note_import_type
Fix import note type
2024-07-14 00:51:04 +03:00
Elian Doran
5460359753 Merge pull request #196 from TriliumNext/feature/fix_docker_build
Fix Docker build
2024-07-14 00:43:33 +03:00
Elian Doran
75ebe24abb ci: Remove temporary branch config 2024-07-14 00:43:04 +03:00
Elian Doran
3f5e5fd840 ci: Set up Wine 2024-07-14 00:30:49 +03:00
Elian Doran
998db5ce95 ci: Add build Windows 2024-07-14 00:14:30 +03:00
Elian Doran
7aed6d4ad4 ci: Add build Linux Server 2024-07-13 23:16:35 +03:00
Elian Doran
99ea741275 ci: Add build Linux 2024-07-13 22:52:28 +03:00
Elian Doran
e6ff99198f ci: Fix docker build after macOS integration 2024-07-13 22:10:57 +03:00
Elian Doran
7c43a49046 ci: Add workflow for building macOS x86_64 2024-07-13 21:39:22 +03:00
Elian Doran
5b30bae5b2 bin: Adapt copy-trilium to TypeScript changes 2024-07-13 21:11:03 +03:00
Elian Doran
947aaa6156 webpack: Switch to TypeScript-based config 2024-07-13 21:10:40 +03:00
Elian Doran
534fe87fb1 Merge pull request #200 from TriliumNext/feature/basic_ci
Basic CI pipeline
2024-07-13 20:21:23 +03:00
Elian Doran
1652a7a2ec ci: Remove test branch 2024-07-13 20:04:00 +03:00
Elian Doran
7184c648ab ci: Test Docker publishing 2024-07-13 19:39:56 +03:00
Elian Doran
be239d2230 ci: Set up node environment & cache 2024-07-13 19:11:25 +03:00
Elian Doran
439bf410ac ci: Use newer versions of actions 2024-07-13 19:05:39 +03:00
Elian Doran
5aadcb69f8 Merge branch 'feature/fix_docker_build' into feature/basic_ci 2024-07-13 19:02:57 +03:00
Elian Doran
543c29e539 server: Change build directory 2024-07-13 19:02:51 +03:00
Elian Doran
8bcff49198 ci: Install npm dependencies 2024-07-13 18:57:13 +03:00
Elian Doran
c0cc1e3b52 ci: Run tsc & create server-package.json 2024-07-13 18:56:18 +03:00
Elian Doran
19550eec6a ci: Set up Docker build in dev workflow 2024-07-13 18:51:46 +03:00
Elian Doran
45f2691053 ci: Disable original CI workflows 2024-07-13 18:47:53 +03:00
Elian Doran
ba2931b854 Update package.json 2024-07-13 18:41:36 +03:00
Elian Doran
d5c1bd1085 Merge remote-tracking branch 'upstream/master' into feature/port_0.63.7
; Conflicts:
;	package-lock.json
;	src/routes/api/files.ts
;	src/services/build.js
;	src/services/notes.ts
2024-07-13 18:36:04 +03:00
Elian Doran
606490a611 server: Remove log and fix whitespace 2024-07-13 16:56:13 +03:00
Elian Doran
d99cc11d8b server: Fix import of notes with type=file 2024-07-13 16:52:31 +03:00
Elian Doran
1b0690ddfc server: Fix note type import
A regression caused by the port to TypeScript caused all note types to
be treated as a "text" instead of other types such as canvas. The MIME
type, however, was unaffected.
2024-07-13 16:43:33 +03:00
Elian Doran
ef92d17272 Revert change to tsconfig.json 2024-07-13 14:02:19 +03:00
Elian Doran
7fd63e8064 docker: Remove unneeded build directory 2024-07-13 11:45:20 +03:00
Elian Doran
d18bfb9d69 docker: Fix build by generating artifacts 2024-07-13 11:40:52 +03:00
Elian Doran
60d134a89b Revert "docker: Fix webpack"
This reverts commit 0a7fcf399f.
2024-07-13 11:32:02 +03:00
Elian Doran
9b88228be9 docker: Cache system dependencies installation 2024-07-13 11:14:32 +03:00
Elian Doran
0a7fcf399f docker: Fix webpack 2024-07-13 11:06:45 +03:00
Elian Doran
408369fcac docker: Add build directory to gitignore 2024-07-13 10:54:37 +03:00
Elian Doran
c435b97e10 docker: Fix "Missing script: "rebuild"" 2024-07-13 10:54:29 +03:00
Elian Doran
e7c3dab56f Merge pull request #194 from TriliumNext/feature/disable_format_on_save
Disable format on save temporarily
2024-07-13 09:48:04 +03:00
Elian Doran
374b1f9bb2 Disable format on save for VS Code 2024-07-13 00:27:53 +03:00
MeIchthys
5f23a4e3c7 Fix TrilumRocks Link 2024-07-03 01:15:31 -04:00
meichthys
4e93209fbd - Update chat link to link to Matrix space instead of single room
- Emphasize Awesome Trilium repo
- Remove Ukraine images
- Add note about links still referring to original repo
- Emojify all headings
- Add "Why TriliumNext" section
2024-07-03 01:14:39 -04:00
meichthys
1cff016923 Revert "Update README.md (#171)"
This reverts commit a80a857e46.
2024-07-03 00:29:41 -04:00
MeIchthys
a80a857e46 Update README.md (#171)
* Emojify readme and remove original repo specific items (links, images, maintenance mode notice, etc)

* Update readme links to point to TriliumNext repo

* Add link to TriliumRocks
2024-07-02 08:08:44 -04:00
perfectra1n
47c5f60a85 Merge pull request #179 from TriliumNext/perfectra1n-patch-1
Add "unofficial" section, and add some fancier wording
2024-06-17 17:57:24 -07:00
perfectra1n
ec2e6f2507 Update README.md 2024-06-15 22:30:35 -07:00
perfectra1n
8eb1e803b5 Add "unofficial" section, and add some fancier wording around "discuss with us" 2024-06-15 22:28:30 -07: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
Elian Doran
44ad22ceea Merge pull request #167 from TriliumNext/feat/chatroom-links
Include links to chatrooms in readme
2024-06-03 18:55:16 +03:00
alexpietsch
40dfc46250 add links to readme 2024-05-31 19:37:09 +02:00
Alex
9775a8b7c5 feat: Add prettier config (#165)
* add prettier config

* format some files

* Revert "format some files"

This reverts commit 2c5681ba88c422a92737a9c109021aef8deff2f4.
2024-05-31 12:04:42 -04:00
zadam
82a437f2a8 remove unnecessary debounce which caused missed changes 2024-05-30 06:55:45 +02:00
zadam
a64a0e52ec Merge branch 'refs/heads/stable'
# Conflicts:
#	package-lock.json
2024-05-30 06:46:36 +02:00
zadam
88c4171031 lock file 2024-05-30 06:46:22 +02:00
zadam
b6c7e2e48f error handling 2024-05-30 06:25:03 +02:00
zadam
305d28b5b3 remove warning about the relation map - trilium is sunsetting anyway, there's no point now in deprecating this feature, fixes #4779 2024-05-30 06:24:50 +02:00
zadam
a88bf68eb6 verify that the uploaded modified file is temporary
(cherry picked from commit a2711cfb7b)
2024-05-30 06:10:30 +02:00
zadam
8ebebecd93 Merge pull request #4772 from gigamonster256/macos-arm64
Support compiling native MacOS arm64 (Apple Silicon) builds
2024-05-30 06:06:08 +02:00
Alex
b88f81b718 feat: add temp formatter settings 2024-05-21 20:31:22 +02:00
Caleb Norton
f0d30dbe49 Add macos arm64 to release script 2024-05-18 03:48:33 -05:00
Caleb Norton
d142d3261d support compiling native arm64 macos builds 2024-05-18 03:34:24 -05:00
zadam
25b49e1ca2 release 0.63.6 2024-05-18 06:17:21 +02:00
zadam
c7f19e04fa Merge remote-tracking branch 'origin/master' 2024-05-18 05:50:53 +02:00
zadam
a2711cfb7b verify that the uploaded modified file is temporary 2024-05-18 05:50:46 +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
Elian Doran
ade6d08ded Merge pull request #67 from TriliumNext/fix/EtapiError-prototype
fix: set prototype
2024-05-08 21:37:36 +03:00
Elian Doran
045f318612 Merge pull request #60 from TriliumNext/fix/start-electron
fix: start-electron script
2024-05-08 21:36:36 +03:00
Elian Doran
2d67abbc12 Merge branch 'zadam:master' into develop 2024-05-07 20:44:45 +03:00
Alex
5f539427a9 fix: set prototype 2024-05-05 12:40:00 +02:00
zadam
f984b361ee Merge pull request #4717 from MatMasIt/italian-translation
Italian translation of README
2024-05-05 05:13:26 +02:00
Alex
e7f11d6687 enable jasmine test runs 2024-05-03 21:18:20 +02:00
Alex
3e82d30a32 fix: skipLibCheck 2024-05-01 11:32:08 +02:00
alexpietsch
d2604e91d4 feat: add ts script for cross plattform use 2024-05-01 00:05:24 +02:00
Alex
e2b4eaf9cc fix: copy only necessary modules 2024-04-29 23:37:08 +02:00
Alex
0a69ed91b6 fix: add postinstall step 2024-04-29 14:58:16 +02:00
Alex
8c0ce174b5 fix: script permissions 2024-04-29 14:54:39 +02:00
alexpietsch
c8adf2a685 fix: restore start-electron script functionality 2024-04-29 00:36:27 +02:00
Elian Doran
a68b75f069 Merge pull request #48 from TriliumNext/feature/typescript_backend_11
Convert backend to TypeScript (89% -> 92%, final)
2024-04-20 09:37:19 +03:00
Elian Doran
2771bd4ece Merge pull request #47 from TriliumNext/feature/typescript_backend_10
Convert backend to TypeScript (84% -> 89%)
2024-04-20 09:36:08 +03:00
Elian Doran
19cf9df52c Merge pull request #45 from TriliumNext/feature/typescript_backend_9
Convert backend to TypeScript (81% -> 84%)
2024-04-20 09:35:18 +03:00
Elian Doran
15168fb213 server-ts: Use unknown for validators 2024-04-18 21:26:29 +03:00
Elian Doran
0d700d6951 server-ts: Address review 2024-04-17 23:00:02 +03:00
Elian Doran
67cb02ed92 server-ts: Address some more review comments 2024-04-17 22:54:05 +03:00
Elian Doran
1d1ccc8d63 server-ts: Fix regression 2024-04-17 22:49:41 +03:00
Elian Doran
262e4db0f2 server-ts: Remove unnecessary type comments 2024-04-17 22:35:38 +03:00
Elian Doran
c814187a25 server-ts: Address review 2024-04-17 22:24:27 +03:00
Elian Doran
138be84e45 server-ts: Address requested changes 2024-04-16 21:10:39 +03:00
Elian Doran
625d935f08 Merge pull request #44 from TriliumNext/feature/typescript_backend_8
Convert backend to TypeScript (80% -> 81%)
2024-04-16 21:01:20 +03:00
Elian Doran
98d12901a5 Merge pull request #43 from TriliumNext/feature/typescript_backend_7
Convert backend to TypeScript (71% -> 80%)
2024-04-15 21:51:00 +03:00
Elian Doran
1372cc1cb9 server-ts: Fix regression 2024-04-15 21:20:59 +03:00
Elian Doran
a072016fc5 Merge pull request #42 from TriliumNext/feature/typescript_backend_6
Convert backend to TypeScript (67% -> 71%)
2024-04-15 21:12:55 +03:00
Elian Doran
97230ca82a server-ts: Remove some esdoc types 2024-04-15 21:12:34 +03:00
Elian Doran
4c69384b5d Merge pull request #41 from TriliumNext/feature/typescript_backend_5
Convert backend to TypeScript (64% -> 67%)
2024-04-15 21:09:37 +03:00
Elian Doran
6ac3c172b1 Merge pull request #28 from TriliumNext/feature/typescript_backend_4
Convert backend to TypeScript (50% -> 64%)
2024-04-15 21:00:38 +03:00
Elian Doran
a66e4435ba server-ts: Address requested changes 2024-04-13 17:30:48 +03:00
Elian Doran
ae29699e65 server-ts: Port www 2024-04-11 23:14:37 +03:00
Elian Doran
9022bc338a server-ts: Port app 2024-04-11 23:03:19 +03:00
Elian Doran
dededcd303 server-ts: Port routes/routes 2024-04-11 23:00:24 +03:00
Elian Doran
4638351ec8 server-ts: Update progress script 2024-04-11 22:21:38 +03:00
Elian Doran
1ac65fff47 server-ts: Address requested changes 2024-04-11 19:49:01 +03:00
Elian Doran
17eda952e4 Merge branch 'feature/typescript_backend_5' into feature/typescript_backend_10 2024-04-10 19:29:00 +03:00
Elian Doran
8629993fe4 Merge branch 'feature/typescript_backend_5' into feature/typescript_backend_9 2024-04-10 19:28:36 +03:00
Elian Doran
8297e1a835 Merge branch 'feature/typescript_backend_5' into feature/typescript_backend_8 2024-04-10 19:28:10 +03:00
Elian Doran
b517b18394 Merge branch 'feature/typescript_backend_5' into feature/typescript_backend_7 2024-04-10 19:27:31 +03:00
Elian Doran
32e34eec90 Merge branch 'feature/typescript_backend_5' into feature/typescript_backend_6 2024-04-10 19:26:30 +03:00
Elian Doran
fb32ab9707 server-ts: Address requested changes 2024-04-10 19:26:08 +03:00
Elian Doran
8acfb5b558 Merge pull request #25 from TriliumNext/feature/typescript_backend_3
Convert backend to TypeScript (35% -> 50%)
2024-04-10 19:16:29 +03:00
Elian Doran
a7ae16bb39 Merge pull request #18 from TriliumNext/feature/typescript_backend_2
Convert backend to TypeScript (19% -> 35%)
2024-04-10 19:16:06 +03:00
Elian Doran
c08393f04b server-ts: Port share/routes 2024-04-10 19:04:38 +03:00
Elian Doran
88aba1c844 server-ts: Port share/shaca/content_renderer 2024-04-09 22:58:24 +03:00
Elian Doran
7c76d28f75 server-ts: Port share/shaca/shaca_loader 2024-04-09 22:49:05 +03:00
Elian Doran
b3c2602620 server-ts: Port share/shaca/shaca 2024-04-09 22:42:48 +03:00
Elian Doran
0865e90cae server-ts: Port share/shaca/sbranch 2024-04-09 22:33:59 +03:00
Elian Doran
e1d74cd2f5 server-ts: Port share/shaca/sattribute 2024-04-09 22:29:40 +03:00
Elian Doran
c4c2259e69 server-ts: Port share/shaca/sattachment 2024-04-09 22:21:07 +03:00
Elian Doran
3e4b0d5f91 server-ts: Port share/shaca/snote 2024-04-09 22:13:01 +03:00
Elian Doran
b07df6061f server-ts: Port share/share_root 2024-04-09 21:51:23 +03:00
Elian Doran
80a1b8b44d server-ts: Port share/sql 2024-04-09 21:50:47 +03:00
Elian Doran
45e3632c6e server-ts: Port share/shaca/abstract_shaca_entity 2024-04-09 21:48:15 +03:00
Elian Doran
39e152b0b9 Merge branch 'feature/typescript_backend_6' into feature/typescript_backend_10 2024-04-09 21:46:24 +03:00
Elian Doran
2a99ecc384 Merge branch 'feature/typescript_backend_6' into feature/typescript_backend_9 2024-04-09 21:45:40 +03:00
Elian Doran
22477f90ae Merge branch 'feature/typescript_backend_6' into feature/typescript_backend_8 2024-04-09 21:45:04 +03:00
Elian Doran
d8c2ba0ed8 Merge branch 'feature/typescript_backend_6' into feature/typescript_backend_7 2024-04-09 21:44:26 +03:00
Elian Doran
74441273a8 server-ts: Fix getAttribute permitting null 2024-04-09 21:43:42 +03:00
Elian Doran
ed79c1c62a server-ts: Convert etapi/special_notes 2024-04-07 18:21:18 +03:00
Elian Doran
9b9b452055 server-ts: Convert etapi/spec 2024-04-07 18:18:26 +03:00
Elian Doran
5fdf094e9d server-ts: Convert etapi/notes 2024-04-07 16:56:45 +03:00
Elian Doran
e4024408bd server-ts: Convert etapi/bbranches 2024-04-07 15:21:42 +03:00
Elian Doran
602b4988ae server-ts: Convert etapi/backup 2024-04-07 15:18:35 +03:00
Elian Doran
071f9400d7 server-ts: Convert etapi/auth 2024-04-07 15:17:45 +03:00
Elian Doran
1e2a30adcc server-ts: Convert etapi/attributes 2024-04-07 15:15:50 +03:00
Elian Doran
a6de065bf4 server-ts: Convert etapi/attachments 2024-04-07 15:13:34 +03:00
Elian Doran
3bd7231ba9 server-ts: Convert etapi/validators 2024-04-07 14:59:40 +03:00
Elian Doran
4bb46aeb9c server-ts: Convert etapi/mappers 2024-04-07 14:56:22 +03:00
Elian Doran
26859e83e4 server-ts: Convert etapi/app_info 2024-04-07 14:54:42 +03:00
Elian Doran
569bdf19be server-ts: Convert etapi/etapi_utils 2024-04-07 14:54:01 +03:00
Elian Doran
b8eb301f34 server-ts: Add types for multer 2024-04-07 14:38:51 +03:00
Elian Doran
10c21d3403 server-ts: Convert routes/index 2024-04-07 14:36:47 +03:00
Elian Doran
a18b054dbb server-ts: Convert routes/setup 2024-04-07 14:33:41 +03:00
Elian Doran
2e906af77d server-ts: Convert routes/session_parser 2024-04-07 14:32:08 +03:00
Elian Doran
34cd2eba91 server-ts: Remove use of (req as any) 2024-04-07 14:29:08 +03:00
Elian Doran
7fe6d1ab4d server-ts: Convert routes/login 2024-04-07 14:22:01 +03:00
Elian Doran
c2eefad287 server-ts: Convert routes/error_handlers 2024-04-07 14:13:57 +03:00
Elian Doran
202fda3c30 server-ts: Convert routes/electron 2024-04-07 14:09:37 +03:00
Elian Doran
4940207b15 server-ts: Convert routes/custom 2024-04-07 14:05:50 +03:00
Elian Doran
79c9d7e305 server-ts: Convert routes/assets 2024-04-07 14:02:52 +03:00
Elian Doran
6e042c20e9 server-ts: Convert routes/api/tree 2024-04-06 23:34:47 +03:00
Elian Doran
7a98718e64 server-ts: Convert routes/api/sync 2024-04-06 23:28:51 +03:00
Elian Doran
6bbb1f8404 server-ts: Convert routes/api/stats 2024-04-06 23:15:00 +03:00
Elian Doran
cecfc4cd34 server-ts: Convert routes/api/sql 2024-04-06 23:12:22 +03:00
Elian Doran
c1875a8c8f server-ts: Convert routes/api/special_notes 2024-04-06 23:11:02 +03:00
Elian Doran
249e81c9eb server-ts: Convert routes/api/similar_notes 2024-04-06 23:09:32 +03:00
Elian Doran
5804dc52bc server-ts: Convert routes/api/setup 2024-04-06 23:08:41 +03:00
Elian Doran
90cf913083 server-ts: Convert routes/api/sender 2024-04-06 23:01:08 +03:00
Elian Doran
fa82158e30 server-ts: Convert routes/api/search 2024-04-06 22:48:20 +03:00
Elian Doran
de42df40bb server-ts: Convert routes/api/script 2024-04-06 22:38:17 +03:00
Elian Doran
6265aa99d3 server-ts: Convert routes/api/revisions 2024-04-06 22:32:03 +03:00
Elian Doran
4ab6f159e5 server-ts: Fix "Missing or incorrect type for target branch ID"
When attempting to add a new note from the relation map
2024-04-06 22:17:47 +03:00
Elian Doran
b50ceaf299 server-ts: Convert routes/api/relation-map 2024-04-06 22:13:47 +03:00
Elian Doran
96c8c9080d server-ts: Convert routes/api/recent_notes 2024-04-06 22:07:58 +03:00
Elian Doran
66d7548046 server-ts: Convert routes/api/recent_changes 2024-04-06 22:07:03 +03:00
Elian Doran
4b1c351195 server-ts: Convert routes/api/password 2024-04-06 22:00:03 +03:00
Elian Doran
eb7a7e4988 server-ts: Convert routes/api/other 2024-04-06 21:58:32 +03:00
Elian Doran
3d75366f02 server-ts: Convert routes/api/options 2024-04-06 21:57:26 +03:00
Elian Doran
c63c7d518c server-ts: Convert routes/api/notes 2024-04-06 21:55:27 +03:00
Elian Doran
37697c7db7 server-ts: Convert routes/api/note_map 2024-04-06 21:45:58 +03:00
Elian Doran
b1744c3867 server-ts: Convert routes/api/login 2024-04-06 21:34:34 +03:00
Elian Doran
b0d6035a67 server-ts: Convert routes/api/keys 2024-04-06 21:31:09 +03:00
Elian Doran
3902719008 server-ts: Convert routes/api/import 2024-04-06 21:30:27 +03:00
Elian Doran
291b791b67 server-ts: Convert routes/api/image 2024-04-06 21:21:22 +03:00
Elian Doran
b552f40ae8 server-ts: Convert routes/api/fonts 2024-04-05 22:24:21 +03:00
Elian Doran
0ab137de03 server-ts: Convert routes/api/files 2024-04-05 22:22:18 +03:00
Elian Doran
952c3cc12f server-ts: Convert routes/api/export 2024-04-05 20:58:31 +03:00
Elian Doran
e451237361 server-ts: Convert routes/api/etapi_tokens 2024-04-05 20:56:23 +03:00
Elian Doran
27637b0483 server-ts: Convert routes/api/consistency_checks 2024-04-05 20:55:21 +03:00
Elian Doran
122ff3bb1d server-ts: Convert routes/api/cloning 2024-04-05 20:47:07 +03:00
Elian Doran
f98f84d419 server-ts: Convert routes/api/bnote 2024-04-05 20:45:57 +03:00
Elian Doran
40ef533c5f server-ts: Convert routes/api/bulk_action 2024-04-05 20:36:10 +03:00
Elian Doran
fd77c5e8c4 server-ts: Convert routes/api/branches 2024-04-05 20:33:04 +03:00
Elian Doran
706b9d0f46 server-ts: Convert routes/api/backend_log 2024-04-05 20:28:19 +03:00
Elian Doran
82f5553980 server-ts: Convert routes/api/autocomplete 2024-04-05 20:26:45 +03:00
Elian Doran
c0349b3f84 server-ts: Convert routes/api/attributes 2024-04-05 20:22:10 +03:00
Elian Doran
9330241045 server-ts: Convert routes/api/attachments 2024-04-05 20:16:46 +03:00
Elian Doran
b13ad5d01e server-ts: Convert routes/api/app_info 2024-04-05 20:12:54 +03:00
Elian Doran
ea36b37f66 server-ts: Convert services/scheduler 2024-04-04 23:08:32 +03:00
Elian Doran
92ca32bd70 server-ts: Convert services/handlers 2024-04-04 23:04:54 +03:00
Elian Doran
59c533cb6c server-ts: Convert services/script 2024-04-04 22:47:58 +03:00
Elian Doran
884b6618fb server-ts: Convert services/script_context 2024-04-04 22:29:12 +03:00
Elian Doran
15dee4b952 server-ts: Convert services/backend_script_api 2024-04-04 22:04:30 +03:00
Elian Doran
a154dc76ce server-ts: Port services/options 2024-04-03 23:28:26 +03:00
Elian Doran
532ed1d3f9 server-ts: Port services/setup 2024-04-03 23:18:39 +03:00
Elian Doran
984ce49168 server-ts: Port services/special_notes 2024-04-03 23:05:06 +03:00
Elian Doran
16283d4054 server-ts: Port services/spaced_update 2024-04-03 22:53:41 +03:00
Elian Doran
915de23e34 server-ts: Port services/anonymize 2024-04-03 22:51:07 +03:00
Elian Doran
53d4873c1f server-ts: Port services/import/zip 2024-04-03 22:46:14 +03:00
Elian Doran
764d251b0a server-ts: Port services/import/enex 2024-04-03 21:29:26 +03:00
Elian Doran
aa233b8adb server-ts: Port consistency_checks 2024-04-03 20:48:54 +03:00
Elian Doran
ed47c23e23 Merge branch 'feature/typescript_backend_3' into feature/typescript_backend_4 2024-04-03 20:21:55 +03:00
Elian Doran
5baabecdee Merge branch 'feature/typescript_backend_2' into feature/typescript_backend_3 2024-04-03 20:21:13 +03:00
Elian Doran
17c7e2d8e7 server-ts: Address further suggestions 2024-04-03 20:04:20 +03:00
Elian Doran
5d452a1525 server-ts: Address review 2024-04-03 19:22:49 +03:00
Elian Doran
f857b8a9bb server-ts: Refactor out abstract init in entities 2024-04-03 19:05:10 +03:00
Elian Doran
a354b54a08 server-ts: Fix getContent in updateNoteData 2024-04-03 18:53:56 +03:00
Elian Doran
e96b56e061 server-ts: Fix build errors 2024-04-03 00:02:51 +03:00
Elian Doran
0daa4cc89a Merge branch 'feature/typescript_backend_3' into feature/typescript_backend_4 2024-04-02 23:57:01 +03:00
Elian Doran
99d50957dd server-ts: Address self-review 2024-04-02 23:55:02 +03:00
Elian Doran
d4c8d24d50 server-ts: Address some review comments 2024-04-02 23:39:45 +03:00
Elian Doran
a420129631 server-ts: Fix build errors after merge 2024-04-02 23:34:12 +03:00
Elian Doran
090d353fd0 Merge branch 'feature/typescript_backend_2' into feature/typescript_backend_3 2024-04-02 23:26:16 +03:00
Elian Doran
b84b27692c server-ts: Fix some issues from self-review 2024-04-02 23:22:45 +03:00
Elian Doran
adc384a971 Merge pull request #13 from TriliumNext/feature/typescript_backend
Convert backend to TypeScript (0% -> 19%)
2024-04-02 22:30:39 +03:00
Elian Doran
08f0c01eef server-ts: Solve build errors after merge 2024-03-30 11:09:45 +02:00
Elian Doran
db2b33704f Merge branch 'feature/typescript_backend' into feature/typescript_backend_2 2024-03-30 10:54:06 +02:00
Elian Doran
3eb7ed5dda server-ts: Address requested changes 2024-03-30 10:49:40 +02:00
Elian Doran
5e5add7e47 Merge remote-tracking branch 'origin/develop' into feature/typescript_backend 2024-03-30 09:23:00 +02:00
Mattia Mascarello
ac1e1ebe43 Forgot to translate a heading 2024-03-28 20:51:28 +01:00
Mattia Mascarello
499bfaea9b Added italian to other READMEs language section 2024-03-28 20:42:53 +01:00
Mattia Mascarello
fa4772b91e proofreading 2024-03-28 20:38:20 +01:00
Mattia Mascarello
fa7b190c6b Translated readme in italian 2024-03-28 19:23:01 +01:00
zadam
84feec2e7e Merge branch 'stable'
# Conflicts:
#	package-lock.json
2024-03-28 07:26:17 +01:00
zadam
3035473751 release 0.63.5 2024-03-28 07:11:39 +01:00
zadam
399458b52f package lock 2024-03-28 07:08:31 +01:00
zadam
becac5fbad fix rendering of math on non-root paths, closes #4713 2024-03-28 07:08:15 +01:00
zadam
1e26b31090 release 0.63.4 2024-03-28 07:00:01 +01:00
zadam
0ebd03869d use "n space" instead of zero length space to make it obvious there is a character there 2024-03-28 06:57:44 +01:00
zadam
a4a713f102 allow cancelling mention UI with escape, fixes #4692, #4684 2024-03-28 06:43:26 +01:00
zadam
83d5d6bbd8 fix copy link in browser, closes #4682 2024-03-27 20:42:36 +01:00
zadam
90f4c6b0d1 allow converting file attachments to file notes 2024-03-27 06:59:57 +01:00
Elian Doran
926b3e9650 Merge remote-tracking branch 'origin/develop' into feature/typescript_backend 2024-03-17 21:44:06 +02:00
Elian Doran
cbad58201e server-ts: Solve requested changes 2024-03-17 21:40:14 +02:00
Elian Doran
040ed39a4e server-ts: Fix undefined in task_context 2024-03-17 21:37:40 +02:00
Elian Doran
9f6a8dc75c server-ts: Fix undefined in ws 2024-03-17 21:34:50 +02:00
zadam
bfb8aa6481 remove eslint 2024-03-06 07:17:51 +01:00
zadam
2bb4cccd82 fix excalidraw 0.17 integration 2024-03-06 07:13:30 +01:00
zadam
6fad5f2b51 Merge branch 'master' into excali-17-2 2024-03-06 06:53:19 +01:00
zadam
36357bdf86 update mermaid 2024-03-06 06:52:41 +01:00
zadam
80eaf10656 remove husky 2024-03-06 06:51:25 +01:00
zadam
f46ce0417d more prettier removals 2024-03-06 06:48:25 +01:00
zadam
6f1e6402f0 package upgrades + removal of prettier 2024-03-06 06:47:30 +01:00
zadam
bdfa13a8a0 Merge pull request #4676 from st3iny/fix/invisible-unchecked-todo
fix: invisible unchecked to-do items
2024-03-06 06:32:23 +01:00
Richard Steinmetz
d5622dfbf7 fix: invisible unchecked to-do items 2024-03-05 22:29:10 +01:00
zadam
0948853539 release 0.63.3 2024-03-03 06:58:18 +01:00
zadam
0ad337c8e8 add API method to erase a revision #4662 2024-03-03 06:34:43 +01:00
zadam
9565b0b43d Merge pull request #4671 from AlexeiKharchev/master
Reduce warnings count caused by bin/copy-trilium.sh
2024-03-03 06:26:18 +01:00
zadam
a115b14136 fix highlighting search results with regexp characters in fulltext string, closes #4665 2024-03-02 07:35:52 +01:00
Alexei Kharchev
bb8bfc61ed Improved scriptes bin/copy-trilium.sh, bin/build-linux-x64.sh 2024-03-02 14:18:39 +08:00
zadam
2d19f073d9 fix searching fulltext with tags, closes #4661 2024-03-02 07:13:02 +01:00
Alexei Kharchev
ff5d5d20d9 Reduce warnings count caused by bin/copy-trilium.sh 2024-03-02 11:49:17 +08:00
Elian Doran
8c5f680dca server-ts: Fix build errors 2024-02-25 15:06:43 +02:00
Elian Doran
7f0102181d server-ts: Port services/import/single 2024-02-25 14:52:20 +02:00
Elian Doran
59d618f06b server-ts: Port services/import/markdown 2024-02-25 08:12:07 +02:00
Elian Doran
cc1a545e13 server-ts: Port services/import/opml 2024-02-25 08:07:17 +02:00
Elian Doran
fd37fd3a45 server-ts: Port services/import/mime 2024-02-25 07:57:17 +02:00
Elian Doran
052a0a44f2 server-ts: Port services/import/utils 2024-02-25 07:54:51 +02:00
Elian Doran
fa0ed35752 server-ts: Port services/image 2024-02-20 23:29:03 +02:00
Elian Doran
29d37c40c1 server-ts: Port services/export/zip 2024-02-19 23:08:43 +02:00
Elian Doran
1728365fa1 server-ts: Port services/export/single 2024-02-19 22:12:00 +02:00
Elian Doran
cfeb0cc6f7 server-ts: Port services/export/opml 2024-02-19 22:07:21 +02:00
Elian Doran
ec4bd6659a server-ts: Port services/export/md 2024-02-19 21:59:40 +02:00
Elian Doran
0903cf2646 Merge branch 'feature/typescript_backend_2' into feature/typescript_backend_3 2024-02-18 20:43:27 +02:00
Elian Doran
cbc01e1a8d server-ts: FIXME -> TODO 2024-02-18 20:41:30 +02:00
Elian Doran
11c7533984 Merge branch 'feature/typescript_backend' into feature/typescript_backend_2 2024-02-18 20:39:18 +02:00
Elian Doran
aff1c30557 server-ts: FIXME -> TODO 2024-02-18 20:29:23 +02:00
Elian Doran
3d9da26bb3 server-ts: Address review comments 2024-02-18 18:11:56 +02:00
Elian Doran
91ddabbb9b server-ts: Remove redundant file 2024-02-18 13:44:41 +02:00
Elian Doran
3030fbe60b server-ts: Port services/notes 2024-02-18 13:42:05 +02:00
Elian Doran
5f4f30f84b server-ts: Port services/options_init 2024-02-18 13:32:00 +02:00
Elian Doran
45cb7ced2c server-ts: Port services/host 2024-02-18 13:26:28 +02:00
Elian Doran
dbccf6b433 server-ts: Port services/one_time_timer 2024-02-18 13:25:18 +02:00
Elian Doran
6df09cb157 server-ts: Port services/bulk_actions 2024-02-18 13:23:37 +02:00
Elian Doran
6cedad07e5 server-ts: Port services/cloning 2024-02-18 13:16:54 +02:00
Elian Doran
e4556afcc9 server-ts: Port services/session_secret 2024-02-18 13:13:16 +02:00
Elian Doran
d89b791914 server-ts: Port services/sync 2024-02-18 13:10:51 +02:00
Elian Doran
43c89c0e9d server-ts: Port services/content_hash 2024-02-18 12:50:58 +02:00
Elian Doran
0ba80b176c server-ts: Port services/sync_update 2024-02-18 12:40:30 +02:00
Elian Doran
3ea4b7a72b server-ts: Port services/tray 2024-02-18 12:28:32 +02:00
Elian Doran
330334dcb4 server-ts: Port services/window 2024-02-18 12:19:09 +02:00
Elian Doran
ddcbb29a67 server-ts: Update script to display remaining filelist 2024-02-18 11:50:22 +02:00
Elian Doran
9ea4fcd667 server-ts: Port services/branches 2024-02-18 11:48:38 +02:00
Elian Doran
0d4fb42731 server-ts: Port services/tree 2024-02-18 11:47:32 +02:00
Elian Doran
d8d729342d server-ts: Port services/attributes 2024-02-18 11:26:05 +02:00
Elian Doran
2fbd2e3c29 server-ts: Port services/search/services/search 2024-02-18 11:16:30 +02:00
Elian Doran
15169289f0 server-ts: Port services/search/services/parse 2024-02-18 02:27:04 +02:00
Elian Doran
29b3fb3646 server-ts: Port services/search/expressions/property_comparison 2024-02-18 01:50:16 +02:00
Elian Doran
533a597a5c server-ts: Port services/search/services/lex 2024-02-18 01:46:32 +02:00
Elian Doran
deed58c2fc server-ts: Port services/search/services/handle_parens 2024-02-18 01:38:51 +02:00
Elian Doran
8acb64198c server-ts: Port services/search/services/build_comparator 2024-02-18 01:38:42 +02:00
Elian Doran
f5b690d088 server-ts: Port services/search/expressions/relation_where 2024-02-18 01:19:50 +02:00
Elian Doran
0f7f0ceedc server-ts: Port services/search/expressions/parent_of 2024-02-18 01:18:20 +02:00
Elian Doran
87708aa9c3 server-ts: Port services/search/expressions/order_by_and_limit 2024-02-18 01:17:02 +02:00
Elian Doran
c63d05b582 server-ts: Port services/search/expressions/or 2024-02-18 01:06:42 +02:00
Elian Doran
460982d290 server-ts: Port services/search/expressions/note_flat_text 2024-02-18 01:05:34 +02:00
Elian Doran
414964e791 server-ts: Port services/search/expressions/note_content_fulltext 2024-02-18 01:01:17 +02:00
Elian Doran
3df6acda32 server-ts: Port services/search/expressions/not 2024-02-18 00:51:18 +02:00
Elian Doran
571c9f544c server-ts: Port services/search/expressions/label_comparison 2024-02-18 00:50:14 +02:00
Elian Doran
acb31b621f server-ts: Port services/search/expressions/is_hidden 2024-02-18 00:48:37 +02:00
Elian Doran
35886c3b00 server-ts: Port services/search/expressions/descendant_of 2024-02-18 00:47:25 +02:00
Elian Doran
ccc51e0123 server-ts: Port services/search/expressions/child_of 2024-02-18 00:46:25 +02:00
Elian Doran
0df488667e server-ts: Port services/search/expressions/attribute_exists 2024-02-18 00:45:21 +02:00
Elian Doran
7018cc77a3 server-ts: Port services/search/expressions/and 2024-02-18 00:43:55 +02:00
Elian Doran
8d2eddd14d server-ts: Port services/search/expressions/true 2024-02-18 00:42:17 +02:00
Elian Doran
414515bc87 server-ts: Port services/search/expressions/ancestor 2024-02-18 00:40:15 +02:00
Elian Doran
ce60fc0c3a server-ts: Port services/search/expressions/expression 2024-02-18 00:36:37 +02:00
Elian Doran
216f3f2c07 server-ts: Port services/search/value_extractor 2024-02-18 00:34:36 +02:00
Elian Doran
80e6ced5db server-ts: Port services/search/search_result 2024-02-18 00:30:16 +02:00
Elian Doran
fbf77f3382 server-ts: Port services/search/search_context 2024-02-18 00:28:05 +02:00
Elian Doran
1010d11827 server-ts: Port services/hoisted_note 2024-02-18 00:22:46 +02:00
zadam
1f95e88cfd release 0.63.2-beta 2024-02-17 22:47:50 +01:00
Elian Doran
5d683721b1 server-ts: Change data type 2024-02-17 23:32:32 +02:00
Elian Doran
de7f4de05b server-ts: Port services/notes & hidden_subtree 2024-02-17 23:02:19 +02:00
Elian Doran
669988953d server-ts: Port services/request 2024-02-17 21:58:35 +02:00
Elian Doran
dc22d05657 server-ts: Port services/html_sanitizer 2024-02-17 21:33:47 +02:00
Elian Doran
00c692cf28 server-ts: Port services/note_types 2024-02-17 21:29:28 +02:00
Elian Doran
77fb7bc6e8 server-ts: Port services/erase 2024-02-17 21:13:04 +02:00
Elian Doran
f31d788e2e server-ts: Port services/auth 2024-02-17 21:08:56 +02:00
Elian Doran
45582ebaac server-ts: Port services/meta/* 2024-02-17 21:01:31 +02:00
Elian Doran
748a551def server-ts: Port similarity 2024-02-17 20:55:36 +02:00
Elian Doran
d35613f510 server-ts: Port becca_loader 2024-02-17 20:45:31 +02:00
Elian Doran
3d5ef81860 server-ts: Simplify deferred promise in sql_init 2024-02-17 20:33:18 +02:00
Elian Doran
9f99b4282a server-ts: Port becca/becca_service 2024-02-17 20:30:21 +02:00
Elian Doran
3b7812f829 server-ts: Port becca/entity_constructor 2024-02-17 20:28:05 +02:00
Elian Doran
1c7532df46 server-ts: Port sync_options 2024-02-17 20:24:32 +02:00
Elian Doran
a029ee268a server-ts: Fix export 2024-02-17 20:06:54 +02:00
Elian Doran
1b58dbe401 server-ts: Port etapi_tokens service 2024-02-17 19:55:40 +02:00
Elian Doran
56ca0ea5d0 server-ts: Port migration, port, sql_init services 2024-02-17 19:51:22 +02:00
Elian Doran
246a90d73c server-ts: Port revisions service 2024-02-17 19:44:46 +02:00
Elian Doran
a58abffe58 server-ts: Port migration service 2024-02-17 19:42:30 +02:00
Elian Doran
8936a3fa3b server-ts: Port backup service 2024-02-17 19:33:29 +02:00
Elian Doran
6b8ee084e6 server-ts: Port keyboard_actions 2024-02-17 19:29:15 +02:00
Elian Doran
5916a8b5b8 server-ts: Fix build errors 2024-02-17 19:20:32 +02:00
Elian Doran
a183f21078 server-ts: Convert attribute_formatter 2024-02-17 19:15:50 +02:00
Elian Doran
9826fed905 server-ts: Port app* services 2024-02-17 19:09:36 +02:00
Elian Doran
a06aa9df8a server-ts: Port anonymization service 2024-02-17 19:02:14 +02:00
Elian Doran
1e91db865b server-ts: Implement review comments 2024-02-17 18:55:41 +02:00
Elian Doran
8af5434462 server-ts: Add script to check progress 2024-02-17 13:32:43 +02:00
Elian Doran
6f0659c03c server-ts: Bring back nodemon 2024-02-17 13:32:43 +02:00
Elian Doran
b8ccf5ba8f server-ts: Fix error with sanitize_attribute_name 2024-02-17 13:32:43 +02:00
Elian Doran
45a6c9558f server-ts: Fix references to js files for converted files 2024-02-17 13:32:43 +02:00
Elian Doran
4df599fec2 server-ts: Fix some build errors 2024-02-17 13:32:43 +02:00
Elian Doran
030aec2f3e server-ts: Fix more references to js files for converted files 2024-02-17 13:32:43 +02:00
Elian Doran
8b250e4a13 server-ts: Fix references to js files for converted files 2024-02-17 13:32:43 +02:00
Elian Doran
2f96dc2d9d server-ts: Fix most type errors in becca 2024-02-17 13:32:43 +02:00
Elian Doran
26388ad3b6 server-ts: Fix errors in becca-interface 2024-02-17 13:32:43 +02:00
Elian Doran
2c0063a5cc server-ts: Remove .js extensions in src/becca 2024-02-17 13:32:43 +02:00
Elian Doran
3a20bef1a9 server-ts: Fix more errors in becca entities 2024-02-17 13:32:42 +02:00
Elian Doran
9aec3390dd server-ts: Fix most errors in bnote 2024-02-17 13:32:42 +02:00
Elian Doran
f9ba8ca87d server-ts: Fix errors in abstract_becca_entity 2024-02-17 13:32:42 +02:00
Elian Doran
f51f070b2f server-ts: Port bbranch (with some build errors) 2024-02-17 13:32:42 +02:00
Elian Doran
cf18e61a33 server-ts: Port ws service & dependencies 2024-02-17 13:32:42 +02:00
Elian Doran
4b1d2c6bad server-ts: Port options service 2024-02-17 13:32:42 +02:00
Elian Doran
06287da9d8 server-ts: Port battribute 2024-02-17 13:32:42 +02:00
Elian Doran
eef8297ce1 server-ts: Port bblob 2024-02-17 13:32:42 +02:00
Elian Doran
2f15d79476 server-ts: Port betapi_token 2024-02-17 13:32:42 +02:00
Elian Doran
768aaf2d78 server-ts: Port boption 2024-02-17 13:32:42 +02:00
Elian Doran
6dd2cd39aa server-ts: Convert a few classes in becca 2024-02-17 13:32:42 +02:00
Elian Doran
e04bd5aaf0 server-ts: Convert more classes, including entity_changes.js 2024-02-17 13:32:42 +02:00
Elian Doran
cb14d4d8f9 server-ts: Convert blob.js 2024-02-17 13:32:42 +02:00
Elian Doran
85af0a24ee server-ts: Convert becca.js 2024-02-17 13:32:42 +02:00
Elian Doran
3a7d0d1f13 server-ts: Add some type fixes to sql.ts 2024-02-17 13:32:42 +02:00
Elian Doran
5309d4ad5c server-ts: instance_id.js -> ts 2024-02-17 13:32:42 +02:00
Elian Doran
786d851293 server-ts: events.js -> ts 2024-02-17 13:32:41 +02:00
Elian Doran
b63e870038 server-ts: protected_session.js -> ts 2024-02-17 13:32:41 +02:00
Elian Doran
c20d2273e6 server-ts: services/encryption/*.js -> ts 2024-02-17 13:32:41 +02:00
Elian Doran
dc359b2a74 server-ts: resource_dir.js -> ts 2024-02-17 13:32:41 +02:00
Elian Doran
d3c9e7e157 server-ts: errors/*.js -> .ts 2024-02-17 13:32:41 +02:00
Elian Doran
82a9808dea server-ts: sql.js -> sql.ts 2024-02-17 13:32:41 +02:00
Elian Doran
e2a727ec8a server-ts: date_utils.js -> date_utils.ts 2024-02-17 13:32:41 +02:00
Elian Doran
7a9365457a server-ts: utils.js -> utils.ts 2024-02-17 13:32:41 +02:00
Elian Doran
28735fa16a server-ts: Fix build errors 2024-02-17 13:32:41 +02:00
Elian Doran
ff2e05fe83 server-ts: Fix references to cls.js 2024-02-17 13:32:41 +02:00
Elian Doran
96b6d17d77 server-ts: Remove need for 'allowImportingTsExtensions' 2024-02-17 13:32:40 +02:00
Elian Doran
78f631373b server-ts: cls.js -> cls.ts 2024-02-17 13:32:40 +02:00
Elian Doran
981221d599 server-ts: data_dir.js -> data_dir.ts 2024-02-17 13:32:40 +02:00
Elian Doran
bda11fad40 server-ts: Fix errors in log.ts 2024-02-17 13:32:40 +02:00
Elian Doran
39627a4fc4 server-ts: log.js -> log.ts 2024-02-17 13:32:40 +02:00
Elian Doran
094895ec72 server-ts: Enable ts-node instead of nodemon 2024-02-17 13:32:40 +02:00
zadam
15677f7178 Update README.md 2024-02-16 12:16:58 +01:00
zadam
3a0bb91b77 fix 2024-02-16 11:25:23 +01:00
zadam
157f894c9b Merge pull request #4642 from henrikx/patch-1
Fix ribbon tooltips getting stuck on the screen by setting a small delay before saving attributes in attributeeditor
2024-02-16 11:02:13 +01:00
zadam
e6dec701c0 Merge remote-tracking branch 'origin/master' 2024-02-16 10:42:30 +01:00
zadam
450b52f6da JSDoc improvements 2024-02-16 10:42:25 +01:00
zadam
4ef31eaf3d Merge pull request #4635 from WantToLearnJapanese/WantToLearnJapanese-patch-unhoist-bookmark
Fix showing unhoist confirm dialogue for bookmarked notes.
2024-02-16 06:48:04 +01:00
zadam
2d865576cf Merge remote-tracking branch 'origin/master' 2024-02-16 06:46:38 +01:00
zadam
41e623b009 fix JSDoc, closes #4633 2024-02-16 06:46:32 +01:00
zadam
239786e7d1 Merge pull request #4632 from bavis-m/master
Add the -o option to the groupmod command used in start-docker.sh
2024-02-16 06:40:38 +01:00
zadam
89e1e47900 Merge remote-tracking branch 'origin/master' 2024-02-14 07:21:36 +01:00
zadam
67cb926233 PWA manifest fixes for extra auth, fixes #4611 2024-02-14 07:21:31 +01:00
henrikx
2f813dfc5d Update attribute_editor.js 2024-02-09 10:58:41 +01:00
WantToLearnJapanese
a939599223 Fix showing unhoist confirm dialogue for bookmarked notes. 2024-02-02 16:36:54 +09:00
Mark
fb10e0ad33 Add the -o option to the groupmod command used in start-docker.sh when USER_GID is set, otherwise we won't be added to existing groups (e.g. you want node to run in the users (100) group) 2024-02-01 11:56:37 -08:00
zadam
46bd5bc1ef Update README.md 2024-01-29 22:36:52 +01:00
zadam
5abfb5c08a revert unintended license changes 2024-01-28 23:09:57 +01:00
zadam
9357caeb5a activate parent note when deleting a note, #4601 2024-01-28 23:08:44 +01:00
zadam
6b58e59819 added keyboard shortcut for toggling the right pane, closes #4552 2024-01-28 08:58:40 +01:00
zadam
c6df25ece8 fix pin button shadow, closes #4595 2024-01-28 08:36:16 +01:00
zadam
ebd6276b5e CKEditor 41.0.0 2024-01-27 23:02:11 +01:00
zadam
92e8b155e4 Merge branch 'stable'
# Conflicts:
#	package.json
#	src/services/build.js
#	src/services/migration.js
2024-01-27 22:52:47 +01:00
zadam
e76093e75c release 0.62.6 2024-01-21 23:49:23 +01:00
zadam
4f8073daa7 Revert "don't tag beta images with latest #4590"
This reverts commit 47fb96faa8.
2024-01-21 23:48:56 +01:00
zadam
47fb96faa8 don't tag beta images with latest #4590 2024-01-21 23:42:57 +01:00
zadam
6e33553146 fix migration 2024-01-21 23:11:27 +01:00
zadam
807941e6a5 disable scanning for links while migration is running #4535 2024-01-21 20:50:38 +01:00
zadam
1e30c0702e add indexes sooner in the migration process to speed it up #4535 2024-01-21 11:13:45 +01:00
zadam
69b686ba3b basic emoji #4119 2024-01-21 10:44:23 +01:00
zadam
ace5660809 add special characters to CKEditor build #4119 2024-01-21 10:33:16 +01:00
zadam
8bc99fd799 downgrades to try to fix flatpak build 2024-01-12 00:17:04 +01:00
zadam
f0c3a090a2 release 0.63.1-beta 2024-01-12 00:02:50 +01:00
zadam
17e063f01d updates 2024-01-12 00:02:45 +01:00
zadam
76c9873705 fix erase sync 2024-01-10 23:51:53 +01:00
zadam
2c7b774356 Merge branch 'stable' 2024-01-10 22:57:05 +01:00
zadam
390ad6d813 fix rendering image title in share renderer, closes #4578 2024-01-09 23:38:44 +01:00
zadam
77800d073f fix URL unescaping in improper place, #4566 2024-01-09 23:22:45 +01:00
zadam
1953c7896f support SVG image upload, fixes #4573 2024-01-09 23:13:33 +01:00
zadam
dff4f73366 Merge pull request #4571 from Nriver/master
fix typo in keyboard shortcuts description
2024-01-09 22:53:41 +01:00
zadam
cd43752f61 remove conflicting shortcut, fixes #4570 2024-01-09 22:52:13 +01:00
Nriver
23a5cea338 fix typo in keyboard shortcuts description 2024-01-08 10:20:23 +08:00
zadam
e2cb3c0d14 Merge branch 'stable'
# Conflicts:
#	package.json
#	src/services/build.js
#	src/services/notes.js
2024-01-08 00:21:46 +01:00
zadam
d6046efa1b release 0.62.5 2024-01-08 00:05:13 +01:00
zadam
ee608fcf46 unescape HTML before downloading images, #4566 2024-01-08 00:03:11 +01:00
zadam
894b08a1b8 correctly save attachment URL, #4566 2024-01-07 23:51:38 +01:00
zadam
4e549baedc fix auto-download of images, closes #4566 2024-01-07 23:45:40 +01:00
zadam
6b6e42e9ba document attachment ETAPI APIs in OpenAPI spec, fixes #4559 2024-01-07 23:11:55 +01:00
zadam
0404b78fb8 fix loading katex in share #4558 2024-01-07 22:52:16 +01:00
zadam
d63d42d87c Merge branch 'stable' 2024-01-07 22:46:23 +01:00
zadam
37baa4cd74 Merge pull request #4550 from spasche/zip-export-sort-children
sort children during export to ensure a more stable format
2024-01-07 22:38:14 +01:00
zadam
68e03c434e release 0.63.0-beta 2024-01-04 00:49:06 +01:00
zadam
394530921e downgrade electron 2024-01-03 23:50:29 +01:00
zadam
57ccd5a954 stronger light anonymization 2024-01-03 22:10:29 +01:00
zadam
a28d8843ac fix migration 2024-01-03 22:08:26 +01:00
Sylvain Pasche
cb523faaad sort children during export to ensure a more stable format 2023-12-31 16:52:19 +01:00
zadam
f704cacdee bugfixes to sync 2023-12-30 00:34:46 +01:00
zadam
8dbc592563 add "copy image" context menu to also attachments, fixes #4514 2023-12-28 00:02:09 +01:00
zadam
439743d2b0 convert absolute image attachment URLs to relative without domain, fixes #4509 2023-12-27 23:22:40 +01:00
zadam
a3783131a2 Merge pull request #4522 from Nriver/master
fix decoding issue for request data chunks
2023-12-27 22:58:27 +01:00
zadam
8199073342 excali 17 2023-12-27 22:48:46 +01:00
zadam
33af9a3595 updates 2023-12-27 22:48:16 +01:00
Nriver
30c3c10524 fix decoding issue for request data chunks 2023-12-14 11:10:13 +08:00
zadam
df85a5eee4 Merge branch 'stable'
# Conflicts:
#	src/routes/api/revisions.js
#	src/services/bulk_actions.js
2023-12-11 23:07:15 +01:00
zadam
0ac397e7ff fix setNoteToParent API breakage, closes #4505 2023-12-11 23:05:05 +01:00
zadam
d243880099 release 0.62.4 2023-12-07 00:03:59 +01:00
zadam
2e23c521c3 electron upgrade 2023-12-06 23:54:17 +01:00
zadam
eb761b286f electron upgrade 2023-12-04 00:17:00 +01:00
zadam
d0f6ff5f98 fix erasing revisions 2023-12-04 00:11:24 +01:00
zadam
c35167f2f5 sometimes CPU info is not available #3957 2023-12-03 21:37:50 +01:00
zadam
84feaabc52 release 0.62.3 2023-11-27 23:37:24 +01:00
zadam
a6036859b8 normalize strings before calculation hashes, #4435 2023-11-27 23:23:55 +01:00
zadam
929f7f3114 add node version to app_info 2023-11-27 23:12:22 +01:00
zadam
9e914b9016 remove relation map from the demo document 2023-11-27 10:54:38 +01:00
zadam
947627d8a0 relation map deprecation - don't show it in menu to create new note 2023-11-27 10:50:17 +01:00
zadam
ed00797179 Merge branch 'stable'
# Conflicts:
#	package-lock.json
2023-11-27 10:41:07 +01:00
zadam
93dcce2217 dragging notes from note tree will automatically insert them as images where appropriate (image, canvas, mermaid) 2023-11-27 10:38:19 +01:00
zadam
686af0c6a1 when canvas and mermaid are inserted using "include note", we insert them as images 2023-11-27 10:22:54 +01:00
zadam
d07f02b95f contrary to what I believed encodeURIComponent() is available also in node.js, #4478 2023-11-27 10:15:29 +01:00
zadam
ad74952194 fix thumbnails with chinese titles, closes #4478 2023-11-27 10:10:27 +01:00
zadam
10f3df3ed4 make sure content is string for post-processing 2023-11-26 23:51:04 +01:00
zadam
18e2e6779b remove title to fix closing highlights list, fixes #4471 2023-11-24 23:51:12 +01:00
zadam
ed129c307b fix printing math, closes #4470 2023-11-24 00:17:20 +01:00
zadam
8742e4bfe9 make sure the promoted attributes don't take the whole screen in mobile, #4468 2023-11-24 00:04:49 +01:00
zadam
3b10bb742b pin versions 2023-11-22 20:46:20 +01:00
zadam
1f206a9c24 load panzoom from node_modules 2023-11-22 20:28:17 +01:00
zadam
f026646bb5 load split.js from node_modules 2023-11-22 20:26:20 +01:00
zadam
f9bfc8ad86 load printThis from node_modules 2023-11-22 20:22:16 +01:00
zadam
e70539ff48 load jquery-hotkeys from node_modules 2023-11-22 20:15:21 +01:00
zadam
a439be79b3 load jquery from node_modules 2023-11-22 20:11:41 +01:00
zadam
edf2dfe8f9 load mermaid from node_modules 2023-11-22 20:09:04 +01:00
zadam
0e4c49ea5b load box icons from node_modules 2023-11-22 20:06:44 +01:00
zadam
52cfd138d1 load force-graph from node_modules 2023-11-22 20:02:35 +01:00
zadam
258b97f833 Merge remote-tracking branch 'origin/master' 2023-11-22 19:58:59 +01:00
zadam
837b17d62a load day.js from node_modules 2023-11-22 19:58:54 +01:00
zadam
d82720f62f Merge pull request #4461 from Nriver/master
fix typo
2023-11-22 19:47:48 +01:00
zadam
cf99345962 use .js extension for require() as a preparation for future migration to ESM 2023-11-22 19:34:48 +01:00
Nriver
9e54496d00 fix more typo 2023-11-22 10:41:44 +08:00
Nriver
8ae6598b8a fix typo 2023-11-22 10:37:23 +08:00
zadam
722299dd26 release 0.62.2 2023-11-21 20:49:24 +01:00
zadam
e2b1421bf3 electron upgrade 2023-11-21 20:48:43 +01:00
zadam
1f41d39bc7 docs 2023-11-21 20:46:48 +01:00
zadam
ce39d3b4ce Merge branch 'stable'
# Conflicts:
#	docs/backend_api/BNote.html
#	docs/backend_api/BackendScriptApi.html
#	docs/backend_api/services_backend_script_api.js.html
#	docs/frontend_api/FAttribute.html
#	docs/frontend_api/FBranch.html
#	docs/frontend_api/FNote.html
#	docs/frontend_api/FrontendScriptApi.html
#	docs/frontend_api/entities_fattachment.js.html
#	docs/frontend_api/entities_fattribute.js.html
#	docs/frontend_api/entities_fblob.js.html
#	docs/frontend_api/entities_fbranch.js.html
#	docs/frontend_api/entities_fnote.js.html
#	docs/frontend_api/global.html
#	docs/frontend_api/index.html
#	docs/frontend_api/services_frontend_script_api.js.html
#	package.json
#	src/services/backend_script_api.js
#	src/services/build.js
2023-11-21 20:46:24 +01:00
zadam
ef2ade849b release 0.61.15 2023-11-20 23:23:12 +01:00
zadam
88067c071c add api.backupNow() to backend API, closes #4455 2023-11-20 23:14:53 +01:00
zadam
f5018e9820 fix buggy http proxy initialization, closes #4453 2023-11-20 23:03:19 +01:00
zadam
1561f402f0 ckeditor 40.1.0 2023-11-20 22:29:05 +01:00
zadam
0d7889d212 Merge branch 'stable'
# Conflicts:
#	package-lock.json
2023-11-20 22:22:05 +01:00
zadam
19a10e59e9 fix edit history crossing note activation in canvas, #4437 2023-11-20 22:13:52 +01:00
zadam
746abb02d3 Merge branch 'stable'
# Conflicts:
#	package-lock.json
#	package.json
#	src/services/build.js
2023-11-16 23:57:25 +01:00
zadam
23351298c8 fix incorrect syntax/typo, closes #4443 2023-11-16 23:35:50 +01:00
zadam
426a8f75aa fix creating tree cycle by moving clone into another clone, closes #4442 2023-11-16 23:31:33 +01:00
zadam
999cf0d9e3 release 0.61.14 2023-11-16 00:21:34 +01:00
zadam
0afc41060a template LABEL should not be inherited #4349 2023-11-16 00:11:14 +01:00
zadam
6e2d76c2b4 release 0.62.1-beta 2023-11-14 00:57:51 +01:00
zadam
3abf74a9f3 fix katex CSS loading 2023-11-14 00:57:19 +01:00
zadam
5d52498da1 Merge branch 'stable' 2023-11-14 00:19:15 +01:00
zadam
cf068211ff change the way frontend detects content change which works even if no new blob is created, fixes #4434 2023-11-13 23:53:14 +01:00
zadam
0507c46ae9 revert general HTML support 2023-11-13 00:58:55 +01:00
zadam
69ed3644f9 add a note about hideHighlightWidget to options 2023-11-13 00:39:28 +01:00
zadam
b0c5894691 added hideHighlightWidget to built in attributes 2023-11-13 00:36:08 +01:00
zadam
f10fc7bd7f Revert "Add attribute disableHighlightsList to disable Highlights List Widget"
This reverts commit e7d98206f9.
2023-11-13 00:34:09 +01:00
zadam
bdbaacaac9 Merge pull request #4421 from fang64/master
Add attribute disableHighlightsList to disable Highlights List Widget
2023-11-13 00:31:00 +01:00
zadam
2790f52e36 Merge pull request #4417 from ljgonzalez1/master
Migrate KaTeX@0.16.0 from `libraries` to KaTeX@0.16.9 in `node_modules`
2023-11-13 00:29:15 +01:00
zadam
6515dd7b23 fix assigning extension to attachment export filenames, closes #4415 2023-11-12 23:57:21 +01:00
zadam
5a38bf78e1 fix content renderer of protected canvas/mermaid notes, closes #4414 2023-11-12 23:43:04 +01:00
zadam
4bdb40904f fix loading reference link titles in read-only text notes, closes #4404 2023-11-12 22:57:04 +01:00
fang64
e7d98206f9 Add attribute disableHighlightsList to disable Highlights List Widget 2023-11-09 21:32:45 -05:00
Luis González
1939375161 Merge pull request #3 from ljgonzalez1/feat/migrate_katex_to_npm_v2
Feat/migrate katex to npm
2023-11-09 19:06:25 -03:00
Luis González
ec737d02b2 feat(src/routes/assets.js): Add KaTex support to assets route. 2023-11-09 18:33:36 -03:00
Luis González
927e5ede0c feat(src/routes/assets.js): Add KaTex support to assets route. 2023-11-09 18:21:53 -03: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
Luis González
3470347523 feat(package.json & package-lock.json): Add 'katex' package and update project version 2023-11-09 14:23:39 -03:00
Luis González
e25c86e947 Revert "🙈 gitignore" commits.
This reverts commits 30bd216500, 9a587e8c8c, 38e6008aa2, 5af1c7756c and c8d6f20c3b.

It reverts pr #2 from my branch
2023-11-09 13:16:50 -03:00
Luis González
fb1478f2dd Merge pull request #2
Add OS and IDE files to the gitignore + Add documentation
2023-11-09 12:07:12 -03:00
Luis González
c8d6f20c3b 🙈 gitignore(.gitignore): Include macOS and Linux system files 2023-11-09 11:59:04 -03:00
Luis González
5af1c7756c 🙈 gitignore(.idea/.gitignore): Ignore IntelliJ IDE specific files 2023-11-09 11:55:54 -03:00
Luis González
38e6008aa2 🙈 gitignore: Expand to ignore JetBrains IDEs, VisualStudioCode, and Kate templates. 2023-11-09 11:55:52 -03:00
Luis González
9a587e8c8c 🙈 gitignore: Add rules to maintain empty folders and all gitignore files. 2023-11-09 11:55:33 -03:00
Luis González
30bd216500 🙈 gitignore: Update documentation in gitignore and sort ignored folder/files by category. 2023-11-09 11:42:07 -03: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
Luis González
a3ce5b5d28 Merge pull request #1 from ljgonzalez1/feat/update_katex_0.16.9
Update Katex from 0.16.0 to 0.16.9
2023-11-08 17:16:59 -03:00
Luis González
b17848609b Update Katex from 0.16.0 to 0.16.9 2023-11-08 17:15:15 -03: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
zadam
e9ece21d20 release 0.62.0-beta 2023-11-06 23:13:25 +01:00
zadam
b700f069fe reduce flickering while hoisted 2023-11-06 23:11:57 +01:00
zadam
40fb6aa168 move the unhoist button to the right 2023-11-06 22:28:25 +01:00
zadam
341480e7cf scroll padding widget only on text and code notes 2023-11-06 22:26:17 +01:00
zadam
bde311fd76 upgrades 2023-11-06 22:23:18 +01:00
zadam
f8bc03feaf Merge branch 'stable' 2023-11-06 22:14:15 +01:00
zadam
7fc1eb5262 release 0.61.13 2023-11-06 00:21:41 +01:00
zadam
531e9d4aff graceful handling of sync error 2023-11-06 00:15:35 +01:00
zadam
e0d4766c2d fix recursion in the inline image processing 2023-11-05 21:50:08 +01:00
zadam
ab4e83771c fix throwing empty error 2023-11-04 22:53:09 +01:00
zadam
803b6df40c release 0.61.12 2023-11-04 00:16:19 +01:00
zadam
1ebdb0f5e1 emergency disabling of image compression since it appears to make problems in migration to 0.61 2023-11-04 00:10:54 +01:00
zadam
df5951ce46 improve sync debug info 2023-11-04 00:02:31 +01:00
zadam
809ffa0c6e small refactor of ordinal() func 2023-11-03 13:49:18 +01:00
zadam
6dd466ddaf updates 2023-11-03 12:23:14 +01:00
zadam
a45b801a84 reverted incomplete work on export per-directory metadata 2023-11-03 12:18:38 +01:00
zadam
f8ade4d0c5 Merge remote-tracking branch 'origin/master' 2023-11-03 12:15:46 +01:00
zadam
889cb1d7b1 Merge branch 'stable'
# Conflicts:
#	package.json
2023-11-03 12:15:39 +01:00
zadam
d3a477b8f2 release 0.61.11 2023-11-03 11:46:53 +01:00
zadam
4db042736c Merge pull request #4371 from rauenzi/pwa-manifest
Update webmanifest for wider compatibility
2023-11-03 11:25:17 +01:00
zadam
612e4406b5 refactored TOC and Highlights close buttons and added a button to quickly access options 2023-11-03 10:44:14 +01:00
zadam
76f874ef6d refactoring of the complex note tree entitiesReloadedEvent 2023-11-03 08:58:57 +01:00
zadam
f37f47ce5b fixes to stable sorting 2023-11-03 01:11:47 +01:00
zadam
45ed436426 added runOnBranchChange event #4108 2023-11-02 23:26:32 +01:00
Zack Rauen
9314cf87c5 Update manifest for wider compatibility
Partially fixes #920
2023-11-01 12:30:01 -04:00
zadam
0efc42081d more tests 2023-11-01 00:41:35 +01:00
zadam
7d80fe19e0 add backend API methods to access options, attachments, revisions, etapi tokens 2023-10-31 22:26:56 +01:00
zadam
de8c351e25 reduce indent of TOC when larger headings are not being used, fixes #4363 2023-10-31 00:18:03 +01:00
zadam
695c9d5cf3 more note etapi tests 2023-10-30 23:51:53 +01:00
zadam
8690228d98 etapi test infrastructure plus a basic note creation test 2023-10-29 23:24:11 +01:00
zadam
01093d05d7 qswitch-electron, qswitch-server npm scripts 2023-10-29 18:39:53 +01:00
zadam
690caf7da1 Merge branch 'beta'
# Conflicts:
#	package-lock.json
#	package.json
2023-10-29 16:43:31 +01:00
zadam
a9b63111ae qstart-electron, qstart-server npm scripts 2023-10-29 16:42:30 +01:00
zadam
eb0a68d0ab note list should show the prefix, #4362 2023-10-29 01:02:55 +02:00
zadam
48e98b2ac3 add api.runAsyncOnBackendWithManualTransactionHandling() variant and add toast warnings about improper usage. 2023-10-29 00:51:23 +02:00
zadam
ed1a731950 extra hint on "noproxy directly in the setting", #3934 2023-10-24 23:15:18 +02:00
zadam
4660c154e9 refactor 2023-10-24 23:10:52 +02:00
zadam
ef974ab1f5 add shell as enabled by default #4347 2023-10-24 23:00:46 +02:00
zadam
bacae67374 fix import 2023-10-24 00:14:15 +02:00
zadam
cc20d17bd2 npm upgrades && docs 2023-10-24 00:13:20 +02:00
zadam
494b240015 Merge branch 'beta'
# Conflicts:
#	src/public/app/layouts/desktop_layout.js
2023-10-24 00:09:37 +02:00
zadam
1cd391a132 mermaid 10.5.1 2023-10-22 23:57:28 +02:00
zadam
1c15527d95 added "greater than 0" and "less than 2" for ancestor depth, fixes #4343 2023-10-22 23:52:21 +02:00
zadam
7af79ec33b limit mermaid width, #4340 2023-10-21 23:24:43 +02:00
zadam
4294c043d8 enabled CKEditor HTML support 2023-10-21 23:19:14 +02:00
zadam
e5b925abf8 added extra elements to the html sanitizer 2023-10-21 18:03:06 +02:00
zadam
90c0a4a437 respect safeImport flag when sanitizing imported content 2023-10-21 17:54:07 +02:00
zadam
692f7868bc updated demo document so that canvas and mermaid have generated export attachments 2023-10-21 17:36:08 +02:00
zadam
5282af55f6 render attachment SVG when sharing mermaid 2023-10-21 17:32:07 +02:00
zadam
aefc4c6bd2 ckeditor 40 2023-10-21 17:24:47 +02:00
zadam
b39ba76505 add ability to insert mermaid diagram into text notes as image 2023-10-21 00:23:16 +02:00
zadam
9d918e7a54 fix image zooming 2023-10-20 23:44:30 +02:00
zadam
4773f9392b don't log known slow queries 2023-10-20 09:36:57 +02:00
zadam
5c10fc26be Merge branch 'beta'
# Conflicts:
#	package.json
#	src/public/app/layouts/desktop_layout.js
2023-10-20 09:15:48 +02:00
zadam
38db7f9db7 style tweaks #4338 2023-10-19 23:54:36 +02:00
zadam
5163e50e7d use mtime instead of ctime for backups #4321 2023-10-19 23:02:37 +02:00
zadam
5115b33446 release 0.61.10-beta 2023-10-19 09:33:51 +02:00
zadam
b01fe5ead9 add canvas properties with a button to copy reference to clipboard which allows inserting canvas as an image into text notes 2023-10-19 09:20:23 +02:00
zadam
b1d4a258a1 move FAB down in canvas 2023-10-19 09:03:49 +02:00
zadam
ca041bb658 fix expanded status when moving note trees 2023-10-19 08:58:04 +02:00
zadam
52244ddc99 Merge branch 'beta'
# Conflicts:
#	docs/backend_api/BAttachment.html
#	docs/backend_api/BNote.html
#	docs/backend_api/BackendScriptApi.html
#	package-lock.json
#	package.json
2023-10-19 01:13:45 +02:00
zadam
87a60e325f added ctime to backup list #4321 2023-10-19 00:51:38 +02:00
zadam
0a172d8bc1 add api.runOutsideOfSync() to backend script API, #4327 2023-10-19 00:29:03 +02:00
zadam
67a12d3c4d improve sync error logging 2023-10-19 00:13:11 +02:00
zadam
5b2ba3646d removed maxTouchPoints condition for detection of mobile browsers, #4316 2023-10-18 23:23:20 +02:00
zadam
148bff9f77 show existing backups and anonymized DBs, #4321 2023-10-18 23:16:47 +02:00
zadam
2132cf3bdc nodejs 18.18.2 2023-10-18 09:40:00 +02:00
zadam
d5271c17e3 fix sync bug 2023-10-18 09:37:36 +02:00
zadam
b764761e58 run local dev with TRILIUM_SAFE_MODE as a safety precaution 2023-10-18 09:36:49 +02:00
zadam
c666fc3b98 make sure exact noteId match comes on the top in search 2023-10-18 09:33:24 +02:00
zadam
ba34df2e15 typo 2023-10-18 09:24:13 +02:00
zadam
840ac2d63e updates 2023-10-14 21:15:06 +02:00
zadam
5dd4586ebe added webViewSrc to builtin attrs 2023-10-14 21:09:20 +02:00
zadam
bd7fa16e96 Merge remote-tracking branch 'origin/master' 2023-10-09 23:08:32 +03:00
zadam
846ac9305e don't anonymize option notes 2023-10-09 23:08:25 +03:00
zadam
db8014c0ef Merge pull request #4298 from rauenzi/share
Add ~shareTemplate and #shareExternalLink
2023-10-09 22:28:20 +03:00
Zack Rauen
a3540772dd Merge remote-tracking branch 'upstream/master' into share 2023-10-08 17:19:32 -04:00
zadam
137703ada4 add promoted attributes widget to the mobile version, closes #4314 2023-10-08 22:58:31 +03:00
Zack Rauen
ec6b8476f9 Adjust shared notes search api 2023-10-08 14:54:37 -04:00
zadam
d09d3f5a96 release 0.61.9-beta 2023-10-07 23:02:47 +03:00
zadam
3d15aeae58 def value 2023-10-07 23:02:33 +03:00
zadam
9765892d18 fix loading canvas notes created in 0.61.7-beta, closes #4313 2023-10-07 21:49:25 +03:00
zadam
00f5924251 jsdocs 2023-10-07 20:57:53 +03:00
zadam
99d0f22403 Merge branch 'beta'
# Conflicts:
#	package-lock.json
2023-10-07 20:51:26 +03:00
zadam
78f8a37587 added total result count to the note list widget 2023-10-06 22:02:09 +03:00
zadam
86d62866f2 catch JSON stringify error, #4310 2023-10-05 21:54:59 +02:00
zadam
1dc3fafcbf improve anonymization 2023-10-03 23:17:15 +02:00
zadam
7f06952d9e improve anonymization 2023-10-03 23:14:02 +02:00
zadam
78b6614eea fix docker-compose.yml #2239 2023-10-03 11:21:14 +02:00
zadam
9665e872c2 fix importing inline images within markdown within zip, closes #4301 2023-10-03 09:40:31 +02:00
zadam
9db0a062ed fix calculating revision attachment size 2023-10-03 09:05:30 +02:00
zadam
055bb39e4d Merge remote-tracking branch 'origin/beta' into beta 2023-10-02 22:02:31 +02:00
zadam
1261a06a30 order by note size + attachments + revisions, closes #4295 2023-10-02 22:02:25 +02:00
zadam
91eb3c45d5 added "save revision" to note actions menu 2023-10-02 15:29:45 +02:00
zadam
3944235592 -console.log 2023-10-02 15:25:12 +02:00
zadam
5be61e6142 saving / viewing canvas revisions 2023-10-02 15:24:40 +02:00
zadam
62ccf798ee allow deleting custom launchers, fixes #4291 2023-09-30 22:38:06 +02:00
Zack Rauen
d259931bd2 Add new attributes in appropriate locations 2023-09-30 00:48:34 -04:00
Zack Rauen
7729aad1e9 Allow external link notes in share tree 2023-09-30 00:44:10 -04:00
zadam
70d6bd0157 release 0.61.8-beta 2023-09-29 00:54:45 +02:00
zadam
e5555beea9 logging reason for frontend reload 2023-09-28 23:47:19 +02:00
zadam
9767b6269a upgrade code mirror to 5.65.15 and fix modes requiring multiplex or overlay, fixes #4279 2023-09-28 01:02:27 +02:00
zadam
7e486fda06 electron update 2023-09-28 00:27:00 +02:00
zadam
9f726304aa sync fix, #4288 2023-09-28 00:24:53 +02:00
Zack Rauen
614cc4dd82 Allow users to use their own share template 2023-09-27 14:34:07 -04:00
zadam
3e8f09d306 allow shrinking note title text in the tree to make space for the "add note" button https://github.com/zadam/trilium/discussions/4287 2023-09-26 00:14:28 +02:00
zadam
613b83e638 Merge pull request #4281 from rauenzi/jump-to-toc
Fix jump to ToC for nested headers
2023-09-25 23:33:00 +02:00
zadam
4ac609ff57 Merge pull request #4280 from rauenzi/promoted-alias
Add option for promoted aliases
2023-09-25 23:30:39 +02:00
zadam
c14ce2c428 Merge pull request #4278 from Nriver/master
sort mime types alphabetically
2023-09-25 23:28:22 +02:00
zadam
984bd726e9 add support for "bottom" sort, closes #4277 2023-09-25 23:25:00 +02:00
zadam
964abf390b API docs 2023-09-25 23:11:24 +02:00
zadam
af24758ad4 Merge branch 'beta'
# Conflicts:
#	docs/backend_api/BAttachment.html
#	docs/backend_api/BNote.html
#	docs/backend_api/becca_entities_bnote.js.html
#	docs/frontend_api/FAttribute.html
#	docs/frontend_api/FBranch.html
#	docs/frontend_api/FNote.html
#	docs/frontend_api/FrontendScriptApi.html
#	docs/frontend_api/entities_fattachment.js.html
#	docs/frontend_api/entities_fattribute.js.html
#	docs/frontend_api/entities_fblob.js.html
#	docs/frontend_api/entities_fbranch.js.html
#	docs/frontend_api/entities_fnote.js.html
#	docs/frontend_api/global.html
#	docs/frontend_api/index.html
#	docs/frontend_api/services_frontend_script_api.js.html
#	package-lock.json
2023-09-25 23:11:07 +02:00
zadam
528d94a8fb accept custom widgets as classes instead of instances, #4274 2023-09-25 23:05:54 +02:00
zadam
be918628c3 global API docs 2023-09-25 23:04:03 +02:00
zadam
602b9ae64a API docs 2023-09-23 00:04:32 +02:00
zadam
602a166e36 added info, confirm, prompt dialogs 2023-09-23 00:04:16 +02:00
zadam
2e69cc8331 Merge pull request #4267 from rauenzi/tray
Add hotkey option to toggle hide to tray
2023-09-22 23:52:47 +02:00
zadam
aaad858395 save scroll and zoom in canvas 2023-09-22 23:44:03 +02:00
Zack Rauen
b266c327e4 Fix jump to ToC for nested headers 2023-09-22 05:52:06 -04:00
Zack Rauen
149462e3ab Add option for promoted alias 2023-09-22 04:58:06 -04:00
Nriver
237d309406 sort mime types alphabetically 2023-09-22 09:58:37 +08:00
zadam
48248224f8 release 0.61.7-beta 2023-09-21 23:38:18 +02:00
zadam
79e5e3b65f more logging for sync 2023-09-21 18:13:14 +02:00
zadam
d0383f3044 remove debian packaging hack 2023-09-21 12:44:20 +02:00
zadam
62ecd1ad76 node 18.18.0 2023-09-21 12:29:11 +02:00
zadam
75b7706c2c mermaid 10.4.0 2023-09-21 12:24:44 +02:00
zadam
584b176643 hiding useless/misleading buttons from excalidraw 2023-09-21 12:03:40 +02:00
zadam
a16555bbff don't save appState in canvas - app state should be reset after each load 2023-09-21 11:54:54 +02:00
zadam
a749e24147 fix creating revisions for non-text notes #4176 2023-09-21 11:38:38 +02:00
zadam
bb81f110dd improved error handling 2023-09-21 11:16:03 +02:00
zadam
5dd6f49104 chart js 0.16.0 2023-09-19 23:59:05 +02:00
zadam
bc6be44b19 better error condition checks 2023-09-19 23:48:55 +02:00
zadam
8075265753 fix migration, closes #4262 2023-09-18 23:45:00 +02:00
Zack Rauen
9d69024758 Add hotkey option to toggle hide to tray
Fixes #3043
2023-09-18 04:38:23 -04:00
zadam
40ca949890 fixes for tooltip auto-disappearing handling 2023-09-14 00:40:49 +02:00
zadam
035113db4d Merge branch 'beta'
# Conflicts:
#	package-lock.json
2023-09-14 00:19:19 +02:00
zadam
4a67f63abd better error message in image attachment + upgrades 2023-09-14 00:18:56 +02:00
zadam
d9666210f1 make sure that the hidden note is never selected when hoisted to root to avoid e.g. erroneous deletion 2023-09-13 16:57:24 +02:00
zadam
925bba134e formatting 2023-09-13 09:10:56 +02:00
zadam
d46801ff1f refactoring, tab switching handling shouldn't be on the widget level 2023-09-13 09:01:55 +02:00
zadam
7848c7e319 Merge pull request #4251 from rauenzi/tab-navigation
Add keyboard shortcuts for tabs
2023-09-13 00:22:01 +02:00
zadam
65e53741e7 Merge pull request #4255 from Compositr/master
Add new datePattern and monthPattern replacers
2023-09-13 00:19:04 +02:00
Zack Rauen
a83e8ff91a Switch back to window scope 2023-09-11 18:03:49 -04:00
Compositr
542e2579df feat: add new datePattern replacers for shortmonth
* `{shortMonth3}` 3-letter months, e.g. Sep, Oct, Nov, Dec
* `{shortMonth4}` 4-letter months, e.g. Sept, Octo, Nove, Dece
2023-09-12 07:35:46 +10:00
Compositr
81d64e020e feat: add new datePattern replacer {ordinal}
* {ordinal} is replaced with the ordinal date (e.g. 1st, 2nd, 3rd) etc.
2023-09-12 07:30:30 +10:00
zadam
9413cd2296 comment explaining scope in keyboard actions 2023-09-11 22:54:36 +02:00
zadam
5b85713bf3 saving export meta file per directory 2023-09-11 00:12:12 +02:00
Zack Rauen
15254e2dfc Add keyboard shortcuts for tabs 2023-09-08 22:53:21 -04:00
zadam
5f6d562bf8 add ability to excalidraw to follow links 2023-09-08 23:00:43 +02:00
zadam
f37dc66074 add support for storing canvas libraries in note attachments plus storing exported SVG in attachment 2023-09-08 21:53:57 +02:00
zadam
c881b39860 Merge branch 'beta'
# Conflicts:
#	package-lock.json
2023-09-08 01:10:12 +02:00
zadam
0b84524807 fix refreshing note actions on note/tab switch, closes #4247 2023-09-08 00:43:18 +02:00
zadam
5218f7b7a6 Merge pull request #4246 from SiriusXT/open-note-custom
Add openAttachmentCustom
2023-09-08 00:31:20 +02:00
zadam
8062bb7e2a fix reloading unprotected note title to the document.title after entering protected session, fixes #4244 2023-09-08 00:28:00 +02:00
zadam
806062c8d1 fix undelete attachments 2023-09-08 00:22:48 +02:00
zadam
83f19c0537 fix protecting attachments 2023-09-08 00:19:30 +02:00
siriusXT
0424728012 Add openAttachmentCustom 2023-09-07 06:33:51 +00:00
zadam
3a83d58b25 release 0.61.6-beta 2023-09-06 23:57:29 +02:00
zadam
6fa9d996e8 ckeditor 39.0.2 2023-09-06 23:23:42 +02:00
siriusXT
1ea3d238e0 Fix right click bookmark bug
(cherry picked from commit 92e43bc051)
2023-09-06 23:11:51 +02:00
zadam
eb273b7dbb lib upgrades 2023-09-06 23:11:02 +02:00
zadam
55374ac4d9 Merge pull request #4240 from SiriusXT/LauncherWidget
Fix right click bookmark bug
2023-09-06 23:10:54 +02:00
zadam
8070c00b5f API docs 2023-09-06 23:05:03 +02:00
zadam
da8025f1e4 Merge branch 'beta' 2023-09-06 23:00:45 +02:00
zadam
d2263c68f8 provide note dates in the frontend API, fixes #4232 2023-09-06 22:54:31 +02:00
siriusXT
92e43bc051 Fix right click bookmark bug 2023-09-06 14:49:01 +00:00
zadam
40971afe4f API docs build 2023-09-06 09:25:00 +02:00
zadam
90fc4b8293 Merge branch 'beta'
# Conflicts:
#	docs/backend_api/BAttachment.html
#	docs/backend_api/BRevision.html
#	docs/backend_api/BackendScriptApi.html
#	docs/backend_api/becca_entities_battachment.js.html
#	docs/backend_api/becca_entities_bblob.js.html
#	docs/backend_api/becca_entities_brevision.js.html
#	docs/frontend_api/FNote.html
#	docs/frontend_api/FrontendScriptApi.html
#	docs/frontend_api/entities_fattachment.js.html
#	docs/frontend_api/entities_fblob.js.html
#	docs/frontend_api/services_frontend_script_api.js.html
#	package-lock.json
#	src/public/app/services/frontend_script_api.js
2023-09-06 09:24:41 +02:00
zadam
97d8b19868 add missing API docs 2023-09-06 09:23:13 +02:00
zadam
2bc7da91a6 add createLink() returns jsDoc, #4235 2023-09-06 09:20:32 +02:00
zadam
2b4cbb5f6b fix clipperInbox handling for new note creation, closes #4219 2023-09-05 23:24:01 +02:00
zadam
72b2a6ecb6 Merge pull request #4225 from SiriusXT/master
Click the button to reset the zoom level
2023-09-05 23:01:50 +02:00
zadam
7b662b04ff fix orderby with multiple labels, closes #4220 2023-09-05 23:00:08 +02:00
zadam
f8e4a665bd fixed search parser tests 2023-09-05 22:48:20 +02:00
zadam
f9a27dd90c add imageStyle alignBlockLeft, alignBlockRight, fixes #4215 2023-09-05 22:16:45 +02:00
zadam
641985737f fix FNote.getContent() #4210 2023-09-05 22:02:26 +02:00
zadam
121e4ba2ea fix displaying 1 / 0 in find widget 2023-09-05 21:00:24 +02:00
zadam
01474ecd2d sync fixes 2023-09-05 00:30:09 +02:00
zadam
82e4e28e7b fix 2023-09-04 23:57:42 +02:00
SnnBcd xt
06eb522a8c Click the button to reset the zoom level 2023-09-01 06:40:36 +00:00
SnnBcd xt
21098be307 Click the button to reset the zoom level 2023-09-01 03:30:39 +00:00
zadam
886ee0dbcb fix sync exception 2023-08-31 00:14:35 +02:00
zadam
6f7fbacca1 add "api.runOnFrontend()" to the backend script API 2023-08-30 23:18:16 +02:00
zadam
f5ddabc042 Merge pull request #4202 from eliandoran/feature/jump_to_note_list
Use a list instead of dropdown for jump-to-note
2023-08-30 22:17:04 +02:00
vaifix
8da5b90aea Fix bug: Calendar display incorrect tooltips.
(cherry picked from commit 58fe3a62af)
2023-08-30 00:20:42 +02:00
zadam
23848526c0 Merge pull request #4197 from dvai/master
fix some bugs
2023-08-30 00:19:53 +02:00
zadam
e7d57bc08f Merge remote-tracking branch 'origin/beta' into beta
# Conflicts:
#	package-lock.json
2023-08-30 00:11:52 +02:00
zadam
041758766a allow specifying date created in the ETAPI, #4199 2023-08-30 00:11:32 +02:00
Elian Doran
69980c798b note autocomplete: Use backspace icon for delete text 2023-08-28 23:07:08 +03:00
Elian Doran
4de6a803e9 jump to note list: Remove scroll when not needed 2023-08-28 22:30:42 +03:00
Elian Doran
748c5064b5 jump to note list: Improve scroll bar position 2023-08-28 22:21:54 +03:00
Elian Doran
c6e8966ecd jump to note: Improve position of close button 2023-08-28 22:15:36 +03:00
Elian Doran
8c247ba7c6 jump to note list: Improve layout 2023-08-28 22:12:14 +03:00
Elian Doran
52b5711ecd jump to note: Add "Create and link child note" 2023-08-28 21:51:40 +03:00
vaifix
58fe3a62af Fix bug: Calendar display incorrect tooltips. 2023-08-28 20:43:03 +08:00
Elian Doran
af4d0c3ba6 jump to note list: Improve layout slightly 2023-08-26 17:52:01 +03:00
Elian Doran
4bba0aa842 jump to note list: Re-enable styling 2023-08-26 17:52:01 +03:00
Elian Doran
ae9af8ea23 jump to note list: Use a proper height to the container 2023-08-26 17:52:01 +03:00
Elian Doran
eea29aba0e jump to note list: Don't close jump to note results on lost focus 2023-08-26 17:51:58 +03:00
Elian Doran
abbd0b50eb jump to note list: Use a fixed container instead of dropdown 2023-08-26 17:51:47 +03:00
vaifix
739ab28763 Resolve autocomplete error 2023-08-25 13:01:53 +08:00
zadam
c551eae651 Merge pull request #4188 from rauenzi/master
Update JSDoc & API Docs
2023-08-21 23:46:40 +02:00
Zack Rauen
d5aea26960 Update API Docs 2023-08-21 04:18:14 -04:00
Zack Rauen
d3730ac1a9 Fix and improve JSDoc for APIs 2023-08-21 04:15:53 -04:00
zadam
f2a510e4c5 cleanup of old migrations, since upgrading to 0.61 is possible only from 0.60. 2023-08-18 15:56:38 +02:00
zadam
4717242dc7 force migration to 0.60 first before 0.61 #4132 2023-08-18 15:55:59 +02:00
zadam
b5ef09e779 hide canvas buttons which don't work, #4182 2023-08-18 15:33:20 +02:00
zadam
d706b3a447 fix saving revisions for non-text types, closes #4176 2023-08-17 16:39:57 +02:00
zadam
6c96cca3a5 add 200ms timeout to api.getTextEditor() and similar #4174 2023-08-17 16:31:04 +02:00
zadam
c1865f8564 small refactor 2023-08-17 09:09:06 +02:00
zadam
515c5411a6 release 0.61.5-beta 2023-08-16 23:02:15 +02:00
zadam
3f7a5504c7 prettier config 2023-08-16 20:31:14 +02:00
zadam
8c7c37cf98 updates 2023-08-16 20:12:22 +02:00
zadam
d93e00adce Merge pull request #4168 from soulsands/button-style
fix: launcher-button style
2023-08-16 00:02:26 +02:00
zadam
0e16e48db6 scroll beyond last line in text/code editor, fixes #2728 2023-08-15 22:50:13 +02:00
zadam
c0f48c0e99 mermaid 10.3.1 2023-08-15 10:30:30 +02:00
zadam
abedf2bba4 fix pasting into ckeditor, upgrade to v39.0.1 2023-08-15 10:25:23 +02:00
zadam
bb0137b2fd fix displaying options / book on firefox, closes #4165 2023-08-15 10:25:23 +02:00
zadam
6c54c7d17d save enex images as attachment, fixes #4163 2023-08-15 10:25:23 +02:00
“soulsands”
cd95adcecb fix: launcher-button style 2023-08-15 16:11:13 +08:00
zadam
90255ac55b release 0.61.4-beta 2023-08-10 23:49:37 +02:00
zadam
e741c2826c release 0.61.4-beta 2023-08-10 23:48:27 +02:00
zadam
026992db78 release 0.61.4-beta 2023-08-10 23:46:42 +02:00
zadam
33780c1e17 fix note tooltip code rendering 2023-08-10 13:50:25 +02:00
zadam
ede9c43f67 API docs 2023-08-10 13:40:26 +02:00
zadam
5c12ac4eee fix CKEditor crashing 2023-08-10 13:40:15 +02:00
zadam
522518cf0d disambiguous query 2023-08-09 23:12:31 +02:00
zadam
1d869d25c2 fix #clipperInbox, closes #4153 2023-08-09 23:00:42 +02:00
zadam
a9cdd93cb4 added options to disable auto-opening of promoted attributes and edited notes ribbon tabs, closes #4151 2023-08-09 22:50:41 +02:00
zadam
4240da349d add shared info to mobile layout, closes #4147 2023-08-09 00:02:45 +02:00
zadam
c257bc07a8 clipper now creates notes with image attachments instead of image notes 2023-08-09 00:01:31 +02:00
zadam
00eaa16985 clipper now creates notes with image attachments instead of image notes 2023-08-08 23:42:47 +02:00
zadam
fefb059564 clipper now creates notes with image attachments instead of image notes 2023-08-08 23:07:59 +02:00
zadam
9166765ced fix include note sizing when in readonly mode, closes #4135 2023-08-08 22:56:45 +02:00
zadam
6ae7661603 note path validation 2023-08-02 23:23:31 +02:00
zadam
30e75056bd release 0.61.3-beta 2023-07-31 23:03:45 +02:00
zadam
530e56dcb5 fixed comment 2023-07-31 22:59:47 +02:00
zadam
63675bfbae make migration 223 NOOP 2023-07-30 21:54:01 +02:00
zadam
696ce38083 ckeditor 38.1.1 2023-07-30 00:32:16 +02:00
zadam
12014b9f4d sync fixes and refactorings 2023-07-29 23:35:08 +02:00
zadam
e8b52f9e6c sync fixes and refactorings 2023-07-29 23:25:02 +02:00
zadam
04b125afc0 sync fixes and refactorings 2023-07-29 21:59:20 +02:00
zadam
2a7fe85020 VACUUM database after migration 2023-07-28 16:22:10 +02:00
zadam
119050e355 fix migration 2023-07-28 16:13:31 +02:00
zadam
72122d0f95 fix blobIds - they shouldn't contain + and / characters 2023-07-28 15:55:26 +02:00
zadam
bd22863bb7 release 0.61.2-beta 2023-07-28 00:06:23 +02:00
zadam
ce3834eb9e blob erasure is not synced, need to clean them up before each content hash check 2023-07-27 23:57:12 +02:00
zadam
8edb5428e5 small sync fixes and refactorings 2023-07-27 23:22:08 +02:00
zadam
527718eff7 add indices on blobId 2023-07-27 21:40:47 +02:00
zadam
5b0f487f3f handle ERR_* errors gracefully 2023-07-27 14:50:18 +02:00
zadam
a3fa8341ba handle ERR_CONNECTION_RESET gracefully 2023-07-27 10:55:34 +02:00
zadam
04813743e2 fix zooming speed, closes #4121 2023-07-25 22:33:35 +02:00
zadam
ddf75cd5e5 note tooltip displays the whole note with scrollbar, other behavior changes. closes #4120 2023-07-25 22:27:15 +02:00
zadam
d0e5ad5b7e release 0.61.1-beta 2023-07-24 23:47:57 +02:00
zadam
b4631e927c Merge remote-tracking branch 'origin/master' 2023-07-24 23:47:27 +02:00
zadam
b7bc843a37 fix demo document statistics, closes #4117 2023-07-24 23:46:02 +02:00
zadam
98d65f8767 Merge pull request #4114 from SiriusXT/master
Fix bugs in highlights,v0.61.0-beta
2023-07-24 22:58:20 +02:00
zadam
0599891ec0 Merge pull request #4001 from dymani/reopen-in-place
Reopen recently closed tab/split in place
2023-07-24 22:52:14 +02:00
zadam
cc06701565 swiftshader deletion is no longer needed 2023-07-24 22:33:36 +02:00
SnnBcd xt
40683985cd Fix bugs in highlights 2023-07-22 19:13:03 +00:00
zadam
074e13a889 release 0.61.0-beta 2023-07-22 17:51:08 +02:00
zadam
98b0baefe2 Merge remote-tracking branch 'origin/master' into next61
# Conflicts:
#	src/public/app/widgets/buttons/note_actions.js
2023-07-22 17:49:29 +02:00
zadam
3aad0ebc95 Merge remote-tracking branch 'origin/next61' into next61 2023-07-22 17:48:17 +02:00
zadam
479d720a6e upgrades 2023-07-22 17:48:09 +02:00
zadam
e4892c9888 fixed order of multi-valued promoted attributes, closes #4105 2023-07-20 23:22:31 +02:00
zadam
f8c9178c5d fix migration 2023-07-18 23:23:52 +02:00
zadam
83049c95c3 defensive copies of owned attrs 2023-07-17 22:56:36 +02:00
zadam
bc8f531b33 fix a bug which caused immedate deletion of created attributes 2023-07-17 22:53:54 +02:00
zadam
23278f54cb force refresh before activating the attribute detail dialog, fixes #4077 2023-07-17 22:41:37 +02:00
zadam
18801fb3e1 more filtering of note actions based on note type 2023-07-17 22:32:07 +02:00
zadam
dc0a0dcf09 Merge pull request #4098 from AndrewPluzhnikov/fix-search-in-text
Disable Search in note button in global search context.
2023-07-17 22:30:49 +02:00
zadam
04c306b360 support combination of shared and cloned in the note tree, fixes #4097 2023-07-17 22:26:41 +02:00
zadam
d6a4f1db13 share tree should include branch prefixes, fixes #4096 2023-07-17 22:19:03 +02:00
zadam
84c4b368c8 updated better-sqlite binaries for node 18/electron 25 2023-07-17 21:39:25 +02:00
Andrew Pluzhnikov
4307f25205 Disable Search in note button in global search context.
This button doesn't actually do anything in the global search window, so
it should be greyed out/disabled.
2023-07-16 10:40:34 -07:00
zadam
48f03f7a1b API docs 2023-07-15 12:07:45 +02:00
zadam
9d24499fef upgrade excalidraw to 0.15.2 2023-07-15 12:01:09 +02:00
zadam
df97b269a7 autocomplete upgrade to 0.38.1 2023-07-15 11:45:18 +02:00
zadam
ee6fb98a0d jquery 3.7.0 2023-07-15 11:41:36 +02:00
zadam
13e30e5855 dayjs frontend update 2023-07-15 11:38:01 +02:00
zadam
5ab2ec0f13 little fixes for the datetime promoted attr 2023-07-15 11:29:29 +02:00
zadam
8465d7fa68 Merge remote-tracking branch 'origin/master' into next61 2023-07-15 11:27:42 +02:00
zadam
d153fc7ba5 Merge pull request #4090 from harishkumarc/datetime-attribute
added date and time attribute capability
2023-07-15 11:26:53 +02:00
zadam
1a7c2d4c32 fix hiding toc with multiple splits, closes #4093 2023-07-15 11:19:05 +02:00
zadam
b3381a3b53 reimplemented triggering search from URL, fixes #385 2023-07-15 10:59:30 +02:00
zadam
ac0d61e9b4 add mindmap mermaid example to demo document 2023-07-15 10:44:38 +02:00
zadam
b13a6ced19 cleanup 2023-07-15 10:33:29 +02:00
zadam
b61aab06b5 nodejs upgrade 2023-07-15 10:32:26 +02:00
zadam
64b86b2666 use marked instead of commonmark to convert MD to HTML, which supports e.g. tables, closes #2026 2023-07-15 10:31:50 +02:00
zadam
27e6fa9526 Merge branch 'stable' into next61 2023-07-15 10:10:29 +02:00
zadam
3d31742285 fix FNote.isHiddenCompletely() which returned false for _hidden 2023-07-15 09:50:07 +02:00
zadam
2b2f4fbc07 comment 2023-07-15 09:48:30 +02:00
zadam
513bf252cd don't display export for backend log note, fixes #4076 2023-07-15 09:35:03 +02:00
zadam
f591e954f3 capitalization of options titles 2023-07-15 09:26:18 +02:00
zadam
59de1925a9 decreased padding 2023-07-14 22:14:07 +02:00
zadam
6c1011341c add help button to attachment detail as well 2023-07-14 22:02:30 +02:00
zadam
906082a6b2 add help button to attachment list 2023-07-14 21:59:43 +02:00
zadam
30bcd1764a check the attachment after upload 2023-07-14 21:28:32 +02:00
zadam
cea54aecad check the attachment after conversion 2023-07-14 21:18:56 +02:00
zadam
ff6f2a4d44 zoom for the attachment images 2023-07-14 21:08:00 +02:00
zadam
5f6fded833 zoom for the attachment images 2023-07-14 21:06:15 +02:00
zadam
fed5f1a7d2 fix content renderer for mermaid 2023-07-14 20:03:28 +02:00
zadam
a06ee1ced1 added new mermaid diagram examples to the demo document 2023-07-14 20:00:53 +02:00
zadam
332b92791e upgrade mermaid to 10.2.4 2023-07-14 19:56:37 +02:00
zadam
d4a9461460 force graph upgrade 2023-07-14 19:45:10 +02:00
zadam
2dac6ab281 DB migration should convert only "perfect candidates" to attachments 2023-07-14 18:24:15 +02:00
zadam
4d00404f55 more actions triggering new tab should respect current hoisting 2023-07-14 18:15:31 +02:00
zadam
3adab07ddb common style for options number inputs 2023-07-14 18:05:19 +02:00
zadam
3d0c3652ce file note should reload after uploading new revision 2023-07-14 17:55:28 +02:00
zadam
c3f5bb5518 image note should reload after uploading new revision 2023-07-14 17:52:35 +02:00
zadam
b2d460d5c1 update demo document with images converted to attachments 2023-07-14 17:06:38 +02:00
zadam
d475346a09 renamed attachment's parentId to more fitting ownerId 2023-07-14 17:01:56 +02:00
zadam
ca41806bc2 import and export fixes 2023-07-13 23:54:47 +02:00
zadam
a748710b01 make file attachments accessible in revisions dialog 2023-07-10 20:30:04 +02:00
zadam
ac9a4b3afc fixes in etapi tests 2023-07-10 19:10:07 +02:00
zadam
b7f0fd2db3 Merge branch 'master' into next61
# Conflicts:
#	package-lock.json
#	src/public/app/services/note_content_renderer.js
#	src/public/app/widgets/note_tree.js
#	src/routes/routes.js
#	src/services/consistency_checks.js
#	src/services/notes.js
#	src/services/task_context.js
2023-07-10 18:20:36 +02:00
harishkumarchellappa
7d6c847d47 added date and time attribute capability 2023-07-10 17:24:34 +05:30
zadam
6ec6d66f17 Merge pull request #4084 from AndrewPluzhnikov/fix-868
Implement saving of global search string.
2023-07-09 23:52:36 +02:00
zadam
977089cc28 Merge pull request #4083 from viperdc/patch-1
Update docker_healthcheck.js
2023-07-09 23:47:55 +02:00
zadam
c3f8975166 small refactorings of clipper code 2023-07-09 22:58:34 +02:00
zadam
639f80b603 Merge pull request #4075 from manto89/feature/add-clippings-existing
Feature/add clippings existing url
2023-07-09 22:43:34 +02:00
Andrew Pluzhnikov
927da84d3b Implement saving of global search string.
This implements point 1 of issue 868.

After performing a search, when returning to the global search tab the
previous search term is now retained and preselected, making it easier
to repeat the same search or modify it.
2023-07-06 20:26:55 -07:00
viperdc
b8c9943deb Update docker_healthcheck.js
Correcting ini location for HTTPS health-check bypass.
2023-07-06 19:02:51 -04:00
manto89
bb6ab0fe45 Fix clipping html with parser when using web-clipper 2023-07-02 12:52:16 +02:00
manto89
0c86dece5f Fix clipType searching for web-clipper 2023-07-02 12:51:23 +02:00
zadam
b7b0bd80ed padding of right pane 2023-06-30 23:01:57 +02:00
zadam
f06207207b fix styling for videos 2023-06-30 16:36:03 +02:00
zadam
068684101f remove the option to show CKEditor banner 2023-06-30 15:58:42 +02:00
zadam
f78d96a3d4 refactoring of server and suppressing error during conversion of attachment into note 2023-06-30 15:44:30 +02:00
zadam
a0d958bf12 refactor uploading files 2023-06-30 15:25:45 +02:00
zadam
0802b81807 improved error logging in frontend 2023-06-30 12:14:58 +02:00
zadam
192e399cb5 typos 2023-06-30 11:18:34 +02:00
zadam
fc564f6aed fix eslint validation 2023-06-30 00:02:25 +02:00
zadam
eb34f9c64f small refactorings and fixes 2023-06-29 23:32:19 +02:00
zadam
48029cea7c small refactorings 2023-06-29 22:10:13 +02:00
zadam
f4ec4e58c7 fixed image styles 2023-06-29 21:30:26 +02:00
zadam
faa402fcda API docs 2023-06-29 20:54:58 +02:00
zadam
788841d256 fix mentions 2023-06-29 12:19:01 +02:00
zadam
b7c37fdf58 cleanup 2023-06-29 11:44:28 +02:00
zadam
a46c5a2243 use isLabelTruthy() for most binary labels 2023-06-29 00:14:12 +02:00
zadam
430f2975f8 make "excludeFromNoteMap" overridable with note.isLabelTruthy(), #4058 2023-06-29 00:04:30 +02:00
zadam
dd8226ff4c comment 2023-06-28 21:33:09 +02:00
zadam
807b442c7a fix froca update of erased blob 2023-06-28 21:28:41 +02:00
zadam
a452e4add5 sync fixes 2023-06-28 21:05:31 +02:00
zadam
48b30b985e attachment upload 2023-06-28 20:53:55 +02:00
zadam
05d2f4fe96 Merge branch 'stable' 2023-06-27 23:15:20 +02:00
zadam
85a75fc186 getOwnedAttributes() should not make a copy, consistent with similar methods 2023-06-27 23:03:17 +02:00
zadam
ddda4d9867 fix constructing result note path in the jump to note dialog, closes #4054 2023-06-27 22:57:13 +02:00
zadam
42c8059ae1 Merge pull request #4057 from dymani/master
Fix closing parenthesis
2023-06-27 21:38:36 +02:00
dymani
0f4eb8ff4c fix closing parenthesis 2023-06-28 02:31:17 +08:00
zadam
8ee537e2eb API comments 2023-06-27 00:14:13 +02:00
zadam
8eb091445b Merge pull request #4032 from mechanarchy/patch-1
Ignore SQL comments in query console
2023-06-26 23:05:42 +02:00
mechanarchy
1fc23c948e Fix SQL comment handling 2023-06-23 09:06:14 +10:00
zadam
cb2b97635a centering icons in note book vertically 2023-06-22 23:34:05 +02:00
zadam
8fb42e4517 Merge pull request #4049 from SiriusXT/master
Fix bugs in toc and improve related codes
2023-06-22 22:34:47 +02:00
zadam
edae1a5d1c Merge pull request #4050 from kianmeng/fix-typos
Fix typos
2023-06-22 22:33:09 +02:00
zadam
08398a1417 fix search scripts, closes #4048 2023-06-22 22:30:26 +02:00
Kian-Meng Ang
712304bbc6 Fix typos
Found via `codespell -S ./libraries,./package-lock.json -L tabel,tabels,uptodate,isnt,edn,falsy`
2023-06-23 00:27:04 +08:00
SiriusXT
afb893c157 Fix bugs in toc and improve related codes 2023-06-22 15:38:36 +08:00
manto89
ebccd48013 Don't search note by url if url begins with 'about:' 2023-06-21 18:06:28 +02:00
manto89
54065672aa Normalize behaviour with the other create method for web-clipper 2023-06-21 16:10:06 +02:00
manto89
8394ce8002 Change method when adding a new note.
Add reference to new backend method
2023-06-21 13:09:49 +02:00
zadam
176784834f simple formatter for source view of text HTML notes 2023-06-20 23:59:36 +02:00
zadam
a47004bb4e shift migrations after upmerge 2023-06-20 23:32:31 +02:00
zadam
995f1c9fc4 Merge branch 'stable' into next61
# Conflicts:
#	src/etapi/etapi.openapi.yaml
#	src/etapi/notes.js
#	src/public/app/widgets/type_widgets/editable_text.js
#	src/services/app_info.js
2023-06-20 23:30:45 +02:00
zadam
1f3b6feaff Merge branch 'master' into next61
# Conflicts:
#	src/public/app/widgets/note_tree.js
2023-06-20 23:28:41 +02:00
zadam
8095c77b91 cache icon count to make filtering more responsive on slower connections, #4044 2023-06-20 21:31:25 +02:00
zadam
6cfd18b29b read filter values in icon selector only after async events, #4044 2023-06-20 21:19:56 +02:00
zadam
defd997424 release 0.60.4 2023-06-19 23:26:50 +02:00
zadam
5905950c17 fix notePosition assignment for new children of root 2023-06-19 00:29:36 +02:00
zadam
691fccb769 fix keyboard navigation in the note tree, fixes #4036 2023-06-18 23:45:48 +02:00
zadam
bbe3f436d3 avoid scrolling to active node without a reason, fixes #4031 2023-06-18 21:50:22 +02:00
mechanarchy
af053b61fc Ignore SQL comments in query console 2023-06-17 17:06:17 +10:00
zadam
e22f77eae7 release 0.60.3 2023-06-15 23:23:37 +02:00
zadam
3223e76787 etapi ZIP import 2023-06-15 23:21:40 +02:00
zadam
74400dad97 fix race condition between script execution and saving, closes #4028 2023-06-15 21:51:41 +02:00
zadam
1b68adf3e4 compatibility with online excalidraw tool 2023-06-15 21:34:42 +02:00
zadam
a2cd6f92d7 compatibility with online excalidraw tool 2023-06-15 21:34:02 +02:00
zadam
3ff5fe61b2 unified file and image upload WIP 2023-06-15 01:26:38 +02:00
zadam
75c6afd1c3 fix loading of string content saved as binary 2023-06-14 22:21:22 +02:00
zadam
8d2958738f add option to hide the "Powered by CKEditor" banner 2023-06-14 00:51:05 +02:00
zadam
0496412f4a cleanup of unused options 2023-06-14 00:38:48 +02:00
zadam
f80a20d18c don't use non-existing btn-xs 2023-06-14 00:31:15 +02:00
zadam
34c642a49a rename attachment 2023-06-14 00:28:59 +02:00
zadam
2ebbc33081 fix revision rename DB migration 2023-06-13 23:39:42 +02:00
zadam
ac56056f65 Merge branch 'master' into next61
# Conflicts:
#	package-lock.json
#	src/routes/api/recent_changes.js
2023-06-13 23:25:35 +02:00
zadam
6f16b4caec Merge branch 'beta' 2023-06-13 23:24:09 +02:00
zadam
bea39f37ee stop click propagation in tree item actions 2023-06-13 00:12:55 +02:00
mechanarchy
6548149107 Update etapi.js
(cherry picked from commit b97ebe9f03)
2023-06-12 23:21:38 +02:00
zadam
fbc805a221 Merge pull request #4019 from mechanarchy/patch-2
Fix attempted ETAPI token rename after cancel
2023-06-12 23:21:13 +02:00
zadam
6015a067ec sql console outputs results of CTEs, fixes #2800 2023-06-12 23:18:57 +02:00
mechanarchy
4a1ecd906b Update entrypoints.js
(cherry picked from commit 08ec866dd2)
2023-06-12 23:13:40 +02:00
zadam
41844cf817 Merge pull request #4017 from mechanarchy/patch-1
Fix SQL Console error messages
2023-06-12 23:12:35 +02:00
zadam
004cfe1965 allow creating backups via ETAPI, #4014 2023-06-12 23:09:29 +02:00
mechanarchy
b97ebe9f03 Update etapi.js 2023-06-10 17:36:23 +10:00
mechanarchy
08ec866dd2 Update entrypoints.js 2023-06-10 07:44:23 +10:00
zadam
38839532d5 file upload WIP 2023-06-06 12:31:38 +02:00
zadam
0234ff5fca share support for attachment file download 2023-06-06 00:16:32 +02:00
zadam
44bcfd47c0 share support for attachment images 2023-06-05 23:05:05 +02:00
zadam
69c7eb14aa fixes 2023-06-05 21:14:33 +02:00
zadam
00453fc151 attachment ETAPI tests WIP 2023-06-05 17:00:58 +02:00
zadam
5c393f959d got rid of .isDeleted on froca entities (the property is not available there) 2023-06-05 16:26:05 +02:00
zadam
e6bf6424e8 rename loadresults methods/properties for clarity that they don't contain entities, only rows 2023-06-05 16:12:02 +02:00
zadam
57702a07a2 attachment ETAPI support WIP 2023-06-05 09:44:36 +02:00
zadam
3b3f6082a7 attachment ETAPI support WIP 2023-06-05 09:23:42 +02:00
zadam
49241ab318 merge 2023-06-05 00:12:08 +02:00
zadam
93addac8bb Merge branch 'master' into next61
# Conflicts:
#	src/becca/entities/bnote.js
#	src/public/app/components/note_context.js
#	src/public/app/layouts/desktop_layout.js
#	src/public/app/services/note_content_renderer.js
#	src/public/app/services/utils.js
#	src/public/app/widgets/ribbon_widgets/file_properties.js
#	src/public/app/widgets/ribbon_widgets/note_info_widget.js
#	src/services/notes.js
2023-06-05 00:09:55 +02:00
zadam
fe908759d1 rename "note revision" to just "revision" 2023-06-04 23:02:49 +02:00
zadam
779751a234 rename "note revision" to just "revision" 2023-06-04 23:01:40 +02:00
zadam
cb9feab7b2 got rid of the hot/cold blob, all blobs are "cold" now 2023-06-04 22:50:07 +02:00
zadam
b79631a35d setContent refactoring 2023-06-04 20:51:08 +02:00
zadam
c177aaa901 refactoring of highlight list 2023-06-04 17:46:37 +02:00
zadam
eff3e1df85 Merge pull request #3988 from SiriusXT/Highlighted-Text
Show highlighted text in the right pane
2023-06-04 12:37:19 +02:00
zadam
b46d5f4a71 add blobId to the ETAPI #4005 2023-06-04 12:00:04 +02:00
SiriusXT
5b421d51b5 Merge branch 'Highlighted-Text' of https://github.com/SiriusXT/trilium into Highlighted-Text 2023-06-04 16:02:32 +08:00
SiriusXT
8852e8e531 Show highlighted text in right panel 2023-06-04 16:02:30 +08:00
SnnBcd
cde13dc580 Merge branch 'zadam:master' into Highlighted-Text 2023-06-04 00:24:08 +08:00
SiriusXT
3e3d7aa4d7 Show highlighted text in right panel 2023-06-03 17:12:06 +08:00
SiriusXT
446c41d020 Show highlighted text in right panel 2023-06-03 17:00:15 +08:00
SiriusXT
33fdad5159 Show highlighted text in right panel 2023-06-03 14:43:20 +08:00
SiriusXT
463d145cb7 Merge branch 'Highlighted-Text' of https://github.com/SiriusXT/trilium into Highlighted-Text 2023-06-03 11:55:59 +08:00
SiriusXT
1413756d00 Show highlighted text in right panel 2023-06-03 11:55:50 +08:00
dymani
50ec17433d Fix move pane button after reopen split 2023-06-03 05:59:53 +08:00
dymani
2c8eb82d42 Reopen recently closed tab/split in place 2023-06-03 05:54:33 +08:00
SnnBcd
045ee18237 Merge branch 'zadam:master' into Highlighted-Text 2023-06-02 21:02:31 +08:00
SiriusXT
0a66809bf0 Not show when nothing is checked in the options 2023-06-01 20:38:55 +08:00
SiriusXT
ecfdde2f2a Show highlighted text in the right pane 2023-06-01 20:17:00 +08:00
SiriusXT
92d5aeae41 Show highlighted text in the right panel 2023-05-31 22:34:24 +08:00
SiriusXT
d2d286a4ff Show highlighted text in the left pane 2023-05-31 21:47:43 +08:00
SiriusXT
86861f6ec3 Show highlighted text in the left pane 2023-05-31 18:32:33 +08:00
zadam
f4b5d43899 inline file attachments when exporting single HTML file 2023-05-29 23:42:08 +02:00
zadam
235b779dec detect existing attachment in target note 2023-05-29 22:37:19 +02:00
zadam
df17840dbc fixes attachments 2023-05-29 13:02:25 +02:00
zadam
9d52f80c2f linking attachments finished 2023-05-29 10:21:34 +02:00
zadam
0aa119af2c attachments WIP 2023-05-29 00:19:54 +02:00
zadam
c2f70031d0 Merge branch 'master' into next61
# Conflicts:
#	package-lock.json
#	package.json
#	src/public/app/entities/fnote.js
#	src/public/app/services/link.js
2023-05-28 16:57:48 +02:00
zadam
8e913cb453 wip 2023-05-26 10:36:05 +02:00
zadam
579ed7e194 attachment content rendering 2023-05-21 18:14:17 +02:00
zadam
e20fac19ba attachment WIP 2023-05-20 23:46:45 +02:00
zadam
9e9fb2979f Merge branch 'master' into next61
# Conflicts:
#	package-lock.json
#	package.json
#	src/public/app/components/note_context.js
#	src/public/app/services/open.js
#	src/public/app/widgets/buttons/note_actions.js
#	src/public/app/widgets/find_in_code.js
#	src/public/app/widgets/type_widgets/canvas.js
#	src/services/options.js
2023-05-20 20:55:57 +02:00
zadam
1f8798d7ac upgrades 2023-05-17 23:47:30 +02:00
zadam
af95d387b9 Merge remote-tracking branch 'origin/master' into next60
# Conflicts:
#	src/public/app/services/open.js
#	src/public/app/widgets/buttons/note_actions.js
2023-05-17 23:10:02 +02:00
zadam
76196ed42c Merge remote-tracking branch 'origin/master' into next60 2023-05-14 17:32:59 +02:00
zadam
8a6002c6be fix search in "view source", closes #3929 2023-05-13 15:58:32 +02:00
zadam
38781d33ac Merge remote-tracking branch 'origin/master' into next60
# Conflicts:
#	src/public/app/widgets/type_widgets/editable_text.js
2023-05-13 15:43:35 +02:00
zadam
ff5d3a5f0c import WIP 2023-05-09 00:05:27 +02:00
zadam
626af84f42 refactoring + uploading attachments WIP 2023-05-08 00:02:08 +02:00
zadam
b05ce12e7b adding links to owning note and list to attachments 2023-05-07 23:32:30 +02:00
zadam
274505188b fix "go to note" from note autocomplete 2023-05-07 21:29:09 +02:00
zadam
f85209a72f getting rid of attributes like data-note-path in favor of the whole nav state in URLs 2023-05-07 21:18:21 +02:00
zadam
291f0e79d9 make a special backup before migrating to 0.60 2023-05-07 15:46:17 +02:00
zadam
64db5e2542 cleanup of app.js, wwww 2023-05-07 15:23:46 +02:00
zadam
9f5f0aeddd fix hamburger icon in canvas 2023-05-07 11:54:04 +02:00
zadam
4d5612e845 fix updating non-text notes 2023-05-07 11:20:51 +02:00
zadam
371f174756 run hiddenSubtreeService.checkHiddenSubtree() also periodically, useful for server deployments, #3907 2023-05-07 10:54:06 +02:00
zadam
8284c673f9 can't allow opening externally on attachment list 2023-05-07 10:43:51 +02:00
zadam
cc02546ed3 Merge remote-tracking branch 'origin/master' into next60
# Conflicts:
#	src/routes/api/options.js
#	src/services/import/zip.js
#	src/services/options_init.js
2023-05-07 09:41:33 +02:00
zadam
2aa987c072 fixes for zip export/import in regard to attachments 2023-05-06 22:50:28 +02:00
zadam
a06ddc439d improving import WIP 2023-05-06 15:07:38 +02:00
zadam
f6944b8219 introducing meta types for import/export, fixes for attachments export 2023-05-06 14:38:45 +02:00
zadam
fa3cbb4645 grammar 2023-05-05 23:41:11 +02:00
zadam
6dfc72c065 many small fixes from Intellij analysis 2023-05-05 23:17:23 +02:00
zadam
0af6f91d21 exposing blobs in APIs 2023-05-05 22:21:51 +02:00
zadam
5e1f81e53e getting rid of note complement WIP 2023-05-05 16:37:39 +02:00
zadam
9cdcbb3125 fix runOnNoteContentChange event 2023-05-05 15:42:53 +02:00
zadam
35338e9ec6 fix runOnNoteContentChange event 2023-05-05 15:40:44 +02:00
zadam
78d83b8826 fix note size calculation with blobs 2023-05-05 15:18:55 +02:00
zadam
8edf06d28d small refactorings 2023-05-04 22:16:18 +02:00
zadam
ecd2a5cbac Merge remote-tracking branch 'origin/master' into next60 2023-05-04 21:01:53 +02:00
zadam
c0cf319521 upgrade electron to 25 and node to 18 2023-05-04 21:01:25 +02:00
zadam
9b32d86f78 take branch prefix into account while sorting, fixes #3896 2023-05-03 23:42:44 +02:00
zadam
fbffc6b2b5 inline attachment images into single HTML export 2023-05-03 23:17:07 +02:00
zadam
cd01886eb2 attachment revision upload 2023-05-03 22:49:24 +02:00
zadam
d8bc9c2982 attachment actions 2023-05-03 10:23:20 +02:00
zadam
d232694dec tree context menu to convert notes into attachments 2023-05-02 23:04:41 +02:00
zadam
735ac55bb8 fixes, allowing conversion of note into an attachment 2023-05-02 22:46:39 +02:00
zadam
330e7ac08e copying attachments WIP 2023-04-25 00:01:58 +02:00
zadam
49fb913eab erasing unused attachments 2023-04-24 21:22:34 +02:00
zadam
4b074365e7 Merge branch 'master' into next60 2023-04-24 20:21:45 +02:00
zadam
5e2efca933 scheduled erasure of attachments WIP 2023-04-21 00:19:17 +02:00
zadam
e71b0d82a1 scheduled attachment deletion WIP 2023-04-20 00:11:09 +02:00
zadam
c6c162cdda restore revision with attachments 2023-04-19 22:47:33 +02:00
zadam
8b46d6c718 Merge branch 'stable' into next60 2023-04-19 22:03:44 +02:00
zadam
e28fbf4617 fixes 2023-04-17 23:21:28 +02:00
zadam
0e4a040ed8 fixes of new attachment URLs 2023-04-17 22:40:53 +02:00
zadam
b84670d503 Merge branch 'master' into next60 2023-04-17 22:27:21 +02:00
zadam
f01657e1dd refactorings 2023-04-14 16:49:06 +02:00
zadam
34ecd77bd4 note revision save also saves attachments 2023-04-11 23:24:39 +02:00
zadam
6cf0fe0b73 attachments have a position 2023-04-11 22:55:50 +02:00
zadam
3f8bf7cacc renamed openTabs to openNoteContexts 2023-04-11 22:00:04 +02:00
zadam
17128c5874 navigation state is more nicely and completely serialized into URL 2023-04-11 21:41:55 +02:00
zadam
9e71c44c76 open attachment by double click 2023-04-11 18:05:57 +02:00
zadam
54c0268593 attachment improvements 2023-04-11 17:45:51 +02:00
zadam
a5f0b2a81e Merge remote-tracking branch 'origin/next60' into next60 2023-04-11 17:02:53 +02:00
zadam
a154bea016 Merge branch 'master' into next60 2023-04-11 17:02:24 +02:00
zadam
15a11daf38 Merge branch 'master' into next60
# Conflicts:
#	package-lock.json
#	package.json
2023-04-10 18:52:30 +02:00
zadam
5d6d9ab6d6 wip attachment support 2023-04-03 23:47:24 +02:00
zadam
2bc78ccafb wip attachment widget 2023-04-01 23:55:04 +02:00
zadam
53aebf1448 wip attachment widget 2023-04-01 13:58:53 +02:00
zadam
fa406d3ded wip attachment widget 2023-03-30 23:48:26 +02:00
zadam
9be524ef89 attachment improvements 2023-03-24 10:57:32 +01:00
zadam
fd8a2d4d92 hide global menu after changing note/context 2023-03-24 09:32:06 +01:00
zadam
0b270ee87a remove "hide included images" feature since with attachments it's no longer necessary 2023-03-24 09:17:17 +01:00
zadam
5cc5859211 migrate images to attachments 2023-03-24 09:13:35 +01:00
zadam
bd489d5780 node upgrades 2023-03-24 07:45:18 +01:00
zadam
a24c56a9d5 fixes 2023-03-20 23:11:32 +01:00
zadam
95e38a037b scrollbar tweak color 2023-03-20 20:50:18 +01:00
zadam
256b800d0e scrollbar tweak color 2023-03-20 20:48:52 +01:00
zadam
b3c4c850db Merge branch 'master' into next60 2023-03-20 20:21:30 +01:00
zadam
e698aa5822 uploading image to attachment 2023-03-16 20:13:34 +01:00
zadam
1fdb23746a uploading image to attachment 2023-03-16 18:34:39 +01:00
zadam
9cd5bdeb53 fix note revision 2023-03-16 17:49:35 +01:00
zadam
e6183b9a1d improved saving 2023-03-16 17:43:37 +01:00
zadam
d83005fe4d improved saving attachment 2023-03-16 16:37:31 +01:00
zadam
2b84f1be00 unify .setContent() .getContent() handling across notes, revisions, attachments 2023-03-16 15:19:26 +01:00
zadam
bb45c67e60 Merge branch 'stable' into next60 2023-03-16 13:39:28 +01:00
zadam
515fb4e5db blob WIP 2023-03-16 13:29:11 +01:00
zadam
b6efc954bd blob WIP 2023-03-16 12:17:55 +01:00
zadam
eee05a4d01 blob WIP 2023-03-16 12:11:00 +01:00
zadam
dc97400dbf ancillary => attachment 2023-03-16 11:03:28 +01:00
zadam
e16bedfab4 WIP blobs 2023-03-16 11:02:07 +01:00
zadam
5a8e216dec WIP blob 2023-03-15 22:44:08 +01:00
zadam
1faf8225c7 Merge branch 'master' into next60 2023-03-15 20:19:47 +01:00
zadam
5225a99995 wip 2023-03-09 09:38:02 +01:00
zadam
929f8ef720 note ancillary/attachment backported from dev branch 2023-03-08 09:01:23 +01:00
891 changed files with 95135 additions and 100038 deletions

View File

@@ -5,3 +5,6 @@
/docs
/npm-debug.log
node_modules
src/**/*.ts
!src/services/asset_path.ts

View File

@@ -1,7 +0,0 @@
node_modules
dist
bin
docs
libraries
coverage
play

View File

@@ -1,213 +0,0 @@
module.exports = {
env: {
browser: true,
commonjs: true,
es2021: true,
node: true,
},
// plugins: ['prettier'], // to be activated
extends: ['eslint:recommended', 'airbnb-base', 'plugin:jsonc/recommended-with-jsonc', 'prettier'],
overrides: [
{
files: ['*.json', '*.json5', '*.jsonc'],
parser: 'jsonc-eslint-parser',
},
{
files: ['package.json'],
parser: 'jsonc-eslint-parser',
rules: {
'jsonc/sort-keys': [
'off',
{
pathPattern: '^$',
order: [
'name',
'version',
'private',
'packageManager',
'description',
'type',
'keywords',
'homepage',
'bugs',
'license',
'author',
'contributors',
'funding',
'files',
'main',
'module',
'exports',
'unpkg',
'jsdelivr',
'browser',
'bin',
'man',
'directories',
'repository',
'publishConfig',
'scripts',
'peerDependencies',
'peerDependenciesMeta',
'optionalDependencies',
'dependencies',
'devDependencies',
'engines',
'config',
'overrides',
'pnpm',
'husky',
'lint-staged',
'eslintConfig',
],
},
{
pathPattern: '^(?:dev|peer|optional|bundled)?[Dd]ependencies$',
order: { type: 'asc' },
},
],
},
},
],
globals: {
$: true,
jQuery: true,
glob: true,
log: true,
EditorWatchdog: true,
baseApiUrl: true,
// \src\share\canvas_share.js
React: true,
appState: true,
ExcalidrawLib: true,
elements: true,
files: true,
ReactDOM: true,
// src\public\app\widgets\type_widgets\relation_map.js
jsPlumb: true,
panzoom: true,
logError: true,
// src\public\app\widgets\type_widgets\image.js
WZoom: true,
// \src\public\app\widgets\type_widgets\read_only_text.js
renderMathInElement: true,
// \src\public\app\widgets\type_widgets\editable_text.js
BalloonEditor: true,
CKEditorInspector: true,
// \src\public\app\widgets\type_widgets\editable_code.js
CodeMirror: true,
// \src\public\app\services\resizer.js
Split: true,
// \src\public\app\services\note_content_renderer.js
mermaid: true,
// src\public\app\services\frontend_script_api.js
dayjs: true,
// \src\public\app\widgets\dialogs\markdown_import.js
commonmark: true,
// \src\public\app\widgets\note_map.js
ForceGraph: true,
// \src\public\app\setup.js
ko: true,
syncInProgress: true,
// src\public\app\services\utils.js
logInfo: true,
__non_webpack_require__: true,
//
},
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
},
rules: {
// eslint:recommended
'no-unused-vars': 'off',
'linebreak-style': 'off',
'no-useless-escape': 'off',
'no-empty': 'off',
'no-constant-condition': 'off',
'getter-return': 'off',
'no-cond-assign': 'off',
'no-async-promise-executor': 'off',
'no-extra-semi': 'off',
'no-inner-declarations': 'off',
// prettier
'prettier/prettier': ['off', { endOfLine: 'auto' }],
// airbnb-base
'no-console': 'off',
'no-plusplus': 'off',
'no-param-reassign': 'off',
'global-require': 'off',
'no-use-before-define': 'off',
'no-await-in-loop': 'off',
radix: 'off',
'import/order': 'off',
'import/no-extraneous-dependencies': 'off',
'prefer-destructuring': 'off',
'no-shadow': 'off',
'no-new': 'off',
'no-restricted-syntax': 'off',
strict: 'off',
'class-methods-use-this': 'off',
'no-else-return': 'off',
'import/no-dynamic-require': 'off',
'no-underscore-dangle': 'off',
'prefer-template': 'off',
'consistent-return': 'off',
'no-continue': 'off',
'object-shorthand': 'off',
'one-var': 'off',
'prefer-const': 'off',
'spaced-comment': 'off',
'no-loop-func': 'off',
'arrow-body-style': 'off',
'guard-for-in': 'off',
'no-return-assign': 'off',
'dot-notation': 'off',
'func-names': 'off',
'import/no-useless-path-segments': 'off',
'default-param-last': 'off',
'prefer-arrow-callback': 'off',
'no-unneeded-ternary': 'off',
'no-return-await': 'off',
'import/extensions': 'off',
'no-var': 'off',
'import/newline-after-import': 'off',
'no-restricted-globals': 'off',
'operator-assignment': 'off',
'no-eval': 'off',
'max-classes-per-file': 'off',
'vars-on-top': 'off',
'no-bitwise': 'off',
'no-lonely-if': 'off',
'no-multi-assign': 'off',
'no-promise-executor-return': 'off',
'no-empty-function': 'off',
'import/no-unresolved': 'off',
camelcase: 'off',
eqeqeq: 'off',
'lines-between-class-members': 'off',
'import/no-cycle': 'off',
'new-cap': 'off',
'prefer-object-spread': 'off',
'no-new-func': 'off',
'no-unused-expressions': 'off',
'lines-around-directive': 'off',
'prefer-exponentiation-operator': 'off',
'no-restricted-properties': 'off',
'prefer-rest-params': 'off',
'no-unreachable-loop': 'off',
'no-alert': 'off',
'no-useless-return': 'off',
'no-nested-ternary': 'off',
'prefer-regex-literals': 'off',
'import/no-named-as-default-member': 'off',
yoda: 'off',
'no-script-url': 'off',
'no-prototype-builtins':'off'
},
};

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

33
.github/workflows/dev.yml vendored Normal file
View File

@@ -0,0 +1,33 @@
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
runs-on: ubuntu-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 the TypeScript build
run: npx tsc
- name: Create server-package.json
run: cat package.json | grep -v electron > server-package.json
- uses: docker/setup-buildx-action@v3
- uses: docker/build-push-action@v6
with:
context: .
cache-from: type=gha
cache-to: type=gha,mode=max

220
.github/workflows/main.yml vendored Normal file
View File

@@ -0,0 +1,220 @@
name: Main
on:
push:
branches:
- "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:
GHCR_REGISTRY: ghcr.io
DOCKERHUB_REGISTRY: docker.io
IMAGE_NAME: ${{ github.repository }}
jobs:
build_darwin-x64:
name: Build macOS x86_64
runs-on: ubuntu-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
- run: |
npm run update-build-info
./bin/build-mac-x64.sh
- uses: actions/upload-artifact@v4
with:
name: trilium-mac-x64.zip
path: dist/trilium-mac-x64*.zip
build_darwin-arm64:
name: Build macOS aarch64
runs-on: ubuntu-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
- run: |
npm run update-build-info
./bin/build-mac-arm64.sh
- uses: actions/upload-artifact@v4
with:
name: trilium-mac-arm64.zip
path: dist/trilium-mac-arm64*.zip
build_linux-x64:
name: Build Linux x86_64
runs-on: ubuntu-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
- run: |
npm run update-build-info
./bin/build-linux-x64.sh
- uses: actions/upload-artifact@v4
with:
name: trilium-linux-x64.tar.xz
path: dist/trilium-linux-x64-*.tar.xz
- uses: actions/upload-artifact@v4
with:
name: trilium_amd64.deb
path: dist/trilium_*.deb
build_linux_server-x64:
name: Build Linux Server x86_64
runs-on: ubuntu-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
- run: |
npm run update-build-info
./bin/build-server.sh
- uses: actions/upload-artifact@v4
with:
name: trilium-linux-x64-server.tar.xz
path: dist/trilium-linux-x64-server-*.tar.xz
build_windows-x64:
name: Build Windows x86_64
runs-on: ubuntu-latest
steps:
- name: Set up Wine
run: |
sudo dpkg --add-architecture i386
wget -qO - https://dl.winehq.org/wine-builds/winehq.key | sudo apt-key add -
sudo add-apt-repository ppa:cybermax-dexter/sdl2-backport
sudo apt-add-repository "deb https://dl.winehq.org/wine-builds/ubuntu $(lsb_release -cs) main"
sudo apt install --install-recommends winehq-stable
- uses: actions/checkout@v4
- name: Set up node & dependencies
uses: actions/setup-node@v4
with:
node-version: 20
cache: "npm"
- run: npm ci
- run: |
npm run update-build-info
./bin/build-win-x64.sh DONTPACK
- uses: actions/upload-artifact@v4
with:
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 images
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
attestations: write
id-token: write
steps:
- uses: actions/checkout@v4
- name: Extract metadata (tags, labels) for GHCR image
id: ghcr-meta
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
with:
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: 20
cache: "npm"
- 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
- name: Build and push container image to GHCR
uses: docker/build-push-action@v6
id: ghcr-push
with:
context: .
push: true
tags: ${{ steps.ghcr-meta.outputs.tags }}
labels: ${{ steps.ghcr-meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Generate and push artifact attestation to GHCR
uses: actions/attest-build-provenance@v1
with:
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

12
.gitignore vendored
View File

@@ -1,6 +1,7 @@
.DS_Store
node_modules/
dist/
build/
src/public/app-dist/
npm-debug.log
yarn-error.log
@@ -11,5 +12,14 @@ cert.crt
server-package.json
.idea/httpRequests/
data/
data-test/
tmp/
.eslintcache
.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 16.19.1 && nvm use 16.19.1
- before: nvm install 20.15.1 && nvm use 20.15.1
init: npm install
command: npm run start-server

1
.husky/.gitignore vendored
View File

@@ -1 +0,0 @@
_

View File

@@ -1,4 +0,0 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
#npx lint-staged

4
.idea/dataSources.xml generated
View File

@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
<data-source source="LOCAL" name="SQLite - document.db" uuid="30cef30d-e704-484d-a4ca-5d3bfc2ece63">
<data-source source="LOCAL" name="document.db" uuid="2a4ac1e6-b828-4a2a-8e4a-3f59f10aff26">
<driver-ref>sqlite.xerial</driver-ref>
<synchronize>true</synchronize>
<jdbc-driver>org.sqlite.JDBC</jdbc-driver>
<jdbc-url>jdbc:sqlite:$PROJECT_DIR$/../trilium-data/document.db</jdbc-url>
<jdbc-url>jdbc:sqlite:$PROJECT_DIR$/data/document.db</jdbc-url>
<working-dir>$ProjectFileDir$</working-dir>
</data-source>
</component>

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="EslintConfiguration">
<option name="fix-on-save" value="true" />
</component>
</project>

1
.idea/misc.xml generated
View File

@@ -1,4 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />

14
.prettierrc Normal file
View File

@@ -0,0 +1,14 @@
{
"printWidth": 200,
"tabWidth": 4,
"useTabs": false,
"semi": true,
"singleQuote": true,
"quoteProps": "as-needed",
"trailingComma": "none",
"bracketSpacing": false,
"arrowParens": "always",
"proseWrap": "preserve",
"htmlWhitespaceSensitivity": "css",
"endOfLine": "lf"
}

View File

@@ -1,11 +0,0 @@
//https://prettier.io/docs/en/options.html
module.exports = {
semi: true,
trailingComma: 'es5',
singleQuote: true,
printWidth: 120,
tabWidth: 4,
// useTabs: false,
// bracketSpacing: true,
// htmlWhitespaceSensitivity: 'ignore',
};

View File

@@ -1,6 +1,5 @@
{
"recommendations": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
]
}
"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

45
.vscode/settings.json vendored
View File

@@ -1,33 +1,14 @@
{
"[javascript]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"[json]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"editor.formatOnSave": true,
"eslint.format.enable": true,
"eslint.probe": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact",
"html",
"vue",
"markdown",
"json",
"jsonc"
],
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact",
"html",
"vue",
"markdown",
"json",
"jsonc"
],
"files.eol": "\n",
}
"editor.formatOnSave": false,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"files.eol": "\n",
"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,17 @@
# !!! Don't try to build this Dockerfile directly, run it through bin/build-docker.sh script !!!
FROM node:16.19.1-alpine
FROM node:20.15.1-alpine
# Configure system dependencies
RUN apk add --no-cache --virtual .build-dependencies \
autoconf \
automake \
g++ \
gcc \
libtool \
make \
nasm \
libpng-dev \
python3
# Create app directory
WORKDIR /usr/src/app
@@ -9,25 +21,21 @@ COPY . .
COPY server-package.json package.json
# Copy TypeScript build artifacts into the original directory structure.
RUN ls
RUN cp -R build/src/* src/.
RUN rm -r build
# Install app dependencies
RUN set -x \
&& apk add --no-cache --virtual .build-dependencies \
autoconf \
automake \
g++ \
gcc \
libtool \
make \
nasm \
libpng-dev \
python3 \
&& npm install \
&& apk del .build-dependencies \
&& npm run webpack \
&& npm prune --omit=dev \
&& cp src/public/app/share.js src/public/app-dist/. \
&& cp -r src/public/app/doc_notes src/public/app-dist/. \
&& rm -rf src/public/app
&& rm -rf src/public/app \
&& rm src/services/asset_path.ts
# Some setup tools need to be kept
RUN apk add --no-cache su-exec shadow

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)
[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 的第三版或者任何(由你选择)更晚的版本。

92
README.it.md Normal file
View File

@@ -0,0 +1,92 @@
# TriliumNext Notes
[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)
TriliumNext Notes è un'applicazione per appunti ad organizzazione gerarchica, studiata per la costruzione di archivi di conoscenza personali di grandi dimensioni.
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>
## ⚠️ Perchè TriliumNext?
[Il progetto originale Trilium è in modalità di manutenzione](https://github.com/zadam/trilium/issues/4620)
## 🗭 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!
- [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)
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://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://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://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://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:
-[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://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/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).
TriliumNext sarà fornito anche come Flatpak:
<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://triliumnext.github.io/Docs/)
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
Clona localmente ed esegui
```
npm install
npm run start-server
```
## 👏 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://triliumnext.github.io/Docs/Wiki/relation-map) e [mappe di collegamenti](https://triliumnext.github.io/Docs/Wiki/link-map).
## 🤝 Supporto
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
Questo programma è software libero: è possibile redistribuirlo e/o modificarlo nei termini della GNU Affero General Public License come pubblicata dalla Free Software Foundation, sia la versione 3 della Licenza, o (a propria scelta) qualsiasi versione successiva.

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)
[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

@@ -1,82 +1,95 @@
# Trilium Notes
# TriliumNext Notes
[![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)
[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 is a hierarchical note taking application with focus on building large personal knowledge bases. See [screenshots](https://github.com/zadam/trilium/wiki/Screenshot-tour) for quick overview:
TriliumNext Notes is a hierarchical note taking application with focus on building large personal knowledge bases.
<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>
See [screenshots](https://triliumnext.github.io/Docs/Wiki/screenshot-tour) for quick overview:
Ukraine is currently defending itself from Russian aggression, please consider [donating to Ukrainian Army or humanitarian charities](https://standforukraine.com/).
<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>
<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>
## ⚠️ Why TriliumNext?
[The original Trilium project is in maintenance mode](https://github.com/zadam/trilium/issues/4620)
## 💬 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://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!
### Unofficial Communities
[Trilium Rocks](https://discord.gg/aqdX9mXX4r)
## 🎁 Features
* Notes can be arranged into arbitrarily deep tree. Single note can be placed into multiple places in the tree (see [cloning](https://github.com/zadam/trilium/wiki/Cloning-notes))
* Rich WYSIWYG note editing including e.g. tables, images and [math](https://github.com/zadam/trilium/wiki/Text-notes#math-support) with markdown [autoformat](https://github.com/zadam/trilium/wiki/Text-notes#autoformat)
* Support for editing [notes with source code](https://github.com/zadam/trilium/wiki/Code-notes), including syntax highlighting
* Fast and easy [navigation between notes](https://github.com/zadam/trilium/wiki/Note-navigation), full text search and [note hoisting](https://github.com/zadam/trilium/wiki/Note-hoisting)
* Seamless [note versioning](https://github.com/zadam/trilium/wiki/Note-revisions)
* Note [attributes](https://github.com/zadam/trilium/wiki/Attributes) can be used for note organization, querying and advanced [scripting](https://github.com/zadam/trilium/wiki/Scripts)
* [Synchronization](https://github.com/zadam/trilium/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://github.com/zadam/trilium/wiki/Sharing) (publishing) notes to public internet
* Strong [note encryption](https://github.com/zadam/trilium/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://github.com/zadam/trilium/wiki/Relation-map) and [link maps](https://github.com/zadam/trilium/wiki/Link-map) for visualizing notes and their relations
* [Scripting](https://github.com/zadam/trilium/wiki/Scripts) - see [Advanced showcases](https://github.com/zadam/trilium/wiki/Advanced-showcases)
* [REST API](https://github.com/zadam/trilium/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://github.com/zadam/trilium/wiki/Mobile-frontend) for smartphones and tablets
* [Night theme](https://github.com/zadam/trilium/wiki/Themes)
* [Evernote](https://github.com/zadam/trilium/wiki/Evernote-import) and [Markdown import & export](https://github.com/zadam/trilium/wiki/Markdown)
* [Web Clipper](https://github.com/zadam/trilium/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 [awesome-trilium](https://github.com/Nriver/awesome-trilium) for 3rd party themes, scripts, plugins and more.
Check out the following third-party resources for more TriliumNext related goodies:
- [awesome-trilium](https://github.com/Nriver/awesome-trilium) for 3rd party themes, scripts, plugins and more.
- [TriliumRocks!](https://trilium.rocks/) for tutorials, guides, and much more.
## 🏗 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://github.com/zadam/trilium/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 Trilium on the desktop, download binary release for your platform from [latest release](https://github.com/zadam/trilium/releases/latest), unzip the package and run ```trilium``` executable.
* If you want to install Trilium on server, follow [this page](https://github.com/zadam/trilium/wiki/Server-installation).
* Currently only recent Chrome and Firefox are supported (tested) browsers.
* 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).
* Currently only recent versions of Chrome and Firefox are supported (tested) browsers.
Trilium is also provided as a Flatpak:
TriliumNext will also provided as a 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">
## 📝 Documentation
[See wiki for complete list of documentation pages.](https://github.com/zadam/trilium/wiki/)
[See wiki for complete list of documentation pages.](https://triliumnext.github.io/Docs)
You can also read [Patterns of personal knowledge base](https://github.com/zadam/trilium/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
Use a browser based dev environment
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/zadam/trilium)
Or clone locally and run
Clone locally and run
```
npm install
npm run start-server
```
## 📢 Shoutouts
## 👏 Shoutouts
* [CKEditor 5](https://github.com/ckeditor/ckeditor5) - best WYSIWYG editor on the market, very interactive and listening team
* [FancyTree](https://github.com/mar10/fancytree) - very feature rich tree library without real competition. Trilium Notes would not be the same without it.
* [CodeMirror](https://github.com/codemirror/CodeMirror) - code editor with support for huge amount of languages
* [jsPlumb](https://github.com/jsplumb/jsplumb) - visual connectivity library without competition. Used in [relation maps](https://github.com/zadam/trilium/wiki/Relation-map) and [link maps](https://github.com/zadam/trilium/wiki/Link-map)
* [jsPlumb](https://github.com/jsplumb/jsplumb) - visual connectivity library without competition. Used in [relation maps](https://triliumnext.github.io/Docs/Wiki/Relation-map) and [link maps](https://triliumnext.github.io/Docs/Wiki/Link-map)
## 🤝 Support
You can support Trilium using GitHub Sponsors, [PayPal](https://paypal.me/za4am) or Bitcoin (bitcoin:bc1qv3svjn40v89mnkre5vyvs2xw6y8phaltl385d2).
You can support the original Trilium developer using GitHub Sponsors, [PayPal](https://paypal.me/za4am) or Bitcoin (bitcoin:bc1qv3svjn40v89mnkre5vyvs2xw6y8phaltl385d2).
Support for the TriliumNext organization will be possible in the near future.
## 🔑 License

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)
[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)

10
_check_ts_progress.sh Executable file
View File

@@ -0,0 +1,10 @@
#!/usr/bin/env bash
cloc HEAD \
--git --md \
--include-lang=javascript,typescript \
--found=filelist.txt \
--exclude-dir=public,libraries,views,docs
grep -R \.js$ filelist.txt
rm filelist.txt

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.

Binary file not shown.

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,22 +1,19 @@
#!/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
fi
if dpkg-deb 2>&1 | grep BusyBox &> /dev/null; then
echo "The dpkg-deb binary provided by BusyBox is not compatible. The Debian tool needs to be used instead."
exit 1
fi
echo "Packaging debian x64 distribution..."
VERSION=`jq -r ".version" package.json`
./node_modules/.bin/electron-installer-debian --config bin/deb-options.json --options.version=${VERSION} --arch amd64
# hacky stop-gag measure to produce debian compatible XZ compressed debs until this is fixed: https://github.com/electron-userland/electron-installer-debian/issues/272
cd dist
ar x trilium_${VERSION}_amd64.deb
rm trilium_${VERSION}_amd64.deb
# recompress
< control.tar.zst zstd -d | xz > control.tar.xz
< data.tar.zst zstd -d | xz > data.tar.xz
# create deb archive (I really do not know, what argument "sdsd" is for but something is required for ar to create the archive as desired)
ar -m -c -a sdsd trilium_${VERSION}_amd64.deb debian-binary control.tar.xz data.tar.xz
rm control* data* debian-binary
echo "Converted to XZ deb"

View File

@@ -1,10 +1,15 @@
#!/usr/bin/env bash
set -e # Fail on any command error
VERSION=`jq -r ".version" package.json`
SERIES=${VERSION:0:4}-latest
cat package.json | grep -v electron > server-package.json
echo "Compiling typescript..."
npx tsc
sudo docker build -t zadam/trilium:$VERSION --network host -t zadam/trilium:$SERIES .
if [[ $VERSION != *"beta"* ]]; then

View File

@@ -1,53 +1,58 @@
#!/usr/bin/env bash
set -e # Fail on any command error
if ! command -v jq &> /dev/null; then
echo "Missing command: jq"
exit 1
fi
if ! command -v fakeroot &> /dev/null; then
echo "Missing command: fakeroot"
exit 1
fi
if ! command -v dpkg-deb &> /dev/null; then
echo "Missing command: dpkg-deb"
exit 1
fi
if dpkg-deb 2>&1 | grep BusyBox &> /dev/null; then
echo "The dpkg-deb binary provided by BusyBox is not compatible. The Debian tool needs to be used instead."
exit 1
fi
SRC_DIR=./dist/trilium-linux-x64-src
if [ "$1" != "DONTCOPY" ]
then
./bin/copy-trilium.sh $SRC_DIR
fi
rm -r $SRC_DIR/src/public/app-dist/*.mobile.*
[ "$1" != "DONTCOPY" ] && ./bin/copy-trilium.sh "$SRC_DIR"
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
cp -r bin/better-sqlite3/linux-desktop-better_sqlite3.node "$SRC_DIR"/node_modules/better-sqlite3/build/Release/better_sqlite3.node
echo "Packaging linux x64 electron build"
./node_modules/.bin/electron-packager $SRC_DIR --asar --out=dist --executable-name=trilium --platform=linux --arch=x64 --overwrite
./node_modules/.bin/electron-packager "$SRC_DIR" --asar --out=dist --executable-name=trilium --platform=linux --arch=x64 --overwrite
BUILD_DIR=./dist/trilium-linux-x64
rm -rf $BUILD_DIR
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 images/app-icons/png/128x128.png "$BUILD_DIR"/icon.png
cp bin/tpl/anonymize-database.sql "$BUILD_DIR"/
# removing software WebGL binaries because they are pretty huge and not necessary
rm -r $BUILD_DIR/swiftshader
cp -r dump-db "$BUILD_DIR"/
rm -rf "$BUILD_DIR"/dump-db/node_modules
cp bin/tpl/anonymize-database.sql $BUILD_DIR/
cp -r dump-db $BUILD_DIR/
rm -rf $BUILD_DIR/dump-db/node_modules
cp bin/tpl/trilium-portable.sh $BUILD_DIR/
chmod 755 $BUILD_DIR/trilium-portable.sh
cp bin/tpl/trilium-safe-mode.sh $BUILD_DIR/
chmod 755 $BUILD_DIR/trilium-safe-mode.sh
cp bin/tpl/trilium-no-cert-check.sh $BUILD_DIR/
chmod 755 $BUILD_DIR/trilium-no-cert-check.sh
for f in 'trilium-portable' 'trilium-safe-mode' 'trilium-no-cert-check'; do
cp bin/tpl/"$f".sh "$BUILD_DIR"/
chmod 755 "$BUILD_DIR"/"$f".sh
done
echo "Packaging linux x64 electron distribution..."
VERSION=`jq -r ".version" package.json`
cd dist
tar cJf trilium-linux-x64-${VERSION}.tar.xz trilium-linux-x64
cd ..
pushd dist
tar cJf "trilium-linux-x64-${VERSION}.tar.xz" trilium-linux-x64
popd
bin/build-debian.sh

37
bin/build-mac-arm64.sh Executable file
View File

@@ -0,0 +1,37 @@
#!/usr/bin/env bash
set -e # Fail on any command error
SRC_DIR=./dist/trilium-mac-arm64-src
if [ "$1" != "DONTCOPY" ]
then
./bin/copy-trilium.sh $SRC_DIR
fi
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
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
BUILD_DIR=./dist/trilium-mac-arm64
rm -rf $BUILD_DIR
# Mac build has by default useless directory level
mv "./dist/TriliumNext Notes-darwin-arm64" $BUILD_DIR
cp bin/tpl/anonymize-database.sql $BUILD_DIR/
cp -r dump-db $BUILD_DIR/
rm -rf $BUILD_DIR/dump-db/node_modules
echo "Zipping mac arm64 electron distribution..."
VERSION=`jq -r ".version" package.json`
cd dist
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" ]
@@ -7,11 +9,9 @@ then
./bin/copy-trilium.sh $SRC_DIR
fi
echo "Copying required mac binaries"
echo "Copying required mac x64 binaries"
cp -r bin/better-sqlite3/mac-better_sqlite3.node $SRC_DIR/node_modules/better-sqlite3/build/Release/better_sqlite3.node
rm -r $SRC_DIR/src/public/app-dist/*.mobile.*
cp -r bin/better-sqlite3/mac-x64-better_sqlite3.node $SRC_DIR/node_modules/better-sqlite3/build/Release/better_sqlite3.node
echo "Packaging mac x64 electron build"
@@ -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=16.19.1
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,12 @@
#!/usr/bin/env bash
set -e # Fail on any command error
if ! command -v wine &> /dev/null; then
echo "Missing command: wine"
exit 1
fi
SRC_DIR=./dist/trilium-windows-x64-src
if [ "$1" != "DONTCOPY" ]
@@ -11,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
@@ -20,10 +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
# removing software WebGL binaries because they are pretty huge and not necessary
rm -r $BUILD_DIR/swiftshader
mv "./dist/TriliumNext Notes-win32-x64" $BUILD_DIR
cp bin/tpl/anonymize-database.sql $BUILD_DIR/
@@ -32,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,32 @@
#!/usr/bin/env bash
set -e # Fail on any command error
if ! command -v jq &> /dev/null; then
echo "Missing command: jq"
exit 1
fi
if ! command -v fakeroot &> /dev/null; then
echo "Missing command: fakeroot"
exit 1
fi
if ! command -v dpkg-deb &> /dev/null; then
echo "Missing command: dpkg-deb"
exit 1
fi
if dpkg-deb 2>&1 | grep BusyBox &> /dev/null; then
echo "The dpkg-deb binary provided by BusyBox is not compatible. The Debian tool needs to be used instead."
exit 1
fi
if ! command -v wine &> /dev/null; then
echo "Missing command: wine"
exit 1
fi
echo "Deleting existing builds"
rm -rf dist/*
@@ -13,11 +40,14 @@ cp -r $SRC_DIR ./dist/trilium-linux-x64-src
cp -r $SRC_DIR ./dist/trilium-linux-x64-server
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
bin/build-win-x64.sh DONTCOPY
bin/build-mac-x64.sh DONTCOPY
bin/build-mac-arm64.sh DONTCOPY
bin/build-linux-x64.sh DONTCOPY
bin/build-server.sh DONTCOPY

88
bin/copy-dist.ts Normal file
View File

@@ -0,0 +1,88 @@
import fs from "fs-extra";
import path from "path";
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);
log(`Copying ${source} to ${destination}`);
await fs.ensureDir(path.dirname(destination));
await fs.copy(source, destination);
}
const copy = async () => {
for (const srcFile of fs.readdirSync("build")) {
const destFile = path.join(DEST_DIR, path.basename(srcFile));
log(`Copying source ${srcFile} -> ${destFile}.`);
fs.copySync(path.join("build", srcFile), destFile, { recursive: true });
}
const filesToCopy = ["config-sample.ini"];
for (const file of filesToCopy) {
log(`Copying ${file}`);
await fs.copy(file, path.join(DEST_DIR, file));
}
const dirsToCopy = ["images", "libraries", "db"];
for (const dir of dirsToCopy) {
log(`Copying ${dir}`);
await fs.copy(dir, path.join(DEST_DIR, dir));
}
const srcDirsToCopy = ["./src/public", "./src/views", "./build"];
for (const dir of srcDirsToCopy) {
log(`Copying ${dir}`);
await fs.copy(dir, path.join(DEST_DIR_SRC, path.basename(dir)));
}
const nodeModulesFile = [
"node_modules/react/umd/react.production.min.js",
"node_modules/react/umd/react.development.js",
"node_modules/react-dom/umd/react-dom.production.min.js",
"node_modules/react-dom/umd/react-dom.development.js",
"node_modules/katex/dist/katex.min.js",
"node_modules/katex/dist/contrib/mhchem.min.js",
"node_modules/katex/dist/contrib/auto-render.min.js",
];
for (const file of nodeModulesFile) {
await copyNodeModuleFileOrFolder(file);
}
const nodeModulesFolder = [
"node_modules/@excalidraw/excalidraw/dist/",
"node_modules/katex/dist/",
"node_modules/dayjs/",
"node_modules/force-graph/dist/",
"node_modules/boxicons/css/",
"node_modules/boxicons/fonts/",
"node_modules/mermaid/dist/",
"node_modules/jquery/dist/",
"node_modules/jquery-hotkeys/",
"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) {
await copyNodeModuleFileOrFolder(folder);
}
};
copy()
.then(() => console.log("Copying complete!"))
.catch((err) => console.error("Error during copy:", err));

View File

@@ -1,50 +1,76 @@
#!/usr/bin/env bash
set -e # Fail on any command error
shopt -s globstar
if [[ $# -eq 0 ]] ; then
echo "Missing argument of target directory"
exit 1
fi
if ! [[ $(which npm) ]]; then
echo "Missing npm"
exit 1
fi
n exec 16.19.1 npm run webpack
# Trigger the TypeScript build
echo TypeScript build start
npx tsc
echo TypeScript build finished
DIR=$1
# Copy the TypeScript artifacts
DIR="$1"
rm -rf "$DIR"
mkdir -pv "$DIR"
rm -rf $DIR
mkdir $DIR
echo Webpack start
npm run webpack
echo Webpack finish
echo "Copying Trilium to build directory $DIR"
cp -r images $DIR/
cp -r libraries $DIR/
cp -r src $DIR/
cp -r db $DIR/
cp -r package.json $DIR/
cp -r package-lock.json $DIR/
cp -r README.md $DIR/
cp -r LICENSE $DIR/
cp -r config-sample.ini $DIR/
cp -r electron.js $DIR/
cp webpack-* $DIR/
for d in 'images' 'libraries' 'src' 'db'; do
cp -r "$d" "$DIR"/
done
for f in 'package.json' 'package-lock.json' 'README.md' 'LICENSE' 'config-sample.ini'; do
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 -R "$script_dir/../build/src" "$DIR"
cp "$script_dir/../build/electron.js" "$DIR"
# run in subshell (so we return to original dir)
(cd $DIR && n exec 16.19.1 npm install --only=prod)
(cd $DIR && npm install --omit=dev)
# cleanup of useless files in dependencies
rm -r $DIR/node_modules/image-q/demo
rm -r $DIR/node_modules/better-sqlite3/Release
rm -r $DIR/node_modules/better-sqlite3/deps/sqlite3.tar.gz
rm -r $DIR/node_modules/@jimp/plugin-print/fonts
rm -r $DIR/node_modules/jimp/browser
rm -r $DIR/node_modules/jimp/fonts
if [[ -d "$DIR"/node_modules ]]; then
# 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.)
find $DIR/node_modules -name test -exec rm -rf {} \;
find $DIR/node_modules -name docs -exec rm -rf {} \;
find $DIR/node_modules -name demo -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
cp $DIR/src/public/app/share.js $DIR/src/public/app-dist/
cp -r $DIR/src/public/app/doc_notes $DIR/src/public/app-dist/
d="$DIR"/src/public
[[ -d "$d"/app-dist ]] || mkdir -pv "$d"/app-dist
cp "$d"/app/share.js "$d"/app-dist/
cp -r "$d"/app/doc_notes "$d"/app-dist/
rm -rf $DIR/src/public/app
rm -rf "$d"/app
unset f d DIR

0
bin/create-anonymization-script.js Normal file → Executable file
View File

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"

View File

@@ -1,6 +1,7 @@
{
"src": "dist/trilium-linux-x64",
"dest": "dist/",
"compression": "xz",
"name": "trilium",
"productName": "Trilium Notes",
"genericName": "Note taker",
@@ -11,4 +12,4 @@
"bin": "trilium",
"icon": "dist/trilium-linux-x64/icon.png",
"categories": [ "Office" ]
}
}

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

@@ -7,6 +7,11 @@ if [[ $# -eq 0 ]] ; then
exit 1
fi
if ! command -v jq &> /dev/null; then
echo "Missing command: jq"
exit 1
fi
VERSION=$1
if ! [[ ${VERSION} =~ ^[0-9]{1,2}\.[0-9]{1,2}\.[0-9]{1,2}(-.+)?$ ]] ;
@@ -22,13 +27,14 @@ fi
echo "Releasing Trilium $VERSION"
jq '.version = "'$VERSION'"' package.json|sponge package.json
jq '.version = "'$VERSION'"' package.json > package.json.tmp
mv package.json.tmp package.json
git add package.json
echo 'module.exports = { buildDate:"'`date --iso-8601=seconds`'", buildRevision: "'`git log -1 --format="%H"`'" };' > src/services/build.js
npm run update-build-info
git add src/services/build.js
git add src/services/build.ts
TAG=v$VERSION
@@ -48,6 +54,7 @@ LINUX_X64_BUILD=trilium-linux-x64-$VERSION.tar.xz
DEBIAN_X64_BUILD=trilium_${VERSION}_amd64.deb
WINDOWS_X64_BUILD=trilium-windows-x64-$VERSION.zip
MAC_X64_BUILD=trilium-mac-x64-$VERSION.zip
MAC_ARM64_BUILD=trilium-mac-arm64-$VERSION.zip
SERVER_BUILD=trilium-linux-x64-server-$VERSION.tar.xz
echo "Creating release in GitHub"
@@ -58,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 \
@@ -68,4 +77,5 @@ gh release create "$TAG" \
"dist/$LINUX_X64_BUILD" \
"dist/$WINDOWS_X64_BUILD" \
"dist/$MAC_X64_BUILD" \
"dist/$MAC_ARM64_BUILD" \
"dist/$SERVER_BUILD"

View File

@@ -1,166 +1,50 @@
UPDATE etapi_tokens SET tokenHash = 'API token hash value';
UPDATE notes SET title = 'title' WHERE noteId != 'root' AND noteId NOT LIKE '\_%' ESCAPE '\';
UPDATE note_contents SET content = 'text' WHERE content IS NOT NULL;
UPDATE note_revisions SET title = 'title';
UPDATE note_revision_contents SET content = 'text' WHERE content IS NOT NULL;
UPDATE attributes SET name = 'name', value = 'value'
WHERE type = 'label'
AND name NOT IN ('inbox',
'disableVersioning',
'calendarRoot',
'archived',
'excludeFromExport',
'disableInclusion',
'appCss',
'appTheme',
'hidePromotedAttributes',
'readOnly',
'autoReadOnlyDisabled',
'cssClass',
'iconClass',
'keyboardShortcut',
'run',
'runOnInstance',
'runAtHour',
'customRequestHandler',
'customResourceProvider',
'widget',
'noteInfoWidgetDisabled',
'linkMapWidgetDisabled',
'noteRevisionsWidgetDisabled',
'whatLinksHereWidgetDisabled',
'similarNotesWidgetDisabled',
'workspace',
'workspaceIconClass',
'workspaceTabBackgroundColor',
'searchHome',
'workspaceInbox',
'workspaceSearchHome',
'sqlConsoleHome',
'datePattern',
'pageSize',
'viewType',
'mapRootNoteId',
'bookmarkFolder',
'sorted',
'top',
'fullContentWidth',
'shareHiddenFromTree',
'shareAlias',
'shareOmitDefaultCss',
'shareRoot',
'internalLink',
'imageLink',
'relationMapLink',
'includeMapLink',
'runOnNoteCreation',
'runOnNoteTitleChange',
'runOnNoteContentChange',
'runOnNoteChange',
'runOnChildNoteCreation',
'runOnAttributeCreation',
'runOnAttributeChange',
'template',
'inherit',
'widget',
'renderNote',
'shareCss',
'shareJs',
'shareFavicon',
'executeButton',
'keepCurrentHoisting',
'color',
'toc',
'excludeFromNoteMap',
'docName',
'launcherType',
'builtinWidget',
'baseSize',
'growthFactor'
);
UPDATE attributes SET name = 'name'
AND name NOT IN ('inbox',
'disableVersioning',
'calendarRoot',
'archived',
'excludeFromExport',
'disableInclusion',
'appCss',
'appTheme',
'hidePromotedAttributes',
'readOnly',
'autoReadOnlyDisabled',
'cssClass',
'iconClass',
'keyboardShortcut',
'run',
'runOnInstance',
'runAtHour',
'customRequestHandler',
'customResourceProvider',
'widget',
'noteInfoWidgetDisabled',
'linkMapWidgetDisabled',
'noteRevisionsWidgetDisabled',
'whatLinksHereWidgetDisabled',
'similarNotesWidgetDisabled',
'workspace',
'workspaceIconClass',
'workspaceTabBackgroundColor',
'searchHome',
'workspaceInbox',
'workspaceSearchHome',
'sqlConsoleHome',
'datePattern',
'pageSize',
'viewType',
'mapRootNoteId',
'bookmarkFolder',
'sorted',
'top',
'fullContentWidth',
'shareHiddenFromTree',
'shareAlias',
'shareOmitDefaultCss',
'shareRoot',
'internalLink',
'imageLink',
'relationMapLink',
'includeMapLink',
'runOnNoteCreation',
'runOnNoteTitleChange',
'runOnNoteContentChange',
'runOnNoteChange',
'runOnChildNoteCreation',
'runOnAttributeCreation',
'runOnAttributeChange',
'template',
'inherit',
'widget',
'renderNote',
'shareCss',
'shareJs',
'shareFavicon',
'executeButton',
'keepCurrentHoisting',
'color',
'toc',
'excludeFromNoteMap',
'docName',
'launcherType',
'builtinWidget',
'baseSize',
'growthFactor'
);
UPDATE notes SET title = 'title'
WHERE noteId NOT IN ('root', '_hidden', '_share')
AND SUBSTR(noteId, 1, 8) != '_options'
AND SUBSTR(noteId, 1, 3) != '_lb';
UPDATE blobs SET content = 'text' WHERE content IS NOT NULL;
UPDATE revisions SET title = 'title';
UPDATE attributes SET name = 'name', value = 'value' WHERE type = 'label'
AND name NOT IN
('inbox', 'disableVersioning', 'calendarRoot', 'archived', 'excludeFromExport', 'disableInclusion', 'appCss',
'appTheme', 'hidePromotedAttributes', 'readOnly', 'autoReadOnlyDisabled', 'cssClass', 'iconClass',
'keyboardShortcut', 'run', 'runOnInstance', 'runAtHour', 'customRequestHandler', 'customResourceProvider',
'widget', 'noteInfoWidgetDisabled', 'linkMapWidgetDisabled', 'revisionsWidgetDisabled',
'whatLinksHereWidgetDisabled', 'similarNotesWidgetDisabled', 'workspace', 'workspaceIconClass',
'workspaceTabBackgroundColor', 'workspaceCalendarRoot', 'workspaceTemplate', 'searchHome', 'workspaceInbox',
'workspaceSearchHome', 'sqlConsoleHome', 'datePattern', 'pageSize', 'viewType', 'mapRootNoteId',
'bookmarkFolder', 'sorted', 'sortDirection', 'sortFoldersFirst', 'sortNatural', 'sortLocale', 'top',
'fullContentWidth', 'shareHiddenFromTree', 'shareExternalLink', 'shareOmitDefaultCss', 'shareRoot', 'shareDescription',
'shareRaw', 'shareDisallowRobotIndexing', 'shareIndex', 'displayRelations', 'hideRelations', 'titleTemplate',
'template', 'toc', 'color', 'keepCurrentHoisting', 'executeButton', 'executeDescription', 'newNotesOnTop',
'clipperInbox', 'internalLink', 'imageLink', 'relationMapLink', 'includeMapLink', 'runOnNoteCreation',
'runOnNoteTitleChange', 'runOnNoteChange', 'runOnNoteContentChange', 'runOnNoteDeletion', 'runOnBranchCreation', 'runOnBranchChange',
'runOnBranchDeletion', 'runOnChildNoteCreation', 'runOnAttributeCreation', 'runOnAttributeChange', 'template',
'inherit', 'widget', 'renderNote', 'shareCss', 'shareJs', 'shareTemplate', 'shareFavicon');
UPDATE attributes SET name = 'name' WHERE type = 'relation'
AND name NOT IN
('inbox', 'disableVersioning', 'calendarRoot', 'archived', 'excludeFromExport', 'disableInclusion', 'appCss',
'appTheme', 'hidePromotedAttributes', 'readOnly', 'autoReadOnlyDisabled', 'cssClass', 'iconClass',
'keyboardShortcut', 'run', 'runOnInstance', 'runAtHour', 'customRequestHandler', 'customResourceProvider',
'widget', 'noteInfoWidgetDisabled', 'linkMapWidgetDisabled', 'revisionsWidgetDisabled',
'whatLinksHereWidgetDisabled', 'similarNotesWidgetDisabled', 'workspace', 'workspaceIconClass',
'workspaceTabBackgroundColor', 'workspaceCalendarRoot', 'workspaceTemplate', 'searchHome', 'workspaceInbox',
'workspaceSearchHome', 'sqlConsoleHome', 'datePattern', 'pageSize', 'viewType', 'mapRootNoteId',
'bookmarkFolder', 'sorted', 'sortDirection', 'sortFoldersFirst', 'sortNatural', 'sortLocale', 'top',
'fullContentWidth', 'shareHiddenFromTree', 'shareExternalLink', 'shareOmitDefaultCss', 'shareRoot', 'shareDescription',
'shareRaw', 'shareDisallowRobotIndexing', 'shareIndex', 'displayRelations', 'hideRelations', 'titleTemplate',
'template', 'toc', 'color', 'keepCurrentHoisting', 'executeButton', 'executeDescription', 'newNotesOnTop',
'clipperInbox', 'internalLink', 'imageLink', 'relationMapLink', 'includeMapLink', 'runOnNoteCreation',
'runOnNoteTitleChange', 'runOnNoteChange', 'runOnNoteContentChange', 'runOnNoteDeletion', 'runOnBranchCreation', 'runOnBranchChange',
'runOnBranchDeletion', 'runOnChildNoteCreation', 'runOnAttributeCreation', 'runOnAttributeChange', 'template',
'inherit', 'widget', 'renderNote', 'shareCss', 'shareJs', 'shareTemplate', 'shareFavicon');
UPDATE branches SET prefix = 'prefix' WHERE prefix IS NOT NULL AND prefix != 'recovered';
UPDATE options SET value = 'anonymized' WHERE name IN
('documentId', 'documentSecret', 'encryptedDataKey',
'passwordVerificationHash', 'passwordVerificationSalt',
'passwordDerivedKeySalt', 'username', 'syncServerHost', 'syncProxy')
AND value != '';
('documentId', 'documentSecret', 'encryptedDataKey',
'passwordVerificationHash', 'passwordVerificationSalt',
'passwordDerivedKeySalt', 'username', 'syncServerHost', 'syncProxy')
AND value != '';
VACUUM;

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);

View File

@@ -16,7 +16,7 @@ noBackup=false
# host=0.0.0.0
# port setting is relevant only for web deployments, desktop builds run on a fixed port (changeable with TRILIUM_PORT environment variable)
port=8080
# true for TLS/SSL/HTTPS (secure), false for HTTP (unsecure).
# true for TLS/SSL/HTTPS (secure), false for HTTP (insecure).
https=false
# path to certificate (run "bash bin/generate-cert.sh" to generate self-signed certificate). Relevant only if https=true
certPath=

View File

@@ -1,5 +1,4 @@
- isDeleted = 0 by default
- rename openTabs to openNoteContexts
- unify readOnly handling to a single attribute:
* readOnly - like now
* readOnly=auto - like without readOnly (used to override inherited readOnly)

Binary file not shown.

View File

@@ -1 +0,0 @@
module.exports = () => console.log("NOOP, moved to migration 0189");

View File

@@ -1,4 +0,0 @@
-- black theme has been removed, dark is closest replacement
UPDATE options SET value = 'dark' WHERE name = 'theme' AND value = 'black';
UPDATE options SET value = 'light' WHERE name = 'theme' AND value = 'white';

View File

@@ -1,2 +0,0 @@
ALTER TABLE branches DROP COLUMN utcDateCreated;
ALTER TABLE options DROP COLUMN utcDateCreated;

View File

@@ -1,33 +0,0 @@
CREATE TABLE IF NOT EXISTS "mig_entity_changes" (
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
`entityName` TEXT NOT NULL,
`entityId` TEXT NOT NULL,
`hash` TEXT NOT NULL,
`isErased` INT NOT NULL,
`changeId` TEXT NOT NULL,
`sourceId` TEXT NOT NULL,
`isSynced` INTEGER NOT NULL,
`utcDateChanged` TEXT NOT NULL
);
INSERT INTO mig_entity_changes (id, entityName, entityId, hash, isErased, changeId, sourceId, isSynced, utcDateChanged)
SELECT id, entityName, entityId, hash, isErased, '', sourceId, isSynced, utcDateChanged FROM entity_changes;
-- delete duplicates https://github.com/zadam/trilium/issues/2534
DELETE FROM mig_entity_changes WHERE isErased = 0 AND id IN (
SELECT id FROM mig_entity_changes ec
WHERE (
SELECT COUNT(*) FROM mig_entity_changes
WHERE ec.entityName = mig_entity_changes.entityName
AND ec.entityId = mig_entity_changes.entityId
) > 1
);
DROP TABLE entity_changes;
ALTER TABLE mig_entity_changes RENAME TO entity_changes;
CREATE UNIQUE INDEX `IDX_entityChanges_entityName_entityId` ON "entity_changes" (
`entityName`,
`entityId`
);

View File

@@ -1,8 +0,0 @@
UPDATE branches SET branchId = 'hidden' where branchId = (
SELECT branchId FROM branches
WHERE parentNoteId = 'root'
AND noteId = 'hidden'
AND isDeleted = 0
ORDER BY utcDateModified
LIMIT 1
);

View File

@@ -1 +0,0 @@
DELETE FROM options WHERE name = 'username';

View File

@@ -1,15 +0,0 @@
CREATE TABLE IF NOT EXISTS "etapi_tokens"
(
etapiTokenId TEXT PRIMARY KEY NOT NULL,
name TEXT NOT NULL,
tokenHash TEXT NOT NULL,
utcDateCreated TEXT NOT NULL,
utcDateModified TEXT NOT NULL,
isDeleted INT NOT NULL DEFAULT 0);
INSERT INTO etapi_tokens (etapiTokenId, name, tokenHash, utcDateCreated, utcDateModified, isDeleted)
SELECT apiTokenId, 'Trilium Sender', token, utcDateCreated, utcDateCreated, isDeleted FROM api_tokens;
DROP TABLE api_tokens;
UPDATE entity_changes SET entityName = 'etapi_tokens' WHERE entityName = 'api_tokens';

View File

@@ -1,10 +0,0 @@
module.exports = () => {
const sql = require('../../src/services/sql');
const crypto = require('crypto');
for (const {etapiTokenId, token} of sql.getRows("SELECT etapiTokenId, tokenHash AS token FROM etapi_tokens")) {
const tokenHash = crypto.createHash('sha256').update(token).digest('base64');
sql.execute(`UPDATE etapi_tokens SET tokenHash = ? WHERE etapiTokenId = ?`, [tokenHash, etapiTokenId]);
}
};

View File

@@ -1,20 +0,0 @@
DROP TABLE entity_changes;
-- not preserving the data because of https://github.com/zadam/trilium/issues/3447
CREATE TABLE IF NOT EXISTS "entity_changes" (
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
`entityName` TEXT NOT NULL,
`entityId` TEXT NOT NULL,
`hash` TEXT NOT NULL,
`isErased` INT NOT NULL,
`changeId` TEXT NOT NULL,
`componentId` TEXT NOT NULL,
`instanceId` TEXT NOT NULL,
`isSynced` INTEGER NOT NULL,
`utcDateChanged` TEXT NOT NULL
);
CREATE UNIQUE INDEX `IDX_entityChanges_entityName_entityId` ON "entity_changes" (
`entityName`,
`entityId`
);

View File

@@ -1 +0,0 @@
CREATE INDEX `IDX_entity_changes_changeId` ON `entity_changes` (`changeId`);

View File

@@ -1,15 +0,0 @@
const becca = require('../../src/becca/becca');
const beccaLoader = require('../../src/becca/becca_loader');
const cls = require('../../src/services/cls');
module.exports = () => {
cls.init(() => {
beccaLoader.load();
for (const note of Object.values(becca.notes)) {
if (note.hasLabel('calendarRoot')) {
note.addLabel('excludeFromNoteMap', "", true);
}
}
});
};

View File

@@ -1,2 +0,0 @@
-- removing potential remnants of recent notes in entity changes, see https://github.com/zadam/trilium/issues/2842
DELETE FROM entity_changes WHERE entityName = 'recent_notes';

View File

@@ -1,2 +0,0 @@
UPDATE attributes SET value = replace(value, 'setLabelValue', 'updateLabelValue') WHERE name = 'action' AND type = 'label';
UPDATE attributes SET value = replace(value, 'setRelationTarget', 'updateRelationTarget') WHERE name = 'action' AND type = 'label';

View File

@@ -1 +0,0 @@
module.exports = () => console.log("NOOP, increased because of protected notes IV change");

View File

@@ -1,6 +0,0 @@
UPDATE branches SET branchId = '_hidden__search' WHERE parentNoteId = 'hidden' AND noteId = 'search' AND isDeleted = 0;
UPDATE branches SET branchId = 'root__globalNoteMap' WHERE parentNoteId = 'singles' AND noteId = 'globalnotemap' AND isDeleted = 0;
UPDATE branches SET branchId = '_hidden__sqlConsole' WHERE parentNoteId = 'hidden' AND noteId = 'sqlconsole' AND isDeleted = 0;
UPDATE branches SET branchId = 'root__hidden' WHERE parentNoteId = 'root' AND noteId = 'hidden' AND isDeleted = 0;
UPDATE branches SET branchId = '_hidden__bulkAction' WHERE parentNoteId = 'hidden' AND noteId = 'bulkaction' AND isDeleted = 0;
UPDATE branches SET branchId = '_hidden__share' WHERE parentNoteId = 'root' AND noteId = 'share' AND isDeleted = 0;

View File

@@ -1,53 +0,0 @@
UPDATE notes SET noteId = '_globalNoteMap', title = 'Note Map' WHERE noteId = 'globalnotemap';
UPDATE note_contents SET noteId = '_globalNoteMap' WHERE noteId = 'globalnotemap';
UPDATE note_revisions SET noteId = '_globalNoteMap' WHERE noteId = 'globalnotemap';
UPDATE branches SET noteId = '_globalNoteMap' WHERE noteId = 'globalnotemap';
UPDATE branches SET parentNoteId = '_globalNoteMap' WHERE parentNoteId = 'globalnotemap';
UPDATE attributes SET noteId = '_globalNoteMap' WHERE noteId = 'globalnotemap';
UPDATE attributes SET value = '_globalNoteMap' WHERE type = 'relation' AND value = 'globalnotemap';
UPDATE entity_changes SET entityId = '_globalNoteMap' WHERE entityId = 'globalnotemap';
UPDATE notes SET noteId = '_bulkAction', title = 'Bulk Action' WHERE noteId = 'bulkaction';
UPDATE note_contents SET noteId = '_bulkAction' WHERE noteId = 'bulkaction';
UPDATE note_revisions SET noteId = '_bulkAction' WHERE noteId = 'bulkaction';
UPDATE branches SET parentNoteId = '_bulkAction' WHERE parentNoteId = 'bulkaction';
UPDATE branches SET noteId = '_bulkAction' WHERE noteId = 'bulkaction';
UPDATE attributes SET noteId = '_bulkAction' WHERE noteId = 'bulkaction';
UPDATE attributes SET value = '_bulkAction' WHERE type = 'relation' AND value = 'bulkaction';
UPDATE entity_changes SET entityId = '_bulkAction' WHERE entityId = 'bulkaction';
UPDATE notes SET noteId = '_sqlConsole', title = 'SQL Console History' WHERE noteId = 'sqlconsole';
UPDATE note_contents SET noteId = '_sqlConsole' WHERE noteId = 'sqlconsole';
UPDATE note_revisions SET noteId = '_sqlConsole' WHERE noteId = 'sqlconsole';
UPDATE branches SET noteId = '_sqlConsole' WHERE noteId = 'sqlconsole';
UPDATE branches SET parentNoteId = '_sqlConsole' WHERE parentNoteId = 'sqlconsole';
UPDATE attributes SET noteId = '_sqlConsole' WHERE noteId = 'sqlconsole';
UPDATE attributes SET value = '_sqlConsole' WHERE type = 'relation' AND value = 'sqlconsole';
UPDATE entity_changes SET entityId = '_sqlConsole' WHERE entityId = 'sqlconsole';
UPDATE notes SET noteId = '_hidden', title = 'Hidden Notes' WHERE noteId = 'hidden';
UPDATE note_contents SET noteId = '_hidden' WHERE noteId = 'hidden';
UPDATE note_revisions SET noteId = '_hidden' WHERE noteId = 'hidden';
UPDATE branches SET noteId = '_hidden', prefix = NULL WHERE noteId = 'hidden';
UPDATE branches SET parentNoteId = '_hidden' WHERE parentNoteId = 'hidden';
UPDATE attributes SET noteId = '_hidden' WHERE noteId = 'hidden';
UPDATE attributes SET value = '_hidden' WHERE type = 'relation' AND value = 'hidden';
UPDATE entity_changes SET entityId = '_hidden' WHERE entityId = 'hidden';
UPDATE notes SET noteId = '_search', title = 'Search History' WHERE noteId = 'search';
UPDATE note_contents SET noteId = '_search' WHERE noteId = 'search';
UPDATE note_revisions SET noteId = '_search' WHERE noteId = 'search';
UPDATE branches SET noteId = '_search' WHERE noteId = 'search';
UPDATE branches SET parentNoteId = '_search' WHERE parentNoteId = 'search';
UPDATE attributes SET noteId = '_search' WHERE noteId = 'search';
UPDATE attributes SET value = '_search' WHERE type = 'relation' AND value = 'search';
UPDATE entity_changes SET entityId = '_search' WHERE entityId = 'search';
UPDATE notes SET noteId = '_share', title = 'Shared Notes' WHERE noteId = 'share';
UPDATE note_contents SET noteId = '_share' WHERE noteId = 'share';
UPDATE note_revisions SET noteId = '_share' WHERE noteId = 'share';
UPDATE branches SET noteId = '_share' WHERE noteId = 'share';
UPDATE branches SET parentNoteId = '_share' WHERE parentNoteId = 'share';
UPDATE attributes SET noteId = '_share' WHERE noteId = 'share';
UPDATE attributes SET value = '_share' WHERE type = 'relation' AND value = 'share';
UPDATE entity_changes SET entityId = '_share' WHERE entityId = 'share';

View File

@@ -1,12 +0,0 @@
module.exports = () => {
const hiddenSubtreeService = require('../../src/services/hidden_subtree');
const cls = require("../../src/services/cls");
const beccaLoader = require("../../src/becca/becca_loader");
cls.init(() => {
beccaLoader.load();
// make sure the hidden subtree exists since the subsequent migrations we will move some existing notes into it (share...)
// in previous releases hidden subtree was created lazily
hiddenSubtreeService.checkHiddenSubtree(true);
});
};

View File

@@ -1,2 +0,0 @@
DELETE FROM branches WHERE noteId = '_share' AND parentNoteId != 'root' AND parentNoteId != '_hidden'; -- delete all other branches of _share if any
UPDATE branches SET parentNoteId = '_hidden' WHERE noteId = '_share';

View File

@@ -1,2 +0,0 @@
DELETE FROM branches WHERE noteId = '_globalNoteMap' AND parentNoteId != 'singles' AND parentNoteId != '_hidden'; -- make sure there are no clones which would fail at the next line
UPDATE branches SET parentNoteId = '_hidden' WHERE noteId = '_globalNoteMap';

View File

@@ -1,6 +0,0 @@
DELETE FROM branches WHERE noteId = 'singles';
DELETE FROM notes WHERE noteId = 'singles';
DELETE FROM note_contents WHERE noteId = 'singles';
DELETE FROM note_revisions WHERE noteId = 'singles';
DELETE FROM attributes WHERE noteId = 'singles';
DELETE FROM entity_changes WHERE entityId = 'singles';

View File

@@ -1,21 +0,0 @@
module.exports = () => {
const cls = require("../../src/services/cls");
const cloningService = require("../../src/services/cloning");
const beccaLoader = require("../../src/becca/becca_loader");
const becca = require("../../src/becca/becca");
cls.init(() => {
beccaLoader.load();
for (const attr of becca.findAttributes('label','bookmarked')) {
cloningService.toggleNoteInParent(true, attr.noteId, '_lbBookmarks');
attr.markAsDeleted("0204__migrate_bookmarks_to_clones");
}
// bookmarkFolder used to work in 0.57 without the bookmarked label
for (const attr of becca.findAttributes('label','bookmarkFolder')) {
cloningService.toggleNoteInParent(true, attr.noteId, '_lbBookmarks');
}
});
};

View File

@@ -1,3 +0,0 @@
UPDATE notes SET type = 'relationMap' WHERE type = 'relation-map';
UPDATE notes SET type = 'noteMap' WHERE type = 'note-map';
UPDATE notes SET type = 'webView' WHERE type = 'web-view';

View File

@@ -1,33 +0,0 @@
// the history was previously not exposed and the fact they were not cleaned up is rather a side-effect than an intention
module.exports = () => {
const cls = require("../../src/services/cls");
const beccaLoader = require("../../src/becca/becca_loader");
const becca = require("../../src/becca/becca");
cls.init(() => {
beccaLoader.load();
// deleting just branches because they might be cloned (and therefore saved) also outside of the hidden subtree
const searchRoot = becca.getNote('_search');
for (const searchBranch of searchRoot.getChildBranches()) {
const searchNote = searchBranch.getNote();
if (searchNote.type === 'search') {
searchBranch.deleteBranch('0206__delete_search_and_sql_console_history');
}
}
const sqlConsoleRoot = becca.getNote('_sqlConsole');
for (const sqlConsoleBranch of sqlConsoleRoot.getChildBranches()) {
const sqlConsoleNote = sqlConsoleBranch.getNote();
if (sqlConsoleNote.type === 'code' && sqlConsoleNote.mime === 'text/x-sqlite;schema=trilium') {
sqlConsoleBranch.deleteBranch('0206__delete_search_and_sql_console_history');
}
}
});
};

View File

@@ -1,2 +0,0 @@
UPDATE notes SET title = 'SQL Console History' WHERE noteId = '_sqlConsole';
UPDATE notes SET title = 'Search History' WHERE noteId = '_search';

View File

@@ -1,13 +0,0 @@
module.exports = () => {
const cls = require("../../src/services/cls");
const beccaLoader = require("../../src/becca/becca_loader");
const becca = require("../../src/becca/becca");
cls.init(() => {
beccaLoader.load();
for (const label of becca.getNote('_hidden').getLabels('archived')) {
label.markAsDeleted('0208__remove_archived_from_hidden');
}
});
};

View File

@@ -1,5 +0,0 @@
UPDATE attributes SET name = 'workspaceInbox' WHERE type = 'label' AND name = 'hoistedInbox';
UPDATE entity_changes SET entityId = 'workspaceInbox' WHERE entityName = 'attributes' AND entityId = 'hoistedInbox';
UPDATE attributes SET name = 'workspaceSearchHome' WHERE type = 'label' AND name = 'hoistedSearchHome';
UPDATE entity_changes SET entityId = 'workspaceSearchHome' WHERE entityName = 'attributes' AND entityId = 'hoistedSearchHome';

View File

@@ -1,24 +0,0 @@
module.exports = async () => {
const cls = require("../../src/services/cls");
const beccaLoader = require("../../src/becca/becca_loader");
const log = require("../../src/services/log");
const consistencyChecks = require("../../src/services/consistency_checks");
const noteService = require("../../src/services/notes");
await cls.init(async () => {
// precaution for the 0211 migration
noteService.eraseDeletedNotesNow();
beccaLoader.load();
try {
// precaution before running 211 which might produce unique constraint problems if the DB was not consistent
consistencyChecks.runOnDemandChecksWithoutExclusiveLock(true);
}
catch (e) {
// consistency checks might start failing in the future if there's some incompatible migration down the road
// we can optimistically assume the DB is consistent and still continue
log.error(`Consistency checks failed in migration 0210: ${e.message} ${e.stack}`);
}
});
};

View File

@@ -1,12 +0,0 @@
-- case based on isDeleted is needed, otherwise 2 branches (1 deleted, 1 not) might get the same ID
UPDATE entity_changes SET entityId = COALESCE((
SELECT
CASE isDeleted
WHEN 0 THEN parentNoteId || '_' || noteId
WHEN 1 THEN branchId
END
FROM branches WHERE branchId = entityId
), entityId)
WHERE entityName = 'branches' AND isErased = 0;
UPDATE branches SET branchId = parentNoteId || '_' || noteId WHERE isDeleted = 0;

View File

@@ -1,27 +0,0 @@
module.exports = () => {
const cls = require("../../src/services/cls");
const beccaLoader = require("../../src/becca/becca_loader");
const becca = require("../../src/becca/becca");
const log = require("../../src/services/log");
cls.init(() => {
beccaLoader.load();
const hidden = becca.getNote("_hidden");
if (!hidden) {
log.info("MIGRATION 212: no _hidden note, skipping.");
return;
}
for (const noteId of hidden.getSubtreeNoteIds({includeHidden: true})) {
if (noteId.startsWith("_")) { // is "named" note
const note = becca.getNote(noteId);
for (const attr of note.getOwnedAttributes()) {
attr.markAsDeleted("0212__delete_all_attributes_of_named_notes");
}
}
}
});
};

View File

@@ -1,48 +0,0 @@
module.exports = () => {
const beccaLoader = require("../../src/becca/becca_loader");
const becca = require("../../src/becca/becca");
const cls = require("../../src/services/cls");
const log = require("../../src/services/log");
cls.init(() => {
beccaLoader.load();
for (const note of Object.values(becca.notes)) {
try {
if (!note.isJavaScript()) {
continue;
}
if (!note.mime?.endsWith('env=frontend') && !note.mime?.endsWith('env=backend')) {
continue;
}
const origContent = note.getContent().toString();
const fixedContent = origContent
.replaceAll("runOnServer", "runOnBackend")
.replaceAll("api.refreshTree()", "")
.replaceAll("addTextToActiveTabEditor", "addTextToActiveContextEditor")
.replaceAll("getActiveTabNote", "getActiveContextNote")
.replaceAll("getActiveTabTextEditor", "getActiveContextTextEditor")
.replaceAll("getActiveTabNotePath", "getActiveContextNotePath")
.replaceAll("getDateNote", "getDayNote")
.replaceAll("utils.unescapeHtml", "unescapeHtml")
.replaceAll("sortNotesByTitle", "sortNotes")
.replaceAll("CollapsibleWidget", "RightPanelWidget")
.replaceAll("TabAwareWidget", "NoteContextAwareWidget")
.replaceAll("TabCachingWidget", "NoteContextAwareWidget")
.replaceAll("NoteContextCachingWidget", "NoteContextAwareWidget");
if (origContent !== fixedContent) {
log.info(`Replacing legacy API calls for note '${note.noteId}'`);
note.saveNoteRevision();
note.setContent(fixedContent);
}
}
catch (e) {
log.error(`Error during migration to 213 for note '${note.noteId}': ${e.message} ${e.stack}`);
}
}
});
};

View File

@@ -0,0 +1,13 @@
CREATE TABLE IF NOT EXISTS "blobs" (
`blobId` TEXT NOT NULL,
`content` TEXT NULL DEFAULT NULL,
`dateModified` TEXT NOT NULL,
`utcDateModified` TEXT NOT NULL,
PRIMARY KEY(`blobId`)
);
ALTER TABLE notes ADD blobId TEXT DEFAULT NULL;
ALTER TABLE note_revisions ADD blobId TEXT DEFAULT NULL;
CREATE INDEX IF NOT EXISTS IDX_notes_blobId on notes (blobId);
CREATE INDEX IF NOT EXISTS IDX_note_revisions_blobId on note_revisions (blobId);

View File

@@ -0,0 +1,62 @@
module.exports = () => {
const sql = require('../../src/services/sql');
const utils = require('../../src/services/utils');
const existingBlobIds = new Set();
for (const noteId of sql.getColumn(`SELECT noteId FROM note_contents`)) {
const row = sql.getRow(`SELECT noteId, content, dateModified, utcDateModified FROM note_contents WHERE noteId = ?`, [noteId]);
const blobId = utils.hashedBlobId(row.content);
if (!existingBlobIds.has(blobId)) {
existingBlobIds.add(blobId);
sql.insert('blobs', {
blobId,
content: row.content,
dateModified: row.dateModified,
utcDateModified: row.utcDateModified
});
sql.execute("UPDATE entity_changes SET entityName = 'blobs', entityId = ? WHERE entityName = 'note_contents' AND entityId = ?", [blobId, row.noteId]);
} else {
// duplicates
sql.execute("DELETE FROM entity_changes WHERE entityName = 'note_contents' AND entityId = ?", [row.noteId]);
}
sql.execute('UPDATE notes SET blobId = ? WHERE noteId = ?', [blobId, row.noteId]);
}
for (const noteRevisionId of sql.getColumn(`SELECT noteRevisionId FROM note_revision_contents`)) {
const row = sql.getRow(`SELECT noteRevisionId, content, utcDateModified FROM note_revision_contents WHERE noteRevisionId = ?`, [noteRevisionId]);
const blobId = utils.hashedBlobId(row.content);
if (!existingBlobIds.has(blobId)) {
existingBlobIds.add(blobId);
sql.insert('blobs', {
blobId,
content: row.content,
dateModified: row.utcDateModified,
utcDateModified: row.utcDateModified
});
sql.execute("UPDATE entity_changes SET entityName = 'blobs', entityId = ? WHERE entityName = 'note_revision_contents' AND entityId = ?", [blobId, row.noteRevisionId]);
} else {
// duplicates
sql.execute("DELETE FROM entity_changes WHERE entityName = 'note_revision_contents' AND entityId = ?", [row.noteId]);
}
sql.execute('UPDATE note_revisions SET blobId = ? WHERE noteRevisionId = ?', [blobId, row.noteRevisionId]);
}
const notesWithoutBlobIds = sql.getColumn("SELECT noteId FROM notes WHERE blobId IS NULL");
if (notesWithoutBlobIds.length > 0) {
throw new Error("BlobIds were not filled correctly in notes: " + JSON.stringify(notesWithoutBlobIds));
}
const noteRevisionsWithoutBlobIds = sql.getColumn("SELECT noteRevisionId FROM note_revisions WHERE blobId IS NULL");
if (noteRevisionsWithoutBlobIds.length > 0) {
throw new Error("BlobIds were not filled correctly in note revisions: " + JSON.stringify(noteRevisionsWithoutBlobIds));
}
};

View File

@@ -0,0 +1,4 @@
DROP TABLE note_contents;
DROP TABLE note_revision_contents;
DELETE FROM entity_changes WHERE entityName IN ('note_contents', 'note_revision_contents');

View File

@@ -0,0 +1,26 @@
CREATE TABLE IF NOT EXISTS "revisions" (`revisionId` TEXT NOT NULL PRIMARY KEY,
`noteId` TEXT NOT NULL,
type TEXT DEFAULT '' NOT NULL,
mime TEXT DEFAULT '' NOT NULL,
`title` TEXT NOT NULL,
`isProtected` INT NOT NULL DEFAULT 0,
blobId TEXT DEFAULT NULL,
`utcDateLastEdited` TEXT NOT NULL,
`utcDateCreated` TEXT NOT NULL,
`utcDateModified` TEXT NOT NULL,
`dateLastEdited` TEXT NOT NULL,
`dateCreated` TEXT NOT NULL);
INSERT INTO revisions (revisionId, noteId, type, mime, title, isProtected, utcDateLastEdited, utcDateCreated, utcDateModified, dateLastEdited, dateCreated, blobId)
SELECT noteRevisionId, noteId, type, mime, title, isProtected, utcDateLastEdited, utcDateCreated, utcDateModified, dateLastEdited, dateCreated, blobId FROM note_revisions;
DROP TABLE note_revisions;
CREATE INDEX `IDX_revisions_noteId` ON `revisions` (`noteId`);
CREATE INDEX `IDX_revisions_utcDateCreated` ON `revisions` (`utcDateCreated`);
CREATE INDEX `IDX_revisions_utcDateLastEdited` ON `revisions` (`utcDateLastEdited`);
CREATE INDEX `IDX_revisions_dateCreated` ON `revisions` (`dateCreated`);
CREATE INDEX `IDX_revisions_dateLastEdited` ON `revisions` (`dateLastEdited`);
CREATE INDEX IF NOT EXISTS IDX_revisions_blobId on revisions (blobId);
UPDATE entity_changes SET entityName = 'revisions' WHERE entityName = 'note_revisions';

View File

@@ -0,0 +1,23 @@
CREATE TABLE IF NOT EXISTS "attachments"
(
attachmentId TEXT not null primary key,
ownerId TEXT not null,
role TEXT not null,
mime TEXT not null,
title TEXT not null,
isProtected INT not null DEFAULT 0,
position INT default 0 not null,
blobId TEXT DEFAULT null,
dateModified TEXT NOT NULL,
utcDateModified TEXT not null,
utcDateScheduledForErasureSince TEXT DEFAULT NULL,
isDeleted INT not null,
deleteId TEXT DEFAULT NULL);
CREATE INDEX IDX_attachments_ownerId_role
on attachments (ownerId, role);
CREATE INDEX IDX_attachments_utcDateScheduledForErasureSince
on attachments (utcDateScheduledForErasureSince);
CREATE INDEX IF NOT EXISTS IDX_attachments_blobId on attachments (blobId);

View File

@@ -0,0 +1,27 @@
module.exports = () => {
const beccaLoader = require('../../src/becca/becca_loader');
const becca = require('../../src/becca/becca');
const cls = require('../../src/services/cls');
const log = require('../../src/services/log');
const sql = require('../../src/services/sql');
cls.init(() => {
// emergency disabling of image compression since it appears to make problems in migration to 0.61
sql.execute(`UPDATE options SET value = 'false' WHERE name = 'compressImages'`);
beccaLoader.load();
for (const note of Object.values(becca.notes)) {
try {
const attachment = note.convertToParentAttachment({ autoConversion: true });
if (attachment) {
log.info(`Auto-converted note '${note.noteId}' into attachment '${attachment.attachmentId}'.`);
}
}
catch (e) {
log.error(`Cannot convert note '${note.noteId}' to attachment: ${e.message} ${e.stack}`);
}
}
});
};

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