Compare commits

...

1085 Commits

Author SHA1 Message Date
Elian Doran da1cf4d6ed Bump to 0.90.10-beta
/ Check Docker build (Dockerfile) (push) Failing after 35s
/ Check Docker build (Dockerfile.alpine) (push) Failing after 36s
/ Build Docker images (Dockerfile, linux/arm/v7) (push) Has been skipped
/ Build Docker images (Dockerfile, linux/arm64) (push) Has been skipped
/ Build Docker images (Dockerfile.alpine, linux/amd64) (push) Has been skipped
/ Merge manifest lists (push) Has been skipped
Release / Make Electron (arm64, map[extension:deb image:ubuntu-latest name:linux]) (push) Failing after 40s
Release / Make Electron (x64, map[extension:deb image:ubuntu-latest name:linux]) (push) Failing after 31s
Release / Build Linux Server x86_64 (push) Failing after 27s
Release / Make Electron (arm64, map[extension:dmg image:macos-latest name:macos]) (push) Has been cancelled
Release / Make Electron (arm64, map[extension:exe image:windows-latest name:windows]) (push) Has been cancelled
Release / Make Electron (x64, map[extension:dmg image:macos-latest name:macos]) (push) Has been cancelled
Release / Make Electron (x64, map[extension:exe image:windows-latest name:windows]) (push) Has been cancelled
2024-11-04 17:24:30 +02:00
Adorian Doran dd7c2084fa client: apply grouping to the MIME type list 2024-11-03 15:43:33 +02:00
Adorian Doran 4f5d874028 client: Use a multiple column layout for the MIME type listing 2024-11-03 15:42:13 +02:00
Elian Doran 611fb90a52 Merge pull request #544 from hasecilu/i18n/Spanish_update
i18n: Update Spanish translations
2024-11-02 21:45:41 +02:00
hasecilu 75e554d86b i18n: Update Spanish translations 2024-11-02 13:09:44 -06:00
Elian Doran 0db1a63cef client: Fix sync error toast 2024-11-02 19:02:26 +02:00
Elian Doran 4ffc6f716c client: Enable syntax highlighting in print 2024-11-02 16:40:33 +02:00
Elian Doran fa3200ba8f electron: Fix docnotes not rendering 2024-11-02 16:11:59 +02:00
Elian Doran bff9bedc44 i18n: Translate sync messages 2024-11-02 15:43:16 +02:00
Elian Doran f8777b0de1 server: Fix path on dev environment 2024-11-02 15:01:58 +02:00
Adorian Doran 48e6c1a33d client: Properly align of the "Override theme fonts" checkbox 2024-11-02 14:34:55 +02:00
Adorian Doran 4c43ac5bdd client: Use a shadowless box for printed code blocks 2024-11-02 14:29:20 +02:00
Elian Doran 45ccc7562e client: Fix error in toast due to missing import 2024-11-02 12:19:17 +02:00
Elian Doran e72eb5f27c electron: Fix asset path on forge build 2024-11-02 11:49:33 +02:00
Elian Doran d1404492a7 build: Use shorter special version moniker
Some builds fail in the CI because the extra part of the version is limited to 20 chars.
2024-11-02 11:04:16 +02:00
Elian Doran 238c9c6f0d build: Fix updating nightly version for desktop builds 2024-11-02 10:43:42 +02:00
Elian Doran 443f02a78e client,server: i18next: 23.16.2 -> 23.16.4 2024-11-02 10:24:53 +02:00
Elian Doran 5fbd052138 build: Update tooling dependencies 2024-11-02 10:23:46 +02:00
Elian Doran bc84a71929 client: mermaid: 11.3.0 -> 11.4.0 2024-11-02 10:22:22 +02:00
Elian Doran a514a51fff client: mind-elixir: 4.2.3 -> 4.2.4 2024-11-02 10:18:58 +02:00
Elian Doran 24022834e2 db: Update demo section on code blocks 2024-11-02 10:15:22 +02:00
Elian Doran 9fdc84d91f build: Update nightly version for server as well 2024-11-02 09:53:36 +02:00
Elian Doran 9c27672794 build: Update nightly version to avoid caching issues 2024-11-02 09:47:31 +02:00
Elian Doran f37fa3723b Merge pull request #526 from TriliumNext/feature/syntax_highlight
Basic syntax highlight support for code blocks
2024-11-02 01:46:02 +02:00
Elian Doran b14065d442 server: Address self-review 2024-11-02 01:42:25 +02:00
Elian Doran 1554e25283 server: Add documentation for code_block_theme 2024-11-02 01:39:35 +02:00
Elian Doran 4e945583a1 server: Add some documentation 2024-11-02 00:55:45 +02:00
Elian Doran 92c588dc98 server: Implement color theme migration based on existing theme 2024-11-02 00:39:22 +02:00
Elian Doran 5c66e3fd04 server: Initialize code block theme for old databases as well 2024-11-02 00:20:27 +02:00
Elian Doran e508313f21 electron: Fix deprecation warning 2024-11-01 23:42:32 +02:00
Elian Doran df3f51d1f3 electron: Fix loading of highlight.js 2024-11-01 23:42:23 +02:00
Elian Doran 0a6815e448 Merge remote-tracking branch 'origin/develop' into feature/syntax_highlight 2024-11-01 23:20:12 +02:00
Elian Doran 293db6962e Merge branch 'develop' of ssh://github.com/TriliumNext/Notes into develop 2024-11-01 23:14:41 +02:00
Elian Doran eb05c5b919 Merge pull request #534 from TriliumNext/AutomaticallyShowRecentNotes
Automatically trigger autocomplete on focus.
2024-11-01 20:37:39 +02:00
Elian Doran bbaed45f6b client: Fix scrolling in empty tab search list after constraining height 2024-11-01 20:23:46 +02:00
Elian Doran aa7d7b3afd client: Add borders to empty tab search list 2024-11-01 20:20:53 +02:00
Elian Doran fc4797d04f Merge pull request #541 from TriliumNext/export_file_name
Crop fileName  and prevent cutting into the extension.
2024-11-01 19:44:31 +02:00
Elian Doran c2baa4b752 server: Add comment to clarify use of regex 2024-11-01 19:43:39 +02:00
Elian Doran faeefc75ba Merge pull request #542 from TriliumNext/close_tabs
close right tabs
2024-11-01 19:07:55 +02:00
Elian Doran d0904c1051 client: Change translation for closing tabs to the right 2024-11-01 19:05:56 +02:00
Elian Doran 11a82e62f1 client: Change layout of tab context menu slightly 2024-11-01 19:03:06 +02:00
SiriusXT 7b24f7e332 close right tabs 2024-11-01 22:01:46 +08:00
SiriusXT 7f17f93767 Crop fileName and prevent cutting into the extension. 2024-11-01 21:43:09 +08:00
SiriusXT cdd5a17fce Make note-detail-empty always display autocompletion. 2024-11-01 15:30:31 +08:00
SiriusXT dbca50d9b0 Make note-detail-empty always display autocompletion. 2024-11-01 14:45:49 +08:00
Elian Doran 57a86c75d8 i18n: Fix single Romanian translation 2024-10-31 23:54:50 +02:00
Elian Doran 9e3c1b46cd client: Don't load syntax highlighter when not needed 2024-10-31 22:47:34 +02:00
Elian Doran 00209ec77a client: Apply syntax highlight to included notes 2024-10-31 22:18:00 +02:00
Elian Doran dfa4f3cd84 client: Apply syntax highlight to note preview 2024-10-31 22:14:54 +02:00
Elian Doran 3af29a78dc client: Refactor syntax highlighting for read-only text into service 2024-10-31 22:11:59 +02:00
Elian Doran 4d783f1879 client: Fix color theme leak when deactivating highlighting 2024-10-31 21:45:06 +02:00
Elian Doran c3e10b2b76 client: Remove syntax highlight in preview when disabled 2024-10-31 21:33:00 +02:00
Elian Doran f57ab4b9f0 client: Fix word wrap preview being in reverse 2024-10-31 21:29:01 +02:00
Elian Doran a690155d7e client: Improve group for no theme 2024-10-31 21:17:40 +02:00
Elian Doran cc0b3db424 client: Translate dark/light color theme groups 2024-10-31 21:00:48 +02:00
Elian Doran ae60f8c842 client: Group color themes by dark/light 2024-10-31 20:54:33 +02:00
Elian Doran 90dffdc6ed client: Enable preview for word wrap 2024-10-31 20:18:02 +02:00
Elian Doran ac13291744 client,server: Allow disabling syntax highlight 2024-10-31 18:03:52 +02:00
Elian Doran bbc038f254 Merge remote-tracking branch 'origin/develop' into feature/syntax_highlight 2024-10-31 17:48:49 +02:00
Elian Doran f8df3a6933 client: Fix crash for some unhandled rejections 2024-10-31 17:48:33 +02:00
Elian Doran b10e2d9ec4 Update README to add a few shields 2024-10-31 14:00:14 +02:00
SiriusXT 2387bbd17f Automatically trigger autocomplete on focus. 2024-10-30 22:30:40 +08:00
Adorian Doran f13d88c3c0 Add a background color transition for the code sample 2024-10-29 18:46:55 +02:00
Adorian Doran 2459bbf341 Improve the layout of the "Word wrapping" checkbox 2024-10-29 18:39:14 +02:00
Adorian Doran 60426ea487 Fix word-wrapping 2024-10-29 12:57:15 +02:00
Adorian Doran b112cb609f Tweak the padding of the language badges 2024-10-29 01:55:29 +02:00
Adorian Doran b9ebc66122 Customize the scrollbar in code boxes for WebKit-based browsers 2024-10-29 01:30:08 +02:00
Adorian Doran 2f4ed92346 Prevent the language badge to be scrolled in code boxes 2024-10-29 01:07:24 +02:00
Adorian Doran d3d001d8ea Tweak (again) the shadow of code blocks 2024-10-28 23:52:45 +02:00
Adorian Doran 70cee7dbf6 Tweak the shadow of code blocks 2024-10-28 23:44:40 +02:00
Adorian Doran 36fde2b03d Tweak the language badge of code blocks 2024-10-28 23:29:53 +02:00
Adorian Doran bda8173932 Improve the sample code 2024-10-28 16:08:46 +02:00
Adorian Doran 48f9f072b4 Format theme names 2024-10-28 16:07:52 +02:00
Elian Doran 9c55203ea0 client: Add credits 2024-10-28 00:05:43 +02:00
Elian Doran dbb5e0e971 server: Add friendlier names for color themes 2024-10-27 23:46:03 +02:00
Elian Doran b8eb09b46b server: Refactor code block theme search into own service 2024-10-27 23:12:55 +02:00
Elian Doran 5682b2d819 client: Translate word wrapping 2024-10-27 22:57:34 +02:00
Elian Doran 5109c07e9c client: Toggle word wrapping for code blocks 2024-10-27 22:51:24 +02:00
Elian Doran b8569ea243 client, server: Create option to control word wrapping for code blocks 2024-10-27 21:51:56 +02:00
Elian Doran 52bc28def7 client: Rename section to CodeBlockOptions 2024-10-27 21:42:40 +02:00
Elian Doran e65d4cdfbf client: Rename endpoint to codeblock-themes 2024-10-27 21:40:22 +02:00
Elian Doran 96b9042559 client: Rename option to codeBlockTheme 2024-10-27 21:39:50 +02:00
Elian Doran e68d070320 client: Set up localization for syntax highlighting section 2024-10-27 21:27:35 +02:00
Elian Doran ef5f2c680b client: Rephrase theme section 2024-10-27 21:19:27 +02:00
Elian Doran 6717b1b4ae client: Rephrase section 2024-10-27 21:15:51 +02:00
Elian Doran 41e3163595 client: Fix flicker of font selection 2024-10-27 21:03:13 +02:00
Elian Doran 514653fb50 client: Fix flicker of preview 2024-10-27 20:22:23 +02:00
Elian Doran e843f1adc1 client: Fix background of preview 2024-10-27 20:19:53 +02:00
Elian Doran 83f5b47c99 client: Set up simple preview for syntax highlight 2024-10-27 20:18:44 +02:00
Elian Doran 2fdff29067 client: Apply syntax highlight in real-time 2024-10-27 20:08:12 +02:00
Elian Doran 0d270cbeb6 client: Use 3px shadow for dark theme 2024-10-27 20:01:08 +02:00
Elian Doran f947a039b9 client: Apply background to read-only code blocks as well 2024-10-27 19:58:00 +02:00
Elian Doran d2235a185b client: Improve style for code blocks 2024-10-27 19:54:05 +02:00
Elian Doran 87bc142552 client: Fix foreground color 2024-10-27 19:43:48 +02:00
Elian Doran 1a25f60264 client: Fix background color 2024-10-27 19:41:28 +02:00
Elian Doran fe4dbae079 client: Apply highlighting theme on refresh 2024-10-27 17:41:37 +02:00
Elian Doran e1ae014b74 server: Remove dashes from syntax theme name 2024-10-27 17:25:05 +02:00
Elian Doran 7952a5a81e client: Fix order of options 2024-10-27 12:54:40 +02:00
Elian Doran 60b6f7df89 client: Allow switching theme 2024-10-27 12:54:06 +02:00
Elian Doran 7354fb5b4a client,server: List syntax highlighting themes 2024-10-27 12:41:53 +02:00
Elian Doran 1fb0b74f76 client: Use same mechanism for read-only notes 2024-10-27 12:15:32 +02:00
Elian Doran 9e3b915612 client: Use translation for auto-detect 2024-10-27 11:47:36 +02:00
Elian Doran 7505db220e client: Implement auto syntax highlighting 2024-10-27 11:46:19 +02:00
Elian Doran a3932376f3 client: Add Javadoc for newly introduced methods 2024-10-27 11:32:54 +02:00
Elian Doran 3a609d54ab client: Fix highlighting for JavaScript 2024-10-27 11:21:08 +02:00
Elian Doran c4bd4eb440 client: Respect user language selection for editor 2024-10-27 11:18:36 +02:00
Elian Doran e931df721d client: Fix duplication when requesting scripts 2024-10-27 10:48:50 +02:00
Elian Doran 1e9324c303 client: Support custom language types for highlight 2024-10-27 10:39:31 +02:00
Elian Doran 6c4513fb2e client: Enable syntax highlight for read-only notes 2024-10-27 08:52:34 +02:00
Elian Doran c7e1362105 Merge branch 'develop' into feature/syntax_highlight 2024-10-26 23:39:49 +03:00
Elian Doran acf37f9327 client: Fix error when duplicating note 2024-10-26 23:39:38 +03:00
Elian Doran f80cf0aa02 Add limit to blocks highlighting 2024-10-26 23:39:18 +03:00
Elian Doran 6078620bf1 Carry over code block highlighting 2024-10-26 23:27:23 +03:00
Elian Doran 579b3f4ca0 Carry over highlighter initialization 2024-10-26 23:21:51 +03:00
Elian Doran bf28005f46 Create dedicated file for syntax highlight 2024-10-26 23:16:24 +03:00
Elian Doran c81b847b61 Set up highlight.js 2024-10-26 22:57:07 +03:00
Elian Doran 88cd2ac25c build: Fix duplication 2024-10-26 01:00:44 +03:00
Elian Doran e3e6f56a88 build: Add icon.png for Linux builds (fixes #507) 2024-10-26 00:58:02 +03:00
Elian Doran 0768a2a0a3 build: Add StartupWMClass to deb build 2024-10-26 00:42:44 +03:00
Elian Doran 84d216da54 i18n: Translate missing keys for Romanian 2024-10-25 21:06:03 +03:00
Elian Doran 391f518c01 i18n: Translate search note prefix 2024-10-25 21:04:13 +03:00
Elian Doran 2324c9a13b client: Fix HTML in some toasts 2024-10-25 20:51:50 +03:00
Elian Doran 6799c44e22 client: Fix redundant toast message 2024-10-25 20:50:13 +03:00
Elian Doran f0052d56b7 Merge pull request #520 from hasecilu/i18n/more_Spanish_translation
More Spanish translation
2024-10-25 20:49:48 +03:00
Elian Doran 53822fd47f client: Remove redundant global 2024-10-25 20:44:08 +03:00
hasecilu b02c4b54e5 i18n: Fix source strings 2024-10-25 11:32:43 -06:00
hasecilu 27f07ee604 i18n: Update Spanish translations 2024-10-25 11:32:42 -06:00
Elian Doran 03a23d15f9 client: Fix double errors if not returning a widget 2024-10-25 20:22:29 +03:00
Elian Doran 70d55097ee client: Fix crash if note tree fails to find a child note 2024-10-25 20:15:12 +03:00
Elian Doran 560467bdba client: Log uncaught promise errors 2024-10-25 19:57:40 +03:00
Elian Doran cb4fe4481f client: Strengthen widget rendering errors detection 2024-10-25 19:57:31 +03:00
Elian Doran eee088316d client: Improve logging for some bundle errors 2024-10-24 20:55:36 +03:00
Elian Doran 81ca0a3776 client: Improve logging for basic sync crash 2024-10-24 18:47:16 +03:00
Elian Doran 48b0af1bba client: Stop crash if right widget crashes during render 2024-10-24 18:14:17 +03:00
Elian Doran 43ef452d44 client: Fix error when running script due to translations 2024-10-23 20:33:55 +03:00
Elian Doran 70ebf1a08f client: Fix content size for code editor 2024-10-23 20:27:36 +03:00
Elian Doran 9f6f0f5d60 server: Update locale when switching language from settings 2024-10-23 19:56:06 +03:00
Elian Doran af67362ad6 server: Translate weekday and month names 2024-10-23 19:34:09 +03:00
Elian Doran 77550f3087 server: Fix regression due to express types
/ Check Docker build (Dockerfile) (push) Failing after 41s
/ Check Docker build (Dockerfile.alpine) (push) Failing after 26s
/ Build Docker images (Dockerfile, linux/arm/v7) (push) Has been skipped
/ Build Docker images (Dockerfile, linux/arm64) (push) Has been skipped
/ Build Docker images (Dockerfile.alpine, linux/amd64) (push) Has been skipped
/ Merge manifest lists (push) Has been skipped
Release / Make Electron (arm64, map[extension:deb image:ubuntu-latest name:linux]) (push) Failing after 37s
Release / Make Electron (x64, map[extension:deb image:ubuntu-latest name:linux]) (push) Failing after 38s
Release / Build Linux Server x86_64 (push) Failing after 40s
Release / Make Electron (arm64, map[extension:dmg image:macos-latest name:macos]) (push) Has been cancelled
Release / Make Electron (arm64, map[extension:exe image:windows-latest name:windows]) (push) Has been cancelled
Release / Make Electron (x64, map[extension:dmg image:macos-latest name:macos]) (push) Has been cancelled
Release / Make Electron (x64, map[extension:exe image:windows-latest name:windows]) (push) Has been cancelled
2024-10-22 20:09:42 +03:00
Elian Doran 5813282248 Prepare for 0.90.9-beta 2024-10-22 20:05:43 +03:00
Elian Doran e77b223508 client: Update force-graph 1.43.5 -> 1.45.0 2024-10-22 20:03:05 +03:00
Elian Doran 7aafdce629 server: Update jasmine, debounce 2024-10-22 19:56:15 +03:00
Elian Doran a2f0cb394a server: Update marked, sanitize-html to latest 2024-10-22 19:53:22 +03:00
Elian Doran e8d1518965 build: Update TypeScript 2024-10-22 19:30:34 +03:00
Elian Doran 8b333b32af mind-elixir: 4.2.2 -> 4.2.3 2024-10-22 19:27:53 +03:00
Elian Doran cda369ed4d server: Update express, express-rate-limit, express-session to latest 2024-10-22 19:25:47 +03:00
Elian Doran b5bc93d794 i18next: 23.16.1 -> 23.16.2 2024-10-22 19:24:16 +03:00
Elian Doran b96047e962 vanilla-js-wheel-zoom: 9.0.2 -> 9.0.4 2024-10-22 19:22:14 +03:00
Elian Doran 31ccbb0d23 mind-elixir: 4.2.0 -> 4.2.2 2024-10-22 19:17:52 +03:00
Elian Doran cb9403535d i18next: 23.16.0 -> 23.16.1 2024-10-22 19:17:52 +03:00
Elian Doran b5ee90a1d2 i18n: Translate delete/restore branch 2024-10-22 19:17:52 +03:00
Elian Doran 9ed7eb977e i18n: Translate launcher context menu 2024-10-22 19:17:52 +03:00
Elian Doran 8cc487da7c i18n: Translate confirmation popups 2024-10-22 19:17:52 +03:00
Elian Doran ae593ea363 i18n: Translate protected session 2024-10-22 19:17:52 +03:00
Elian Doran 26e4decaec i18n: Translate toast errors 2024-10-22 19:17:52 +03:00
Elian Doran 28f6712a4f i18n: Translate toast messages 2024-10-22 19:17:52 +03:00
Elian Doran 93efce4023 server: Minimize not found logs (closes #505) 2024-10-22 19:17:52 +03:00
Elian Doran 689b3a3079 i18n: Fix capitalization of no anonymization 2024-10-22 19:17:51 +03:00
Elian Doran 4ad725842e server: Trim .htm when importing zip (closes #500) 2024-10-20 00:17:51 +03:00
Elian Doran d4956ad3a2 client: Refactor and add documentation 2024-10-19 23:19:11 +03:00
Elian Doran c7b7c68a05 client: Reduce code duplication for CodeMirror 2024-10-19 23:12:33 +03:00
Elian Doran cab1d7d353 client: Set up syntax highlight in read-only code (closes #504) 2024-10-19 22:56:45 +03:00
Elian Doran 7957c6d34e client: Fix promoted attribute style regressions (closes #503) 2024-10-19 22:40:27 +03:00
Elian Doran c18c972a57 i18n: Use variable interpolation for delete relation warning 2024-10-19 11:13:54 +03:00
Elian Doran 29a700f731 i18n: Fix duplication in delete relations count 2024-10-19 10:55:48 +03:00
Elian Doran 815eab26f6 i18n: Fix duplication in delete note count 2024-10-19 10:50:56 +03:00
Elian Doran 103da23b5a i18n: Fix strange title in Romanian 2024-10-19 10:46:28 +03:00
Elian Doran ba1d82bc0a i18n: Fix capitalization of checkbox 2024-10-19 10:45:45 +03:00
Elian Doran 21f8a29761 Bump to v0.90.8
/ Check Docker build (Dockerfile) (push) Failing after 33s
/ Check Docker build (Dockerfile.alpine) (push) Failing after 33s
/ Build Docker images (Dockerfile, linux/arm/v7) (push) Has been skipped
/ Build Docker images (Dockerfile, linux/arm64) (push) Has been skipped
/ Build Docker images (Dockerfile.alpine, linux/amd64) (push) Has been skipped
/ Merge manifest lists (push) Has been skipped
Release / Make Electron (arm64, map[extension:deb image:ubuntu-latest name:linux]) (push) Failing after 42s
Release / Make Electron (x64, map[extension:deb image:ubuntu-latest name:linux]) (push) Failing after 31s
Release / Build Linux Server x86_64 (push) Failing after 39s
Release / Make Electron (arm64, map[extension:dmg image:macos-latest name:macos]) (push) Has been cancelled
Release / Make Electron (arm64, map[extension:exe image:windows-latest name:windows]) (push) Has been cancelled
Release / Make Electron (x64, map[extension:dmg image:macos-latest name:macos]) (push) Has been cancelled
Release / Make Electron (x64, map[extension:exe image:windows-latest name:windows]) (push) Has been cancelled
2024-10-19 09:44:34 +03:00
Elian Doran f38870b27d i18next: 23.15.2 -> 23.16.0 2024-10-17 23:15:46 +03:00
Elian Doran 56a6d27240 client: mind-elixir: 4.1.5 -> 4.2.0 2024-10-17 23:12:43 +03:00
Elian Doran 38e5ef2c7d i18n: Translate some more Romanian messages 2024-10-17 22:50:20 +03:00
Elian Doran e29d600517 Merge pull request #489 from TriliumNext/add-stable-tag-to-containers
Introduce `stable` tag on containers
2024-10-17 22:43:04 +03:00
Elian Doran 42605fbbad Merge pull request #495 from Potjoe-97/develop
i18n : Add fr translation (2/2)
2024-10-17 22:42:01 +03:00
Elian Doran 11ca427a28 Merge pull request #496 from hasecilu/i18n/Spanish_more
Continue Spanish translation
2024-10-17 22:40:34 +03:00
hasecilu 28d8088763 i18n: Create script to create PO files for translation
Script for translators
2024-10-17 13:34:40 -06:00
hasecilu 664c4789c0 i18n: Update Spanish translation 2024-10-17 12:30:36 -06:00
Potjoe-97 7c5667b457 Minor fixes 2024-10-17 15:54:42 +02:00
Potjoe-97 0afd22e196 Edited French option to display native spelling 2024-10-17 15:12:51 +02:00
Potjoe-97 b3abee71b7 Major overhaul fr translation
Corrections & Consistency
2024-10-17 13:33:28 +02:00
Elian Doran 9bd5596b2a i18n: Set up French 2024-10-16 20:29:42 +03:00
Elian Doran e0e3c15e6e Merge pull request #493 from Potjoe-97/develop
Add french translation
2024-10-16 20:28:38 +03:00
Potjoe-97 31396264fa Corrections i18n : {} attribute detail 2024-10-16 14:52:05 +02:00
Potjoe-97 b1aada22b5 Corrections in /src/public/translations/fr 2024-10-16 11:32:34 +02:00
Elian Doran d7eaf72a6d Merge pull request #491 from TriliumNext/feature/i18n-part6
Feature/i18n part6
2024-10-16 12:13:28 +03:00
Potjoe-97 59df442676 Corrections /src/public/translations/fr
Consistency in translations/server.json
2024-10-15 20:29:34 +02:00
Potjoe-97 9770db7f3c Consistency : "étiquette" now translated into "label" 2024-10-15 18:52:34 +02:00
Potjoe-97 8c36cea71b src/public/translations/fr : First draft 2024-10-15 18:16:39 +02:00
Potjoe-97 b03f40f1f9 Edit french translation 2024-10-15 15:48:11 +02:00
Potjoe-97 00dba7bef4 Add french translation 2024-10-15 15:20:04 +02:00
Nriver 4186f3d136 add translation for app_context.js 2024-10-15 15:46:34 +08:00
Nriver 529502524d add missing context menu translation 2024-10-15 15:24:01 +08:00
Nriver 7c518e9512 add translation for watched_file_update_status.js 2024-10-15 15:19:09 +08:00
Nriver 5e2d1bc124 add translation for toc.js 2024-10-15 15:12:09 +08:00
Nriver 7dfe6f276e update Chinese translation and synchronize with English 2024-10-15 15:05:48 +08:00
Nriver 858db68d66 add translation for tab_row.js 2024-10-15 14:51:26 +08:00
Jon Fuller b72f46f108 Don't add stable if pushed tag has - 2024-10-14 14:06:55 -07:00
Elian Doran 83dbe0539e client: Highlight content links on hover 2024-10-14 22:47:16 +03:00
Jon Fuller 87e0cf55f1 Introduce stable tag on containers
Closes #488
2024-10-14 12:18:29 -07:00
Elian Doran 8315d5c778 Update package-lock 2024-10-14 22:13:04 +03:00
Elian Doran 61bd7dca18 client: Fix underlines for all links (closes #485) 2024-10-14 22:12:48 +03:00
Elian Doran 4faf27364f Merge branch 'develop' of ssh://github.com/TriliumNext/Notes into develop
/ Check Docker build (Dockerfile) (push) Failing after 29s
/ Check Docker build (Dockerfile.alpine) (push) Failing after 41s
/ Build Docker images (Dockerfile, linux/arm/v7) (push) Has been skipped
/ Build Docker images (Dockerfile, linux/arm64) (push) Has been skipped
/ Build Docker images (Dockerfile.alpine, linux/amd64) (push) Has been skipped
/ Merge manifest lists (push) Has been skipped
Release / Make Electron (arm64, map[extension:deb image:ubuntu-latest name:linux]) (push) Failing after 42s
Release / Make Electron (x64, map[extension:deb image:ubuntu-latest name:linux]) (push) Failing after 32s
Release / Build Linux Server x86_64 (push) Failing after 35s
Release / Make Electron (arm64, map[extension:dmg image:macos-latest name:macos]) (push) Has been cancelled
Release / Make Electron (arm64, map[extension:exe image:windows-latest name:windows]) (push) Has been cancelled
Release / Make Electron (x64, map[extension:dmg image:macos-latest name:macos]) (push) Has been cancelled
Release / Make Electron (x64, map[extension:exe image:windows-latest name:windows]) (push) Has been cancelled
2024-10-13 15:45:48 +03:00
Elian Doran 52a6d0b48a Bump version to 0.90.7-beta 2024-10-13 15:45:40 +03:00
Elian Doran cddc9a7b6a i18n: Mark mind map as beta 2024-10-13 14:43:50 +03:00
Elian Doran 75d019863f server: Disable debug mode for i18n 2024-10-13 14:40:07 +03:00
Elian Doran 849a6a3aef electron: Solve server translation loading on macOS 2024-10-13 14:24:46 +03:00
Elian Doran e7378306a2 Merge branch 'develop' of ssh://github.com/TriliumNext/Notes into develop 2024-10-13 13:52:39 +03:00
Elian Doran 1277dfc5d5 electron: Add back server translations 2024-10-13 12:31:37 +03:00
Elian Doran ae680847dc vscode: Pin nightly GitHub Action 2024-10-13 12:28:05 +03:00
Elian Doran a5fd57308a server: Fix translations in standalone build 2024-10-13 12:09:36 +03:00
Elian Doran fa769df7b0 client: Fix table background on dark mode 2024-10-13 11:20:26 +03:00
Elian Doran 8136a2972e Merge pull request #465 from quantum5/pwa-icon-fix
server: fix blurry PWA icon
2024-10-13 10:51:00 +03:00
Elian Doran 8c8c3974f3 Merge pull request #480 from hasecilu/i18n/Spanish_server
i18n: Add more Spanish translations
2024-10-13 10:07:39 +03:00
hasecilu e81bfa3693 i18n: Add more Spanish translations 2024-10-12 17:30:59 -06:00
Elian Doran a857f4816f codemirror: 5.65.15 -> 5.65.18 2024-10-12 20:48:39 +03:00
Elian Doran ade34f9745 client: Use CodeMirror from package.json 2024-10-12 20:41:50 +03:00
Elian Doran fd66cb930d electron: Update electron-forge to latest 2024-10-12 20:22:18 +03:00
Elian Doran 182d9afac1 tools: Update development tools 2024-10-12 20:18:44 +03:00
Elian Doran 4e6ef0be95 i18next: 23.15.1 -> 23.15.2 + http-backend 2024-10-12 20:16:23 +03:00
Elian Doran 88961ea93f mermaid: 11.2.0 -> 11.3.0 2024-10-12 20:14:46 +03:00
Elian Doran a3f2946a17 mind-elixir: 4.1.1 -> 4.1.5 2024-10-12 20:12:45 +03:00
Elian Doran 8ae5f9ea9b electron: Fix translations in packaged builds 2024-10-12 19:40:54 +03:00
Elian Doran 9ec2508f09 i18n: Add more Romanian translations 2024-10-12 18:53:24 +03:00
Elian Doran bae63b08a2 server, electron: Fix crash if locale is undefined 2024-10-12 18:24:10 +03:00
Elian Doran 729a188528 docker: Fix server translation initialization (closes #439) 2024-10-12 10:53:30 +03:00
Elian Doran 2c5a5acffa server: Improve type for keyboard shortcut scope 2024-10-12 10:31:12 +03:00
Elian Doran e45c5f429d server: Fix crash when starting server in Docker due to translations 2024-10-12 10:29:50 +03:00
Elian Doran 5c44ac5ad8 ci: Fix permissions for nightly 2024-10-11 22:15:50 +03:00
Elian Doran b44c2f5ebf ci: Configure nightly deployment 2024-10-11 22:07:22 +03:00
Elian Doran 6e64cab2d4 Merge pull request #327 from TriliumNext/JYC333-patch-1
Create nightly release action
2024-10-11 21:56:04 +03:00
Elian Doran 9c8cf0bc09 Merge pull request #452 from TriliumNext/fix-image-copy
Use the electron Clipboard module when using "Copy image to clipboard"
2024-10-11 19:48:18 +03:00
Elian Doran bafc556b00 server: Fix build errors 2024-10-11 19:45:54 +03:00
Elian Doran 0ec3232c81 Merge pull request #451 from jaimeferj/bugfix/parseDatesOnSort
Fixes issue #441: Dates were not parsed on sorting
2024-10-10 23:31:47 +03:00
Elian Doran 469c1ceb07 Merge pull request #458 from TriliumNext/zip-import-image-fix
Resolve MIME type not being used when creating new note correctly, upon zip import
2024-10-10 23:26:48 +03:00
Elian Doran 5e80f120c9 server: Refactor variable usage 2024-10-10 20:21:06 +03:00
Elian Doran 8faa26b663 Merge pull request #391 from SiriusXT/revisions_number_limit
Revisions number limit
2024-10-10 20:13:24 +03:00
Elian Doran 201e2fcfdb Merge pull request #472 from dousha/bugfix-math-preview
Override the z-index of Bootstrap tooltips
2024-10-10 20:04:25 +03:00
Elian Doran 5678487a16 Merge pull request #473 from TriliumNext/feature/i18n-part5
Feature/i18n part5
2024-10-10 19:13:31 +03:00
Nriver 6646e8c311 update Chinese translation and synchronize with English 2024-10-10 15:42:10 +08:00
dousha 96fc4d3280 Override the z-index of Bootstrap tooltips, making it conform to CKEditor's z-index ordering.
This change overrides the z-index of Bootstrap tooltips (calculates to 1080 in the current version) to the value assigned to CKEditor Panel Balloons (calculates to 1000 in the current version) minus 1. It also removes the original override to the CKEditor Panel Balloons which forces the autocomplete box to appear above tooltips, which is no longer needed and would interfere with math preview boxes.

This change fixes the regression to the [original issue][1] and the [math preview issue][2]. One notable effect is that tooltips will not cover menus when overlapped with one, including menus opened from the top-right corner. Further discussion and more extensive testing are encouraged.

[1]: https://github.com/zadam/trilium/issues/1272
[2]: https://github.com/TriliumNext/Notes/issues/297
2024-10-10 13:19:08 +08:00
Elian Doran 0a69189b9b i18n: Reach 100% for Romanian 2024-10-09 22:04:00 +03:00
Elian Doran cb3ea3fb75 Merge pull request #449 from hasecilu/i18n/Spanish_pt_3_4
i18n: Continue Spanish translation, parts 3 and 4
2024-10-09 21:58:38 +03:00
Elian Doran 787a2d1957 Merge pull request #450 from hasecilu/docs/fix_links
docs: Use relative link to other README files
2024-10-09 21:56:38 +03:00
Elian Doran 89e1275dda i18n: Tweak a single message 2024-10-09 20:06:20 +03:00
Elian Doran ddc927d617 server: Bump sync version (closes #467) 2024-10-09 20:06:13 +03:00
Quantum d46963e496 server: fix blurry PWA icon 2024-10-08 20:32:17 -04:00
perf3ct c37a51c6d0 use type assertions to make TS happy? 2024-10-03 22:48:47 -07:00
perf3ct 91095e8d4e detectFileTypeAndMime also returns the type, fixes #456 2024-10-03 22:24:43 -07:00
MeIchthys d4fa7e3fd2 Add link to docs repo under contributing section 2024-10-03 23:23:43 -04:00
perf3ct 9204f0735c use fewer const 2024-09-30 19:43:44 +00:00
perf3ct cfc32a14e0 Use the electron Clipboard module when using "Copy image to clipboard" 2024-09-28 17:41:59 -07:00
Jaime Fernández 270aa52591 Fixes issue #441: Dates were not parsed on sorting 2024-09-28 02:33:36 +02:00
hasecilu 99a5913391 docs: Use relative link to other README files
`master` branch was hardcoded despite working on `develop` branch
2024-09-27 14:38:45 -06:00
hasecilu c3d6165aff i18n: Continue Spanish translation, parts 3 and 4
Some fixes were done thanks by using PO file with Poedit. It enhances a
lot the workflow for translators

---

Step 1: Create PO files from English and localized JSON files as source
$ json2po -t en es po-es

Step 2: Make the translation

Step 3: Recover translation from PO files to JSON file. Remember to set
the indentation to 2 spaces
$ po2json -t en po-es es

Step 4: Update localized JSON file with missing tags from English JSON
$ jq -s '.[0] * .[1]' en/translation.json \
    es/translation.json > merged.json
$ mv merged.json es/translation.json

Step 5: Remove PO files
$ rm -r po-es
2024-09-25 17:54:46 -06:00
Elian Doran 9220616bb5 Merge pull request #448 from Nriver/feature/i18n-part4
Feature/i18n part4
2024-09-25 18:54:12 +03:00
Nriver eb9b4aee21 add translation for 6 widgets 2024-09-24 09:57:16 +08:00
Nriver d9a7671830 update Chinese translation and synchronize with English 2024-09-24 09:28:46 +08:00
SiriusXT 353c410f0e Merge branch 'develop' into revisions_number_limit 2024-09-17 19:58:16 +08:00
Elian Doran 7ca4cddc58 Merge pull request #431 from TriliumNext/perfectra1n-patch-2
Print Docker container log, regardless of success or failure of healthcheck
2024-09-15 23:29:06 +03:00
Elian Doran 12543f762b Merge pull request #432 from TriliumNext/hide_float_button
Floating buttons can be displayed again after being closed
2024-09-15 23:21:44 +03:00
SiriusXT ec7fabcb58 Floating buttons can be displayed again after being closed 2024-09-15 22:22:38 +08:00
Jin 5d08f2bc5a fix revision list ESC behaviour 2024-09-15 12:41:45 +02:00
SiriusXT a557b82c83 Fixed the bug that notes in different formats cannot be restoredRevisioned 2024-09-15 12:48:01 +08:00
SiriusXT 62a884cb5a fix potential bugs that may exist in getRevisions 2024-09-15 10:51:55 +08:00
perfectra1n 88875a3375 Print Docker container log, if success or failure healthcheck 2024-09-14 12:50:25 -07:00
SiriusXT cd547ebdaf Fix svg not previewing in revisions 2024-09-14 21:09:52 +08:00
Elian Doran e511d6aecf client: Fix strange margins when ribbon has hidden components 2024-09-14 14:47:48 +03:00
Elian Doran 9b6148dec3 client: Translate attribute editor placeholder 2024-09-14 14:44:32 +03:00
Elian Doran 29a1aad45a Merge pull request #430 from TriliumNext/fix
Fix global menu advanced command can't click
2024-09-14 14:40:03 +03:00
SiriusXT a9fce727d4 Fix svg not previewing in revisions 2024-09-14 19:37:25 +08:00
Elian Doran 9e85d2cdbd server: Fix missing translations in keyboard actions 2024-09-14 14:34:24 +03:00
Jin c4f430276a fix global menu advanced command can't click 2024-09-14 11:02:23 +02:00
SiriusXT fdf57b6cfa revisions_number_limit 2024-09-14 16:00:18 +08:00
SiriusXT 0a9e76abb7 Merge branch 'develop' into revisions_number_limit 2024-09-14 14:58:47 +08:00
SiriusXT 3e085e5cae Show revision information 2024-09-14 14:32:43 +08:00
Elian Doran 73cd54e75c client: Fix shortcuts section crashing when no translations 2024-09-13 22:58:39 +03:00
Elian Doran 28b8e59b4d electron: Translate title bar button 2024-09-13 22:56:30 +03:00
Elian Doran 51b6725b91 server,electron: Downgrade incompatible libraries for now 2024-09-13 22:54:06 +03:00
Elian Doran 93ca30fda0 build: Fix type not in dev dependencies 2024-09-13 22:46:15 +03:00
Elian Doran 8c222368de i18n: Translate some more messages in Romanian 2024-09-13 22:26:56 +03:00
Elian Doran a3aa6b0628 client: Translate note tree 2024-09-13 22:22:16 +03:00
Elian Doran d0061794dd client: Translate note icon 2024-09-13 22:17:22 +03:00
Elian Doran 17c8708b54 client: Translate quick search 2024-09-13 22:08:52 +03:00
Elian Doran da0ddbb80d i18n: Translate the rest of Romanian messages 2024-09-13 21:59:19 +03:00
Elian Doran 138b4b1a95 i18n: Remove unused key 2024-09-13 21:57:23 +03:00
Elian Doran 1299072ea9 server: Update dependencies 2024-09-13 21:51:46 +03:00
Elian Doran bb5893f989 electron: Update squirrel startup 2024-09-13 21:49:36 +03:00
Elian Doran 7b764fd7d8 client: Update mermaid, mind elixir 2024-09-13 21:48:38 +03:00
Elian Doran ac2fc49a48 build: Update tooling dependencies 2024-09-13 21:44:57 +03:00
Elian Doran c0abf6e2c5 Use fixed versions for all dependencies 2024-09-13 21:43:58 +03:00
Elian Doran 85ff0bac55 electron: Set up StartupWMClass to avoid missing icon 2024-09-13 21:21:29 +03:00
Elian Doran 3671b83a9c server: Disable debug logs for i18n 2024-09-13 21:16:20 +03:00
Elian Doran 6970bf4fc1 Merge pull request #428 from TriliumNext/icon_improvement
Fix strange underline for zoom button
2024-09-13 17:50:44 +03:00
SiriusXT e5cce1b1bc Fix strange underline for zoom button 2024-09-13 22:24:19 +08:00
Elian Doran faa8eca810 i18n: Translate a few Romanian messages 2024-09-13 14:57:05 +03:00
SiriusXT 84bf0cbae5 Merge branch 'develop' into revisions_number_limit 2024-09-13 19:46:07 +08:00
SiriusXT a77264208e Merge branch 'develop' into icon_improvement 2024-09-13 19:15:33 +08:00
SiriusXT ee06db8c8f Fix strange underline for zoom button 2024-09-13 19:10:44 +08:00
Elian Doran e330b43750 Merge pull request #426 from TriliumNext/feature/i18n-part3
Feature/i18n part3
2024-09-13 10:28:26 +03:00
Nriver f5b21498bf add translation for mermaid.js 2024-09-13 11:24:42 +08:00
Nriver 83388ecf1c add translation for 2 widgets 2024-09-13 11:10:59 +08:00
Nriver 87de631af4 sync Chinese translation with English 2024-09-13 10:53:50 +08:00
Nriver e4271d3945 update missing translation 2024-09-13 10:29:44 +08:00
Elian Doran 65b8a2f97c Merge pull request #425 from TriliumNext/dropped-backslash
Picking up the backslash that I dropped
2024-09-13 00:04:08 +03:00
perfectra1n 0656154c35 Picking up the backslash that I dropped
I wiped it off and cheered it up, so it should be ready to go now.
2024-09-12 13:45:13 -07:00
Elian Doran b3f682144b server: Update better-sqlite3 11.1.2 → 11.3.0 2024-09-12 23:08:22 +03:00
Elian Doran d3c3e157c7 server: Update express 4.19.2 -> 4.21.0 2024-09-12 22:49:21 +03:00
Elian Doran 2534402157 client,server: Update i18next 23.14.0 -> 23.15.1 2024-09-12 22:47:46 +03:00
Elian Doran ec80ba5caf build: Update jasmine from 5.1.0 to 5.3.0 2024-09-12 22:43:21 +03:00
Elian Doran 26621b6336 build: Fix test-jasmine on Windows 2024-09-12 22:42:22 +03:00
Elian Doran d961e3cdf1 build: tsx 4.19.0 -> 4.19.1 2024-09-12 22:39:38 +03:00
Elian Doran 7ef399912b Merge branch 'develop' of https://github.com/TriliumNext/Notes into develop 2024-09-12 22:23:51 +03:00
Elian Doran 9fc789676f electron: Fix window drag not working 2024-09-12 22:23:49 +03:00
Elian Doran f01dc3d102 Merge pull request #424 from TriliumNext/stop-sha-images
Stop tagging images with `sha*`
2024-09-12 22:23:36 +03:00
perfectra1n 501bf624cc Stop tagging images with sha* 2024-09-12 12:20:54 -07:00
Elian Doran f8605688ab Merge pull request #423 from TriliumNext/perfectra1n-patch-1
Add explicit permissions for GITHUB_TOKEN for package access
2024-09-12 20:54:15 +03:00
Elian Doran 590a9bef2d client: Fix calendar double open on existing note 2024-09-12 20:53:31 +03:00
perfectra1n 419756d19e Add explicit permissions for GITHUB_TOKEN for package access 2024-09-12 10:42:47 -07:00
Elian Doran 93ce81b355 Merge pull request #416 from SiriusXT/highlightslits
Toc and Highlightslist improvement
2024-09-12 20:24:30 +03:00
Elian Doran 8bfa4461b0 Merge pull request #381 from TriliumNext/bootstrap
Upgrade bootstrap from v4 to v5
2024-09-12 20:09:19 +03:00
Elian Doran 648feb82f8 client: Fix close button on dark theme 2024-09-12 20:06:40 +03:00
Elian Doran 74645e12fc Merge remote-tracking branch 'origin/develop' into bootstrap 2024-09-12 20:06:31 +03:00
Elian Doran 71de1a0b55 Merge pull request #421 from TriliumNext/perfectra1n-patch-1
Force `github.repository_owner` to lowercase
2024-09-12 19:59:23 +03:00
perfectra1n 694f3cb174 Force github.repository_owner to lowercase
Ahhhh, the joys of Docker....
2024-09-12 09:54:00 -07:00
Elian Doran a2bc5073d0 client: Fix note hint not working in calendar 2024-09-12 19:37:15 +03:00
Elian Doran 3134ef7c03 Merge pull request #402 from perfectra1n/develop
Use matrix strategy for CI/CD
2024-09-12 19:24:56 +03:00
Elian Doran 8e665e27e7 client: Fix calendar opening notes twice (closes #417) 2024-09-12 19:22:58 +03:00
Elian Doran e6fbf62cf9 Merge pull request #414 from SiriusXT/i18n_falls_back_en
i18n Fallback to English for null characters
2024-09-12 19:03:50 +03:00
Jin ce8b5e33da fix regressions 2024-09-12 13:55:07 +02:00
SiriusXT b63b603d64 complete toc/highlightslist improvements 2024-09-12 19:34:23 +08:00
SiriusXT 31aa6feb0c Make toc/hightlightslist reopen after it's closed 2024-09-12 19:22:41 +08:00
SiriusXT 98c9e25124 Merge branch 'develop' into highlightslits 2024-09-12 09:37:01 +08:00
SiriusXT bb97e1a661 Let toc and highlights_list display formulas 2024-09-12 09:36:08 +08:00
Elian Doran a4341a5cac Merge pull request #392 from SiriusXT/Icon_improvements
Icon improvements
2024-09-11 23:56:10 +03:00
Elian Doran fe844d4f8c client: Fix math not loading (closes #297) 2024-09-11 23:50:17 +03:00
SiriusXT 447cf60afb i18n Fallback to English for null characters 2024-09-11 15:17:21 +08:00
Elian Doran 7a11f9aaff Merge pull request #389 from SiriusXT/open_in_file_manager_of_data
Open in file manager of Trilium's data directory
2024-09-10 21:04:56 +03:00
Jin 527591f651 fix package-lock conflict 2024-09-10 00:48:52 +02:00
Jin fca6f99870 fix checkbox problem 2024-09-10 00:45:00 +02:00
Jin 8c97f0bec7 fix some styles, add some cn translations 2024-09-10 00:45:00 +02:00
Jin 58ee801e57 other fixes 2024-09-10 00:45:00 +02:00
Jin c1ce578018 fix all dialogs 2024-09-10 00:45:00 +02:00
Jin 464d8417f5 fix all dropdowns and tooltips, fix some translations 2024-09-10 00:45:00 +02:00
Jin 44bd008829 fix note revisions layout 2024-09-10 00:45:00 +02:00
Jin f3b7261748 fix all launcher bar components 2024-09-10 00:45:00 +02:00
Jin 5d579fee68 Upgrade bootstrap from v4 to v5, fix global menu 2024-09-10 00:44:54 +02:00
Elian Doran d7ab99013c client: Fix zoom interfering with mind map (closes #387) 2024-09-09 23:59:25 +03:00
Elian Doran a3a5339048 client: Fix relative path for loading languages 2024-09-09 20:42:47 +03:00
Elian Doran d95a23de28 Merge pull request #392 from SiriusXT/Icon_improvements
Icon improvements
2024-09-09 20:30:35 +03:00
SiriusXT 744d953822 icon improvement 2024-09-09 20:15:35 +08:00
SiriusXT f8e5717b80 Merge branch 'develop' into revisions_number_limit 2024-09-09 14:52:31 +08:00
SiriusXT 3ad2d1a309 Merge branch 'develop' into open_in_file_manager_of_data 2024-09-09 14:50:01 +08:00
SiriusXT 7186222393 Merge branch 'develop' into Icon_improvements 2024-09-09 14:30:22 +08:00
SiriusXT d66c07717c Merge branch 'develop' into Icon_improvements 2024-09-09 14:08:27 +08:00
Elian Doran 132dd7514a client: Update axios 1.7.2 to 1.7.7 2024-09-09 00:22:49 +03:00
Elian Doran aca9d0f1ef server: Update ini 4.1.3 -> 5.0.0 2024-09-09 00:20:11 +03:00
Elian Doran eabceae6f1 server: Update Marked 13.0.2 → 14.1.2 2024-09-09 00:18:15 +03:00
Elian Doran 3a5b05e5c6 client: Bump eslint to 9.10.0 2024-09-09 00:14:29 +03:00
Elian Doran 11e5f6a1c1 client: Update dayjs 1.11.12 -> 1.11.13 2024-09-09 00:10:52 +03:00
Elian Doran bec9acdc3f client: Update jsdom 24.1.0 -> 25.0.0 2024-09-09 00:07:53 +03:00
Elian Doran 37079b7388 client: Update Mermaid to 11.1.1 2024-09-09 00:03:02 +03:00
Elian Doran 22b7bf826b electron: Bump electron-dl 2024-09-08 23:59:55 +03:00
Elian Doran 7cc71a4fdb electron: Bump electron-debug 2024-09-08 23:51:01 +03:00
Elian Doran fb28b9d36d client: Improve max content widget fit on other languages 2024-09-08 22:20:38 +03:00
Elian Doran 720087f082 client: Translate open help page 2024-09-08 22:18:54 +03:00
Elian Doran 3bdb87d3aa client: Translate template switch 2024-09-08 22:14:51 +03:00
Elian Doran e4066ba164 client: Translate shared switch 2024-09-08 22:11:52 +03:00
Elian Doran a0fdaabb1f client: Translate protected switch 2024-09-08 22:04:22 +03:00
Elian Doran 38ac4318b9 client: Translate rest of note types 2024-09-08 21:54:30 +03:00
Elian Doran e382a32ebd client: Translate note types 2024-09-08 21:48:24 +03:00
Elian Doran 8074245758 client: Translate shared info 2024-09-08 21:19:13 +03:00
Elian Doran f26a04216a server: Translate share page 2024-09-08 20:36:25 +03:00
Elian Doran e565d29490 server: Translate share 404 2024-09-08 20:25:38 +03:00
Elian Doran 947c50353d server: Translate here link in setup 2024-09-08 20:16:57 +03:00
Elian Doran 83851a61d5 i18n: Translate setup screen into Romanian 2024-09-08 20:02:29 +03:00
Elian Doran 893a1e3723 i18n: Translate setup screen 2024-09-08 20:00:55 +03:00
Elian Doran 6bf18b6837 i18n: Configure i18n-ally for .ejs templates 2024-09-08 19:27:19 +03:00
Elian Doran 94857d8802 server: Translate JavaScript required 2024-09-08 18:55:11 +03:00
Elian Doran 58d1e77ac1 server: Translate set password page 2024-09-08 18:28:29 +03:00
Elian Doran 1fbc65b007 electron: Fix crash on first start due to i18n 2024-09-08 18:23:06 +03:00
Elian Doran c25c8c753d server: Translate login page 2024-09-08 18:12:16 +03:00
Elian Doran 317b7b4c59 server: Implement basic restore of language 2024-09-08 18:01:08 +03:00
Elian Doran 68042994e0 electron: Fix loading of i18n 2024-09-08 17:40:05 +03:00
Elian Doran d00c028a0c client: Fix note actions not fitting on all languages 2024-09-08 16:38:12 +03:00
Elian Doran a9e6c887f2 i18n: Configure extensions & nodemon 2024-09-08 16:04:14 +03:00
Elian Doran 69f9457bda i18n: Translate keyboard actions into Romanian 2024-09-08 16:04:00 +03:00
Elian Doran 0fed54f1c3 server: Translate keyboard actions 2024-09-08 15:33:06 +03:00
Elian Doran b45fde2e5f server: Set up early initialization of i18n 2024-09-08 15:31:47 +03:00
Elian Doran c1010a79f9 server: Initialize backend translations 2024-09-08 14:37:40 +03:00
Elian Doran c33154d128 i18n: Translate tree context menu 2024-09-08 12:32:22 +03:00
Elian Doran c0d613c46d i18n: Translate note map buttons 2024-09-08 11:59:24 +03:00
Elian Doran 4f7bbee769 i18n: Fix erase attachments button translation 2024-09-08 11:53:36 +03:00
Elian Doran 7a567583f2 i18n: Improve keybindings phrasing 2024-09-08 11:49:23 +03:00
Elian Doran 0ac1f071cd i18n: Tweak two Romanian translations 2024-09-08 11:48:01 +03:00
perf3ct 114e7809fe Fix CI/CD to use Matrix strategy
fix the digests missing

tweak dockerhub digests 1

Revert "tweak dockerhub digests 1"

This reverts commit 3542125d6035d2330fe1075682b046133568137d.

Revert "fix the digests missing"

This reverts commit 01954e5687549586233d73339b74e03e2182a339.

give this a shot then

add short sha

fix sha tag names
2024-09-07 22:34:57 -07:00
Elian Doran 4106cc61b5 release 0.90.6-beta
/ Check Docker build (push) Failing after 35s
/ Build Docker images (push) Has been skipped
Release / Make Electron (arm64, map[extension:deb image:ubuntu-latest name:linux]) (push) Failing after 33s
Release / Make Electron (x64, map[extension:deb image:ubuntu-latest name:linux]) (push) Failing after 35s
Release / Build Linux Server x86_64 (push) Failing after 30s
Release / Make Electron (arm64, map[extension:dmg image:macos-latest name:macos]) (push) Has been cancelled
Release / Make Electron (arm64, map[extension:exe image:windows-latest name:windows]) (push) Has been cancelled
Release / Make Electron (x64, map[extension:dmg image:macos-latest name:macos]) (push) Has been cancelled
Release / Make Electron (x64, map[extension:exe image:windows-latest name:windows]) (push) Has been cancelled
2024-09-07 21:36:34 +03:00
Elian Doran 7c0d6930fa build: Revert alpine build 2024-09-07 21:35:51 +03:00
Elian Doran 1c8cc36402 release 0.90.5-beta
/ Build Docker images (push) Has been skipped
/ Check Docker build (push) Failing after 37s
Release / Make Electron (arm64, map[extension:deb image:ubuntu-latest name:linux]) (push) Failing after 31s
Release / Make Electron (x64, map[extension:deb image:ubuntu-latest name:linux]) (push) Failing after 34s
Release / Build Linux Server x86_64 (push) Failing after 39s
Release / Make Electron (arm64, map[extension:dmg image:macos-latest name:macos]) (push) Has been cancelled
Release / Make Electron (arm64, map[extension:exe image:windows-latest name:windows]) (push) Has been cancelled
Release / Make Electron (x64, map[extension:dmg image:macos-latest name:macos]) (push) Has been cancelled
Release / Make Electron (x64, map[extension:exe image:windows-latest name:windows]) (push) Has been cancelled
2024-09-07 10:02:55 +03:00
Elian Doran 4f6392ce14 ci: Rename server release artifact 2024-09-07 10:02:28 +03:00
Elian Doran c6abbf0cf7 ci: Remove test name for release 2024-09-07 09:49:54 +03:00
Elian Doran 89beda16fd Clean up workflow 2024-09-07 09:42:16 +03:00
Elian Doran 6dee56d72e Prepare for release 2024-09-07 09:34:59 +03:00
Elian Doran e4d6ab3a6e ci: Refactor release workflow & add version in name 2024-09-07 00:54:21 +03:00
Elian Doran c964f9eeff ci: Upload server build as well 2024-09-07 00:20:38 +03:00
Elian Doran 7248d5bab8 ci: Release ZIP artifacts as well 2024-09-06 23:59:09 +03:00
Elian Doran 42c714891a ci: Set up a test release process 2024-09-06 23:50:11 +03:00
SiriusXT 89e073bf28 bx-map-alt->bxl-graphql 2024-09-05 15:24:37 +08:00
SiriusXT 490ae1c9fd icon improvements 2024-09-05 15:09:31 +08:00
SiriusXT 2a27383682 revision snapshots number limit 2024-09-04 14:27:33 +00:00
SiriusXT 00f8a43b0f test 2024-09-04 12:10:13 +00:00
SiriusXT 759ac4a4c8 test 2024-09-04 11:52:05 +00:00
SiriusXT e66b865cd6 open directory 2024-09-04 11:08:04 +00:00
SiriusXT 78bfc3341b Add versioningLimit label support 2024-09-04 09:04:40 +00:00
SiriusXT 898afb7ed7 Add revision number limit 2024-09-04 08:41:17 +00:00
Elian Doran 2b01392b41 Merge pull request #390 from hasecilu/i18n/Spanish_again
i18n: Complete Spanish translation again
2024-09-04 07:47:51 +03:00
hasecilu 8eb12b2280 i18n: Complete Spanish translation again 2024-09-03 17:27:33 -06:00
Elian Doran 67528789ed client: Fix open note custom when no terminal 2024-09-03 22:13:17 +03:00
Elian Doran 2e86ae6556 db: Remove image URL from mindmap 2024-09-03 22:10:18 +03:00
Elian Doran 1e6e9fa417 db: Fix preview for mindmap 2024-09-03 21:43:24 +03:00
Elian Doran a27feee1be client: Clean up restart warnings in spellcheck 2024-09-03 21:24:03 +03:00
Elian Doran 6a3e4671b6 client: Disable ligatures in help dropdown code 2024-09-03 21:14:47 +03:00
Elian Doran 6a8825d972 i18n: Add a few minor tweaks to Romanian translation 2024-09-03 21:14:40 +03:00
Elian Doran 3a87f8bc31 client: Fix F1 shortcut in mind map (fixes #387) 2024-09-03 20:57:39 +03:00
Elian Doran 15a041a195 server: Remove redundant whitespace in CPU log 2024-09-03 19:09:50 +03:00
Elian Doran 891621be69 Merge pull request #388 from SiriusXT/electron_start_dialog
The new instance makes the dialog box error not display
2024-09-03 19:07:15 +03:00
SiriusXT bc4444d132 open in file manager of Trilium's data directory 2024-09-03 10:37:28 +00:00
SiriusXT 56259616cb open in file manager of Trilium's data directory 2024-09-03 10:06:01 +00:00
SiriusXT 4113574a43 makes the dialog box error not display 2024-09-03 08:49:19 +00:00
SiriusXT cef8086419 The new instance makes the dialog box error not display 2024-09-03 08:23:05 +00:00
Elian Doran 9d59203121 build: Update Electron Forge to latest 2024-09-03 01:14:36 +03:00
Elian Doran f426e3d764 build: Update TypeScript 2024-09-03 01:11:02 +03:00
Elian Doran f378411bb8 client,server: Update i18next 2024-09-03 01:08:30 +03:00
Elian Doran b882bcb1df i18n: Reach 100% for Romanian 2024-09-03 00:41:31 +03:00
Elian Doran 8abb8f9e0e client,server: Downgrade edit branch prefix to note-tree scope (fixes #385) 2024-09-02 23:37:34 +03:00
Elian Doran 191c9e9c82 i18n: Fix a typo in translation 2024-09-02 23:31:56 +03:00
Elian Doran 94c5fba66f server: Fix import of mind map notes 2024-09-02 23:31:49 +03:00
Elian Doran 86c74c7fdb db: Update demo to add mindmap 2024-09-02 23:00:31 +03:00
Elian Doran 9cf45468ae client: Prevent dismissing the calendar popup by clicking on an empty space inside it 2024-09-02 22:24:53 +03:00
Elian Doran c2ce7d617a client: Fix calendar dropdown not closing (fixes #384)
The regression was introduced in 612e4406b5.
This might cause some other issues in closing the highlights, but none
were identified during a cursory testing.
2024-09-02 22:15:46 +03:00
Elian Doran 50c0252055 client: Fix mindmap preview in revision 2024-09-02 22:03:02 +03:00
Elian Doran f82ff5aa76 i18n: Add some more Romanian translations (87.3%) 2024-09-02 22:02:50 +03:00
Elian Doran 0b5945f219 i18n: Add more Romanian translations 2024-09-02 21:23:29 +03:00
Elian Doran 0bdb6d7e96 i18n: Remove redundant translations 2024-09-02 20:40:57 +03:00
Elian Doran e78ab589b0 i18n: Add a few more translations 2024-09-02 20:31:23 +03:00
Elian Doran 339bd84cf9 i18n: Translate note_info_widget in Romanian 2024-09-02 20:23:06 +03:00
Elian Doran 529760213b Merge branch 'develop' of ssh://github.com/TriliumNext/Notes into develop 2024-09-02 20:19:45 +03:00
Elian Doran 1c17bf82a0 Merge pull request #380 from hasecilu/i18n/README_Spanish
Translate README to Spanish
2024-09-02 20:18:03 +03:00
hasecilu 200e1c016c i18n: Translate README to Spanish
Also complete some missing strings
2024-09-02 07:46:57 -06:00
Elian Doran f29e047ba2 i18n: Translate note actions and erasure into Romanian 2024-09-02 14:53:40 +03:00
Elian Doran 466d4966fd i18n: Tweak a few more messages 2024-09-02 13:56:57 +03:00
Elian Doran 8a83267ead i18n: Translate more Romanian words 2024-09-02 13:55:26 +03:00
Elian Doran 5e8be78760 i18n: Change reference to pasting in Romanian 2024-09-01 23:56:47 +03:00
Elian Doran 2a6870d73b client: Fix console error when exporting SVG after multiple note types 2024-09-01 23:24:36 +03:00
Elian Doran ace237989c client: Reduce code duplication 2024-09-01 23:20:41 +03:00
Elian Doran 61e0678af4 client: Implement SVG export button for mindmap 2024-09-01 23:10:58 +03:00
Elian Doran 27a287f8ea client: Change translation for Export SVG button 2024-09-01 23:05:25 +03:00
Elian Doran 87b8c623c5 client: Rename MermaidExportButton to SvgExportButton 2024-09-01 23:05:06 +03:00
Elian Doran 64b4aba6ba client: Enable copy image reference button for mindmaps 2024-09-01 22:56:45 +03:00
Elian Doran 5c2446be67 share: Render mind map 2024-09-01 22:41:48 +03:00
Elian Doran 1437df7de1 client,server: Set up SVG rendering for mindmap 2024-09-01 22:36:50 +03:00
Elian Doran ad88042e5b i18n: Add even more Romanian translations 2024-09-01 21:02:19 +03:00
Elian Doran f3669dfc42 i18n: Add a few more Romanian translations 2024-09-01 20:52:09 +03:00
Elian Doran efdc3ebfac i18n: Improve highlight wording 2024-09-01 20:47:05 +03:00
Elian Doran 2751d655e6 i18n: Review a few translations 2024-09-01 20:32:01 +03:00
Elian Doran 73ba913f59 client: Fix mindmap in multiple tabs not working 2024-09-01 18:51:51 +03:00
Elian Doran 49a373426e Merge pull request #379 from hasecilu/i18n/Spanish
Update Spanish translation
2024-09-01 18:28:09 +03:00
hasecilu 392fb2abad i18n: Translate new strings 2024-09-01 09:01:42 -06:00
hasecilu d543e8147f i18n: Fix "consistency" Spanish translations 2024-09-01 09:01:42 -06:00
Elian Doran 27dbcdd281 ci: Fix problematic ignore for workflow 2024-09-01 17:28:32 +03:00
Elian Doran 0dbad48d47 electron: Fix missing mind-elixir 2024-09-01 17:24:44 +03:00
Elian Doran 07170a5a39 client: Improve code selection in note type 2024-09-01 16:56:25 +03:00
Elian Doran 13860a3f16 client: Remove redundant separators in note type selection 2024-09-01 16:51:33 +03:00
Elian Doran 95b7a30d06 client: Add mind map to note type combo 2024-09-01 16:47:27 +03:00
Elian Doran b32f3ffd84 client: Fix center issue at startup 2024-09-01 16:44:55 +03:00
Elian Doran 6c54f3c804 client: Improve mind map saving & centering 2024-09-01 16:31:05 +03:00
Elian Doran 1b08487ee9 client: Fix first show in mindmap 2024-09-01 16:14:19 +03:00
Elian Doran ff3d01f2c7 client: Implement basic refresh for mind map 2024-09-01 15:51:01 +03:00
Elian Doran 10df00d62f client: Save content of mind map 2024-09-01 15:41:59 +03:00
Elian Doran 73c19c6cbf client: Enable viewing source of mind map 2024-09-01 15:38:13 +03:00
Elian Doran c2959fe52d client: Fix switching notes, default text 2024-09-01 15:25:28 +03:00
Elian Doran 594f816702 client: Add basic mindmap integration 2024-09-01 15:04:47 +03:00
Elian Doran e39dd1525d client: Create blank type widget for mind map 2024-09-01 14:16:45 +03:00
Elian Doran 945bc7ded3 i18n: Add a few more Romanian translations (39.4%) 2024-09-01 10:24:24 +03:00
Elian Doran 5df6f32fda i18n: Add Romanian to the list of languages 2024-09-01 02:06:51 +03:00
Elian Doran d31bc8a0bd i18n: Translate Romanian (18.8%) 2024-09-01 02:05:33 +03:00
Elian Doran 73e25fc721 i18n: Small tweaks to translation 2024-09-01 02:04:52 +03:00
Elian Doran 5df371b20a i18n: Fix one more translation issue 2024-09-01 00:34:14 +03:00
Elian Doran e6e478e857 i18n: Fix incorrect & missing keys 2024-09-01 00:32:48 +03:00
Elian Doran bfea3d53b3 client: Use translations for first day of week 2024-09-01 00:22:29 +03:00
Elian Doran 9fa31db207 client: Fix another case of tooltip overlap 2024-09-01 00:16:09 +03:00
Elian Doran 84efc13b52 client: Make sure tooltips cannot overlap (fixes #375) 2024-09-01 00:04:29 +03:00
Elian Doran 607af4b8fc client: Dismiss tooltip if clicking a link inside it 2024-08-31 23:58:26 +03:00
Elian Doran 08060abe76 electron: Ignore TRILIUM_HOST env (fixes #368) 2024-08-31 23:41:08 +03:00
Elian Doran 27f513e2a3 server: Improve error handling for invalid host 2024-08-31 23:38:30 +03:00
Elian Doran 40651e9852 server,electron: Improve error logging 2024-08-31 23:28:45 +03:00
Elian Doran c6d043b42c electron: Fix crash on Linux 2024-08-31 23:08:19 +03:00
Elian Doran 3a3dae3d02 client: Refresh calendar immediately 2024-08-31 17:08:55 +03:00
Elian Doran 5c326c553c client: Add support for first day of week (closes #247) 2024-08-31 17:05:02 +03:00
Elian Doran 981ff34ac4 client: Update calendar header for first day of week 2024-08-31 16:50:23 +03:00
Elian Doran f5330cb915 client,server: Add first day of week option 2024-08-31 16:24:09 +03:00
Elian Doran dab97071c0 client: Improve calendar design slightly (closes #374) 2024-08-31 15:27:59 +03:00
Elian Doran 84056415ca client: Implement simple year switcher for calendar 2024-08-31 14:49:01 +03:00
Elian Doran 9cc2e7745e client: Implement simple month switcher 2024-08-31 14:42:21 +03:00
Elian Doran cb57ceb541 client: Add basic year navigation to calendar 2024-08-31 14:32:25 +03:00
Elian Doran 0fd92a379b build: Build alpine only for amd64 2024-08-30 23:04:10 +03:00
Elian Doran 1a17b8907a build: Fix docker alpine not building 2024-08-30 22:35:02 +03:00
Elian Doran b7ed153b14 Merge pull request #373 from SiriusXT/New_window_from_taskbar
Open New window from taskbar
2024-08-30 22:24:38 +03:00
Elian Doran b1163624ba Merge pull request #377 from SiriusXT/find_widget
Fix a bug of find widget
2024-08-30 22:22:44 +03:00
Elian Doran 59a92c33b6 Merge pull request #366 from TriliumNext/update-cicd-again
Alpine = AMD64, Debian = ARM
2024-08-30 22:15:54 +03:00
MeIchthys 55403c6e76 Add note to upgrade to latest trilium version before migrating 2024-08-30 13:15:45 -04:00
SiriusXT 35171fe2b4 Fix a bug of find widget 2024-08-30 11:42:55 +00:00
Elian Doran 95158c30b7 Merge pull request #372 from TriliumNext/add-png-images
Add PNG icons from SVG icons.
2024-08-29 09:45:41 +03:00
perf3ct da20a377c1 have alpine more closely match deb dockerfile 2024-08-28 18:24:00 +00:00
perf3ct fcbb178096 change Dockerfile.alpine name 2024-08-28 17:07:25 +00:00
SiriusXT 553a2f9929 New window from taskbar 2024-08-28 06:30:25 +00:00
SiriusXT e5213640d7 Open new window from taskbar 2024-08-28 06:28:02 +00:00
perf3ct c95da1c813 move to better folder 2024-08-27 19:04:03 +00:00
perf3ct 2ee290034a remove entries in gitignore for larger pngs 2024-08-27 19:03:54 +00:00
perf3ct 69a81afd09 add png images from svg 2024-08-27 17:10:53 +00:00
Elian Doran a18ac7c504 client: Fix default focus of "Include note" dialog (closes #365) 2024-08-27 00:30:54 +03:00
Elian Doran 07bd3de4fb Merge pull request #359 from hasecilu/i18n/Spanish_pt2
i18n: Continue Spanish translation, part 2
2024-08-26 21:26:08 +03:00
Elian Doran ef955a300a Merge pull request #342 from TriliumNext/feature/i18n-part2
i18n support (part 2)
2024-08-26 21:24:56 +03:00
MeIchthys 19cb783e66 Update README.md
Fix minor spelling error
2024-08-26 08:47:53 -04:00
MeIchthys d2dd61f297 Update README.md
Add note about migrating from zadam/Trilium
2024-08-26 08:46:36 -04:00
perf3ct a769aef059 have alpine be only for amd64 2024-08-24 00:22:30 +00:00
perf3ct 6eb6bfa25d have debian be only for arm 2024-08-24 00:22:25 +00:00
perf3ct 6b916c1494 add other CI/CD step 2024-08-24 00:10:46 +00:00
perf3ct 08a4b2d19a add new alpine files 2024-08-19 22:24:13 +00:00
Nriver 2890885157 Merge remote-tracking branch 'upstream-next/develop' into feature/i18n-part2 2024-08-19 17:09:03 +08:00
hasecilu 2d65797dfc i18n: Continue Spanish translation, part 2
Indentation changed to 4 spaces
2024-08-18 12:02:39 -06:00
Elian Doran bb2fa70cd6 client: Fix title outline (closes #358) 2024-08-17 10:59:12 +03:00
Elian Doran 937e87d760 client: Improve hint & toast regarding attachments 2024-08-17 10:51:43 +03:00
Elian Doran 808797a48b client: Fix double question mark in attachments context menu (see #306) 2024-08-17 10:42:59 +03:00
Elian Doran c61f76f020 server: Show absolute path to data dir 2024-08-17 02:08:25 +03:00
Elian Doran 16073ea4aa client: Disable some context options in settings (closes #346) 2024-08-17 02:01:12 +03:00
Elian Doran 3163b8687b client: Disable more items in options 2024-08-17 01:57:52 +03:00
Elian Doran 1c1d71e2d0 client: Disable show attachments in options 2024-08-17 01:52:52 +03:00
Elian Doran e70531fcc1 client: Remove broken Firefox scrollbar styling 2024-08-17 01:19:07 +03:00
Elian Doran 12756a165f client: Improve Firefox scrollbar background 2024-08-17 01:13:43 +03:00
Elian Doran fa4b890bce client: Disable template button in options 2024-08-17 00:56:49 +03:00
Elian Doran c1ab1296f8 client: Disable share button in options 2024-08-17 00:56:49 +03:00
Elian Doran 1284cf9868 client: Fix invisible scrollbar on Firefox 2024-08-17 00:56:49 +03:00
Elian Doran b0480e1667 client: Add a toggle to set template label (closes #348) 2024-08-16 23:41:59 +03:00
Elian Doran ca6b4c3497 client: Hide spellcheck settings on web (closes #345) 2024-08-16 22:14:19 +03:00
Elian Doran 1172908e41 client: Hide tray settings on web 2024-08-16 22:05:53 +03:00
Elian Doran 4a8c3d719f client: Hide native title bar setting on web 2024-08-16 22:02:38 +03:00
Elian Doran bd732386e4 Merge pull request #334 from TriliumNext/lib
Remove hard-coded libraries part 2
2024-08-16 19:20:43 +03:00
Nriver 8e87bcf37b add translation for bookmark_switch.js and editability_select.js 2024-08-16 11:39:26 +08:00
Nriver 0198f135ac Fix duplicated key and missing '{' in translation.json 2024-08-16 11:27:22 +08:00
Nriver ff3effdb31 Merge remote-tracking branch 'upstream-next/develop' into feature/i18n-part2 2024-08-16 11:23:35 +08:00
Jin 22d344e764 keep zadam codemirror.js 2024-08-15 20:48:14 +02:00
Jin c85a8ecc7d remove libraries and fix js code color problem 2024-08-15 20:48:14 +02:00
Jin 2fec1b79af remove codemirror and autocomplete libraries 2024-08-15 20:48:14 +02:00
Jin 69586e6876 fix js note can't run 2024-08-15 18:50:17 +02:00
Elian Doran d2bd369144 Merge pull request #351 from TriliumNext/chore/update-language-name
update language name
2024-08-15 12:48:31 +03:00
Nriver 47e8977371 update language name 2024-08-15 16:23:37 +08:00
Elian Doran 71f8d09043 i18n: Add Spanish to the list 2024-08-15 10:44:05 +03:00
Elian Doran 216afdd494 Merge pull request #349 from hasecilu/i18n/Spanish
i18n: Add Spanish translation
2024-08-15 10:23:55 +03:00
Elian Doran 2de2c7fc9d client: Fix custom scroll bar on Chrome/Electron (closes #350) 2024-08-15 09:59:37 +03:00
Nriver e7eec0f328 add translation for widget: attachment_detail.js 2024-08-15 11:42:30 +08:00
Nriver 4c3694bfa3 add translation for widget: api_log.js 2024-08-15 11:33:44 +08:00
Nriver 34d2f20e16 fix translation key 2024-08-15 11:31:11 +08:00
Nriver a78859fc2a add translation for the last 2 option files 2024-08-15 11:26:51 +08:00
Nriver cc98ae0ea4 Merge remote-tracking branch 'upstream-next/develop' into feature/i18n-part2 2024-08-15 11:04:14 +08:00
hasecilu 6b8cb54e71 i18n: Add Spanish translation 2024-08-14 19:48:13 -06:00
Elian Doran 5609612473 client: Add a synthetic fix for CKeditor list spacing (closes #341) 2024-08-15 01:11:48 +03:00
Elian Doran 317505484e integration-test: Set up system for resetting in-memory DB 2024-08-15 00:06:37 +03:00
Elian Doran d1f4d99c19 integration-test: Set up development server 2024-08-14 23:03:36 +03:00
Elian Doran 2e56db6475 integration-test: Add notes for deletion 2024-08-14 23:03:17 +03:00
Elian Doran 1656cfae63 client: Remove i18n debug logs 2024-08-14 22:19:01 +03:00
Elian Doran 295cd6ac83 client: Fix double translation causing logs 2024-08-14 22:17:20 +03:00
Elian Doran bd20cec286 client: Remove errors in log when changing a setting 2024-08-14 22:10:54 +03:00
Elian Doran 115c2576cf client: Fix duplicate items in language selection 2024-08-14 21:51:42 +03:00
Elian Doran c204b31cda client: Fix fancytree being broken on mobile 2024-08-14 19:15:07 +03:00
Elian Doran 07fb8c072d server: Fix CSRF on mobile reload (closes #318) 2024-08-14 18:59:02 +03:00
Nriver 9210f915ca fix text wrap for shortcuts.js 2024-08-14 17:14:07 +08:00
Nriver 78e908c761 add translation for shortcuts.js 2024-08-14 17:12:33 +08:00
Nriver 68733cf0c2 add translation for 3 option files 2024-08-14 11:31:00 +08:00
Nriver b231905981 add translation for backup.js 2024-08-14 11:07:00 +08:00
Elian Doran a9b094bf27 Merge pull request #330 from TriliumNext/feature/i18n_language_switcher
Implement a language switcher
2024-08-12 19:48:16 +03:00
Elian Doran 3c37f13f54 Merge remote-tracking branch 'origin/develop' into feature/i18n_language_switcher 2024-08-12 16:03:17 +03:00
Elian Doran 196c4f7976 Merge pull request #328 from JYC333/lib
Remove hard-coded libraries part 1
2024-08-12 10:23:13 +03:00
Elian Doran f378cf9ff9 Merge pull request #264 from TriliumNext/feature/i18n
i18n support again (part 1)
2024-08-12 10:21:44 +03:00
Elian Doran ef20645447 docker: Fix reading USER_UID/GID (closes #331) 2024-08-12 10:01:22 +03:00
Elian Doran c4a4acdc39 Merge pull request #333 from TriliumNext/chore/update-gitignore
Ignore JetBrains IDE shelf files
2024-08-12 09:13:13 +03:00
Nriver 54a63e7689 Ignore JetBrains IDE shelf files 2024-08-12 11:39:50 +08:00
Nriver dcdbb092c3 update links in Chinese translation 2024-08-12 09:54:37 +08:00
Elian Doran e87ef882d5 client: Fix restoring language on mobile 2024-08-11 15:38:47 +03:00
Elian Doran 221fc66ca1 client: Fix flakiness when changing language on desktop 2024-08-11 14:22:37 +03:00
Elian Doran ec3066caee integration-test: Fix test for i18n 2024-08-11 14:13:05 +03:00
Elian Doran 45e2b565ef integration-test: Start writing test for language change 2024-08-11 13:56:11 +03:00
Elian Doran ffdc90012e integration-test: Add support for running dev server 2024-08-11 13:56:02 +03:00
Elian Doran 307c6ebb73 client: Remove flags from language selection to avoid potential political issues 2024-08-11 13:07:17 +03:00
Jin 9fc0b7cc38 fix eslint error 2024-08-11 10:13:20 +02:00
Jin b5e8fcaf57 fix eslint module 2024-08-11 10:13:01 +02:00
Jin 0967ee1b46 remove fancytree and bootstrap 2024-08-11 10:13:01 +02:00
Jin c16c528270 fix electron import 2024-08-11 10:13:01 +02:00
Jin d3803fc6f3 remove hard-coded libraries part 1 2024-08-11 10:12:55 +02:00
Elian Doran 18515111ff client: Address self-review changes 2024-08-11 08:29:02 +03:00
Elian Doran ea34a1688c i18n: Revert indentation change 2024-08-11 08:27:21 +03:00
Elian Doran aa5a7294df client: Add country flags to language selection 2024-08-11 08:24:15 +03:00
Elian Doran e086ba5eb4 i18n: Translate locale section 2024-08-11 08:18:06 +03:00
Elian Doran 22dc4ef997 client: Apply locale selection 2024-08-11 08:12:01 +03:00
Elian Doran bc648e981e client: Add language switcher in settings 2024-08-11 07:46:27 +03:00
Elian Doran 51afb63e25 server: Add endpoint to get list of locales 2024-08-11 07:36:09 +03:00
Elian Doran 6871216649 server: Set up a locale option 2024-08-11 07:36:00 +03:00
Elian Doran 94340ab1a1 build: Fix app name in Electron Forge hook 2024-08-11 06:57:34 +03:00
Elian Doran 3a837cf663 Merge remote-tracking branch 'origin/develop' into feature/i18n 2024-08-11 06:26:32 +03:00
Elian Doran edebe8f7c6 build: Remove unnecessary electron-installer-debian 2024-08-11 06:11:10 +03:00
Elian Doran 3028b20a7f build: Change name of application for Electron Forge 2024-08-11 06:09:28 +03:00
Elian Doran 2752f30f21 ci: Fix name conflict in artifacts 2024-08-11 05:27:24 +03:00
Jin a50e5cc733 fix typo 2024-08-10 22:52:41 +02:00
JYC333 b790dabc8c Create nighyly release action 2024-08-10 22:38:32 +02:00
Elian Doran 395cf59e59 Merge pull request #325 from JYC333/action
FIx Github actions
2024-08-10 23:00:15 +03:00
Jin 6113990b50 fix name conflict 2024-08-10 21:12:58 +02:00
Jin 71495f3878 seperate artifacts and add arch to matrix 2024-08-10 21:02:15 +02:00
Jin b83c6023c4 port dump-db and other tools to TS 2024-08-10 18:23:49 +02:00
Jin 2cc34efbde update backend_script_api.ts @link 2024-08-10 14:07:51 +02:00
Elian Doran 4090386cc3 ci: Try to fix "Cannot find module 'appdmg'" 2024-08-10 14:14:32 +03:00
Elian Doran ee9ce5fadc ci: Disable npm cache to see if that's the cause for macos failing to build 2024-08-10 13:50:43 +03:00
Elian Doran f7639d2537 Merge pull request #322 from JYC333/develop
Fix CI builds
2024-08-10 13:44:49 +03:00
Jin 16851d10b4 fix main.yml conflict 2024-08-10 12:42:59 +02:00
Jin 468e996ba1 remove wrong fix 2024-08-10 12:02:45 +02:00
Jin 86603573f0 fix ci build 2024-08-10 12:00:57 +02:00
Jin 690bd4ce5f fix ci errors 2024-08-10 11:39:05 +02:00
Elian Doran daeea2258d build: Turn off fail fast for matrix 2024-08-10 12:30:56 +03:00
Elian Doran 8cc583e714 build: Fix extra resources for macos 2024-08-10 12:23:26 +03:00
Elian Doran a29392e75a ci: Experiment with build matrix 2024-08-10 12:14:35 +03:00
Elian Doran 061b0c981d Merge pull request #294 from JYC333/sql
Remove hard-coded better-sqlite3 binaries
2024-08-10 10:56:38 +03:00
Elian Doran 72b669b5db release 0.90.4
/ Check Docker build (push) Failing after 40s
/ Build Docker images (push) Has been skipped
Main / Build macOS x86_64 (push) Failing after 24s
Main / Build macOS aarch64 (push) Failing after 32s
Main / Build Linux x86_64 (push) Failing after 34s
Main / Build Linux Server x86_64 (push) Failing after 40s
Main / Build Windows x86_64 (push) Failing after 2m16s
Main / Build Windows x86_64 (Setup) (push) Has been cancelled
2024-08-10 01:05:59 +03:00
Elian Doran 2a5c444eff client: Fix link to Wiki in F1 popup 2024-08-10 00:39:45 +03:00
Elian Doran 0deb5df11d docs: Use nicer links to Wiki (dynamic) 2024-08-10 00:26:39 +03:00
Elian Doran 280f9a98c4 docs: Use nicer links to Wiki 2024-08-09 23:44:41 +03:00
JYC333 b05e51f2f1 Merge branch 'TriliumNext:develop' into sql 2024-08-09 22:40:54 +02:00
Jin 9efa748e66 fix CI 2024-08-09 22:36:43 +02:00
Jin 8932028a75 minor fix 2024-08-09 22:30:21 +02:00
Jin 62e483a21a using esrun for webpack and fix package arch problem 2024-08-09 22:23:54 +02:00
Elian Doran e2bdfbbedb server: Remove now comment 2024-08-09 22:35:26 +03:00
Elian Doran f297105c25 server: Fix duplicating notes with relationships (closes #308) 2024-08-09 22:31:30 +03:00
Elian Doran ddc82853fc integration-test: Set up password that was missing for some reason 2024-08-09 22:13:01 +03:00
Elian Doran 64f99ba637 integration-test: Allow for in-memory database 2024-08-09 21:51:10 +03:00
Elian Doran 1542eb14b3 integration-test: Set up DB for #308 2024-08-09 21:43:20 +03:00
Elian Doran 5aa0040a83 integration-test: Disable WAL for cleaner commits 2024-08-09 21:32:12 +03:00
Elian Doran c2e7ccddb4 integration-test: Start implementing dedicated DB 2024-08-09 21:28:35 +03:00
Nriver c9d0d339eb add translation for all text note options 2024-08-09 14:48:54 +08:00
Nriver d6aa4d26dd add translation for all other options 2024-08-09 14:37:03 +08:00
Elian Doran d0042b5891 Merge pull request #317 from TriliumNext/remove-ci-cd-matrices
Remove the strategy matrix for concurrent builds.
2024-08-09 09:22:02 +03:00
Nriver f6f5cc2ecb add translation for all image options 2024-08-09 13:54:28 +08:00
Nriver 38f19e21f0 add translation for all code note options 2024-08-09 13:46:26 +08:00
Nriver b78ac44e73 Merge remote-tracking branch 'upstream-next/develop' into feature/i18n 2024-08-09 13:36:48 +08:00
perf3ct 19ad1a1b82 linux/arm64/v8 is normalized as linux/arm64 2024-08-08 17:27:36 -07:00
perf3ct 00b40df6e1 remove the strategy matrix to fix ci/cd builds 2024-08-08 17:24:50 -07:00
Elian Doran 9d5966819b Merge pull request #316 from TriliumNext/update-start-docker
Update start-docker.sh to be more distro-agnostic
2024-08-09 01:22:51 +03:00
perf3ct 13ad877b2f also change the tags of build-docker.sh to triliumnext 2024-08-08 15:17:38 -07:00
perf3ct 138b85dd3c change from gosu to just su 2024-08-08 15:17:02 -07:00
Elian Doran 50a6a1f3dc Merge pull request #314 from TriliumNext/fix-arm-builds
Fix ARM container builds
2024-08-09 01:06:32 +03:00
Elian Doran 42058034a5 client: Fix redirecting to wrong URL for downloading new version (closes #313) 2024-08-09 00:54:26 +03:00
perf3ct 3014b11422 swap su-exec to gosu 2024-08-08 14:52:09 -07:00
Elian Doran a98f01d924 integration-test: Create authentication setup 2024-08-09 00:41:55 +03:00
perfectra1n d09195097d Merge branch 'develop' into fix-arm-builds 2024-08-08 14:40:41 -07:00
perf3ct 676bff43d9 fix arm builds 2024-08-08 14:38:39 -07:00
Elian Doran 6a459427fb Merge pull request #309 from slashtechno/update-docker-compose
Update `docker-compose.yml`
2024-08-09 00:01:22 +03:00
Elian Doran 513b0c6597 ci: Remove problematic platforms for now 2024-08-08 23:26:58 +03:00
Elian Doran 36f51baf2b client: Fix CKEditor modal background after update (fixes #304) 2024-08-08 19:59:30 +03:00
Elian Doran 3cc3c751b4 electron: Fix missing icons (closes #311) 2024-08-08 19:23:37 +03:00
slashtechno 5fbda79dbe Remove erroneous backtick 2024-08-08 10:21:13 -04:00
slashtechno b7ce4d04ba revert spacing to what it was before 2024-08-08 09:06:40 -04:00
Nriver ec4b35ea75 add translation for all appearance options 2024-08-08 11:43:09 +08:00
Nriver e8dc75df51 improve font size UI under smaller screen 2024-08-08 11:04:37 +08:00
Nriver febd1d5ab3 add translation for font option 2024-08-08 11:02:04 +08:00
Nriver fcf4b57838 add translation for backend_log.js and
5 advanced options
2024-08-08 10:40:15 +08:00
Nriver 9885abc626 add translation for 2 type widgets 2024-08-08 09:44:13 +08:00
Nriver 01f99d7f12 Merge remote-tracking branch 'upstream-next/develop' into feature/i18n 2024-08-08 09:04:14 +08:00
Elian Doran 17e306a3c9 Merge pull request #310 from capi/add-dockerhub-link-to-readme
docs: Add Dockerhub link to readme
2024-08-08 00:19:12 +03:00
Martin Carpella 32eaded3af docs: Add Dockerhub link to readme 2024-08-07 23:15:19 +02:00
Elian Doran 865c0fb981 docker: Reintroduce cross-platform builds 2024-08-08 00:06:19 +03:00
Elian Doran 645fd43339 Revert "docker: Reintroduce cross-platform builds"
This reverts commit 85db664756.
2024-08-08 00:03:51 +03:00
Elian Doran 85db664756 docker: Reintroduce cross-platform builds 2024-08-07 23:46:12 +03:00
Elian Doran f4e7dcd5e8 docker: Fix healthcheck & convert to TypeScript (closes #296) 2024-08-07 23:25:22 +03:00
slashtechno 4bc24246ab Update Docker image tag in build script 2024-08-07 15:51:29 -04:00
Elian Doran 9cf14cc3a8 ci: Use healthcheck action 2024-08-07 22:42:55 +03:00
Elian Doran e64234b462 ci: Add test for Docker healtcheck 2024-08-07 22:31:09 +03:00
Elian Doran 5295d956a2 ci: Add Docker test step 2024-08-07 22:25:01 +03:00
Elian Doran a8814f0e9b ci: Extract docker build into separate workflow 2024-08-07 22:10:16 +03:00
slashtechno 883e71612c Use triliumnext/notes as image in docker-compose.yml
Also added comments to `docker-compose.yml` and removed unused volumes
2024-08-07 13:39:56 -04:00
Elian Doran 2efbe97286 integration-test: Add basic test for KaTeX 2024-08-07 20:27:04 +03:00
Elian Doran cc9bb31b9c integration-test: Disable webkit runner for now 2024-08-07 20:21:04 +03:00
Elian Doran b2e27144b7 integration-test: Initialize Playwright 2024-08-07 20:21:04 +03:00
Nriver 8dbafa3cd9 revert change of i18n.js 2024-08-07 17:00:17 +08:00
Nriver 14bdd3819f Merge remote-tracking branch 'upstream-next/develop' into feature/i18n 2024-08-07 16:56:36 +08:00
meichthys 72173533a6 Update references from Trilium -> TriliumNext 2024-08-07 01:08:45 -04:00
meichthys 0b7bf533fa Update third-party communities description 2024-08-07 01:07:32 -04:00
meichthys b3791f7a6a Add open-source and cross-platform to project tagline 2024-08-07 01:06:15 -04:00
meichthys 3042ce13e7 Update installation instructions & communication links 2024-08-07 01:05:11 -04:00
meichthys ac9a9a7758 Rename Builds section to "Installation" 2024-08-07 00:43:58 -04:00
meichthys 94c53e6342 Remove MacOS unsupported message 2024-08-07 00:43:27 -04:00
meichthys eb91cfd650 Clarify Flatpack is not yet available 2024-08-07 00:33:37 -04:00
Nriver 3d955abd31 resolve code conflict in book.js 2024-08-07 11:48:24 +08:00
Nriver 8f6087068e add translation for type widgets: relation_map.js 2024-08-07 11:35:55 +08:00
Nriver 2754bd7a93 add translation for 8 type widgets 2024-08-07 11:18:02 +08:00
Nriver 40f74656f3 add translation for all 9 search option files 2024-08-07 10:16:27 +08:00
Elian Doran cba15f9df5 ci: Deploy main on tags as well
Main / Build macOS x86_64 (push) Failing after 33s
Main / Build macOS aarch64 (push) Failing after 33s
Main / Build Linux x86_64 (push) Failing after 32s
Main / Build Linux Server x86_64 (push) Failing after 33s
Main / Build Windows x86_64 (push) Failing after 2m17s
Main / Build Docker images (push) Failing after 2m37s
Main / Build Windows x86_64 (Setup) (push) Has been cancelled
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
Nriver 9453ec4e29 add translation for the last ribbon widget 2024-08-06 10:41:08 +08:00
Nriver 74c4634da2 add translation for ribbon widgets: search_definition.js 2024-08-06 10:39:15 +08:00
Nriver a8bb064557 add translation for ribbon widgets: script_executor.js 2024-08-06 10:16:56 +08:00
Nriver b7809a709c add translation for ribbon widgets: promoted_attributes.js 2024-08-06 10:12:53 +08:00
Nriver 2916182cdf add translation for 2 ribbon widgets 2024-08-06 10:01:21 +08:00
Jin 42e3f126e4 add arm64 for linux 2024-08-05 20:46:32 +02:00
Jin e10df0708c remove old build scripts 2024-08-05 20:30:16 +02:00
Jin 46164de94a fix github action 2024-08-05 20:29:17 +02:00
Jin 39c0250833 fix server package 2024-08-05 20:20:35 +02:00
Jin e5e92c8ece add electron-forge for all platforms 2024-08-05 18:47:57 +02:00
Jin 5f6aba8a10 remove comments 2024-08-05 17:14:24 +02:00
Jin e5c1d38722 - Remove hard-coded better-sqlite3 binaries
- Fix ExperimentalWarning
2024-08-05 17:14:24 +02:00
Nriver 835891999e add translation for ribbon widgets: note_paths.js 2024-08-05 10:59:26 +08:00
Nriver 729715ebfb add translation for ribbon widgets: note_map.js 2024-08-05 10:55:37 +08:00
Nriver bdc6a1fe29 add translation for ribbon widgets: note_info_widget.js 2024-08-05 10:48:37 +08:00
Nriver 931e319fbf add translation for ribbon widgets: inherited_attribute_list.js 2024-08-05 10:43:11 +08:00
Nriver 6743eb8d1b add translation for ribbon widgets: image_properties.js 2024-08-05 10:40:08 +08:00
Nriver e2aaa97a01 fix text wrap for file_properties.js 2024-08-05 10:34:00 +08:00
Nriver c2a8f4f4a3 add translation for ribbon widgets: file_properties.js 2024-08-05 10:32:48 +08:00
Nriver 4270ab416e add translation for ribbon widgets: edited_notes.js 2024-08-05 10:26:40 +08:00
Nriver d47a5c4ffe add translation for ribbon widgets: book_properties.js 2024-08-05 10:23:38 +08:00
Nriver 97e127a4af fix double curly braces 2024-08-05 10:18:42 +08:00
Nriver cfd33c802c add translation for ribbon widgets: basic_properties.js 2024-08-05 10:09:25 +08:00
Nriver 971f52f92a add translation for mobile_detail_menu.js 2024-08-05 09:57:36 +08:00
Nriver 71c09b1d67 add translation for all floating buttons 2024-08-05 09:49:52 +08: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
Nriver d93a94322e fix broken button feature by over-translating 2024-08-02 09:40:49 +08:00
Nriver 156d3c421c fix miss deleted import 2024-08-02 09:21:15 +08:00
Nriver 7fc3fdab94 add translation for note launcher button 2024-08-02 09:09:49 +08:00
Nriver 625e9efcf3 add translation for buttons: update_available.js 2024-08-02 09:06:37 +08:00
Nriver e2d43b4538 add translation for buttons: revisions_button.js 2024-08-02 09:01:39 +08:00
Elian Doran 3b0ea51f5f docs: Add a few details about CKEditor 2024-08-02 00:20:17 +03:00
Nriver 9320a548f4 add translation for buttons: protected_session_status.js 2024-08-01 14:32:53 +08:00
Nriver 4081f44a0e add translation for buttons: onclick_button.js 2024-08-01 14:30:11 +08:00
Nriver d21ca03e9c add translation for buttons: note actions 2024-08-01 14:26:37 +08:00
Nriver 355c4164c9 add translation for buttons: move pane button 2024-08-01 14:20:33 +08:00
Nriver 989a0d6cd9 add translation for buttons: left pane toggle 2024-08-01 14:18:21 +08:00
Nriver 8a0fec0a63 add translation for buttons: global menu 2024-08-01 13:54:59 +08: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
Nriver d84f4387c5 add translation for buttons: edit button 2024-07-31 10:59:22 +08:00
Nriver 75e8a6cdc0 add translation for buttons: create pane button 2024-07-31 10:57:45 +08:00
Nriver 38a9ad6a46 add translation for buttons: close pane button 2024-07-31 10:51:35 +08:00
Nriver b99510ad4f add translation for buttons: calendar 2024-07-31 10:46:31 +08:00
Nriver 02ecdf565e add translation for buttons: attachments actions 2024-07-31 10:32:43 +08:00
Nriver f116e52228 add translation for bulk action titles 2024-07-30 10:15:07 +08:00
Nriver 3ff361495e add translation for bulk action of relation 2024-07-30 10:06:54 +08:00
Nriver 50434201cf add translation for bulk action of notes 2024-07-30 09:40:02 +08: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
Nriver f7b5dbd12f fix text wrap in about dialog 2024-07-29 10:40:30 +08:00
Nriver 71e69d34ed fix text wrap in rename label 2024-07-29 10:40:12 +08:00
Nriver 738684c4c7 add translation for bulk action of labels 2024-07-29 10:37:53 +08:00
Nriver bcf892ca37 add translation for bulk action and script execute 2024-07-29 10:23:32 +08:00
Nriver 92b0c7f0b7 add translation for attribute editor 2024-07-29 10:14:27 +08: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
Nriver f3e09c3a4b add translation for attribute detail 2024-07-26 17:00:28 +08:00
Nriver fa2d0578c0 fix export note title 2024-07-26 14:02:54 +08:00
Nriver da96344690 add translation for the rest 7 dialogs 2024-07-25 17:14:08 +08: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
Nriver a8d6e5b1ea add translation for 6 more dialogs 2024-07-24 17:34:26 +08:00
Nriver 5691554442 add translation for enter 2024-07-24 17:32:01 +08:00
Nriver a01065908d Merge remote-tracking branch 'upstream-next/develop' into feature/i18n 2024-07-24 09:17:51 +08: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
Nriver 935e882f3e translate 5 more dialogs and refine some translation 2024-07-23 17:38:22 +08: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
Nriver cb9b4c07e5 translate some dialogs 2024-07-22 17:31:54 +08: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:
https://github.com/zadam/trilium/commit/aa2bbc65758ae1b270a19d8f2020e0d63198d183

It is no longer used.
2024-07-20 15:21:24 +03:00
Elian Doran 431e04d039 build: Update rimraf, webpack, nodemon, jsdoc 2024-07-20 15:21:24 +03:00
Elian Doran 946a02fd67 build: Determine better-sqlite3 version automatically 2024-07-20 15:13:42 +03:00
Elian Doran 6a7f95f75b Revert "ci: Build main temporarily"
This reverts commit 79871dce638f47a86f673daa36cec84daa37c6ae.
2024-07-20 15:13:42 +03:00
Elian Doran 2a57765dd9 build: Update bettersqlite3 binary for Linux server 2024-07-20 15:13:42 +03:00
Elian Doran 42c0a557b4 build: Update bettersqlite3 binary for Linux desktop 2024-07-20 15:13:42 +03:00
Elian Doran aa6cf1f11c build: Update bettersqlite3 binary for macOS 2024-07-20 15:13:42 +03:00
Elian Doran d73b10d10d build: Update bettersqlite3 binary for Windows 2024-07-20 15:13:42 +03:00
Elian Doran 6aea3b1472 Revert "build: Investigate not embedding better_sqlite3 natives"
This reverts commit 0e10fbb0875e515b6c10d4d010fe81464b41f6b4.
2024-07-20 15:13:40 +03:00
Elian Doran edc18e5be8 Revert "build: Fix ".node is not a valid Win32 application""
This reverts commit 8ac84e12c8dd2a838bf602e032b08d507b9d763b.
2024-07-20 15:13:19 +03:00
Elian Doran 86659552ee build: Fix ".node is not a valid Win32 application"
See https://github.com/electron/packager/issues/740.
2024-07-20 15:13:19 +03:00
Elian Doran 03ab41bfba build: Investigate not embedding better_sqlite3 natives 2024-07-20 15:13:17 +03:00
Elian Doran 956beb1cc0 server: Update better-sqlite3 from 8.5.0 to 11.1.2 2024-07-20 15:12:34 +03:00
Elian Doran 9db4e1d7d3 build: Fix Node version incompatibility 2024-07-20 15:10:50 +03:00
Elian Doran 776d2e7402 ci: Build main temporarily 2024-07-20 15:10:50 +03:00
Elian Doran 41286d41ee electron: Downgrade electron-debug
Avoids an import error because electron-debug became ESM-only in version
4. We will update to it once we upgrade to ESM.
2024-07-20 15:10:50 +03:00
Elian Doran 4bae19b1c3 electron: Switch 25.9.8 -> 31.2.1 2024-07-20 15:10:49 +03:00
Elian Doran b587ec474c build: Use rimraf instead of rm -rf 2024-07-20 14:16:49 +03:00
Elian Doran 837b7ce3d1 Merge remote-tracking branch 'origin/develop' into feature/update_to_node20 2024-07-20 13:23:25 +03:00
Elian Doran 05776d178e docs: Move binaries to bin/ 2024-07-20 13:14:48 +03:00
Elian Doran 46c193dd9f docs: Get rid of /share 2024-07-20 13:10:19 +03:00
Elian Doran 5bcae52d08 docs: Always use HTML extensions 2024-07-20 13:08:22 +03:00
Elian Doran 4f5fa9f42b docs: Deploy .html files for GitHub Pages 2024-07-20 12:51:41 +03:00
Elian Doran d381ef5100 docs: Deploy first documentation 2024-07-20 12:41:39 +03:00
Elian Doran 0a1a8c5a27 docs: Deploy to docs folder 2024-07-20 12:41:30 +03:00
Elian Doran 5db499cf56 docs: Create home page with redirect 2024-07-20 12:40:03 +03:00
Elian Doran bfab6b4d5c docs: Add preview script 2024-07-20 12:29:12 +03:00
Elian Doran 621cc4a065 docs: Get rid of domain in output folder 2024-07-20 12:26:52 +03:00
Elian Doran 30c1810211 docs: Set up basic download script 2024-07-20 12:23:56 +03:00
Elian Doran e284ea945c i18n: Improve formatting 2024-07-20 11:42:54 +03:00
Elian Doran 288e677495 i18n: Change back to English 2024-07-20 10:37:28 +03:00
Elian Doran 5ea35dd851 i18n: Implement HTTP backend loader 2024-07-20 10:19:11 +03:00
Elian Doran d4bf162e92 i18n: Add i18next-http-backend to library loader 2024-07-20 10:07:10 +03:00
Elian Doran d14cf7c246 i18n: Move translations to backend serve 2024-07-20 10:02:25 +03:00
Elian Doran 784891409f i18n: Add Romanian as demo 2024-07-20 09:51:09 +03:00
Elian Doran 0dbe6702ff i18n: Translate about page 2024-07-20 09:42:55 +03:00
Elian Doran 10ec7d6b2b i18n: Set up client dependency to i18next 2024-07-20 09:32:56 +03:00
Elian Doran 33d6d51d59 i18n: Set up i18next 2024-07-20 09:24:16 +03:00
Elian Doran a71a53de97 Merge pull request #246 from CrO2Cl2/develop
update Italian README
2024-07-20 00:03:11 +03:00
CrO2Cl2 6a0949e5b4 found out the Italian README was actually already in here, and Translated all of the new stuff 2024-07-19 18:27:18 +00:00
Elian Doran 33a26b0b70 Merge pull request #212 from TriliumNext/bugfix/sync_failure
Sync failed: Cannot read properties of undefined (reading 'utcDateChanged')
2024-07-19 19:33:42 +03:00
Elian Doran ab23459299 server: Fix script execution error (closes #244) 2024-07-19 19:30:27 +03:00
CrO2Cl2 f18939942b copy Italian README by MatMasIt from Zadams Repo 2024-07-19 16:27:29 +00:00
Elian Doran 40363f6e8e Merge pull request #225 from TriliumNext/feature/update_typescript
Update TypeScript dependencies
2024-07-19 19:12:13 +03:00
Elian Doran 583a4420fd Merge pull request #245 from Nriver/develop
update Chinese README
2024-07-19 18:33:24 +03:00
Nriver 508b53d47b update Chinese README 2024-07-19 15:00:53 +08:00
Elian Doran dd416ed042 server-esm: Revert types config 2024-07-19 00:54:43 +03:00
Elian Doran a10cc7bf8b server-esm: Fix missing becca 2024-07-19 00:49:56 +03:00
Elian Doran 1cd6670c55 server-esm: Fix circular dependency between sql and sql_init 2024-07-19 00:47:09 +03:00
Elian Doran 87fbd4bce8 server-esm: Fix cyclical dependency 2024-07-19 00:34:37 +03:00
Elian Doran b6c5880484 server-esm: Fix use of __dirname 2024-07-19 00:18:35 +03:00
Elian Doran 27c296fa6c server-esm: Fix marked import issue 2024-07-19 00:02:39 +03:00
Elian Doran fb7c0fdb4c server-esm: Use tsx instead of ts-node 2024-07-18 23:59:48 +03:00
Elian Doran 93a0782009 server-esm: Fix a few more straightforward imports 2024-07-18 23:48:14 +03:00
Elian Doran 508b5e3c69 server-esm: Handle more straightforward requires 2024-07-18 23:45:17 +03:00
Elian Doran f137d38300 server-esm: Handle async client 2024-07-18 23:42:54 +03:00
Elian Doran da0829245f server-esm: Handle proxy agent 2024-07-18 23:40:32 +03:00
Elian Doran 0a7828b9ae server-esm: Handle two more async imports 2024-07-18 23:39:04 +03:00
Elian Doran 86808c07bd server-esm: Handle migrations asynchronously 2024-07-18 23:36:49 +03:00
Elian Doran 3852753a89 server-esm: Avoid passing async to express 2024-07-18 23:36:26 +03:00
Elian Doran fe385bf2e4 server-esm: Solve a few straightforward cases 2024-07-18 23:35:13 +03:00
Elian Doran 013f25a49b server-esm: Make crash async 2024-07-18 23:26:21 +03:00
Elian Doran 8a30663d1e server-esm: Start with some fundamental imports 2024-07-18 23:24:36 +03:00
Elian Doran 6de1291efa server-esm: Configure for dynamic imports 2024-07-18 23:23:23 +03:00
Elian Doran 4f018c8ceb server-esm: Fix one more service import 2024-07-18 23:15:01 +03:00
Elian Doran bf29b30004 server-esm: Fix some more service imports 2024-07-18 23:06:08 +03:00
Elian Doran c5561530ec server-esm: Fix import to session-file-store 2024-07-18 22:59:39 +03:00
Elian Doran f4d19e2bc1 server-esm: Solve some more imports 2024-07-18 22:58:12 +03:00
Elian Doran 4ed88d28e9 server-esm: Fix type errors related to cloning 2024-07-18 22:41:58 +03:00
Elian Doran 8ac8f6c2df server-esm: Fix a few more import issues 2024-07-18 22:33:36 +03:00
Elian Doran ad93fe4b75 server-esm: Remove dynamic imports due to past circular issues 2024-07-18 22:30:16 +03:00
Elian Doran efdae79c10 server-esm: Remove two more straightforward imports 2024-07-18 22:25:03 +03:00
Elian Doran a8fd3be133 server-esm: Remove dynamic import to utils 2024-07-18 22:21:33 +03:00
Elian Doran 0c87fab550 server-esm: Fix wonderful token type mismatch 2024-07-18 22:18:10 +03:00
Elian Doran 20c729e62b server-esm: Solve a few straightforward imports 2024-07-18 22:11:38 +03:00
Elian Doran 5d3e54ee9c server-esm: Fix Electron helpers 2024-07-18 22:07:57 +03:00
Elian Doran 1dc894e279 server-esm: Fix the remaining compilation errors 2024-07-18 21:56:20 +03:00
Elian Doran 46f76d7284 server-esm: Fix some imports in app.ts 2024-07-18 21:55:26 +03:00
Elian Doran 6c8e9f69b0 server-esm: Fix import of package.json 2024-07-18 21:53:50 +03:00
Elian Doran ecb8a7f394 server-esm: Change single export to export default 2024-07-18 21:50:12 +03:00
Elian Doran 0ceae0a65e server-esm: Change some more export object to export default object 2024-07-18 21:47:30 +03:00
Elian Doran 55eecb0f61 server-esm: Change export object to export default object 2024-07-18 21:42:44 +03:00
Elian Doran 2750df04a3 server-esm: Change simple library import statements 2024-07-18 21:37:45 +03:00
Elian Doran 35d11cc0d2 server-esm: Change simple local import statements 2024-07-18 21:35:17 +03:00
Elian Doran 8fb67c9766 server-esm: Normalize quotes in require imports 2024-07-18 21:28:51 +03:00
Elian Doran 971c1472a5 server: Set to bundler / ES2015 2024-07-18 21:22:10 +03:00
Elian Doran 893a563afb vscode: Add task to watch build errors 2024-07-18 20:45:46 +03:00
Elian Doran 8b79975500 server: Fix SVG backwards compatibility (fixes #238) 2024-07-18 19:29:34 +03:00
Elian Doran 824bc4705f Merge pull request #234 from root-hal9000/develop
Fixed links to wiki and documentation to redirect to TriliumNext Docs
2024-07-18 12:58:20 +03:00
root-hal9000 75d583e064 Russian language README fixes
- fixes links and other small issues that differed from the English version, same as other languages
- Fixed forgotten change of title in Japanese version
2024-07-17 18:16:58 -05:00
root-hal9000 7562c28686 updated links in japanese readme 2024-07-17 18:06:44 -05:00
root-hal9000 4ef6406a76 Italian README links fixed
- Italian: same basic clean up and change of links as the other languages
**** Please note: Italian README file is not present in master branch
- For chinese: changed title to TriliumNext and fixed general link to docs
2024-07-17 18:00:08 -05:00
root-hal9000 be978e893f Updates of chinese language readme
-  updated for content to match current English version
- Changed wiki links from original zadam repo to TriliumNext docs
- changed release/builds link to TriliumNext repo
- removed gitpod reference
- added the same heading icons as in english version
- left a link referring to a third party wiki in chinese. Were they the ones who translated this? : https://github.com/baddate/trilium/wiki/
- did not mess with adding any of the new content such as "Why TriliumNext" - need an actual translator for a few of these
2024-07-17 17:49:21 -05:00
root-hal9000 95b8bf620f update links in English language readme 2024-07-17 17:24:00 -05:00
Elian Doran e74b7f6964 build: Update NODE_VERSION in build-server 2024-07-17 01:08:33 +03:00
Elian Doran 612907c830 Revert "ci: Force build release for branch"
This reverts commit bc60d77cd7.
2024-07-17 01:01:41 +03:00
Elian Doran 6a2ed4f621 server: Upgrade better-sqlite3 to 8.5.0 2024-07-17 00:40:52 +03:00
Elian Doran bc60d77cd7 ci: Force build release for branch 2024-07-17 00:02:19 +03:00
Elian Doran fe4bf31de8 Update .gitpod to Node 20 2024-07-17 00:01:33 +03:00
Elian Doran 0c0bcdcf4e ci: Update to Node 20 2024-07-16 23:59:46 +03:00
Elian Doran a7006df892 docker: Update to Node 20.15.1 2024-07-16 23:52:55 +03:00
Elian Doran 690048e910 Merge pull request #215 from TriliumNext/feature/investigate_tests
(Bug report) Search not working correctly
2024-07-16 23:19:22 +03:00
Elian Doran 2dbe3c62c2 Merge pull request #227 from TriliumNext/feature/client_updates
Update client dependencies, Canvas: "Copy image reference to clipboard" no longer working
2024-07-16 23:02:18 +03:00
Elian Doran 1eefa65418 client: Update KaTeX to 10.9.1 2024-07-16 22:51:44 +03:00
Elian Doran 7ad977de63 client: Update Mermaid to 10.9.1 2024-07-16 22:49:23 +03:00
Elian Doran d48cdb1c8d client: Update Excalidraw to 0.17.6 2024-07-16 22:43:15 +03:00
Elian Doran ea1da1e155 server: Fix rendering of SVG attachments (closes #226) 2024-07-16 22:29:00 +03:00
Elian Doran 623b2730ed server: Update @types/* to latest 2024-07-16 21:43:14 +03:00
Elian Doran c0b3c8496e server: Fix build errors after updating to latest TypeScript 2024-07-16 21:43:04 +03:00
Elian Doran 9fdb7b29de server: Update TypeScript to latest 2024-07-16 21:30:07 +03:00
Elian Doran e89faf6786 Merge remote-tracking branch 'origin/develop' into feature/investigate_tests 2024-07-16 18:33:55 +03:00
Elian Doran 66108c1067 client: Fix regression (front end no longer loading) 2024-07-16 18:33:39 +03:00
Elian Doran eb39da19b3 server: Fix build comparator preferring numeric comparators 2024-07-15 23:20:20 +03:00
Elian Doran 105aa3e5f8 tests: Fix test-jasmine on Windows 2024-07-15 22:42:12 +03:00
Elian Doran 9dc22264f4 test: Add additional context for failed test 2024-07-15 22:36:09 +03:00
Elian Doran 80d2a69f47 test: Ignore tests that are failing upstream due to "no such table: notes" 2024-07-15 22:31:04 +03:00
Elian Doran e393914b94 tests: Align with original repo
Apparently upstream does not run all the tests, the beforeAll() is not
even executed. On our side it was, causing a lot of errors related to
timeouts.
2024-07-15 22:24:14 +03:00
Elian Doran eff6ca3365 Merge pull request #173 from TriliumNext/feat/ts-unit-and-integration-tests
feat: TS unit and integration tests
2024-07-15 21:21:11 +03:00
Elian Doran 6a7eb9b34f Merge remote-tracking branch 'origin/develop' into feat/ts-unit-and-integration-tests
; Conflicts:
;	package.json
;	tsconfig.json
2024-07-15 21:17:20 +03:00
Elian Doran 1e54a9660b Revert indentation change 2024-07-15 21:15:22 +03:00
Elian Doran 653fba3b71 client: Fix URL to repository 2024-07-15 20:21:43 +03:00
Elian Doran ea47668916 server: Clarify name 2024-07-15 19:31:59 +03:00
Elian Doran 81a2b206ca electron: Improve run & switch scripts 2024-07-15 19:25:55 +03:00
Elian Doran ddce014495 server: Fix sync failing if local EC is missing 2024-07-15 19:25:31 +03:00
Elian Doran f323193c9d release 0.90.0-beta 2024-07-14 22:32:45 +03:00
Alex 17fac31cd1 convert es6 tests to ts 2024-06-09 12:16:09 +02:00
Alex 615f15756b Merge branch 'develop' into feat/ts-unit-and-integration-tests 2024-06-09 11:36:52 +02:00
Alex d7f8cb4e38 remove rebuild 2024-06-09 11:35:48 +02:00
Alex b88f81b718 feat: add temp formatter settings 2024-05-21 20:31:22 +02:00
Alex fcb30f6319 feat: migrate jasmine tests to ts 2024-05-08 23:59:11 +02:00
Alex aa4960f1a5 Merge branch 'develop' into feat/ts-unit-and-integration-tests 2024-05-08 21:17:29 +02:00
Alex e7f11d6687 enable jasmine test runs 2024-05-03 21:18:20 +02:00
Elian Doran 4c1bc10d0f Publish installer artifact 2023-11-09 21:00:53 +02:00
Elian Doran fe82b1d2d6 Start writing GitHub Actions workflow 2023-11-09 20:51:03 +02:00
Elian Doran a5c150baba Remove unused electron-forge config 2023-11-09 20:04:30 +02:00
Elian Doran e9282976d5 Fix application icon 2023-11-08 23:53:08 +02:00
Elian Doran 7cace222c0 Fix installer if webpack not run 2023-11-08 23:17:13 +02:00
Elian Doran df79f3d9c9 Add a custom setup banner 2023-11-08 23:08:38 +02:00
Elian Doran ddfa0d0749 Set up application icon 2023-11-08 22:40:38 +02:00
Elian Doran c0c5e30898 Add icon to setup 2023-11-08 22:10:22 +02:00
Elian Doran b1e0492e05 Prevent (re)start on install & uninstall 2023-11-08 21:56:02 +02:00
Elian Doran 2faee49bd9 Use package.json instead for consistency 2023-11-08 21:40:58 +02:00
Elian Doran 380b967407 Configure author & description for maker-squirrel 2023-11-08 21:40:04 +02:00
Elian Doran 145a09edd1 Set up Electron Forge
This should allow us to package Trilium for multiple platforms,
including generating a Windows installer which is our current target.
2023-11-08 21:28:04 +02:00
Elian Doran b07628abda Remove electron-builder dependency
The `electron-builder` dependency was introduced a while ago in #289,
but finally removed bcbbf4dc3e so there
should be no reason to keep it around.
2023-11-08 21:21:01 +02:00
820 changed files with 72436 additions and 196718 deletions
+5 -5
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
+9 -1
View File
@@ -1,6 +1,14 @@
name: Dev
on:
push:
branches-ignore:
- 'develop'
- 'feature/update**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build_docker:
name: Build Docker image
@@ -10,7 +18,7 @@ jobs:
- name: Set up node & dependencies
uses: actions/setup-node@v4
with:
node-version: 18
node-version: 20
cache: "npm"
- run: npm ci
- name: Run the TypeScript build
+261
View File
@@ -0,0 +1,261 @@
on:
push:
branches:
- "develop"
- "feature/update**"
- "feature/server_esm**"
paths-ignore:
- "docs/**"
- "bin/**"
tags:
- "v*"
workflow_dispatch:
env:
GHCR_REGISTRY: ghcr.io
DOCKERHUB_REGISTRY: docker.io
IMAGE_NAME: ${{ github.repository_owner }}/notes
TEST_TAG: ${{ github.repository_owner }}/notes:test
permissions:
contents: read
packages: write
jobs:
test_docker:
name: Check Docker build
runs-on: ubuntu-latest
strategy:
matrix:
include:
- dockerfile: Dockerfile.alpine
- dockerfile: Dockerfile
steps:
- name: Checkout the repository
uses: actions/checkout@v4
- name: Set IMAGE_NAME to lowercase
run: echo "IMAGE_NAME=${IMAGE_NAME,,}" >> $GITHUB_ENV
- name: Set TEST_TAG to lowercase
run: echo "TEST_TAG=${TEST_TAG,,}" >> $GITHUB_ENV
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- 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: Build and export to Docker
uses: docker/build-push-action@v6
with:
context: .
file: ${{ matrix.dockerfile }}
load: true
tags: ${{ env.TEST_TAG }}
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Validate container run output
run: |
CONTAINER_ID=$(docker run -d --log-driver=journald --rm --name trilium_local ${{ env.TEST_TAG }})
echo "Container ID: $CONTAINER_ID"
- name: Wait for the healthchecks to pass
uses: stringbean/docker-healthcheck-action@v1
with:
container: trilium_local
wait-time: 50
require-status: running
require-healthy: true
# Print the entire log of the container thus far, regardless if the healthcheck failed or succeeded
- name: Print entire log
if: always()
run: |
journalctl -u docker CONTAINER_NAME=trilium_local --no-pager
build:
name: Build Docker images
runs-on: ubuntu-latest
needs:
- test_docker
permissions:
contents: read
packages: write
attestations: write
id-token: write
strategy:
fail-fast: false
matrix:
include:
- dockerfile: Dockerfile.alpine
platform: linux/amd64
- dockerfile: Dockerfile
platform: linux/arm64
- dockerfile: Dockerfile
platform: linux/arm/v7
steps:
- name: Prepare
run: |
platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
- name: Set IMAGE_NAME to lowercase
run: echo "IMAGE_NAME=${IMAGE_NAME,,}" >> $GITHUB_ENV
- name: Set TEST_TAG to lowercase
run: echo "TEST_TAG=${TEST_TAG,,}" >> $GITHUB_ENV
- name: Checkout repository
uses: actions/checkout@v4
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: |
${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}
${{ env.DOCKERHUB_REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=ref,event=branch
type=ref,event=tag
type=sha
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- 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: Login to GHCR
uses: docker/login-action@v2
with:
registry: ${{ env.GHCR_REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Login to DockerHub
uses: docker/login-action@v2
with:
registry: ${{ env.DOCKERHUB_REGISTRY }}
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push by digest
id: build
uses: docker/build-push-action@v6
with:
context: .
file: ${{ matrix.dockerfile }}
platforms: ${{ matrix.platform }}
labels: ${{ steps.meta.outputs.labels }}
outputs: type=image,name=${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }},push-by-digest=true,name-canonical=true,push=true
- name: Export digest
run: |
mkdir -p /tmp/digests
digest="${{ steps.build.outputs.digest }}"
touch "/tmp/digests/${digest#sha256:}"
- name: Upload digest
uses: actions/upload-artifact@v4
with:
name: digests-${{ env.PLATFORM_PAIR }}
path: /tmp/digests/*
if-no-files-found: error
retention-days: 1
merge:
name: Merge manifest lists
runs-on: ubuntu-latest
needs:
- build
steps:
- name: Download digests
uses: actions/download-artifact@v4
with:
path: /tmp/digests
pattern: digests-*
merge-multiple: true
- name: Set IMAGE_NAME to lowercase
run: echo "IMAGE_NAME=${IMAGE_NAME,,}" >> $GITHUB_ENV
- name: Set TEST_TAG to lowercase
run: echo "TEST_TAG=${TEST_TAG,,}" >> $GITHUB_ENV
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: |
${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}
${{ env.DOCKERHUB_REGISTRY }}/${{ env.IMAGE_NAME }}
- name: Login to GHCR
uses: docker/login-action@v2
with:
registry: ${{ env.GHCR_REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Login to DockerHub
uses: docker/login-action@v2
with:
registry: ${{ env.DOCKERHUB_REGISTRY }}
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Create manifest list and push
working-directory: /tmp/digests
run: |
# Extract the branch or tag name from the ref
REF_NAME=$(echo "${GITHUB_REF}" | sed 's/refs\/heads\///' | sed 's/refs\/tags\///')
# Create and push the manifest list with both the branch/tag name and the commit SHA
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
-t ${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}:${REF_NAME} \
$(printf '${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}@sha256:%s ' *)
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
-t ${{ env.DOCKERHUB_REGISTRY }}/${{ env.IMAGE_NAME }}:${REF_NAME} \
$(printf '${{ env.DOCKERHUB_REGISTRY }}/${{ env.IMAGE_NAME }}@sha256:%s ' *)
# If the ref is a tag, also tag the image as stable as this is part of a 'release'
# and only go in the `if` if there is NOT a `-` in the tag's name, due to tagging of `-alpha`, `-beta`, etc...
if [[ "${GITHUB_REF}" == refs/tags/* && ! "${REF_NAME}" =~ - ]]; then
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
-t ${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}:stable \
$(printf '${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}@sha256:%s ' *)
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
-t ${{ env.DOCKERHUB_REGISTRY }}/${{ env.IMAGE_NAME }}:stable \
$(printf '${{ env.DOCKERHUB_REGISTRY }}/${{ env.IMAGE_NAME }}@sha256:%s ' *)
fi
- name: Inspect image
run: |
docker buildx imagetools inspect ${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.meta.outputs.version }}
docker buildx imagetools inspect ${{ env.DOCKERHUB_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.meta.outputs.version }}
+76 -123
View File
@@ -2,63 +2,76 @@ name: Main
on:
push:
branches:
- 'develop'
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
- "feature/update**"
- "feature/server_esm**"
paths-ignore:
- "docs/**"
- ".github/workflows/main-docker.yml"
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build_darwin-x64:
name: Build macOS x86_64
runs-on: ubuntu-latest
make-electron:
name: Make Electron
strategy:
fail-fast: false
matrix:
arch: [x64, arm64]
os:
- name: macos
image: macos-latest
extension: dmg
- name: linux
image: ubuntu-latest
extension: deb
- name: windows
image: windows-latest
extension: exe
runs-on: ${{ matrix.os.image }}
steps:
- uses: actions/checkout@v4
- name: Set up node & dependencies
uses: actions/setup-node@v4
with:
node-version: 18
cache: "npm"
- run: npm ci
- run: ./bin/build-mac-x64.sh
- uses: actions/upload-artifact@v4
node-version: 20
- name: Set up Python for appdmg to be installed
if: ${{ matrix.os.name == 'macos' }}
run: brew install python-setuptools
- name: Install dependencies
run: npm ci
- name: Update build info
run: npm run update-build-info
- name: Run electron-forge
run: npm run make-electron -- --arch=${{ matrix.arch }}
- name: Prepare artifacts (Unix)
if: runner.os != 'windows'
run: |
mkdir -p upload
file=$(find out/make -name '*.zip' -print -quit)
cp "$file" "upload/TriliumNextNotes-${{ matrix.os.name }}-${{ matrix.arch }}-${{ github.ref_name }}.zip"
file=$(find out/make -name '*.${{ matrix.os.extension }}' -print -quit)
cp "$file" "upload/TriliumNextNotes-${{ matrix.os.name }}-${{ matrix.arch }}-${{ github.ref_name }}.${{ matrix.os.extension }}"
- name: Prepare artifacts (Windows)
if: runner.os == 'windows'
run: |
mkdir upload
$file = Get-ChildItem -Path out/make -Filter '*.zip' -Recurse | Select-Object -First 1
Copy-Item -Path $file.FullName -Destination "upload/TriliumNextNotes-${{ matrix.os.name }}-${{ matrix.arch }}-${{ github.ref_name }}.zip"
$file = Get-ChildItem -Path out/make -Filter '*.${{ matrix.os.extension }}' -Recurse | Select-Object -First 1
Copy-Item -Path $file.FullName -Destination "upload/TriliumNextNotes-${{ matrix.os.name }}-${{ matrix.arch }}-${{ github.ref_name }}.${{ matrix.os.extension }}"
- name: Publish artifacts
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
name: TriliumNextNotes ${{ matrix.os.name }} ${{ matrix.arch }}.zip
path: upload/*.zip
- name: Publish installer artifacts
uses: actions/upload-artifact@v4
with:
node-version: 18
cache: "npm"
- run: npm ci
- run: ./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: 18
cache: "npm"
- run: npm ci
- run: ./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
name: TriliumNextNotes ${{ matrix.os.name }} ${{ matrix.arch }}.${{matrix.os.extension}}
path: upload/*.${{ matrix.os.extension }}
build_linux_server-x64:
name: Build Linux Server x86_64
runs-on: ubuntu-latest
@@ -67,81 +80,21 @@ jobs:
- name: Set up node & dependencies
uses: actions/setup-node@v4
with:
node-version: 18
node-version: 20
cache: "npm"
- run: npm ci
- run: ./bin/build-server.sh
- 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
- name: Install dependencies
run: npm ci
- name: Run Linux server build (x86_64)
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: 18
cache: "npm"
- run: npm ci
- run: ./bin/build-win-x64.sh
npm run update-build-info
./bin/build-server.sh
- name: Prepare artifacts
if: runner.os != 'windows'
run: |
mkdir -p upload
file=$(find dist -name '*.tar.xz' -print -quit)
cp "$file" "upload/TriliumNextNotes-linux-x64-${{ github.ref_name }}.tar.xz"
- uses: actions/upload-artifact@v4
with:
name: trilium-windows-x64.zip
path: dist/trilium-windows-x64-*.zip
build_docker:
name: Build Docker image
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
attestations: write
id-token: write
steps:
- uses: actions/checkout@v4
- name: Log in to the Container registry
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
- name: Set up node & dependencies
uses: actions/setup-node@v4
with:
node-version: 18
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
id: push
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Generate artifact attestation
uses: actions/attest-build-provenance@v1
with:
subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME}}
subject-digest: ${{ steps.push.outputs.digest }}
push-to-registry: true
name: TriliumNextNotes linux server x64
path: upload/TriliumNextNotes-linux-x64-${{ github.ref_name }}.tar.xz
+129
View File
@@ -0,0 +1,129 @@
name: Nightly Release
on:
# This can be used to automatically publish nightlies at UTC nighttime
schedule:
- cron: '0 2 * * *' # run at 2 AM UTC
# This can be used to allow manually triggering nightlies from the web interface
workflow_dispatch:
env:
GITHUB_UPLOAD_URL: https://uploads.github.com/repos/TriliumNext/Notes/releases/179589950/assets{?name,label}
GITHUB_RELEASE_ID: 179589950
permissions:
contents: write
jobs:
nightly-electron:
name: Deploy nightly
strategy:
fail-fast: false
matrix:
arch: [x64, arm64]
os:
- name: macos
image: macos-latest
extension: dmg
- name: linux
image: ubuntu-latest
extension: deb
- name: windows
image: windows-latest
extension: exe
runs-on: ${{ matrix.os.image }}
steps:
- uses: actions/checkout@v4
- name: Set up node & dependencies
uses: actions/setup-node@v4
with:
node-version: 20
- name: Set up Python for appdmg to be installed
if: ${{ matrix.os.name == 'macos' }}
run: brew install python-setuptools
- name: Install dependencies
run: npm ci
- name: Update build info
run: npm run update-build-info
- name: Update nightly version
run: npm run ci-update-nightly-version
- name: Run electron-forge
run: npm run make-electron -- --arch=${{ matrix.arch }}
- name: Prepare artifacts (Unix)
if: runner.os != 'windows'
run: |
mkdir -p upload
file=$(find out/make -name '*.zip' -print -quit)
cp "$file" "upload/TriliumNextNotes-${{ matrix.os.name }}-${{ matrix.arch }}.zip"
file=$(find out/make -name '*.${{ matrix.os.extension }}' -print -quit)
cp "$file" "upload/TriliumNextNotes-${{ matrix.os.name }}-${{ matrix.arch }}.${{ matrix.os.extension }}"
- name: Prepare artifacts (Windows)
if: runner.os == 'windows'
run: |
mkdir upload
$file = Get-ChildItem -Path out/make -Filter '*.zip' -Recurse | Select-Object -First 1
Copy-Item -Path $file.FullName -Destination "upload/TriliumNextNotes-${{ matrix.os.name }}-${{ matrix.arch }}.zip"
$file = Get-ChildItem -Path out/make -Filter '*.${{ matrix.os.extension }}' -Recurse | Select-Object -First 1
Copy-Item -Path $file.FullName -Destination "upload/TriliumNextNotes-${{ matrix.os.name }}-${{ matrix.arch }}.${{ matrix.os.extension }}"
- name: Publish artifacts
uses: actions/upload-artifact@v4
with:
name: TriliumNextNotes ${{ matrix.os.name }} ${{ matrix.arch }}
path: upload/*.zip
overwrite: true
- name: Publish installer artifacts
uses: actions/upload-artifact@v4
with:
name: TriliumNextNotes ${{ matrix.os.name }} ${{ matrix.arch }}
path: upload/*.${{ matrix.os.extension }}
overwrite: true
- name: Deploy release
uses: WebFreak001/deploy-nightly@v3.1.0
with:
upload_url: ${{ env.GITHUB_UPLOAD_URL }}
release_id: ${{ env.GITHUB_RELEASE_ID }}
asset_path: upload/TriliumNextNotes-${{ matrix.os.name }}-${{ matrix.arch }}.zip # path to archive to upload
asset_name: TriliumNextNotes-${{ matrix.os.name }}-${{ matrix.arch }}-nightly.zip # name to upload the release as, use $$ to insert date (YYYYMMDD) and 6 letter commit hash
asset_content_type: application/zip # required by GitHub API
- name: Deploy installer release
uses: WebFreak001/deploy-nightly@v3.1.0
with:
upload_url: ${{ env.GITHUB_UPLOAD_URL }}
release_id: ${{ env.GITHUB_RELEASE_ID }}
asset_path: upload/TriliumNextNotes-${{ matrix.os.name }}-${{ matrix.arch }}.${{ matrix.os.extension }} # path to archive to upload
asset_name: TriliumNextNotes-${{ matrix.os.name }}-${{ matrix.arch }}-nightly.${{ matrix.os.extension }} # name to upload the release as, use $$ to insert date (YYYYMMDD) and 6 letter commit hash
asset_content_type: application/zip # required by GitHub API
nightly-server:
name: Deploy server nightly
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"
- name: Install dependencies
run: npm ci
- name: Run Linux server build (x86_64)
run: |
npm run update-build-info
npm run ci-update-nightly-version
./bin/build-server.sh
- name: Prepare artifacts
if: runner.os != 'windows'
run: |
mkdir -p upload
file=$(find dist -name '*.tar.xz' -print -quit)
cp "$file" "upload/TriliumNextNotes-linux-x64-${{ github.ref_name }}.tar.xz"
- uses: actions/upload-artifact@v4
with:
name: TriliumNextNotes linux server x64
path: upload/TriliumNextNotes-linux-x64-${{ github.ref_name }}.tar.xz
overwrite: true
- name: Deploy release
uses: WebFreak001/deploy-nightly@v3.1.0
with:
upload_url: ${{ env.GITHUB_UPLOAD_URL }}
release_id: ${{ env.GITHUB_RELEASE_ID }}
asset_path: upload/TriliumNextNotes-linux-x64-${{ github.ref_name }}.tar.xz # path to archive to upload
asset_name: TriliumNextNotes-linux-x64-nightly.zip # name to upload the release as, use $$ to insert date (YYYYMMDD) and 6 letter commit hash
asset_content_type: application/zip # required by GitHub API
+27
View File
@@ -0,0 +1,27 @@
name: Playwright Tests
on:
push:
branches: [ main, master ]
pull_request:
branches: [ main, master ]
jobs:
test:
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: lts/*
- name: Install dependencies
run: npm ci
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Run Playwright tests
run: npx playwright test
- uses: actions/upload-artifact@v4
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 30
+95
View File
@@ -0,0 +1,95 @@
name: Release
on:
push:
tags:
- "v*"
workflow_dispatch:
permissions:
contents: write
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
make-electron:
name: Make Electron
strategy:
fail-fast: false
matrix:
arch: [x64, arm64]
os:
- name: macos
image: macos-latest
extension: dmg
- name: linux
image: ubuntu-latest
extension: deb
- name: windows
image: windows-latest
extension: exe
runs-on: ${{ matrix.os.image }}
steps:
- uses: actions/checkout@v4
- name: Set up node & dependencies
uses: actions/setup-node@v4
with:
node-version: 20
- name: Set up Python for appdmg to be installed
if: ${{ matrix.os.name == 'macos' }}
run: brew install python-setuptools
- name: Install dependencies
run: npm ci
- name: Update build info
run: npm run update-build-info
- name: Run electron-forge
run: npm run make-electron -- --arch=${{ matrix.arch }}
- name: Prepare artifacts (Unix)
if: runner.os != 'windows'
run: |
mkdir -p upload
file=$(find out/make -name '*.zip' -print -quit)
cp "$file" "upload/TriliumNextNotes-${{ github.ref_name }}-${{ matrix.os.name }}-${{ matrix.arch }}.zip"
file=$(find out/make -name '*.${{ matrix.os.extension }}' -print -quit)
cp "$file" "upload/TriliumNextNotes-${{ github.ref_name }}-${{ matrix.os.name }}-${{ matrix.arch }}.${{ matrix.os.extension }}"
- name: Prepare artifacts (Windows)
if: runner.os == 'windows'
run: |
mkdir upload
$file = Get-ChildItem -Path out/make -Filter '*.zip' -Recurse | Select-Object -First 1
Copy-Item -Path $file.FullName -Destination "upload/TriliumNextNotes-${{ github.ref_name }}-${{ matrix.os.name }}-${{ matrix.arch }}.zip"
$file = Get-ChildItem -Path out/make -Filter '*.${{ matrix.os.extension }}' -Recurse | Select-Object -First 1
Copy-Item -Path $file.FullName -Destination "upload/TriliumNextNotes-${{ github.ref_name }}-${{ matrix.os.name }}-${{ matrix.arch }}.${{ matrix.os.extension }}"
- name: Publish release
uses: softprops/action-gh-release@v2
with:
draft: true
fail_on_unmatched_files: true
files: upload/*.*
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"
- name: Install dependencies
run: npm ci
- name: Run Linux server build (x86_64)
run: |
npm run update-build-info
./bin/build-server.sh
- name: Prepare artifacts
if: runner.os != 'windows'
run: |
mkdir -p upload
file=$(find dist -name '*.tar.xz' -print -quit)
cp "$file" "upload/TriliumNextNotes-${{ github.ref_name }}-server-linux-x64.tar.xz"
- name: Publish release
uses: softprops/action-gh-release@v2
with:
draft: true
fail_on_unmatched_files: true
files: upload/*.*
+18
View File
@@ -5,13 +5,31 @@ build/
src/public/app-dist/
npm-debug.log
yarn-error.log
po-*/
*.db
!integration-tests/db/document.db
integration-tests/db/log
integration-tests/db/sessions
integration-tests/db/backup
integration-tests/db/session_secret.txt
config.ini
cert.key
cert.crt
server-package.json
.idea/httpRequests/
.idea/shelf/
data/
data-test/
tmp/
.eslintcache
out/
images/app-icons/mac/*.png
/test-results/
/playwright-report/
/blob-report/
/playwright/.cache/
/playwright/.auth/
+1 -1
View File
@@ -2,7 +2,7 @@ image:
file: .gitpod.dockerfile
tasks:
- before: nvm install 18.18.2 && nvm use 18.18.2
- before: nvm install 20.15.1 && nvm use 20.15.1
init: npm install
command: npm run start-server
+5 -3
View File
@@ -6,8 +6,10 @@
<option name="TAB_SIZE" value="2" />
</value>
</option>
<JSCodeStyleSettings version="0">
<option name="USE_EXPLICIT_JS_EXTENSION" value="TRUE" />
</JSCodeStyleSettings>
<codeStyleSettings language="JSON">
<indentOptions>
<option name="INDENT_SIZE" value="4" />
</indentOptions>
</codeStyleSettings>
</code_scheme>
</component>
+1
View File
@@ -0,0 +1 @@
save-prefix = ''
+5
View File
@@ -0,0 +1,5 @@
{
"recommendations": [
"lokalise.i18n-ally"
]
}
+33
View File
@@ -0,0 +1,33 @@
# 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
- html
# 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")
- ${t("$1")}
- <%= t("$1") %>
# If set to true, only enables this custom framework (will disable all built-in frameworks)
monopoly: true
+20
View File
@@ -0,0 +1,20 @@
# Review comments generated by i18n-ally. Please commit this file.
reviews:
help.inPageSearch:
description: >-
Describes the shortcut which triggers a search within the current
page/note only
add_label.to_value:
locales:
fr:
comments:
- user:
name: Potjoe-97
email: giann@LAPTOPT490-GF
id: QXec0JUoxfGmMlpch-B1S
comment: ''
suggestion: vers la valeur
type: request_change
time: '2024-10-15T16:57:06.188Z'
resolved: true
+19 -1
View File
@@ -2,5 +2,23 @@
"editor.formatOnSave": false,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"files.eol": "\n",
"typescript.tsdk": "node_modules/typescript/lib"
"typescript.tsdk": "node_modules/typescript/lib",
"i18n-ally.sourceLanguage": "en",
"i18n-ally.keystyle": "nested",
"i18n-ally.localesPaths": [
"./src/public/translations",
"./translations"
],
"[jsonc]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
"[javascript]": {
"editor.defaultFormatter": "vscode.typescript-language-features"
},
"[typescript]": {
"editor.defaultFormatter": "vscode.typescript-language-features"
},
"github-actions.workflows.pinned.workflows": [
".github/workflows/nightly.yml"
],
}
+17
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"
}
}
]
}
+31 -21
View File
@@ -1,8 +1,8 @@
# !!! Don't try to build this Dockerfile directly, run it through bin/build-docker.sh script !!!
FROM node:18.18.2-alpine
FROM node:20.15.1-bullseye-slim
# Configure system dependencies
RUN apk add --no-cache --virtual .build-dependencies \
RUN apt-get update && apt-get install -y --no-install-recommends \
autoconf \
automake \
g++ \
@@ -11,40 +11,50 @@ RUN apk add --no-cache --virtual .build-dependencies \
make \
nasm \
libpng-dev \
python3
python3 \
gosu \
&& rm -rf /var/lib/apt/lists/*
# Create app directory
WORKDIR /usr/src/app
# Bundle app source
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
# Copy the healthcheck
RUN cp -R build/src/* src/. && \
cp build/docker_healthcheck.js . && \
rm -r build && \
rm docker_healthcheck.ts
# Install app dependencies
RUN set -x \
&& 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 src/services/asset_path.ts
RUN apt-get purge -y --auto-remove \
autoconf \
automake \
g++ \
gcc \
libtool \
make \
nasm \
libpng-dev \
python3 \
&& rm -rf /var/lib/apt/lists/*
RUN npm install && \
npm run webpack && \
npm prune --omit=dev
RUN 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 src/services/asset_path.ts
# Some setup tools need to be kept
RUN apk add --no-cache su-exec shadow
# Add application user and setup proper volume permissions
RUN adduser -s /bin/false node; exit 0
RUN apt-get update && apt-get install -y --no-install-recommends \
gosu \
&& rm -rf /var/lib/apt/lists/*
# Start the application
EXPOSE 8080
CMD [ "./start-docker.sh" ]
HEALTHCHECK --start-period=10s CMD exec su-exec node node docker_healthcheck.js
HEALTHCHECK --start-period=10s CMD exec gosu node node docker_healthcheck.js
+53
View File
@@ -0,0 +1,53 @@
# !!! Don't try to build this Dockerfile directly, run it through bin/build-docker.sh script !!!
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
# Bundle app source
COPY . .
COPY server-package.json package.json
# Copy TypeScript build artifacts into the original directory structure.
# Copy the healthcheck
RUN cp -R build/src/* src/. && \
cp build/docker_healthcheck.js . && \
rm -r build && \
rm docker_healthcheck.ts
# Install app dependencies
RUN set -x && \
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 src/services/asset_path.ts
# Some setup tools need to be kept
RUN apk add --no-cache su-exec shadow
# Add application user and setup proper volume permissions
RUN adduser -s /bin/false node; exit 0
# Start the application
EXPOSE 8080
CMD [ "./start-docker.sh" ]
HEALTHCHECK --start-period=10s CMD exec su-exec node node docker_healthcheck.js
+55 -40
View File
@@ -1,82 +1,97 @@
# Trilium Notes
# TriliumNext Notes
[English](https://github.com/zadam/trilium/blob/master/README.md) | [Chinese](https://github.com/zadam/trilium/blob/master/README-ZH_CN.md) | [Russian](https://github.com/zadam/trilium/blob/master/README.ru.md) | [Japanese](https://github.com/zadam/trilium/blob/master/README.ja.md) | [Italian](https://github.com/zadam/trilium/blob/master/README.it.md)
[English](./README.md) | [Chinese](./README-ZH_CN.md) | [Russian](./README.ru.md) | [Japanese](./README.ja.md) | [Italian](./README.it.md) | [Spanish](./README.es.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)
或者克隆本仓库到本地,并运行
```
```shell
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 的第三版或者任何(由你选择)更晚的版本。
+106
View File
@@ -0,0 +1,106 @@
# TriliumNext Notes
[English](./README.md) | [Chinese](./README-ZH_CN.md) | [Russian](./README.ru.md) | [Japanese](./README.ja.md) | [Italian](./README.it.md) | [Spanish](./README.es.md)
TriliumNext Notes es una aplicación de toma de notas jerárquicas multi-plataforma y de código libre con un enfoque en la construcción de grandes bases de conocimiento personal.
Vea estas [capturas de pantalla](https://triliumnext.github.io/Docs/Wiki/screenshot-tour) para un vistazo rápido:
<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>
## ⚠️ ¿Por qué usar TriliumNext?
[El proyecto Trilium original está en modo de mantenimiento](https://github.com/zadam/trilium/issues/4620)
### ¿Cómo migrar desde Trilium?
No hay pasos de migración especiales para migrar de una instancia de zadam/Trilium a una instancia de TriliumNext/Notes. Simplemente actualice su instancia de Trilium a la última versión e [instale TriliumNext/Notes como de costumbre](#-Instalación)
## 💬 Discuta con nosotros
Siéntase libre de unirse a nuestras conversaciones oficiales. ¡Nos encantaría escuchar de las características, sugerencias o problemas que pueda tener!
- [Matrix](https://matrix.to/#/#triliumnext:matrix.org) (Para discusiones síncronas)
- La sala `General` es replicada a [XMPP](xmpp:discuss@trilium.thisgreat.party?join)
- [Discusiones de GitHub](https://github.com/TriliumNext/Notes/discussions) (Para discusiones asíncronas)
- [Wiki](https://triliumnext.github.io/Docs/) (Para preguntas frecuentes y guías de usuario)
## 🎁 Características
- Las notas pueden ser acomodadas en un árbol de profundidad arbitraria. Una sola nota puede ser colocada en múltiples lugares del árbol (vea [clonar](https://triliumnext.github.io/Docs/Wiki/cloning-notes)
- Edición de notas WYSIWYG enriquecida que incluye, por ejemplo, tablas, imágenes y [matemáticas](https://triliumnext.github.io/Docs/Wiki/text-notes) con [autoformato](https://triliumnext.github.io/Docs/Wiki/text-notes#autoformat) markdown
- Soporte para editar [notas con código fuente](https://triliumnext.github.io/Docs/Wiki/code-notes), incluyendo resaltado de sintaxis
- Rápida y sencilla [navegación entre notas](https://triliumnext.github.io/Docs/Wiki/note-navigation), búsqueda de texto completo y [elevación de notas](https://triliumnext.github.io/Docs/Wiki/note-hoisting)
- [Versionado de notas](https://triliumnext.github.io/Docs/Wiki/note-revisions) sutil
- Los [atributos](https://triliumnext.github.io/Docs/Wiki/attributes) de las notas pueden utilizarse para organización, realizar consultas y [scripts](https://triliumnext.github.io/Docs/Wiki/scripts) avanzados
- [Sincronización](https://triliumnext.github.io/Docs/Wiki/synchronization) con servidor de sincronización propio
- existe un [servicio de terceros para alojar el servidor de sincronización](https://trilium.cc/paid-hosting)
- [Compartir](https://triliumnext.github.io/Docs/Wiki/sharing) (publicar) notas al Internet público
- Fuerte [encriptación de notas](https://triliumnext.github.io/Docs/Wiki/protected-notes) con granularidad para cada nota
- Esbozo de diagramas con Excalidraw incorporado (tipo de nota «canvas»)
- [Mapas de relaciones](<https://triliumnext.github.io/Docs/Wiki/relation-map>) y [mapas de enlaces](https://triliumnext.github.io/Docs/Wiki/link-map) para visualizar las notas y sus relaciones
- [Scripting](https://triliumnext.github.io/Docs/Wiki/scripts) - vea [casos de uso avanzados](https://triliumnext.github.io/Docs/Wiki/advanced-showcases)
- [REST API](https://triliumnext.github.io/Docs/Wiki/etapi) para automatización
- Escala bien tanto en uso como en rendimiento a partir de 100,000 notas
- [Interfaz móvil](https://triliumnext.github.io/Docs/Wiki/mobile-frontend) optimizada para teléfonos inteligentes y tabletas
- [Tema nocturno](https://triliumnext.github.io/Docs/Wiki/themes)
- Importación y exportación de [Evernote](https://triliumnext.github.io/Docs/Wiki/evernote-import) y [Markdown](https://triliumnext.github.io/Docs/Wiki/markdown)
- [Web Clipper](https://triliumnext.github.io/Docs/Wiki/web-clipper) para guardar fácilmente contenido web
✨ Consulte los/las siguientes recursos/comunidades de terceros para obtener más información sobre complementos para TriliumNext:
- [awesome-trilium](https://github.com/Nriver/awesome-trilium) para temas, scripts, plugins y más de terceros.
- [TriliumRocks!](https://trilium.rocks/) para tutoriales, guías y mucho más.
## 🏗 Instalación
### Escritorio
Para usar TriliumNext en su máquina de escritorio (Linux, MacOS y Windows) tiene algunas opciones:
- Descargue la versión binaria para su plataforma desde la [página de lanzamientos](https://github.com/TriliumNext/Notes/releases/latest), descomprima el paquete y ejecute el ejecutable `trilium`.
- Acceda a TriliumNext a través de la interfaz web de una instalación de servidor (ver más abajo)
- Actualmente solo las últimas versiones de Chrome y Firefox son compatibles (y están probadas).
- (Próximamente) TriliumNext también se proporcionará como un Flatpak
### Móvil
Para usar TriliumNext en un dispositivo móvil:
- Utilice un navegador web móvil para acceder a la interfaz móvil de una instalación de servidor (ver más abajo)
- El uso de una aplicación móvil aún no está soportado ([vea aquí](https://github.com/TriliumNext/Notes/issues/72)) para seguir las mejoras móviles.
### Servidor
Para instalar TriliumNext en su servidor (incluyendo vía Docker desde [Dockerhub](https://hub.docker.com/r/triliumnext/notes)) siga la [documentación de instalación de servidor](https://triliumnext.github.io/Docs/Wiki/server-installation).
## 📝 Documentación
[Vea la Wiki para la lista completa de páginas de documentación.](https://triliumnext.github.io/Docs)
También puede leer [Patrones para una base de conocimiento personal](https://triliumnext.github.io/Docs/Wiki/patterns-of-personal-knowledge) para obtener un poco de inspiración de como podría usar TriliumNext.
## 💻 Contribuir
Clone localmente y ejecute
```shell
npm install
npm run start-server
```
## 👏 Reconocimientos
- [CKEditor 5](https://github.com/ckeditor/ckeditor5) - el mejor editor WYSIWYG en el mercado, equipo muy interactivo y atento
- [FancyTree](https://github.com/mar10/fancytree) - biblioteca de árbol muy rica en funciones sin competencia real. TriliumNext Notes no sería lo mismo sin esta.
- [CodeMirror](https://github.com/codemirror/CodeMirror) - editor de código con soporte para una gran cantidad de lenguajes
- [jsPlumb](https://github.com/jsplumb/jsplumb) - biblioteca de conectividad visual sin competencia. Usado en [mapas de relación](https://triliumnext.github.io/Docs/Wiki/Relation-map) y [mapas de enlace](https://triliumnext.github.io/Docs/Wiki/Link-map)
## 🤝 Soporte
Puede apoyar al desarrollador original de Trilium usando GitHub Sponsors, [PayPal](https://paypal.me/za4am) o Bitcoin (bitcoin:bc1qv3svjn40v89mnkre5vyvs2xw6y8phaltl385d2).
Apoyo para la organización TriliumNext será posible en un futuro próximo.
## 🔑 Licencia
Este programa es software libre: puede redistribuirlo y/o modificarlo bajo los términos de la Licencia Pública General de Affero GNU publicada por la Free Software Foundation, ya sea la versión 3 de la Licencia, o (a su elección) cualquier versión posterior.
+47 -47
View File
@@ -1,92 +1,92 @@
# Trilium Notes
# TriliumNext Notes
## Trilium è in manutenzione - vedi i dettagli in https://github.com/zadam/trilium/issues/4620
[English](./README.md) | [Chinese](./README-ZH_CN.md) | [Russian](./README.ru.md) | [Japanese](./README.ja.md) | [Italian](./README.it.md) | [Spanish](./README.es.md)
Le discussioni preliminari sull'organizzazione si stanno svolgendo in [Trilium Next discussions](https://github.com/orgs/TriliumNext/discussions).
TriliumNext Notes è un'applicazione per appunti ad organizzazione gerarchica, studiata per la costruzione di archivi di conoscenza personali di grandi dimensioni.
[![Join the chat at https://gitter.im/trilium-notes/Lobby](https://badges.gitter.im/trilium-notes/Lobby.svg)](https://gitter.im/trilium-notes/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [English](https://github.com/zadam/trilium/blob/master/README.md) | [Chinese](https://github.com/zadam/trilium/blob/master/README-ZH_CN.md) | [Russian](https://github.com/zadam/trilium/blob/master/README.ru.md) | [Japanese](https://github.com/zadam/trilium/blob/master/README.ja.md) | [Italian](https://github.com/zadam/trilium/blob/master/README.it.md)
Vedi [fotografie](https://triliumnext.github.io/Docs/Wiki/screenshot-tour) per una panoramica veloce:
<a href="https://triliumnext.github.io/Docs/Wiki/screenshot-tour"><img src="https://github.com/TriliumNext/Docs/blob/main/Wiki/images/screenshot.png?raw=true" alt="Trilium Screenshot" width="1000"></a>
Trilium Notes è un'applicazione per appunti ad organizzazione gerarchica, studiata per la costruzione di archivi di conoscenza personali di grandi dimensioni.
## ⚠️ Perchè TriliumNext?
[Il progetto originale Trilium è in modalità di manutenzione](https://github.com/zadam/trilium/issues/4620)
Vedi [fotografie](https://github.com/zadam/trilium/wiki/Screenshot-tour) per una panoramica veloce:
## 🗭 Discuti con noi
Sentiti libero di unirti alle nostre discussioni ufficiali e alla nostra comunità. Siamo concentrati sullo sviluppo di Trilium e ci piacerebbe sapere quali funzioni, suggerimenti o eventuali problemi hai!
<a href="https://github.com/zadam/trilium/wiki/Screenshot-tour"><img src="https://raw.githubusercontent.com/wiki/zadam/trilium/images/screenshot.png" alt="Trilium Screenshot" width="1000"></a>
- [Matrix](https://matrix.to/#/#triliumnext:matrix.org) (Per discussioni sincrone)
- [Discussioni Github](https://github.com/TriliumNext/Notes/discussions) (Per discussioni asincrone)
- [Wiki](https://triliumnext.github.io/Docs/) (Per le domande più comuni e le guide per l'utente)
L'Ucraina si sta difendendo dall'aggressione russa, considera [donare all'esercito ucraino o a organizzazioni umanitarie](https://standforukraine.com/).
<p float="left">
<img src="https://upload.wikimedia.org/wikipedia/commons/4/49/Flag_of_Ukraine.svg" alt="drawing" width="400"/>
<img src="https://signmyrocket.com//uploads/2b2a523cd0c0e76cdbba95a89a9636b2_1676971281.jpg" alt="Trilium Notes supports Ukraine!" width="570"/>
</p>
Le due stanze linkate sopra sono connesse e contengono gli stessi messaggi, quindi puoi usare XMPP o Matrix da qualsiasi client tu preferisca, praticamente su qualsiasi piattaforma!
### Comunità non ufficiali
[Trilium Rocks](https://discord.gg/aqdX9mXX4r)
## 🎁 Funzionalità
* Gli appunti possono essere organizzati in un albero di profondità arbitraria. Un singolo appunto può essere collocato in più posti nell'albero (vedi [clonazione](https://github.com/zadam/trilium/wiki/Cloning-notes))
* Ricco editor visuale (WYSIWYG), con supporto -tra l'altro- per tabelle, immagini ed [espressioni matematiche](https://github.com/zadam/trilium/wiki/Text-notes#math-support) e con [formattazione automatica](https://github.com/zadam/trilium/wiki/Text-notes#autoformat) per markdown
* Supporto per la modifica di [appunti con codice sorgente](https://github.com/zadam/trilium/wiki/Code-notes), con evidenziazione della sintassi
* [Navigazione veloce](https://github.com/zadam/trilium/wiki/Note-navigation) tra gli appunti, ricerca testuale completa e [fissaggio degli appunti](https://github.com/zadam/trilium/wiki/Note-hoisting)
* Supporto integrato ed automatico per le [revisioni degli appunti](https://github.com/zadam/trilium/wiki/Note-revisions)
* Gli [attributi](https://github.com/zadam/trilium/wiki/Attributes) degli appunti possono essere utilizzati per l'organizzazione, per l'interrogazione e per lo scripting avanzato (prorgrammazione).
* [Sincronizzazione](https://github.com/zadam/trilium/wiki/Synchronization) con un server di sincronizzazione auto-ospitato
* Gli appunti possono essere organizzati in un albero di profondità arbitraria. Un singolo appunto può essere collocato in più posti nell'albero (vedi [clonazione](https://triliumnext.github.io/Docs/Wiki/cloning-notes))
* Ricco editor visuale (WYSIWYG), con supporto -tra l'altro- per tabelle, immagini ed [espressioni matematiche](https://triliumnext.github.io/Docs/Wiki/text-notes#math-support) e con [formattazione automatica](https://triliumnext.github.io/Docs/Wiki/text-notes#autoformat) per markdown
* Supporto per la modifica di [appunti con codice sorgente](https://triliumnext.github.io/Docs/Wiki/code-notes), con evidenziazione della sintassi
* [Navigazione veloce](https://triliumnext.github.io/Docs/Wiki/note-navigation) tra gli appunti, ricerca testuale completa e [fissaggio degli appunti](https://triliumnext.github.io/Docs/Wiki/note-hoisting)
* Supporto integrato ed automatico per le [revisioni degli appunti](https://triliumnext.github.io/Docs/Wiki/note-revisions)
* Gli [attributi](https://triliumnext.github.io/Docs/Wiki/attributes) degli appunti possono essere utilizzati per l'organizzazione, per l'interrogazione e per lo scripting avanzato (prorgrammazione).
* [Sincronizzazione](https://triliumnext.github.io/Docs/Wiki/synchronization) con un server di sincronizzazione auto-ospitato
* c'è un [servizio di terze parti per ospitare server di sincronizzazione](https://trilium.cc/paid-hosting)
* [Condivisione](https://github.com/zadam/trilium/wiki/Sharing) (pubblicazione) di appunti sull'internet pubblico
* Robusta [crittografia](https://github.com/zadam/trilium/wiki/Protected-notes) configurabile singolarmente per ogni appunto
* [Condivisione](https://triliumnext.github.io/Docs/Wiki/sharing) (pubblicazione) di appunti sull'internet pubblico
* Robusta [crittografia](https://triliumnext.github.io/Docs/Wiki/protected-notes) configurabile singolarmente per ogni appunto
* Disegno di diagrammi con Excalidraw (tipo di appunto "canvas")
* [Mappe relazionali](https://github.com/zadam/trilium/wiki/Relation-map) e [mappe di collegamenti](https://github.com/zadam/trilium/wiki/Link-map) per visualizzare gli appunti e le loro relazioni
* [Scripting](https://github.com/zadam/trilium/wiki/Scripts) - vedi [Esempi avanzati](https://github.com/zadam/trilium/wiki/Advanced-showcases)
* [API REST](https://github.com/zadam/trilium/wiki/ETAPI) per l'automazione
* [Mappe relazionali](https://triliumnext.github.io/Docs/Wiki/relation-map) e [mappe di collegamenti](https://triliumnext.github.io/Docs/Wiki/link-map) per visualizzare gli appunti e le loro relazioni
* [Scripting](https://triliumnext.github.io/Docs/Wiki/scripts) - vedi [Esempi avanzati](https://triliumnext.github.io/Docs/Wiki/advanced-showcases)
* [API REST](https://triliumnext.github.io/Docs/Wiki/etapi) per l'automazione
* Si adatta bene sia in termini di usabilità che di prestazioni fino ad oltre 100 000 appunti
* Interfaccia utente ottimizzata per il [mobile](https://github.com/zadam/trilium/wiki/Mobile-frontend) (smartphone e tablet)
* [Tema Notturno](https://github.com/zadam/trilium/wiki/Themes)
* Supporto per importazione ed esportazione da e per [Evernote](https://github.com/zadam/trilium/wiki/Evernote-import) e [Markdown import](https://github.com/zadam/trilium/wiki/Markdown)
* [Web Clipper](https://github.com/zadam/trilium/wiki/Web-clipper) per il salvataggio facile di contenuti web
* Interfaccia utente ottimizzata per il [mobile](https://triliumnext.github.io/Docs/Wiki/mobile-frontend) (smartphone e tablet)
* [Tema Notturno](https://triliumnext.github.io/Docs/Wiki/themes)
* Supporto per importazione ed esportazione da e per [Evernote](https://triliumnext.github.io/Docs/Wiki/evernote-import) e [Markdown import](https://triliumnext.github.io/Docs/Wiki/markdown)
* [Web Clipper](https://triliumnext.github.io/Docs/Wiki/web-clipper) per il salvataggio facile di contenuti web
✨ Dai un'occhiata alle seguenti risorse di terze parti per scoprire altre bellezze legate a TriliumNext:
Dai un'occhiata a [awesome-trilium](https://github.com/Nriver/awesome-trilium) per temi, script, plugin e altro di terze parti.
-[awesome-trilium](https://github.com/Nriver/awesome-trilium) per temi, script, plugin e altro di terze parti.
- [TriliumRocks!](https://trilium.rocks/) per tutorial, guide e molto altro.
## 🏗 Rilasci
Trilium è fornito come applicazione desktop (Linux e Windows) o come applicazione web ospitata sul tuo server (Linux). La versione desktop per Mac OS è disponibile, ma [non è supportata](https://github.com/zadam/trilium/wiki/FAQ#mac-os-support).
Trilium è fornito come applicazione desktop (Linux e Windows) o come applicazione web ospitata sul tuo server (Linux). La versione desktop per Mac OS è disponibile, ma [non è supportata](https://triliumnext.github.io/Docs/Wiki/faq#mac-os-support).
* Se vuoi usare Trilium sul tuo desktop, scarica il rilascio binario per la tua piattaforma dall'[ultimo rilascio](https://github.com/zadam/trilium/releases/latest), decomprimi l'archivio e avvia l'eseguibile ```trilium```.
* Se vuoi installare Trilium su un server, segui [questa pagina](https://github.com/zadam/trilium/wiki/Server-installation).
* Se vuoi usare Trilium sul tuo desktop, scarica il rilascio binario per la tua piattaforma dall'[ultimo rilascio](https://github.com/TriliumNext/Notes/releases/latest), decomprimi l'archivio e avvia l'eseguibile ```trilium```.
* Se vuoi installare Trilium su un server, segui [questa pagina](https://triliumnext.github.io/Docs/Wiki/server-installation).
* Per ora solo Chrome e Firefox sono i browser supportati (testati).
Trilium è anche disponibile su Flatpak:
TriliumNext sarà fornito anche come Flatpak:
[<img width="240" src="https://flathub.org/assets/badges/flathub-badge-en.png">](https://flathub.org/apps/details/com.github.zadam.trilium)
<img width="240" src="https://flathub.org/assets/badges/flathub-badge-en.png">
## 📝 Documentazione
[Vedi la wiki per una lista completa delle pagine di documentazione.](https://github.com/zadam/trilium/wiki/)
[Vedi la wiki per una lista completa delle pagine di documentazione.](https://triliumnext.github.io/Docs/)
Puoi anche leggere ["Patterns of personal knowledge base"](https://github.com/zadam/trilium/wiki/Patterns-of-personal-knowledge-base) per avere un'ispirazione su come potresti utilizzare Trilium.
Puoi anche leggere ["Patterns of personal knowledge base"](https://triliumnext.github.io/Docs/Wiki/patterns-of-personal-knowledge) per avere un'ispirazione su come potresti utilizzare Trilium.
## 💻 Contribuire
Usa un ambiente di sviluppo basato su browser
Clona localmente ed esegui
[![Apri in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/zadam/trilium)
O clona localmente ed esegui
```
```shell
npm install
npm run start-server
```
## 📢 Riconoscimenti
## 👏 Riconoscimenti
* [CKEditor 5](https://github.com/ckeditor/ckeditor5) - miglior editor visuale (WYSIWYG) sul mercato, squadra di sviluppo attenta e reattiva
* [FancyTree](https://github.com/mar10/fancytree) - libreria per alberi molto ricca di funzionalità, senza pari. Trilium Notes non sarebbe lo stesso senza di essa.
* [CodeMirror](https://github.com/codemirror/CodeMirror) - editor di codice con supporto per un'enorme quantità di linguaggi.
* [jsPlumb](https://github.com/jsplumb/jsplumb) - libreria per la connettività visuale senza pari. Utilizzata per [mappe relazionali](https://github.com/zadam/trilium/wiki/Relation-map) e [mappe di collegamenti](https://github.com/zadam/trilium/wiki/Link-map).
* [jsPlumb](https://github.com/jsplumb/jsplumb) - libreria per la connettività visuale senza pari. Utilizzata per [mappe relazionali](https://triliumnext.github.io/Docs/Wiki/relation-map) e [mappe di collegamenti](https://triliumnext.github.io/Docs/Wiki/link-map).
## 🤝 Supporto
È possibile supportare Trilium attraverso Github Sponsors, [PayPal](https://paypal.me/za4am) o Bitcoin (bitcoin:bc1qv3svjn40v89mnkre5vyvs2xw6y8phaltl385d2).
Puoi sostenere lo sviluppatore originale di Trilium utilizzando gli sponsor di GitHub, [PayPal](https://paypal.me/za4am) o Bitcoin (bitcoin:bc1qv3svjn40v89mnkre5vyvs2xw6y8phaltl385d2).
Il supporto all'organizzazione TriliumNext sarà possibile nel prossimo futuro.
## 🔑 Licenza
+28 -38
View File
@@ -1,48 +1,41 @@
# Trilium Notes
# TriliumNext Notes
[English](https://github.com/zadam/trilium/blob/master/README.md) | [Chinese](https://github.com/zadam/trilium/blob/master/README-ZH_CN.md) | [Russian](https://github.com/zadam/trilium/blob/master/README.ru.md) | [Japanese](https://github.com/zadam/trilium/blob/master/README.ja.md) | [Italian](https://github.com/zadam/trilium/blob/master/README.it.md)
[English](./README.md) | [Chinese](./README-ZH_CN.md) | [Russian](./README.ru.md) | [Japanese](./README.ja.md) | [Italian](./README.it.md) | [Spanish](./README.es.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,18 +44,15 @@ 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)
または、ローカルにクローンして実行
```
```shell
npm install
npm run start-server
```
@@ -72,7 +62,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)で使用。
## 🤝 サポート
+59 -41
View File
@@ -1,88 +1,106 @@
# 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)
![Docker Pulls](https://img.shields.io/docker/pulls/triliumnext/notes) ![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/triliumnext/notes/total)
TriliumNext Notes is a hierarchical note taking application with focus on building large personal knowledge bases.
[English](./README.md) | [Chinese](./README-ZH_CN.md) | [Russian](./README.ru.md) | [Japanese](./README.ja.md) | [Italian](./README.it.md) | [Spanish](./README.es.md)
See [screenshots](https://triliumnext.github.io/Docs/Wiki/Screenshot%20tour) for quick overview:
TriliumNext Notes is an open-source, cross-platform hierarchical note taking application with focus on building large personal knowledge bases.
<a href="https://triliumnext.github.io/Docs/Wiki/Screenshot%20tour"><img src="https://github.com/TriliumNext/Docs/blob/main/Wiki/images/screenshot.png?raw=true" alt="Trilium Screenshot" width="1000"></a>
See [screenshots](https://triliumnext.github.io/Docs/Wiki/screenshot-tour) for quick overview:
<a href="https://triliumnext.github.io/Docs/Wiki/screenshot-tour"><img src="https://github.com/TriliumNext/Docs/blob/main/Wiki/images/screenshot.png?raw=true" alt="Trilium Screenshot" width="1000"></a>
## ⚠️ Why TriliumNext?
[The original Trilium project is in maintenance mode](https://github.com/zadam/trilium/issues/4620)
## 🗭 Discuss with us
### Migrating from Trilium?
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!
There are no special migration steps to migrate from a zadam/Trilium instance to a TriliumNext/Notes instance. Just upgrade your Trilium instance to the latest version and [install TriliumNext/Notes as usual](#-installation)
## 💬 Discuss with us
Feel free to join our official conversations. We would love to hear what features, suggestions, or issues you may have!
- [Matrix](https://matrix.to/#/#triliumnext:matrix.org) (For synchronous discussions)
- The `General` Matrix room is also bridged to [XMPP](xmpp:discuss@trilium.thisgreat.party?join)
- [Github Discussions](https://github.com/TriliumNext/Notes/discussions) (For Asynchronous discussions)
- [Wiki](https://github.com/zadam/trilium/wiki) (For common how-to questions and user guides)
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)
- [Wiki](https://triliumnext.github.io/Docs/) (For common how-to questions and user guides)
## 🎁 Features
* Notes can be arranged into arbitrarily deep tree. Single note can be placed into multiple places in the tree (see [cloning](https://triliumnext.github.io/Docs/Wiki/Cloning-notes))
* Rich WYSIWYG note editing including e.g. tables, images and [math](https://triliumnext.github.io/Docs/Wiki/Text-notes) with markdown [autoformat](https://triliumnext.github.io/Docs/Wiki/Text-notes#autoformat)
* Support for editing [notes with source code](https://triliumnext.github.io/Docs/Wiki/Code-notes), including syntax highlighting
* Fast and easy [navigation between notes](https://triliumnext.github.io/Docs/Wiki/Note-navigation), full text search and [note hoisting](https://triliumnext.github.io/Docs/Wiki/Note-hoisting)
* Seamless [note versioning](https://triliumnext.github.io/Docs/Wiki/Note-revisions)
* Note [attributes](https://triliumnext.github.io/Docs/Wiki/Attributes) can be used for note organization, querying and advanced [scripting](https://triliumnext.github.io/Docs/Wiki/Scripts)
* [Synchronization](https://triliumnext.github.io/Docs/Wiki/Synchronization) with self-hosted sync server
* Notes can be arranged into arbitrarily deep tree. Single note can be placed into multiple places in the tree (see [cloning](https://triliumnext.github.io/Docs/Wiki/cloning-notes))
* Rich WYSIWYG note editing including e.g. tables, images and [math](https://triliumnext.github.io/Docs/Wiki/text-notes) with markdown [autoformat](https://triliumnext.github.io/Docs/Wiki/text-notes#autoformat)
* Support for editing [notes with source code](https://triliumnext.github.io/Docs/Wiki/code-notes), including syntax highlighting
* Fast and easy [navigation between notes](https://triliumnext.github.io/Docs/Wiki/note-navigation), full text search and [note hoisting](https://triliumnext.github.io/Docs/Wiki/note-hoisting)
* Seamless [note versioning](https://triliumnext.github.io/Docs/Wiki/note-revisions)
* Note [attributes](https://triliumnext.github.io/Docs/Wiki/attributes) can be used for note organization, querying and advanced [scripting](https://triliumnext.github.io/Docs/Wiki/scripts)
* [Synchronization](https://triliumnext.github.io/Docs/Wiki/synchronization) with self-hosted sync server
* there's a [3rd party service for hosting synchronisation server](https://trilium.cc/paid-hosting)
* [Sharing](https://triliumnext.github.io/Docs/Wiki/Sharing) (publishing) notes to public internet
* Strong [note encryption](https://triliumnext.github.io/Docs/Wiki/Protected-notes) with per-note granularity
* [Sharing](https://triliumnext.github.io/Docs/Wiki/sharing) (publishing) notes to public internet
* Strong [note encryption](https://triliumnext.github.io/Docs/Wiki/protected-notes) with per-note granularity
* Sketching diagrams with built-in Excalidraw (note type "canvas")
* [Relation maps](https://triliumnext.github.io/Docs/Wiki/Relation-map) and [link maps](https://triliumnext.github.io/Docs/Wiki/Link-map) for visualizing notes and their relations
* [Scripting](https://triliumnext.github.io/Docs/Wiki/Scripts) - see [Advanced showcases](https://triliumnext.github.io/Docs/Wiki/Advanced-showcases)
* [REST API](https://triliumnext.github.io/Docs/Wiki/ETAPI) for automation
* [Relation maps](https://triliumnext.github.io/Docs/Wiki/relation-map) and [link maps](https://triliumnext.github.io/Docs/Wiki/link-map) for visualizing notes and their relations
* [Scripting](https://triliumnext.github.io/Docs/Wiki/scripts) - see [Advanced showcases](https://triliumnext.github.io/Docs/Wiki/advanced-showcases)
* [REST API](https://triliumnext.github.io/Docs/Wiki/etapi) for automation
* Scales well in both usability and performance upwards of 100 000 notes
* Touch optimized [mobile frontend](https://triliumnext.github.io/Docs/Wiki/Mobile-frontend) for smartphones and tablets
* [Night theme](https://triliumnext.github.io/Docs/Wiki/Themes)
* [Evernote](https://triliumnext.github.io/Docs/Wiki/Evernote-import) and [Markdown import & export](https://triliumnext.github.io/Docs/Wiki/Markdown)
* [Web Clipper](https://triliumnext.github.io/Docs/Wiki/Web-clipper) for easy saving of web content
* Touch optimized [mobile frontend](https://triliumnext.github.io/Docs/Wiki/mobile-frontend) for smartphones and tablets
* [Night theme](https://triliumnext.github.io/Docs/Wiki/themes)
* [Evernote](https://triliumnext.github.io/Docs/Wiki/evernote-import) and [Markdown import & export](https://triliumnext.github.io/Docs/Wiki/markdown)
* [Web Clipper](https://triliumnext.github.io/Docs/Wiki/web-clipper) for easy saving of web content
✨ Check out the following third-party resources for more TriliumNext related goodies:
✨ Check out the following third-party resources/communities 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
## 🏗 Installation
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).
### Desktop
* 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.
To use TriliumNext on your desktop machine (Linux, MacOS, and Windows) you have a few options:
TriliumNext will also provided as a Flatpak:
* Download the binary release for your platform from the [latest release page](https://github.com/TriliumNext/Notes/releases/latest), unzip the package and run the ```trilium``` executable.
* Access TriliumNext via the web interface of a server installation (see below)
* Currently only the latest versions of Chrome & Firefox are supported (and tested).
* (Coming Soon) TriliumNext will also be provided as a Flatpak
<img width="240" src="https://flathub.org/assets/badges/flathub-badge-en.png">
### Mobile
To use TriliumNext on a mobile device:
* Use a mobile web browser to access the mobile interface of a server installation (see below)
* Use of a mobile app is not yet supported ([see here](https://github.com/TriliumNext/Notes/issues/72)) to track mobile improvements.
### Server
To install TriliumNext on your own server (including via Docker from [Dockerhub](https://hub.docker.com/r/triliumnext/notes)) follow [the server installation docs](https://triliumnext.github.io/Docs/Wiki/server-installation).
## 📝 Documentation
[See wiki for complete list of documentation pages.](https://triliumnext.github.io/Docs)
You can also read [Patterns of personal knowledge base](https://triliumnext.github.io/Docs/Wiki/Patterns-of-personal-knowledge-base) to get some inspiration on how you might use Trilium.
You can also read [Patterns of personal knowledge base](https://triliumnext.github.io/Docs/Wiki/patterns-of-personal-knowledge) to get some inspiration on how you might use TriliumNext.
## 💻 Contribute
Clone locally and run
```
### Code
```shell
git clone https://github.com/TriliumNext/Notes.git
cd Notes
npm install
npm run start-server
```
### Documentation
Head on over to our [Docs repo](https://github.com/TriliumNext/Docs)
## 👏 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.
* [FancyTree](https://github.com/mar10/fancytree) - very feature rich tree library without real competition. TriliumNext 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://triliumnext.github.io/Docs/Wiki/Relation-map) and [link maps](https://triliumnext.github.io/Docs/Wiki/Link-map)
+32 -41
View File
@@ -1,68 +1,59 @@
# Trilium Notes
# TriliumNext Notes
[English](https://github.com/zadam/trilium/blob/master/README.md) | [Chinese](https://github.com/zadam/trilium/blob/master/README-ZH_CN.md) | [Russian](https://github.com/zadam/trilium/blob/master/README.ru.md) | [Japanese](https://github.com/zadam/trilium/blob/master/README.ja.md) | [Italian](https://github.com/zadam/trilium/blob/master/README.it.md)
[English](./README.md) | [Chinese](./README-ZH_CN.md) | [Russian](./README.ru.md) | [Japanese](./README.ja.md) | [Italian](./README.it.md) | [Spanish](./README.es.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)
## 💻 Участвуйте в разработке
Или склонируйте на своё устройство и запустите
```
```shell
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 Лицензии, либо (по вашему выбору) любой более поздней версии.
+1 -1
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)
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
-17
View File
@@ -1,17 +0,0 @@
#!/usr/bin/env bash
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
+4 -2
View File
@@ -1,5 +1,7 @@
#!/usr/bin/env bash
set -e # Fail on any command error
VERSION=`jq -r ".version" package.json`
SERIES=${VERSION:0:4}-latest
@@ -8,8 +10,8 @@ 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 .
sudo docker build -t triliumnext/notes:$VERSION --network host -t triliumnext/notes:$SERIES .
if [[ $VERSION != *"beta"* ]]; then
sudo docker tag zadam/trilium:$VERSION zadam/trilium:latest
sudo docker tag triliumnext/notes:$VERSION triliumnext/notes:latest
fi
-58
View File
@@ -1,58 +0,0 @@
#!/usr/bin/env bash
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
[ "$1" != "DONTCOPY" ] && ./bin/copy-trilium.sh "$SRC_DIR"
rm -r "$SRC_DIR"/src/public/app-dist/*.mobile.*
echo "Copying required linux-x64 binaries"
cp -r bin/better-sqlite3/linux-desktop-better_sqlite3.node "$SRC_DIR"/node_modules/better-sqlite3/build/Release/better_sqlite3.node
echo "Packaging linux x64 electron build"
./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"
mv "./dist/Trilium Notes-linux-x64" "$BUILD_DIR"
cp images/app-icons/png/128x128.png "$BUILD_DIR"/icon.png
cp bin/tpl/anonymize-database.sql "$BUILD_DIR"/
cp -r dump-db "$BUILD_DIR"/
rm -rf "$BUILD_DIR"/dump-db/node_modules
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`
pushd dist
tar cJf "trilium-linux-x64-${VERSION}.tar.xz" trilium-linux-x64
popd
bin/build-debian.sh
-38
View File
@@ -1,38 +0,0 @@
#!/usr/bin/env bash
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
rm -r $SRC_DIR/src/public/app-dist/*.mobile.*
echo "Packaging mac arm64 electron build"
./node_modules/.bin/electron-packager $SRC_DIR --asar --out=dist --executable-name=trilium --platform=darwin --arch=arm64 --overwrite --icon=images/app-icons/mac/icon.icns
BUILD_DIR=./dist/trilium-mac-arm64
rm -rf $BUILD_DIR
# Mac build has by default useless directory level
mv "./dist/Trilium Notes-darwin-arm64" $BUILD_DIR
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
rm trilium-mac-arm64-${VERSION}.zip
zip -r9 --symlinks trilium-mac-arm64-${VERSION}.zip trilium-mac-arm64
-38
View File
@@ -1,38 +0,0 @@
#!/usr/bin/env bash
SRC_DIR=./dist/trilium-mac-x64-src
if [ "$1" != "DONTCOPY" ]
then
./bin/copy-trilium.sh $SRC_DIR
fi
echo "Copying required mac x64 binaries"
cp -r bin/better-sqlite3/mac-x64-better_sqlite3.node $SRC_DIR/node_modules/better-sqlite3/build/Release/better_sqlite3.node
rm -r $SRC_DIR/src/public/app-dist/*.mobile.*
echo "Packaging mac x64 electron build"
./node_modules/.bin/electron-packager $SRC_DIR --asar --out=dist --executable-name=trilium --platform=darwin --arch=x64 --overwrite --icon=images/app-icons/mac/icon.icns
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
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 x64 electron distribution..."
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
+6 -6
View File
@@ -1,7 +1,9 @@
#!/usr/bin/env bash
set -e # Fail on any command error
PKG_DIR=dist/trilium-linux-x64-server
NODE_VERSION=18.18.2
NODE_VERSION=20.15.1
if [ "$1" != "DONTCOPY" ]
then
@@ -20,16 +22,14 @@ 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
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
printf "#!/bin/sh\n./node/bin/node src/www" > $PKG_DIR/trilium.sh
printf "#!/bin/sh\n./node/bin/node src/main" > $PKG_DIR/trilium.sh
chmod 755 $PKG_DIR/trilium.sh
cp bin/tpl/anonymize-database.sql $PKG_DIR/
cp -r translations $PKG_DIR/
cp -r dump-db $PKG_DIR/
rm -rf $PKG_DIR/dump-db/node_modules
-42
View File
@@ -1,42 +0,0 @@
#!/usr/bin/env bash
if ! command -v wine &> /dev/null; then
echo "Missing command: wine"
exit 1
fi
SRC_DIR=./dist/trilium-windows-x64-src
if [ "$1" != "DONTCOPY" ]
then
./bin/copy-trilium.sh $SRC_DIR
fi
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
BUILD_DIR=./dist/trilium-windows-x64
rm -rf $BUILD_DIR
mv "./dist/Trilium Notes-win32-x64" $BUILD_DIR
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,no-cert-check,safe-mode}.bat $BUILD_DIR/
echo "Zipping windows x64 electron distribution..."
VERSION=`jq -r ".version" package.json`
cd dist
zip -r9 trilium-windows-x64-${VERSION}.zip trilium-windows-x64
+2 -1
View File
@@ -1,5 +1,7 @@
#!/usr/bin/env bash
set -e # Fail on any command error
if ! command -v jq &> /dev/null; then
echo "Missing command: jq"
exit 1
@@ -40,7 +42,6 @@ cp -r $SRC_DIR ./dist/trilium-windows-x64-src
cp -r $SRC_DIR ./dist/trilium-mac-x64-src
cp -r $SRC_DIR ./dist/trilium-mac-arm64-src
set -e
bin/build-win-x64.sh DONTCOPY
bin/build-mac-x64.sh DONTCOPY
+42 -6
View File
@@ -5,11 +5,19 @@ const DEST_DIR = "./dist";
const DEST_DIR_SRC = path.join(DEST_DIR, "src");
const DEST_DIR_NODE_MODULES = path.join(DEST_DIR, "node_modules");
const VERBOSE = process.env.VERBOSE;
function log(...args) {
if (VERBOSE) {
console.log(args);
}
}
async function copyNodeModuleFileOrFolder(source: string) {
const adjustedSource = source.substring(13);
const destination = path.join(DEST_DIR_NODE_MODULES, adjustedSource);
console.log(`Copying ${source} to ${destination}`);
log(`Copying ${source} to ${destination}`);
await fs.ensureDir(path.dirname(destination));
await fs.copy(source, destination);
}
@@ -17,28 +25,37 @@ async function copyNodeModuleFileOrFolder(source: string) {
const copy = async () => {
for (const srcFile of fs.readdirSync("build")) {
const destFile = path.join(DEST_DIR, path.basename(srcFile));
console.log(`Copying source ${srcFile} -> ${destFile}.`);
log(`Copying source ${srcFile} -> ${destFile}.`);
fs.copySync(path.join("build", srcFile), destFile, { recursive: true });
}
const filesToCopy = ["config-sample.ini"];
for (const file of filesToCopy) {
console.log(`Copying ${file}`);
log(`Copying ${file}`);
await fs.copy(file, path.join(DEST_DIR, file));
}
const dirsToCopy = ["images", "libraries", "db"];
const dirsToCopy = ["images", "libraries", "translations", "db"];
for (const dir of dirsToCopy) {
console.log(`Copying ${dir}`);
log(`Copying ${dir}`);
await fs.copy(dir, path.join(DEST_DIR, dir));
}
const srcDirsToCopy = ["./src/public", "./src/views", "./build"];
for (const dir of srcDirsToCopy) {
console.log(`Copying ${dir}`);
log(`Copying ${dir}`);
await fs.copy(dir, path.join(DEST_DIR_SRC, path.basename(dir)));
}
/**
* Directories to be copied relative to the project root into <resource_dir>/src/public/app-dist.
*/
const publicDirsToCopy = [ "./src/public/app/doc_notes" ];
const PUBLIC_DIR = path.join(DEST_DIR, "src", "public", "app-dist");
for (const dir of publicDirsToCopy) {
await fs.copy(dir, path.join(PUBLIC_DIR, path.basename(dir)));
}
const nodeModulesFile = [
"node_modules/react/umd/react.production.min.js",
"node_modules/react/umd/react.development.js",
@@ -47,6 +64,7 @@ const copy = async () => {
"node_modules/katex/dist/katex.min.js",
"node_modules/katex/dist/contrib/mhchem.min.js",
"node_modules/katex/dist/contrib/auto-render.min.js",
"node_modules/@highlightjs/cdn-assets/highlight.min.js"
];
for (const file of nodeModulesFile) {
@@ -66,6 +84,24 @@ const copy = async () => {
"node_modules/print-this/",
"node_modules/split.js/dist/",
"node_modules/panzoom/dist/",
"node_modules/i18next/",
"node_modules/i18next-http-backend/",
"node_modules/eslint/bin/",
"node_modules/jsplumb/dist/",
"node_modules/vanilla-js-wheel-zoom/dist/",
"node_modules/mark.js/dist/",
"node_modules/knockout/build/output/",
"node_modules/normalize.css/",
"node_modules/jquery.fancytree/dist/",
"node_modules/bootstrap/dist/",
"node_modules/autocomplete.js/dist/",
"node_modules/codemirror/lib/",
"node_modules/codemirror/addon/",
"node_modules/codemirror/mode/",
"node_modules/codemirror/keymap/",
"node_modules/mind-elixir/dist/",
"node_modules/@highlightjs/cdn-assets/languages",
"node_modules/@highlightjs/cdn-assets/styles"
];
for (const folder of nodeModulesFolder) {
+19 -9
View File
@@ -1,5 +1,6 @@
#!/usr/bin/env bash
set -e # Fail on any command error
shopt -s globstar
if [[ $# -eq 0 ]] ; then
@@ -35,26 +36,35 @@ for f in 'package.json' 'package-lock.json' 'README.md' 'LICENSE' 'config-sample
cp "$f" "$DIR"/
done
# Patch package.json main
sed -i 's/.\/dist\/electron-main.js/electron-main.js/g' "$DIR/package.json"
script_dir=$(realpath $(dirname $0))
cp -Rv "$script_dir/../build/src" "$DIR"
cp "$script_dir/../build/electron.js" "$DIR"
cp -R "$script_dir/../build/src" "$DIR"
cp "$script_dir/../build/electron-main.js" "$DIR"
# run in subshell (so we return to original dir)
(cd $DIR && npm install --only=prod)
(cd $DIR && npm install --omit=dev)
if [[ -d "$DIR"/node_modules ]]; then
# cleanup of useless files in dependencies
for d in 'image-q/demo' 'better-sqlite3/Release' 'better-sqlite3/deps/sqlite3.tar.gz' '@jimp/plugin-print/fonts' 'jimp/browser' 'jimp/fonts'; do
[[ -e "$DIR"/node_modules/"$d" ]] && rm -rv "$DIR"/node_modules/"$d"
# cleanup of useless files in dependencies
for d in 'image-q/demo' \
'@excalidraw/excalidraw/dist/excalidraw-assets-dev' '@excalidraw/excalidraw/dist/excalidraw.development.js' '@excalidraw/excalidraw/dist/excalidraw-with-preact.development.js' \
'mermaid/dist/mermaid.js' \
'boxicons/svg' 'boxicons/node_modules/react'/* \
'@jimp/plugin-print/fonts' 'jimp/browser' 'jimp/fonts'; do
[[ -e "$DIR"/node_modules/"$d" ]] && rm -r "$DIR"/node_modules/"$d"
done
# delete all tests (there are often large images as test file for jimp etc.)
for d in 'test' 'docs' 'demo'; do
find "$DIR"/node_modules -name "$d" -exec rm -rf {} \;
# delete all tests (there are often large images as test file for jimp etc.)
for d in 'test' 'docs' 'demo' 'example'; do
find "$DIR"/node_modules -name "$d" -exec rm -rf {} +
done
fi
find $DIR/libraries -name "*.map" -type f -delete
find $DIR/node_modules -name "*.map" -type f -delete
find $DIR -name "*.ts" -type f -delete
d="$DIR"/src/public
[[ -d "$d"/app-dist ]] || mkdir -pv "$d"/app-dist
@@ -1,7 +1,7 @@
#!/usr/bin/env node
const anonymizationService = require('../src/services/anonymization');
const fs = require('fs');
const path = require('path');
import anonymizationService from '../src/services/anonymization.js';
import fs from 'fs';
import path from 'path';
fs.writeFileSync(path.resolve(__dirname, 'tpl', 'anonymize-database.sql'), anonymizationService.getFullAnonymizationScript());
+45
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 "./icon.ico"
# Build Squirrel splash image
magick "./png/256x256.png" -background "#ffffff" -gravity center -extent 640x480 "./win/setup-banner.gif"
-15
View File
@@ -1,15 +0,0 @@
{
"src": "dist/trilium-linux-x64",
"dest": "dist/",
"compression": "xz",
"name": "trilium",
"productName": "Trilium Notes",
"genericName": "Note taker",
"description": "Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge bases.",
"sections": "misc",
"maintainer": "zadam.apps@gmail.com",
"homepage": "https://github.com/zadam/trilium",
"bin": "trilium",
"icon": "dist/trilium-linux-x64/icon.png",
"categories": [ "Office" ]
}
+3
View File
@@ -0,0 +1,3 @@
SHARE_PROTOCOL=http
SHARE_HOST=notes.johnsmith.me
ROOT_NOTE_ID=4yYHqKbLovVX
+2
View File
@@ -0,0 +1,2 @@
output
.env
+23
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);
@@ -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;
}
}
@@ -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;
}
}
+10
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
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
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"
+12
View File
@@ -0,0 +1,12 @@
[Desktop Entry]
<% if (productName) { %>Name=<%= productName %>
<% } %><% if (description) { %>Comment=<%= description %>
<% } %><% if (genericName) { %>GenericName=<%= genericName %>
<% } %><% if (name) { %>Exec=<%= name %> %U
Icon=<%= name %>
<% } %>Type=Application
StartupNotify=true
<% if (productName) { %>StartupWMClass=<%= productName %>
<% } if (categories && categories.length) { %>Categories=<%= categories.join(';') %>;
<% } %><% if (mimeType && mimeType.length) { %>MimeType=<%= mimeType.join(';') %>;
<% } %>
+1 -31
View File
@@ -32,7 +32,7 @@ mv package.json.tmp package.json
git add package.json
echo 'export = { buildDate:"'`date --iso-8601=seconds`'", buildRevision: "'`git log -1 --format="%H"`'" };' > src/services/build.ts
npm run update-build-info
git add src/services/build.ts
@@ -47,33 +47,3 @@ echo "Tagging commit with $TAG"
git tag $TAG
git push origin $TAG
bin/build.sh
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"
EXTRA=
if [[ $TAG == *"beta"* ]]; then
EXTRA=--prerelease
fi
echo "$GITHUB_CLI_AUTH_TOKEN" | gh auth login --with-token
gh release create "$TAG" \
--title "$TAG release" \
--notes "" \
$EXTRA \
"dist/$DEBIAN_X64_BUILD" \
"dist/$LINUX_X64_BUILD" \
"dist/$WINDOWS_X64_BUILD" \
"dist/$MAC_X64_BUILD" \
"dist/$MAC_ARM64_BUILD" \
"dist/$SERVER_BUILD"
+98
View File
@@ -0,0 +1,98 @@
#!/usr/bin/env bash
# --------------------------------------------------------------------------------------------------
#
# Create PO files to make easier the labor of translation.
#
# Info:
# https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html
# https://docs.translatehouse.org/projects/translate-toolkit/en/latest/commands/json2po.html
#
# Dependencies:
# jq
# translate-toolkit
# python-wcwidth
#
# Created by @hasecilu
#
# --------------------------------------------------------------------------------------------------
stats() {
# Print the number of existing strings on the JSON files for each locale
s=$(jq 'path(..) | select(length == 2) | .[1]' "${paths[0]}/en/server.json" | wc -l)
c=$(jq 'path(..) | select(length == 2) | .[1]' "${paths[1]}/en/translation.json" | wc -l)
echo "|locale |server strings |client strings |"
echo "|-------|---------------|---------------|"
echo "| en | ${s} | ${c} |"
for locale in "${locales[@]}"; do
s=$(jq 'path(..) | select(length == 2) | .[1]' "${paths[0]}/${locale}/server.json" | wc -l)
c=$(jq 'path(..) | select(length == 2) | .[1]' "${paths[1]}/${locale}/translation.json" | wc -l)
echo "| ${locale} | ${s} | ${c} |"
done
}
help() {
echo -e "\nDescription:"
echo -e "\tCreate PO files to make easier the labor of translation"
echo -e "\nUsage:"
echo -e "\t./translation.sh [--stats] [--update <OPT_LOCALE>] [--update2 <OPT_LOCALE>]"
echo -e "\nFlags:"
echo -e " --clear\n\tClear all po-* directories"
echo -e " --stats\n\tPrint the number of existing strings on the JSON files for each locale"
echo -e " --update <LOCALE>\n\tUpdate PO files from English and localized JSON files as source"
echo -e " --update2 <LOCALE>\n\tRecover translation from PO files to localized JSON files"
}
# Main function ------------------------------------------------------------------------------------
# Get script directory to set file path relative to it
file_path="$(
cd -- "$(dirname "${0}")" >/dev/null 2>&1 || exit
pwd -P
)"
paths=("${file_path}/../translations/" "${file_path}/../src/public/translations/")
locales=(cn es fr ro)
if [ $# -eq 1 ]; then
if [ "$1" == "--clear" ]; then
for path in "${paths[@]}"; do
for locale in "${locales[@]}"; do
[ -d "${path}/po-${locale}" ] && rm -r "${path}/po-${locale}"
done
done
elif [ "$1" == "--stats" ]; then
stats
elif [ "$1" == "--update" ]; then
# Update PO files from English and localized JSON files as source
for path in "${paths[@]}"; do
for locale in "${locales[@]}"; do
json2po -t "${path}/en" "${path}/${locale}" "${path}/po-${locale}"
done
done
elif [ "$1" == "--update2" ]; then
# Recover translation from PO files to localized JSON files
for path in "${paths[@]}"; do
for locale in "${locales[@]}"; do
po2json -t "${path}/en" "${path}/po-${locale}" "${path}/${locale}"
done
done
else
help
fi
elif [ $# -eq 2 ]; then
if [ "$1" == "--update" ]; then
locale="$2"
for path in "${paths[@]}"; do
json2po -t "${path}/en" "${path}/${locale}" "${path}/po-${locale}"
done
elif [ "$1" == "--update2" ]; then
locale="$2"
for path in "${paths[@]}"; do
po2json -t "${path}/en" "${path}/po-${locale}" "${path}/${locale}"
done
else
help
fi
else
help
fi
+25
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);
+50
View File
@@ -0,0 +1,50 @@
/**
* @module
*
* The nightly version works uses the version described in `package.json`, just like any release.
* The problem with this approach is that production builds have a very aggressive cache, and
* usually running the nightly with this cached version of the application will mean that the
* user might run into module not found errors or styling errors caused by an old cache.
*
* This script is supposed to be run in the CI, which will update locally the version field of
* `package.json` to contain the date. For example, `0.90.9-beta` will become `0.90.9-test-YYMMDD-HHMMSS`.
*
*/
import { fileURLToPath } from "url";
import { dirname, join } from "path";
import fs from "fs";
function processVersion(version) {
// Remove the beta suffix if any.
version = version.replace("-beta", "");
// Add the nightly suffix, plus the date.
const referenceDate = new Date()
.toISOString()
.substring(2, 19)
.replace(/[-:]*/g, "")
.replace("T", "-");
version = `${version}-test-${referenceDate}`;
return version;
}
function main() {
const scriptDir = dirname(fileURLToPath(import.meta.url));
const packageJsonPath = join(scriptDir, "..", "package.json");
// Read the version from package.json and process it.
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
const currentVersion = packageJson.version;
const adjustedVersion = processVersion(currentVersion);
console.log("Current version is", currentVersion);
console.log("Adjusted version is", adjustedVersion);
// Write the adjusted version back in.
packageJson.version = adjustedVersion;
const formattedJson = JSON.stringify(packageJson, null, 4);
fs.writeFileSync(packageJsonPath, formattedJson);
}
main();
BIN
View File
Binary file not shown.
+12 -7
View File
@@ -1,16 +1,21 @@
# Running `docker-compose up` will create/use the "trilium-data" directory in the user home
# Run `TRILIUM_DATA_DIR=/path/of/your/choice docker-compose up` to set a different directory
version: '2.1'
# To run in the background, use `docker-compose up -d`
services:
trilium:
image: zadam/trilium
restart: always
# Optionally, replace `latest` with a version tag like `v0.90.3`
# Using `latest` may cause unintended updates to the container
image: triliumnext/notes:latest
# Restart the container unless it was stopped by the user
restart: unless-stopped
environment:
- TRILIUM_DATA_DIR=/home/node/trilium-data
ports:
- "8080:8080"
# By default, Trilium will be available at http://localhost:8080
# It will also be accessible at http://<host-ip>:8080
# You might want to limit this with something like Docker Networks, reverse proxies, or firewall rules, such as UFW
- '8080:8080'
volumes:
# Unless TRILIUM_DATA_DIR is set, the data will be stored in the "trilium-data" directory in the home directory.
# This can also be changed with by replacing the line below with `- /path/of/your/choice:/home/node/trilium-data
- ${TRILIUM_DATA_DIR:-~/trilium-data}:/home/node/trilium-data
volumes:
trilium:
@@ -1,7 +1,7 @@
const http = require("http");
const ini = require("ini");
const fs = require("fs");
const dataDir = require('./src/services/data_dir');
import http from "http";
import ini from "ini";
import fs from "fs";
import dataDir from './src/services/data_dir.js';
const config = ini.parse(fs.readFileSync(dataDir.CONFIG_INI_PATH, 'utf-8'));
if (config.Network.https) {
@@ -10,12 +10,12 @@ if (config.Network.https) {
process.exit(0);
}
const port = require('./src/services/port');
const host = require('./src/services/host');
import port from './src/services/port.js';
import host from './src/services/host.js';
const options = { timeout: 2000 };
const options: http.RequestOptions = { timeout: 2000 };
const callback = res => {
const callback: (res: http.IncomingMessage) => void = res => {
console.log(`STATUS: ${res.statusCode}`);
if (res.statusCode === 200) {
process.exit(0);
+831
View File
@@ -0,0 +1,831 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Branch prefixes</title>
</head>
<body data-note-id="1l1f6WZbaBEZ" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="B8hxg4e66cVL.html"
class="type-text">Development and architecture</a>
</nav>
<h1 id="title">Branch prefixes</h1>
<p>This note has no content.</p>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<strong>Branch prefixes</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+866
View File
@@ -0,0 +1,866 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Widgets</title>
</head>
<body data-note-id="1pOWnHdGAuWR" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="3eTu21fjtZkj.html"
class="type-text">Scripting</a>
</nav>
<h1 id="title">Widgets</h1>
<div id="content" class="type-text ck-content">
<p>To create a basic widget, simply create a code note with type “JS frontend”. Add the <code>#widget</code> label in order for it to be loaded at startup.</p><pre><code class="language-text-plain">const template = `&lt;div id="my-widget"&gt;&lt;button&gt;Click Me!&lt;/button&gt;&lt;/div&gt;`;
class MyWidget extends api.BasicWidget {
get position() { return 1; }
get parentWidget() { return "left-pane" }
doRender() {
this.$widget = $(template);
return this.$widget;
}
}
module.exports = new MyWidget();</code></pre><p><code>parentWidget()</code> can be given the following values:</p><ul><li><code>left-pane</code> - This renders the widget on the left side of the screen where the note tree lives.</li><li><code>center-pane</code> - This renders the widget in the center of the layout in the same location that notes and splits appear.</li><li><code>note-detail-pane</code> - This renders the widget <i>with</i> the note in the center pane. This means it can appear multiple times with splits.</li><li><code>right-pane</code> - This renders the widget to the right of any opened notes.</li></ul><hr><p>Reference:</p><ul><li><a href="https://trilium.rocks/X7pxYpiu0lgU">https://trilium.rocks/X7pxYpiu0lgU</a>&nbsp;</li><li><a href="https://github.com/zadam/trilium/wiki/Widget-Basics">https://github.com/zadam/trilium/wiki/Widget-Basics</a>&nbsp;</li><li><a href="https://github.com/zadam/trilium/wiki/Frontend-Basics">https://github.com/zadam/trilium/wiki/Frontend-Basics</a>&nbsp;</li></ul>
</div>
<nav id="childLinks" class="list">
<hr>
<span>Child notes: </span>
<ul>
<li>
<a href="8jWguCtuKsAt.html"
class="type-text">Right pane widget</a>
</li>
<li>
<a href="4FXLAtcPhZFo.html"
class="type-text">CSS</a>
</li>
</ul>
</nav>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<strong>Widgets</strong>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+842
View File
@@ -0,0 +1,842 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Scripting</title>
</head>
<body data-note-id="3eTu21fjtZkj" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="4yYHqKbLovVX.html"
class="type-text">Developer&#39;s Guide</a>
</nav>
<h1 id="title">Scripting</h1>
<nav id="childLinks" class="grid">
<ul>
<li>
<a href="1pOWnHdGAuWR.html"
class="type-text">Widgets</a>
</li>
</ul>
</nav>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<strong>Scripting</strong>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+833
View File
@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Themes</title>
</head>
<body data-note-id="3jc1nUXyteo0" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="B8hxg4e66cVL.html"
class="type-text">Development and architecture</a>
</nav>
<h1 id="title">Themes</h1>
<div id="content" class="type-text ck-content">
<h2>Server-side</h2><ul><li>There are two themes embedded in the application:<ul><li><code>light</code>, located in <code>src\public\stylesheets\theme-light.css</code></li><li><code>dark</code>, located in <code>src\public\stylesheets\theme-dark.css</code></li></ul></li><li>The default theme is set only once, when the database is created and is managed by <code>options_init#initNotSyncedOptions</code>.<ul><li>On Electron, the choice between <code>light</code> and <code>dark</code> is done based on the OS preference.</li><li>Otherwise, the theme is always <code>dark</code>.</li></ul></li><li>The theme is served via <code>src\routes\index.ts</code>, in the <code>getThemeCssUrl</code> method.</li></ul><h2>Client-side</h2><ul><li>The two predefined themes are hard-coded in the client in <code>src\public\app\widgets\type_widgets\options\appearance\theme.js</code>.</li><li>The user-defined themes are obtained via a call to the server: <code>options/user-themes</code>.</li><li>The theme retrieval is done via a request</li></ul>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<strong>Themes</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+838
View File
@@ -0,0 +1,838 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>CSS</title>
</head>
<body data-note-id="4FXLAtcPhZFo" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="1pOWnHdGAuWR.html"
class="type-text">Widgets</a>
</nav>
<h1 id="title">CSS</h1>
<div id="content" class="type-text ck-content">
<p>In <code>doRender()</code>:</p><pre><code class="language-text-plain">this.cssBlock(`#my-widget {
position: absolute;
bottom: 40px;
left: 60px;
z-index: 1;
}`)</code></pre><hr><p>Reference: <a href="https://trilium.rocks/X7pxYpiu0lgU">https://trilium.rocks/X7pxYpiu0lgU</a>&nbsp;</p>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<strong>CSS</strong>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+857
View File
@@ -0,0 +1,857 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Developer&#39;s Guide</title>
</head>
<body data-note-id="4yYHqKbLovVX" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<h1 id="title">Developer&#39;s Guide</h1>
<nav id="childLinks" class="grid">
<ul>
<li>
<a href="VS22Hq5PBFNf.html"
class="type-text">Dependency Management</a>
</li>
<li>
<a href="ZlxZh8NH5frM.html"
class="type-text">Building and deployment</a>
</li>
<li>
<a href="xtBYDVZPb0gr.html"
class="type-text">Project maintenance</a>
</li>
<li>
<a href="B8hxg4e66cVL.html"
class="type-text">Development and architecture</a>
</li>
<li>
<a href="3eTu21fjtZkj.html"
class="type-text">Scripting</a>
</li>
</ul>
</nav>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<strong>Developer&#39;s Guide</strong>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+833
View File
@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>blobs</title>
</head>
<body data-note-id="6x42mhlfLo0o" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="zCDxk5VFdsqg.html"
class="type-text">Database</a>
</nav>
<h1 id="title">blobs</h1>
<div id="content" class="type-text ck-content">
<figure class="table"><table><thead><tr><th>Column Name</th><th>Data Type</th><th>Nullity</th><th>Default value</th><th>Description</th></tr></thead><tbody><tr><th><code>blobId</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>The unique ID of the blob (e.g. <code>XXbfAJXqWrYnSXcelLFA</code>).</td></tr><tr><th><code>content</code></th><td>Text</td><td>Nullable</td><td><code>null</code></td><td><p>The content of the blob, can be either:</p><ul><li>text (for plain text notes or HTML notes).</li><li>binary (for images and other types of attachments)</li></ul></td></tr><tr><th><code>dateModified</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>Localized modification date (e.g. <code>2023-11-08 18:43:44.204+0200</code>)</td></tr><tr><th><code>utcDateModified</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>Modification date in UTC format (e.g. <code>2023-11-08 16:43:44.204Z</code>)</td></tr></tbody></table></figure>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<strong>blobs</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+855
View File
@@ -0,0 +1,855 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Right pane widget</title>
</head>
<body data-note-id="8jWguCtuKsAt" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="1pOWnHdGAuWR.html"
class="type-text">Widgets</a>
</nav>
<h1 id="title">Right pane widget</h1>
<div id="content" class="type-text ck-content">
<ul><li><code>doRender</code> must not be overridden, instead <code>doRenderBody()</code> has to be overridden.</li><li><code>parentWidget()</code> must be set to <code>“rightPane”</code>.</li><li><code>widgetTitle()</code> getter can optionally be overriden, otherwise the widget will be displayed as “Untitled widget”.</li></ul><pre><code class="language-text-plain">const template = `&lt;div&gt;Hi&lt;/div&gt;`;
class ToDoListWidget extends api.RightPanelWidget {
get widgetTitle() {
return "Title goes here";
}
get parentWidget() { return "right-pane" }
doRenderBody() {
this.$body.empty().append($(template));
}
async refreshWithNote(note) {
this.toggleInt(false);
this.triggerCommand("reEvaluateRightPaneVisibility");
this.toggleInt(true);
this.triggerCommand("reEvaluateRightPaneVisibility");
}
}
module.exports = new ToDoListWidget();</code></pre><p>The implementation is in <code>src/public/app/widgets/right_panel_widget.js</code>.</p>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<strong>Right pane widget</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+907
View File
@@ -0,0 +1,907 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Development and architecture</title>
</head>
<body data-note-id="B8hxg4e66cVL" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="4yYHqKbLovVX.html"
class="type-text">Developer&#39;s Guide</a>
</nav>
<h1 id="title">Development and architecture</h1>
<nav id="childLinks" class="grid">
<ul>
<li>
<a href="hkrBX8KE1HQl.html"
class="type-text">Internationalisation / Translations</a>
</li>
<li>
<a href="XxqZW6JjkW2g.html"
class="type-text">Live reload</a>
</li>
<li>
<a href="3jc1nUXyteo0.html"
class="type-text">Themes</a>
</li>
<li>
<a href="U5RtMeGPeZ29.html"
class="type-text">Synchronisation</a>
</li>
<li>
<a href="mPGbEmYGitWe.html"
class="type-text">Build information</a>
</li>
<li>
<a href="zCDxk5VFdsqg.html"
class="type-text">Database</a>
</li>
<li>
<a href="KbwD5mDpD4CV.html"
class="type-text">Protected entities</a>
</li>
<li>
<a href="IuxV242YGaN5.html"
class="type-text">Deleted notes</a>
</li>
<li>
<a href="FJ4VR6G2M6VD.html"
class="type-text">Special notes</a>
</li>
<li>
<a href="1l1f6WZbaBEZ.html"
class="type-text">Branch prefixes</a>
</li>
<li>
<a href="QSkfVssHIngA.html"
class="type-text">Revisions</a>
</li>
<li>
<a href="cemIoFLfEGPO.html"
class="type-text">Backlinks</a>
</li>
<li>
<a href="VbDoDdiHEemi.html"
class="type-text">Note types</a>
</li>
<li>
<a href="UDBwK5Fhr2CT.html"
class="type-text">Safe mode</a>
</li>
</ul>
</nav>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<strong>Development and architecture</strong>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+833
View File
@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Main</title>
</head>
<body data-note-id="BhE2WFknKKHG" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="rU1hxvgqlA9x.html"
class="type-text">CI</a>
</nav>
<h1 id="title">Main</h1>
<div id="content" class="type-text ck-content">
<p>The main workflow of the CI:</p><ul><li>Builds the Docker image and publishes in the GitHub Docker registry.</li><li>Builds using a portion of the <a href="UTB518X6X9Uh.html" class="type-text">delivery script</a> artifacts for the following platforms:<ul><li>Windows <code>x86_64</code> as .zip file</li><li>Windows <code>x86_64</code> installer (using Squirrel)</li><li>macOS <code>x86_64</code> and <code>aarch64</code>.</li><li>Linux <code>x86_64</code></li><li>Linux server <code>x86_64</code>.</li></ul></li></ul><p>The main workflow of the CI runs on <code>develop</code> branches as well as any branch that starts with <code>feature/update_</code>.</p><h2>Downloading the artifacts from the main branch</h2><p>Simply go to the <a href="https://github.com/TriliumNext/Notes"><code>develop</code> branch on GitHub</a> and look at the commit bar:</p><figure class="image"><img style="aspect-ratio:896/59;" src="api/attachments/XEUUvzBxh89z/image/image.png" width="896" height="59"></figure><p>Press the green checkmark (or red cross if something went bad). Then look at the list of jobs and their status:</p><figure class="image"><img style="aspect-ratio:616/445;" src="api/attachments/27Z989bSFWAc/image/image.png" width="616" height="445"></figure><p>Then look for any of the entires that starts with “Main” and press the “Details” link next to it. It doesn't really matter which platform you'll choose as the artifacts are available on the same page.</p><p>&nbsp;</p>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<strong>Main</strong>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+833
View File
@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Having a simpler packaging system</title>
</head>
<body data-note-id="C09Dou56ffMe" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="VS22Hq5PBFNf.html"
class="type-text">Dependency Management</a>
</nav>
<h1 id="title">Having a simpler packaging system</h1>
<div id="content" class="type-text ck-content">
<p>The current build scripts are a bit complicated and maintaining them is not easy.</p><p><a href="https://www.electronforge.io/">Electron Forge</a> seems more mature and has a boatload of features, including Flatpak, snaps, Windows installers &amp; more.</p><p>Have a look also at the <a href="https://www.electronforge.io/config/plugins">Plugins</a> section since there are quite a few interesting things there as well.</p><p>Afterwards consider running a new round of&nbsp;<a class="reference-link">Reducing binary size</a>, especially taking into consideration removing of the unnecessary locales.</p>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<strong>Having a simpler packaging system</strong>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+831
View File
@@ -0,0 +1,831 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Special notes</title>
</head>
<body data-note-id="FJ4VR6G2M6VD" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="B8hxg4e66cVL.html"
class="type-text">Development and architecture</a>
</nav>
<h1 id="title">Special notes</h1>
<p>This note has no content.</p>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<strong>Special notes</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+833
View File
@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>options</title>
</head>
<body data-note-id="FSZoX3cJlJE7" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="zCDxk5VFdsqg.html"
class="type-text">Database</a>
</nav>
<h1 id="title">options</h1>
<div id="content" class="type-text ck-content">
<figure class="table"><table><thead><tr><th>Column Name</th><th>Data Type</th><th>Nullity</th><th>Default value</th><th>Description</th></tr></thead><tbody><tr><th><code>name</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>The name of option (e.g. <code>maxContentWidth</code>)</td></tr><tr><th><code>value</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>The value of the option.</td></tr><tr><th><code>isSynced</code></th><td>Integer</td><td>Non-null</td><td>0</td><td><code>0</code> if the option is not synchronized and thus can differ between clients, <code>1</code> if the option is synchronized.</td></tr><tr><th><code>utcDateModified</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>Modification date in UTC format (e.g. <code>2023-11-08 16:43:44.204Z</code>)</td></tr></tbody></table></figure>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<strong>options</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+833
View File
@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Node.js, Electron and `better-sqlite3`</title>
</head>
<body data-note-id="GMta9hBHsXHQ" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="s5gsYTbPQr6c.html"
class="type-text">Updating dependencies</a>
</nav>
<h1 id="title">Node.js, Electron and `better-sqlite3`</h1>
<div id="content" class="type-text ck-content">
<p><code>better-sqlite3</code> requires a native module in order to work. In order to ease the installation process, prebuilt binaries are provided by the library developers.</p><p>Trilium Next started with version <a href="https://github.com/WiseLibs/better-sqlite3/releases/tag/v8.4.0">8.4.0</a> for <code>better-sqlite3</code></p><figure class="table" style="width:100%;"><table class="ck-table-resized"><colgroup><col style="width:30.24%;"><col style="width:18.47%;"><col style="width:26.73%;"><col style="width:24.56%;"></colgroup><tbody><tr><td><code>better-sqlite3</code> version</td><td>SQLite version</td><td>Node.js prebuilds</td><td>Electron.js prebuilds</td></tr><tr><td>8.4.0</td><td rowspan="4">&lt;3.43.0</td><td>v20</td><td>???</td></tr><tr><td>8.5.0</td><td>v20</td><td>v25</td></tr><tr><td>8.5.1</td><td>&nbsp;</td><td rowspan="4">v26</td></tr><tr><td>8.5.2</td><td>v20 (macOS + arm64)</td></tr><tr><td>8.6.0</td><td>3.43.0</td><td>&nbsp;</td></tr><tr><td>8.7.0</td><td>3.43.1</td><td>&nbsp;</td></tr><tr><td>9.0.0</td><td>3.43.2</td><td>&nbsp;</td><td rowspan="4">v27</td></tr><tr><td>9.1.0</td><td rowspan="2">3.44.0</td><td>&nbsp;</td></tr><tr><td>9.1.1</td><td>macOS + Alpine</td></tr><tr><td>9.2.0</td><td rowspan="2">3.44.2</td><td>&nbsp;</td></tr><tr><td>9.2.1 / 9.2.2</td><td>&nbsp;</td><td rowspan="4">v28</td></tr><tr><td>9.3.0</td><td>3.45.0</td><td>&nbsp;</td></tr><tr><td>9.4.0</td><td rowspan="6">3.45.1</td><td>&nbsp;</td></tr><tr><td>9.4.1</td><td>Windows arm, arm64</td></tr><tr><td>9.4.2</td><td>&nbsp;</td><td>&lt;v29</td></tr><tr><td>9.4.3</td><td>&nbsp;</td><td>&lt;v29</td></tr><tr><td>9.4.4</td><td>&nbsp;</td><td rowspan="3">v29</td></tr><tr><td>9.4.5</td><td>Better prebuilds</td></tr><tr><td>9.5.0</td><td>3.45.2</td><td>&nbsp;</td></tr><tr><td>9.6.0</td><td rowspan="2">3.45.3</td><td>&nbsp;</td><td rowspan="4">v30</td></tr><tr><td>10.0.0</td><td>v22</td></tr><tr><td>10.1.0</td><td rowspan="2">3.46.0</td><td>&nbsp;</td></tr><tr><td>11.0.0</td><td>&gt;21</td></tr><tr><td>11.1.0 (prerelease)</td><td>&nbsp;</td><td>&nbsp;</td><td rowspan="3">v31</td></tr><tr><td>11.1.1</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>11.1.2</td><td>&nbsp;</td><td>&nbsp;</td></tr></tbody></table></figure>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<strong>Node.js, Electron and `better-sqlite3`</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+831
View File
@@ -0,0 +1,831 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Deleted notes</title>
</head>
<body data-note-id="IuxV242YGaN5" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="B8hxg4e66cVL.html"
class="type-text">Development and architecture</a>
</nav>
<h1 id="title">Deleted notes</h1>
<p>This note has no content.</p>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<strong>Deleted notes</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+833
View File
@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>i18n-ally</title>
</head>
<body data-note-id="KRC2O84LekPz" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="hkrBX8KE1HQl.html"
class="type-text">Internationalisation / Translations</a>
</nav>
<h1 id="title">i18n-ally</h1>
<div id="content" class="type-text ck-content">
<p><a href="https://github.com/lokalise/i18n-ally"><code>i18n-ally</code></a> is a VS Code extension that aids in internationalization.</p><p>It is currently integrated in the project and offers features such as:</p><ul><li>Highlight, autocomplete translations.</li><li>Display translations inline.</li><li>Extract messages into translation.</li></ul><h3>Extracting messages into translation</h3><ol><li>Open any .js file and select an untranslated string inside a template (<code>TPL</code>).</li><li>Press Ctrl+P and look for “i18n Ally: Extract text into i18n messages”</li><li>Select the first template.</li><li>Select the path of translation, taking into consideration the&nbsp;<a class="reference-link type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>&nbsp;(e.g. <code>jump_to_note.search-for-note-by-its-name</code>).</li></ol>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<strong>i18n-ally</strong>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+833
View File
@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Protected entities</title>
</head>
<body data-note-id="KbwD5mDpD4CV" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="B8hxg4e66cVL.html"
class="type-text">Development and architecture</a>
</nav>
<h1 id="title">Protected entities</h1>
<div id="content" class="type-text ck-content">
<p>The following entities can be made protected, via their <code>isProtected</code> flag:</p><ul><li><a class="reference-link type-text" href="wCxCJB3hhojs.html">attachments</a></li><li><a class="reference-link type-text" href="kAfgZERKtVhU.html">notes</a></li><li><a class="reference-link type-text" href="QYMncZf5Bu3D.html">revisions</a></li></ul>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<strong>Protected entities</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+835
View File
@@ -0,0 +1,835 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Environment setup</title>
</head>
<body data-note-id="MUGBo4n67kBI" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="WKn3hLGmKmiH.html"
class="type-text">CKEditor</a>
</nav>
<h1 id="title">Environment setup</h1>
<div id="content" class="type-text ck-content">
<p>To set up the repository:</p><pre><code class="language-text-plain">git clone https://github.com/TriliumNext/trilium-ckeditor5.git
cd trilium-ckeditor5.git
yarn install</code></pre><p>To trigger the build run:</p><pre><code class="language-text-plain">yarn build</code></pre>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<strong>Environment setup</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+833
View File
@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Documentation</title>
</head>
<body data-note-id="PHqgH8FCfcod" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="ZlxZh8NH5frM.html"
class="type-text">Building and deployment</a>
</nav>
<h1 id="title">Documentation</h1>
<div id="content" class="type-text ck-content">
<p>Development notes are published on <a href="https://triliumnext.github.io/Notes">triliumnext.github.io/Notes</a> by the CI using GitHub Pages.</p><p>The GitHub Pages deployment works by taking the files from the Notes repository, in the <code>docs</code> directory.</p><h2>How it works</h2><p>There is a script that uses <code>wget</code> to download all the files from a share, that means:</p><ol><li>You must have a local instance of Trilium Notes server.</li><li>You must have the documentation imported, up to date and shared.</li></ol><p>Note that currently the documentation source file is not distributed (the note export), until a way is found to automate this process. Contact <code>eliandoran</code> should you require to obtain a copy of the documentation.</p><h2>Setting up <code>.env</code> file</h2><p>Go to <code>bin/docs</code> and copy <code>.env.example</code> to <code>.env</code> and edit it:</p><ol><li>Change the <code>SHARE_PROTOCOL</code> to either <code>http</code> or <code>https</code> depending on your setup.</li><li>Change <code>SHARE_HOST</code> to match the domain name or the URL to the host (without the protocol or any slashes).</li></ol><p>Generally <code>ROOT_NOTE_ID</code> should not be changed since the note ID must match if the files were imported correctly.</p><h2>Triggering a build</h2><p>Run:</p><pre><code class="language-text-plain">./bin/docs/prepare.sh</code></pre><p>This will attempt to download all the notes from the share URL and put them in <code>docs</code>, rewritten for GitHub Pages.</p><p>Commit the results and follow the normal development process to push them.</p>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<strong>Documentation</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+831
View File
@@ -0,0 +1,831 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Revisions</title>
</head>
<body data-note-id="QSkfVssHIngA" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="B8hxg4e66cVL.html"
class="type-text">Development and architecture</a>
</nav>
<h1 id="title">Revisions</h1>
<p>This note has no content.</p>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<strong>Revisions</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+881
View File
@@ -0,0 +1,881 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Adding a new client library</title>
</head>
<body data-note-id="QXCi6Y1SYulw" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="VS22Hq5PBFNf.html"
class="type-text">Dependency Management</a>
</nav>
<h1 id="title">Adding a new client library</h1>
<div id="content" class="type-text ck-content">
<p>In the past some libraries have been copy-pasted (and adapted if needed) to the repository. However, new libraries must be obtained exclusively through npm.</p><p>The first step is to install the desired library. As an example we are going to install <code>i18next</code>:</p><pre><code class="language-text-plain">npm i i18next</code></pre><h3>Step 1. Understanding the structure of the import</h3><p>After installing the dependency, it's important to know how it's structured. You can do this by looking at the directory structure of the newly imported dependency:</p><pre><code class="language-text-plain">$ tree node_modules/i18next
node_modules/i18next
├── dist
│ ├── cjs
│ │ └── i18next.js
│ ├── esm
│ │ ├── i18next.bundled.js
│ │ ├── i18next.js
│ │ └── package.json
│ └── umd
│ ├── i18next.js
│ └── i18next.min.js
├── i18next.js
├── i18next.min.js
├── index.d.mts
├── index.d.ts
├── index.js
├── index.v4.d.ts
├── LICENSE
├── package.json
├── README.md
└── typescript
├── helpers.d.ts
├── options.d.ts
├── t.d.ts
└── t.v4.d.ts</code></pre><p>Generally you should be looking for a <code>.min.js</code> file. Note that the <code>esm</code> and <code>cjs</code> variants generally don't work, we are looking for the classic, no module dependency.</p><h3>Step 2. Exposing the library from the server</h3><p>The library must be delivered by the server and this is done via <code>src/routes/assets.ts</code>. In the <code>register</code> function, add a new entry near the bottom of the function:</p><pre><code class="language-application-javascript-env-frontend">app.use(`/${assetPath}/node_modules/i18next/`, persistentCacheStatic(path.join(srcRoot, "..", 'node_modules/i18next/')));</code></pre><h3>Step 3. Adding it to the library loader</h3><p>The library loader is a client module which is in charge of downloading the library from the server and importing it. The loader is located in <code>src/public/app/services/library_loader.js</code>.</p><p>To add a new library, start by creating a constant for it, with the value pointing to the minified JS identified at the first step:</p><pre><code class="language-application-javascript-env-frontend">const I18NEXT = {
js: [
"node_modules/i18next/i18next.min.js"
]
};</code></pre><p>Then add it to the <code>export default</code> section:</p><pre><code class="language-text-x-diff"> export default {
requireCss,
requireLibrary,
CKEDITOR,
CODE_MIRROR,
ESLINT,
RELATION_MAP,
PRINT_THIS,
CALENDAR_WIDGET,
KATEX,
WHEEL_ZOOM,
FORCE_GRAPH,
MERMAID,
EXCALIDRAW,
- MARKJS
+ MARKJS,
+ I18NEXT
}</code></pre><h3>Step 4. Using the library</h3><p>To import the library, simply use the following mechanism:</p><pre><code class="language-text-x-diff">import library_loader from "./library_loader.js";
await library_loader.requireLibrary(library_loader.I18NEXT);</code></pre><p>Make sure to replace <code>I18NEXT</code> with the library that was created at the previous steps.</p><p>Note that because we are not using a module management mechanism such as ES Modules or Common.js modules, the <code>requireLibrary</code> method does not actually return anything.&nbsp;</p><p>To benefit from the library, it must export on its own an object in <code>window</code>.</p><p>In the case of <code>i18next</code>, it sets <code>window.i18next</code> and that can be used directly:</p><pre><code class="language-text-x-diff">i18next.init({});</code></pre><h3>Step 5. Adding Electron support</h3><p>For Electron, the <code>node_modules</code> are copied as a separate step by <code>bin/copy-dist.ts</code>.</p><p>Scroll all the way down to the <code>nodeModulesFolder</code> and append an entry for the newly added libraries.</p>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<strong>Adding a new client library</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+833
View File
@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>revisions</title>
</head>
<body data-note-id="QYMncZf5Bu3D" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="zCDxk5VFdsqg.html"
class="type-text">Database</a>
</nav>
<h1 id="title">revisions</h1>
<div id="content" class="type-text ck-content">
<figure class="table"><table><thead><tr><th>Column Name</th><th>Data Type</th><th>Nullity</th><th>Default value</th><th>Description</th></tr></thead><tbody><tr><th><code>revisionId</code></th><td>TextText</td><td>Non-null</td><td>&nbsp;</td><td>Unique ID of the revision (e.g. <code>0GjgUqnEudI8</code>).</td></tr><tr><th><code>noteId</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>ID of the <a href="kAfgZERKtVhU.html" class="type-text">note</a> this revision belongs to.</td></tr><tr><th><code>type</code></th><td>Text</td><td>Non-null</td><td><code>""</code></td><td>The type of note (i.e. <code>text</code>, <code>file</code>, <code>code</code>, <code>relationMap</code>, <code>mermaid</code>, <code>canvas</code>).</td></tr><tr><th><code>mime</code></th><td>Text</td><td>Non-null</td><td><code>""</code></td><td>The MIME type of the note (e.g. <code>text/html</code>).</td></tr><tr><th><code>title</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>The title of the note, as defined by the user.</td></tr><tr><th><code>isProtected</code></th><td>Integer</td><td>Non-null</td><td>0</td><td><code>1</code> if the entity is <a href="KbwD5mDpD4CV.html" class="type-text">protected</a>, <code>0</code> otherwise.</td></tr><tr><th><code>blobId</code></th><td>Text</td><td>Nullable</td><td><code>null</code></td><td>The corresponding ID from&nbsp;<a class="reference-link type-text" href="6x42mhlfLo0o.html">blobs</a>. Although it can theoretically be <code>NULL</code>, haven't found any such note yet.</td></tr><tr><th><code>utcDateLastEdited</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td><strong>Not sure how it differs from modification date.</strong></td></tr><tr><th><code>utcDateCreated</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>Creation date in UTC format (e.g. <code>2023-11-08 16:43:44.204Z</code>)</td></tr><tr><th><code>utcDateModified</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>Modification date in UTC format (e.g. <code>2023-11-08 16:43:44.204Z</code>)</td></tr><tr><th><code>dateLastEdited</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td><strong>Not sure how it differs from modification date.</strong></td></tr><tr><th><code>dateCreated</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>Localized creatino date (e.g. <code>2023-08-12 15:10:04.045+0300</code>)</td></tr></tbody></table></figure>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<strong>revisions</strong>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+842
View File
@@ -0,0 +1,842 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Synchronisation</title>
</head>
<body data-note-id="U5RtMeGPeZ29" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="B8hxg4e66cVL.html"
class="type-text">Development and architecture</a>
</nav>
<h1 id="title">Synchronisation</h1>
<nav id="childLinks" class="grid">
<ul>
<li>
<a href="d3dnvVOhur16.html"
class="type-text">Content hashing</a>
</li>
</ul>
</nav>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<strong>Synchronisation</strong>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+833
View File
@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Safe mode</title>
</head>
<body data-note-id="UDBwK5Fhr2CT" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="B8hxg4e66cVL.html"
class="type-text">Development and architecture</a>
</nav>
<h1 id="title">Safe mode</h1>
<div id="content" class="type-text ck-content">
<p>Safe mode is triggered by setting the <code>TRILIUM_SAFE_MODE</code> to a truthy value, usually <code>1</code>.</p><p>In each artifact there is a <code>trilium-safe-mode.sh</code> (or <code>.bat</code>) script to enable it.</p><p>What it does:</p><ul><li>Disables <code>customWidget</code> launcher types in <code>app/widgets/containers/launcher.js</code>.</li><li>Disables the running of <code>mobileStartup</code> or <code>frontendStartup</code> scripts.</li><li>Displays the root note instead of the previously saved session.</li><li>Disables the running of <code>backendStartup</code>, <code>hourly</code>, <code>daily</code> scripts and checks for the hidden subtree.</li></ul>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<strong>Safe mode</strong>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+837
View File
@@ -0,0 +1,837 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Build deliveries locally</title>
</head>
<body data-note-id="UTB518X6X9Uh" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="ZlxZh8NH5frM.html"
class="type-text">Building and deployment</a>
</nav>
<h1 id="title">Build deliveries locally</h1>
<div id="content" class="type-text ck-content">
<p>In the project root:</p><figure class="table"><table><thead><tr><th>Platform</th><th>Architecture</th><th>Application</th><th>Build command</th></tr></thead><tbody><tr><th rowspan="2">macOS</th><td>x86_64</td><td>Desktop / Electron app</td><td><code>./bin/build-mac-x64.sh</code></td></tr><tr><td>ARM 64</td><td>Desktop / Electron app</td><td><code>./bin/build-mac-arm64.sh</code></td></tr><tr><th rowspan="2">Linux</th><td rowspan="2">x86_64</td><td>Desktop / Electron app</td><td><code>./bin/build-linux-x64.sh</code></td></tr><tr><td>Server</td><td><code>./bin/build-server.sh</code></td></tr><tr><th>Windows</th><td>x86_64</td><td>Desktop / Electron app</td><td><code>./bin/build-win-x64.sh</code></td></tr></tbody></table></figure><p>Under NixOS the following <code>nix-shell</code> is needed:</p><pre><code class="language-text-plain">nix-shell -p jq</code></pre><p>For Linux builds:</p><pre><code class="language-text-plain">nix-shell -p jq fakeroot dpkg</code></pre><p>The resulting build will be in the <code>dist</code> directory under the project root.</p><h3>Testing the Linux builds under NixOS</h3><figure class="table"><table><thead><tr><th>Desktop client</th><th>Server</th></tr></thead><tbody><tr><td><pre><code class="language-text-plain">$ NIXPKGS_ALLOW_UNFREE=1 nix-shell -p steam-run
[nix-shell] cd dist/trilium-linux-x64
[nix-shell] steam-run ./trilium</code></pre></td><td><pre><code class="language-text-plain">$ NIXPKGS_ALLOW_UNFREE=1 nix-shell -p steam-run
[nix-shell] cd dist/trilium-linux-x64-server
[nix-shell] steam-run ./trilium.sh</code></pre></td></tr></tbody></table></figure>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<strong>Build deliveries locally</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+847
View File
@@ -0,0 +1,847 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Dependency Management</title>
</head>
<body data-note-id="VS22Hq5PBFNf" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="4yYHqKbLovVX.html"
class="type-text">Developer&#39;s Guide</a>
</nav>
<h1 id="title">Dependency Management</h1>
<nav id="childLinks" class="grid">
<ul>
<li>
<a href="QXCi6Y1SYulw.html"
class="type-text">Adding a new client library</a>
</li>
<li>
<a href="C09Dou56ffMe.html"
class="type-text">Having a simpler packaging system</a>
</li>
</ul>
</nav>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<strong>Dependency Management</strong>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+857
View File
@@ -0,0 +1,857 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Note types</title>
</head>
<body data-note-id="VbDoDdiHEemi" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="B8hxg4e66cVL.html"
class="type-text">Development and architecture</a>
</nav>
<h1 id="title">Note types</h1>
<div id="content" class="type-text ck-content">
<p>The note type is defined by the <code>type</code> column in&nbsp;<a class="reference-link type-text" href="kAfgZERKtVhU.html">notes</a>.</p><p>Possible types:</p><figure class="table" style="width:100%;"><table class="ck-table-resized"><colgroup><col style="width:9.01%;"><col style="width:10.33%;"><col style="width:29.72%;"><col style="width:23.85%;"><col style="width:27.09%;"></colgroup><thead><tr><th>Note Type</th><th><code>type</code> value</th><th>Corresponding MIME type</th><th>Content of the note's blob</th><th>Relevant attributes</th></tr></thead><tbody><tr><th>Text</th><td><code>text</code></td><td>&nbsp;</td><td>The HTML of the note.</td><td>&nbsp;</td></tr><tr><th><a href="https://github.com/zadam/trilium/wiki/Relation-map">Relation Map&nbsp;</a></th><td><code>relationMap</code></td><td><code>application/json</code></td><td><p>A JSON describing the note:</p><pre><code class="language-text-plain">{
"notes": [
{
"noteId": "gFQDL11KEm9G",
"x": 142,
"y": 405
},
{
"noteId": "8GcjEKyrrCgl",
"x": 100.10406374385552,
"y": 757.0364424520196
}
],
"transform": {
"scale": 0.3,
"x": 480.29766098682165,
"y": 116.83892021963081
}
}</code></pre></td><td>None</td></tr><tr><th><a href="https://github.com/zadam/trilium/wiki/Scripts">Render Note</a></th><td><code>render</code></td><td><code>text/html</code> or blank.</td><td>An empty blob.</td><td><code>~renderNote</code> pointing to the HTML note to render.</td></tr><tr><th>Canvas</th><td><code>canvas</code></td><td><code>application/json</code></td><td><pre><code class="language-text-plain">{
"appState": {},
"elemenets": {},
"files": {},
"type": "excalidraw",
"version": 2
}</code></pre></td><td>None</td></tr><tr><th>Mermaid Diagram</th><td><code>mermaid</code></td><td><code>text/mermaid</code> or <code>text/plain</code></td><td>The plain text content of the Mermaid diagram.</td><td>None</td></tr><tr><th>Book</th><td><code>book</code></td><td><code>text/html</code> or blank.</td><td>An empty blob.</td><td><ul><li><code>#viewType</code> which can be either <code>grid</code> or <code>list</code>.</li><li><code>#expanded</code></li></ul><p>both options are shown to the user via the “Book Properties” ribbon widget.</p></td></tr><tr><th>Web View</th><td><code>webView</code></td><td>blank</td><td>An empty blob.</td><td><code>#webViewSrc</code> pointing to an URL to render.</td></tr><tr><th>Code</th><td><code>code</code></td><td>Depends on the language (e.g. <code>text/plain</code>, <code>text/x-markdown</code>, <code>text/x-c++src</code>).</td><td>The plain text content.</td><td>&nbsp;</td></tr></tbody></table></figure>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<strong>Note types</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+833
View File
@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>branches</title>
</head>
<body data-note-id="Vy1PbjSkUast" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="zCDxk5VFdsqg.html"
class="type-text">Database</a>
</nav>
<h1 id="title">branches</h1>
<div id="content" class="type-text ck-content">
<figure class="table"><table><thead><tr><th>Column Name</th><th>Data Type</th><th>Nullity</th><th>Default value</th><th>Description</th></tr></thead><tbody><tr><th><code>branchId</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>The ID of the branch, in the form of <code>a_b</code> where <code>a</code> is the <code>parentNoteId</code> and <code>b</code> is the <code>noteId</code>.</td></tr><tr><th><code>noteId</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>The ID of the <a href="kAfgZERKtVhU.html" class="type-text">note</a>.</td></tr><tr><th><code>parentNoteId</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>The ID of the parent <a href="kAfgZERKtVhU.html" class="type-text">note</a> the note belongs to.</td></tr><tr><th><code>notePosition</code></th><td>Integer</td><td>Non-null</td><td>&nbsp;</td><td>The position of the branch within the same level of hierarchy, the value is usually a multiple of 10.</td></tr><tr><th><code>prefix</code></th><td>Text</td><td>Nullable</td><td>&nbsp;</td><td>The <a href="1l1f6WZbaBEZ.html" class="type-text">branch prefix</a> if any, or <code>NULL</code> otherwise.</td></tr><tr><th><code>isExpanded</code></th><td>Integer</td><td>Non-null</td><td>0</td><td>Whether the branch should appear expanded (its children shown) to the user.</td></tr><tr><th><code>isDeleted</code></th><td>Integer</td><td>Non-null</td><td>0</td><td><code>1</code> if the entity is <a href="IuxV242YGaN5.html" class="type-text">deleted</a>, <code>0</code> otherwise.</td></tr><tr><th><code>deleteId</code></th><td>Text</td><td>Nullable</td><td><code>null</code></td><td>&nbsp;</td></tr><tr><th><code>utcDateModified</code></th><td>Text</td><td>Non-null</td><td>&nbsp;</td><td>Modification date in UTC format (e.g. <code>2023-11-08 16:43:44.204Z</code>)</td></tr></tbody></table></figure>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<strong>branches</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+852
View File
@@ -0,0 +1,852 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>CKEditor</title>
</head>
<body data-note-id="WKn3hLGmKmiH" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="s5gsYTbPQr6c.html"
class="type-text">Updating dependencies</a>
</nav>
<h1 id="title">CKEditor</h1>
<nav id="childLinks" class="grid">
<ul>
<li>
<a href="MUGBo4n67kBI.html"
class="type-text">Environment setup</a>
</li>
<li>
<a href="icQBu8R1ij57.html"
class="type-text">Building &amp; updating</a>
</li>
<li>
<a href="zpR91YHYs6lL.html"
class="type-text">Differences from upstream</a>
</li>
</ul>
</nav>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<strong>CKEditor</strong>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+838
View File
@@ -0,0 +1,838 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>bettersqlite binaries</title>
</head>
<body data-note-id="X4N03xLYEWnN" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="s5gsYTbPQr6c.html"
class="type-text">Updating dependencies</a>
</nav>
<h1 id="title">bettersqlite binaries</h1>
<div id="content" class="type-text ck-content">
<h3>The native node bindings</h3><p><code>better-sqlite3</code> has native Node bindings. With updates of <code>better-sqlite3</code>, but also of Electron and Node.js versions, these bindings need to be updated.</p><p>Note that Electron and Node.js versions need different versions of these bindings, since Electron usually packs a different version of Node.js.</p><p>During development, <code>npm install</code> tries to build or reuse prebuilt natives for the current Node.js version. This makes <code>npm run start-server</code> work out of the box. Trying to run <code>npm run start-electron</code> with these versions generally causes an error such as this:</p><pre><code class="language-text-plain">Uncaught Exception:
Error: The module '/Users/elian/Projects/Notes/node_modules/better-sqlite3/build/Release/better_sqlite3.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 108. This version of Node.js requires
NODE_MODULE_VERSION 116. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).</code></pre><h3>How the natives are handled</h3><p>Locally, this can be fixed by rebuilding the binaries, which is what <code>npm run switch-electron</code> does, which uses <code>electron-rebuild</code> under the hood.</p><p>When the deliveries are built (see&nbsp;<a class="reference-link type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>), it is not feasible to rebuild the dependencies since we are building for multiple platforms. Luckily, <code>better-sqlite3</code> provides these prebuilt binaries from us, available as artifacts on <a href="https://github.com/WiseLibs/better-sqlite3/releases/">their GitHub releases page</a>.&nbsp;</p><p>The build script manages the natives for <code>better-sqlite3</code> by keeping a copy of the <code>.node</code> file for every platform in <code>bin/better-sqlite3</code>.</p><p>Whenever the version of <code>better-sqlite3</code> changes, the <code>.node</code> files must also be renewed based on their releases page. To simplify this process, a script was created in <code>bin/better-sqlite3/update.sh</code>.</p><h2>How to update the natives</h2><p>The update script needs to know the version of Electron or Node.js for which to download the prebuilt binaries.</p><p>If you get errors during download, check on the <a href="https://github.com/WiseLibs/better-sqlite3/releases/">releases page</a> to ensure that this particular combination of Electron/Node actually exists for the given release.</p><p>To determine the <code>NODE_MODULE_VERSION</code> that is required, look for <code>This version of Node.js requires</code><br><code>NODE_MODULE_VERSION</code> in the error when starting Trilium via:</p><ul><li><code>npm run start-electron</code> (or run any Electron <a href="UTB518X6X9Uh.html" class="type-text">delivery</a>), case in which the <span style="color:#c0bfbc;"><code>ELECTRON_VERSION</code> variable needs to be changed.</span></li><li><span style="color:#c0bfbc;"><code>npm run start-server</code></span> (or run the Linux server delivery), case in which the <code>NODE_VERSION</code> variable needs to be changed.</li></ul><p>Check which files got changed after running the update script and for each platform that got changed, test it locally via&nbsp;<a class="reference-link type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>&nbsp;or via the CI.</p>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<strong>bettersqlite binaries</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+833
View File
@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Live reload</title>
</head>
<body data-note-id="XxqZW6JjkW2g" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="B8hxg4e66cVL.html"
class="type-text">Development and architecture</a>
</nav>
<h1 id="title">Live reload</h1>
<div id="content" class="type-text ck-content">
<h2>Server live reload</h2><p>If running the server using <code>npm run start-server</code>, the server will watch for changes in <code>src/public</code> and trigger a frontend reload if that occurs.</p><h2>Electron live reload</h2><p>Similarly, <code>npm run start-electron</code> supports live refresh &nbsp;as well.</p><p>However, a core difference is that Electron watches <code>dist/src/public</code> instead of <code>src/public</code> since Electron runs on its own copy of the files.</p><p>To ameliorate that, a separate watch script has been implemented which automatically copies files from <code>src/public</code> to <code>dist/src/public</code> whenever a change is detected. To run it:</p><pre><code class="language-text-plain">npm run </code></pre><h2>Technical details</h2><ul><li>This mechanism is managed at server level by watching for changes in<code>services/ws.ts</code>.</li></ul>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<strong>Live reload</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+833
View File
@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Guidelines</title>
</head>
<body data-note-id="Z9N9OKBXXLFW" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="hkrBX8KE1HQl.html"
class="type-text">Internationalisation / Translations</a>
</nav>
<h1 id="title">Guidelines</h1>
<div id="content" class="type-text ck-content">
<ul><li>Use hierarchy whenever appropriate, try to group the messages by:<ul><li>Modals (e.g. <code>about.foo</code>, <code>jump_to_note.foo</code>)</li></ul></li><li>Don't duplicate messages that are very widely used.<ul><li>One such example is <code>aria-label="Close"</code> which should go to a single message such as <code>modal.close</code> instead of being duplicated in every modal.</li></ul></li><li>On the other hand, don't overly generalise messages. A <code>close</code> message that is used whenever the “Close” word is encountered is not a good approach since it can potentially cause issues due to lack of context.</li><li>Use <a href="https://www.i18next.com/translation-function/interpolation">variable interpolation</a> whenever appropriate.<ul><li>If you see multiple messages joined together only to apply add a variable such as a user-inputted value, try to join those messages together into a single message containing a variable.</li><li>So instead of <code>“Number of updates: “ + numUpdates + “.”</code> use <code>$(t("number_updates", { numUpdates }))</code> where the message translation would appear as <code>Number of updates: {{numUpdates}}.</code></li></ul></li></ul>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<strong>Guidelines</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
+862
View File
@@ -0,0 +1,862 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Building and deployment</title>
</head>
<body data-note-id="ZlxZh8NH5frM" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="4yYHqKbLovVX.html"
class="type-text">Developer&#39;s Guide</a>
</nav>
<h1 id="title">Building and deployment</h1>
<nav id="childLinks" class="grid">
<ul>
<li>
<a href="PHqgH8FCfcod.html"
class="type-text">Documentation</a>
</li>
<li>
<a href="btM6L9JtG301.html"
class="type-text">Running a development build</a>
</li>
<li>
<a href="UTB518X6X9Uh.html"
class="type-text">Build deliveries locally</a>
</li>
<li>
<a href="biDJ9KgbWLgt.html"
class="type-text">Releasing a version</a>
</li>
<li>
<a href="rU1hxvgqlA9x.html"
class="type-text">CI</a>
</li>
</ul>
</nav>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<strong>Building and deployment</strong>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="biDJ9KgbWLgt.html">Releasing a version</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>
Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

+23
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);
@@ -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;
}
}
+2
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 */
+165
View File
@@ -0,0 +1,165 @@
body {
font-family: 'Lucida Grande', 'Lucida Sans Unicode', arial, sans-serif;
line-height: 1.5;
}
#layout {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: row-reverse;
}
#menu {
padding: 25px;
flex-basis: 0;
flex-grow: 1;
overflow: auto;
}
#menu p {
margin: 0;
}
#menu > p {
font-weight: bold;
font-size: 110%;
}
#menu ul {
padding-left: 20px;
}
#main {
flex-basis: 0;
flex-grow: 3;
overflow: auto;
padding: 10px 20px 20px 20px;
}
#parentLink {
float: right;
margin-top: 20px;
}
#title {
margin: 0;
padding-top: 10px;
}
img {
max-width: 100%;
}
pre {
white-space: pre-wrap;
word-wrap: anywhere;
}
iframe.pdf-view {
width: 100%;
height: 800px;
}
#toggleMenuButton {
display: none;
position: fixed;
top: 8px;
left: 5px;
width: 1.4em;
border-radius: 5px;
border: 1px solid #aaa;
font-size: 2rem;
z-index: 10;
height: auto;
color: black;
cursor: pointer;
}
#childLinks.grid ul {
list-style-type: none;
display: flex;
flex-wrap: wrap;
padding: 0;
}
#childLinks.grid ul li {
width: 180px;
height: 140px;
padding: 10px;
}
#childLinks.grid ul li a {
display: flex;
flex-direction: column;
height: 100%;
width: 100%;
border: 1px solid #ddd;
border-radius: 5px;
justify-content: center;
align-content: center;
text-align: center;
font-size: large;
}
#childLinks.grid ul li a:hover {
background: #eee;
}
#childLinks.list ul {
list-style-type: none;
display: inline-flex;
flex-wrap: wrap;
padding: 0;
margin-top: 5px;
}
#childLinks.list ul li {
margin-right: 20px;
}
#noteClippedFrom {
padding: 10px 0 10px 0;
margin: 20px 0 20px 0;
color: #666;
border: 1px solid #ddd;
border-left: 0;
border-right: 0;
}
#toggleMenuButton::after {
position: relative;
top: -2px;
left: 1px;
}
@media (max-width: 48em) {
#layout.showMenu #menu {
display: block;
margin-top: 40px;
}
#toggleMenuButton {
display: block;
}
#layout.showMenu #main {
display: none;
}
#title {
padding-left: 60px;
}
#layout.showMenu #toggleMenuButton::after {
content: "«";
}
#toggleMenuButton::after {
content: "»";
}
#menu {
display: none;
}
}
+833
View File
@@ -0,0 +1,833 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="./favicon.ico">
<script src="./assets/v0.63.6/app-dist/share.js"></script>
<link href="./assets/v0.63.6/libraries/normalize.min.css" rel="stylesheet">
<link href="./assets/v0.63.6/stylesheets/share.css" rel="stylesheet">
<link href="./assets/v0.63.6/libraries/ckeditor/ckeditor-content.css" rel="stylesheet">
<title>Releasing a version</title>
</head>
<body data-note-id="biDJ9KgbWLgt" data-ancestor-note-id="4yYHqKbLovVX">
<div id="layout">
<div id="main">
<nav id="parentLink">
parent: <a href="ZlxZh8NH5frM.html"
class="type-text">Building and deployment</a>
</nav>
<h1 id="title">Releasing a version</h1>
<div id="content" class="type-text ck-content">
<p>On NixOS:</p><pre><code class="language-text-plain">nix-shell -p dpkg fakeroot jq nodejs_20</code></pre><p>Then simply run from project root:</p><pre><code class="language-text-plain">./bin/release.sh 1.2.3</code></pre><p>where <code>1.2.3</code> is the desired release version.</p><p>If a version ends with <code>-beta</code>, it will automatically be marked as pre-release in GitHub.</p><p>This will automatically generate a release in GitHub if everything goes according to plan.</p><p>Note that the Windows installer is not automatically uploaded yet, it has to be taken from the <a href="BhE2WFknKKHG.html" class="type-text">main workflow of the CI from the <code>develop</code> branch</a>.</p><p>Make sure to check test the artifacts of the release.</p>
</div>
</div>
<button id="toggleMenuButton"></button>
<nav id="menu">
<p>
<a class="type-text" href="4yYHqKbLovVX.html">Developer&#39;s Guide</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="VS22Hq5PBFNf.html">Dependency Management</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="QXCi6Y1SYulw.html">Adding a new client library</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="C09Dou56ffMe.html">Having a simpler packaging system</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="ZlxZh8NH5frM.html">Building and deployment</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="PHqgH8FCfcod.html">Documentation</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="btM6L9JtG301.html">Running a development build</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UTB518X6X9Uh.html">Build deliveries locally</a>
</p>
</li>
<li>
<p>
<strong>Releasing a version</strong>
</p>
</li>
<li>
<p>
<a class="type-text" href="rU1hxvgqlA9x.html">CI</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="BhE2WFknKKHG.html">Main</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="xtBYDVZPb0gr.html">Project maintenance</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="s5gsYTbPQr6c.html">Updating dependencies</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="X4N03xLYEWnN.html">bettersqlite binaries</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="GMta9hBHsXHQ.html">Node.js, Electron and `better-sqlite3`</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="jvdjFBOCCrOa.html">Testing compatibility</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="WKn3hLGmKmiH.html">CKEditor</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="MUGBo4n67kBI.html">Environment setup</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="icQBu8R1ij57.html">Building &amp; updating</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zpR91YHYs6lL.html">Differences from upstream</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="B8hxg4e66cVL.html">Development and architecture</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="hkrBX8KE1HQl.html">Internationalisation / Translations</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="Z9N9OKBXXLFW.html">Guidelines</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="KRC2O84LekPz.html">i18n-ally</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="XxqZW6JjkW2g.html">Live reload</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="3jc1nUXyteo0.html">Themes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="U5RtMeGPeZ29.html">Synchronisation</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="d3dnvVOhur16.html">Content hashing</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="mPGbEmYGitWe.html">Build information</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="zCDxk5VFdsqg.html">Database</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="wCxCJB3hhojs.html">attachments</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="wxCwZ1P2SGCx.html">attributes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="6x42mhlfLo0o.html">blobs</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="Vy1PbjSkUast.html">branches</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="inGKXCChkVYX.html">entity_changes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="y2ido6E6tZ0V.html">etapi_tokens</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="kAfgZERKtVhU.html">notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FSZoX3cJlJE7.html">options</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="bzQfhyzDo3Xz.html">recent_notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QYMncZf5Bu3D.html">revisions</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="KbwD5mDpD4CV.html">Protected entities</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="IuxV242YGaN5.html">Deleted notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="FJ4VR6G2M6VD.html">Special notes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="1l1f6WZbaBEZ.html">Branch prefixes</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="QSkfVssHIngA.html">Revisions</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="cemIoFLfEGPO.html">Backlinks</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="VbDoDdiHEemi.html">Note types</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="UDBwK5Fhr2CT.html">Safe mode</a>
</p>
</li>
</ul>
</li>
<li>
<p>
<a class="type-text" href="3eTu21fjtZkj.html">Scripting</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="1pOWnHdGAuWR.html">Widgets</a>
</p>
<ul>
<li>
<p>
<a class="type-text" href="8jWguCtuKsAt.html">Right pane widget</a>
</p>
</li>
<li>
<p>
<a class="type-text" href="4FXLAtcPhZFo.html">CSS</a>
</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</body>
</html>

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