Compare commits

...

4198 Commits

Author SHA1 Message Date
zadam 3d98644bf6 release 0.48.2
Publish Docker image / Push Docker image to multiple registries (push) Failing after 2m26s
2021-10-20 22:12:20 +02:00
zadam a22e4d60b6 Merge remote-tracking branch 'origin/master' 2021-10-20 21:30:39 +02:00
zadam 069fbee3a6 allow async scripts in runOnBackend(), fixes #2243 2021-10-20 21:27:47 +02:00
Matt 8b21867c5c Set default icon for clipped notes (#2246)
* Set default icon for clipped notes

I like being able to differentiate between clipped notes and regular notes

* Globe
2021-10-20 08:57:05 +02:00
zadam 2cc4367b37 fix restoring note revision, closes #2232 2021-10-15 21:37:16 +02:00
zadam 241d1b1035 node 14.18.1 2021-10-14 22:22:27 +02:00
zadam 449081807e fix backend API's getNote, getBranch, getAttribute, closes #2230 2021-10-14 21:19:03 +02:00
zadam dc0d6d24bd Merge remote-tracking branch 'origin/master' 2021-10-14 21:09:32 +02:00
zadam 4111a2f0e8 docker image build/push is now handled by github actions 2021-10-14 20:49:48 +02:00
TrAnn3l 8ef4b2bf50 Add tag based multi arch docker build. (#2229) 2021-10-14 20:42:27 +02:00
zadam 53875d26bc don't try to activate the pane being currently removed 2021-10-13 23:27:58 +02:00
zadam f505f9d65a hide tooltip after clicking on a button, fixes #2228 2021-10-13 23:05:47 +02:00
zadam 6434889cd6 added SVG icon 2021-10-13 19:54:26 +02:00
zadam 21d2ca3c54 release 0.48.1-beta 2021-10-12 22:42:48 +02:00
zadam 64a3a8b561 tweaks 2021-10-12 22:36:22 +02:00
zadam 6738f2cd24 fix preserving original sourceId after running script notes, fixes #2224 2021-10-12 21:41:25 +02:00
zadam 1cdd644b8f fix reloading frontend after erasing notes in firefox, fixes #2221 2021-10-12 19:47:44 +02:00
zadam f5dc05e79a Merge remote-tracking branch 'origin/master' 2021-10-12 19:30:42 +02:00
zadam e2c37a6f8c add toggleLeftPane command/shortcut, closes #2225 2021-10-12 19:29:42 +02:00
sigaloid cfea2440fb fix mobile frontend, closes #2217 (#2223)
does this

rename

Update bug_report.yml

Update bug_report.yml

Update bug_report.yml

Update bug_report.yml

Update and rename feature_request.md to feature_request.yml

Co-authored-by: zadam <zadam.apps@gmail.com>
2021-10-12 18:57:07 +02:00
zadam 23e34e8c02 fix mobile frontend, closes #2217 2021-10-11 23:00:52 +02:00
zadam 8bd7b657f8 added option to disable backup, #2210 2021-10-11 22:30:23 +02:00
zadam 899d9e65fd Merge remote-tracking branch 'origin/master' 2021-10-11 21:08:48 +02:00
zadam ec732c0a98 filter out duplicated note paths, fixes #2218 2021-10-11 21:08:25 +02:00
Tom Free 66797f34c4 upgrade node v14.17.6 for gitpod since optional chaining is required (#2219) 2021-10-11 20:54:01 +02:00
zadam 1ad25b063d change order of ribbon tabs so that type specific ones are in front 2021-10-10 21:47:56 +02:00
zadam e09b2902fa fix large image deforming the note revisions dialog, closing #2216 2021-10-10 21:47:22 +02:00
zadam f6776df645 link overflowing with ellipsis 2021-10-10 14:34:54 +02:00
zadam f0c672445d show note icons also in bookmark folder 2021-10-10 14:10:51 +02:00
zadam a033ddfcb7 Merge remote-tracking branch 'origin/master' 2021-10-10 14:09:42 +02:00
zadam d02d846024 empty notes in note overview will display the list of children 2021-10-10 14:09:22 +02:00
sigaloid a8b6538c4e Add issue templates (#2213)
* Create feature_request.md

* Create bug_report.md

* Update feature_request.md

* Update bug_report.md

* Update feature_request.md

* Update feature_request.md

* Update bug_report.md

* Update bug_report.md

* Update bug_report.md

* Update feature_request.md

* Update bug_report.md
2021-10-10 11:22:32 +02:00
zadam 4eb4a44331 fix reopening last tab for splits 2021-10-09 22:03:24 +02:00
Abitofevrything c1e1f3df24 Add shortcut to reopen last closed tab, closes #2211 (#2214) 2021-10-09 21:20:12 +02:00
zadam 11e9f8403e release 0.48.0-beta 2021-10-08 22:32:59 +02:00
zadam ba676587df fix importing notePosition of directories 2021-10-08 22:31:35 +02:00
zadam 20696aa0ab fix finding single note by label with mixed case 2021-10-08 22:13:39 +02:00
zadam a08690b123 CKEditor 30 content styles 2021-10-08 18:17:17 +02:00
zadam 79f54b4e97 inactive tab background tweaks 2021-10-08 18:09:24 +02:00
zadam 973fe52275 lighter node style of note map in dark theme 2021-10-08 16:45:21 +02:00
zadam 5938e033d4 lighter node style of note map in dark theme 2021-10-08 16:38:37 +02:00
zadam eecba725b0 bookmarking should be available for all note types 2021-10-08 16:18:00 +02:00
zadam fa40a5f496 fixed demo document + added bookmarks 2021-10-08 15:48:15 +02:00
zadam abbba6501d script execution results are also pojo-ized 2021-10-08 15:14:23 +02:00
zadam 824f5dbaac fix handling of string/empty responses 2021-10-07 22:14:23 +02:00
zadam 24a45b03f5 bookmark folder 2021-10-07 21:57:20 +02:00
zadam e10e18e63a added optimized version for single label searching + noteset cache fix 2021-10-07 07:46:13 +02:00
zadam 7152c5e51d refactored separate RightDropdownButton from calendar widgets 2021-10-06 22:25:33 +02:00
zadam 711af02928 fixed leaking entities into the responses and thus increased performance of e.g. create/duplicate note 2021-10-06 20:52:23 +02:00
zadam df8706026e caching initial noteset to improve search times 2021-10-06 19:59:29 +02:00
zadam 17fe9a6a1b added help button to JS code notes to navigate to API docs 2021-10-06 18:31:19 +02:00
zadam 2d08eb7366 fix "connected with changes" sync status icon 2021-10-06 18:13:58 +02:00
zadam 8d42ffca6d basic bookmark support 2021-10-05 22:08:02 +02:00
zadam 0654dc855f Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	package-lock.json
#	package.json
2021-10-05 19:45:32 +02:00
zadam 0571f02830 updated windows better-sqlite3 binary 2021-10-05 17:32:32 +02:00
zadam b2b1c9ebb7 release 0.47.8 2021-10-04 22:18:33 +02:00
zadam 1f75b9c92f electron 13.5.1 to fix the TLS expiration issue 2021-10-04 22:16:51 +02:00
zadam e2c4f32b5e added ckeditor with Find & Replace, for now without keyboard shortcut (ckeditor/ckeditor5#10645) 2021-10-04 21:53:57 +02:00
zadam 18ffcf7880 small fixes 2021-10-03 23:01:22 +02:00
Ben Jackson 6ae8508413 html_sanitizer: Demote H1 tags (#2190)
Generalize clipper.js support for removing H1 tags so it also applies to
imports. This will move all heading levels down to make room if
needed, only leaving duplicates at H6.
2021-10-03 20:56:08 +02:00
Abitofevrything ec3b844026 Fix "Theme defined" option not working in font overrride (#2197) 2021-10-03 20:54:20 +02:00
zadam a1ca538106 excludeFromTreeMap generalized to excludeFromNoteMap 2021-10-03 11:04:56 +02:00
zadam 75fc9e2048 small fixes 2021-10-03 10:42:46 +02:00
zadam a1c1c7c830 added "reloadNeeded" to consistency checks so that entity changes fix won't force reload 2021-10-03 10:00:38 +02:00
zadam e4a483aefe fix duplicate subtree 2021-10-02 23:26:18 +02:00
zadam 8c2a5d19f2 remove extra logging 2021-09-30 22:26:56 +02:00
Abitofevrything 2c450fc72d Allow HTML nodes in mermaid diagrams (#2192) 2021-09-30 20:12:23 +02:00
zadam 831de3ffed fix mermaid diagram size 2021-09-30 13:48:01 +02:00
zadam 291b434d70 added mermaid samples to demo document 2021-09-30 13:17:37 +02:00
zadam a68fd5ab83 fixes 2021-09-30 13:02:07 +02:00
zadam 8a8bdaf80e updated API docs 2021-09-30 12:26:13 +02:00
zadam 26b89fc801 fix note revisions not displaying content length 2021-09-30 12:23:22 +02:00
zadam af3fd61974 mermaid layout improvements 2021-09-30 10:18:03 +02:00
zadam f4dde84f06 mermaid layout improvements 2021-09-30 09:48:03 +02:00
zadam bc920dc5dc refactoring of mermaid support WIP 2021-09-29 22:14:45 +02:00
zadam 896c9cec04 refactoring of mermaid support WIP 2021-09-29 22:10:15 +02:00
Abitofevrything b37bcd294c Implement mermaid diagrams (#2187)
* Start implementing mermaid diagrams

* Implement theming for mermaid diagrams

* Add edit tab to mermaid diagrams

* Remove comment

* Render mermaid diagrams in included notes

* Prevent mermaid notes from being removed to consistency checks
2021-09-29 21:54:56 +02:00
Ben Jackson 14f24c646a enex: Convert OneNote (via Evernote) todo images to Unicode checkboxes (#2189)
When a OneNote todo bullet is imported by Evernote it is converted to an
image showing the checkbox the way it looked in OneNote. This change
takes advantage of the consistency of that image hashing to convert
those images into unicode checkboxes (matching the existing ENEX
<en-todo> behavior) . It also removes the image attachments.
2021-09-29 18:11:04 +02:00
zadam fea46bb150 ckeditor v30.0.0 2021-09-29 17:47:15 +02:00
zadam 37c30bf88a fix initializing new attribute in becca 2021-09-29 13:33:05 +02:00
zadam d975acc99a fix collapsing/expanding the book note 2021-09-29 13:19:21 +02:00
zadam c2d35dac4d small fixes and tweaks 2021-09-29 12:39:28 +02:00
zadam 5358b58191 fix double refresh of note map 2021-09-28 13:27:21 +02:00
zadam 0264e847ef fixes 2021-09-28 10:58:34 +02:00
zadam c5917bfc78 fix "steel blue" demo theme 2021-09-28 10:02:25 +02:00
zadam 533fcd06e4 search should ignore diacritics, closes #2182 2021-09-27 22:09:55 +02:00
zadam 192a2fe9f9 Merge remote-tracking branch 'origin/master' 2021-09-27 21:02:04 +02:00
zadam e6bc8ed3b5 allow overriding theme fonts 2021-09-27 21:01:56 +02:00
hyfree 8ff563ba40 Fix translation errors (#2180)
Fix translation errors
2021-09-27 14:37:29 +02:00
zadam d5bd9875f9 fix websocket ping 2021-09-26 15:37:18 +02:00
zadam 113bebed3b switching themes via loading only specific CSS 2021-09-26 15:24:37 +02:00
zadam 2fcb0c05c0 added grey icon for the dark mode 2021-09-25 21:58:15 +02:00
zadam fdb7b7721d right context menu on note map 2021-09-24 21:40:02 +02:00
Abitofevrything 3d9260c974 Add shortcut to delete newly created note quickly (#2177)
* Add shortcut to delete newly created note quickly

* Add space
2021-09-23 23:34:51 +02:00
zadam 8769fd71cb fix hidden notes appearing after creation in a new document 2021-09-23 23:30:30 +02:00
zadam a2baa9bdb3 excludeFromTreeMap in demo document 2021-09-23 22:54:37 +02:00
zadam 88714cce94 simplify migration 2021-09-23 22:49:16 +02:00
zadam bc1d438075 updated better sqlite 3 binaries 2021-09-23 22:36:12 +02:00
zadam fd00f6bd97 removed older migrations since they don't work anyway (after becca refactoring) 2021-09-23 22:09:11 +02:00
zadam b041d081db added migration to add excludeFromTreeMap for journal subtrees 2021-09-23 22:08:23 +02:00
zadam fabf24a065 sizing of the link map 2021-09-22 23:02:38 +02:00
zadam e3fc0968ba note map refactoring 2021-09-22 22:41:31 +02:00
zadam a766374bf4 unified note map with ribbon map 2021-09-22 22:25:39 +02:00
zadam 0f693dae5e split of note map widget from type widget 2021-09-22 21:11:36 +02:00
zadam 208492bee1 tweaks to note map 2021-09-21 22:45:06 +02:00
zadam b0d767df69 refresh note detail icon after type change 2021-09-21 20:28:52 +02:00
zadam 476b8250c9 note map refactoring 2021-09-20 23:04:41 +02:00
zadam e4ba7d65e8 note map refactoring 2021-09-20 22:19:47 +02:00
zadam 9c9a3fc030 small refactorings of auto readonly size 2021-09-20 21:12:35 +02:00
Abitofevrything b85cf07a28 Add config option to change automatic readonly size (#2174) 2021-09-20 21:08:41 +02:00
zadam bdde52f004 global link map WIP 2021-09-20 20:02:23 +02:00
zadam dd37f09309 global link map WIP 2021-09-18 14:29:41 +02:00
zadam a0caa21458 global link map WIP 2021-09-17 22:34:23 +02:00
zadam 43e829ca99 global link map setup 2021-09-17 10:09:42 +02:00
zadam ed26e32ccb skeleton for global link map 2021-09-16 23:09:48 +02:00
zadam 5866004e23 auto init of special notes after startup 2021-09-16 22:20:59 +02:00
zadam 06bcfe1aee refactoring of special notes route to a service 2021-09-16 22:09:39 +02:00
zadam 2d82da32d4 refactoring of "date-notes" to "special-notes" 2021-09-16 21:59:34 +02:00
zadam 2b017a956e store in CLS only entity change IDs instead of whole records 2021-09-16 15:02:20 +02:00
zadam 0448883782 option to erase notes immediately 2021-09-16 14:38:09 +02:00
zadam 9b9be5d155 reload frontend when consistency is fixed 2021-09-12 11:18:06 +02:00
zadam 3f2ee4aefd ckeditor fix to use correct modified mention plugin 2021-09-12 00:08:25 +02:00
zadam b90ae8eb79 ckeditor fix 2021-09-11 22:01:04 +02:00
zadam 266807179c ckeditor upgrade to 29.2.0 2021-09-11 21:44:52 +02:00
zadam 4023c28f5e consistency_checks fix 2021-09-11 14:34:37 +02:00
zadam 010f075ac5 fix toggling protected flag and display of the title 2021-09-08 22:35:32 +02:00
zadam 151687cd9b fixing consistency checks 2021-09-08 21:54:26 +02:00
zadam f24ea8137b revert of better sqlite3 dep for server build 2021-09-08 20:56:26 +02:00
zadam b8d8e01908 updated icon 2021-09-07 23:14:17 +02:00
zadam 79d492d0f0 bug fixes 2021-09-07 22:56:54 +02:00
zadam f0af26a57b Merge remote-tracking branch 'origin/master' 2021-09-07 22:37:12 +02:00
zadam 2b8c6e3dd0 bug fixes 2021-09-07 22:37:03 +02:00
Egor Dubenetskiy 061f8acf11 Add shortcut to follow link under text cursor (#1842) (#2148) 2021-09-05 12:24:38 +02:00
zadam 5cfd1c030d allow specifiyng sorted attribute (including off for overriding), #2142 2021-09-03 22:33:40 +02:00
zadam 6e300c7cf5 make sure the sorted branches are still sorted after drag & drop, #2142 2021-09-02 23:21:02 +02:00
zadam 167d4816fd display "multiple-parents" asterisk only for multiple non-search parents 2021-09-02 22:27:35 +02:00
zadam 3e5db71652 Merge remote-tracking branch 'origin/master' 2021-09-02 22:14:29 +02:00
zadam 1bc50ed976 strip # or ~ when getting attribute 2021-09-02 22:14:22 +02:00
zadam 08c638c2fa Create codeql-analysis.yml 2021-09-01 09:32:58 +02:00
zadam 5f22864a93 support image/jpg as well, closes #2103 2021-08-31 22:02:38 +02:00
zadam cfcc34fa8e package upgrades (including #2134) 2021-08-31 21:54:42 +02:00
zadam 635f5fdc5b small refactoring 2021-08-26 22:10:59 +02:00
zadam d0747b125c improvements in frontend sync (WIP) 2021-08-25 22:49:24 +02:00
zadam 66374bf95f improvements in frontend sync (WIP) 2021-08-24 22:59:51 +02:00
zadam d27fcaf317 improvements in frontend sync (WIP) 2021-08-24 22:37:00 +02:00
zadam 0ee093f038 Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	Dockerfile
#	bin/build-server.sh
#	package-lock.json
#	src/public/app/layouts/mobile_layout.js
2021-08-23 22:27:19 +02:00
zadam 06eb0ce910 alias shell with bash 2021-08-23 22:26:01 +02:00
zadam c59b3a0c5c release 0.47.7 2021-08-22 12:36:49 +02:00
zadam 08eda83700 node update to 14.17.5 2021-08-22 12:25:50 +02:00
zadam d23bb5fd17 note title gets overflown by long content 2021-08-22 12:21:22 +02:00
zadam 8cb07525cf Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	package-lock.json
2021-08-21 21:32:11 +02:00
zadam dc4c922edb fix imported strikethrough text, closes #2110 2021-08-21 21:31:30 +02:00
zadam c3ed673453 release 0.47.6 2021-08-21 20:56:58 +02:00
zadam 3fd16a16e8 fix deletion in the mobile frontend, closes #2114 2021-08-21 20:53:45 +02:00
zadam 3448eba7b9 fix importing image captions, closes #2113
(cherry picked from commit e050e380b9)
2021-08-21 20:23:55 +02:00
zadam ad8f374276 Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	package.json
2021-08-21 20:20:09 +02:00
zadam 19a6d89d4f fix include note PDF sizing, closes #2116 2021-08-21 20:19:02 +02:00
zadam b99d83af50 improvements in frontend sync (WIP) 2021-08-20 21:42:06 +02:00
zadam e050e380b9 fix importing image captions, closes #2113 2021-08-20 21:40:28 +02:00
zadam 68d599ed19 fix dynamic positioning 2021-08-20 21:39:56 +02:00
zadam 9d9bc31d91 fixes in frontend sync 2021-08-14 10:13:59 +02:00
zadam b619a6515b fix first "0-24:00:00.000" log time 2021-08-12 20:57:43 +02:00
zadam 13a16e8251 force attribute value to be a string, closes #2104 2021-08-12 20:42:35 +02:00
zadam 86a53ceebb updating becca after sync 2021-08-07 21:21:30 +02:00
zadam 669eaa7509 fix SQL console 2021-07-27 22:08:41 +02:00
zadam f50084dc1b removed annoying "sync update in progress" toast message 2021-07-26 21:28:45 +02:00
zadam 3a78a75afc fixed frontend update after note deletion 2021-07-26 21:11:51 +02:00
zadam 6e7b722bf2 fixed image being too high 2021-07-26 20:18:57 +02:00
zadam 4ca0f4b06b tree item styling based on flex, fixed root element jumping on hover 2021-07-25 22:46:45 +02:00
zadam a33661d050 websocket events fill additional data from becca instead of database 2021-07-25 21:25:06 +02:00
zadam f1338bb643 fix moving notes up and down using keyboard 2021-07-25 20:55:41 +02:00
zadam b6b6d11ef7 keep sorting for content hash computation backwards compatible 2021-07-25 10:58:50 +02:00
zadam 17a6c94f66 fix errors popping up when closing tabs with multiple panes 2021-07-24 22:51:12 +02:00
zadam e74979ccc1 fix edited notes ribbon widget 2021-07-24 22:13:32 +02:00
zadam e003341dff optimized becca loader with raw queries 2021-07-24 21:10:16 +02:00
zadam 5c4369206a optimized content hash computation using raw queries 2021-07-24 12:04:48 +02:00
zadam 507a0e2e1d "pojoing" backend entity responses to significantly speed up 2021-07-24 11:38:57 +02:00
zadam b381331029 refactoring of date notes route 2021-07-24 11:28:47 +02:00
zadam af703445e1 hover for tree item buttons 2021-07-24 09:36:52 +02:00
zadam c508217604 added underline heading style and make it a default 2021-07-23 16:04:56 +02:00
zadam 6a1287a3de fixes in the demo document 2021-07-23 14:53:31 +02:00
zadam 7261ab69bc add ignoreMissing flag to becca's getNotes() 2021-07-22 21:23:01 +02:00
zadam f9cfd134b7 fixed corner cases in becca updates from sync 2021-07-22 20:19:44 +02:00
Abitofevrything 89d28ef27c Various window border related fixes (#2077)
* Remove gap between window control buttons and top of screen, add square hitbox to window control buttons

* Add better overflow detection for context menu

* Remove gap between tabs and top of screen
2021-07-22 19:37:53 +02:00
zadam 9da8d466b8 fix note hoisting 2021-07-21 22:47:52 +02:00
zadam 74d0626dc9 Merge remote-tracking branch 'origin/master' 2021-07-21 22:07:13 +02:00
zadam 830a357b9a better styling for drop marker #2073 2021-07-21 21:12:21 +02:00
Abitofevrything 7b129c7c34 Check for active node before create note in createNoteAfter (#2074) 2021-07-21 20:19:17 +02:00
zadam adc98d4515 fix corner case when deleting a note with not yet downloaded images, closes #2073 2021-07-21 20:18:03 +02:00
zadam f3959cf2aa styles for dropping items in the tree, WIP 2021-07-20 22:07:14 +02:00
zadam 6fdabbc73b fixed styling for loading notes 2021-07-20 21:25:26 +02:00
zadam de6ff09bb9 fix moving notes 2021-07-20 21:12:23 +02:00
zadam c82308489b fix import 2021-07-20 13:29:11 +02:00
zadam 98ee3b029a Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	src/becca/becca_service.js
2021-07-08 13:11:25 +02:00
zadam a6bef45a30 fix "root" note in edited notes, closes #2058 2021-07-08 13:06:22 +02:00
zadam 05d077ce28 removed green theme 2021-07-05 17:10:10 +02:00
zadam 9adf4d7e8e fixed calendar widget when open in a non-date note 2021-07-05 15:50:21 +02:00
zadam e2819109e9 added edited notes ribbon widget 2021-07-05 14:56:40 +02:00
zadam 3c8e267aad added calendar to the sidebar 2021-07-05 14:46:20 +02:00
zadam da0670188b Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	src/services/ws.js
2021-07-05 10:14:37 +02:00
zadam 65938c5272 enable autoformat plugin in ckeditor build, closes #1339 2021-07-05 10:13:52 +02:00
zadam 7ea72632b8 display keyboard shortcuts in button widget title 2021-07-05 09:59:03 +02:00
zadam 9ca225b40f ribbon widgets titles show associated keyboard shortcuts 2021-07-05 09:44:41 +02:00
zadam b68bdc5005 hide global menu tooltip upon click 2021-07-05 08:59:36 +02:00
zadam 9e77a424a4 fix sync status button 2021-07-04 21:24:47 +02:00
zadam e25b965cb3 fix searching by label 2021-07-04 21:05:47 +02:00
zadam 8d3a3d4873 fix content length in note revisions 2021-07-04 16:49:23 +02:00
zadam c115628f1f full search should be already triggered when going from quick search 2021-07-04 16:46:57 +02:00
zadam 703fbd30df css fixes 2021-07-04 15:49:52 +02:00
zadam 5011b6a51a don't try to fill additional properties for erased entities 2021-07-03 20:52:40 +02:00
zadam 4cc02ffb31 fix search 2021-07-02 23:22:10 +02:00
zadam 1e767482b4 removed black theme from setup 2021-06-30 21:30:54 +02:00
zadam 2035304b63 cleanup of entity changes processing 2021-06-30 20:54:15 +02:00
zadam 5be7f003ca sync fixes 2021-06-29 23:45:45 +02:00
zadam b660238a40 backend import unification 2021-06-29 22:15:57 +02:00
zadam b9ff481eb7 Merge remote-tracking branch 'origin/stable' into redesign
# Conflicts:
#	package.json
2021-06-29 20:55:58 +02:00
zadam eebbf74517 Merge remote-tracking branch 'origin/master' into redesign 2021-06-29 20:55:15 +02:00
zadam 61e78858bc fix random ordering in search, fixes #2047 2021-06-29 20:54:56 +02:00
zadam 0351d7eff1 keyboard shortcuts for ribbon tabs 2021-06-27 12:53:05 +02:00
zadam 9e1c9782ff use MontserratLight also for setup 2021-06-26 23:20:12 +02:00
zadam b2148f4a18 updated demo document with adjusted steel blue theme 2021-06-26 23:10:03 +02:00
zadam 16cc84be99 add back utcDateModified to Attribute and Branch becca entities 2021-06-26 17:32:40 +02:00
zadam 0265c190db adding check to the selected editability 2021-06-26 17:21:54 +02:00
zadam 32c88219c3 switcher for editability 2021-06-26 17:08:50 +02:00
zadam 962d5a5674 fixes 2021-06-26 13:35:36 +02:00
zadam 995e6c2fef release 0.47.5 2021-06-25 21:26:48 +02:00
zadam 0a2807c0b3 update to electron 13.1.4 which fixes the PDF display on Windows, closes #1976 2021-06-25 21:26:15 +02:00
zadam 1b9c3b0759 keep focus when clicking on edit read only note 2021-06-24 23:50:56 +02:00
zadam f1a36f6cea add keyboard shortcut for the edit button, #2036 2021-06-24 20:27:04 +02:00
zadam d9ec8bba80 fix layouting 2021-06-15 23:04:13 +02:00
zadam 02da5b598c added "edit" button into ribbon button container 2021-06-15 22:59:13 +02:00
zadam 2220c4491b layout fixes 2021-06-15 21:53:22 +02:00
zadam fb31acc8e0 layout changes 2021-06-13 22:55:31 +02:00
dependabot[bot] 92cf2c18fa Bump normalize-url from 4.5.0 to 4.5.1 (#2006)
Bumps [normalize-url](https://github.com/sindresorhus/normalize-url) from 4.5.0 to 4.5.1.
- [Release notes](https://github.com/sindresorhus/normalize-url/releases)
- [Commits](https://github.com/sindresorhus/normalize-url/commits)

---
updated-dependencies:
- dependency-name: normalize-url
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-12 12:01:16 +02:00
alex c5182b8757 add Chinese wiki support (#2013) 2021-06-12 12:00:55 +02:00
zadam e054a1694e using rate limiter 2021-06-11 21:00:06 +02:00
zadam 3a7da1d561 icon and theme experiments 2021-06-06 22:15:51 +02:00
zadam 3893f663d0 sql console also doesn't create a normal note by default 2021-06-06 13:38:01 +02:00
zadam a0de3c97a5 note paths widget does not show hidden path 2021-06-06 11:13:17 +02:00
zadam c886583396 added "save search to note" button 2021-06-06 11:01:10 +02:00
zadam e48609aa68 introducing hidden notes, WIP 2021-06-05 23:35:47 +02:00
zadam 882912826f fix ribbon shrinking/wrap 2021-06-05 22:40:17 +02:00
zadam 6d51593b7d removed CSS contain from widgets 2021-06-05 22:07:15 +02:00
zadam faab6be48d removed zen mode 2021-06-05 21:56:39 +02:00
zadam 8debf18984 added plugin buttons to the launcher pane 2021-06-05 14:12:17 +02:00
zadam 4bf1c25721 fixed resizer for both left and right pane 2021-06-05 14:01:21 +02:00
zadam a1d7737551 right pane restoration for custom widgets 2021-06-03 23:34:40 +02:00
zadam 2bfd7b844c refactoring of pane => split, "pane" keeps its old meaning (left-pane, center-pane, right-pane) 2021-06-03 22:23:11 +02:00
zadam ac04be4433 mobile frontend fixes 2021-06-03 21:47:25 +02:00
zadam 5e5df72020 theme refactoring 2021-06-03 12:57:39 +02:00
zadam f1344e3b95 refactoring of "collapsible section container" into "ribbon container" 2021-06-03 12:47:13 +02:00
zadam 9216e430db fix relation map 2021-06-03 12:32:48 +02:00
zadam 855b876d50 Merge remote-tracking branch 'origin/stable' into redesign 2021-06-03 12:29:58 +02:00
zadam c04bbd4973 context menu now offer option to open notes in a new pane 2021-06-03 12:25:33 +02:00
zadam 1a615398aa docker now uses node 14.17 as other builds 2021-06-02 23:37:55 +02:00
zadam b557a44f34 release 0.47.4 2021-06-02 21:44:19 +02:00
zadam f50bb2278c Merge remote-tracking branch 'origin/stable' into stable 2021-06-02 21:41:06 +02:00
zadam 6b68068cde Merge remote-tracking branch 'origin/master' into stable 2021-06-02 21:40:43 +02:00
zadam 7ed816f1b2 dark theme tweaks 2021-06-02 21:39:18 +02:00
zadam f8dd8ebf1a dark theme tweaks 2021-06-02 21:23:40 +02:00
zadam 4c64bd852e Merge remote-tracking branch 'origin/stable' into redesign 2021-06-01 23:33:07 +02:00
zadam af62b07d5b Merge remote-tracking branch 'origin/master' into redesign 2021-06-01 23:32:53 +02:00
zadam 4338f65e01 dark mode fixes + refactoring 2021-06-01 23:19:49 +02:00
zadam 9a147365f5 link map lazy loading 2021-06-01 22:03:38 +02:00
zadam e48bbe5b19 link map WIP 2021-05-31 23:38:47 +02:00
zadam bdff1c1246 removal of link map service 2021-05-31 21:31:07 +02:00
zadam d4a955a3f5 cleaned up link map 2021-05-31 21:23:01 +02:00
zadam 07e214c564 link map zooming 2021-05-31 21:20:30 +02:00
zadam b351157a6a link map WIP 2021-05-30 23:21:34 +02:00
zadam 56378cd0f5 reorder database initialization so that all critical sections are in the same transaction, #1985 2021-05-30 22:03:41 +02:00
zadam a76e3f6e2d correctly logging slow async requests 2021-05-30 21:21:20 +02:00
zadam f5573fcad4 starting work on link map reimplementation using force-graph library 2021-05-29 22:52:32 +02:00
zadam 60f88574b0 put show source button back to note actions since it's pretty rare 2021-05-29 20:54:11 +02:00
zadam 65c3bcb565 don't override section activation if section if open 2021-05-29 14:25:05 +02:00
zadam ef4bc13dd1 section widgets are updated lazily 2021-05-29 14:13:22 +02:00
zadam aa901b67ed remove unused static getType() from section widgets 2021-05-29 13:51:21 +02:00
zadam 7a389baf08 moved to section widgets 2021-05-29 13:24:47 +02:00
zadam 57b6271c0b similar notes section widget 2021-05-29 13:24:14 +02:00
zadam 9532a5662f added note paths section container 2021-05-29 13:06:09 +02:00
zadam 520db931ae maximize button 2021-05-28 23:52:42 +02:00
zadam 5e19a37df7 fix rendering 2021-05-28 23:21:55 +02:00
zadam 4b6b8b1678 link map section widget 2021-05-28 23:19:11 +02:00
zadam a3d44fbdef button tweaks 2021-05-28 22:47:59 +02:00
zadam 7fcf90437a button changes and book properties 2021-05-27 23:17:13 +02:00
zadam 614b1bdbaf added safe mode scripts 2021-05-27 21:29:23 +02:00
zadam 4d213300ac added buttons to section container 2021-05-26 23:08:00 +02:00
zadam b7ca3dec54 added note info into section container 2021-05-26 23:00:40 +02:00
zadam c4987c4fd1 added basic properties 2021-05-26 22:41:55 +02:00
zadam f176191efb Merge remote-tracking branch 'origin/stable' into redesign
# Conflicts:
#	package-lock.json
#	package.json
2021-05-26 21:44:08 +02:00
zadam dc5304faa0 updated ckeditor content styles 2021-05-26 21:41:58 +02:00
zadam 205f9953f9 Merge remote-tracking branch 'origin/stable' into redesign
# Conflicts:
#	package-lock.json
#	package.json
2021-05-26 21:27:06 +02:00
zadam 58d61800f3 tweaks 2021-05-26 21:26:12 +02:00
zadam b9639bffce imported internal links crash ckeditor, #1979 2021-05-25 21:45:59 +02:00
zadam 3c7232f427 don't error out when backend log does not exist yet, fixes #1977 2021-05-25 21:03:00 +02:00
zadam 5707b7e29a closing panes 2021-05-24 22:29:49 +02:00
zadam 2f5d3729de fixes 2021-05-24 21:43:24 +02:00
zadam bae8551652 open the pane on the correct position 2021-05-24 21:05:44 +02:00
zadam 1f5e4530c3 moved note actions button into section container 2021-05-24 14:39:44 +02:00
zadam 7d94202460 reworked section container to be icon based 2021-05-23 23:41:01 +02:00
zadam 30cc566518 tweaks 2021-05-23 22:24:04 +02:00
zadam 85933771f8 tab styling changes 2021-05-23 21:24:22 +02:00
zadam e924662a29 tree visual changes, fonts etc. 2021-05-23 20:26:54 +02:00
zadam 2985100801 visual tweaks 2021-05-22 23:25:44 +02:00
zadam d68ea201a3 fixes 2021-05-22 22:55:24 +02:00
zadam 7528181ca2 nice tooltips for side buttons 2021-05-22 21:51:40 +02:00
zadam 1302765478 added sidebar toggle button 2021-05-22 21:35:25 +02:00
zadam 5b220adc31 refactored TabContext => NoteContext 2021-05-22 17:58:46 +02:00
zadam 98dfc77195 refactored TabContext => NoteContext 2021-05-22 13:04:08 +02:00
zadam 1a0aaf4a30 refactored TabContext => NoteContext 2021-05-22 12:42:34 +02:00
zadam 79a85a0aa7 refactored TabContext => NoteContext 2021-05-22 12:35:41 +02:00
zadam 274cf7312c refactored TabContext => NoteContext 2021-05-22 12:26:45 +02:00
zadam 29e4e2afbb split window WIP 2021-05-21 22:44:08 +02:00
zadam 39f0f26f28 split window WIP 2021-05-21 22:34:40 +02:00
zadam 1a13132a69 split window WIP 2021-05-20 23:13:34 +02:00
zadam a3847842cb split window WIP 2021-05-19 23:00:03 +02:00
zadam b7bd5396d1 split window WIP 2021-05-19 22:45:34 +02:00
zadam 8c1c9b00e2 buttons on the left improvements 2021-05-18 22:49:47 +02:00
zadam 845f5d15c4 buttons on the left 2021-05-18 22:14:35 +02:00
zadam d18b95d87c Merge branch 'next' into redesign 2021-05-18 21:08:02 +02:00
zadam 731051154b Merge branch 'stable' into next
# Conflicts:
#	package.json
2021-05-18 21:07:29 +02:00
zadam a093508fbe converting note properties to methods 2021-05-18 20:56:49 +02:00
zadam 5860b2eebb style cleanup 2021-05-18 20:46:19 +02:00
zadam a4aaa49774 fix width in zen mode, closes #1965 2021-05-18 20:30:06 +02:00
zadam a4c7069856 Delete FUNDING.yml 2021-05-18 19:56:00 +02:00
zadam 7cad65b370 Update FUNDING.yml 2021-05-18 19:55:45 +02:00
zadam 3ead734323 Create FUNDING.yml 2021-05-18 19:54:19 +02:00
zadam 2451596e8c converting note properties to methods 2021-05-17 22:35:36 +02:00
zadam a5d702b143 moved becca to top level source dir 2021-05-17 22:10:00 +02:00
zadam 439ef4a8cb moved becca to top level source dir 2021-05-17 22:09:49 +02:00
zadam 8bd3e17a3b removed legacy entities and repository 2021-05-17 22:05:35 +02:00
zadam 7a7c890946 redesign experiments 2021-05-17 21:46:18 +02:00
zadam cb8e551ee0 release 0.47.3 2021-05-15 23:05:20 +02:00
zadam 04f249e800 backend scripts should not be async because of transaction management 2021-05-15 22:57:23 +02:00
zadam a65eda5e4a Merge remote-tracking branch 'origin/master' into next 2021-05-15 22:45:28 +02:00
zadam 9645a07f2f Merge remote-tracking branch 'origin/stable' into next
# Conflicts:
#	package-lock.json
#	package.json
2021-05-15 22:45:11 +02:00
zadam f6dd1110e8 fix sync status 2021-05-15 22:00:53 +02:00
zadam 623200b92b fix "force note sync" 2021-05-15 14:04:01 +02:00
zadam 4ff40ba14f fix sync status in-progress 2021-05-15 13:44:12 +02:00
zadam 16563eaba4 limit data base filename in ZIP export to 30 characters 2021-05-15 13:22:54 +02:00
zadam caa6e9ee72 use archiver.js to export instead of yazl, #1938 2021-05-14 22:57:44 +02:00
zadam f4a58a2598 Merge remote-tracking branch 'origin/master' 2021-05-14 22:35:15 +02:00
zadam cecce1df20 electron upgrade 2021-05-14 22:23:11 +02:00
zadam 2030c8e995 fallback value for isErased for 0173 migration, #1937 2021-05-14 21:52:14 +02:00
zadam 8a9bd4deb4 zooming with ctrl + mousewheel 2021-05-12 22:38:17 +02:00
zadam 8417d4a4ea various becca migration fixes 2021-05-11 22:00:16 +02:00
zadam 5d58520949 froca should not keep any deleted notes 2021-05-09 22:00:21 +02:00
zadam d8d15b528e fix .runOnBackend() API call 2021-05-09 21:29:59 +02:00
zadam 1d008cad13 fixes 2021-05-09 20:46:32 +02:00
zadam ef0941479c fix undelete 2021-05-09 11:12:53 +02:00
zadam 9afea492db delete note fixes 2021-05-08 23:31:20 +02:00
zadam 84246fd197 adding missing .getPojo() to becca entities 2021-05-08 22:13:08 +02:00
zadam 9441cb177f undelete becca conversion 2021-05-08 22:01:14 +02:00
zadam bcfe097dd6 refactoring of becca entity saving 2021-05-08 21:10:58 +02:00
Jules-Bertholet a410ed1b74 Update KaTeX to v0.13.9 (#1925)
* Update KaTeX to v0.13.9

* Allow KaTeX commands like \url and \includegraphics
https://katex.org/docs/options.html
2021-05-08 20:58:56 +02:00
zadam 2edc7dbf58 merge fixes 2021-05-08 11:20:20 +02:00
zadam 051b9dff21 Merge remote-tracking branch 'origin/stable' into next
# Conflicts:
#	package-lock.json
#	package.json
#	src/public/app/entities/note_short.js
#	src/public/app/services/protected_session.js
#	src/routes/api/login.js
2021-05-08 10:58:38 +02:00
zadam de6108f95d protected session is now global application state to avoid weird issues with multiple tabs/windows/reloads 2021-05-07 22:23:49 +02:00
zadam fddab59265 added note.executeScript() 2021-05-07 21:23:10 +02:00
Jules-Bertholet 1308dc20e8 Add support for mhchem markup in KaTeX (#1917) 2021-05-06 22:38:56 +02:00
zadam e257634ccf becca conversion WIP 2021-05-02 22:47:57 +02:00
zadam 3091119893 becca conversion WIP 2021-05-02 21:34:57 +02:00
zadam c035627f0a use .markAsDeleted() instead of setting .isDeleted manually 2021-05-02 20:32:50 +02:00
zadam 273d4e0052 becca conversion WIP 2021-05-02 19:59:16 +02:00
zadam 77eac8f764 becca conversion WIP 2021-05-02 12:02:32 +02:00
zadam 1af10d48a2 becca conversion WIP 2021-05-02 11:23:58 +02:00
zadam d13c8771ca becca conversion WIP 2021-05-01 21:52:22 +02:00
zadam 6626f100ad becca conversion WIP 2021-05-01 11:38:20 +02:00
zadam ccadff5015 becca conversion WIP 2021-04-30 23:10:25 +02:00
zadam e41be520a8 becca conversion WIP 2021-04-30 22:13:13 +02:00
zadam 43eb248450 Merge branch 'master' into next 2021-04-29 22:09:48 +02:00
zadam f22c76d9fb fix focusing tree from note detail, closes #1897 2021-04-27 23:05:28 +02:00
zadam b1131844d6 fix filling entity changes from Options' Advanced tab, closes #1898 2021-04-27 22:59:08 +02:00
zadam 03f3e46f8b release 0.47.2 2021-04-26 22:32:54 +02:00
zadam 6f1b0b92fe fix searchForNote backend API method 2021-04-26 22:27:12 +02:00
zadam 219098ab53 more becca changes 2021-04-26 22:24:55 +02:00
zadam e466c393eb converted NoteRevision entity to the becca 2021-04-26 22:18:14 +02:00
zadam d8f1c39282 converted NoteRevision entity to the becca 2021-04-26 22:00:55 +02:00
zadam cb3a5bba61 Merge branch 'master' into next
# Conflicts:
#	package-lock.json
2021-04-26 21:45:37 +02:00
zadam 5e40c03fc9 use Map instead of object where keys can be (reserved) words, fixes #1895 2021-04-26 21:12:46 +02:00
zadam 3b1fb8024f handle undefined in the search ordering 2021-04-26 21:04:22 +02:00
zadam 93cae44ba0 subtree duplication with becca 2021-04-25 22:02:32 +02:00
zadam a5ee590544 after note creation with becca 2021-04-25 21:24:32 +02:00
zadam 6c5b1420d2 basic note creation with becca 2021-04-25 21:19:18 +02:00
zadam 8d8d654fe8 becca entities enriched with functionality from repository entities 2021-04-25 20:00:42 +02:00
zadam 7494491560 Merge remote-tracking branch 'origin/master' into next
# Conflicts:
#	package-lock.json
#	src/public/app/services/note_content_renderer.js
#	src/public/stylesheets/style.css
#	src/routes/api/files.js
#	src/routes/routes.js
2021-04-25 11:14:45 +02:00
FliegendeWurst 6f49f870ed Exit on SIGTERM (#1891)
Stopping the systemd service running the server now works properly.
2021-04-25 11:05:09 +02:00
zadam b9133cb683 fix keyboard shortcut for "open externally" 2021-04-24 22:18:25 +02:00
zadam ccac46527c opened file change detection now useable on all note types 2021-04-24 21:56:44 +02:00
zadam dcd35b1ea2 fix broken inline PDF viewer, #1833 2021-04-24 20:27:42 +02:00
zadam a74741343e upload of modified open file WIP 2021-04-24 11:39:59 +02:00
zadam 4ff7e0813d upload of modified open file WIP 2021-04-24 11:39:44 +02:00
zadam 6d2d72fa7f add ERR_ADDRESS_UNREACHABLE as expected sync exception, #1888 2021-04-24 10:17:21 +02:00
zadam 30ec706d37 Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	package.json
#	src/services/build.js
2021-04-22 21:25:15 +02:00
zadam 25ce2e4253 release 0.46.9 2021-04-22 20:50:22 +02:00
zadam b5674223e5 fixed some incorrect order by behavior, #1881 2021-04-22 20:28:26 +02:00
zadam 02988ed2b3 added random ordering 2021-04-22 19:53:11 +02:00
zadam c27f573eed fix line continuation in the release script 2021-04-22 19:39:57 +02:00
zadam c5b0c60797 Merge remote-tracking branch 'origin/master' 2021-04-21 23:03:16 +02:00
zadam 025af8df02 ckeditor 27.1 2021-04-21 23:03:09 +02:00
chee d9e8cff00f Only add widgets that are executable (#1875)
closes #1874
2021-04-21 22:25:52 +02:00
zadam 1a4f35470c Merge remote-tracking branch 'origin/stable' 2021-04-21 22:04:33 +02:00
zadam 1d99c4e80b fix moving notes with keyboard on Firefox, closes #1865 2021-04-21 22:03:41 +02:00
zadam dc7c64a94d Merge remote-tracking branch 'origin/stable' into stable 2021-04-21 20:38:15 +02:00
zadam dc6a530d8c clear note selection anytime a new note is activated 2021-04-21 20:38:07 +02:00
chee 38b0d05c20 Add .includes to the type check (#1871)
beforehand it would always be `true`
fixes #1869
2021-04-21 20:16:15 +02:00
zadam 6e010dfbd7 fix note preview, closes #1869 2021-04-21 20:14:37 +02:00
zadam 172bdb6118 release 0.47.1-beta 2021-04-19 22:43:03 +02:00
zadam 6136243d61 release 0.47.1-beta 2021-04-19 22:40:50 +02:00
zadam a88a32acae support OPML from MindManager, fixes #1862 2021-04-19 22:33:58 +02:00
zadam 583df35231 log warning about unsucessful login 2021-04-19 21:41:29 +02:00
zadam 634baae796 Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	src/services/build.js
2021-04-19 20:56:56 +02:00
zadam a674a12706 disable tar polluting build log 2021-04-19 20:56:05 +02:00
zadam c29f1af48f use n to force node version
(cherry picked from commit 51d1d8efb8)
2021-04-19 20:51:06 +02:00
zadam 51d1d8efb8 use n to force node version 2021-04-19 20:26:58 +02:00
zadam a8d72c46e4 release 0.46.8 2021-04-18 21:47:45 +02:00
zadam ec36fbd83e release 0.46.8 2021-04-18 21:46:35 +02:00
zadam aedb05cbab release 0.46.8 2021-04-18 21:39:01 +02:00
zadam bb16840a72 release 0.46.8 2021-04-18 21:30:43 +02:00
zadam 7b5d44a329 use official gh client instead of github-release to execute releases 2021-04-18 21:29:10 +02:00
zadam d3cccae2df implemented audio/video in note content renderer + streaming API #886 2021-04-18 12:40:12 +02:00
zadam 9ba514d930 Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	package-lock.json
#	trilium.iml
2021-04-18 12:39:19 +02:00
zadam 79bb249f3b implemented audio/video in note content renderer + streaming API #886 2021-04-17 22:35:47 +02:00
zadam 1fdf889ccf refactoring 2021-04-17 20:52:46 +02:00
zadam 42510fda5c renamed also cache files/modules 2021-04-16 23:01:56 +02:00
zadam f7e86c5be0 renamed noteCache into becca 2021-04-16 23:00:08 +02:00
zadam af5b1021c7 renamed treeCache into froca 2021-04-16 22:57:37 +02:00
zadam 8e1b8ab26c show not set keyboard shortcuts as "not set", #1851 2021-04-15 21:45:37 +02:00
zadam 4311834d75 reload note cache if transaction rollback is detected 2021-04-14 22:57:45 +02:00
zadam 197537b159 idea config stuff 2021-04-13 21:54:34 +02:00
zadam 917b259e92 add new sync status "unknown" to differentiate from "can't connect", #1844 2021-04-13 21:54:07 +02:00
zadam a53a65be1f clipper fix, closes #1840 2021-04-12 23:29:02 +02:00
zadam 44aa2834b3 release 0.47.0-beta 2021-04-11 22:29:56 +02:00
zadam 58e4bd4974 Merge remote-tracking branch 'origin/stable' 2021-04-11 22:28:30 +02:00
zadam 44af431a93 ctrl + click / middle click now opens image in a text note in a new tab 2021-04-11 22:24:21 +02:00
zadam 479d742e85 partly reverted wrong change, #1820 2021-04-10 23:24:17 +02:00
zadam 3337487063 fixes 2021-04-10 23:23:43 +02:00
zadam beb42f18fe linux server better-sqlite3 binary 2021-04-10 11:15:13 +02:00
zadam 00a27313fb linux desktop and mac better-sqlite3 binaries 2021-04-09 23:40:42 +02:00
zadam 564fea43a9 don't open new tab after duplicating subtree 2021-04-09 23:40:15 +02:00
zadam 3d3142e20c Merge remote-tracking branch 'origin/master' 2021-04-08 21:22:54 +02:00
zadam 9c679aef20 added #runOnInstance and #runAtHour 2021-04-08 21:22:47 +02:00
Davi Alexandre d47a55d23a Avoid resetting all background properties on note-icons (#1834)
This ensures only the background-color property will be changed transparent,
avoiding to reset any other properties (background-image, for example) that
might have been set by some custom CSS rules applied in combination with
#iconClass
2021-04-08 20:24:19 +02:00
zadam 052f584bf4 edit note button is now just an icon 2021-04-08 20:17:35 +02:00
MatAsmania 1dfebdf6db Fix for Evernote workaround and support for en-todo (#1827) 2021-04-07 22:48:49 +02:00
zadam 5314446980 fix seeing only part of the PDF preview 2021-04-07 22:45:46 +02:00
zadam 6b41c26d2b disable entering new line in the attribute editor 2021-04-07 22:35:06 +02:00
zadam 463071ea4d make global button more consistent with sync button 2021-04-07 22:15:44 +02:00
zadam 79c5645964 various javaDoc improvements 2021-04-07 22:01:52 +02:00
zadam 2f58b6b3c8 fix bottom margin/padding styling in tooltip 2021-04-07 21:21:06 +02:00
zadam e7909d25c6 fix linking to notes 2021-04-07 21:12:55 +02:00
zadam f739dbfe87 ckeditor 5.60.0 2021-04-06 22:16:34 +02:00
zadam c43b20ec2b script api search ignores hoisting by default 2021-04-06 21:56:46 +02:00
zadam 2d0cb5b66e update electron to 13 beta 2021-04-06 20:19:34 +02:00
zadam caf38c94c7 fix search route 2021-04-06 20:18:34 +02:00
zadam 51db6761c8 fix opening links with single click outside of the ckeditor instance 2021-04-06 20:18:16 +02:00
zadam 4d110aa143 updated render note help 2021-04-05 22:37:12 +02:00
zadam 9c436cb61f Merge remote-tracking branch 'origin/stable' 2021-04-05 21:39:35 +02:00
zadam caa11b8f7e fix inheriting inheritable attributes through template, closes #1828 2021-04-05 20:52:19 +02:00
zadam 926e9e12c0 Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	package-lock.json
#	package.json
2021-04-05 11:44:42 +02:00
zadam c4d35fb44e fix reference link widget in attr editor after CKEditor 27 upgrade 2021-04-05 11:28:34 +02:00
zadam 1b41b92e02 publish xml2js into backend script api 2021-04-05 11:18:56 +02:00
zadam 41cce4dcb9 improved task manager with allowed year range, #1823 2021-04-04 23:57:55 +02:00
zadam 858072cc10 fix lexer to parse correctly quoted empty strings, #1825 2021-04-04 23:13:18 +02:00
zadam 855c5e0e67 fix unit tests 2021-04-04 22:44:22 +02:00
WPum 903e6b7ccc correct a typo in #1820 fix (#1824)
Thanks!
2021-04-04 22:11:42 +02:00
zadam c71f3c35b8 Merge remote-tracking branch 'origin/stable' 2021-04-04 22:03:00 +02:00
zadam f0cc3d0bcd use entity changes instead of actual tables to fill in sector to sync, fixes #1809 2021-04-04 22:02:40 +02:00
zadam 7672f22ce0 release 0.46.7 2021-04-03 22:37:04 +02:00
zadam ef37a52a06 when leaving protected session don't forget to reset note cache (titles), #1810 2021-04-03 22:02:25 +02:00
zadam 2318d615bb make note cache decryption more robust - one failure will not crash the whole process, #1810 2021-04-03 21:48:16 +02:00
zadam 2e82b7380b hide relationMapLink and template relations from link map, fixes #1820 2021-04-03 11:28:11 +02:00
zadam bc14c3d665 backport not deforming standard top widget in small window size from master 2021-03-31 22:59:07 +02:00
zadam b89ea9a684 check for note cache branch existence, #1808 2021-03-31 22:35:10 +02:00
zadam 6c9ac5b5ec jquery 3.6.0 2021-03-30 23:32:44 +02:00
zadam 9cd45299b1 grid items in note list are clickable as a whole 2021-03-30 23:26:14 +02:00
zadam f1f4f45c9d display note icon in note list 2021-03-30 23:13:16 +02:00
zadam 8644c38abc hide sync status on extra window until the sync status is known 2021-03-30 22:59:25 +02:00
zadam e569ae1a0d one sync status tooltip did not have data-toggle="tooltip" 2021-03-30 22:53:23 +02:00
zadam da741b522e note cache fixes, #1805 2021-03-30 21:39:42 +02:00
zadam e055d4e15e ckeditor 27 2021-03-29 23:29:14 +02:00
zadam 58200d6431 fix dragabilly webpack build 2021-03-29 22:01:01 +02:00
zadam 57db945558 set cssClass and other note related classes on the root widget instead, fixes #1799 2021-03-28 22:24:24 +02:00
zadam 2e6cd5f809 Merge remote-tracking branch 'origin/master' 2021-03-28 00:07:45 +01:00
zadam 6541523e88 empty page on new tab nw offers list of available workspaces 2021-03-28 00:07:38 +01:00
Igor f60b282e09 * Russian README added (#1794)
* * Russian README added

* Links to another READMEs added

* * Fix inline images

Co-authored-by: mopsicus <lii@rstgames.com>
2021-03-27 20:32:01 +01:00
bavis-m 744ed27d91 If the database hasn't been initialized (new install?) don't attempt to update our last synced id, as there is no db to grab it from (prevents running the server as a fresh install completely) (#1797)
Co-authored-by: Mark <mark@mhack.io>
2021-03-27 20:30:40 +01:00
zadam a254199746 Merge remote-tracking branch 'origin/stable' 2021-03-26 21:47:24 +01:00
zadam 496767a52b release 0.46.6 2021-03-25 20:28:57 +01:00
zadam 9139c597e5 use only one label for icon class, fixes #1791 2021-03-25 19:46:10 +01:00
zadam 942132c01d release 0.46.6 2021-03-23 23:57:48 +01:00
zadam 928c8bfdf7 Merge remote-tracking branch 'origin/stable' 2021-03-23 22:47:42 +01:00
zadam 1862acd1ff avoid getting refreshes on note title 2021-03-23 22:46:18 +01:00
zadam ce7e18d0b0 fix syncing protected notes in case there wasn't any other change, closes #1778 2021-03-23 22:18:23 +01:00
zadam 65280d5ba3 avoid ugly error in the logs, #1778 2021-03-22 23:27:41 +01:00
zadam 7e3d424e23 fix deleting all revisions, closes #1774 2021-03-22 23:07:43 +01:00
zadam d5f38c0f88 sync status style fix 2021-03-21 23:45:15 +01:00
zadam 56f97f1081 dragging the tab vertically by 100px will now move it to a new window (chrome like behavior) 2021-03-21 23:35:13 +01:00
zadam e648505ad3 avoid weird button shrinking when window size is too small, fixes #1745 2021-03-21 23:12:34 +01:00
zadam 71c3fd5cbb don't use special layout for "extra window" 2021-03-21 23:05:31 +01:00
zadam f9b0418333 sync status widget tweaks 2021-03-21 22:46:45 +01:00
zadam 392a00ac17 sync status widget 2021-03-21 22:43:41 +01:00
zadam 1a9919a866 sync status widget WIP 2021-03-21 00:01:28 +01:00
zadam 9dd95b62a9 added ScrollingContainer to guarantee scrolling to top when switching notes 2021-03-20 19:44:43 +01:00
zadam 135b4fe88e Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	src/public/app/layouts/mobile_layout.js
2021-03-20 12:49:37 +01:00
zadam bff04c121a fix scrolling in mobile frontend, closes #1768 2021-03-20 12:47:47 +01:00
zadam b79d81a94d sync status widget WIP 2021-03-20 00:00:49 +01:00
zadam 7e2186721f added "re-render note" menu item & shortcut, closes #1766 2021-03-19 22:34:56 +01:00
zadam 6a70e0ab97 add trilium-no-cert-check bat/shell file in order to be able to connect to the sync server even without valid server certificate 2021-03-18 23:49:28 +01:00
zadam b38a63d336 delete notes dialog provides checkbox to switch between delete all clones and normal delete 2021-03-18 23:42:30 +01:00
zadam d62558d97a delete notes dialog WIP 2021-03-18 23:23:35 +01:00
zadam 76aa7d1451 Merge remote-tracking branch 'origin/master' 2021-03-18 22:11:45 +01:00
zadam 4f401d71a2 Merge remote-tracking branch 'origin/stable' 2021-03-18 21:11:56 +01:00
Patrick Moriarty eb437ff642 Add mobile dropdown for plugin buttons (#1762)
* Add mobile toolbar buttons

* cleanup

* more cleanup

* Mobile plugin buttons: Add else block & change icon
2021-03-18 21:09:08 +01:00
zadam 6edc6e2825 load search result only on explicit action (expand node, execute search), #1759 2021-03-18 21:05:43 +01:00
zadam e8903e82a1 add option to disable note tree auto collapse, fixes #1751 2021-03-18 20:11:58 +01:00
zadam 59e8cb8c8b Merge remote-tracking branch 'origin/stable' 2021-03-17 23:20:28 +01:00
zadam 0cfd95d9b8 not finding node for a note path does not have to be always an error 2021-03-17 23:17:54 +01:00
zadam 1aa5349628 make edit button visible for empty readonly notes, fixes #1760 2021-03-17 22:41:37 +01:00
Patrick Moriarty a4bffbfa60 Mobile view: iOS sizing/styling changes (#1756)
* Fix dark themed action-button text color on mobile safari

* Fix note view scrolling on ios safari

* Fix scroll issues on tree view on ios safari

* Fix mobile firefox/chrome sizing issues

* Fix scroll-to-active-note
2021-03-17 22:07:53 +01:00
zadam 70656d240b better-sqlite3 built for electron 12 windows 2021-03-15 23:49:08 +01:00
zadam 42067b3c1e Merge remote-tracking branch 'origin/stable' 2021-03-15 23:40:44 +01:00
zadam 0bc91da0bb added possibility to zoom into images using mousewheel 2021-03-15 22:24:56 +01:00
zadam 4e21d12202 fix nodejs 10 compatibility, closes #1746 2021-03-15 20:31:12 +01:00
zadam fdce218e88 release 0.46.5 2021-03-14 22:56:27 +01:00
zadam 5b72b577b8 delete notes preview dialog WIP 2021-03-14 22:54:39 +01:00
zadam ec2f8ec796 added subtree note count into info widget 2021-03-14 20:47:33 +01:00
zadam cd3f8a41af removed (112) migrations originating before first public release (0.20 in Sept 2018) 2021-03-14 20:37:35 +01:00
zadam aa8bf0e60a Revert "Revert "delete notes skeleton dialog""
This reverts commit 584fea19
2021-03-14 19:54:40 +01:00
zadam 5b3a6b5e9d Merge remote-tracking branch 'origin/stable' 2021-03-14 19:53:51 +01:00
zadam 6c8d20288d fix 0.46 regression to set up sync from client, fixes #1742 2021-03-13 22:54:00 +01:00
zadam 88d04772c4 make sure the CLS entity changes are cleared after roll backed transaction, #1736 2021-03-12 23:48:14 +01:00
zadam 9fd26a9b9f when creating new note into inbox use current hoisted note in new tab as well 2021-03-12 21:47:26 +01:00
zadam 98f02c3c9a added "hoistedInbox" label 2021-03-12 21:29:50 +01:00
zadam 584fea1992 Revert "delete notes skeleton dialog"
This reverts commit 03a11e6f
2021-03-12 20:44:19 +01:00
zadam af50a1ec52 Merge remote-tracking branch 'origin/stable' into stable 2021-03-12 20:39:51 +01:00
zadam 4e76d1fa85 hide some "boring" attributes from book listing view 2021-03-12 20:39:42 +01:00
zadam 81e226af6f Merge remote-tracking branch 'origin/stable' 2021-03-12 20:27:05 +01:00
zadam 03a11e6f77 delete notes skeleton dialog 2021-03-11 22:35:53 +01:00
zadam cb558e1378 Merge remote-tracking branch 'origin/stable' 2021-03-11 21:14:58 +01:00
zadam e1a16b4a9f defensive check, #1736 2021-03-11 20:28:07 +01:00
zadam 12b468d3dc release 0.46.4-beta 2021-03-10 23:35:12 +01:00
zadam 6f901e6852 use icons instead of plain text to differentiate between different paths in note paths widget 2021-03-10 23:11:48 +01:00
zadam 09e9ac4d00 prevent cycles in resolving the notepath, fixes #1730 2021-03-10 22:54:55 +01:00
zadam 723a0e479e ckeditor 26.0 2021-03-10 20:02:23 +01:00
zadam 5b8e876b77 upgrade to electron 12 2021-03-09 22:36:41 +01:00
zadam a33ac65fdf fix focus on moving notes with keyboard 2021-03-09 22:24:59 +01:00
zadam f8fb071a6f added option to bring back plain (non-markdown) headings, closes #1678 2021-03-09 22:06:40 +01:00
zadam a654078e56 fix broken template copy, closes #1724 2021-03-09 20:51:57 +01:00
zadam fba68681aa when resolving note path check if there's a hoisted note in it, if not, try again to find some path with hoisted note, closes #1718 2021-03-09 20:37:56 +01:00
zadam 50c84e0f5f release 0.46.3-beta 2021-03-08 23:11:11 +01:00
zadam f27370d44f fix putting focus back to the note tree after note deletion 2021-03-08 23:10:34 +01:00
zadam c6c9202c00 fix note icon color in dark mode 2021-03-08 22:06:26 +01:00
zadam 2cafda5f66 note paths visually distinguishes between different note paths, closes #1669 2021-03-08 22:04:52 +01:00
zadam 873953cbaf fix bug 2021-03-08 00:09:48 +01:00
zadam d51744ce19 make note paths current path underlined 2021-03-08 00:07:00 +01:00
zadam 7df8c940b6 have paths in "note paths" widget also sorted by priority 2021-03-08 00:04:43 +01:00
zadam 9bac2a4819 refresh inherited attribute list after attr change, closes #1717 2021-03-07 23:31:56 +01:00
zadam 88147f7a0a fixed "create note after" position issue 2021-03-06 23:53:10 +01:00
zadam ca77211b38 improved template code with better heuristics on when to copy things from the template 2021-03-06 21:34:03 +01:00
zadam 4606e8d118 non-search notes should have no children limit, #1673 2021-03-06 20:31:12 +01:00
zadam 9f002fa802 change the heuristics to choose the best note path when ambiguous/incomplete/just noteId is provided, #1711 2021-03-06 20:23:29 +01:00
zadam 060d4fc27b fix duplication of hoisted note tree when hoisted note has clones 2021-03-04 23:19:27 +01:00
zadam bf0fbe201e hack when hoisted note is cloned then it could be filtered multiple times while we want only 1 2021-03-03 23:00:16 +01:00
zadam 721e5da672 use notePath instead of noteId for note creation to correctly work with cloned ancestors 2021-03-03 22:48:06 +01:00
zadam 8192b51b8a cleanup of createTopLevelNote 2021-03-03 22:27:57 +01:00
zadam 73514a63d8 when resolving note path attempt to find one going through hoisted note 2021-03-03 21:49:57 +01:00
zadam f8c310eb8f added license mention into the README noting AGPL v3+, #1708 2021-03-03 21:41:44 +01:00
zadam b9422b0efd cssClass is now added also to link map and relation map, closes #1702 2021-03-02 23:20:53 +01:00
zadam 14ced949a9 fix modifying index in note cache when deleting attribute, closes #1706 2021-03-02 23:10:42 +01:00
zadam 5b5c2a2dbb fix null utcDateChanged in entity_changes, closes #1705 2021-03-02 22:08:29 +01:00
zadam 2c958eaacb Merge branch 'sort-by' 2021-02-28 23:40:37 +01:00
zadam 4aa27b6033 added "sort by" dialog 2021-02-28 23:40:15 +01:00
zadam 89a0c5a1c9 fix "no data" when switching between tabs with different hoisted notes, closes #1699 2021-02-28 19:46:04 +01:00
zadam 78e48095e6 prompt user when there are unsaved changes, #1692 2021-02-27 23:39:02 +01:00
zadam 02016ed031 fix create full search note 2021-02-27 21:19:54 +01:00
zadam cb91dadeca add possibility to define search home for hoisted notes, #1694 2021-02-27 21:18:10 +01:00
zadam 2c755bcc38 don't fail (immediatelly) when sql insert doesn't return lastInsertRowid, #1665 2021-02-27 21:09:13 +01:00
zadam 3c7a6bc1e4 use longer update interval for web 2021-02-27 21:08:27 +01:00
zadam 3fe87259e2 if search note would end up outside of current hoisting, save it under the hoisted note, closes #1694 2021-02-26 23:33:22 +01:00
zadam d476dfc53b fix searching the second time in quick search, #1694 2021-02-26 23:20:49 +01:00
zadam 19821b634f release 0.46.2-beta 2021-02-25 22:41:35 +01:00
zadam cde41b268e allow copying type, mime, content from template only for text and code note types, fixes #1689 2021-02-25 22:33:26 +01:00
zadam 1c59bc4d3c sort child notes by ... WIP 2021-02-25 22:26:46 +01:00
zadam cb6d35236c update correctly "multi-parent" node status, fixes #1688 2021-02-25 21:16:21 +01:00
zadam 7572ee284b set search note title correctly during creation 2021-02-25 20:02:49 +01:00
zadam d0eaf623a8 activate node after calling "scroll to active note", fixes #1685 2021-02-24 22:41:24 +01:00
zadam 25c2db6c3a sort parent relationships so that clones in search notes appear last, fixes #1686 2021-02-24 22:38:26 +01:00
zadam 5a173ff14e quick search now allows clicking anywhere 2021-02-24 22:19:09 +01:00
zadam 7fab75b085 Merge remote-tracking branch 'origin/master' 2021-02-23 22:01:10 +01:00
zadam 0f065536d0 use 100 children limit on only search notes (as was initially intended), fixes #1673 2021-02-23 22:01:02 +01:00
sigaloid d0747abded no h1 headings (#1679)
#1552
2021-02-23 21:23:23 +01:00
Mirwaisse Djanbaz f62b4a581e Typo in export.js (#1682) 2021-02-23 21:20:19 +01:00
Mirwaisse Djanbaz dcf1c62ec1 Typo in appearance settings (#1683) 2021-02-23 21:19:57 +01:00
zadam 93d55b3e7b put back waiting for sync after frontend API backend request 2021-02-22 22:43:54 +01:00
zadam 90c6852423 hide auto links by default in relation map, allow configuring displayed relations, fixes #1674 2021-02-22 22:34:33 +01:00
zadam 208baa56e9 error handling 2021-02-22 21:59:37 +01:00
zadam ddf8438b22 fix edited notes widget note transitions, fixes #1672 2021-02-21 22:45:32 +01:00
zadam 6008dc891f fix note activation right after creation from calendar 2021-02-21 21:54:16 +01:00
zadam cc887a00f2 runOnBackend now does not automatically wait for the maxSyncId since it can easily result in infinite cycle 2021-02-21 21:28:00 +01:00
zadam fbbd51d0b1 small changes for better debugging infos 2021-02-20 23:17:29 +01:00
zadam 081b8b126a fix note_reordering not updating note cache 2021-02-20 21:28:22 +01:00
zadam 7a6bb81345 display note path in search results 2021-02-20 20:10:45 +01:00
zadam 1d5714c411 release 0.46.1-beta 2021-02-19 23:15:18 +01:00
zadam 56506d33a7 small fixes 2021-02-19 22:58:53 +01:00
zadam c94fb7a62d created a specific widget for search result to add "no results" message 2021-02-19 22:15:56 +01:00
zadam 4160da70be implemented "targetRelationCount" and exposed more of them in order by widget, fixes #1658 2021-02-19 20:42:34 +01:00
zadam 2cfd093cae allow search result to be moved from tree to relation map, fixes #1650 2021-02-18 22:30:55 +01:00
zadam 859465841d add possibility to debug search queries by logging expression tree, #1655 2021-02-18 22:10:49 +01:00
zadam 0c9a11db6f bring back "create and link note" into more places, fixes #1653 2021-02-18 20:10:44 +01:00
zadam 4cbf9c2e86 show "reset to default icon" button only when there is an explicit icon 2021-02-18 20:06:14 +01:00
zadam 1f7997eeed added "reset to default icon" button to icon picker 2021-02-18 19:33:12 +01:00
zadam 8e730c6ecf add frontend API method openTabWithNote, #1645 2021-02-17 23:55:51 +01:00
zadam 600a312b2a fix parsing of "!=" operator, #1651 2021-02-17 23:41:15 +01:00
zadam ec2e973165 allow only valid attr name characters for relation map relations, closes #1649 2021-02-17 23:22:14 +01:00
zadam faeb55bc90 don't allow to bring up delete dialog on saved search results (consistency with context menu) 2021-02-17 23:03:34 +01:00
zadam 23ebe360a6 small fixes 2021-02-17 20:59:44 +01:00
zadam d905335935 correct placement of imported root note (at the end) 2021-02-16 23:38:05 +01:00
zadam f49f510459 fixes in "other notes with relation..." 2021-02-16 23:07:40 +01:00
zadam e78b495bd3 reduce flickering of import by disabling entityChanges notification of frontend 2021-02-16 22:51:00 +01:00
zadam 5542c9dc57 fixed saved note migration - need to be migrated as last, #1647 2021-02-16 21:40:17 +01:00
zadam 2388da7cfb fixed "show in full search" click and keyboard shortcuts for collapse tree and scroll to active note actions, #1647 2021-02-16 21:19:07 +01:00
zadam 3b4fa0c5fc update section container on attribute change, closes #1646 2021-02-16 20:58:17 +01:00
zadam 1af98056bb release 0.46.0-beta 2021-02-15 22:29:35 +01:00
zadam c0edcc1bfe split icon list data into separate file 2021-02-15 22:18:37 +01:00
zadam 597e595c32 filtering for the icon picker 2021-02-15 22:11:38 +01:00
zadam e212a37c84 fixes for SQL console 2021-02-15 20:44:55 +01:00
zadam c41448f5da consistency check for wrong lastSyncedPush 2021-02-15 20:44:31 +01:00
zadam aab49946f8 prototype of note icon picker 2021-02-14 23:27:28 +01:00
zadam cc4d04416b added "delete note revisions" search action 2021-02-14 21:35:13 +01:00
zadam 66c5606d46 implemented "rawContent", #1637 2021-02-14 19:27:31 +01:00
zadam 50bcf45113 fixed "duplicate subtree" creating extra entities in case subtrees contains multiple clones 2021-02-14 12:14:33 +01:00
zadam 08cba1e1ce fixed "duplicate subtree" 2021-02-14 11:43:31 +01:00
zadam f528799fed added "limit" search modifier to search definition 2021-02-13 23:52:52 +01:00
zadam a78c8ddad7 small search help improvements 2021-02-13 23:38:31 +01:00
zadam 3cc93157bf basic support for audio/video preview in file notes (no seeking) 2021-02-13 23:20:22 +01:00
zadam 3dbd80d5a6 relocated note paths widget into note title row 2021-02-13 22:47:06 +01:00
zadam 076b4a6651 small tweaks 2021-02-13 21:52:31 +01:00
zadam 378987e61c added icon to note title row 2021-02-13 20:07:08 +01:00
zadam 5eb850bf59 Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	src/services/search/services/search.js
2021-02-13 12:27:10 +01:00
zadam 4914160590 fix correct application of <small> tag, closes #1635 2021-02-13 12:23:50 +01:00
zadam 00c106aba6 fix update of value from autocomplete, #1557 2021-02-13 12:11:58 +01:00
zadam 5e6d2c8336 db migration fix 2021-02-12 23:52:16 +01:00
zadam d45a59aa4e sync fixes 2021-02-12 23:30:11 +01:00
zadam 9f19cf8046 don't sync recent_notes 2021-02-12 22:39:38 +01:00
zadam c0dfd23191 fix merge conflict 2021-02-11 23:08:37 +01:00
zadam b9539117d8 Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	src/services/auth.js
#	src/services/setup.js
2021-02-11 23:07:20 +01:00
zadam d616a77d6b release 0.45.10 2021-02-11 23:05:48 +01:00
zadam 5b679930de revert accidentally committed auth changes, #1629 2021-02-11 23:04:42 +01:00
zadam 3d7beefad0 sync fixes 2021-02-11 22:50:32 +01:00
zadam 8850de51f5 sync fixes 2021-02-10 22:56:23 +01:00
zadam 18b13657fd don't compare hashes of note_reordering entity_changes 2021-02-09 23:27:09 +01:00
zadam 43ac712fca fix searchForNotes API method to look for archived notes as well 2021-02-09 22:32:25 +01:00
zadam bf231d31a2 fancytree 2.38.0 2021-02-09 21:33:55 +01:00
zadam 7dd19c0366 correct reloading of note subtree when relevant labels change 2021-02-09 20:26:10 +01:00
zadam 0040334e89 fix infinite cycle when template is descendant of an instance 2021-02-09 20:15:14 +01:00
zadam 96a5cb23f3 Merge remote-tracking branch 'origin/stable' 2021-02-08 21:16:14 +01:00
zadam 067ca9ab16 fallback for incorrectly parsed pane widths, #1621 2021-02-08 20:51:38 +01:00
zadam be65e2e62f fixed custom header authentication 2021-02-07 21:50:34 +01:00
zadam bed7bdfd00 "move to new window" respects note hoisting of original tab 2021-02-07 21:27:09 +01:00
zadam cd5be59413 tab row is detecting workspace changes 2021-02-07 20:55:49 +01:00
zadam 2a67d9eae2 added unhoist button to the tree node + onclick fixes 2021-02-06 19:58:12 +01:00
zadam 0f05d6258e small fixes 2021-02-05 23:19:43 +01:00
zadam 45516fa7b4 Merge remote-tracking branch 'origin/stable' 2021-02-05 22:54:50 +01:00
zadam 70708b36ef using custom header for sync authorization to avoid tripping security proxies 2021-02-05 21:59:56 +01:00
zadam fb3d5f25ac release 0.45.9 2021-02-05 21:38:32 +01:00
zadam 397f0d1326 fix collapse tree 2021-02-04 23:08:16 +01:00
zadam 6469937393 fix note tree flickering (note cache was not updated when expanded status changed) 2021-02-04 22:05:32 +01:00
zadam 48cb4d2ab9 one line overflow for note properties 2021-02-02 23:36:27 +01:00
zadam 3a94b04ef4 quick search impl finished 2021-02-01 23:51:04 +01:00
zadam d406df48a8 edited notes doesn't wrap long note titles 2021-02-01 20:55:35 +01:00
zadam 9447d3f9b5 quick search widget WIP 2021-01-31 22:45:45 +01:00
zadam 2ac78c2e03 global menu does not need "menu" title 2021-01-31 20:36:30 +01:00
zadam 17073096cf disable property widgets if not applicable 2021-01-31 20:07:56 +01:00
zadam 6068bd7c44 added note properties widget 2021-01-31 12:15:36 +01:00
zadam 56a35b85a6 Merge remote-tracking branch 'origin/stable' 2021-01-30 22:49:19 +01:00
zadam 9d7d79ef94 avoid errors from missing note cache during startup 2021-01-30 22:25:40 +01:00
zadam eb1a6b78ff updated schema 2021-01-30 22:17:29 +01:00
zadam 60d000b9cb VACUUM for migration 2021-01-30 22:12:38 +01:00
zadam 61ddd8afc6 small fixes to migration scripts 2021-01-30 22:00:09 +01:00
zadam 69bdcdd74a changed sidebar widget expanders to be consistent with tree expanders 2021-01-30 21:28:10 +01:00
zadam 17c6f53397 fix "twitching" tree nodes on hover 2021-01-30 21:03:39 +01:00
zadam 1c51419db5 image properties converted to collapsible section container 2021-01-30 20:21:44 +01:00
zadam 1ba1f28006 let's try "display: flex" fix for the include note positioning bug, #1590 2021-01-30 20:07:56 +01:00
zadam 6b306ac426 alert for missing file preview 2021-01-30 15:59:59 +01:00
zadam ae26f22114 class moving 2021-01-30 15:50:46 +01:00
zadam 552d213817 file properties converted to collapsible section container 2021-01-30 15:47:24 +01:00
zadam 8fb7dd451e small fixes 2021-01-30 11:50:45 +01:00
zadam 01a82bed09 extra window layout updated to be consistent with main window 2021-01-29 23:36:33 +01:00
zadam 77bc5f9944 disabling tree expand animation to avoid "recursion" errors 2021-01-29 23:33:41 +01:00
zadam 6081c3540e refactoring 2021-01-29 22:44:59 +01:00
zadam 0a10764ed4 Merge remote-tracking branch 'origin/stable' 2021-01-29 21:19:48 +01:00
zadam ba33a0d330 fix conflict between CKEditor build content style and externally provided content style (which are not needed when build CSS is available), #1590 2021-01-29 20:27:16 +01:00
zadam aea81c9872 fix include note rendering over floating elements, #1590 2021-01-29 20:09:03 +01:00
zadam 8019e23ee4 note list displays correct paging 2021-01-28 23:29:10 +01:00
zadam 5eb9b8fe42 included notes are not displayed in children overview 2021-01-28 23:15:58 +01:00
zadam d19a929237 removed auto book as it is no longer needed 2021-01-28 22:34:35 +01:00
zadam 67e0e0888e Merge remote-tracking branch 'origin/stable' 2021-01-28 22:17:46 +01:00
zadam 810fd9e819 fix glitches on drag & drop, fixes #1587 2021-01-28 21:19:01 +01:00
zadam 2dc742f5b8 don't recompress animated images, #1585 2021-01-28 20:17:57 +01:00
zadam 48b7108da0 add meta theme-color tag to mobile version, #1576 2021-01-27 20:58:20 +01:00
zadam 806ab22fa8 hide note paths dropdown on changed note, #1572 2021-01-27 20:44:58 +01:00
zadam fbabdef272 added ancestor depth search criteria 2021-01-26 23:25:18 +01:00
zadam a1f67e830d search script UI 2021-01-26 22:22:17 +01:00
zadam ee78413ecb improvements to the search spec 2021-01-26 15:54:41 +01:00
zadam b936a63db3 improvements to the search spec help button 2021-01-26 14:44:53 +01:00
zadam 80354d09fb search definition more fixed layout 2021-01-26 14:10:34 +01:00
zadam 87925f72a3 search definition action refactoring 2021-01-26 10:48:28 +01:00
zadam 898c941333 search definition refactoring 2021-01-26 10:42:55 +01:00
zadam 8b0a1e546d search fixes 2021-01-25 23:43:36 +01:00
zadam ec351137d4 search definition refactoring 2021-01-25 21:24:02 +01:00
zadam cf5127dcec split up search definition options to more classes 2021-01-24 22:30:53 +01:00
zadam 345de752d1 Merge remote-tracking branch 'origin/stable' 2021-01-23 21:53:21 +01:00
zadam 9c2b98915e fix glitch in switching between different types of notes 2021-01-23 21:52:39 +01:00
zadam 7b0fd639f6 improved heuristic of displaing attributes in note list and tooltips #1558 2021-01-23 21:41:02 +01:00
zadam 6408a47a8a Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	src/services/note_cache/entities/note.js
2021-01-23 21:09:47 +01:00
zadam f2ca9276d6 fix/improve behavior of "sorted" attribute 2021-01-23 21:00:59 +01:00
zadam 872e81fe1f search now supports searching / ordering by note size 2021-01-22 22:20:17 +01:00
zadam 480aec1667 size calculation is always on demand 2021-01-22 15:16:08 +01:00
zadam 35ea877c7d Merge remote-tracking branch 'origin/stable' 2021-01-21 22:06:17 +01:00
zadam 41ca4b8d2e fix relation map view 2021-01-21 22:05:56 +01:00
zadam 8375a1b5ab optimize usage of note path and attributes in the note tooltip, #1558 2021-01-21 21:48:06 +01:00
zadam 48b697f408 select attr name in attr detail dialog did not trigger update, closes #1557 2021-01-21 20:18:33 +01:00
zadam c33d496cf3 note info widget provides basic info on note (and subtree) size 2021-01-21 20:02:40 +01:00
zadam 200982655f WIP for counting note and subtree size 2021-01-20 22:17:40 +01:00
zadam d67e1552ee more impl for search actions 2021-01-20 21:45:30 +01:00
zadam ce09e4a1eb basic backend implementation of search actions 2021-01-20 20:31:24 +01:00
zadam 7bf6ec3ff2 bootstrap 4.6.0 2021-01-19 22:28:43 +01:00
zadam 1f923403de UI for search actions (WIP) 2021-01-19 22:10:24 +01:00
zadam cb2361e9c4 Merge remote-tracking branch 'origin/master' 2021-01-19 19:45:57 +01:00
zadam d7e46263be UI fixes to search definition + backend support 2021-01-18 22:52:07 +01:00
王登辉 138903cf28 fix config.ini Network host not work (#1546) 2021-01-18 17:46:48 +01:00
zadam 3fa2535862 basic interactivity of search definition actions 2021-01-17 23:01:01 +01:00
zadam 5bb490e1ff basic interactivity of search definition 2021-01-17 21:11:01 +01:00
zadam f2e44e5617 fix tree's enhanced item buttons 2021-01-15 23:05:19 +01:00
zadam 58a93f748b Merge remote-tracking branch 'origin/stable' 2021-01-15 22:23:56 +01:00
zadam e1e185e5db added "safe mode" environment variable switch which disables startup scripts and resets tabs 2021-01-15 20:12:14 +01:00
zadam 199b49c1f7 fix partial syncs 2021-01-14 23:22:13 +01:00
zadam cbc1f63732 Merge remote-tracking branch 'origin/stable' 2021-01-14 21:53:05 +01:00
zadam 3f2e8717b3 sanitize also clipper content, #1532 2021-01-14 21:52:44 +01:00
zadam e06c5703ee config value to disable backups, closes #1533 2021-01-12 21:50:05 +01:00
zadam cd858a73c1 Merge remote-tracking branch 'origin/stable' 2021-01-11 22:49:08 +01:00
zadam 69353f12b5 partial sync requests WIP 2021-01-11 22:48:51 +01:00
zadam fe3bb2c5f6 release 0.45.8 2021-01-11 22:47:11 +01:00
zadam 6afc299efb release 0.45.8 2021-01-11 22:29:31 +01:00
zadam 369274ead7 new env variable to specify start note, #1532 2021-01-11 22:29:02 +01:00
zadam 7f8b19aee4 WIP partial sync requests 2021-01-10 21:56:40 +01:00
zadam cd653b9f0c add link dialog should recognize external links, closes #1521 2021-01-08 21:44:43 +01:00
zadam 9fcd659df4 mock up of search definition changes 2021-01-08 19:57:49 +01:00
zadam c08c4531db fix empty range items handling 2021-01-05 14:24:25 +01:00
zadam f8bec35893 use selected text to apply filtering for add link dialog, closes #1515 2021-01-05 14:22:11 +01:00
zadam 04e6431c09 use correct class in exported HTMLs so that content style is applied, #1504 2020-12-30 23:20:12 +01:00
zadam 7aadd57d2f search help dropdown button 2020-12-30 23:09:29 +01:00
zadam 02d9752abf refactoring of sql console into separate widgets 2020-12-29 22:27:31 +01:00
zadam 1d64129572 lazy loading of note list 2020-12-27 22:19:27 +01:00
zadam e89057a771 search note content only if not excluded by other expressions 2020-12-25 20:46:04 +01:00
zadam 95760f1d28 don't display similar notes under search 2020-12-25 13:06:58 +01:00
zadam 75c3bd8ae3 Merge remote-tracking branch 'origin/stable' 2020-12-25 13:02:05 +01:00
zadam 4f27254e64 fix top margin of images and tables which can obscure their handles 2020-12-25 13:01:35 +01:00
zadam 479d6ba964 Merge remote-tracking branch 'origin/stable' 2020-12-25 12:56:34 +01:00
zadam 577dc95ab8 convert &nbsp; into whitespace also for large notes 2020-12-25 12:55:16 +01:00
zadam a266d6a3d5 don't strip tags for very large text notes, #1500 2020-12-24 23:37:21 +01:00
zadam 749b6cb57e don't strip tags for very large text notes, #1500 2020-12-24 23:33:42 +01:00
zadam 9f472b353a simplified table stats 2020-12-23 21:22:41 +01:00
zadam 4c614aee90 note paths CSS tweaks 2020-12-23 21:03:01 +01:00
zadam f17be0ef9b Merge remote-tracking branch 'origin/stable' 2020-12-22 22:38:37 +01:00
zadam b0b2951ff6 cleanup 2020-12-22 22:30:04 +01:00
zadam 1f3d73b9fd release 0.45.7 2020-12-22 20:21:15 +01:00
zadam 7dde78e98a Merge remote-tracking branch 'origin/stable' 2020-12-21 23:19:25 +01:00
zadam bdfd760b9d fixed some encryption issues 2020-12-21 23:19:03 +01:00
zadam 8c0662ab82 fix displaying protected notes outside of protected session 2020-12-21 23:10:08 +01:00
zadam cc3addebd4 date notes respect their parent's isProtected status, #1483 2020-12-21 23:00:39 +01:00
zadam 7133e60267 make encryption more robust in face of null values, #1483 2020-12-21 22:08:55 +01:00
zadam fc4edf4aa7 better comment for instanceName 2020-12-21 21:05:34 +01:00
zadam eaf93a70cd fix inverse relation creation, closes #1498 2020-12-21 20:55:01 +01:00
zadam a1b2e22ba5 add possibility to add whole iso date as date pattern, #1496 2020-12-20 22:49:42 +01:00
zadam f8936f3bc8 use trilium.sid as a session ID to avoid session ID conflicts 2020-12-20 22:20:21 +01:00
Steven Tang 015c9d2ccd rename session cookie from connect.sid to trilium (#1495)
to prevent collisions with other express-session apps
2020-12-20 22:18:57 +01:00
zadam 95ccfd2521 use bootstrap default monospace fonts for code notes, fixes #1489 2020-12-18 22:37:29 +01:00
zadam 6c15d299e0 isErased fixes 2020-12-18 22:35:40 +01:00
zadam b093569ec5 increase toast size limit 2020-12-18 21:23:51 +01:00
zadam f8089ba370 fixed saved search refresh 2020-12-17 21:19:52 +01:00
zadam 053162fef2 bootstrap 4.5.3 2020-12-17 15:20:20 +01:00
zadam 71bbf2eb16 close note type dropdown after click 2020-12-17 15:19:22 +01:00
zadam f723433970 fix deleting notes 2020-12-17 15:04:04 +01:00
zadam 1cc7917b6e renamed remnants of "sync" to "entity_change" 2020-12-16 22:17:42 +01:00
zadam cdc2721ac1 DB migration fixes 2020-12-16 20:58:43 +01:00
zadam 4a15127e58 removal of isErased from old entities 2020-12-16 15:05:36 +01:00
zadam c5ec57e08e cleanup of isErased obsolete usage 2020-12-16 15:01:20 +01:00
zadam d0578971f7 fix manual erasing note revisions 2020-12-16 14:36:24 +01:00
zadam 1b0bb22273 drop isDeleted index 2020-12-15 15:30:46 +01:00
zadam bf653a9a5c ckeditor 24 content styles 2020-12-15 15:18:45 +01:00
zadam 5467dc62cd extra case sensitivity tests 2020-12-15 15:15:41 +01:00
zadam 96eff4c410 fixed search tests 2020-12-15 15:09:00 +01:00
zadam 3a12181a57 search fixes WIP 2020-12-14 23:59:05 +01:00
zadam fccce2ff1e small fixes 2020-12-14 23:04:56 +01:00
zadam c949dcb449 fixes and optimizations 2020-12-14 22:12:26 +01:00
zadam 8b99f065d5 fixes of recent entity changes 2020-12-14 14:17:51 +01:00
zadam 6d7b9e0db3 erasing rows of deleted entities 2020-12-14 13:58:02 +01:00
zadam 248fa780e8 erasing rows of deleted entities 2020-12-14 13:47:33 +01:00
zadam 20c7c657da moving isErased into entity_changes 2020-12-14 13:15:32 +01:00
zadam 0a896cc19c tree fixes 2020-12-13 23:27:42 +01:00
zadam 0bb548d0d1 ckeditor 24 2020-12-13 20:27:57 +01:00
zadam de1584eab8 note list improvements 2020-12-13 20:13:57 +01:00
zadam 60e2026850 improved note list pager for many pages 2020-12-12 12:07:15 +01:00
zadam 5098dda376 load initial tree from note cache 2020-12-11 22:06:12 +01:00
zadam 35e47f866a fix root branch 2020-12-11 15:27:57 +01:00
zadam 199d89c1a6 optimizations and fixes 2020-12-11 15:24:44 +01:00
zadam be543737a9 sorting search results occurences in the note title 2020-12-11 13:54:41 +01:00
zadam 0b6fa4ab06 Merge remote-tracking branch 'origin/optimize-tree' 2020-12-10 22:54:16 +01:00
zadam 8f1b2fa226 move entity hash to entity_changes table 2020-12-10 22:53:52 +01:00
zadam 5010175b84 adding few missing isErased = 0 conditions 2020-12-10 21:56:48 +01:00
zadam 0ac42608f7 faster tree loading of many notes at once #1480 2020-12-10 21:27:21 +01:00
zadam 4633c68a0c avoid resorting children on every child add, fixes #1480 2020-12-10 16:10:10 +01:00
zadam 33571e0ef3 better logging for un/protect errors 2020-12-09 22:49:55 +01:00
zadam 31876d2cf9 fix automatically scheduled note deletion 2020-12-09 22:45:34 +01:00
zadam 81c6043cb6 fix printing notes with math, closes #1484 2020-12-09 21:59:30 +01:00
zadam 7f3ef2cb8b move entity hash to entity_changes table WIP 2020-12-07 23:04:17 +01:00
zadam 1982d054ef inherit also note type and mime from template note, closes #1475 2020-12-07 09:35:39 +01:00
zadam 16c4b8aa43 added also "sqlConsoleHome" 2020-12-07 09:19:27 +01:00
zadam e56979c482 add button to erase deleted notes now into the options 2020-12-06 22:11:49 +01:00
zadam 4078b32e9d fix "show in full text search" in jump to note dialog 2020-12-05 23:19:02 +01:00
zadam 90d33f56c3 implemented "search in subtree" 2020-12-05 23:00:28 +01:00
zadam b0e5ab7533 smaller search improvements 2020-12-04 22:57:54 +01:00
zadam 526bd81b50 Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	src/public/app/widgets/attribute_list.js
2020-12-04 22:09:27 +01:00
zadam 58555b3660 release 0.45.6 2020-12-04 22:08:24 +01:00
zadam b7b1324dd0 fixed disabled prefix in case of unsafe import to conform to new attribute name pattern constraints 2020-12-04 22:05:29 +01:00
zadam a1fb84f14d unification of tooltip and note list renderers 2020-12-03 22:54:24 +01:00
zadam bc520edd19 fix usage of async .getHeaders() 2020-12-03 21:50:41 +01:00
zadam 5f4f0d3086 experimental markdown-like headings 2020-12-01 22:01:58 +01:00
zadam a68c61b2f0 improvements to saved search 2020-11-30 23:20:12 +01:00
zadam 2a6978c349 added button for entering workspace 2020-11-29 22:32:31 +01:00
zadam 1c5425c9eb workaround for filter + create child problems 2020-11-29 20:55:24 +01:00
zadam 2338a13749 added "add child note" button to note tree 2020-11-27 23:13:48 +01:00
zadam 6df6fe03fa fix display of attr detail 2020-11-27 22:38:15 +01:00
zadam e318acc977 fix incorrectly set isInheritable on inherited attrs 2020-11-27 22:33:33 +01:00
zadam b0217ee04c added new "create note" button 2020-11-27 22:21:13 +01:00
zadam 2a54ce803e layout tweaks 2020-11-27 22:02:55 +01:00
zadam 642bf9d113 layout tweaks 2020-11-27 21:57:41 +01:00
zadam 31746e7baf Merge remote-tracking branch 'origin/master' 2020-11-27 20:40:40 +01:00
zadam 48b1703725 moved "global buttons" on the tree 2020-11-27 20:40:32 +01:00
baddate 72d6440de7 add chinese version README. (#1465) 2020-11-27 08:37:08 +01:00
zadam eaed7ec86f improvements in search UI 2020-11-26 23:00:27 +01:00
zadam 02043d9109 note list is now separate widget which allows more flexibility in its usage 2020-11-25 23:18:30 +01:00
zadam b9c0823abf added workspace icon and background color 2020-11-25 20:25:55 +01:00
zadam 61f30373d4 hoisting improvements 2020-11-24 23:24:05 +01:00
zadam 9889166afc Merge remote-tracking branch 'origin/stable' 2020-11-24 23:19:16 +01:00
zadam 8ae82f5b69 fix "open in new tab" in tree context menu 2020-11-24 23:18:53 +01:00
zadam 26442f418a fix "open in new window" link context menu 2020-11-24 23:06:37 +01:00
zadam 35d5036aaa hoisting fixes 2020-11-24 22:32:22 +01:00
zadam 14f5b46ece Merge remote-tracking branch 'origin/stable' 2020-11-24 20:31:16 +01:00
zadam 23a432e7d8 don't show imageLinks in link map when they are connecting parent (text note) and child (image), closes #1461 2020-11-24 20:12:49 +01:00
zadam ac636b6649 WIP per-tab hoisting 2020-11-23 23:11:21 +01:00
zadam 52b8162d01 WIP per-tab hoisting 2020-11-23 22:52:48 +01:00
zadam 167b6974fe Merge remote-tracking branch 'origin/stable' 2020-11-23 21:20:06 +01:00
zadam 984ecaf99c show again the table handle and type around 2020-11-23 20:56:14 +01:00
zadam 21b73a86b2 show also keyboard shortcut for duplicateSubtree in context menu 2020-11-23 20:17:53 +01:00
zadam 7d8277699c add keyboard shortcut for duplicate subtree, #1451 2020-11-23 19:44:49 +01:00
zadam 4bd86a6dfa WIP per-tab hoisting 2020-11-22 23:05:02 +01:00
zadam 5bbec118e4 Merge remote-tracking branch 'origin/stable' 2020-11-22 22:48:26 +01:00
zadam 928ed7a034 add keyboard shortcut for include note, closes #1410 2020-11-22 22:44:06 +01:00
zadam 473229f03a Merge remote-tracking branch 'origin/stable' 2020-11-21 20:44:37 +01:00
zadam 882b6be580 release 0.45.5 2020-11-20 22:50:10 +01:00
zadam e5fa1e0ed5 hide table's selection handle, fixes #1448 2020-11-20 21:01:44 +01:00
zadam af1fd5bd06 improvements to collapsible section container 2020-11-19 23:02:25 +01:00
zadam c737a3adc9 Merge remote-tracking branch 'origin/stable' 2020-11-19 21:42:49 +01:00
zadam 1047aecfbd template subtree is now deep-duplicated on template assignment 2020-11-19 14:29:26 +01:00
zadam 314e0a453f "duplicate note" now duplicates whole note subtree instead of just individual note 2020-11-19 14:06:32 +01:00
zadam 8ec476ba96 fix ENEX import note saving 2020-11-19 13:30:39 +01:00
zadam 8e2bf7795c Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	src/routes/api/attributes.js
#	src/routes/api/sender.js
2020-11-18 22:42:37 +01:00
zadam a346ba7038 removed outstandingPushes counting which is not needed 2020-11-18 22:30:00 +01:00
zadam fd6b2f1e7f enex import cleanup 2020-11-18 21:30:56 +01:00
zadam 6662b9dbf9 rate limiting to improve responsiveness during / after import 2020-11-17 23:05:05 +01:00
zadam c0a29ede05 small fixes to ENEX import 2020-11-17 22:35:20 +01:00
zadam 845907b8d2 fix recent changes to show all deleted notes (also without note revisions) 2020-11-17 21:06:38 +01:00
zadam b12008e313 more robust search in face of inconsistent cache 2020-11-17 20:44:38 +01:00
zadam a108ef91a0 fixed .createNoteLink API documentation 2020-11-17 20:11:10 +01:00
ohdearaugustin 4fd9e7f14f Drop privileges (#1422) 2020-11-15 20:51:47 +01:00
zadam b5480b4137 fix sync check - it was always reporting success even in failure cases 2020-11-15 20:50:24 +01:00
zadam 47d61c416d release 0.45.4 2020-11-12 22:15:23 +01:00
zadam 6c57b2220f fix export download, fixes #1411 2020-11-12 22:13:59 +01:00
zadam 99f01b9ccf fix overwriting / deleting auto links, closes #1406 2020-11-11 23:15:48 +01:00
zadam d5a9abd911 fix duplicating relations after change, closes #1405 2020-11-11 23:02:14 +01:00
zadam a3a2bc0a74 fix "reviving" deleted attributes, closes #1404 2020-11-11 22:44:13 +01:00
zadam 7859aca006 Merge remote-tracking branch 'origin/stable' 2020-11-11 21:28:11 +01:00
zadam 402e5c4d81 release 0.45.3 2020-11-10 22:54:40 +01:00
zadam 5157fc15e9 electron update 2020-11-10 22:54:03 +01:00
zadam 1403acd808 Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	src/public/app/services/note_content_renderer.js
2020-11-08 21:06:48 +01:00
zadam 4bd87b1796 update ckeditor5-math which fixes focus and placeholder issues 2020-11-07 21:28:12 +01:00
zadam ce33eb3abd fix wrong behavior when customResourceProvider has empty value, fixes #1393 2020-11-06 21:52:57 +01:00
zadam f988935a33 fixed & refactored opening/downloading file notes 2020-11-05 21:26:24 +01:00
zadam 9b05d30b47 update boxicons to 2.0.7 2020-11-03 22:44:50 +01:00
Praxis | Darian e258de329c Use user theme on mobile (#1374) 2020-11-02 20:53:43 +01:00
zadam 044bcf6f05 Merge remote-tracking branch 'origin/stable' 2020-11-01 21:25:38 +01:00
zadam 9e97fdcc49 convert H1 to H2 also during import 2020-11-01 20:38:39 +01:00
zadam 2c028f7c45 new CollapsibleSectionContainer WIP 2020-10-31 22:47:15 +01:00
zadam 435200ec5a new CollapsibleSectionContainer WIP 2020-10-30 22:57:26 +01:00
zadam 3d808d638a Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	package-lock.json
#	package.json
#	src/public/app/services/note_content_renderer.js
2020-10-30 15:40:57 +01:00
zadam 8e8148ce42 fix math rendering in note revisions, fixes #1359 2020-10-30 15:06:11 +01:00
zadam af41e5d115 release 0.45.2 2020-10-29 22:57:25 +01:00
zadam 4f75b6aaaf fix removing stale branches from saved search after refresh, fixes #1354 2020-10-29 22:41:33 +01:00
zadam 82f410f695 fix math rendering in included note and note tooltip, fixes #1340 2020-10-29 21:06:30 +01:00
zadam 2bc06959c3 add a warning to change password dialog, fixes #1344 2020-10-29 20:57:26 +01:00
zadam b898973ee6 fixed update ckeditor to 23.1.0 2020-10-29 20:09:25 +01:00
zadam a2b0d8a379 update ckeditor to 23.1.0 2020-10-29 20:02:38 +01:00
zadam 06a4eab7d5 improved detection of image notes in ENEX import, fixes #1348 2020-10-28 23:36:45 +01:00
zadam 25df1a054c fix triggering change event when item is chosen from autocomplete, fixes #1345 2020-10-28 21:48:34 +01:00
zadam 8c4ff7ed2a fix using smart values with .dateCreated, closes #1338 2020-10-27 22:45:22 +01:00
zadam 609829653e fix docker build 2020-10-27 19:39:54 +01:00
zadam bb0ee0b36c expand all / collapse all will re-render list instead of doing that manually 2020-10-26 22:52:12 +01:00
zadam 5f20d033a8 release 0.45.1 2020-10-26 22:51:10 +01:00
zadam b70ee742e8 Merge remote-tracking branch 'origin/math2'
# Conflicts:
#	package-lock.json
2020-10-26 21:44:18 +01:00
zadam 93d0324177 fix case where parents of templates are not loaded
(cherry picked from commit a3f4fc7762)
2020-10-26 20:13:11 +01:00
zadam 0afd3c65aa fix setting note title on back/forward button click, closes #1334 2020-10-26 20:11:43 +01:00
zadam 8901c3ec91 fix recent changes showing deleted search note, closes #1331 2020-10-26 19:58:56 +01:00
zadam c671b0a345 fix OPML import, closes #1333 2020-10-26 19:02:33 +01:00
zadam 9f424836e2 fix adding relation noteId as value, closes #1329 2020-10-26 16:05:34 +01:00
zadam 7f5af4b959 fix broken addTextToActiveEditor API method, closes #1332 2020-10-26 15:57:37 +01:00
zadam 4281111344 initial integration of note list renderer into search results 2020-10-25 23:02:12 +01:00
zadam 37e111d8a9 trim content for grid view 2020-10-25 11:00:27 +01:00
zadam 4202af96c8 image scaling improvements 2020-10-25 00:12:07 +02:00
zadam d0efd67d5e grid view improvements, remembering grid/list status 2020-10-24 23:50:32 +02:00
zadam aeb6c34d27 note list rendering WIP 2020-10-24 00:02:38 +02:00
zadam a3f4fc7762 fix case where parents of templates are not loaded 2020-10-24 00:02:10 +02:00
zadam 6517188b39 fix tree loading (partial revert of previous commit) 2020-10-24 00:00:24 +02:00
zadam c4acecd510 fix loading unnecessary notes into the cache 2020-10-23 23:19:29 +02:00
zadam c7d8bddf24 conversion of note list renderer to class 2020-10-23 22:11:39 +02:00
zadam 29c1d05540 frontend dayjs update 2020-10-23 21:24:16 +02:00
zadam 55f04436c0 saving expanded status as label 2020-10-23 00:11:44 +02:00
zadam 4ce2eaa919 note list paging 2020-10-22 23:50:52 +02:00
zadam 489e064932 expand/collapse all 2020-10-22 23:07:35 +02:00
zadam 1369603ed9 note list renderer WIP 2020-10-22 22:49:22 +02:00
zadam 79431d8b4b Merge remote-tracking branch 'origin/master'
# Conflicts:
#	package-lock.json
#	package.json
#	src/routes/api/sender.js
2020-10-21 23:23:55 +02:00
zadam 4591899df0 Merge branch 'math2'
# Conflicts:
#	package-lock.json
#	package.json
2020-10-21 23:23:19 +02:00
zadam dc64d333b6 release 0.45.0-beta 2020-10-21 22:57:54 +02:00
zadam 283808d691 library updates 2020-10-21 22:57:47 +02:00
zadam a4bf69fe6a Merge remote-tracking branch 'origin/stable' into math2 2020-10-21 22:46:00 +02:00
zadam 6c7853319c reload note paths on note rename 2020-10-21 22:45:49 +02:00
zadam 2b1aa0d386 fix build revision link 2020-10-21 22:41:32 +02:00
zadam dfa7d3f186 Update README.md 2020-10-21 22:40:34 +02:00
zadam 24ae24a1ac release 0.44.9 2020-10-20 22:43:25 +02:00
zadam 00d860bfae properly handle saved search virtual branches during reloads, fixes #1301 2020-10-20 22:33:38 +02:00
zadam a9f49e7f25 Merge remote-tracking branch 'origin/stable' into math2 2020-10-20 20:31:27 +02:00
zadam fcf80f1e57 fix 2020-10-19 23:58:13 +02:00
zadam dc94e1a1bf added list style, closes #1311 2020-10-19 23:54:37 +02:00
zadam 313b9dba61 support math in read only text notes 2020-10-19 23:36:57 +02:00
zadam 32e3560dce Merge remote-tracking branch 'origin/stable' into math2 2020-10-19 23:04:12 +02:00
zadam 7bd7323097 limit max width of zen mode to improve readability, closes #1320 2020-10-19 22:25:35 +02:00
zadam 0cb46f8f9b don't strip evernote links during import, #1319 2020-10-19 22:14:29 +02:00
zadam c2b64bad80 hoisting bugfixes 2020-10-19 22:10:25 +02:00
zadam 991b335c3e allow exporting code notes from note actions, closes #1315 2020-10-19 20:29:56 +02:00
zadam fd2d49de4f fix display of checkboxes in promoted attributes, closes #1313 2020-10-19 20:22:30 +02:00
zadam b990239219 allow sender to save labels 2020-10-16 19:43:20 +02:00
Casey Doran a7c13ceacc if the sender request contains a label and/or a labelValue, apply it (#1310) 2020-10-16 19:40:30 +02:00
zadam f23454ffa3 math support WIP 2020-10-15 23:57:29 +02:00
zadam 631a11509a experimental math support 2020-10-15 20:49:42 +02:00
zadam b2b3c80192 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	package-lock.json
#	package.json
2020-10-15 20:47:10 +02:00
zadam bf9bfe920a use icons instead of text links for header actions 2020-10-15 20:37:55 +02:00
zadam ad878c078e release 0.44.8 2020-10-15 00:01:13 +02:00
zadam 8a019d617f small visual tweaks to link map, including displaying the note icon 2020-10-14 23:14:04 +02:00
zadam 4a76b7a9a5 use correct path separator, closes #1308 2020-10-14 20:42:55 +02:00
zadam 1ac1bf12a2 upgrading webpack fixes the issue with broken mobile frontend (and hacky fix which breaks desktop in turn) 2020-10-14 14:20:06 +02:00
zadam b50638e85c release 0.44.7 2020-10-13 23:45:39 +02:00
zadam 893b6053d2 provide also explicit unhoist keyboard shortcut, #1305 2020-10-13 23:41:55 +02:00
zadam a1ec6fe0aa fix file preview in note revisions dialog 2020-10-13 23:09:57 +02:00
zadam 18cc9f2475 "open" action will save note to temp directory to try it then open with native application, #1304 2020-10-13 22:50:45 +02:00
zadam 04ea8dd4b3 fix scroll to top for read only / editable text note after switching note 2020-10-13 22:03:16 +02:00
zadam 28cb3976e5 add explicit button to show/hide right pane widgets, #1299 2020-10-12 23:15:53 +02:00
zadam a665d193eb same event handling note execute only once, closes #1278 2020-10-12 22:30:30 +02:00
zadam cabb78b3e4 double click on an external link opens it 2020-10-12 22:11:49 +02:00
zadam d953d96fa6 improvements to error logging in frontend 2020-10-12 21:05:34 +02:00
zadam c71ac0302a use var instead of const to avoid webpack issue in mobile frontend build, closes #1300 2020-10-10 23:45:38 +02:00
zadam 4eb9ca7b46 fix demo document word count widget with contain: none 2020-10-10 21:08:28 +02:00
zadam 42daf181d3 round zoom factor 2020-10-10 20:12:39 +02:00
zadam badb678b69 note list renderer improvements, still WIP 2020-10-08 23:46:48 +02:00
zadam 140f0a5dbd return null for not found attribute, closes #1294 2020-10-08 22:08:58 +02:00
zadam 5933b17b47 Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	libraries/ckeditor/ckeditor.js.map
2020-10-07 23:29:10 +02:00
zadam 761912c3bd basic separation of note list renderer from book type 2020-10-07 23:08:17 +02:00
zadam 10ce26799d release 0.44.6 2020-10-07 00:07:23 +02:00
zadam 91a2bb9b26 fixed demo document - restored more up to date version + largest notes stats 2020-10-06 22:25:28 +02:00
zadam 287ef9b522 added base element to handle external links in exports, #1289 2020-10-06 21:30:41 +02:00
zadam 99f35b2588 Merge remote-tracking branch 'origin/stable' 2020-10-06 21:03:28 +02:00
zadam 32d609e796 fix largest notes script, #1291 2020-10-06 20:58:14 +02:00
zadam 8a435a2149 don't save zero byte buffers as note revisions 2020-10-05 23:56:59 +02:00
zadam 8855f29a49 detect TAB in table - then don't indent/outdent but switch table cells, closes #1290 2020-10-05 22:51:28 +02:00
zadam 384a9474c0 added meta viewport to exported HTMLs, #1289 2020-10-05 22:23:03 +02:00
zadam a7f510783d reduce top margin of first paragraph in text, closes #1286 2020-10-05 21:31:57 +02:00
zadam 1a262fe680 attribute autocomplete should show prefix matches first and only after matches anywhere, #1284 2020-10-03 22:00:34 +02:00
zadam 0c4deda091 don't insert space after mentined label/relation, #1284 2020-10-03 21:51:10 +02:00
zadam 71894c34aa fix migration so that only really changed notes are updated, #1254 2020-10-03 20:51:14 +02:00
zadam 8313116b7f disable CSP completely, fixes #1282 (and other similar issues) 2020-10-02 23:33:28 +02:00
zadam 90622d71f8 caching parsed keyboard actions 2020-10-02 22:29:16 +02:00
zadam 620e896a89 faster content hash computation via in memory sorting 2020-10-02 21:53:25 +02:00
zadam a9a9edf658 clear any event listener added in previous invocation of this function 2020-10-02 21:44:21 +02:00
FliegendeWurst 5e2077e6ae Jump to note dialog: fix duplicate event triggers (#1283)
This fixes an issue where the current path (above the note tree) displays parts multiple times, e.g. A / A / B / B instead of A / B.

The same issue could also affect other event handlers, but I didn't look around the codebase further.

(cherry picked from commit 51eb9f18f7)
2020-10-02 21:12:40 +02:00
FliegendeWurst 51eb9f18f7 Jump to note dialog: fix duplicate event triggers (#1283)
This fixes an issue where the current path (above the note tree) displays parts multiple times, e.g. A / A / B / B instead of A / B.

The same issue could also affect other event handlers, but I didn't look around the codebase further.
2020-10-02 21:12:13 +02:00
zadam a0e4a416cd release 0.44.5 2020-10-01 23:45:09 +02:00
zadam 8f018cc7c6 as part of tree/note load make sure also relation targets are loaded, closes #1273 2020-10-01 23:42:09 +02:00
zadam 4a470ff9e5 right click on electron in editor will show both context menu and balloon toolbar, make z-index of context menu higher, #1281 2020-10-01 22:57:07 +02:00
zadam 4b8ca31091 Merge remote-tracking branch 'origin/stable' 2020-09-30 22:50:33 +02:00
zadam 03e4c49f89 updated API docs 2020-09-30 22:48:52 +02:00
zadam 4f92fbf8a5 updated API docs 2020-09-30 22:48:30 +02:00
zadam dd020baee5 fix backend API's createNote(), closes #1275 2020-09-30 22:45:15 +02:00
zadam cba9b92202 make sure the attribute is not duplicated in TreeCache and NoteCache, #1278 2020-09-30 22:34:18 +02:00
zadam d163289003 fixed messed up highlighting when searching e.g. "a" 2020-09-27 23:11:56 +02:00
zadam c45f590e9f put edit link balloon below z-index of dialogs, closes #1272 2020-09-27 23:03:05 +02:00
zadam fbb36d652f external links are not opened on click 2020-09-27 23:02:21 +02:00
zadam 2706f1b02f Merge remote-tracking branch 'origin/stable' 2020-09-26 23:28:50 +02:00
zadam 8f68b4f298 make migration more robust, fixes #1271 2020-09-26 23:25:35 +02:00
zadam 6710476768 new saved search UI wip 2020-09-25 23:52:24 +02:00
zadam de30095737 change salts on password change + more robust handling of decryption failures 2020-09-25 20:55:45 +02:00
zadam 9de51c8b9e release 0.44.4 2020-09-24 23:33:36 +02:00
zadam 748979eafd fix note.text #1263 2020-09-24 23:13:27 +02:00
zadam 8ad7318bd8 use correct search expression for "search in subtree", #1263 2020-09-24 22:42:32 +02:00
zadam e2fcc6711a style tweak of sidebar headers 2020-09-24 21:58:00 +02:00
zadam 5f6dd18489 added migration to fix notePosition to always step in 10 increments 2020-09-23 23:08:58 +02:00
zadam a577485e42 allow duplicating multiple notes at once, closes #1259 2020-09-23 22:45:51 +02:00
zadam 1fcb99fa60 fix duplication of search results when conforming to multiple expressions in OR relation, closes #1262 2020-09-23 22:27:19 +02:00
zadam bdebb35f62 better error reporting on failed search 2020-09-23 22:18:26 +02:00
zadam 2b1383205b test fixes 2020-09-23 21:05:26 +02:00
zadam 995f4f2582 similarity takes into account also headings in the base note plus additional fixes 2020-09-22 23:10:01 +02:00
zadam 15796b6870 fix attr detail positioning 2020-09-21 23:27:22 +02:00
zadam 12943ca151 fix removing attrs from UI 2020-09-21 23:08:39 +02:00
zadam 0e795b2978 create note inline, #1237 2020-09-21 22:08:54 +02:00
zadam 0eef18a799 create note inline 2020-09-21 00:07:46 +02:00
zadam 6518d113c6 fix highlighting in some mime types 2020-09-20 23:33:11 +02:00
zadam ea524403f7 fix position of Edit button in read only code 2020-09-20 22:19:32 +02:00
zadam 1d5a53fee6 load simple mode by default, fixes #1256 2020-09-20 21:42:51 +02:00
zadam 395eb92d93 cleanup of unnecessary codemirror mode files 2020-09-20 21:42:15 +02:00
zadam 71323500b7 updated codemirror to 5.57.0 2020-09-20 21:41:40 +02:00
zadam 7f9bcc162e release 0.44.3-beta 2020-09-19 23:45:46 +02:00
zadam 27052143ab fix placement of "Edit" button on read only notes 2020-09-19 23:44:30 +02:00
zadam 50d3ddbed5 added remove formatting plugin, closes #1239 2020-09-19 23:43:50 +02:00
zadam 7ee50113d7 fix export root note 2020-09-19 22:47:14 +02:00
zadam 07bd5129ca similarity tweaks 2020-09-19 21:59:01 +02:00
zadam ec7021b436 added debugModeEnabled option 2020-09-18 23:22:28 +02:00
zadam c75439a4b5 similarity tweaks 2020-09-18 21:47:59 +02:00
zadam d21cb78baa fix wrong dateLastEdited timestamp, closes #1254 2020-09-18 21:47:15 +02:00
zadam c371873b7e support unicode in button names, closes #1250 2020-09-17 14:41:00 +02:00
zadam 6220b02ef0 similarity tweaks 2020-09-17 14:34:10 +02:00
zadam 4e15bc0bb1 similarity tweaks 2020-09-17 09:33:43 +02:00
zadam 2f720df9d2 migration to convert H1 to H2, #1240 2020-09-16 20:51:57 +02:00
zadam d57a303251 fix in ENEX import 2020-09-16 20:32:20 +02:00
zadam 13b9f5231c similar note tweaks 2020-09-16 17:34:48 +02:00
zadam 71ed24344c performance optimizations in similar notes 2020-09-16 14:23:59 +02:00
zadam 0c8a2a23a7 refactor similarity logic 2020-09-16 11:50:47 +02:00
zadam 5738f2a5b3 similar notes tweaks 2020-09-16 11:24:29 +02:00
zadam d345c4850f custom implementation of similar notes algorithm 2020-09-15 22:46:51 +02:00
zadam eeacd8118f similar notes changes 2020-09-15 16:46:03 +02:00
zadam f5216e4799 close note type dropdown after click 2020-09-15 00:13:25 +02:00
zadam 85d13b1d62 resort relationships in tree cache after note reordering 2020-09-14 22:48:20 +02:00
zadam f5f48ef6c4 copy child: attrs also when defined on a template/parent note 2020-09-14 21:08:11 +02:00
zadam f1ed114167 small blink on attr save as a visual hint 2020-09-14 21:07:00 +02:00
zadam 70995a7691 fix broken saved search, closes #1234 2020-09-14 20:00:36 +02:00
zadam a82b8cdb37 release 0.44.2-beta 2020-09-13 23:03:28 +02:00
zadam 33511c0c10 fix hiding similar notes widget by label 2020-09-13 22:47:23 +02:00
zadam 04c93d6736 fix attr detail related notes 2020-09-13 22:23:03 +02:00
zadam 5e11806110 sidebar widgets can be now disabled with labels 2020-09-13 21:59:31 +02:00
zadam 1e1709ca6a mobile layout fixes + fix mobile delete note 2020-09-13 21:12:22 +02:00
zadam 37602cfcae small tweaks 2020-09-13 00:19:50 +02:00
zadam 0ca0996751 no difference in styling when active tree node is in focus or not because focused class is unreliable 2020-09-12 23:06:03 +02:00
zadam 63ebb46049 fix inverse relation detection in relation maps 2020-09-12 22:21:44 +02:00
zadam 847766b434 fancytree 2.37.0 2020-09-12 21:25:47 +02:00
zadam 056c40c0d0 similar notes algorithm tweaks (WIP) 2020-09-10 21:01:46 +02:00
zadam bff5b015ea wrap note autocomplete for very long note path titles, closes #1221 2020-09-09 20:49:44 +02:00
zadam ee4ce3ffd8 display unhoist button on the left of the note title so that it's always visible, #1223 2020-09-08 23:25:21 +02:00
zadam a73733d0fc renamed ParsingContext to SearchContext 2020-09-08 21:47:37 +02:00
zadam 0c5f842626 improvements to note tooltip - include (some) notePath and attributes 2020-09-08 21:45:07 +02:00
zadam 8b4cf474bd cleanup/fixes of label/relation definition usages in the old style 2020-09-08 20:42:50 +02:00
zadam 80f269d844 moved similar notes from sidebar to the center pane 2020-09-07 23:35:41 +02:00
zadam 75c9db6432 fixed search API and its default settings to include archived notes 2020-09-07 22:11:16 +02:00
zadam 69e36d2677 refactoring for archived notes handling in note cache 2020-09-07 00:05:01 +02:00
zadam eb4d86f41d changed presentation of similar notes to "tag cloud" style 2020-09-06 22:48:52 +02:00
zadam b0bf88c487 fix storing dateLastEdited timestamp in note revisions 2020-09-06 22:04:11 +02:00
zadam 032ffa8367 fix printing port to console #1219 2020-09-06 20:58:26 +02:00
zadam 7400c91a4f missing space in inherited attribute list, fixes #1217 2020-09-06 20:53:59 +02:00
zadam fbdf089d5d release 0.44.1-beta 2020-09-05 23:43:06 +02:00
zadam a7505682ed more compact note revisions widget 2020-09-05 23:35:24 +02:00
zadam b148f3d032 more compact note info widget 2020-09-05 22:49:30 +02:00
zadam 874972a3d3 fix broken what links here widget 2020-09-05 22:45:26 +02:00
zadam 6d095b7250 fix popups/tooltips not disappearing after loading new note, closes #1214 2020-09-05 21:51:00 +02:00
zadam ceb762e56b fix zen mode with attributes, closes #1213 2020-09-04 23:35:10 +02:00
zadam 0c72d29684 fix zen mode with attributes, closes #1213 2020-09-04 22:54:50 +02:00
zadam 29efe3a492 fix showing a search box, closes #1212 2020-09-04 21:10:54 +02:00
zadam 5bdfb6e11f release 0.44.0-beta 2020-09-03 23:26:51 +02:00
zadam 11c63b7778 remove test as build step 2020-09-03 23:26:36 +02:00
zadam befec48506 release 0.44.0-bet 2020-09-03 23:25:23 +02:00
zadam 15d94e91db fix note autocomplete for non-recent notes 2020-09-03 22:37:51 +02:00
zadam 7787fa1758 small promoted attrs style tweaks 2020-09-03 22:22:21 +02:00
zadam 0bd9b849b2 fix problems with updating note in note cache when entities are coming out of order (e.g. sync) 2020-09-03 21:37:06 +02:00
zadam 918e827d91 fix potential null in mime or type in note cache 2020-09-03 17:51:37 +02:00
zadam 42ecc0e15b use just note title in note autocomplete input field 2020-09-03 17:38:11 +02:00
zadam a37fa0cb3f don't use &nbsp; for attributes since it (duh) prevents line breaking in case of inherited attributes 2020-09-02 23:16:56 +02:00
zadam 647863b489 escape will close the attribute dialog and cancel changes 2020-09-02 16:40:19 +02:00
zadam e8114fcc4f fixes in attr detail positioning 2020-09-02 16:06:35 +02:00
zadam 0745d9ec0b fix attr help tooltip appearing only the second time 2020-09-01 23:47:56 +02:00
zadam 5e75d2380a fix error after confirming mention relation name 2020-09-01 23:43:09 +02:00
zadam 32c88c7481 keyboard shortcuts for focusing the attributes, adding a new label and relation 2020-09-01 23:18:28 +02:00
zadam 0aef99b98e attr detail automatically focuses the name input and allows saving with ctrl+enter. 2020-09-01 22:47:36 +02:00
zadam bf548f9d38 fix Jump To search input restoration 2020-09-01 00:05:19 +02:00
zadam a15f8d7e11 small fixes 2020-08-31 23:13:39 +02:00
zadam 574b71de63 remember last search in Jump To dialog when searching soon after the previous search 2020-08-31 21:00:23 +02:00
zadam 408ed8dbf0 fix "search in fulltext" button on "jump to note" dialog. 2020-08-31 20:46:55 +02:00
zadam 98f1bc51a5 Merge remote-tracking branch 'origin/stable' 2020-08-30 23:53:24 +02:00
zadam f3efb22a50 extra search tests 2020-08-30 23:42:24 +02:00
zadam 5fd58def11 small refactorings 2020-08-30 23:19:55 +02:00
zadam b793f8cb88 search will also look for type and mime by default 2020-08-30 23:12:49 +02:00
zadam 058edcfe15 fixed promoted attribute display 2020-08-30 22:39:15 +02:00
zadam 5d500de527 performance monitoring on frontend in dev environment 2020-08-30 22:29:38 +02:00
zadam 81207f3d27 updated demo document with scripts adjusted to syncified DB access 2020-08-29 23:33:15 +02:00
zadam 21575d862b attempt to fix consistency issue bug which caused synced note_contents to have NULL content when original is empty string 2020-08-29 23:08:53 +02:00
zadam 9359f05335 fix "edited notes on a day" for deleted notes 2020-08-29 22:22:24 +02:00
zadam 7fb22d41a0 allow disabling authentication for server version, closes #1132 2020-08-29 00:11:50 +02:00
zadam 2823bf3488 disable toggling navigation buttons because of rare performance issues 2020-08-28 23:49:24 +02:00
zadam 172f3689fa optimization of search 2020-08-28 23:20:22 +02:00
zadam 5a8c3f6a2b removed forgotten console.logs 2020-08-28 22:52:57 +02:00
zadam 416b7088c5 fix update/delete queries in SQL console 2020-08-28 22:04:35 +02:00
zadam 3f69a3c572 fix parsing attributes with non-breakable space 2020-08-28 16:00:30 +02:00
zadam 268910ed3b fix positioning of attr detail popup for smaller windows 2020-08-28 15:38:04 +02:00
zadam 8259b4a32c close down dropdown menus on click + smaller tweaks 2020-08-28 14:52:38 +02:00
zadam 9873dd1242 fix creating new note 2020-08-28 14:29:20 +02:00
zadam f4266754d8 release 0.43.4 2020-08-27 23:58:58 +02:00
zadam 30e84321f9 fixes to build 2020-08-27 23:54:02 +02:00
zadam 020a8766c8 Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	src/public/app/widgets/note_tree.js
2020-08-27 23:25:10 +02:00
zadam dc288fb18c Merge remote-tracking branch 'origin/stable' into stable 2020-08-27 23:22:58 +02:00
zadam 26dfa1ffdb activate PDF preview also in server build, fixes #1208 2020-08-27 23:22:36 +02:00
zadam d4e1900f89 cleanup of useless files when building release artifacts 2020-08-27 23:04:00 +02:00
zadam 4cd1a0ee7d fix note cache for out of order synced entities 2020-08-27 22:37:57 +02:00
zadam 355780c595 sync fixes 2020-08-27 22:11:17 +02:00
zadam ef996f3919 bug fixes 2020-08-27 22:03:56 +02:00
zadam 445902d081 ckeditor 22 2020-08-27 15:24:23 +02:00
zadam 31d85ed8cc fixes and tweaks - readonly bar is smaller and on the right 2020-08-27 14:54:56 +02:00
zadam c8af250caa Merge remote-tracking branch 'origin/master' 2020-08-27 12:47:29 +02:00
zadam b7b13c1d8b make migration more robust for cases where attribute definitions don't contain valid values, closes #1207 2020-08-27 12:44:49 +02:00
zadam b05b9196a0 fix build with better-sqlite3 binaries 2020-08-26 23:51:30 +02:00
zadam fbe3995398 fixed tree hotkeys 2020-08-26 22:12:01 +02:00
zadam 6aa61ca306 initializing note tree synchronously 2020-08-26 16:50:16 +02:00
zadam 87161cfe0d fix issues with note tree 2020-08-25 23:25:15 +02:00
zadam 6a3e27eb62 smaller refactorings in note_tree 2020-08-24 23:33:27 +02:00
zadam b7947a40ea binaries for better-sqlite3, downgrage to electron 9 since build on windows doesn't for 2020-08-24 20:26:52 +02:00
zadam 1d813c82e4 display attribute help on the attr detail during editing 2020-08-23 23:38:05 +02:00
zadam 46e373e822 "smart" date values can now freely contain whitespaces 2020-08-23 21:53:50 +02:00
zadam a6c79c934c fix global menu button and extra window 2020-08-22 23:07:52 +02:00
zadam 08c612c876 fixed builds for linux desktop 2020-08-22 23:07:31 +02:00
zadam ed6181a85e added in-editor help for editing attributes 2020-08-21 23:08:53 +02:00
zadam 0533b95562 Merge remote-tracking branch 'origin/master' 2020-08-20 23:15:45 +02:00
zadam 5b4826fd08 extra tests for escaping 2020-08-20 23:15:38 +02:00
zadam 60e213433b Merge remote-tracking branch 'origin/stable' 2020-08-20 15:45:57 +02:00
zadam 153de63f4d update note title in link map when note is renamed 2020-08-20 15:45:33 +02:00
zadam 4d4d9f2000 small fixes to saved search 2020-08-20 15:28:28 +02:00
zadam 0b38e24185 fixes to saved search 2020-08-20 15:23:24 +02:00
zadam d037420acb note. prefix also separates fulltext tokens from expression tokens 2020-08-20 13:53:15 +02:00
zadam 20b4b059e3 fix jsdoc 2020-08-20 12:00:57 +02:00
zadam 28ebca1268 Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	package-lock.json
#	package.json
#	src/services/image.js
2020-08-20 11:56:03 +02:00
zadam a89629b3de add fallback when resizing image fails, closes #1190 2020-08-20 11:34:14 +02:00
zadam eec850c11f fix toggle sidebar issues, closes #1196 2020-08-20 11:14:27 +02:00
zadam 52e0f838a9 fulltext now ignores archived notes like it used to in the old implementation 2020-08-20 00:15:08 +02:00
zadam d1f70efdb4 Merge remote-tracking branch 'origin/master' 2020-08-19 23:01:00 +02:00
zadam 5b1e229d7d added note.text + tests 2020-08-19 23:00:51 +02:00
zadam 5c55278c59 attr detail small visual tweaks 2020-08-19 18:05:07 +02:00
zadam 3c224e80ee fix opening links in attr detail 2020-08-19 17:59:55 +02:00
zadam 5741b380f0 fixed script support 2020-08-18 23:32:50 +02:00
zadam 7335844ae3 updated DB schmea 2020-08-18 22:37:23 +02:00
zadam 53c361945b fix setting mime after import + cleanup of old search code 2020-08-18 22:20:47 +02:00
zadam 03d7ee9abb compatibility with existing scripts 2020-08-18 21:32:45 +02:00
zadam 3670fbff49 frontend validation of attribute name + other changes and fixes 2020-08-17 23:54:18 +02:00
zadam f24e27dadd autocollapse notes after period of inactivity + some other changes, #1192 2020-08-17 20:58:34 +02:00
zadam 53b39e2e82 many changes related to #1192:
- use CSS contain wherever possible to reduce subtrees of forced reflows
- reduced dependency between note and note_contents updates which will reduce number of updates to components
- optimization of "many rows" querying
2020-08-16 22:57:48 +02:00
zadam c20577909c simplified and more consistent link handling, also fixes #1191 2020-08-15 22:30:40 +02:00
zadam a87b710626 attribute fixes 2020-08-15 21:24:17 +02:00
zadam 625483a8f2 fixes 2020-08-15 00:06:26 +02:00
zadam 121c819b79 fix sizing of toast since bootstrap 4.5.1 2020-08-14 23:53:37 +02:00
zadam 77a3bdce1f related notes get updated as user types in the attr detail dialog 2020-08-14 23:00:15 +02:00
zadam 827f8b42a0 Merge remote-tracking branch 'origin/stable' 2020-08-14 22:34:17 +02:00
zadam b815e10ff3 add running tests into the build process 2020-08-14 22:30:01 +02:00
zadam c2789bf355 use relative paths for fonts in steel blue in demo document, closes #1187 2020-08-14 21:04:18 +02:00
zadam e8d63b5647 add "search in note" to "note actions" menu, #1184 2020-08-14 20:58:19 +02:00
zadam 53c6542af6 Merge remote-tracking branch 'origin/master' 2020-08-14 00:11:35 +02:00
zadam d9c246f8a7 fixes for promoted attribute multiplicity 2020-08-14 00:11:26 +02:00
dependabot[bot] 803694d113 Bump lodash from 4.17.15 to 4.17.20 (#1189)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.20.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.20)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-13 23:29:27 +02:00
zadam f6f9f0d2c0 ability to remove attribute with mouse + other tweaks 2020-08-13 23:23:57 +02:00
zadam 47a9516ada Merge remote-tracking branch 'origin/stable' 2020-08-13 00:00:05 +02:00
zadam bd8b83898f Merge remote-tracking branch 'origin/stable' into stable 2020-08-12 23:59:42 +02:00
zadam 97109efb6c fix attribute cache invalidation 2020-08-12 23:59:33 +02:00
zadam b4d9fdaeda fix attribute cache invalidation 2020-08-12 23:58:32 +02:00
zadam 1810116a34 attribute fixes 2020-08-12 23:39:05 +02:00
Jody 3e89855aa3 Add web app manifest (#1174)
* Add web app manifest, link to new manifest on mobile template.

* Remove duplicate manifest entry.
2020-08-12 21:39:12 +02:00
zadam eaac65142f tweaks in attr list sizing 2020-08-12 21:36:43 +02:00
zadam ae909d1079 fix saving & refreshing attributes across compoments 2020-08-12 00:02:19 +02:00
zadam 935e5de493 small fixes related to inherited attributes 2020-08-11 22:52:17 +02:00
zadam 8d0df6ddb9 Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	db/demo.zip
#	src/services/notes.js
#	src/services/request.js
2020-08-10 23:45:17 +02:00
zadam 3b148eb6f8 fixed demo document to correctly show included notes 2020-08-10 23:42:06 +02:00
zadam 4e8d1dac67 fixes for rendering PDF previews e.g. in include note 2020-08-10 23:39:17 +02:00
zadam 7779fd1dfe synchronize the removal of the selection in cuttonote to make it more predictable 2020-08-10 22:42:57 +02:00
zadam 960d7dede3 add scrolling margins, #1181 2020-08-09 23:20:57 +02:00
zadam e663d7da1b updated schema for entity_changes table 2020-08-09 22:44:53 +02:00
zadam 02cc52af66 small improvements and fixes 2020-08-06 23:55:17 +02:00
zadam f60af1f05e small improvements and fixes 2020-08-06 00:06:42 +02:00
zadam 224fbdc8cd small improvements to text preview in file notes 2020-08-04 22:06:25 +02:00
zadam 8561201abc invalidate note complement cache quickly after load 2020-08-04 21:57:08 +02:00
zadam 3c1a809276 external links should open only in new window, not in the original window, closes #1171 2020-08-04 20:42:32 +02:00
zadam ddf0a89e1f bootstrap 4.5.1 2020-08-04 20:39:16 +02:00
zadam 4b101baf00 CKEditor 21 content styles 2020-08-03 23:36:33 +02:00
zadam 782127dd91 fix noproxy handling for image downloading 2020-08-03 23:33:44 +02:00
zadam 7900622f38 refactored "sync" table to "entity_changes" - more changes 2020-08-02 23:43:39 +02:00
zadam 864271d5ef refactored "sync" table to "entity_changes" 2020-08-02 23:27:48 +02:00
zadam 5a5ea4f474 fix filling sync table after demo document import 2020-08-02 22:53:57 +02:00
zadam 749791f6d1 fixed CSP after upgrade to helmet 4 2020-08-02 22:26:02 +02:00
zadam 5ca3e9a0bc fixed db migrations after merge from stable 2020-08-02 20:44:46 +02:00
zadam f4a4e746bf Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	libraries/ckeditor/ckeditor.js.map
#	package.json
#	src/routes/api/login.js
#	src/routes/api/sync.js
#	src/routes/index.js
#	src/services/app_info.js
#	src/services/sync.js
2020-08-02 20:41:22 +02:00
zadam 4fc8bace94 support horizontal line, closes #1164 2020-08-01 23:41:30 +02:00
zadam 47a22f6e8d release 0.43.3 2020-07-31 23:34:05 +02:00
zadam 17d7ff3ff1 small improvements to sync table handling 2020-07-31 00:08:01 +02:00
zadam 3582013a33 import of initial demo document sets sync.isSynced incorrectly to always 0, #1163 2020-07-31 00:07:38 +02:00
zadam 95bbdb3b6b CKEditor 21 2020-07-29 23:34:49 +02:00
zadam e1dd933ec0 Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	src/services/options_init.js
2020-07-28 23:50:54 +02:00
zadam 8a57960c6e tweaks in sync timeout handling 2020-07-28 23:29:12 +02:00
zadam a7b62b30cb fix image resizing after save/update/import 2020-07-28 00:26:47 +02:00
zadam c9cbc2db02 import fixes 2020-07-27 23:40:14 +02:00
zadam c92526372c Merge remote-tracking branch 'origin/stable' 2020-07-26 23:47:31 +02:00
zadam 5f4a84d967 fix extracting base64 inline images from HTML, fixes #1159 2020-07-26 23:47:06 +02:00
zadam ef59810f89 Merge remote-tracking branch 'origin/stable' 2020-07-26 22:58:54 +02:00
zadam 099e90ed64 fix extracting base64 inline images from HTML, fixes #1159 2020-07-26 22:58:22 +02:00
zadam 9b15437ff6 attr detail sizing 2020-07-26 00:09:53 +02:00
zadam a3a2f1a2b4 autocompletes for attribute detail 2020-07-26 00:04:34 +02:00
zadam 3261fea67f added promotedAttributesExpanded option 2020-07-25 23:32:46 +02:00
zadam b19589033d individual panes of attribute list are now opened correctly 2020-07-25 23:24:48 +02:00
zadam 2217c5a3e0 promoted attributes are now part of attr list and also responsive 2020-07-25 00:06:49 +02:00
zadam b60efbbf5a Merge remote-tracking branch 'origin/master' 2020-07-24 23:14:38 +02:00
zadam e9bfe4521e bug fixes 2020-07-24 23:14:31 +02:00
MeIchthys 79d9d79055 Minor gramatical changes (#1162)
* Minor gramatical change

change "delete also" to "also delete"

* Minor gramatical change

change "once more" to "confirmation"

* Minor gramatical changes

add "a" before some nouns.

* Minor gramatical/spelling fixes

* Minor gramatical changes

* Convert to singular action descriptions

change "changes" to "change" 
change "switches" to "switch"
change "copies" to "copy" 
etc.

* Minor gramatical changes
2020-07-24 22:03:39 +02:00
zadam a36022d8c1 fixes 2020-07-24 00:02:15 +02:00
zadam 0eb77e43e2 full text search uses in-memory search even for unprotected notes and preprocesses content with tag stripping 2020-07-23 23:38:38 +02:00
zadam e1d4be814f toggle to expand/collapse attr list is saved and propagated across tabs 2020-07-23 22:31:06 +02:00
zadam aa4a645670 adding a button to the detail to explicitly save changes. 2020-07-23 00:19:50 +02:00
zadam 2c9565b4b3 fixes to update from detail to editor 2020-07-22 23:58:01 +02:00
zadam c5cc6b91c1 label and relation definition are now displayed without prefixes in the attr detail view 2020-07-22 23:42:58 +02:00
zadam 3109233d4f better reporting for search parsing errors 2020-07-22 22:52:15 +02:00
zadam 60e8bd98b9 improvements to lexer and its tests 2020-07-21 23:42:59 +02:00
zadam 32ecb43b5c search refactoring 2020-07-21 00:01:07 +02:00
zadam f03e4bc7d7 detect attempts to compare between labels (only with constants is possible) 2020-07-20 23:27:30 +02:00
zadam 4e5ddaf7d1 fix inQuotes + tests 2020-07-19 23:23:48 +02:00
zadam 35469f6f2d lexer now marks "in quotes" tokens 2020-07-19 23:19:45 +02:00
zadam 4c7b1d6543 shortcut negation syntax 2020-07-19 15:25:24 +02:00
zadam df69b1d8dd attr detail handles label/relation definition updates 2020-07-18 23:45:28 +02:00
zadam 9d46c7253b fixes in saving 2020-07-18 00:20:24 +02:00
zadam a94ae81c30 split out attribute_editor widget, WIP 2020-07-17 23:55:59 +02:00
zadam 9f527f0330 split out attribute_editor widget, WIP 2020-07-17 00:08:28 +02:00
zadam 68d8b1c8a9 rename note_attributes widget to attribute_list 2020-07-16 23:12:10 +02:00
zadam 0ab9d02434 fancytree 2.36.0 2020-07-15 22:40:58 +02:00
zadam 3d324b954d fix checking affected notes when modified attribute's owning note is not loaded into cache, #803 2020-07-15 22:36:27 +02:00
zadam f028b88cce Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	package.json
#	src/routes/api/clipper.js
2020-07-15 00:11:26 +02:00
zadam 64dc522b27 infrastructure for editing attribute definitions 2020-07-15 00:09:37 +02:00
zadam 3d02f82c77 add label/relation from menu 2020-07-14 23:29:37 +02:00
zadam 528418aecb parsing and setting isInheritable flag 2020-07-13 23:27:23 +02:00
zadam 5dd73562da add new attr wip 2020-07-13 00:27:21 +02:00
zadam 62cacf85ed setting the relation target note 2020-07-13 00:15:00 +02:00
zadam 443f389d73 release 0.43.2 2020-07-11 23:58:59 +02:00
zadam 08edc521e4 fix visibility of hyper-link in repeatedly opened dialog 2020-07-11 23:50:38 +02:00
zadam f54f6d09b0 fix declaring global variables on the setup page, closes #1071 2020-07-11 23:19:24 +02:00
zadam 3219441fdf fallback for missing parsed title, closes trilium-web-clipper/issues/16 2020-07-11 23:05:28 +02:00
zadam 1c97310e92 correctly parsing the click position 2020-07-10 22:39:16 +02:00
zadam 0ecb2f3662 WIP 2020-07-09 23:59:27 +02:00
zadam 055db32510 removed tar import 2020-07-09 21:46:33 +02:00
zadam 054420225f added experimental "save" button 2020-07-09 00:07:14 +02:00
zadam 448a3254a3 small tweaks 2020-07-08 23:51:47 +02:00
zadam b2c0eaeaf8 Merge remote-tracking branch 'origin/stable' 2020-07-08 23:14:26 +02:00
zadam 1b0a2b41da added tab and shift-tab shortcuts for indent/outdent, closes #978 2020-07-08 21:57:09 +02:00
zadam 50b976990c click on inherited attr will also bring up the attribute detail widget 2020-07-05 23:53:55 +02:00
zadam 9f2545395d better value matching regex 2020-07-04 11:14:11 +02:00
zadam 67bffbf30b consistency checks will now fix incorrectly named attributes 2020-07-04 11:02:05 +02:00
zadam 51dae378a3 more cleanup 2020-07-04 10:29:17 +02:00
zadam a0b3bc858d removed attributes dialog 2020-07-04 10:18:01 +02:00
zadam 2e24111c2b wip 2020-07-04 00:40:41 +02:00
zadam 69d529ada1 wip 2020-07-04 00:20:23 +02:00
zadam bfa69a3dc3 closing of attr detail 2020-07-03 22:27:45 +02:00
zadam 5b862c3d29 Merge remote-tracking branch 'origin/stable' 2020-07-02 23:21:17 +02:00
zadam dee4083bf3 improve request logging 2020-07-02 23:15:37 +02:00
zadam 18749092ff sql_init/migration fixes 2020-07-02 22:57:17 +02:00
zadam c4cc48dfc9 fixed initial demo import 2020-07-02 21:08:18 +02:00
zadam ef847b9904 fix search results 2020-07-02 20:19:09 +02:00
zadam 3e189d5c10 fixes 2020-07-01 23:50:33 +02:00
zadam 46d3160da4 removed detail.css, added to individual type widgets 2020-07-01 23:35:00 +02:00
zadam 78a2c1753e consistency checks fixes 2020-07-01 22:42:59 +02:00
zadam f0b608ddec non-intrusive logging of sync errors 2020-07-01 21:33:52 +02:00
zadam 582429e762 updated content styles 2020-07-01 21:03:51 +02:00
zadam bf073690e0 fixing promoted attributes 2020-07-01 00:02:13 +02:00
zadam c012620338 removed now unused image minifying binaries 2020-06-30 23:41:13 +02:00
zadam 5e18e7dc67 html sanitize imported notes, #1137 2020-06-30 23:37:06 +02:00
zadam 51f094f87f image handling consistency fixes 2020-06-28 23:10:45 +02:00
zadam 262a4fa3c7 removed image minification using imagemin because of constant platform related issues 2020-06-28 22:36:42 +02:00
zadam c778e87683 wip 2020-06-27 00:40:35 +02:00
zadam dd62b306fd refactored attr detail into separate widget 2020-06-26 22:17:39 +02:00
zadam 1f05638609 attribute progress 2020-06-25 23:56:06 +02:00
zadam 92e49214c7 more attribute mockups (inherited attributes) 2020-06-24 23:56:39 +02:00
zadam 9615e25a67 fix merge problems 2020-06-24 22:29:53 +02:00
zadam a574fce13f Merge remote-tracking branch 'origin/stable' into syncification
# Conflicts:
#	package-lock.json
#	package.json
#	src/routes/custom.js
#	src/services/import/single.js
2020-06-24 22:08:31 +02:00
zadam 238df0fb40 fix SVG single file import as image and not as file, closes #1114 2020-06-24 21:47:50 +02:00
zadam 89356918f1 fix unescaped HTML in the tree node title, closes #1127 2020-06-24 21:07:55 +02:00
zadam 263b65997c hide "type around" controls in printed PDF, closes #1129 2020-06-24 20:44:00 +02:00
zadam 2b757bfccd upgrade ckeditor to 20.0.0 2020-06-24 16:17:39 +02:00
zadam 99d66ea89f mockup of hidable attributes 2020-06-24 00:02:54 +02:00
zadam c78ca4c9db fixed triggers to sort children of notes with "sorted" label, closes #1126 2020-06-23 22:03:01 +02:00
zadam b245b249d3 got rid of simple-node-logger in favor of simple custom logger 2020-06-23 13:38:27 +02:00
zadam a0395e9866 release 0.43.1 2020-06-23 10:11:17 +02:00
zadam 89aa4fbc73 electron 9.0.5 2020-06-23 10:10:59 +02:00
zadam 74a7802088 fix custom resource handler, closes #1125 2020-06-22 23:13:53 +02:00
zadam a89b6711d1 refactored code to not depend on external elements, #1120 2020-06-22 22:28:45 +02:00
zadam b2549b2834 Merge remote-tracking branch 'origin/stable' into stable 2020-06-22 22:00:22 +02:00
zadam 959c4cbe64 removed icon tooltip again 2020-06-22 22:00:08 +02:00
Shon Ramamurthy d03d3603d2 Add optional support for note title tooltips under note tree widget (#1120)
* Add support for note title tooltips under note tree widget

This change adds an option to set the 'tooltip' configuration of the
Fancytree component. This allows tooltips containing the note title to
be displayed when a hover is performed over a note title in the tree
widget.

* Revert DB Upgrade

The db upgrade is reverted as this is not required for options.

* Simplify boolean option comparison

With this change, the existing 'is(key)' method is used to perform
tooltip enable option boolean comparison.

* Display tooltip only on center-pane overlap - Experimental

With this change, a straight-forward method to detect HTML element
overlap has been identified (source:
https://gist.github.com/jtsternberg/c272d7de5b967cec2d3d). It is now
possible to detect whether the center-pane element overlaps with the
Fancytree node title-bar. Using this approach we now have a rough
implementation which only displays a note-title tooltip when there is a
center-pane overlap.

At this stage, this change is experimental and the following needs to be
further addressed,
 - Register the 'mouseenter' event handler in an appropriate place. The
   current placement of this event handler is only for testing.
 - This change is now enabled by default. It needs to be seen whether it
   would still make sense to disable it via an option.

* Remove option to set tooltip

With this change, the tooltip options menu item has been removed as it
becomes relevant to have this feature enabled by default.

* Revert further changes related to the options menu

Further changes are rolled back which was earlier related to the tooltip
options setting. Some of these were missed in the previous commit.

* Remove debug logging

Remove debug logging and unnecessary line breaks.

* Move note-title tooltip handler under note_tree.js

With this change, we move the definition for the note-title tooltip
handler inside 'note_tree.js'. Registration is done inside
'side_pane_toggles.js' as we would need the handler to detect the
'center-pane' element first before detecting collisions.
2020-06-22 21:58:58 +02:00
zadam 22302e8200 attrs WIP 2020-06-21 23:41:51 +02:00
zadam f117ae4915 fix sending sync rows via WebSocket after transaction is committed 2020-06-21 13:44:47 +02:00
zadam c34a9b96e4 further simplification - now using better-sqlite3 native transaction API 2020-06-21 13:33:56 +02:00
zadam f0acfaf147 simplification of transaction handling 2020-06-21 13:15:36 +02:00
zadam e1c2573778 add tooltip to fancytree node icon, #1120 2020-06-21 12:47:24 +02:00
zadam 56d6384ae1 added protected note full text search 2020-06-20 23:46:49 +02:00
zadam 5f699cc28c converted most dynamic SQL queries into prepared statement to avoid excessive statement caching 2020-06-20 23:24:34 +02:00
zadam 969f31dde2 fixed backup and anonymization with better-sqlite3 2020-06-20 23:09:34 +02:00
zadam 027afab6b1 fix DB setup 2020-06-20 21:42:41 +02:00
zadam 6207203b35 wip 2020-06-20 13:18:03 +02:00
zadam 88348c560c syncification 2020-06-20 12:31:38 +02:00
zadam 30062d687f Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	libraries/ckeditor/ckeditor.js
#	libraries/ckeditor/ckeditor.js.map
2020-06-20 09:40:11 +02:00
zadam ffc96ad6b2 parser status indication 2020-06-20 09:39:44 +02:00
zadam 2af2b45062 fix keyboard shortcut for print this note, #1118 2020-06-20 00:04:31 +02:00
zadam eabe4775bd fix click handler of links inside included note 2020-06-19 23:20:52 +02:00
zadam da9b321aa0 allow mouse interactions in ckeditor widgets, fixes #1117 2020-06-19 22:24:57 +02:00
zadam 7b0aa7ab0b parser status indication 2020-06-18 23:53:57 +02:00
zadam f700e6e12b use standard search to find notes with same attrs 2020-06-18 22:28:18 +02:00
zadam a87e59cecb WIP of attribute view on click 2020-06-18 12:52:16 +02:00
zadam a04aa6fd36 version updates 2020-06-18 09:12:30 +02:00
zadam a7d9870846 Merge remote-tracking branch 'origin/better-sqlite3'
# Conflicts:
#	libraries/ckeditor/ckeditor.js
#	libraries/ckeditor/ckeditor.js.map
#	package-lock.json
#	package.json
#	src/public/app/services/utils.js
#	src/public/app/widgets/type_widgets/editable_text.js
#	src/services/utils.js
2020-06-18 09:03:09 +02:00
zadam c18d8d2d1b add back lost edited notes widget, closes #1115 2020-06-18 08:56:23 +02:00
zadam f745e21e0d use better-sqlite3 2020-06-17 23:03:46 +02:00
zadam 5f2361ebd5 release 0.43.0-beta 2020-06-15 23:26:12 +02:00
zadam 9791dab97d recent changes sorting fixes, closes #1099 2020-06-15 23:22:11 +02:00
zadam 85d986534d fix enforcing node's http requests for sync 2020-06-15 18:24:43 +02:00
zadam 00faf758e8 fixes and polish 2020-06-15 17:56:53 +02:00
zadam 6ba2e5cf73 add word count widget to the demo document (plus cleanup of external links) 2020-06-14 16:29:29 +02:00
zadam fb3876d28b promoted attr selection using autocomplete will trigger change event to save it, closes #699 2020-06-14 16:04:00 +02:00
zadam fb975849b9 small API additions 2020-06-14 14:30:57 +02:00
zadam 16fef78344 add API method to force refresh of included notes, closes #1106 2020-06-14 10:50:08 +02:00
zadam e0b4b369dc transaction handling fixes 2020-06-14 00:35:53 +02:00
zadam 0df7851214 fix sync 2020-06-13 22:34:15 +02:00
zadam 5d47c2b23e opening transactions only on write operations which enforces exclusive lock only there to improve concurrency, custom handling of sync request timeouts, #1093, #1018 2020-06-13 10:23:36 +02:00
zadam d09b021487 add time limit to frontend update 2020-06-11 00:13:56 +02:00
zadam 910bda860c fix delete note function just work one time, closes #1101 2020-06-10 23:43:59 +02:00
zadam 2d92b4931a fix ctrl+click opening the link twice/thrice, closes #1094 2020-06-10 00:10:27 +02:00
zadam 212b719ee9 better detection of changes in attributes and how they affect notes 2020-06-09 22:59:22 +02:00
zadam 1db892d22f return the ability to hide archived notes, closes #1095 2020-06-08 23:15:49 +02:00
zadam 535dcb6d12 release 0.42.7 2020-06-08 10:43:12 +02:00
zadam 4426362799 cleanup sqlite to make the distributed archives smaller 2020-06-08 10:42:40 +02:00
zadam 2c609e8136 promoted attributes widget is now auto-updating, fixes #700 2020-06-08 00:29:52 +02:00
zadam 11b73b79ed refresh promoted attributes when change detected 2020-06-07 23:57:10 +02:00
zadam 28dc6b93ca lock CPU info for perf context 2020-06-07 23:56:51 +02:00
zadam e70c862e72 fix import 2020-06-07 23:55:55 +02:00
zadam b3e66d5a83 fixed command line anonymization 2020-06-07 10:45:41 +02:00
zadam e8cd821e57 futrther improvements to anonymization 2020-06-07 10:20:48 +02:00
zadam 401a3f0ecb add info on read only notes, #1088 2020-06-06 18:46:45 +02:00
zadam e73dffad0b parse incomplete attrs 2020-06-06 12:56:24 +02:00
zadam ef1d062745 attribute parser preserves indexes from original string 2020-06-06 10:39:27 +02:00
zadam f245d51746 basic saving of attributes in the widget 2020-06-05 17:25:14 +02:00
zadam be7ac74235 better fallback for resolving filenames of binary attachments 2020-06-05 10:40:35 +02:00
zadam ad48b59893 no need to reload whole subtree while moving notes 2020-06-05 00:07:45 +02:00
zadam e817acba4e fix template attribute cycle in note cache 2020-06-04 23:58:31 +02:00
zadam 4ae965c5cb Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	src/public/app/widgets/collapsible_widgets/note_info.js
2020-06-04 22:37:04 +02:00
zadam 58fa0832f6 fix focusing title after creating a note 2020-06-04 21:44:34 +02:00
zadam 1502b9ce66 prevent attribute inheritance cycle via template, closes #1077 2020-06-04 12:27:41 +02:00
zadam ed9fbae65d attribute parser and tests WIP 2020-06-04 00:04:57 +02:00
zadam 01a7af965c refactoring of es6 test skeleton 2020-06-03 17:28:57 +02:00
zadam 99120be46d skeleton of first tests 2020-06-03 17:11:03 +02:00
zadam 915b1d1a45 Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	libraries/ckeditor/ckeditor.js
#	libraries/ckeditor/ckeditor.js.map
#	package-lock.json
#	package.json
#	src/public/app/widgets/type_widgets/editable_text.js
2020-06-03 16:25:45 +02:00
zadam e68aed2057 Merge remote-tracking branch 'origin/master' 2020-06-03 16:24:52 +02:00
zadam eedeaca37d wip 2020-06-03 16:24:41 +02:00
zadam 7307ca385f release 0.42.6 2020-06-03 14:30:07 +02:00
zadam c1fd9825aa fix backup 2020-06-03 12:16:16 +02:00
zadam 9de7d3fc53 fix unloading protected session after clicking on a button, closes #1078 2020-06-03 11:47:30 +02:00
zadam 3c5db844ba fix tree focusing issues 2020-06-03 11:06:45 +02:00
zadam e7330c1104 more anonymization 2020-06-03 09:55:05 +02:00
zadam ec4586b164 fix reference link implementation, closes #1069 2020-06-02 23:54:33 +02:00
zadam 91e5f24798 fix db anonymization 2020-06-02 23:13:55 +02:00
zadam 38723e0189 release 0.42.5 2020-05-31 23:33:30 +02:00
zadam 8c88ce6f65 fix moving/cloning notes broken in 0.42.4, closes #1066 2020-05-31 22:33:02 +02:00
Adam Coyne 0def5f9a63 Add a VSCode debug configuration matching the start-server npm script (#1061) 2020-05-31 12:40:53 +02:00
zadam 4d22959e28 release 0.42.4 2020-05-31 10:33:12 +02:00
zadam 50a28d8c51 the node you start dragging should be included even if not selected 2020-05-31 10:32:35 +02:00
zadam e25b633ec4 better error logging in backup 2020-05-31 10:24:59 +02:00
Adam Coyne ac10701b55 Add import option to replace underscores with spaces in note names (#1064) 2020-05-30 23:15:00 +02:00
zadam 75bd395669 fix extra refresh because of duplicated sync event, closes #1063 2020-05-30 22:35:18 +02:00
zadam 5e353a5612 improved drag & drop 2020-05-30 10:30:21 +02:00
Adam Coyne c0cd321118 Fix import error (#1060)
* Fix access to attributes on undefined noteMeta

* Remove .markdown extension from imported page titles
2020-05-30 10:09:10 +02:00
zadam d65624d8d2 Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	libraries/ckeditor/ckeditor.js
#	libraries/ckeditor/ckeditor.js.map
2020-05-29 22:29:28 +02:00
zadam 6b359b7796 return 401 when auth request is out of sync, closes #1056 2020-05-29 22:06:36 +02:00
zadam 13f9d037dc safer backup to file using VACUUM INTO + possibility to explicitly ask for backup now 2020-05-29 21:55:08 +02:00
zadam 1911d64c1c fix long filename overflowing, closes #1052 2020-05-29 20:36:48 +02:00
Ionuț Staicu 1c388c9805 cross platform compatibility (#1051) 2020-05-29 12:01:20 +02:00
zadam 6a957eff17 added autocompletes for labels, relations 2020-05-28 23:59:08 +02:00
zadam 5aaa429203 WIP of new attribute widget 2020-05-28 00:17:13 +02:00
zadam d4c3f1b3f2 upgrade to ckeditor 19.1.0 2020-05-27 22:08:06 +02:00
zadam ae934720bc Merge branch 'm43' 2020-05-27 00:09:51 +02:00
zadam 753c181979 Merge remote-tracking branch 'origin/stable' 2020-05-27 00:09:40 +02:00
zadam 55b210d7c5 added not() expression 2020-05-27 00:09:19 +02:00
zadam dc2d5a0a79 fix fulltext content search 2020-05-26 23:25:13 +02:00
zadam c753f228ac more tests & fixes 2020-05-25 23:39:34 +02:00
zadam a1a744bb00 order & limit implementation WIP 2020-05-25 00:25:47 +02:00
zadam 077d19b44b Create SECURITY.md 2020-05-24 19:34:52 +02:00
zadam b5627b138a integrate new search into the main global search 2020-05-24 09:30:08 +02:00
zadam cb4d0624b5 put session directory into data dir to avoid conflict of multiple instances on a single server, fixes #1033 2020-05-24 00:21:20 +02:00
zadam e2490f9975 faster implementation of ancestors 2020-05-23 23:57:59 +02:00
zadam 9ede77aead added ancestor 2020-05-23 23:44:55 +02:00
zadam 8ce2afff8a more tests 2020-05-23 22:18:06 +02:00
zadam a2e1fb35b8 tests for note properties 2020-05-23 20:52:55 +02:00
zadam bb03a8714a more tests 2020-05-23 18:42:32 +02:00
zadam ae772288e2 support for long syntax of labels and relations 2020-05-23 18:13:35 +02:00
zadam 355ffd3d02 added querying by relation's properties 2020-05-23 12:27:44 +02:00
zadam 3d12341ff1 added querying by children 2020-05-23 10:36:49 +02:00
zadam 4ea934509e implemented property based access + parent 2020-05-23 10:25:22 +02:00
zadam 3db84daf94 fix hiding autocompletes after closing tab, closes #1034 2020-05-22 19:30:21 +02:00
zadam 714881ad99 more search tests + numeric label comparison 2020-05-22 19:08:06 +02:00
zadam ee053b9fdf basic search tests 2020-05-22 09:38:30 +02:00
zadam cd48135394 refactoring to allow unit tests of the whole search subsystem 2020-05-21 14:05:56 +02:00
zadam a06662f4ce fuzzy search for values as well 2020-05-21 13:45:18 +02:00
zadam 2e6395ad88 prefix match for autocomplete attribute search 2020-05-21 12:05:12 +02:00
zadam 75d8627f1c refactoring to ParserContext 2020-05-21 11:46:01 +02:00
zadam a8d12f723f fix highlighting 2020-05-21 11:18:15 +02:00
zadam 08dbf90a8c hide body during startup to reduce flicker 2020-05-21 09:42:25 +02:00
zadam 32dde426fd apply new query parsing to note autocomplete 2020-05-21 00:39:17 +02:00
zadam b26100479d parser tests added 2020-05-20 23:20:39 +02:00
zadam faf4daa577 shadow on hover for title bar buttons 2020-05-20 19:14:07 +02:00
zadam 2526715aa4 release 0.42.3 2020-05-20 08:54:55 +02:00
zadam 04c573e212 set default executors 2020-05-20 08:54:37 +02:00
zadam 99aa481ace refactoring for testing parser 2020-05-20 00:03:33 +02:00
zadam ef37bc1a99 Merge remote-tracking branch 'origin/stable' into m43
# Conflicts:
#	.idea/dataSources.xml
2020-05-19 23:20:32 +02:00
zadam 58f4f5d1e6 fix deadlock after "cut to note", closes #1030 2020-05-19 22:58:08 +02:00
zadam b72dc977e6 parens handler + parser in progress 2020-05-19 00:00:35 +02:00
zadam 81bf84f2de lexer fixes + tests 2020-05-17 23:14:24 +02:00
zadam fa5d982a55 fix exporting root note, closes #1024 2020-05-17 21:07:54 +02:00
zadam e77e0ce675 lexer impl WIP + test 2020-05-17 19:43:37 +02:00
zadam 32eaafd024 note cache fixes after refactoring 2020-05-17 10:11:19 +02:00
zadam 60c2049729 note cache refactoring WIP 2020-05-17 09:48:24 +02:00
zadam dcd371b5b1 note cache breakup into classes, WIP 2020-05-16 23:12:29 +02:00
zadam e3071e630a note cache refactoring WIP 2020-05-16 22:11:09 +02:00
zadam 78ea0b4ba9 refactoring ... 2020-05-15 23:50:36 +02:00
zadam f07025f741 start of note cache expression implementation 2020-05-15 11:04:55 +02:00
zadam 5f1f65a3c2 fuction reorganization 2020-05-14 23:21:48 +02:00
zadam a3e2369599 add also content fulltext 2020-05-14 23:11:59 +02:00
zadam 1ec446137d fulltext also searches for branch prefixes 2020-05-14 21:30:36 +02:00
zadam 108afe8896 fix incorrect processing of sync rows, closes #1019 2020-05-14 13:08:06 +02:00
zadam a287bb59ea note cache fixes for created notes 2020-05-13 23:06:13 +02:00
zadam 7992f32d34 note cache refactoring 2020-05-13 14:42:16 +02:00
zadam b07accfd9d note cache refactoring + handling entity changes 2020-05-13 10:47:22 +02:00
zadam ccb5f3ee18 searching now works correctly in inherited attributes 2020-05-13 00:01:10 +02:00
zadam 29e6b63f82 Merge remote-tracking branch 'origin/master' into m43 2020-05-12 21:15:54 +02:00
zadam 2818854c4b Merge remote-tracking branch 'origin/stable' 2020-05-12 21:15:32 +02:00
zadam d75b770fb9 update of bootstrap to 4.5.0 2020-05-12 20:17:51 +02:00
zadam 37da0adb8a release 0.42.2 2020-05-12 16:46:45 +02:00
zadam 13117d2e68 Merge remote-tracking branch 'origin/stable' 2020-05-12 13:41:06 +02:00
zadam 4f50864ec8 better UX when deleting notes - focus in note tree is moved to the next/previous note 2020-05-12 13:40:42 +02:00
zadam 30b9ef8604 fix tab title of deleted note 2020-05-12 12:45:32 +02:00
zadam b063b4c528 read only view images should not overflow 2020-05-12 12:28:59 +02:00
zadam b51f5ac6fd Merge remote-tracking branch 'origin/stable' 2020-05-12 10:59:02 +02:00
zadam e08b0141a4 when expanding/collpasing, set the flag also to the tree cache 2020-05-12 10:52:07 +02:00
zadam 9d8b8e26a1 attach extension to download file if note present 2020-05-12 10:28:31 +02:00
zadam cb70109ee7 fix creating new promoted attributes, closes #1008
(cherry picked from commit 2e0fb8aaf1)
2020-05-12 00:00:59 +02:00
zadam 2e0fb8aaf1 fix creating new promoted attributes, closes #1008 2020-05-11 23:57:39 +02:00
zadam ac4e6077bd Merge remote-tracking branch 'origin/stable' 2020-05-11 23:23:59 +02:00
zadam 8e8fa48241 ws update 2020-05-11 23:23:18 +02:00
zadam e541abbd60 disable hiding the body to not hide the noscript element 2020-05-11 22:44:10 +02:00
Naveen M V 940a70adc5 Fix regex bug (#1005)
(cherry picked from commit 9a662f76da)
2020-05-11 22:06:39 +02:00
Naveen M V 9a662f76da Fix regex bug (#1005) 2020-05-11 22:06:22 +02:00
zadam 88e8eb7e9c fixed context menu positioning when scaling is active 2020-05-11 20:08:55 +02:00
zadam b365c186a1 fixed clicking on links in read only view 2020-05-11 19:38:14 +02:00
zadam 15bc9dce1c search overhaul WIP 2020-05-10 23:27:53 +02:00
zadam 552fc5261a new note cache WIP 2020-05-09 23:42:26 +02:00
zadam 83c9e6e846 Merge branch 'master' into m43 2020-05-09 20:17:26 +02:00
zadam 2e837642e2 create note directly from mention linking 2020-05-09 14:25:27 +02:00
zadam c70a842bc6 Merge remote-tracking branch 'origin/stable' 2020-05-08 23:44:51 +02:00
zadam d20415c979 bind global menu item "Open SQL console" to the logic to create such a note 2020-05-08 23:39:46 +02:00
zadam c3438e0f3f implemented SQL console as a type of code note 2020-05-08 22:22:43 +02:00
zadam 64c9734f05 transform setup.js to the webpacked version in the build 2020-05-08 20:50:53 +02:00
zadam 48c843c087 fix setup on server edition 2020-05-08 10:24:57 +02:00
zadam 1bb895bb83 Merge remote-tracking branch 'origin/stable' 2020-05-07 23:36:11 +02:00
zadam 0e4eec10b9 added "restore this revision" button 2020-05-07 23:34:13 +02:00
zadam a3661cb763 fix display of buttons for revisions when there is none 2020-05-07 23:14:21 +02:00
zadam 115879ec4a fix note revisions displaying wrong tooltip 2020-05-07 23:02:46 +02:00
zadam f1ce0c7774 Merge branch 'm43-2'
# Conflicts:
#	src/public/app/services/app_context.js
#	src/public/app/widgets/run_script_buttons.js
2020-05-07 20:57:22 +02:00
zadam df11b076bc release 0.42.1 2020-05-06 23:24:13 +02:00
MeIchthys 54ecd2ee75 Prevent td text from overlapping th text (#1002)
This makes all of the Note Info sections more consistent with each other. It prevents overlapping of text when the window is displayed in a small-width environment.
2020-05-06 23:12:28 +02:00
zadam 2369bcf9fc fixes for image download 2020-05-06 23:11:34 +02:00
zadam 5d8808a2ad fix renaming existing attributes + added new label autoReadOnlyDisabled to control automatic setting to readOnly mode 2020-05-06 21:41:14 +02:00
zadam 62b993f06f fix closing tab by mouse 2020-05-06 21:24:51 +02:00
zadam 8aa5608085 fix "Render note" and "Execute script" buttons + refactoring around data-trigger-command handling 2020-05-06 00:00:14 +02:00
zadam b452d7e5c5 Merge remote-tracking branch 'origin/stable' 2020-05-06 00:00:01 +02:00
zadam a0f8caeccd added SQLite (Trilium) mime type 2020-05-05 23:59:26 +02:00
zadam edb9bc9229 fix "Render note" and "Execute script" buttons + refactoring around data-trigger-command handling 2020-05-05 23:58:52 +02:00
zadam 9b9d6d86d0 remove debugging console.log 2020-05-05 22:51:53 +02:00
zadam 7f2755d4a0 refresh button state change on note update 2020-05-05 22:18:09 +02:00
zadam 3b268cc8eb fix selecting note title after creation, closes #997 2020-05-05 21:42:18 +02:00
zadam 768ac83e14 Merge branch 'master' into m43 2020-05-05 19:38:42 +02:00
zadam 6dfe335707 added global menu item to open new empty window + some refactoring 2020-05-05 19:30:03 +02:00
zadam c7125d2b50 createNoteAfter should have saveSelection: false 2020-05-05 19:09:01 +02:00
zadam e8a33a5ee7 fix note title not updating when changing the title 2020-05-05 18:56:12 +02:00
zadam deb0b24c4c release 0.42.0-beta 2020-05-04 21:59:14 +02:00
zadam cafcb67a8a remove dangling autocompletes after closing the tab 2020-05-04 21:58:40 +02:00
zadam 4c6e9480e4 revert #980 because of performance issues 2020-05-04 21:49:03 +02:00
zadam 109bead1c7 removed unnecessary async/awaits 2020-05-04 10:19:11 +02:00
zadam ae1220b970 remove debug 2020-05-04 10:04:50 +02:00
zadam b89a2df462 fix image being redownloaded from localhost 2020-05-04 10:03:54 +02:00
zadam 8b5536ee3a note title widget and protected session entering fixes 2020-05-03 22:49:20 +02:00
zadam 647790885d downgrade sqlite3 library which has issues with electron build 2020-05-03 21:27:24 +02:00
zadam 227c3e4dcc fixes for offline downloading of images 2020-05-03 14:33:59 +02:00
zadam 4eb2407c73 fix folder icon for hidden included images 2020-05-03 13:59:49 +02:00
zadam 43e12fbea2 small fixes for collapse/expand 2020-05-03 13:52:12 +02:00
zadam 2a3091f788 reimplemented expand/collapse differently for better performance 2020-05-03 13:15:08 +02:00
zadam 742df25bc2 collapse/expand only folder notes 2020-05-03 09:49:56 +02:00
zadam 7ac2206e9b start of search overhaul 2020-05-03 09:18:57 +02:00
zadam 9be1d1f697 add note attribute cache to speed up tree loading 2020-05-02 18:19:41 +02:00
zadam ed52f93bbb tree settings popup fixes 2020-05-02 13:52:02 +02:00
zadam 3466a19397 protection against recursive expansion of search notes 2020-05-02 12:16:48 +02:00
zadam fe53e2351c basic implementation of note tree's config 2020-05-02 00:28:40 +02:00
zadam 5c35b870eb added titles with full date time including timezone offset also to note revisions dialog/widget 2020-05-01 00:01:53 +02:00
zadam 90d091aedb make note tree initial load non-lazy 2020-04-30 23:58:34 +02:00
zadam 0a05a40186 fix expand subtree's conflict with auto-lazy loading 2020-04-30 23:09:25 +02:00
zadam 7482ed063b Merge remote-tracking branch 'origin/stable' 2020-04-29 23:27:39 +02:00
zadam 70e343f2fc fix showing deleted notes in "recent changes" dialog, closes #994 2020-04-29 23:25:34 +02:00
zadam 358f3a7291 implement "expand subtree" contet menu, closes #993 2020-04-29 23:13:05 +02:00
zadam 6161b1c193 Merge remote-tracking branch 'origin/stable' 2020-04-29 22:27:46 +02:00
zadam 94b57dadd7 removed link context menu on JS-only links 2020-04-29 22:27:22 +02:00
zadam 81fbefb9cd added scripts for running trilium as "portable" 2020-04-29 21:55:57 +02:00
zadam 6d6695e3a9 ckeditor 19 2020-04-29 17:29:32 +02:00
zadam 4c308ad68f moved protected note switch to "note actions", added shadow to protected note title 2020-04-29 00:01:07 +02:00
zadam 989a003d2f borderless title bar buttons 2020-04-28 21:55:54 +02:00
zadam ccdb41841e release 0.41.6 2020-04-27 23:46:48 +02:00
zadam 0a94622413 fix drag and drop in the tree, closes #984 2020-04-27 23:39:10 +02:00
zadam 5769587305 experimental hiding of images if they are included in the parent note 2020-04-27 23:27:45 +02:00
zadam ffbfccb701 extra window now works in browsers too 2020-04-27 22:29:39 +02:00
zadam 56ce23fc36 fix collapsing of note revisions 2020-04-27 22:13:32 +02:00
zadam cba7e5a59f fix collapsing of note revisions 2020-04-27 21:44:25 +02:00
zadam 86cf8f3202 fix download/export 2020-04-27 20:58:31 +02:00
zadam 907cdd8fcb fixes for extra window 2020-04-26 23:11:52 +02:00
zadam 7ea53d468e use local dates in the recent changes 2020-04-26 14:39:13 +02:00
zadam 586d6b4557 in web version use local client time instead of server time for recording dateModified etc. 2020-04-26 14:26:57 +02:00
zadam 8f68ff1932 tweaks for the code preview 2020-04-26 12:06:54 +02:00
zadam a1ea2c9115 read only code notes WIP 2020-04-26 11:38:30 +02:00
zadam e8ce81a133 organize widgets a bit 2020-04-26 09:40:02 +02:00
zadam aff12950f0 Merge remote-tracking branch 'origin/master' into m42
# Conflicts:
#	src/public/app/services/app_context.js
2020-04-25 23:53:19 +02:00
zadam 75c58cbf79 refactored layouts for extra window 2020-04-25 23:52:13 +02:00
zadam 87a1e98fa2 default search should look also into attribute names and values, #980 2020-04-25 22:10:56 +02:00
zadam d1eacbb574 more robust entering protected session and the following protection of a note 2020-04-25 17:15:57 +02:00
zadam 71d248cd87 touch protected session during note update 2020-04-25 11:09:07 +02:00
zadam ac608b9334 small text changes 2020-04-24 21:21:22 +02:00
zadam 32020d78b5 prototype for new app window 2020-04-23 23:08:15 +02:00
zadam ff853c7d0a implement lazy loading of tabs which speeds up especially initial startup with many tabs 2020-04-22 23:09:35 +02:00
zadam 8526cb2315 added collapsible widgets to the docs 2020-04-21 23:14:55 +02:00
zadam dc89f72e75 fix display of text notes in note revisions 2020-04-21 22:59:37 +02:00
zadam 657ff16267 fix build webpack 2020-04-20 23:14:50 +02:00
zadam ed759f5585 release 0.41.5 2020-04-20 22:40:02 +02:00
zadam a86177bb59 release 0.41.5 2020-04-20 22:39:23 +02:00
zadam 9f1b3cc892 note paths widget has context menu too 2020-04-20 22:38:37 +02:00
zadam 8473f72ec8 fix support of multiple languages for spellchecking + list all available languages, closes #974 2020-04-20 22:26:31 +02:00
zadam 666d202a3a deps updates 2020-04-19 09:42:10 +02:00
zadam 988fae50cb fix help links and displayed shortcuts, closes #971 2020-04-18 11:14:09 +02:00
zadam 98bbd17920 release 0.41.4-beta 2020-04-15 23:00:13 +02:00
zadam dadcc93ae3 focus and select title after creating a note 2020-04-15 22:06:52 +02:00
zadam 48e19d0149 fix webpack buidl 2020-04-15 21:49:36 +02:00
zadam f97c9e3619 release 0.41.3-beta 2020-04-14 22:19:56 +02:00
zadam 61167f6646 make sure to close sqlite connection on exit 2020-04-14 22:15:55 +02:00
zadam 29cec8112e fix setup of new document, closes #966 2020-04-14 21:57:42 +02:00
zadam 48aadc8309 fix parsing of includeNote, closes #963 2020-04-13 18:12:41 +02:00
zadam b2508db9af release 0.41.2-beta 2020-04-13 10:30:11 +02:00
zadam 87510fd72b include note styling changes 2020-04-13 10:13:03 +02:00
zadam 339f212e4c added webpack 2020-04-12 14:22:51 +02:00
zadam 3c311cd2a4 loading indicator and optimisations for mobile 2020-04-11 22:06:04 +02:00
zadam b5bf581bd9 don't select tree node when dragging 2020-04-11 15:09:38 +02:00
zadam 242f139be4 allow specifying include note widget size 2020-04-11 11:49:58 +02:00
zadam 6c76d862d2 fix creating link with selection -> must by hyper link, closes #959 2020-04-11 09:47:19 +02:00
zadam 62bc05134e sqlite upgrade 2020-04-09 21:20:14 +02:00
zadam 50d3928dd5 release 0.41.1-beta 2020-04-08 22:10:55 +02:00
zadam 44d641617e fix relation map in demo document 2020-04-08 22:09:32 +02:00
zadam f3b84e5185 use ckeditor content styles also for read only notes, tooltips and book notes 2020-04-08 21:38:11 +02:00
zadam 34b8979016 make note paths work better with hoisted note 2020-04-08 20:38:50 +02:00
zadam 6c188982b3 added some logging 2020-04-08 11:07:38 +02:00
zadam 1175a8ee49 display last noteId in the note path widget as well 2020-04-08 10:19:15 +02:00
zadam 9c04ef9fb7 note path widget tweaks 2020-04-08 10:13:11 +02:00
zadam 6cc3e3cdf6 note paths is now on the left side and showing current path 2020-04-07 22:53:03 +02:00
zadam f8bd55374f support for included notes and reference links also in read only text views 2020-04-07 21:28:40 +02:00
zadam 3ccb1c6ac1 refactoring to editable_text 2020-04-07 21:04:28 +02:00
zadam d34d265d01 API docs update 2020-04-07 19:19:20 +02:00
zadam c063f75f48 fix ZIP import of notes with included note 2020-04-06 22:46:11 +02:00
zadam 2d1f3b7633 renamed text preview to read only text 2020-04-06 22:21:09 +02:00
zadam 3772d97dfa basic text preview implemented 2020-04-06 22:08:54 +02:00
zadam 5c0355718f repository has now first level cache 2020-04-06 20:59:04 +02:00
zadam 081693f263 not generating externalLink labels anymore since there can be too many and benefit is too small 2020-04-05 16:06:13 +02:00
zadam 8d312515dd small fixes 2020-04-05 15:35:01 +02:00
zadam 7bd05415fa revert fancytree upgrade which caused some issues (tree duplication) 2020-04-05 12:56:25 +02:00
zadam 8d7687f354 fix copying template's content, closes #943 2020-04-05 12:28:16 +02:00
zadam 42128c007f fix "search in subtree", closes #941 2020-04-04 22:49:30 +02:00
zadam dfb97d64f7 fix showing promoted notes, closes #944 2020-04-04 22:40:32 +02:00
zadam b1bed18331 significantly faster sync with transactions 2020-04-04 21:49:57 +02:00
zadam ae50c9847d sync refactorings, added logging for performance tracking 2020-04-04 14:57:19 +02:00
zadam 6201dd70a0 small fixes in consistency_checks 2020-04-04 09:46:49 +02:00
zadam 451c408063 small fixes 2020-04-03 19:34:22 +02:00
zadam 3bbb213f82 fixes for web clipper 2020-04-02 22:55:11 +02:00
zadam bab657e43d release 0.41.0-beta 2020-03-31 22:12:31 +02:00
zadam 4b24d9562c fix visibility of panels after startup with hidden state 2020-03-31 22:09:05 +02:00
zadam a73739d03e small fixes 2020-03-31 21:47:15 +02:00
zadam 4485650cbc library upgrades 2020-03-31 20:52:41 +02:00
zadam 58f610b2c6 fix mobile frontend 2020-03-29 23:10:45 +02:00
zadam 5024454914 better activation behavior when move notes 2020-03-29 22:54:14 +02:00
zadam ca0e36ea81 fix render type non-scrolling 2020-03-29 22:27:05 +02:00
zadam c9b2ff05e9 book notes don't display images as separate children if the image is included in the parent text note, #892 2020-03-29 22:15:09 +02:00
zadam 0973498fe9 small fixes 2020-03-29 20:37:40 +02:00
zadam 189202b1f6 added context menu "recent changes in subtree" 2020-03-29 19:43:04 +02:00
zadam cc298b1e7a recent changes respect hoisted note state 2020-03-29 19:37:34 +02:00
zadam f8bd6183bf fix default document 2020-03-29 18:53:32 +02:00
zadam ef60cb5395 fix placing notes onto relation map by drag & drop 2020-03-29 18:49:30 +02:00
zadam b10c083560 check for images happens before other methods in utils.isHtmlEmpty() 2020-03-29 17:11:44 +02:00
zadam 8eeb395523 updated sqlite binaries from linux & mac 2020-03-29 17:06:35 +02:00
zadam 084882a50e fixes in ckeditor build 2020-03-29 15:58:18 +02:00
zadam 7c04521e9c Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	src/public/javascripts/mobile.js
#	src/public/stylesheets/mobile.css
2020-03-29 15:41:27 +02:00
zadam 0a0de7312c release 0.40.7 2020-03-28 20:58:20 +01:00
zadam 37255243f7 allow user to see their username in the options #934 2020-03-28 19:55:02 +01:00
zadam b4b22d9353 workaround for overflowing component wrapper in landscape mobile frontend, fixes #933 2020-03-28 19:39:14 +01:00
zadam d3eb640aa2 fix upload image from mobile frontend, closes #931 2020-03-28 19:25:19 +01:00
zadam 78d431387b updated win64 sqlite binary 2020-03-27 21:47:22 +01:00
zadam c4bc53da59 updates to the demo document 2020-03-26 22:22:18 +01:00
zadam 34de8fb874 improved reference link handling 2020-03-26 20:40:15 +01:00
zadam 5a6ab68144 added a progress screen for setup of a new document 2020-03-26 17:47:56 +01:00
zadam c4e5b35187 changed demo.tar to demo.zip 2020-03-26 17:05:17 +01:00
zadam 2e55d544f1 db setup fixes 2020-03-26 16:59:40 +01:00
zadam b778985b5e minor fixes and upgrades 2020-03-26 16:21:17 +01:00
zadam f9a79fa00f improvements and logging to local image storage 2020-03-25 21:01:42 +01:00
zadam ef61e22f1f local image storage fixes 2020-03-25 18:21:55 +01:00
zadam 8a92786012 save paste images locally WIP 2020-03-25 11:28:44 +01:00
zadam a856463173 correctly handle clicks on reference links 2020-03-23 20:18:54 +01:00
zadam cb168218fb proper handling of deleted notes 2020-03-23 16:39:03 +01:00
zadam 978575498c reference insertion is now immediate 2020-03-23 12:31:10 +01:00
zadam 8584de27ab mentions also insert reference links 2020-03-22 18:27:13 +01:00
zadam a36d6bf9be add link dialog now allows switching between reference link and normal hyperlink 2020-03-22 11:41:00 +01:00
zadam 9b17e9976e basic implementation of reference link functionality 2020-03-21 21:04:34 +01:00
zadam d927865cbd fix import zip corner case where there are 2 independent notes with the same name 2020-03-21 15:14:44 +01:00
zadam 6de0b19569 add image through "include note" will just insert image instead of standard include note element, #922 2020-03-21 10:38:27 +01:00
zadam 84d7097b1a Merge remote-tracking branch 'origin/stable' 2020-03-21 10:05:15 +01:00
zadam 8ccc48c25d images in include note should have max 100% width, #922 2020-03-21 09:52:13 +01:00
zadam 438da7cfbb two pass import from zip file to guarantee that meta file is loaded before other files are process 2020-03-20 22:13:29 +01:00
zadam af5c4b5859 zip import using yazl 2020-03-20 21:57:16 +01:00
zadam 04360381b6 reimplement export with yazl 2020-03-20 16:55:35 +01:00
zadam 45e2dc96fb export subtrees in ZIP instead of TAR format because of more widespread support (especially unicode) 2020-03-19 20:07:27 +01:00
zadam ff426fc1fc added more placement points for custom widgets 2020-03-19 17:15:14 +01:00
zadam 6dfc2755e7 ckeditor 18 2020-03-19 16:29:48 +01:00
zadam 789f12ac8f Merge remote-tracking branch 'origin/stable' 2020-03-19 09:44:00 +01:00
zadam 9a1a76605a fix OPML export of book notes, closes #919 2020-03-19 09:42:41 +01:00
zadam debce78c7f load ancestors and templates when receiving sync from backend 2020-03-19 09:18:36 +01:00
zadam 48c57c7ce7 always keep all the ancestors in the cache WIP 2020-03-18 22:42:29 +01:00
zadam 4a89df7ebf always keep all the ancestors in the tree WIP 2020-03-18 22:35:54 +01:00
zadam 6295a1825d fixes in setting/opening tabs 2020-03-18 10:08:16 +01:00
zadam 280955b3a2 fix events from keyboard shortcuts 2020-03-17 22:49:43 +01:00
zadam 72cc54a83f fixed global create new day note 2020-03-17 21:39:26 +01:00
zadam c3b44b9a91 fixed & improved history navigation - context menu now indicates current, "future" and "past" items 2020-03-17 21:15:57 +01:00
zadam 8a9875ecfa fix filling or targetRelations during backend2frontend sync 2020-03-17 18:38:49 +01:00
zadam 9230b07adb focus created note 2020-03-17 12:48:09 +01:00
zadam 5a6066dcd1 fix "create note after" keyboard shortcut 2020-03-17 12:28:02 +01:00
zadam d4d54c5f01 fix createNoteInto keyboard shortcut 2020-03-17 11:28:41 +01:00
zadam 141d4593ca fix loading of custom widgets 2020-03-16 23:25:52 +01:00
zadam a7ddc33b6d sorting of widgets 2020-03-16 22:14:18 +01:00
zadam 173030e02e basic support for custom widgets 2020-03-16 21:16:09 +01:00
zadam 8ae78a9e23 Create FUNDING.yml 2020-03-16 08:25:20 +01:00
zadam babc27f824 update dayjs 2020-03-16 08:21:53 +01:00
zadam 2c7eb723d5 fix note hoisting 2020-03-15 22:11:42 +01:00
zadam 40247a591e fix delete shortcut in note tree and protect notes recursively 2020-03-15 22:09:48 +01:00
zadam 3a4d32f163 fix clone-to, move-to keyboard shortcuts 2020-03-15 21:52:04 +01:00
zadam 7f2c859b94 fix detail font size setting 2020-03-15 21:40:26 +01:00
zadam a5764c269f pdf preview is now also available in include note, book etc. 2020-03-15 21:35:43 +01:00
zadam 6a1bfdeab9 fix autobook switching back to text 2020-03-15 21:31:25 +01:00
zadam 6de0f75931 fix switching notes in the passive tabs 2020-03-15 18:57:03 +01:00
zadam fcf72262bd Merge remote-tracking branch 'origin/stable' 2020-03-15 18:23:21 +01:00
zadam 114017147f fix load results isEmpty method 2020-03-15 17:18:50 +01:00
zadam a717ee00fb release 0.40.6 2020-03-15 11:21:43 +01:00
zadam f5e27278ab fix migration script to preserve sync IDs 2020-03-15 11:19:30 +01:00
zadam 2cc0442ef2 fix new tab open hiding 2020-03-15 11:08:16 +01:00
zadam 687a466a35 Merge remote-tracking branch 'origin/stable' 2020-03-15 09:57:57 +01:00
zadam 20c24e26cc added entity constructors for "content" tables 2020-03-14 21:09:07 +01:00
zadam 3bafc396fc fix consistency checks 2020-03-14 13:13:27 +01:00
zadam 08606f7d88 Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	src/services/sync_table.js
2020-03-14 12:58:47 +01:00
zadam 3fa3e912a4 not sending ping to clients after every sync addition, only after commit which significantly speeds up imports 2020-03-14 12:39:55 +01:00
zadam 44219e7ccc do not load the note content during ENEX import again since it's already available 2020-03-13 22:23:44 +01:00
zadam 48abd765c6 fix sync issues 2020-03-11 22:43:20 +01:00
zadam 2d38706ba8 wip 2020-03-10 23:33:39 +01:00
zadam 8d45662bee clear history in the code mirror after setting a value, closes #766 2020-03-10 22:51:44 +01:00
zadam dc4024b6de Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	src/public/javascripts/services/note_detail_code.js
2020-03-10 22:51:02 +01:00
zadam 5b67854cbe clear history in the code mirror after setting a value, closes #766 2020-03-10 22:48:21 +01:00
zadam 72745aca29 fix unnecessary scroll to parent when opening new tab 2020-03-10 22:25:57 +01:00
zadam e6e41adad0 fix backend to frontend sync with waitForSyncId() 2020-03-10 21:33:03 +01:00
zadam bcbf1b79c3 fixed waitForSync 2020-03-09 22:32:26 +01:00
zadam 1d78432df4 Merge remote-tracking branch 'origin/stable' 2020-03-09 22:16:43 +01:00
zadam c6d912dcb7 sync only changes with isSynced = true 2020-03-09 21:34:03 +01:00
zadam eb287917c1 set sync.isSynced correctly 2020-03-09 21:28:41 +01:00
zadam da53c1eaa8 updated schema.sql 2020-03-09 21:23:11 +01:00
zadam c67613a557 Merge remote-tracking branch 'origin/stable' 2020-03-09 21:00:38 +01:00
zadam 0ca107ff48 fix event listener for resize 2020-03-09 21:00:31 +01:00
zadam 73bf2dcb02 added isSynced to sync table to allow forward compatibility with 0.41 2020-03-09 20:56:43 +01:00
zadam 719f10981e fix sync 2020-03-08 22:00:12 +01:00
zadam 1774f48d07 fix sync 2020-03-08 21:59:19 +01:00
zadam deb67d6275 release 0.40.5 2020-03-08 21:05:52 +01:00
zadam bafd829ff6 updated electron 9.0 binary dependencies 2020-03-08 20:17:28 +01:00
zadam e7aa84435b render PDF preview in electron for pdf notes 2020-03-08 18:06:24 +01:00
zadam 493d088d80 better back/forward navigation 2020-03-08 17:17:18 +01:00
zadam 5f4d963580 better back/forward navigation WIP 2020-03-08 11:41:42 +01:00
zadam 5114f3f782 fixes after merge 2020-03-08 09:38:49 +01:00
zadam 53f5df4e88 Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	src/public/javascripts/desktop.js
#	src/public/stylesheets/style.css
#	src/views/details/image.ejs
#	src/views/details/relation_map.ejs
2020-03-08 09:26:34 +01:00
zadam e4039ea5e1 fixed printing relation map 2020-03-08 09:24:03 +01:00
zadam 95fef8d2e5 fixes after merge 2020-03-07 22:29:49 +01:00
zadam 7105b61aab Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	src/public/javascripts/desktop.js
#	src/views/desktop.ejs
#	src/views/mobile.ejs
2020-03-07 22:21:55 +01:00
zadam 78a50be663 don't print control buttons 2020-03-07 22:18:12 +01:00
zadam 3d3ad3b99b include themes.css for printing to have default CSS variables available 2020-03-07 22:14:07 +01:00
zadam 0d9cdcac85 load appropriate styles for printing book notes, closes #899 2020-03-07 22:01:34 +01:00
zadam c4f7bb37db removed sidebar widget settings 2020-03-07 21:34:39 +01:00
zadam 81ec85083a link map widget always rendered centered map 2020-03-07 20:41:03 +01:00
zadam 62da383623 only one update 2020-03-07 15:01:48 +01:00
zadam 8513e0201c collapsed state is now synchronized across tab-cached instances 2020-03-07 14:31:25 +01:00
zadam abd60581be right pane is now scrollable 2020-03-07 14:18:58 +01:00
zadam aff02184f8 removed last tab should activate second to last 2020-03-07 13:57:31 +01:00
zadam 8909d175d0 event fixes 2020-03-07 13:40:46 +01:00
zadam 091eb8f791 event fixes WIP 2020-03-06 23:34:39 +01:00
zadam e10d23289e event fixes WIP 2020-03-06 22:17:07 +01:00
zadam 26599f057c collapsible widget remember their collapsed state 2020-03-01 20:49:11 +01:00
zadam 4e0e2e8926 fixes in side pane toggling 2020-03-01 20:11:40 +01:00
zadam 9c631e4398 Merge remote-tracking branch 'origin/master' into m41
# Conflicts:
#	.idea/dataSources/a2c75661-f9e2-478f-a69f-6a9409e69997.xml
#	src/public/stylesheets/desktop.css
2020-03-01 19:20:08 +01:00
zadam 687539cc95 fix zen mode 2020-03-01 19:16:30 +01:00
zadam 03e0c98066 migrated desktop CSS to the desktop layout 2020-03-01 19:06:26 +01:00
zadam 77f358b846 migrated mobile CSS to the mobile layout 2020-03-01 18:57:13 +01:00
zadam 4c82e882e0 bit better right pane layout 2020-03-01 18:47:20 +01:00
zadam 0f4ba43463 mobile frontend is working again 2020-03-01 15:19:16 +01:00
zadam f15239c006 mobile layout fixes 2020-03-01 12:50:02 +01:00
zadam ed1b5e3843 mobile layout fixes 2020-03-01 12:05:10 +01:00
zadam 607bdfef92 mobile global buttons 2020-03-01 11:53:02 +01:00
zadam 4f744564f2 start of mobile layout 2020-03-01 11:04:42 +01:00
zadam f64b343d8d ref 2020-03-01 10:41:23 +01:00
zadam 47b803920b keep body hidden until rendered 2020-02-29 22:13:54 +01:00
zadam 8888d04878 fixes 2020-02-29 22:04:46 +01:00
zadam 49398f5374 refactoring of component event system + little docs 2020-02-29 19:43:19 +01:00
zadam 95d1952896 wip 2020-02-29 16:26:46 +01:00
zadam 3ab2b41e8c open links in new tab without activation 2020-02-29 15:00:35 +01:00
zadam e5155130e7 ckeditor with table/cell properties 2020-02-29 14:32:26 +01:00
zadam 724ba352e6 refactored existing context menus 2020-02-29 13:03:05 +01:00
zadam 1239293435 spell check context menu 2020-02-29 11:28:30 +01:00
zadam 16f42dd4ab use electron 8 spellchecker instead of electron-spellchecker, WIP 2020-02-28 22:07:08 +01:00
zadam 350331e2ef fix 500px constant height of relation maps, closes #882 2020-02-28 15:20:54 +01:00
zadam a2d6a5c3e9 fixes 2020-02-28 11:46:35 +01:00
zadam cb35284d37 wip 2020-02-28 00:31:12 +01:00
zadam 2af37640d8 small refactoring of search code 2020-02-28 00:11:34 +01:00
zadam 4bd298a55b refactor data-kb-command 2020-02-27 23:12:22 +01:00
zadam cd4b1235a7 wip 2020-02-27 14:35:12 +01:00
zadam 5e3c85f891 fix issues 2020-02-27 12:41:15 +01:00
zadam b2a3e1cc04 fixed double refresh of note detail 2020-02-27 12:26:42 +01:00
zadam d71763aedb title row spacing 2020-02-27 10:08:21 +01:00
zadam 368d0c55da refactoring of layout finished 2020-02-27 10:03:14 +01:00
zadam 637010577b layout changes WIP 2020-02-27 00:58:10 +01:00
zadam 7bcae9981b unified/simplified protecting notes & subtree 2020-02-26 16:37:17 +01:00
zadam 3752cf8cba layout fixes 2020-02-25 19:19:10 +01:00
zadam 7270bf287d fixes and right pane layout changes 2020-02-25 16:31:44 +01:00
zadam d821ea4095 fix closing all tabs except current 2020-02-25 12:32:21 +01:00
zadam 41d1d83dc2 fix showing/hiding of type widgets 2020-02-25 12:24:37 +01:00
zadam a2fe110400 unified global variable handling between mobile and desktop 2020-02-25 11:02:59 +01:00
zadam fdc99bb6f9 adapt merged changes from master 2020-02-25 10:47:49 +01:00
zadam 36eac6badd Merge remote-tracking branch 'origin/master' into m41
# Conflicts:
#	src/public/javascripts/mobile.js
#	src/public/stylesheets/style.css
2020-02-25 09:42:27 +01:00
zadam 7cac2521ef fix css class handling 2020-02-25 09:40:49 +01:00
zadam e8a9e49e9e release 0.40.4 2020-02-24 22:59:22 +01:00
zadam fb55cdaea6 release 0.40.4 2020-02-24 22:58:18 +01:00
zadam b9b2cc8364 make sure $rendered is always jquery object 2020-02-24 22:55:12 +01:00
zadam 8dfdd090f5 use note's css class also in book and included note, closes #879 2020-02-24 22:46:27 +01:00
zadam fe7705524a fix include note in mobile frontend, closes #878 2020-02-24 22:37:45 +01:00
zadam 8e77d729e5 ckeditor 17 2020-02-20 17:01:18 +01:00
zadam 2b1b7774f8 make images in text notes rendered responsively in a book, fixes #871 2020-02-19 22:24:31 +01:00
zadam 2d58019d6e allow to setup web version as a sync client 2020-02-19 22:10:40 +01:00
zadam fe31f08c0d show setup window if DB is not initialized 2020-02-19 22:09:49 +01:00
zadam d9fb36a9a6 fixes 2020-02-19 22:09:02 +01:00
zadam 52f4876f2d camelCase keyboard action names 2020-02-19 20:54:14 +01:00
zadam ad7a55d305 always autofix note_contents.content = NULL sync issue after note erasion 2020-02-19 19:51:36 +01:00
zadam 2e3534dfb7 small fixes 2020-02-18 22:16:20 +01:00
zadam d288c1b052 small fixes 2020-02-17 22:47:50 +01:00
zadam f2cf361acf small fixes 2020-02-17 22:38:46 +01:00
zadam e7af24c139 small fixes 2020-02-17 22:14:39 +01:00
zadam 9797942b8e small cleanups 2020-02-17 19:42:52 +01:00
zadam 32d60a7eb9 refactored tree context menu to reduce duplication 2020-02-16 22:56:40 +01:00
zadam 4330dc47a0 converted tree_keybindings.js into proper commands 2020-02-16 22:14:28 +01:00
zadam 8ca9ad3497 fixes 2020-02-16 20:09:59 +01:00
zadam a679fedb58 refactored keyboard actions into commands 2020-02-16 19:54:11 +01:00
zadam 880f4ad711 renamed Listener() to Event() 2020-02-16 19:23:49 +01:00
zadam e000fb4579 appContext is now component 2020-02-16 19:21:17 +01:00
zadam 22c042e21f remove appContext as copied dependency across components 2020-02-16 18:11:32 +01:00
zadam 2c3f07521d fixes 2020-02-16 11:22:37 +01:00
zadam e06f3ef97e refactorings for add link and include note 2020-02-16 10:50:48 +01:00
zadam 7e41a2750c refactored KB handling and add link dialog 2020-02-15 22:12:05 +01:00
zadam b2a48a1f3a fix clone notes dialog 2020-02-15 18:41:32 +01:00
zadam e1bf4dcbc9 basic executor / command mechanism 2020-02-15 10:41:21 +01:00
zadam 6d847d22d3 components now track their parent 2020-02-15 09:43:47 +01:00
zadam 9337564075 boxicons 2.0.5 2020-02-15 09:16:23 +01:00
zadam 2fa41b44c5 fix branch prefix dialog 2020-02-14 21:21:47 +01:00
zadam 8d2c2202fa refactoring and fixes for saved note 2020-02-14 20:18:09 +01:00
zadam 380bb0cd01 fix deleting 2020-02-12 22:25:52 +01:00
zadam 789f62267c changes in note detail handling 2020-02-12 22:09:25 +01:00
zadam 25553c9e67 simplification of sync event API 2020-02-12 20:31:31 +01:00
zadam 81a54cd4a0 messaging now uses mutex so each component processes only single message at each time 2020-02-12 20:07:04 +01:00
zadam 1d2fc773c2 fix for delete note sync etc. 2020-02-10 20:57:56 +01:00
zadam 7767edd82f fixes 2020-02-09 22:31:52 +01:00
zadam 99ea238c3f frontend sync fixes 2020-02-09 21:53:10 +01:00
zadam 826c434630 fixes in closing tabs and elsewhere 2020-02-09 21:13:05 +01:00
zadam 4401a8e1e8 Merge branch 'master' into m41
# Conflicts:
#	src/public/javascripts/dialogs/add_link.js
#	src/public/javascripts/dialogs/export.js
#	src/public/javascripts/dialogs/import.js
#	src/public/javascripts/dialogs/note_info.js
#	src/public/javascripts/services/search_notes.js
2020-02-09 18:54:56 +01:00
zadam 4ce4ac9584 release 0.40.3 2020-02-09 10:48:23 +01:00
zadam 88bd65c679 external links are also parsed and label is created for them, closes #851 2020-02-09 10:45:07 +01:00
zadam 9eab3026bb display advanced item in the tree context menu in the middle to avoid being hidden, closes #853 2020-02-09 10:15:35 +01:00
zadam 7abaedbf31 add possibility to change clipper parent to a fixed note instead of day notes, fixes #854 2020-02-09 10:12:02 +01:00
zadam 402718d293 return focus to the previously focused element after closing the dialog, fixes #861 2020-02-09 10:00:13 +01:00
zadam 990a84c202 Merge remote-tracking branch 'origin/master' 2020-02-09 08:38:47 +01:00
zadam d8e181a828 Merge branch 'stable'
# Conflicts:
#	package.json
#	src/services/build.js
2020-02-09 08:38:29 +01:00
zadam 4ec671d199 fixes in enabling / disabling widgets in runtime 2020-02-08 21:54:39 +01:00
zadam 9f4a514562 fix setting path 2020-02-08 21:23:42 +01:00
zadam 18ee239362 fixes 2020-02-08 20:53:07 +01:00
zadam 08687b76ea fix title bar buttons visibility 2020-02-08 18:25:07 +01:00
zadam 60d07a6871 fix duplicated cached widgets 2020-02-08 17:44:34 +01:00
zadam 81f4966a1a fixes, cleaned up noise in the developer console 2020-02-08 10:40:58 +01:00
zadam 9acf723a9a fixes 2020-02-07 22:19:35 +01:00
zadam 47f7f5f4d9 refactoring 2020-02-07 21:43:02 +01:00
zadam 14d6372bd8 moved tab related stuff to tab manager from app context 2020-02-07 21:08:55 +01:00
zadam 6d912c4897 removed dependency on note tree widget from app context 2020-02-07 20:56:49 +01:00
zadam 62e1284790 untangled tabrow dependencies 2020-02-06 22:39:31 +01:00
zadam d79ae261e1 refactored layout out of app context 2020-02-06 21:47:31 +01:00
zadam 92f6558e55 the whole view is now composed from a single root widget 2020-02-06 21:16:02 +01:00
zadam 8d49249ed7 fix lazy initialization of the sidebar 2020-02-06 20:04:43 +01:00
zadam d1bb62c40e fixes 2020-02-05 22:46:20 +01:00
zadam 42017fde5f refactored access to options on frontend 2020-02-05 22:08:45 +01:00
zadam 786bbbc160 sidebars are now represented as widgets 2020-02-04 22:46:17 +01:00
zadam 0cc013c13f left sidebar can now be also collapsible 2020-02-04 20:42:40 +01:00
zadam c5475765e5 disable --disable-gpu flag 2020-02-03 22:41:01 +01:00
zadam 9ea91f821c update to electron 8 2020-02-03 22:23:23 +01:00
zadam b757dfcf79 various fixes and small refactorings 2020-02-03 21:56:45 +01:00
zadam 44ddcdd852 various widget optimizations for faster note switching 2020-02-03 21:16:33 +01:00
zadam 66204811cf refactored note creation methods into a separate service 2020-02-03 20:07:34 +01:00
zadam 822a8509b3 fix 2020-02-02 22:33:50 +01:00
zadam 9f62490a75 refactorings of note creation code 2020-02-02 22:32:44 +01:00
zadam b63ecba695 clean up tree service WIP 2020-02-02 22:04:28 +01:00
zadam d5ae3802d1 various widget refactorings 2020-02-02 21:16:20 +01:00
zadam 7c6cd63a53 various widget refactorings 2020-02-02 20:02:08 +01:00
zadam 62a80ef016 standard widget => collapsible widget 2020-02-02 18:46:50 +01:00
zadam 27ab55d26a fixed switch between autobook and text 2020-02-02 11:44:08 +01:00
zadam 34150e7177 fix inserting link 2020-02-02 11:14:44 +01:00
zadam b946599320 Merge remote-tracking branch 'origin/master' into m41
# Conflicts:
#	src/public/javascripts/services/tree.js
2020-02-02 10:45:27 +01:00
zadam 3cd4be4e48 removed note detail service 2020-02-02 10:41:43 +01:00
zadam 96e2b9bc18 fix tree keyboard shortcuts propagating outside of tree 2020-02-02 10:10:37 +01:00
jasontan056 adb8caa8a2 Fix corner case preventing notes from being created before ckeditor is initialized (#849)
* Pass deleteId to deleteBranch in ensureNoteIsAbsentFromParent

* Add checks for whether window.cutToNote is defined.

* check ckEditor initialized.
2020-02-02 09:28:19 +01:00
zadam 0054a32dc7 treecache now manages reloading when starting protected session 2020-02-01 22:29:32 +01:00
zadam 513ce1a183 Merge branch 'master' into m41
# Conflicts:
#	src/public/javascripts/services/sidebar.js
#	src/public/javascripts/services/tab_context.js
#	src/public/javascripts/services/tree.js
2020-02-01 20:01:30 +01:00
zadam 9f38ea6ee7 update tab title upon its change 2020-02-01 19:25:37 +01:00
zadam 0e13678f7c note complement is now loaded through tree cache 2020-02-01 18:29:18 +01:00
zadam f0cbca2838 lazy loading of note complement 2020-02-01 11:33:31 +01:00
zadam f6f7836b8e renamed notefull to notecomplement 2020-02-01 11:15:58 +01:00
zadam 7651c53363 release 0.40.2 2020-02-01 10:17:51 +01:00
zadam 0f25c8a95f autobook should not be active on the mobile interface 2020-02-01 10:17:03 +01:00
zadam 1a49894adf fix tree loading on mobile interface, closes #839 2020-02-01 10:04:18 +01:00
zadam bd8c078fb9 Merge remote-tracking branch 'origin/master' 2020-02-01 09:30:14 +01:00
zadam 6e060b87b8 fix date parsing in local timezone, closes #845 2020-02-01 09:29:56 +01:00
jasontan056 2375b170ba Pass deleteId to deleteBranch in ensureNoteIsAbsentFromParent (#846) 2020-02-01 09:05:23 +01:00
zadam eeedb91ef7 sync are sent upon DB commit 2020-01-31 22:32:24 +01:00
zadam 05b51c0f68 frontend sync through websocket 2020-01-31 20:52:31 +01:00
zadam 8bf794f13b wip 2020-01-30 22:38:31 +01:00
zadam 48b401164a wip 2020-01-29 22:32:22 +01:00
zadam b65631be7e tree change listener and others 2020-01-29 21:38:58 +01:00
zadam 439b45b0b8 refactored entity reloading 2020-01-29 20:14:02 +01:00
zadam 976b2aa6f5 got rid of "origParentNoteId" since it's not needed anymore 2020-01-28 22:39:44 +01:00
zadam 88213c1bbd attributes are now updated only if their type and name does not change, in case of relation not even value must change. If they do, the old attribute is deleted and new is created instead 2020-01-28 22:37:06 +01:00
zadam d2e3aedf7f moving notes across parents now deletes the old branch and creates new which makes detecting changes much easier 2020-01-28 22:15:33 +01:00
zadam 368d3b1b97 wip 2020-01-28 21:54:28 +01:00
zadam 9301679707 wip 2020-01-27 22:58:03 +01:00
zadam 865f7e1ee1 fix propagating note reloads 2020-01-27 20:07:33 +01:00
zadam c243d2e85c sync changes wip 2020-01-26 11:41:40 +01:00
zadam 97a35d6fba wip 2020-01-26 10:42:24 +01:00
zadam 3f0974d3d2 smaller fixes 2020-01-25 18:29:32 +01:00
zadam 48a7c0235f fixed iconClass and cssClass 2020-01-25 14:48:53 +01:00
zadam ac7d5f2e81 fixes, separation of notefull from noteshort 2020-01-25 14:37:12 +01:00
zadam 516e6c35da fixes 2020-01-25 13:46:55 +01:00
zadam 7cad386a56 frontend attribute cache refactoring WIP 2020-01-25 13:27:23 +01:00
zadam 60c908cd63 frontend attribute cache refactoring WIP 2020-01-25 11:52:45 +01:00
zadam 52a907651e reduce unnecessary tab activation events 2020-01-25 10:25:06 +01:00
zadam 3254b551d8 merged tree utils into tree service 2020-01-25 09:56:08 +01:00
zadam 7a62d1636b fixes 2020-01-24 22:30:17 +01:00
zadam 7d9b720ea8 fix note switching in current tab 2020-01-24 21:15:40 +01:00
zadam ba500a3a80 fixes 2020-01-24 20:15:53 +01:00
zadam 606d5afcab refactoring of note detail API 2020-01-24 17:54:47 +01:00
zadam 4b66765cc1 refactoring 2020-01-24 15:44:24 +01:00
zadam 8651e47118 small fixes 2020-01-22 22:29:55 +01:00
zadam 34bc02965f book and search fixes 2020-01-22 22:05:28 +01:00
zadam eacefeb08b converted remaining type widgets 2020-01-22 21:38:00 +01:00
zadam 11a61325f9 removed last global keyboard handlers 2020-01-22 20:48:56 +01:00
zadam 370c63986d converting more keyboard shortcuts 2020-01-22 19:41:19 +01:00
zadam d103b16d9a updated generate-cert script, #835 2020-01-22 19:12:03 +01:00
zadam c63bb7ce8a converted more keyboard actions 2020-01-21 22:54:16 +01:00
zadam af5c623671 simplification of triggering events from links 2020-01-21 22:08:41 +01:00
zadam 55d1f9e9f0 import & export fixed 2020-01-21 21:43:23 +01:00
zadam 96a7b4e45e fix dialogs 2020-01-21 20:54:00 +01:00
zadam c83ca78565 keyboard handlers for dialogs 2020-01-20 22:35:52 +01:00
zadam c5eac8f438 keyboard handlers for tabs 2020-01-20 20:51:22 +01:00
zadam 9bc1f5af45 WIP 2020-01-19 22:05:45 +01:00
zadam 423a70d102 saving note detail 2020-01-19 21:40:23 +01:00
zadam 562c729ed6 more refactorings 2020-01-19 21:24:14 +01:00
zadam 0760dc742b refactored tab activation 2020-01-19 21:12:53 +01:00
zadam 1098d75ce0 synchronous events, updating title works fully 2020-01-19 20:18:02 +01:00
zadam bd8e5f255b wip 2020-01-19 19:33:35 +01:00
zadam 8da094cd3c events for updating title (no saving yet) 2020-01-19 18:05:06 +01:00
zadam 44dc3c28de Merge branch 'master' into m41 2020-01-19 17:29:45 +01:00
zadam 828cce0d78 release 0.40.1 2020-01-19 15:45:06 +01:00
zadam 49c0d3199d progress 2020-01-19 15:44:18 +01:00
zadam 416d733510 got rid of .renderTo(), tab caching widgets use hidden marker element 2020-01-19 15:36:42 +01:00
zadam 6de4914ea6 extracted widgets from note title 2020-01-19 13:19:40 +01:00
zadam 9f1e777e6d introduction of refreshWithNote 2020-01-19 11:37:24 +01:00
zadam adb9ce5e93 empty widget type works 2020-01-19 11:20:02 +01:00
zadam 746181689f component => type widget refactoring 2020-01-19 11:03:34 +01:00
zadam a99c016818 file note layout tweaks 2020-01-19 10:29:21 +01:00
zadam 37f279fab0 Merge branch 'master' into m41
# Conflicts:
#	src/public/javascripts/services/entrypoints.js
2020-01-19 09:30:38 +01:00
zadam ab535bf147 fixes of the new CopyWithoutFormatting 2020-01-19 09:25:35 +01:00
Heniker 1876664dfb add hotkey to copy contents with line breaks, fixes #349 (#831) 2020-01-19 09:16:36 +01:00
zadam 1690248e24 migration script to fix contentLength = -1 in new notes 2020-01-19 09:08:33 +01:00
zadam cbeb8ea17e fix setting contentLength 2020-01-19 09:03:26 +01:00
zadam e355b449c4 code and file note types now sort of work now as well 2020-01-19 09:02:18 +01:00
zadam 4fdea77c57 fix setting contentLength 2020-01-19 09:01:51 +01:00
zadam 9a13edd490 release 0.39.6 2020-01-18 20:52:14 +01:00
zadam 6d276582cb switching notes and tabs now work for most widgets 2020-01-18 20:49:49 +01:00
zadam 493730dff6 working note type and note paths widgets 2020-01-18 19:46:30 +01:00
zadam b00a9f4415 progress 2020-01-18 18:01:16 +01:00
zadam b25c1d6fa8 Merge branch 'master' into m41 2020-01-18 09:25:18 +01:00
zadam c9113ae752 Merge branch 'stable' 2020-01-18 09:24:39 +01:00
zadam 0ec11d29ba fix creating root calendar note when missing, #752 2020-01-18 08:59:46 +01:00
zadam a6cd25071e more robust handling of sync error, fixes #830 2020-01-18 08:48:36 +01:00
zadam 97b13ae91d refactroring WIP 2020-01-16 22:44:36 +01:00
zadam 0178232f26 more tab row refactoring 2020-01-15 22:35:15 +01:00
zadam cc138ef9f8 more tab row refactoring 2020-01-15 22:27:52 +01:00
zadam 1552c3804d tab row refactoring WIP 2020-01-15 22:11:30 +01:00
zadam 7963de0abc continuing refactoring 2020-01-15 21:36:01 +01:00
zadam f98a20928c widgetized standard toolbar 2020-01-15 20:10:54 +01:00
zadam 209b1610f6 widgetizing tab pane 2020-01-15 19:40:17 +01:00
zadam bd0f7d3680 move components 2020-01-14 21:52:18 +01:00
zadam f852e1de81 removed sidebar code 2020-01-14 21:48:19 +01:00
zadam c9770573b2 converting sidebar widgets to normal widgets 2020-01-14 21:23:32 +01:00
zadam 23701219e1 added TabCachingWidget 2020-01-14 20:27:40 +01:00
zadam c9bc4ad108 widgetizing note detail WIP 2020-01-13 21:48:44 +01:00
zadam 8b9c235465 widgetizing promoted attributes 2020-01-13 20:25:56 +01:00
zadam 20fdeee048 better error handling for search notes 2020-01-13 19:35:06 +01:00
zadam 657d01da95 fix 2020-01-12 23:05:31 +01:00
zadam 17e2627a34 more refactoring ... 2020-01-12 23:03:55 +01:00
zadam bf7541bfb9 more refactoring ... 2020-01-12 20:15:05 +01:00
zadam 9d81bf030d tab row widgetizing 2020-01-12 19:05:09 +01:00
zadam f25d735b9d further tab management moved to app context 2020-01-12 12:48:17 +01:00
zadam 4d16018f6c fixes 2020-01-12 12:37:44 +01:00
zadam 5e11840137 moved tab management to app context 2020-01-12 12:30:30 +01:00
zadam 61474defff widgetizing tree WIP 2020-01-12 11:15:23 +01:00
zadam b12e38c231 widgetizing tree WIP 2020-01-12 10:35:33 +01:00
zadam d1f679ab90 refactoring clipboard WIP 2020-01-12 09:57:28 +01:00
zadam 0f8a7bad06 moved tree initialization into the widget 2020-01-12 09:12:13 +01:00
zadam 9e031dcd60 start of the refactoring to widget system 2020-01-11 21:19:56 +01:00
zadam 51c3f98dde pane rename 2020-01-11 18:33:43 +01:00
zadam a79a063d17 release 0.40.0-beta 2020-01-11 09:54:31 +01:00
zadam 5e91b1b5e0 package updates 2020-01-11 09:50:05 +01:00
zadam 7877443fb4 Merge branch 'stable' 2020-01-11 09:41:42 +01:00
zadam 759e47bfcf using included note should create a relation, closes #820 2020-01-10 21:41:00 +01:00
zadam 67bdffb27b expose text editor instance and method to add text to editor, closes #819 2020-01-10 20:10:17 +01:00
zadam 3386dace3b provide context menu in text editor also with disabled spellcheck 2020-01-10 19:56:27 +01:00
zadam f3a2e2cbde Merge branch 'stable' 2020-01-08 21:39:17 +01:00
zadam 3cf3fc13b9 release 0.39.5 2020-01-08 21:01:24 +01:00
zadam 2b69abf8ab fix filter parser for >=, <=, *=* 2020-01-08 20:23:41 +01:00
zadam 3e49a7dbfa all consistency checkers have now fixers 2020-01-08 19:28:22 +01:00
zadam 4c7c3105e8 Merge branch 'stable'
# Conflicts:
#	src/services/notes.js
2020-01-07 22:29:54 +01:00
zadam f782d2bef9 don't empty script area on save 2020-01-07 22:29:15 +01:00
zadam ccaa9eae3a fix context submenus, closes #810 2020-01-07 20:53:41 +01:00
zadam 24c5388e0c protection against text note initialization race conditions 2020-01-07 19:48:26 +01:00
zadam 1cd2711097 Merge branch 'stable' 2020-01-05 20:02:19 +01:00
zadam f0dfe7d552 release 0.39.4 2020-01-04 22:01:20 +01:00
zadam 3b8b4da149 task context progress fixes 2020-01-04 21:59:28 +01:00
zadam 2150619d62 activateNewNote does not reload whole tree anymore 2020-01-04 21:53:49 +01:00
zadam acb76e0630 added notification to empty book notes otherwise they look suspiciously empty 2020-01-04 21:24:39 +01:00
zadam fdb46f9329 fallback image saving without optimization will still compress image 2020-01-04 20:10:30 +01:00
zadam ca587cccf6 book note type has automatically empty mime type 2020-01-04 19:34:01 +01:00
zadam 571772069a force SQLite to choose particular index for attribute search since it sometimes led to very inefficient query plans 2020-01-04 19:22:16 +01:00
zadam 79e7762c72 indent data notes 2020-01-04 18:44:54 +01:00
zadam d025cfee1b empty note with just included note should be saved, closes #807 2020-01-04 13:22:07 +01:00
zadam 7793552443 fix display of show sidebar button 2020-01-04 10:05:03 +01:00
zadam f377a84fa1 hide/show button z-index tweak 2020-01-04 09:21:42 +01:00
zadam b8f2797abf better behavior of note info widget in tight width 2020-01-04 09:04:08 +01:00
zadam 54d89a9f47 allow configuring the time period before deleted notes are erased (and changed the default to 7 days) 2020-01-03 22:32:49 +01:00
zadam 1699646b39 fix undelete info messages 2020-01-03 21:32:41 +01:00
zadam 94a0a31f17 refactoring of tree handling to recommended fancytree 2020-01-03 21:15:45 +01:00
zadam 10219fb9dd Merge branch 'stable' 2020-01-03 20:13:13 +01:00
zadam 50431dd55a hide "show/hide sidebar" button in zen mode, fixes #805 2020-01-03 20:12:19 +01:00
zadam 17b23d92ef delete/undelete fixes 2020-01-03 13:41:44 +01:00
zadam 14f3c783f2 undelete note WIP 2020-01-03 13:14:43 +01:00
zadam c1d0a1e07b undelete note WIP 2020-01-03 10:48:36 +01:00
zadam 1d3608b7bf fix recent note dialog for deleted notes 2020-01-03 09:04:38 +01:00
zadam d0c655f66a fix removeAttribute to take into account attribute name, closes #804 2020-01-03 08:55:13 +01:00
zadam ac75fd2ca3 focus and activate should work together 2020-01-02 19:07:50 +01:00
zadam 3b98428c8c change order of execution to mitigate race conditions 2020-01-02 19:03:54 +01:00
zadam 7d877d0fef release 0.39.3 2020-01-02 10:43:41 +01:00
zadam cb79f2c7eb updated ckeditor build to support cuttonote 2020-01-02 10:38:29 +01:00
zadam 547a5714ae fancytree 2.34.0 2020-01-01 23:13:49 +01:00
zadam 82420fe5f6 reactivate "cut to note", closes #795 2020-01-01 22:59:51 +01:00
zadam 395913d1bb API docs update 2020-01-01 22:03:27 +01:00
zadam f3a29b55ba remove @child:child:sorted label from calendar root in demo document since currently @sorted is added automatically in the code, closes #799 2020-01-01 20:58:59 +01:00
zadam 232321f3a4 fix searching multi-valued attributes, closes #800 2020-01-01 20:49:26 +01:00
zadam 51dddb0bbb fix scrolling behavior in firefox 2020-01-01 19:57:57 +01:00
zadam 8b9bf6e46f expand to note to be able to activate note 2020-01-01 19:46:27 +01:00
zadam 631a75deec release 0.39.2-beta 2019-12-30 19:48:54 +01:00
zadam 3f1d0e5872 small template refactoring 2019-12-30 19:46:48 +01:00
zadam 0fe91d0184 include note feature 2019-12-30 19:32:45 +01:00
zadam 2f711a12f8 added "include note" widget to text notes, WIP 2019-12-29 23:46:40 +01:00
zadam 64f32ba38f fix zen mode with new layout, closes #794 2019-12-29 20:48:24 +01:00
zadam 7db4859fb9 Merge remote-tracking branch 'origin/master' 2019-12-29 10:19:11 +01:00
zadam eee9fcae5c set timeout for the initial sync seed request 2019-12-29 10:19:00 +01:00
zadam 9c4a976342 added some statistic scripts to demo document 2019-12-28 21:52:35 +01:00
zadam e4a09c6207 fix left pane scrolling, closes #788 2019-12-28 21:37:13 +01:00
zadam d467db2227 unify API for creating note links 2019-12-28 21:10:02 +01:00
zadam b8d6ff0542 reset file inputs to allow reuploading the same file again 2019-12-28 19:29:52 +01:00
zadam a9b8e65c9b force scrolling when width of the content overflows 2019-12-28 19:18:44 +01:00
zadam bb8b563ece relaunch app after successful sync 2019-12-28 12:55:53 +01:00
zadam 05a8ffb944 small fixes 2019-12-28 10:28:12 +01:00
zadam 2502646a64 release 0.39.1-beta 2019-12-27 21:21:57 +01:00
zadam 3d95d69f80 styling hack for the design to look correct in both FF and chrome 2019-12-27 21:18:14 +01:00
zadam df751f5d67 fix icon 2019-12-27 21:11:56 +01:00
zadam 4f06b6de78 fix registration of global shortcuts, fixes #786 2019-12-27 20:28:27 +01:00
zadam d2177cd517 fix detection of desktop build in setup page, closes #787 2019-12-27 20:22:46 +01:00
zadam 0affcf5ad2 move electron-installer-debian to optional dependencies since it can't be installed on windows, #783 2019-12-26 10:02:55 +01:00
zadam 7a416b107b fix electron dep issue in the server version, closes #784 2019-12-25 19:38:28 +01:00
zadam 1ff124dab7 release 0.39.0-beta 2019-12-25 12:18:52 +01:00
zadam 4cb511bad0 fix import with style.css 2019-12-25 12:09:49 +01:00
zadam 73c8d145fa tar export fixes + added code block example to the demo document 2019-12-25 11:56:55 +01:00
zadam ab79f24729 added content style to tar html export as well 2019-12-25 11:34:45 +01:00
zadam cec71f65b3 load ckeditor content style for printing to have more similar look to the in-editor, #782 2019-12-25 10:59:45 +01:00
zadam f75c008154 more sync recovery fixes 2019-12-24 17:49:44 +01:00
zadam 474baa7d95 sync recovery fixes 2019-12-24 16:00:31 +01:00
zadam a155b6e8d5 create separate window for setup and then main window 2019-12-24 14:42:03 +01:00
zadam 229974e543 added option to enable native title bar (disabled by default) 2019-12-24 12:10:32 +01:00
zadam 6fc19bfb93 Merge branch 'stable' 2019-12-24 11:55:27 +01:00
zadam ccaa108faa release 0.38.3 2019-12-24 10:51:51 +01:00
zadam 0a72383495 make opening new links from ckeditor more consistent for internal and external links, closes #779 2019-12-24 10:49:16 +01:00
zadam d389100611 properly cleanup sidebar content after closing tab 2019-12-23 21:46:37 +01:00
zadam ea7257a5b2 cleaned up experimental attribute pane 2019-12-23 21:13:56 +01:00
zadam 0ebc947fbd visual tweaks 2019-12-23 21:05:47 +01:00
zadam c89514f9bb saving size and visibility state of the panes 2019-12-23 20:34:29 +01:00
zadam e0368e395c removed left and right sidebar sizing options 2019-12-23 19:45:59 +01:00
zadam 6986c201dd removed hideTabRowForOneTab option 2019-12-23 19:39:48 +01:00
zadam bcf163f8a1 css alignment 2019-12-23 17:12:17 +01:00
zadam 15aaead7b9 show/hide switcher for the sidebar 2019-12-23 16:48:34 +01:00
zadam d29c5c4758 sidebar pulled outside of the tab content and added splitter 2019-12-23 15:50:24 +01:00
zadam 81e2baeee5 blur title buttons after clicking 2019-12-23 13:46:26 +01:00
zadam 4cececafc9 added title bar buttons 2019-12-23 13:34:54 +01:00
zadam 7c8e7a3f4b frameless design with tabs on top, split for left panel 2019-12-23 11:52:45 +01:00
zadam 613d5f93e8 convert css grid design to flex based one 2019-12-23 08:52:57 +01:00
zadam 4f5b23fbf8 tar file export now sets mtime to tar records based on utcDateCreated of a note, closes #487 2019-12-22 10:57:55 +01:00
zadam a37b9cfc7b steel blue tweaks in demo document 2019-12-21 15:48:36 +01:00
zadam 2bc18bc214 use main border color for tab border 2019-12-21 15:37:51 +01:00
zadam f31a998c5d path list contains a button to add a new path, closes #611 2019-12-21 13:55:13 +01:00
zadam 5552917533 Merge branch 'stable' 2019-12-21 13:39:12 +01:00
zadam a9702aa6a2 fix empty checkbox visibility, closes #775 2019-12-21 12:37:24 +01:00
zadam d1941cc650 Merge branch 'stable' 2019-12-20 21:00:30 +01:00
zadam f98fa4098f clearer WS error message 2019-12-20 20:17:58 +01:00
zadam 5350496ed4 fix creating note from global ctrl+alt+p shortcut, closes #773 2019-12-20 20:13:21 +01:00
zadam b62d79044a fix creating note from relation map, closes #771 2019-12-20 19:02:52 +01:00
zadam 0db3722ec2 package updates 2019-12-20 18:04:05 +01:00
zadam d47403c0e7 implemented sync hash check recovery process 2019-12-18 22:58:30 +01:00
zadam 77311954a1 added sectors for contect check computation 2019-12-18 22:24:13 +01:00
zadam b7cf4fe96b more general filter parsing 2019-12-18 20:51:48 +01:00
zadam 6d9b702d4c Merge branch 'master' into stable 2019-12-18 20:49:24 +01:00
zadam 6e4c30571c release 0.38.2 2019-12-18 20:21:06 +01:00
zadam 5988776b7e styling of active button 2019-12-18 20:16:11 +01:00
zadam 384da60953 fix regex for parsing out the filters 2019-12-18 19:56:53 +01:00
zadam 21fab412cb sync error mitigation 2019-12-17 22:17:03 +01:00
zadam eb4dfbad92 sync fixes 2019-12-16 22:47:07 +01:00
zadam aff9ce97ee small sync fixes 2019-12-16 22:00:44 +01:00
zadam b0a3f828fb release 0.38.1-beta 2019-12-10 23:09:02 +01:00
zadam 76f5736255 update demo document 2019-12-10 23:08:50 +01:00
zadam a82066d899 ability to define a keyboard shortcut for paste markdown, closes #761 2019-12-10 23:04:18 +01:00
zadam 45c5287d53 protection against note switching race conditions 2019-12-10 22:35:24 +01:00
zadam dce54c7af3 run consistency checks on demand 2019-12-10 22:03:00 +01:00
zadam ee15db0ae1 for title/content search does not make sense to search for protected notes 2019-12-10 21:40:53 +01:00
zadam c48dbb0913 more debugging info for problems after sync 2019-12-10 21:31:24 +01:00
zadam 882ebdbd8f revert unicode regex since it's still not supported by ff 2019-12-09 23:08:32 +01:00
zadam 6f32d6fabe new mechanism to wait for sync after interaction with backend in Script API using api.waitForMaxKnownSyncId() 2019-12-09 23:07:45 +01:00
zadam 1e123f2390 sql console tweaks 2019-12-09 21:31:38 +01:00
zadam b29155775e Merge branch 'stable'
# Conflicts:
#	package-lock.json
2019-12-09 20:23:22 +01:00
zadam b821ed28fc refactor mention setup 2019-12-09 20:09:55 +01:00
zadam fdb8959aa1 move mime types loading to avoid race conditions 2019-12-09 20:06:36 +01:00
zadam 7554cb057b support unicode characters in filters without quotes, fixes #757 2019-12-09 19:38:48 +01:00
zadam fab959539a ability to run multiple queries (and get multiple result sets) from SQL console 2019-12-08 11:20:44 +01:00
zadam afe44a6fe8 Merge branch 'stable' 2019-12-08 10:37:19 +01:00
zadam 7ed526beb7 fix clipper, closes #752 2019-12-08 09:41:31 +01:00
zadam af695802e3 codeNotesMimeTypes option has not been created for new documents, fixes #755 2019-12-08 09:12:42 +01:00
zadam 156f040880 added "backend log" dialog 2019-12-05 21:25:36 +01:00
zadam cf6f04defb better port error logging 2019-12-04 22:59:26 +01:00
zadam a890b91079 release 0.38.0-beta 2019-12-04 22:40:31 +01:00
zadam e0aabe4f9c fix docs 2019-12-04 22:40:20 +01:00
zadam 01cd9d8fb3 ckeditor 16 with code blocks plugin 2019-12-04 21:21:07 +01:00
zadam af10f0f52a API docs updates 2019-12-03 22:53:17 +01:00
zadam aa5ede5039 Merge branch 'stable' 2019-12-03 22:52:37 +01:00
zadam 21e77c83fc release 0.37.8 2019-12-03 22:31:20 +01:00
zadam b0310e34e2 fix CSS loading from subdomain, #741 2019-12-03 22:13:02 +01:00
zadam 9812b9c272 (mostly) backwards compatible .createNote() backend API 2019-12-03 21:31:46 +01:00
zadam 92d5f91aa6 Merge branch 'stable' 2019-12-03 20:33:42 +01:00
zadam b0368c7f17 Merge remote-tracking branch 'origin/master' 2019-12-03 20:32:01 +01:00
zadam 8e1f8c869b new @parentCount virtual search attribute, closes #738 2019-12-03 20:31:34 +01:00
nil0x42 4688cda493 [DOC] createNewNote(): Add missing render type (#740) 2019-12-03 19:49:27 +01:00
zadam 761c51069a use max-height for promoted attributes, #739 2019-12-03 19:47:53 +01:00
zadam 4dc285d84f serve favicon from relative path 2019-12-03 19:31:58 +01:00
zadam 0e2f8b5734 don't set date modified on erasing 2019-12-03 19:10:40 +01:00
zadam a1402c7c66 release 0.37.7 2019-12-02 23:09:42 +01:00
zadam 6ba3e5ab7f backport fix from master to avoid doubled attributes inherited from multiple paths 2019-12-02 23:07:19 +01:00
zadam f740e52ebf correctly respect label @disableVersioning
(cherry picked from commit dc063983ea)
2019-12-02 23:06:06 +01:00
zadam e9454e4db7 fix SQL console scrolling
(cherry picked from commit 749bb90713)
2019-12-02 23:05:05 +01:00
zadam 749bb90713 fix SQL console scrolling 2019-12-02 23:04:22 +01:00
zadam eb8c296e62 attempt to make updating clients via websocket faster 2019-12-02 22:27:06 +01:00
zadam dc063983ea correctly respect label @disableVersioning 2019-12-02 20:21:52 +01:00
zadam 2595c3ac31 fix attribute loading CTE + don't duplicate attributes in case of cloning, fixes #735 2019-12-02 20:10:10 +01:00
zadam 9cb8bc5dd8 generate document now creates note revisions as well 2019-12-02 19:52:58 +01:00
zadam 3b690f5456 mini optimizations 2019-12-01 15:01:09 +01:00
zadam 7ef2e7769f added index to source_ids 2019-12-01 14:39:24 +01:00
zadam 4c07ac4c4c optimized edited notes on day query 2019-12-01 14:30:59 +01:00
zadam 35cd7f3261 optimization of recursive CTE attribute query 2019-12-01 13:29:39 +01:00
zadam 8c3e2e5eb7 better placement of slow query detection 2019-12-01 12:51:47 +01:00
zadam d57caee0d3 drop unnecessary indexes 2019-12-01 12:38:07 +01:00
zadam 6e83980784 aligning frontend attributes API with the backend one 2019-12-01 12:22:22 +01:00
zadam 295af1f43e adding file length limit to tar export 2019-12-01 11:49:14 +01:00
zadam ed2afe5c20 Merge branch 'stable' 2019-12-01 11:32:33 +01:00
zadam bfc7570e14 don't convert MD to HTML if "import markdown as text" is not selected, closes #733 2019-12-01 11:27:22 +01:00
zadam d9b9d730bb moving from inherited attribute queries to owned one where it makes sense 2019-12-01 11:10:04 +01:00
zadam ba8a8dca7b adding more "owned" attribute methods to Note entity 2019-12-01 10:57:28 +01:00
zadam 29eb5a8435 Merge branch 'stable'
# Conflicts:
#	src/services/notes.js
#	src/tools/generate_document.js
2019-12-01 10:32:30 +01:00
zadam 5de92171a7 use owned attributes where it's a better fit 2019-12-01 10:28:05 +01:00
zadam 29c5e394ab generate document now creates also labels and relations 2019-12-01 10:20:18 +01:00
zadam 07b3d11fe5 fix generate new document script 2019-12-01 09:19:16 +01:00
zadam 67663fba50 fixes 2019-11-30 11:36:36 +01:00
zadam 995ebbf577 removed foreign keys PRAGMAs since foreign key constraints are not used anymore 2019-11-30 10:41:53 +01:00
zadam d0e6be3e0c entity stat as part of consistency checks 2019-11-30 09:15:08 +01:00
zadam 01370a5968 fix anonymization according to latest schema 2019-11-29 21:42:24 +01:00
zadam 6c561b5764 rename API .createNote() to .createNewNote() to allow future backwards compatibility 2019-11-28 22:35:55 +01:00
zadam 2953f1bdb8 adding some standard classes for tree items 2019-11-28 22:05:27 +01:00
zadam 1c057cac75 small script API additions 2019-11-27 23:07:10 +01:00
zadam 0415efd33b create year/month/date labels/relation only when the note is created 2019-11-27 19:42:10 +01:00
zadam e58dc829f5 bootstrap 4.4.0 2019-11-27 18:59:42 +01:00
zadam 90d10c1ff3 Merge branch 'stable'
# Conflicts:
#	package-lock.json
#	src/public/javascripts/services/tree_context_menu.js
#	src/services/import/enex.js
2019-11-27 18:54:49 +01:00
zadam 5b30291601 release 0.37.6 2019-11-26 22:50:08 +01:00
zadam 5193f073e9 if there's no updated field use created #725 2019-11-26 22:47:54 +01:00
zadam 6c7d8a9667 preserve dateCreated and dateModified in ENEX import, fixes #725 2019-11-26 22:02:21 +01:00
zadam 5e9bedd903 fixed sidebar switch in the options dialog 2019-11-26 20:46:49 +01:00
zadam e712990c03 don't remove active tab after deleting note to preserve tab state, fixes #727 2019-11-26 20:42:34 +01:00
zadam 91487b338a make the context menu scrollable when exceeding total window height, closes #723 2019-11-26 19:55:52 +01:00
zadam 3ff24d53e5 fix decrypting note titles on the server installation, closes #724 2019-11-26 19:49:52 +01:00
zadam 94c904fb40 fix context menu over root, closes #726 2019-11-26 19:42:47 +01:00
zadam 5f258fbbbf release 0.37.5 2019-11-25 22:46:15 +01:00
zadam 56c7b7f5bd API docs update 2019-11-25 22:45:09 +01:00
zadam bf9ad976b9 fixing non-root path issues, #404 2019-11-25 21:44:46 +01:00
zadam 19206d1e0d backend API note creation updates 2019-11-25 21:24:41 +01:00
zadam 420be6d8c6 fix demo document relation map and shortcuts before db initialization 2019-11-24 22:42:54 +01:00
zadam dbd2040bee shortcut fixes 2019-11-24 22:15:33 +01:00
zadam 1e979d71c7 changed note selection in tree using keyboard - now only sibling nodes are selected 2019-11-24 22:01:10 +01:00
zadam 6bbd4c59bc reduce flicker of "create new day note" 2019-11-24 21:40:50 +01:00
zadam 3a54d00e2b added shortcut filter in the options dialog 2019-11-24 20:20:13 +01:00
zadam 499c9a7381 separated some context menu items into "advanced" 2019-11-24 20:00:54 +01:00
zadam cd139bdd76 note can be activated through 'keyboardShortcut' label 2019-11-24 18:32:18 +01:00
zadam 60c3b5cccc Merge remote-tracking branch 'origin/master' 2019-11-24 14:10:19 +01:00
zadam 540f9f933a update demo.tar with correct system links 2019-11-24 14:10:11 +01:00
Benoit Stahl a59943094e this input is text (#719) 2019-11-24 10:44:09 +01:00
zadam c400a7143c reorganization of shortcuts in the options 2019-11-24 10:40:18 +01:00
zadam 1f37d00e42 updating also shortcuts in element titles 2019-11-24 10:14:30 +01:00
zadam d21e824343 binding remaining actions 2019-11-24 09:50:19 +01:00
zadam ff3f0ee0a0 Merge branch 'stable' 2019-11-23 23:07:07 +01:00
zadam 01ff34b5d4 moving edit branch prefix, search in subtree and toggle note hoisting to global entrypoints instead of being tree specific 2019-11-23 23:06:25 +01:00
zadam 0cde7ede24 updated note menu with current shortcuts 2019-11-23 22:56:35 +01:00
zadam 92cb723d0c updated inapp help with current shortcuts 2019-11-23 22:17:08 +01:00
zadam e4bec265c1 system links (internal, image, relation map) should follow camelCase convention used for other attributes 2019-11-23 20:54:49 +01:00
zadam 434d8ef48c added extra autofixers for completely missing note_contents or note_revision_contents row 2019-11-23 19:56:52 +01:00
zadam c8ba07a4ae fix migration script in case of not fully consistent database (missing note_contents for note). closes #717 2019-11-23 11:13:57 +01:00
zadam 4da6234911 Merge branch 'stable' 2019-11-22 22:59:08 +01:00
zadam 38e7649ac3 release 0.37.4 2019-11-22 22:38:03 +01:00
zadam ff0245f05f dynamically translating kbd based on actions 2019-11-22 22:35:59 +01:00
zadam 7a2c7edd7e allow multiple instances of @in operator, closes #716 2019-11-22 21:17:46 +01:00
zadam 98c81faedb Merge branch 'stable' 2019-11-22 20:36:47 +01:00
zadam cfb850acb2 download fixes for the sub-domain web deployment 2019-11-22 20:35:17 +01:00
zadam a16aaf7a81 fix setup on non-root paths #404 2019-11-22 20:24:49 +01:00
zadam 465c3b87a7 tree keyboard shortcuts 2019-11-21 22:24:07 +01:00
zadam 0e5028acd3 support global shortcuts with global: prefix 2019-11-21 21:12:07 +01:00
zadam 00c295e4bf upgrade to electron 8.0.0-beta.3 2019-11-21 19:36:34 +01:00
zadam 7084ed4fb1 Merge branch 'stable' 2019-11-20 23:11:21 +01:00
zadam 587134c2f8 separators and fixes 2019-11-20 23:10:41 +01:00
zadam 5fac2c7633 saving options keyboard shortcuts 2019-11-20 22:48:32 +01:00
zadam 08a518479b keyboard shortcuts options pane 2019-11-20 21:35:18 +01:00
zadam 522f71cb91 fix tree clipboard 2019-11-20 19:24:23 +01:00
zadam bcdfb47939 Merge branch 'stable' 2019-11-19 23:34:35 +01:00
zadam 667471e7bb toggle zen mode in the global menu 2019-11-19 23:33:07 +01:00
zadam d357943ebb release 0.37.3 2019-11-19 23:05:54 +01:00
zadam 07043fb177 switch search in subtree to ctrl+shift+s to stay consistent with ctrl+s 2019-11-19 23:04:43 +01:00
zadam 3c4ec7fe1a keyboard shortcuts WIP 2019-11-19 23:02:54 +01:00
zadam 1f8d382b1f added "search in subtree" context menu, #534 2019-11-19 21:11:20 +01:00
zadam 4bd7438fca shortcuts WIP 2019-11-19 20:53:04 +01:00
zadam 0ae9c8da17 Merge branch 'stable' 2019-11-19 19:32:49 +01:00
zadam 61e8cbbcba add log for content hash failures 2019-11-19 19:07:14 +01:00
zadam 86c5dd6494 fix recent changes, closes #713 2019-11-19 19:02:16 +01:00
zadam f921562346 Merge branch 'm38'
# Conflicts:
#	docs/backend_api/Note.html
#	docs/frontend_api/NoteShort.html
#	src/services/import/enex.js
2019-11-18 23:26:29 +01:00
zadam c5acb7fc9b release 0.37.2 2019-11-18 23:04:09 +01:00
zadam 643d9077fc configurable keyboard shortcuts WIP 2019-11-18 23:01:31 +01:00
zadam b4709e8ee5 "distraction free mode" renamed to more standard "zen mode" 2019-11-18 19:32:27 +01:00
zadam a1181623b7 hide sidebar button styling 2019-11-17 11:58:05 +01:00
zadam 73a6c66379 header styling changes 2019-11-17 11:39:06 +01:00
zadam 1d5daa8dfd action icons now have hover border as well 2019-11-17 11:30:11 +01:00
zadam 834e1f7253 fix activating tab when app was closed last time with "new tab" 2019-11-17 10:24:06 +01:00
zadam c141f4b2c0 tab row styling change 2019-11-17 10:22:26 +01:00
zadam 1a87190f43 added IN operator to search, closes #534 2019-11-17 09:07:35 +01:00
zadam a1262aaaf3 release 0.37.1-beta 2019-11-16 19:09:52 +01:00
zadam 1838f097e5 added getAllNotePaths, fixes #708 2019-11-16 19:07:32 +01:00
zadam 95d0ad1cad simpler ENEX parsing 2019-11-16 18:13:00 +01:00
zadam 767aaa18f4 fix OPML import 2019-11-16 18:04:13 +01:00
zadam 8a7228146c simpler ENEX parsing 2019-11-16 17:56:49 +01:00
zadam f9b5e473f2 added missing options 2019-11-16 17:03:18 +01:00
zadam 3d294c5163 refactoring of note creation APIs WIP 2019-11-16 17:00:22 +01:00
zadam 60231de0ed refactoring of note creation APIs WIP 2019-11-16 12:28:47 +01:00
zadam 35e9df6170 fixes in the handling of cssClass and iconClass when working with newly created / single note 2019-11-16 11:23:28 +01:00
zadam 13c0411533 refactoring of note creation APIs WIP 2019-11-16 11:09:52 +01:00
zadam c5e040c4a4 updated demo document with icon classes 2019-11-16 09:57:19 +01:00
zadam e00ab5dbf9 new "iconClass" property on note_short, now together with cssClass respecting template relationship, #707 2019-11-16 08:59:27 +01:00
zadam 95c37cfdd1 release 0.37.0-beta 2019-11-14 23:12:28 +01:00
zadam de02e9e889 redesign of createNote APIs, WIP 2019-11-14 23:10:56 +01:00
zadam e143becb7a styling changes 2019-11-14 20:27:28 +01:00
zadam c0eb30472e note and note_content has been needlesly updated when utcDateModified has been the same 2019-11-13 22:33:19 +01:00
zadam 8b320bb85f force note sync now really forces update on other instances by updating utcDateModified 2019-11-13 22:32:14 +01:00
zadam d93b9b8a23 force note sync now syncs also note revision contents and attributes 2019-11-13 21:53:04 +01:00
zadam 69b53fdfb3 expander styling again 2019-11-13 21:46:52 +01:00
zadam 920d71a5a6 small fixes 2019-11-13 20:28:14 +01:00
zadam d4a277321c styling of mobile expanders 2019-11-13 19:38:34 +01:00
zadam 4068691078 better expander positioning 2019-11-12 23:02:47 +01:00
zadam 86d7e139a4 correctly handle 0 notes to erase 2019-11-12 22:26:25 +01:00
zadam 44add751b2 fix horizontal wrap of pre elements 2019-11-12 22:22:49 +01:00
zadam c49c69f824 fix migration script 2019-11-12 21:32:35 +01:00
zadam 7bd1d8feb4 fix setting isErased after note migration 2019-11-11 23:37:46 +01:00
zadam 4ba7e74b58 fix note revision's isErased initial value after migration 2019-11-11 23:26:46 +01:00
zadam 4cda661c1b add move to dialog 2019-11-11 22:57:51 +01:00
zadam 5b4a2bd71c Merge branch 'stable'
# Conflicts:
#	src/entities/note.js
2019-11-11 20:43:00 +01:00
zadam a808e12d31 fix .setAttribute in stable, #703 2019-11-11 20:42:03 +01:00
zadam 1f3f9a4037 release 0.36.5 2019-11-10 22:20:54 +01:00
zadam 77ac8df1e6 keyboard shortcut ctrl+shift+c for "clone to..." dialog 2019-11-10 22:19:22 +01:00
zadam b53e2a3570 clone to notes now has overview of notes to clone and is available from context menu 2019-11-10 22:06:43 +01:00
zadam 7539e6a616 Merge branch 'stable'
# Conflicts:
#	src/services/consistency_checks.js
2019-11-10 21:35:11 +01:00
zadam b5a0cadcf4 fix showing up of render note help view if no renderNote relations have been found 2019-11-10 21:34:15 +01:00
zadam b8db842788 added frontend API methods to refresh tabs 2019-11-10 19:34:15 +01:00
zadam dea5195223 fix setNoteToParent and deprecate it 2019-11-10 19:29:51 +01:00
zadam c3ea2ae1b3 added new auto fixers to consistency checks 2019-11-10 14:16:12 +01:00
zadam 1fddd6f318 added non-autoFix variants to fixer methods 2019-11-10 11:43:33 +01:00
zadam 466a4802b6 introduced 'autoFixConsistencyIssues' option to control whether consistency issues should be auto fixed or note 2019-11-10 11:25:41 +01:00
zadam 8f2d2b189c Merge branch 'stable' 2019-11-10 11:24:08 +01:00
zadam 0837cabb41 fix module name for prompt dialog, fixes #698 2019-11-10 10:10:49 +01:00
zadam 5646218be8 release 0.36.4 2019-11-09 21:19:34 +01:00
zadam 169551c6a8 note revisions as a bootstrap list instead of <select> 2019-11-09 20:59:49 +01:00
zadam 3a1c80c189 refactoring of legacy js events 2019-11-09 17:45:22 +01:00
zadam 31bcc037f1 refactoring of legacy js events 2019-11-09 17:39:48 +01:00
zadam 179d530ea9 note revision sync fix 2019-11-09 16:51:51 +01:00
zadam da92809299 Merge branch 'stable' 2019-11-09 15:33:04 +01:00
zadam c2ebd4b308 show notes in a book including their prefix, closes #695 2019-11-09 15:31:47 +01:00
zadam 9b24ae0600 erasing note revisions 2019-11-09 15:21:14 +01:00
zadam 7cd75cebfc fix icons in context menu 2019-11-09 13:32:06 +01:00
zadam 664485ccd5 file revisions preview 2019-11-09 13:01:05 +01:00
zadam 60ac1a04f4 uploading new file revisions 2019-11-09 11:58:52 +01:00
zadam 7c7beb5502 added contentLength to note entity 2019-11-09 09:36:08 +01:00
zadam 5aa5ec3af1 downloading note revisions 2019-11-09 08:53:13 +01:00
zadam 58a857cf79 note revisions for images, WIP 2019-11-08 23:09:57 +01:00
zadam 712f67e983 uploading new image revisions, WIP 2019-11-08 22:34:30 +01:00
zadam 3149dff880 Merge branch 'stable' 2019-11-08 19:11:18 +01:00
zadam d58e98e361 fix not being able to rename a note when in auto-book mode, closes #694 2019-11-07 23:25:58 +01:00
zadam 744855d4f5 linking notes through CKEditor mentiones 2019-11-07 22:43:01 +01:00
zadam 8a9f2ff1d8 Merge remote-tracking branch 'origin/master' 2019-11-07 20:09:57 +01:00
zadam f539aedd25 Merge branch 'stable' 2019-11-07 20:09:40 +01:00
zadam 05547845cb including confirm and prompt dialog to mobile frontend to allow deleting notes, closes #689 2019-11-07 19:58:40 +01:00
zadam 9b905563c3 fix ensureNoteIsAbsentFromParent, closes #691 2019-11-07 19:51:38 +01:00
zadam 894c888d87 including ckeditor mentions plugin for easy linking 2019-11-06 22:58:32 +01:00
zadam 34d4274032 separate cloning dialog 2019-11-05 23:11:25 +01:00
zadam b685d7ffb5 simplification of "add link" dialog 2019-11-05 22:40:44 +01:00
zadam d87c469fbb Merge branch 'stable' 2019-11-05 22:28:27 +01:00
zadam d8730f1722 release 0.36.3 2019-11-05 21:49:16 +01:00
zadam 72fda89360 fix loading of the search note results 2019-11-05 21:47:22 +01:00
zadam 7075842954 expose bindGlobalShortcut to frontend script API 2019-11-05 21:26:54 +01:00
zadam a2c78e2c5c disabling link map animation, closes #684 2019-11-05 20:59:20 +01:00
zadam 9c9ef1c7b4 added more careful handling of search note operations, fixes #683 2019-11-04 22:41:06 +01:00
zadam df40accdd4 fix bug when context menu sometimes does not show up, closes #682 2019-11-04 20:20:21 +01:00
zadam b67aa99b86 small fixes in context menu item visibility 2019-11-04 19:37:03 +01:00
zadam 5ecb881cec options template is handled directly in the option classes which fixes multiple binding of elements inside options dialog 2019-11-03 19:06:22 +01:00
zadam fcb6a06d68 fix refreshing notes after import / delete
(cherry picked from commit 5b5ab0b044)
2019-11-03 18:34:07 +01:00
zadam 5b5ab0b044 fix refreshing notes after import / delete 2019-11-03 18:33:43 +01:00
zadam ab04bde5fb options UI for image quality 2019-11-03 17:59:11 +01:00
zadam c9e4261930 options for basic image quality control 2019-11-03 11:43:04 +01:00
zadam 9ea8209d4e separating some options to "startup" options which allows not creating new DB version for each new option 2019-11-03 10:43:40 +01:00
zadam 56e50cc850 boxicons 2019-11-02 13:50:17 +01:00
zadam fc87bcf10c using boxicons instead of jam icons WIP 2019-11-02 12:17:00 +01:00
zadam b471d51cb4 reloading of notes in tree cache when attribute changes 2019-11-02 08:04:22 +01:00
zadam b7b583ff04 use decryptString() 2019-11-02 07:50:23 +01:00
zadam 475fddeec1 fixes 2019-11-01 23:05:33 +01:00
zadam 2af86927b0 added flag for the erased notes 2019-11-01 22:09:51 +01:00
zadam 2e58e32112 note revision sync and other fixes 2019-11-01 20:00:56 +01:00
zadam 5c05963bd9 Merge branch 'stable' 2019-11-01 19:21:55 +01:00
zadam 4e5e3e4675 note revisions changes WIP 2019-11-01 19:21:48 +01:00
zadam f7c59700a5 release 0.36.2 2019-10-31 22:04:44 +01:00
zadam f1a7fce277 fix creating branch without isExpanded, fixes initial document initialization 2019-10-31 22:02:55 +01:00
zadam cf53cbf1dd moving out note revision content into separate table, refactoring, WIP 2019-10-31 21:58:34 +01:00
zadam 1a182d1b58 final fix for the ws issue 2019-10-30 19:43:17 +01:00
zadam 8bd52f349a small refactorings and defensive programming in note cache 2019-10-29 20:54:08 +01:00
zadam 68faa47c6f fix not sending latest syncs to client 2019-10-29 20:19:28 +01:00
zadam 2f2a14d4b8 shoutouts in the README 2019-10-29 19:59:19 +01:00
zadam a2a53deb94 fancytree 2.33.0 2019-10-29 19:07:05 +01:00
zadam d50e072ea4 fix not-updating lastSyncId in ws handler 2019-10-29 19:03:39 +01:00
zadam 904eb25f64 fix persistent toasts lingering after disposal in DOM 2019-10-29 18:59:56 +01:00
zadam 205081c804 actual fix for the not disappearing toasts 2019-10-28 20:44:11 +01:00
zadam c4d5060a0b fix non disappearing persistent toast 2019-10-28 20:26:40 +01:00
zadam 5bba18191f small fixes 2019-10-28 19:45:36 +01:00
zadam 5e3538669d sending ws messages doesn't need await 2019-10-28 18:42:22 +01:00
zadam 23c449ca0c fix ordering of new notes 2019-10-27 22:39:38 +01:00
zadam b7344329f4 date note fixes 2019-10-27 22:13:38 +01:00
zadam e04845335b fixed search notes with new treecache 2019-10-27 19:17:32 +01:00
zadam 86a330c8c3 delete notes are now in cache as well which allows simplified update of the tree after deletion 2019-10-26 22:50:46 +02:00
zadam f82e99b5ed fix "clone note after" 2019-10-26 21:14:06 +02:00
zadam bdf42749f3 fixes 2019-10-26 20:48:56 +02:00
zadam 7ccbf45569 update to ckeditor 15 2019-10-26 10:09:48 +02:00
zadam c0b30e603a updated API docs 2019-10-26 10:00:26 +02:00
zadam d3c957768f branches in tree cache should always be loaded if some branchId reference exists 2019-10-26 09:58:00 +02:00
zadam ed9ecf2a57 simplification of tree cache 2019-10-26 09:51:08 +02:00
zadam 22d48b0586 sync update persistent notification 2019-10-25 22:20:14 +02:00
zadam edc23940d0 promise for loaded note cache 2019-10-25 21:57:08 +02:00
zadam c72ea2ed60 changes in retrieval of initial note tree and then updates 2019-10-25 21:47:14 +02:00
zadam 4570319517 WS debugging messages and small changes 2019-10-24 23:02:29 +02:00
zadam 69d739400c refresh notes/branches sorted 2019-10-22 22:27:32 +02:00
zadam ec7c0f0723 added sync mutex to ping messages 2019-10-22 21:59:51 +02:00
zadam 3de124748d fix a bug where render note content could be set to null during renaming 2019-10-21 22:56:43 +02:00
zadam 41d47c5d33 release 0.36.1-beta 2019-10-21 21:59:17 +02:00
zadam 132360b46b expose note hoisting to frontend API, closes #663 2019-10-21 21:22:53 +02:00
zadam f0496cb42c generating simple frame based index page in html export 2019-10-21 21:00:27 +02:00
zadam 1522297700 generate navigation file in the tar export 2019-10-20 19:02:48 +02:00
zadam 2a5ab3a5e1 script can wait until the sync data has been applied 2019-10-20 17:49:58 +02:00
zadam 358fd13c8d small refactorings 2019-10-20 13:09:00 +02:00
zadam 2305ad7405 reloading notes after script changes 2019-10-20 12:29:34 +02:00
zadam 78f5b7b288 rename info service to toast service 2019-10-20 10:00:18 +02:00
zadam 1903c59163 scripts should have different sourceId 2019-10-19 15:12:25 +02:00
zadam b16c2d19b6 duplicate (single) note 2019-10-19 12:36:16 +02:00
zadam 00bb1236ce protect/unprotect tree reports progress via notifications 2019-10-19 09:58:18 +02:00
zadam 82bbf4173b fixes to delete notifications 2019-10-19 00:11:07 +02:00
zadam 9f4ca279aa delete progress 2019-10-18 23:19:16 +02:00
zadam b890859025 further refactoring of export notifications 2019-10-18 22:44:03 +02:00
zadam 56e4f4f5ac refactor exportcontext to taskcontext 2019-10-18 22:27:38 +02:00
zadam 157bd3816d add hideTabRowForOneTab if missing, fixes #660 2019-10-18 21:04:20 +02:00
zadam 21588829c7 correctly use taskId in toasts 2019-10-17 21:15:27 +02:00
zadam 9689029c4b ImportContext generalized to TaskContext 2019-10-17 21:11:35 +02:00
zadam 992d174b23 import uses persistent toasts 2019-10-17 20:44:51 +02:00
zadam 8886e95847 replaced bootstrap-notify.min.js with bootstrap toasts 2019-10-17 20:03:05 +02:00
zadam 6d5762fac8 open update to 7.0 2019-10-16 19:42:42 +02:00
zadam e9ab044e46 fix docker build 2019-10-15 21:53:46 +02:00
zadam fda219d070 release 0.36.0-beta 2019-10-15 20:42:17 +02:00
zadam 2be1aca2f3 build fixes 2019-10-15 20:32:43 +02:00
zadam 1b318d6a30 fix tab cleanup 2019-10-15 19:42:39 +02:00
zadam 22c4859d42 grey out archived items in the tree 2019-10-15 19:16:44 +02:00
zadam 80a6361cf1 update to demo db 2019-10-14 12:11:27 +02:00
zadam 8439effeeb Merge remote-tracking branch 'origin/master' into master2 2019-10-14 12:06:18 +02:00
zadam fafab95a07 auto-book has variable number of columns based on the right pane width 2019-10-14 12:06:10 +02:00
Johannes Wünsch 24c8e8fc2b fix gitpod (#658) 2019-10-14 11:55:12 +02:00
zadam 1923bf7dda added some basic book examples to demo document 2019-10-14 11:15:38 +02:00
zadam 2ee94a3a69 changed import progress notification so it shows up for drag & drop as well 2019-10-14 10:31:58 +02:00
zadam 2fb3a3eff9 force note sync will sync also note content 2019-10-11 21:24:49 +02:00
zadam bcbbf4dc3e improvements to build process 2019-10-11 21:22:59 +02:00
zadam 7dc793920f fix spellcheck build on windows 2019-10-10 23:24:25 +02:00
zadam 0b43eceb2d Merge branch 'stable'
# Conflicts:
#	package-lock.json
#	package.json
2019-10-10 21:26:57 +02:00
zadam 85f736139b fix opening note revisions from the sidebar 2019-10-10 20:00:06 +02:00
zadam 98a6670cb4 prevent default context menu on tab right click, closes #656 2019-10-10 19:34:55 +02:00
zadam a15be82f00 release 0.35.2 2019-10-09 23:09:38 +02:00
zadam 6c3809e1db calendar widget styling for dark themes
(cherry picked from commit c9432990b7)
2019-10-09 23:07:15 +02:00
zadam 33a2cd21a3 fix double import of auto generated link relations
(cherry picked from commit 144e75da9e)
2019-10-09 23:05:52 +02:00
zadam 3eebce22e7 fix incorrect import of relations from tar
(cherry picked from commit 8d14a0d687)
2019-10-09 23:05:51 +02:00
zadam adae0625b9 rename var so it's not misleading
(cherry picked from commit dd147a7209)
2019-10-09 23:05:14 +02:00
Arne 5063cfb979 BackendAPI: Return Note created within createNoteAndRefresh (#647)
(cherry picked from commit 334a38c493)
2019-10-09 23:05:14 +02:00
zadam 0835930a8a fix creating child in relation map, closes #655 2019-10-09 23:04:01 +02:00
zadam c9432990b7 calendar widget styling for dark themes 2019-10-08 20:25:54 +02:00
zadam 9ad521822d mac spellchecker build 2019-10-07 22:17:22 +02:00
zadam 824fb08511 Merge remote-tracking branch 'origin/master' 2019-10-07 20:58:58 +02:00
zadam cc4c15daf0 spellchecker binaries for windows 2019-10-07 20:58:48 +02:00
Logan Gorence 7718778013 Fix typo in note export screen. (#654) 2019-10-07 08:49:53 +02:00
zadam a25260353d spellcheck binaries for linux-x64 2019-10-06 22:33:19 +02:00
zadam c1e8a4b384 spell check support + small options tabs reorganization 2019-10-06 21:35:26 +02:00
zadam 3f2229d9e1 better handling of not detected mime type 2019-10-06 18:28:53 +02:00
FliegendeWurst 8561227622 Import: use upload mime type if mime cannot be detected from filename (#651) 2019-10-06 18:23:39 +02:00
zadam 8859e2ac40 fix opening links from book 2019-10-06 12:33:47 +02:00
zadam 7423b2f4fd book handling of protected notes 2019-10-06 11:21:12 +02:00
zadam d23e9f1bc4 tar import will sort notes if there is no meta file 2019-10-06 09:49:47 +02:00
zadam 516277a478 added "auto book" displayed on the empty text pages as a replacement for children overview 2019-10-05 20:27:30 +02:00
zadam cbc7710d81 removed children overview (will be replaced by book) 2019-10-05 12:06:06 +02:00
zadam ea71e96f72 ability to set book zoom level via label 2019-10-05 12:01:00 +02:00
zadam 59d1cb1833 expand all children button 2019-10-05 11:22:42 +02:00
zadam 7c54ba63ce render notes in book 2019-10-05 10:55:29 +02:00
zadam 5892b5b851 nested note rendering in book 2019-10-05 09:33:31 +02:00
zadam 02eb737b9d book has now zoom 2019-10-04 22:21:14 +02:00
zadam 144e75da9e fix double import of auto generated link relations 2019-10-02 23:28:29 +02:00
zadam 8d14a0d687 fix incorrect import of relations from tar 2019-10-02 23:22:58 +02:00
zadam dec2c218f7 basic book rendering of code and image notes 2019-10-02 19:40:22 +02:00
zadam dd147a7209 rename var so it's not misleading 2019-10-01 21:42:36 +02:00
zadam c3fabcb666 Merge remote-tracking branch 'origin/master' 2019-10-01 21:41:26 +02:00
zadam 35e825b376 fix tooltips 2019-10-01 21:41:20 +02:00
Arne 334a38c493 BackendAPI: Return Note created within createNoteAndRefresh (#647) 2019-10-01 21:40:57 +02:00
zadam 8ec01c73cd skeleton implementation of new "book" note type 2019-10-01 21:11:11 +02:00
zadam 0ef6634d41 release 0.35.1 2019-09-30 22:18:23 +02:00
zadam f6fc24d11d use GFM extensions for markdown export, closes #638 2019-09-30 20:56:32 +02:00
zadam ed24e32305 fix typo in shell, closes #639 2019-09-30 20:43:56 +02:00
zadam 86df60bb74 "code as code" and "text as text" import settings are respected also with tar import 2019-09-30 20:22:09 +02:00
zadam 42cf02e9a4 library updates 2019-09-30 19:35:00 +02:00
zadam 3add997b49 release 0.35.0-beta 2019-09-09 21:32:48 +02:00
zadam 649862b01c fixed mobile layout 2019-09-09 21:31:50 +02:00
zadam f5228f87f0 widgets can have a help link with title 2019-09-09 21:23:04 +02:00
zadam 76f3e87790 small fixes 2019-09-09 20:29:07 +02:00
zadam 30c56cd8af template can now contain also content 2019-09-08 16:57:41 +02:00
zadam 16be0c1014 calendar now indicates whether date note already exists or not + tooltip 2019-09-08 16:30:33 +02:00
zadam c82de8b6b2 calendar widget implementation 2019-09-08 16:06:42 +02:00
zadam d3f2b71803 calendar widget setup 2019-09-08 13:08:01 +02:00
zadam f3955bcbdc various small fixes 2019-09-08 11:25:57 +02:00
zadam 90afb2a1ee improvements in widgets rendering - individual widget render is now async while composing them together to the sidebar is sync which solves some race problems 2019-09-08 09:40:29 +02:00
zadam 2dae9b9621 note revisions widget shows content length 2019-09-08 09:17:16 +02:00
zadam 521a9b0b2c link map will try to display max possible number of links 2019-09-07 22:36:08 +02:00
zadam 2cfe9b3c03 note revision widget displays only date and time, no time offset 2019-09-07 22:03:08 +02:00
zadam 45ee959c11 date notes are now created with template relations 2019-09-07 21:40:18 +02:00
zadam 3bf8546d51 added getOwnedAttribute() without attr inheritance which can speed up bulk operations significantly 2019-09-07 20:43:59 +02:00
zadam ca8b603bd9 fix attr invalidation after note change 2019-09-07 13:09:32 +02:00
zadam faae11f070 template attributes don't need isInheritable flag to take effect 2019-09-07 11:00:15 +02:00
zadam b069436039 added "edited notes on date" widget 2019-09-07 10:11:59 +02:00
zadam e828ef370d note short can lazy load note content 2019-09-06 23:36:08 +02:00
zadam 50a0400616 fix note type selection 2019-09-06 22:18:03 +02:00
zadam 0226b1e9a8 fixes 2019-09-06 20:50:57 +02:00
zadam 135102d2b5 fixes to note loading. Sidebar flickers way less after note change 2019-09-04 22:45:12 +02:00
zadam a17b8a053e refactoring of note loading 2019-09-04 22:13:22 +02:00
zadam fdc86bab50 lazy loading of opened tabs to speed up initial startup 2019-09-04 21:30:11 +02:00
zadam f885388bf7 avoid overflowing of long mime type 2019-09-03 22:06:49 +02:00
zadam aa96b33bc2 initial load of tabs can run partially asynchronously to speed things up 2019-09-03 22:01:45 +02:00
zadam e36d636f93 cloned notes are less conspicuous in the tree with only asterisk after a title 2019-09-03 21:34:20 +02:00
zadam 2e05cb1764 similar notes is getting updated automatically after the title change 2019-09-03 21:31:39 +02:00
zadam 9404e27cba similar notes is async'd a bit to not block the event loop too much 2019-09-03 21:16:14 +02:00
zadam 494ec0b051 introduction of @isArchived special filter. Fulltext now by default filters with @!isArchived, label search without filtering for archived 2019-09-03 20:16:38 +02:00
zadam 36b575c286 optimize length of type/mime type labels 2019-09-02 22:08:50 +02:00
zadam d1992b061c fix drag & drop for chrome and code editor 2019-09-02 21:58:03 +02:00
zadam a79aec85b5 speedup of similar notes widget 2019-09-02 21:36:24 +02:00
zadam 76dce5197f fix inline markdown import dialog 2019-09-02 21:23:55 +02:00
zadam 5d80df398b removed event log 2019-09-02 20:30:28 +02:00
zadam a6f57d7761 recent changes now display also newly created notes without any revisions, some extra improvements to the dialog 2019-09-02 20:26:18 +02:00
zadam a981df6282 fix dialog opening 2019-09-02 19:56:52 +02:00
zadam ae8a2bfb1b updated demo document based on changes in tar format 2019-09-01 22:43:16 +02:00
zadam 15a2fe2570 fixes in import & export related to the protected session 2019-09-01 22:09:55 +02:00
zadam 8dadc7e518 allow deleting notes including all the clones, closes #629 2019-09-01 20:57:25 +02:00
zadam c614bc3263 importing a note now creates internal link relations 2019-09-01 20:35:55 +02:00
zadam 1e50d88166 clones in export are now also md/html pages with link to the primary location 2019-09-01 16:46:36 +02:00
zadam c9cc2cb4f3 refactoring of similar notes path handling 2019-09-01 13:42:10 +02:00
zadam c8a5c71ec2 tweaks to similar notes + missing options init 2019-09-01 11:37:43 +02:00
zadam 55356963dd improvements to similar notes - now using dice's coefficient for better results 2019-09-01 11:33:45 +02:00
zadam 0e867a995f include linux-x64 pngquant binary to fix build issues 2019-09-01 10:11:29 +02:00
zadam 3ca37b2f42 widget can be also enabled/disabled using labels 2019-09-01 09:52:07 +02:00
zadam 0c78fda531 collpase type and mime to same row in note info widget 2019-09-01 09:16:08 +02:00
zadam 7c60080772 basic implementation of "similar notes" widget 2019-09-01 08:58:13 +02:00
zadam bf5a31dcdb strip out HTML headers during the import 2019-08-31 22:52:07 +02:00
zadam a5e38165ef remove H1 from the text during import if it matches note title 2019-08-31 22:45:57 +02:00
zadam fe6f19e611 imported notes from tar now have correct links even without meta file 2019-08-31 22:39:25 +02:00
zadam 576a07bcb7 export to tar now preserves image and note links 2019-08-31 11:15:32 +02:00
zadam 4be7ac7ae1 export fixing links WIP 2019-08-31 10:12:42 +02:00
zadam a81b00e130 fix link map zoom after reload and some tweaks to springy 2019-08-30 22:01:49 +02:00
zadam d4e27c1b76 fixed CSS lazy loading (same file could be loaded multiple times) 2019-08-30 21:22:52 +02:00
zadam be477f178b custom per-theme modal backdrop color 2019-08-30 20:34:32 +02:00
zadam de95b92f90 link map tweaks 2019-08-30 20:15:59 +02:00
zadam 89ed9027da updated export + image link parsing fix 2019-08-29 23:11:59 +02:00
zadam 1c0b55e422 fixes to link parsing and tweaks 2019-08-29 23:08:30 +02:00
zadam 10d089240a updated DB schema and initial options 2019-08-29 22:32:53 +02:00
zadam 84b1f1f24e text editor now support font size, color, background 2019-08-29 22:20:08 +02:00
zadam c8f59ea547 options UI for selecting support code note MIME types 2019-08-29 21:08:53 +02:00
zadam 9d958e1860 link map is kept centered on the active note box 2019-08-28 23:08:05 +02:00
zadam ec06b940f4 when hovering over a note, outgoing and incoming connections are highlighted, set limit 3 seconds to the layout 2019-08-28 22:16:12 +02:00
zadam f331172c7d fixes & tweaks 2019-08-28 21:15:16 +02:00
zadam 650d9e0b27 state management fixes 2019-08-28 20:29:10 +02:00
zadam ff1d312a43 link map fixes 2019-08-27 22:47:10 +02:00
zadam a4acbf3aea fixes for link map 2019-08-27 22:19:32 +02:00
zadam 242bea236f removed link remnants 2019-08-27 21:24:31 +02:00
zadam ca2f14a2d0 extracted link map into a service 2019-08-27 20:20:00 +02:00
zadam 48a654630f added checkboxes/todo lists and image resize, closes #264, #587 2019-08-27 19:50:57 +02:00
zadam cf5c1c1be1 implemented new way of adding extra languages to note type picker 2019-08-26 21:43:28 +02:00
zadam 0558c30b56 updated to ckeditor 12.4.0 2019-08-26 20:34:50 +02:00
zadam 36c87b7fa0 renamed "messagingService" to "ws" 2019-08-26 20:21:43 +02:00
zadam d039a5f24e widgets are respecting positions 2019-08-26 20:19:14 +02:00
zadam 3e3d111d76 lazy loading of note detail components 2019-08-26 19:49:19 +02:00
zadam ecb485c8bc removed frontend APIs to modify code note types 2019-08-25 23:12:58 +02:00
zadam 02ab59c9e0 render note type dropdown lazily 2019-08-25 23:09:22 +02:00
zadam 8e4e0bd543 fix global ko references 2019-08-25 22:31:02 +02:00
zadam bbe0e9e425 lazy loading of knockout (used only in attribute dialog) 2019-08-25 21:59:54 +02:00
zadam 24a3f814ed fix ctrl+enter in sql console 2019-08-25 21:55:36 +02:00
zadam 233a50dbb7 reimplementation of note type with jquery only 2019-08-25 21:48:56 +02:00
zadam 6d8f11d533 fix code editor sometimes not rendering 2019-08-25 19:11:42 +02:00
zadam 4e4beb26c6 codemirro 5.48.4 2019-08-25 18:46:32 +02:00
zadam 1f092c2656 widgets now use options object 2019-08-25 17:41:08 +02:00
zadam 9622b046e0 refactored options_init to options on frontend 2019-08-25 17:36:13 +02:00
zadam f9abea83f3 refactoring of access to options in frontend 2019-08-22 23:31:02 +02:00
zadam b84542064c saving of widget configuration 2019-08-22 22:14:01 +02:00
zadam 8ab2c924c4 widget ordering WIP 2019-08-22 20:58:43 +02:00
zadam 4b9415a619 widget config WIP 2019-08-21 23:16:13 +02:00
zadam c11479de58 options split into individual classes 2019-08-21 20:24:37 +02:00
zadam dddb02a286 sorting widgets in options WIP 2019-08-20 23:30:19 +02:00
zadam fab4c59f9b using dynamic import for dialogs and widgets to speed up initial load 2019-08-20 21:40:47 +02:00
zadam b818f020a7 option to configure if sidebar should be enabled in new tab 2019-08-19 23:29:42 +02:00
zadam 9888850c22 resizing sidebar in options 2019-08-19 23:02:19 +02:00
zadam 04209182c1 options dialog view split up 2019-08-19 21:55:08 +02:00
zadam 02c9dabcff added "what links here" widget 2019-08-19 20:59:40 +02:00
zadam c9d0b8cc40 link fixes 2019-08-19 20:19:42 +02:00
zadam 3cb421143f Link entity migrated to Attribute, WIP 2019-08-19 20:12:00 +02:00
zadam fd9b79e115 loading of custom widgets 2019-08-17 11:28:36 +02:00
zadam 53c4bb8a94 refactor widget constructor 2019-08-17 10:45:20 +02:00
zadam 723fc42d88 reverted some experimental changes regarding sidebar resizing 2019-08-17 09:21:30 +02:00
zadam 1882b089ab delete confirmation lists notes for deletion in a UL list, #438 2019-08-17 09:00:53 +02:00
zadam ad7a6c4d79 Merge remote-tracking branch 'origin/master' 2019-08-17 08:49:42 +02:00
zadam 48e0e797da hide tabContent during tab init to prevent flickering 2019-08-17 08:49:39 +02:00
parsehex fbb77d3e55 List note titles in delete confirmation (#619)
* list note titles in delete confirmation

* typo
2019-08-17 08:49:08 +02:00
zadam d1d8e54d20 fixed state persisting and loading 2019-08-16 21:52:36 +02:00
zadam f259c60b54 state is now applied to sidebar widgets 2019-08-16 21:29:44 +02:00
zadam aa981d3cd4 convert other widgets to StandardWidget base class 2019-08-15 21:18:33 +02:00
zadam f8118444f9 introduced a StandardWidget base class 2019-08-15 21:08:41 +02:00
zadam 59da25ef55 sidebar & widget state management WIP 2019-08-15 10:04:03 +02:00
zadam 61520bc3b3 Merge branch 'stable'
# Conflicts:
#	package-lock.json
#	package.json
2019-08-15 08:52:34 +02:00
zadam 5406b09f3a release 0.34.3 2019-08-13 21:48:56 +02:00
zadam 90f1bfb3e4 electron 6.0.2 2019-08-13 21:48:45 +02:00
zadam f30eec7737 make sure all keyboard shortcuts use utility methods to not break mobile frontend 2019-08-12 22:41:53 +02:00
zadam 493cd1a7e0 better behavior of activateNote frontend script 2019-08-12 22:25:42 +02:00
zadam dfa1ab65c6 allow requiring native node modules from backend scripts 2019-08-12 20:41:38 +02:00
zadam 963ed32ce4 allow user to choose theme during initial setup 2019-08-11 10:28:49 +02:00
zadam de4733e848 updating attributes widget based on sync data changes 2019-08-06 23:20:27 +02:00
zadam bfbc124e78 widgets can now listen to sync data changes 2019-08-06 22:39:27 +02:00
zadam fcd87b3e2d instantiate widgets dynamically 2019-08-06 21:36:54 +02:00
zadam 7bee93bb73 allow showing inherited attributes in the sidebar as well 2019-08-06 20:43:07 +02:00
zadam c0c36d10e5 add attributes to the sidebar and remove them from the bottom 2019-08-06 20:05:05 +02:00
zadam 6e260ee563 Merge branch 'stable' 2019-08-06 19:28:11 +02:00
zadam b1075d956f release 0.34.2 2019-08-01 21:37:59 +02:00
zadam 4dd6352aec use overflow-wrap instead of word-break which doesn't break words unless they really don't fit 2019-08-01 21:36:55 +02:00
zadam 6fe8bde720 package updates 2019-08-01 21:26:09 +02:00
zadam 0556ab5e66 Merge branch 'stable'
# Conflicts:
#	package.json
2019-07-30 22:11:20 +02:00
zadam 7060700225 fix mobile tree not expanding automatically on load 2019-07-30 21:18:43 +02:00
zadam 385b79ad34 Merge remote-tracking branch 'origin/t35'
# Conflicts:
#	src/views/tabs.ejs
2019-07-28 22:38:02 +02:00
zadam b8509c487d release 0.34.1 2019-07-28 15:02:36 +02:00
zadam 083dee9bdd note activation from API will also scroll to it / focus 2019-07-28 14:47:35 +02:00
zadam 0c2dd6aa35 fix distraction free mode 2019-07-28 14:36:40 +02:00
zadam 743c15aacc fix code editor in mobile 2019-07-28 14:23:41 +02:00
zadam 263bff903c mobile frontend shows only the active tab 2019-07-28 14:08:05 +02:00
zadam 741dfaf2de hide tab row in distraction free mode 2019-07-28 13:50:46 +02:00
zadam e4e4f73638 styling card header 2019-07-28 13:45:50 +02:00
zadam 85e4bd817b note revisions sidebar 2019-07-25 22:31:09 +02:00
zadam 78ffac8232 logging API auth rejections 2019-07-25 21:05:16 +02:00
zadam b488adc330 sidebar POC WIP 2019-07-24 22:52:51 +02:00
zadam a06bd877c9 Merge branch 'master' into t35 2019-07-24 21:25:21 +02:00
zadam b3834324f6 fix sync proxy with TLS 2019-07-24 20:47:41 +02:00
zadam d351134b75 Merge branch 'master' into t35 2019-07-22 22:46:47 +02:00
zadam ea0835561c option to use node's http client for sync without proxy 2019-07-22 22:46:06 +02:00
zadam b0c0c5f56b release 0.34.0-beta 2019-07-21 21:57:35 +02:00
zadam 849fad0421 link map in sidebar POC 2019-07-21 21:55:48 +02:00
zadam eb28a3b0c9 note info sidebar widget 2019-07-21 11:32:38 +02:00
zadam 5283b489dc sidebar skeleton 2019-07-21 10:17:08 +02:00
zadam d54f848572 use dev icon in dev environment 2019-07-21 09:14:56 +02:00
zadam 1ac0c4f874 fix scrollbar styling in both ff and chrome (white corner in dark themes when both scrollbars are present) 2019-07-20 22:14:40 +02:00
zadam 3850f52401 add ResizeObserver to tabs with fallback for older firefox 2019-07-20 22:01:50 +02:00
zadam 6d5f8e0562 added web clipper to readme 2019-07-20 14:27:36 +02:00
zadam 04633bdf3a set clip type from the incoming param 2019-07-19 21:03:47 +02:00
zadam 97219aa12e removed unused clipper image API (migrated to clippings) 2019-07-18 22:35:16 +02:00
zadam e825abf893 Merge remote-tracking branch 'origin/master' 2019-07-18 20:20:45 +02:00
zadam 63b655cff4 package updates 2019-07-18 20:20:38 +02:00
Yevhen Kolomeiko 0524942d11 fix typo (#592) 2019-07-12 07:16:37 +02:00
zadam b5d75f183a update to ckeditor 12.3.1 2019-07-11 22:30:40 +02:00
zadam 706fc647ff Merge branch 'stable'
# Conflicts:
#	package.json
2019-07-11 22:27:27 +02:00
zadam 13e9f9f9e7 release 0.33.7 2019-07-11 20:55:56 +02:00
zadam a76dcb44ae improvements in the exported file extensions 2019-07-11 20:54:57 +02:00
zadam b9373806cf fix doubling of extension 2019-07-11 20:40:40 +02:00
zadam 9de2927304 image import/export related fixes 2019-07-10 23:01:30 +02:00
zadam c3e1126489 backported image fixes 2019-07-10 20:38:27 +02:00
zadam 3413c9ed64 backport notePath handling fixes from master 2019-07-10 20:35:01 +02:00
Xavier NUNN dcebcb0e73 Add host option (#588)
* Added option to configure host

* Updated sample config
2019-07-09 22:50:20 +02:00
zadam 3d7a5f20e7 make it again possible to open notes through URL hash 2019-07-09 22:12:05 +02:00
zadam 6a99af64a8 added clipper protocol version 2019-07-07 22:27:06 +02:00
zadam 7d57961ab2 make clipper api authenticated for server and unauthenticated for local electron 2019-07-07 13:12:40 +02:00
zadam 95a773e5c9 clipper doesn't open new tab if the note is already loaded in existing tab 2019-07-07 11:15:55 +02:00
zadam a912b2f23d choose port dynamically from range based on environment 2019-07-07 10:49:34 +02:00
zadam 36b581489c saving selections adds to the existing date note instead of creating new one each time 2019-07-06 23:54:48 +02:00
zadam 976684a3a8 save note in clipper 2019-07-06 16:48:06 +02:00
zadam 093dfb4a39 Merge branch 'stable' 2019-07-06 13:14:46 +02:00
zadam ddf381f92d fixed duplicated notes after creating into a folder which wasn't yet loaded 2019-07-06 13:14:33 +02:00
zadam 2b44f3bc76 fixed websocket reconnection 2019-07-06 12:03:51 +02:00
zadam 7b1fdfabf8 upgrade ckeditor to 12.3.0 2019-07-04 19:53:10 +02:00
zadam 070e8d9647 Merge branch 'stable' 2019-07-03 20:51:34 +02:00
zadam bf3360572a nest code editor instance to avoid visibility issues 2019-07-03 20:37:59 +02:00
zadam e5036318af fix enter on title to the code editor 2019-07-03 20:29:55 +02:00
zadam 6d2394a9da release 0.33.6 2019-07-02 22:26:05 +02:00
zadam 427a266c57 Merge branch 'stable' 2019-07-02 21:56:23 +02:00
zadam 196264b8c2 use bootstrap modal to confirm note deletion which fixes #582 2019-07-02 21:54:37 +02:00
zadam afe24866f0 some debug logging for duplicated nodes 2019-07-02 20:35:06 +02:00
zadam d18a20cc06 fix focus issue from title to the text content with tab/enter 2019-07-02 20:28:57 +02:00
zadam e94669de03 Merge branch 'stable' 2019-07-01 21:36:02 +02:00
zadam 9c91b0459e release 0.33.5 2019-06-30 21:47:04 +02:00
zadam b161db064e choose only desired context menu items 2019-06-30 21:34:19 +02:00
zadam ec4abe0d81 Merge branch 'stable' 2019-06-30 20:15:37 +02:00
zadam af21dd4463 fix mobile text editor display 2019-06-30 20:14:57 +02:00
zadam ef46727870 Merge branch 'stable' 2019-06-30 19:58:56 +02:00
zadam 1ea0d283de fix text instance sometimes remaining displayed when switching to e.g. image 2019-06-30 19:41:26 +02:00
zadam ed380e09c9 context menu WIP 2019-06-30 18:56:46 +02:00
zadam b5daa83d69 upgrades + removal of unused test 2019-06-30 11:22:10 +02:00
zadam c4b957427d implement print, closes #581 2019-06-29 22:57:47 +02:00
zadam 2f3b256272 Merge branch 'stable' 2019-06-29 20:37:51 +02:00
zadam 6e3d8472e1 avoid duplicate key error 2019-06-28 21:50:15 +02:00
zadam 2a9f36a027 fix activating parent note after delete 2019-06-27 22:58:04 +02:00
zadam cf3726289c attempt to fix the duplicate issue 2019-06-27 21:24:25 +02:00
zadam c8e4a5c9e7 release 0.33.4 2019-06-26 21:20:30 +02:00
zadam 3851bedb57 Merge branch 't34' 2019-06-26 21:11:27 +02:00
zadam a3951f1cce make sure autocomplete is closed when navigating to note 2019-06-26 21:08:54 +02:00
zadam 7c77ae758b fix frontend reload again 2019-06-26 20:49:17 +02:00
zadam 20d3d61cec release 0.33.3 2019-06-24 20:47:50 +02:00
zadam 1b831f94a9 fix orphan note autocomplete, closes #569 2019-06-24 20:45:35 +02:00
zadam 3f241553aa fix pngquant for linux-x64 2019-06-24 20:27:28 +02:00
zadam 8624c83108 use 127.0.0.1 instead of localhost, #577 2019-06-24 20:26:28 +02:00
zadam d49cae9cea fix update of window title during note renaming 2019-06-24 20:12:04 +02:00
zadam 174128447b token auth to /login 2019-06-23 21:22:08 +02:00
zadam 5d213eea7e basic webp support 2019-06-23 15:22:05 +02:00
zadam f45e25172b opening links from the clipper 2019-06-23 13:25:00 +02:00
zadam ec87856ef4 save image 2019-06-23 12:16:26 +02:00
zadam 6feb7ad1d5 selection clipping now supports images 2019-06-23 11:25:15 +02:00
zadam 6833e84d55 fix pngquant for linux-x64 2019-06-23 09:10:06 +02:00
zadam 154a575701 cleanup + context menu clip now works 2019-06-22 19:49:48 +02:00
zadam 504b2e2c4a Merge pull request #574 from maurerit/master
Build failed without python for arm
2019-06-21 09:10:17 +02:00
Matt Maurer 2c5292222f Build failed without python for arm 2019-06-20 23:45:31 +00:00
zadam 989da8877b added link map 2019-06-20 10:20:44 +02:00
zadam 70591eadd5 release 0.33.2-beta 2019-06-20 09:39:11 +02:00
zadam fead3cd7ad fix note export/import/branch prefix to use right-clicked note as opposed to current active 2019-06-20 09:37:18 +02:00
zadam a7cf3cdf05 fix unloading protected session after the timeout, fixes #571 2019-06-19 22:23:55 +02:00
zadam 5372f71faa hide menu bar 2019-06-19 20:45:19 +02:00
zadam 3b76939f17 distinction between unfocused active and hovered node - unfocused active has dashed border 2019-06-17 22:30:26 +02:00
zadam c827d38f39 when single note is selected and it's the same that was right clicked for context menu, then we treat it as no-selection action 2019-06-17 22:25:22 +02:00
zadam 1e7586fae4 context menu items are now disabled when there are selected notes and the item does not support actions on multiple items 2019-06-17 20:34:00 +02:00
zadam ee89111bfb fix clipboard operation for single nodes 2019-06-16 18:07:22 +02:00
zadam 288b3077b2 context menu items are now disabled when there are selected notes and the item does not support actions on multiple items 2019-06-16 12:06:06 +02:00
zadam 5c1922ac9f release 0.33.1-beta 2019-06-16 11:13:37 +02:00
zadam 93f1d46104 fix tree activation/focus after deleting node 2019-06-16 11:12:07 +02:00
zadam c5daaf541a active note has also border to make it more prominent 2019-06-16 10:53:30 +02:00
zadam 12b17b1e9e fix ctrl+. to switch focus to note tree 2019-06-16 10:41:22 +02:00
zadam ad46ba7d0f fix fancytree navigation bug before official release, use unminified build in the meantime 2019-06-16 09:44:23 +02:00
zadam 44f592c6cb fix reload 2019-06-16 09:15:37 +02:00
zadam 943b35fb7d fix delete with keyboard and context menu regarding the selection 2019-06-13 22:55:06 +02:00
zadam f1967fd466 fix unhoisting note 2019-06-13 22:45:55 +02:00
zadam ce2404b18a add link to link map to README 2019-06-12 22:10:05 +02:00
zadam cdd53a39f1 release 0.33.0-beta 2019-06-12 21:45:05 +02:00
zadam c646019536 ignore electron error 2019-06-12 21:44:33 +02:00
zadam c8049f0efe small fixes 2019-06-12 19:59:52 +02:00
zadam f2c497049b node updated to 12, electron to 6 2019-06-11 21:56:21 +02:00
zadam d713274ae2 link map tweaks 2019-06-11 21:52:00 +02:00
zadam a72eeb9a98 check sync version before setting up the sync, fixes #559 2019-06-11 20:42:06 +02:00
zadam 41cdd5c640 npm updates 2019-06-10 23:00:50 +02:00
zadam 4cde65d171 close currently active dialog if a different one is activated 2019-06-10 22:45:03 +02:00
zadam 27659805f6 redesign of drag & drop, separation of active, focused and active notes in the tree, fixes #565 2019-06-10 21:47:08 +02:00
zadam 8ab081a3fd configuration of displayed link types + max number of links 2019-06-10 14:33:59 +02:00
zadam ccbb2e2e12 link map visual tweaks 2019-06-10 11:22:52 +02:00
zadam 2bf2ec5a6c link map WIP 2019-06-09 21:48:30 +02:00
zadam 4329675c60 dynamic display of link map 2019-06-09 19:18:14 +02:00
zadam 412b0377e9 added panzoom to link map 2019-06-09 11:50:11 +02:00
zadam 69e48ff4d7 fix links table reference 2019-06-09 11:16:00 +02:00
zadam 4cacd1dfa2 Merge branch 'stable'
# Conflicts:
#	libraries/ckeditor/ckeditor.js
#	libraries/ckeditor/ckeditor.js.map
2019-06-09 10:20:45 +02:00
zadam 0c8ad1b46e disable media embed in ckeditor, fixes #564 2019-06-09 09:58:25 +02:00
zadam d3ac7b0939 fix disappearing expander in some cases, closes #562 2019-06-07 22:37:10 +02:00
zadam e0306d4ad7 ckeditor upgraded to 12.2.0 2019-06-06 21:33:59 +02:00
zadam 1f3d726048 Merge branch 'stable'
# Conflicts:
#	package-lock.json
2019-06-06 21:24:25 +02:00
zadam f3ed7e936d focus input on shown modal in branch prefix dialog, fixes #560 2019-06-06 21:16:12 +02:00
zadam 547ad7221d release 0.32.4 2019-06-05 22:53:34 +02:00
zadam 97a258c0c6 include sync version in sync seed request, #559 2019-06-05 22:50:03 +02:00
zadam 19a154c2f4 fix direct migration from 0.30 to 0.32, closes #557 2019-06-05 22:07:12 +02:00
zadam b389ec5ea3 enter/leave protected session button is not refreshed after entering from note detail (not dialog), fixes #555
(cherry picked from commit 0a0663be69)
2019-06-05 21:42:58 +02:00
zadam 412375e92f import should recognize all suported code note file types, fixes #554 2019-06-05 21:27:07 +02:00
zadam 4b96ada781 link map WIP 2019-06-04 22:57:10 +02:00
zadam 87b16f3325 link map WIP 2019-06-03 22:55:59 +02:00
zadam 0a0663be69 enter/leave protected session button is not refreshed after entering from note detail (not dialog), fixes #555 2019-06-03 20:36:37 +02:00
zadam 7eed076674 link router/loading 2019-06-02 17:12:18 +02:00
zadam b5143c152b link map empty dialog 2019-06-02 15:35:57 +02:00
zadam 6ef8a4c018 Merge branch 'next'
# Conflicts:
#	package.json
2019-06-02 15:22:15 +02:00
zadam ebd26f85bd release 0.32.3 2019-06-02 14:04:32 +02:00
zadam fbfb7b3b30 sync endpoints should not set csrf cookie, #541 2019-06-02 13:52:31 +02:00
zadam cfb313b60e sync endpoints should not set csrf cookie, #541 2019-06-02 13:47:59 +02:00
zadam 54e37dea20 codemirror updated to 5.47.0 2019-06-02 09:59:07 +02:00
zadam 5b14358620 fix folder status rendering issues when opening not-yet-loaded notes 2019-06-01 20:54:39 +02:00
zadam c4669cbaa3 fallback to display empty tab if the requested note doesn't exist anymore 2019-06-01 20:32:11 +02:00
zadam 74b41c9911 tree reloads should preserve activated node, fixes #552 2019-06-01 14:12:27 +02:00
zadam d08a36174d attribute sync should trigger note reload, fixes #551 2019-06-01 12:14:09 +02:00
zadam e845b80e10 fancytree upgrade to 2.31.0 2019-05-31 18:50:41 +02:00
zadam b0303ef529 updated sqlite binaries for electron 6 / node 12 2019-05-31 18:46:23 +02:00
zadam 68f67ec6ee package upgrades 2019-05-31 18:39:18 +02:00
zadam 20ae67f510 Merge branch 'master' into next
# Conflicts:
#	package-lock.json
#	package.json
2019-05-31 18:30:16 +02:00
zadam 237749e4af make recent notes dialog scrollable 2019-05-30 20:58:01 +02:00
zadam 15f4782947 make node activation after load clearer 2019-05-30 20:55:39 +02:00
zadam d48efd1925 FIXME 2019-05-29 23:34:23 +02:00
zadam 883d726622 release 0.32.2-beta 2019-05-29 23:14:59 +02:00
zadam 0a0cac5f41 added extra logging for debugging CSRF issues 2019-05-29 23:13:15 +02:00
zadam 012a18be00 put tabContext into frontend script API 2019-05-29 21:48:48 +02:00
zadam 890c00d4ba make frontendStartup event deterministic after the tree and tabs are loaded, fixes #543 2019-05-29 21:10:28 +02:00
zadam bb43014230 hide search help tooltip on executed search 2019-05-29 20:27:48 +02:00
zadam 53a995fecb fix database anonymization 2019-05-29 19:57:50 +02:00
zadam 8d3262d232 fix setting the title bar when switching note 2019-05-29 19:55:05 +02:00
zadam 373ec4ac50 Merge pull request #542 from spantaleev/exit-on-sigint
Exit on SIGINT
2019-05-29 19:40:04 +02:00
zadam 3fdecee95f fix bug with unresponsive tree after tree reload 2019-05-28 20:22:16 +02:00
Slavi Pantaleev 86b9f5a8b0 Exit on SIGINT
Pressing Ctrl+C used to not exit the application
(at least when running the Docker image).

Explicitly catching the `SIGINT` interrupt signal and exiting
fixes the problem.

We currently make it exit immediately as soon as the signal arrives.

In the future, it may be preferable to do dispatch some event and
try to exit more gracefully (finish any ongoing synchronization work,
etc.)
Still, I think it's better to exit directly than to not do anything at
all, in which case `SIGKILL` is likely to follow and kill the process
even more abruptly.
2019-05-28 13:38:32 +03:00
zadam 873b60b00d release 0.32.1-beta 2019-05-27 21:39:43 +02:00
zadam fc58086f6e fix super long line in code editor blowing up / overflowing the content grid cell width 2019-05-27 21:02:09 +02:00
zadam 40cec31099 schema update 2019-05-27 19:34:18 +02:00
zadam 33733d3ab7 use node 12 for server/docker builds 2019-05-27 19:12:34 +02:00
zadam f08bf0be15 upgrade to electron 6.0.0-beta.4 2019-05-23 19:59:23 +02:00
zadam 296cb7236f Merge branch 'stable'
# Conflicts:
#	package.json
#	src/services/build.js
2019-05-23 19:32:04 +02:00
zadam d614967d62 release 0.32.0-beta 2019-05-22 22:28:35 +02:00
zadam 35648b9f37 fix protected shield background visibility 2019-05-22 22:26:55 +02:00
zadam 494a980ecb fixes for drag & create new note in relation map 2019-05-22 22:22:29 +02:00
zadam 810aa8c2fb tab height tweak 2019-05-22 22:09:53 +02:00
zadam 027b3eaed8 fix tab dragging issue 2019-05-22 21:59:14 +02:00
zadam dedc1e708f fix redirect after login 2019-05-22 21:25:13 +02:00
zadam 79956b5676 mobile web fixes 2019-05-22 20:53:59 +02:00
zadam 48b1aece4d fix history navigation 2019-05-21 22:35:01 +02:00
zadam eee75bd2e8 fix node focus after hoisting 2019-05-21 22:07:08 +02:00
zadam 29828f8e8f fix recent notes (db & sync version increase) 2019-05-21 21:47:28 +02:00
zadam ced02b42b5 new card for tab operation in built-in help 2019-05-21 20:43:03 +02:00
zadam 3fe9218ea8 refactoring/cleanup 2019-05-21 20:24:40 +02:00
zadam ff5ea8b311 style change to active tab 2019-05-21 19:54:57 +02:00
zadam 32fae5e9e8 same note in different tabs are synced 2019-05-20 22:25:04 +02:00
zadam 48b4488a58 deleting a note will close all tabs containing the note 2019-05-20 21:50:01 +02:00
zadam aead6a44de render notes should now return elements to append instead of modifying DOM directly 2019-05-19 21:52:28 +02:00
zadam f59f08fa0e fix note paths 2019-05-19 21:22:35 +02:00
zadam 119d7367da tree fixes 2019-05-19 18:21:29 +02:00
zadam ddb99a0917 ctrl+enter should work only on tab detail 2019-05-19 16:56:16 +02:00
zadam ecfba95841 calendar root can now have datePattern and monthPattern to define the names 2019-05-19 11:30:17 +02:00
zadam 597eb5a300 ctrl+alt+p will create new note in a new tab 2019-05-19 10:46:19 +02:00
zadam f3e7e6bbe7 fix render note attributes 2019-05-19 10:30:00 +02:00
zadam 722380e7b8 fix access to editor instance if active note is not text 2019-05-19 09:13:13 +02:00
zadam 8c46e96397 tab styling tweaks 2019-05-19 08:47:00 +02:00
zadam f22cc37df7 middle click can now open links in new tab (and close tab) 2019-05-15 21:50:27 +02:00
zadam dd1fc23fe8 work on hash & history 2019-05-14 22:29:47 +02:00
zadam f9f4148e8c release 0.31.6 2019-05-13 23:12:12 +02:00
zadam 2178f82324 fixes to mobile version (WIP) 2019-05-13 23:08:59 +02:00
zadam 79d779dee8 setup cssClass for both note tab and content, #524 2019-05-13 22:08:06 +02:00
zadam 93c0469aa0 Merge branch 'stable'
# Conflicts:
#	src/public/javascripts/dialogs/add_link.js
2019-05-13 21:42:52 +02:00
zadam 81d10fa605 fix focusing the text editor component after adding a link, closes #523 2019-05-13 21:13:04 +02:00
zadam 75ef766649 fix retrieving "many rows", closes #525 2019-05-13 20:40:00 +02:00
zadam fab8b77794 configurable hiding of tab row for one tab 2019-05-12 21:45:30 +02:00
zadam 8b030a2323 new tab now has note autocomplete 2019-05-12 17:28:20 +02:00
zadam 14c420b782 new tab infrastructure 2019-05-12 12:58:55 +02:00
zadam 637547a3fa add new tab button, WIP 2019-05-12 10:59:53 +02:00
zadam c39c1baa4d further simplification 2019-05-12 10:21:27 +02:00
zadam b9edd0ecc7 tabs simplification 2019-05-12 10:11:41 +02:00
zadam 2dec8f1ad6 hoisting note now seems to work correctly in relation to tabs 2019-05-11 21:27:27 +02:00
zadam bd97df5ee9 refactored chrome tabs into "tab row" 2019-05-11 19:44:58 +02:00
zadam 8a501521e8 some refactoring etc. 2019-05-11 19:27:33 +02:00
zadam be68391c37 store "openTabs" session 2019-05-10 21:43:40 +02:00
zadam 89d4be504d tree active note now follows switched tabs (without changing scroll position) 2019-05-09 21:30:08 +02:00
zadam 0a2acbe4be npm package upgrades 2019-05-08 20:19:31 +02:00
zadam a7a42ff4af use notePath in tabContext 2019-05-08 20:14:41 +02:00
zadam bacf163c96 NoteContext => TabContext 2019-05-08 19:55:24 +02:00
zadam db7e083a21 ctrl-click opens new tab 2019-05-08 19:10:45 +02:00
zadam 8eaf44735a context menu on link to open in new tab 2019-05-07 22:33:53 +02:00
zadam bfc61f8b36 tab bar is automatically hidden for only one tab 2019-05-07 22:14:35 +02:00
zadam 4ea27e604f context menu on tab and "close all except for this tab" 2019-05-07 21:34:01 +02:00
zadam aef0e552a0 ctrl+tab and ctrl+shift+tab can be used to switch tabs 2019-05-07 21:04:07 +02:00
zadam d36bff2a97 protected session in a dialog now works, proper reloading 2019-05-05 20:45:07 +02:00
zadam 61696f0287 protected session in a component now works 2019-05-05 19:48:30 +02:00
zadam 9a97fe09ee note actions now work again 2019-05-05 18:24:59 +02:00
zadam b1d0cef33b tabs WIP 2019-05-05 10:59:34 +02:00
zadam 7f0c92c56b attributes and children overview working again 2019-05-04 22:44:25 +02:00
zadam b21568806a Merge branch 'stable' into tabs 2019-05-04 20:49:42 +02:00
zadam 80fb89b794 release 0.31.5 2019-05-04 20:25:14 +02:00
zadam 47d28b4eef fix protecting files/images 2019-05-04 16:05:28 +02:00
zadam a9762c5139 fix incorrect switch between protected/unprotected states causing content not being encrypted, fixes #510 2019-05-04 14:46:17 +02:00
zadam 32439ed006 tabs WIP 2019-05-04 14:34:03 +02:00
zadam ff41904d72 convert more note details to new style 2019-05-04 00:16:41 +02:00
zadam 39093cbc4c basic opening and switching tabs 2019-05-03 21:50:14 +02:00
zadam c7b5784123 context menu refactoring 2019-05-03 20:27:38 +02:00
zadam 3e22804a76 Merge branch 'stable' into tabs 2019-05-03 19:59:47 +02:00
zadam 7ce98b0b28 release 0.31.4 2019-05-02 22:25:48 +02:00
zadam 0d11cadc18 tabs wip 2019-05-02 22:24:43 +02:00
zadam 63ab82a076 tabs wip 2019-05-01 23:06:18 +02:00
zadam 7e03f14e01 tabs wip 2019-05-01 22:19:29 +02:00
zadam c9183f8bd4 #note-detail-wrapper => .note-tab-content 2019-05-01 10:17:17 +02:00
zadam bc2d1f1ef9 changes in grid for tabs 2019-05-01 09:52:45 +02:00
zadam e7c053d273 split out themes.css 2019-05-01 08:57:44 +02:00
zadam 3ccf553fda initial experiments with tabs 2019-04-30 22:31:12 +02:00
zadam 6d2eb7b187 fix paragraph button overflowing over text, closes #502 2019-04-29 21:52:28 +02:00
zadam 7234324112 dropdowns and buttons now respect main font sizing 2019-04-29 21:31:19 +02:00
zadam 8205cdc288 fix creation of top level note, closes #501 2019-04-29 21:18:12 +02:00
zadam 29931bbddf release 0.31.3 2019-04-28 22:58:27 +02:00
zadam 68cd4c9a31 focused cell background tweak 2019-04-28 22:02:24 +02:00
zadam f4b986e1c1 added global menu item for fullscreen toggle 2019-04-28 21:59:29 +02:00
zadam c0496ebef3 f11 can now toggle Trilium window to/from fullscreen 2019-04-28 21:52:25 +02:00
zadam 6aa30a4c74 steel blue theme updated with link color 2019-04-28 21:43:56 +02:00
zadam 3035a948b9 less hacky way to implement distraction free mode which also fixes scrollbar 2019-04-28 21:24:13 +02:00
zadam 7880cf62fe open links from render note 2019-04-28 17:44:00 +02:00
zadam ff76ba7d1b better theming of CKEditor through CSS variables (mostly) 2019-04-28 17:37:28 +02:00
zadam 06be593fe4 crash if the DB has newer version than the application 2019-04-23 21:27:45 +02:00
zadam 91e3eb8ae7 create "series" docker tag 2019-04-23 20:20:42 +02:00
zadam f7dd3558a7 release 0.31.2-beta 2019-04-22 22:53:04 +02:00
zadam eac5ec6e26 added searchForNote(s) also to frontend API 2019-04-22 22:52:09 +02:00
zadam f273b4334e implemented @limit for search 2019-04-22 18:08:33 +02:00
zadam 15eaf67189 fix broken history navigation 2019-04-22 17:13:24 +02:00
zadam 983d9c4319 fix merge issue 2019-04-22 17:05:04 +02:00
zadam a88a00b60e Merge branch 'stable'
# Conflicts:
#	package-lock.json
#	package.json
#	src/public/javascripts/services/note_detail_file.js
#	src/services/build.js
2019-04-22 16:29:16 +02:00
zadam a44f43b133 release 0.30.8 2019-04-22 15:02:39 +02:00
zadam 69677b15fe fix broken file download 2019-04-22 15:01:05 +02:00
zadam 2573c3b8a6 sync frontend dayjs to 1.8.12 2019-04-22 14:15:30 +02:00
zadam 0b0e9f2953 from now on, "latest" docker tag won't point to beta releases, closes #476 2019-04-21 12:48:16 +02:00
zadam 1990c9399e removed FTS5 completely 2019-04-21 12:03:13 +02:00
zadam 151641b659 fulltext search now doesn't use FTS5, closes #489 2019-04-21 11:54:13 +02:00
zadam 36c6376220 create trilium data directory if it doesn't exist, closes #491 2019-04-21 09:05:55 +02:00
zadam f0e22b70f6 tree reload doesn't necessarily re-activates the note 2019-04-20 21:14:48 +02:00
zadam 225e893461 fix closing of tooltips 2019-04-20 09:39:39 +02:00
zadam 064a11d872 don't allow deleting hoisted note + other related fixes, closes #488 2019-04-16 21:40:04 +02:00
zadam 3760835608 added noscript to make it clear that Trilium requires JavaScript 2019-04-15 21:30:26 +02:00
zadam e7ac2ec4ed add noscript to setup 2019-04-15 21:28:21 +02:00
zadam 8da8dfc543 if the resized and optimized image is larger than original, then keep the original 2019-04-15 21:12:47 +02:00
zadam 6b3c8b4bac Merge remote-tracking branch 'origin/master' 2019-04-15 21:08:38 +02:00
zadam 25fe78012f upgrade to ckeditor 12.1.0 which fixes some upload issues 2019-04-15 21:08:31 +02:00
zadam 147d79c65c release 0.31.1-beta 2019-04-14 21:18:22 +02:00
zadam 6fddd2bd62 Merge pull request #485 from fbartels/docker-compose
add example docker-compose
2019-04-14 20:22:55 +02:00
zadam 77c9b64dc7 re-enable animation for expanding since it seems to fix fancytree rendering glitches 2019-04-14 19:43:44 +02:00
zadam 47cb7c7f5e not refreshing tree after sort operation because it messes with everything ... 2019-04-14 18:32:56 +02:00
zadam 1bd769827d faster opening of the date notes (no animation) 2019-04-14 18:16:15 +02:00
Felix Bartels 288ec88c2f add example docker-compose
Signed-off-by: Felix Bartels <felix@host-consultants.de>
2019-04-14 15:24:35 +02:00
zadam 71916b5e28 empty icon for some menu actions do de-emphasize less important items 2019-04-14 13:51:21 +02:00
zadam b2d4330692 added button for reloading frontend 2019-04-14 12:48:50 +02:00
zadam 253a6ef081 added date note APIs to frontend script API 2019-04-14 12:24:48 +02:00
zadam e1e020c1a4 more reliable reimplementation of "create day sub note" 2019-04-14 12:18:52 +02:00
zadam 2b4413a1bd exposing tree cache methods to reload note's parents/children to frontend API 2019-04-13 22:56:45 +02:00
zadam dae674a7cd tree cache reloading 2019-04-13 22:10:16 +02:00
zadam 751bf94758 don't change sourceId for script execution which forces full tree reloads because it is annoying 2019-04-13 19:45:50 +02:00
zadam 4b934a4a81 fix sync / fulltext issue 2019-04-13 19:34:19 +02:00
zadam 7e374e795b fill sync rows to fix sync issues 2019-04-13 10:30:16 +02:00
zadam be378f71b0 sync checks for note_contents 2019-04-13 10:13:47 +02:00
zadam 27f74489fd fix login/logout redirects when not in the document root 2019-04-11 22:04:36 +02:00
zadam ae8f4ffbbe minor sync fix for fulltext 2019-04-11 21:44:35 +02:00
zadam 896776516b fix in page search in browser (didn't appear after ctrl+f) 2019-04-09 21:16:18 +02:00
zadam a27525af9e frontend API additions 2019-04-09 21:13:47 +02:00
zadam 83b4382787 missing cert and key error message 2019-04-08 20:08:29 +02:00
zadam ef1b32d586 search error handling & sanitize input for default fulltext 2019-04-02 22:52:42 +02:00
zadam fe3a0bc756 new find-in-page dialog (using electron-find) which actually works 2019-04-02 21:44:56 +02:00
zadam 2259e1d44d make sure to wait for DB connection to be up before starting ... 2019-04-02 19:42:41 +02:00
zadam 9ca4a016eb fix linux server build 2019-04-01 23:11:06 +02:00
zadam 2978a262f7 release 0.31.0-beta 2019-04-01 21:50:32 +02:00
zadam f47f3461e6 show local date in revisions dialog + make it larger 2019-04-01 21:49:27 +02:00
zadam 06202c31e4 note info shows local date instead of utc date 2019-04-01 21:43:45 +02:00
zadam 925dc258a6 fix menu text color in dark themes 2019-04-01 21:38:21 +02:00
zadam 3670800a51 set cookie header only for electron calls 2019-04-01 21:18:11 +02:00
zadam 90a331b989 some style fixes and refactoring for tree context menu 2019-04-01 21:11:20 +02:00
zadam a4c8bdeda2 fix decryption of protected note revisions 2019-03-31 22:54:38 +02:00
zadam 5bda254184 allow searching with noteId & fix combining fulltext and other conditions with OR 2019-03-31 22:23:50 +02:00
zadam 26621c0318 short search help in the tooltip 2019-03-31 21:19:10 +02:00
zadam c6806256fd import doesn't need a full tree reload 2019-03-31 19:13:17 +02:00
zadam f00e1235f9 tar import can now process files with out of order directories 2019-03-31 18:53:29 +02:00
zadam 51bede6541 fix detection of sync connection issue with new error code 2019-03-31 18:36:12 +02:00
zadam 75dbaa4b77 fix csrf protection on electron build 2019-03-31 12:49:42 +02:00
zadam bec6576620 fix note cleanup 2019-03-31 11:27:19 +02:00
zadam 44551e0e8c electron build now waits for the migration before opening the window 2019-03-31 11:21:44 +02:00
zadam 67553cb40e fix ordering of note migrations 2019-03-30 22:20:18 +01:00
zadam 7cafbda7cd migration for inconsistent isProtected status across notes and note_contents 2019-03-30 22:12:18 +01:00
zadam 9a5a085103 Merge branch 'stable'
# Conflicts:
#	package-lock.json
#	src/public/javascripts/services/server.js
#	src/services/app_info.js
#	src/services/notes.js
2019-03-30 22:11:03 +01:00
zadam cdb17ae937 release 0.30.7 2019-03-30 20:13:53 +01:00
zadam c240fb9896 migration for inconsistent isProtected status across notes and note_contents 2019-03-30 20:09:38 +01:00
zadam 4b41eddf44 fix creating note directly as protected 2019-03-30 19:24:53 +01:00
zadam b51ac112a2 fix loading of protected session in electron, #469 2019-03-30 18:00:08 +01:00
zadam a1ac609b34 search input tooltip WIP 2019-03-30 17:41:53 +01:00
zadam 66e2a12f3d rename "current" to "active" based on recent refactorings 2019-03-30 10:15:19 +01:00
zadam 9f69294f7f Merge pull request #466 from capi/ctrl-shift-l
Add Ctrl+Shift+L to pre-select "add to note"
2019-03-30 10:13:31 +01:00
zadam a5fc8d5329 moved libraries and images out of src folder 2019-03-30 09:39:58 +01:00
zadam 7bbf797caf saved search note now has refresh button, closes #369 2019-03-30 00:12:32 +01:00
zadam f479c0e10e when note is created, it's automatically present in all cloned parents as well 2019-03-29 23:55:28 +01:00
zadam 0f32154b91 Merge remote-tracking branch 'origin/stable'
# Conflicts:
#	src/public/javascripts/services/context_menu.js
2019-03-29 23:37:36 +01:00
zadam f2019ee5f9 slightly nicer search detail 2019-03-29 23:28:41 +01:00
zadam 89b8e2bb08 redesign of search input. Saved search is now saved under active note and doesn't need page reload 2019-03-29 23:24:41 +01:00
zadam 8fb6edad67 fix consistency checks for fulltext 2019-03-29 22:08:04 +01:00
zadam c2e3a3fe04 release 0.30.6 2019-03-28 23:17:24 +01:00
zadam b2052a6ccd release 0.30.6 2019-03-28 23:01:52 +01:00
zadam a07479cd5a release 0.30.6 2019-03-28 22:49:34 +01:00
zadam 3820384f51 release 0.30.6 2019-03-28 22:35:43 +01:00
zadam 0610576e5a 0.30.6 2019-03-28 22:35:36 +01:00
zadam efac7701eb release 0.30.6 2019-03-28 22:31:59 +01:00
zadam 905eb303bc fix protected note switching 2019-03-28 21:17:40 +01:00
zadam 27cee1cf33 fix closing of context menu on FF66, closes #468
(cherry picked from commit 3c56d29fca)
2019-03-28 20:57:11 +01:00
zadam 3c56d29fca fix closing of context menu on FF66, closes #468 2019-03-28 20:54:17 +01:00
zadam 946dae72d9 implemented consistency check for note fulltext based on hashes 2019-03-27 21:27:29 +01:00
zadam 58f71c7300 some design explanations on special handling of content 2019-03-27 21:16:13 +01:00
zadam 07e9013152 content migration fixes 2019-03-27 21:04:25 +01:00
zadam 29c60581a6 yet another refactoring of working with note's payload/content 2019-03-26 22:24:04 +01:00
zadam 4bdcf32475 repository now uses upsert instead of insert/replace 2019-03-25 22:06:17 +01:00
Martin Carpella 44c742e839 Add Ctrl+Shift+L to pre-select "add to note" 2019-03-25 21:09:15 +01:00
zadam 001bd1d004 fix csrf path so that it's valid only for current path and not whole (sub)domain 2019-03-24 23:03:30 +01:00
zadam 6c7e2f0aa1 moved "About" from options dialog to a separate dialog under global menu 2019-03-24 23:01:33 +01:00
zadam 9fc5d328b4 added CSRF protection using csurf express middleware, fixes #455 2019-03-24 22:41:53 +01:00
zadam f6413d095c update schema -> fix creating new database from scratch 2019-03-24 21:06:38 +01:00
zadam d66ad4319e fix focused table cell background color, closes #458 2019-03-24 20:16:05 +01:00
zadam 251fcaeb48 support for superscript and subscript, closes #462 2019-03-24 19:58:13 +01:00
zadam 3311c6336c exposed searchForNotes to backend script API 2019-03-20 22:51:13 +01:00
zadam fc13e1fa6a added possibility to search by attached script returning note ids + some refactorings 2019-03-20 22:28:54 +01:00
zadam 9ca680f842 handle empty search note 2019-03-20 21:01:00 +01:00
zadam 616829464f refactoring of context menu items, got rid of ContextMenuItemsContainer 2019-03-19 22:56:37 +01:00
zadam 0267468cd5 deleting without reloading the whole tree (at least on frontend) 2019-03-18 23:03:41 +01:00
zadam ca0d17d93a cloning is now done without reloading the whole tree 2019-03-18 22:33:19 +01:00
zadam 3f656ea76f refactoring and fix icon assignment 2019-03-18 22:10:10 +01:00
zadam 1faf2c6ecd fixes for some note moving edge cases, closes #454 2019-03-18 21:59:53 +01:00
zadam 33f2aaa650 note type context submenu now works end to end 2019-03-17 12:19:23 +01:00
zadam 177caec011 note type context submenu WIP 2019-03-17 11:38:27 +01:00
zadam 62650a4545 refactoring of router search code into service 2019-03-16 22:19:01 +01:00
zadam 81dc907afc ordering of search results 2019-03-16 20:52:21 +01:00
zadam 3ee33e1024 refactoring of joins for search 2019-03-16 19:57:39 +01:00
zadam 2326eb85f1 filter reimplementation, WIP 2019-03-16 16:52:58 +01:00
zadam 0885e60b80 removed obsolete isoDateXXX API methods 2019-03-14 20:49:10 +01:00
zadam ef40c66344 renamed currentNote to activeNote to be consistent with frontend API 2019-03-14 20:21:27 +01:00
zadam 0d0464549f notes are now created with correct local dates 2019-03-13 22:43:59 +01:00
zadam b68b0fe783 Merge branch 'master' into dev31 2019-03-13 21:53:41 +01:00
zadam b4c6d9f800 using now session cookies to store protectedSessionId 2019-03-13 21:53:09 +01:00
zadam 24c8b39d8e release 0.30.5 2019-03-12 22:21:35 +01:00
zadam 0144dc12df current note as in note loaded into right pane is now called "active note" in frontend API 2019-03-12 21:52:19 +01:00
zadam 65684550a8 updated API docs 2019-03-12 21:42:27 +01:00
zadam 6d09931a39 add getCurrentNote() frontend API, #444 2019-03-12 21:39:35 +01:00
zadam 1c41d459f0 renamed dates in code as well 2019-03-12 20:58:31 +01:00
zadam f65fefe7b1 migration utc dates 2019-03-11 22:58:44 +01:00
zadam 0a906b5663 updated db schema 2019-03-11 20:36:19 +01:00
zadam dd9b7bbbb5 fix fulltext search 2019-03-11 19:50:13 +01:00
zadam d25a1e3ed9 initial work on note fulltext (schema changes, updating...) 2019-03-10 17:02:23 +01:00
zadam 05374becfd Merge branch 'master' into dev31 2019-03-10 10:11:01 +01:00
zadam 37d2a7939c fix background/border on quick help dialog, closes #440 2019-03-09 18:57:21 +01:00
zadam a432ad7483 fix isProtected consistency for images and files + related consistency check 2019-03-08 22:25:12 +01:00
zadam ae17e4dc60 release 0.30.4 2019-03-07 22:40:05 +01:00
zadam 02eddc347a fix export of protected notes to tar archive, fixes #432 2019-03-07 22:00:23 +01:00
zadam ee58bf3d5c fix bundle execution error handling 2019-03-07 20:51:55 +01:00
zadam ecbaffa5f3 return focus back to note detail after quitting add link dialog 2019-03-07 20:45:32 +01:00
zadam fe86c09f22 make sure date label is always created with YYYY-MM-DD and not the rest of date time 2019-03-05 20:49:39 +01:00
zadam c8e01d6cce pretty print JSON into note content 2019-03-05 20:44:50 +01:00
zadam fd0bd5dd00 small fixes 2019-03-05 20:38:31 +01:00
zadam cd6d4fb527 Merge pull request #420 from jkurei/master
Querying by dateCreated and dateModified virtual attributes
2019-03-05 19:47:17 +01:00
zadam 8ed6851e85 fix image upload for ckeditor v12 2019-03-04 22:58:47 +01:00
zadam a6fd3bfb00 placeholder for note content 2019-03-04 22:39:44 +01:00
zadam 610dd8a783 upgrade to ckeditor 12.0.0 2019-03-04 22:36:46 +01:00
zadam 7c404f03db unused param 2019-03-04 22:18:27 +01:00
zadam ed1cf6aad5 fix passing of startNote and originEntity to backend script API 2019-03-04 21:17:34 +01:00
zadam 9703fd61e2 protected note's shield background now looks better on the dark themes 2019-03-04 20:53:57 +01:00
zadam 16790e388b recent changes should show titles of protected notes correctly when in protected session 2019-03-04 20:44:20 +01:00
zadam b48474998b release 0.30.3-beta 2019-03-03 20:47:50 +01:00
zadam 95d8f07458 debugging info for image shrinking 2019-03-03 20:41:03 +01:00
zadam e628c30c89 fix OPML export to include correct OPML version 2019-03-03 19:43:30 +01:00
zadam 52a8aae74f moved test enex files to separate repo 2019-03-03 19:40:47 +01:00
zadam 54b5898582 detect mime types from the filename instead of relying on upload mime type 2019-03-03 00:25:31 +01:00
zadam 64974d75d5 added sync fill for note_contents 2019-03-02 19:59:32 +01:00
zadam bd118027fb note content is also part of hash check 2019-03-02 12:40:46 +01:00
zadam 36de217835 release 0.30.2-beta 2019-02-28 22:33:33 +01:00
zadam b5283d58bb nicer underlining under tooltip items 2019-02-28 22:32:54 +01:00
zadam 8414d97ffa improve logging a little bit 2019-02-27 22:15:52 +01:00
zadam 9f30d4e673 fix image caption editing (#422) 2019-02-26 22:59:38 +01:00
zadam 8e0d1fa0df better contrast of links on the dark theme 2019-02-26 22:51:33 +01:00
zadam 5b251b9977 added drag & drop files on note detail 2019-02-26 21:37:15 +01:00
zadam 8b3e721028 added "explodeArchives" option to the import dialog 2019-02-25 22:38:48 +01:00
zadam 7e2a2baa5d drag & drop now uses import code 2019-02-25 22:28:15 +01:00
zadam 003eed368b unify markdown mime to text/x-markdown 2019-02-25 21:57:11 +01:00
zadam 4b1cf05c0e import images 2019-02-25 21:22:57 +01:00
zadam d9429c4f4b import plain text file as text/html 2019-02-24 13:10:47 +01:00
zadam b7bd94b6b0 switchable image shrinking 2019-02-24 12:25:34 +01:00
zadam 51bbc10744 switchable image shrinking 2019-02-24 12:24:28 +01:00
zadam fb5df33ee7 new import options in the dialog, tooltips 2019-02-24 11:36:01 +01:00
zadam d8ba0ccd7d use formdata to pass text arguments during import instead of request path 2019-02-24 09:56:00 +01:00
zadam 886ea6c68c allow import of multiple files at the same time 2019-02-24 09:34:50 +01:00
jkurei ec384fafce Querying by dateCreated and dateModified virtual attributes 2019-02-24 01:34:23 +01:00
zadam 936f85c09e drag & drop multi file upload to note tree 2019-02-23 20:33:27 +01:00
zadam b25deea21d fixes for relative paths 2019-02-22 23:03:20 +01:00
zadam cf5ec44303 another fix for debian package upload 2019-02-20 23:22:04 +01:00
zadam 6f956c2415 release 0.30.1-beta 2019-02-20 23:08:36 +01:00
zadam 3533160bef fix initial document setup 2019-02-20 23:07:57 +01:00
zadam 60cbfdcabd update API docs 2019-02-20 22:24:51 +01:00
zadam 604f036a54 fix debian package upload 2019-02-20 22:10:19 +01:00
zadam dd4f3ec264 release 0.30.0-beta 2019-02-20 21:58:31 +01:00
zadam ff67b8a0ba initial debian package support 2019-02-20 21:58:23 +01:00
zadam 1d5fb0b646 add possibility to create week note, closes #416 2019-02-19 22:49:57 +01:00
zadam 80931a318f exposing APIs to get month and year note, #416 2019-02-19 21:29:41 +01:00
zadam 16f16cb36a fixed API for Trilium Sender, closes #415 2019-02-19 21:24:35 +01:00
zadam 899f24cde5 minor node upgrades 2019-02-17 22:56:33 +01:00
zadam 9f29521ab8 disable caching of note autocomplete for more accurate results 2019-02-17 20:59:52 +01:00
zadam c1ce0c6b22 avoid various HTTP server issues with slashes by putting notePath into the body with POST 2019-02-17 20:49:51 +01:00
zadam a7fce33750 OPML v2 export 2019-02-16 23:58:42 +01:00
zadam 6fd8e73150 UI for export of OPML v2, WIP 2019-02-16 23:33:40 +01:00
zadam 1359dd86c2 OPML 2 import, closes #298, #286 2019-02-16 22:13:29 +01:00
zadam a1b610fc50 full screen help dialog 2019-02-16 19:42:58 +01:00
zadam c849d719e9 styling for external links 2019-02-16 18:49:57 +01:00
zadam 96de2e7008 fixed saved search 2019-02-15 21:21:26 +01:00
zadam f140b77e7c fix migration script 2019-02-15 21:10:00 +01:00
zadam 22228de63b sync changes for note content 2019-02-15 00:15:09 +01:00
zadam b0596c9eb2 removed noteId display in the note detail, #408 2019-02-14 20:57:56 +01:00
zadam 2a2319d434 created note info dialog, closes #408 2019-02-14 20:56:33 +01:00
zadam dad47d115f fixes for SQL console schema view 2019-02-13 23:27:00 +01:00
zadam 502026359c help page, closes #273 2019-02-13 23:06:11 +01:00
zadam 47b0e4e4d3 Save electron window size and position, closes #186 2019-02-12 22:42:40 +01:00
zadam 6c927d9159 Merge remote-tracking branch 'origin/note-content' 2019-02-12 21:14:42 +01:00
zadam ddc79b2517 release 0.29.1 2019-02-12 20:30:07 +01:00
zadam 4c2e12d2cb upgrade to bootstrap 4.3.0 2019-02-12 20:26:28 +01:00
zadam 14f7a8b7b9 safe import implementation 2019-02-11 23:45:58 +01:00
zadam caa7dd9619 prettier progress count 2019-02-10 22:56:14 +01:00
zadam 8aa7e2d0a0 fixes in opml export and note content loading 2019-02-10 22:45:44 +01:00
zadam 6be8a3f343 added progress also to export 2019-02-10 22:30:55 +01:00
zadam a097cefba7 import error handling 2019-02-10 19:53:57 +01:00
zadam e4c78f3887 added ImportContext 2019-02-10 19:36:03 +01:00
zadam 5baa251944 more changes to import reporting through WS 2019-02-10 16:59:50 +01:00
zadam cde68abec9 progress of tar import through WS 2019-02-10 16:36:25 +01:00
zadam 51175e3676 import/export refactorign 2019-02-10 15:33:56 +01:00
zadam 45ddfef30a new import dialog 2019-02-10 14:33:13 +01:00
zadam 1e1d78999e some help dialog content 2019-02-10 12:19:48 +01:00
zadam 92fcd7b345 sql console added to global menu and now has schema info 2019-02-10 10:38:18 +01:00
zadam e04f1cd574 help button with no help dialog yet 2019-02-09 19:48:19 +01:00
zadam 176c3a5d51 added dev tools to global menu 2019-02-09 19:25:55 +01:00
zadam c09570cf39 global menu 2019-02-09 19:17:16 +01:00
zadam 4a093000be note content refactoring, WIP 2019-02-08 21:01:26 +01:00
zadam 6952b643ae note content refactoring, WIP 2019-02-07 22:16:40 +01:00
zadam c487a95bc7 note content refactoring, WIP 2019-02-06 21:29:23 +01:00
zadam 8884177d9f split out note's content into separate entity, WIP 2019-02-06 20:19:25 +01:00
zadam 8b250ed523 fix upload of the same file in succession, #388 2019-02-03 17:44:06 +01:00
zadam d8b78d8025 check reference issues only for non deleted entities 2019-02-03 16:27:26 +01:00
zadam 42112b8053 fix consistency check 2019-02-03 16:22:45 +01:00
zadam 6cc0dd5a80 release 0.29.0-beta 2019-02-03 15:44:19 +01:00
zadam afd5f4823f added Steel Blue theme to demo document 2019-02-03 15:39:27 +01:00
zadam b0cf82c91b fix 2019-02-03 15:37:01 +01:00
zadam 6a67cdd5af appThemeClass is redundant 2019-02-03 15:35:37 +01:00
zadam bad7b84993 error handling in custom request handler 2019-02-03 11:15:32 +01:00
zadam d3ca6b5ae6 styling for scrollbar which looks ugly otherwise in dark themes 2019-02-03 10:21:28 +01:00
zadam da5009f089 main border color CSS variable 2019-02-03 10:09:59 +01:00
zadam c08524c977 fix CSS class of user theme 2019-02-03 00:12:57 +01:00
zadam f89537037e small styling fixes 2019-02-02 23:51:00 +01:00
zadam c153793766 added CSS variable for disabled button background 2019-02-02 23:26:39 +01:00
zadam 0aec5927d5 added missing labels customRequestHandler, customResourceProvider to autocomplete 2019-02-02 22:33:02 +01:00
zadam 8aea9a1801 added font family CSS variables to theming API 2019-02-02 20:45:38 +01:00
zadam 73247e3220 minor library updates 2019-02-02 19:21:30 +01:00
zadam 89344a6eda final fixes and refactorings for consistency checks 2019-02-02 12:41:20 +01:00
zadam 40d2e6ea83 refactoring consistency checks WIP 2019-02-02 11:26:27 +01:00
zadam 910cfe9a17 refactoring consistency checks WIP 2019-02-02 10:38:33 +01:00
zadam e58a80fc00 consistency checks WIP 2019-02-02 09:26:57 +01:00
zadam 4a2319cb33 refactoring of consistency checks plus some autofixers 2019-02-01 22:48:51 +01:00
zadam 5619088c41 raise payload size limit to 500 MB #395 2019-01-29 21:19:08 +01:00
zadam 60271993eb Merge pull request #392 from jkurei/ios_favicon
Better icon for iOS' homescreen
2019-01-28 23:01:12 +01:00
jkurei 6695e8b011 Better icon for iOS' homescreen 2019-01-28 22:48:01 +01:00
zadam 707df18b93 added type and mime classes on body as well #383 2019-01-28 21:42:37 +01:00
zadam 90895f1288 added noteId to file view 2019-01-27 23:10:37 +01:00
zadam ba1ca506af change in referencing CSS resources to allow easier relative linking 2019-01-27 22:34:41 +01:00
zadam f90ed99a40 fix leaf node having angle bracket in dark & black themes, closes #387 2019-01-27 21:54:24 +01:00
zadam 67630b1a22 options now allow selecting user theme 2019-01-27 21:18:11 +01:00
zadam 2c1580ea65 appCss/appTheme are now loaded as external CSS files instead of inline styles 2019-01-27 17:01:37 +01:00
zadam 840a0b5f64 custom handler refactoring 2019-01-27 16:37:18 +01:00
zadam b39f6ef7ad bug fixes for custom handlers 2019-01-27 15:47:40 +01:00
zadam fb27088fcd smaller children overview font 2019-01-27 14:26:39 +01:00
azivner 76fbff68ba added readOnly attribute which puts text editor into readonly mode #371 2019-01-27 13:10:03 +01:00
azivner 54de4d236d custom HTTP handler which triggers associated script notes WIP, #356 2019-01-27 12:28:20 +01:00
azivner e211dd65ad exit on detection of not supported node version, #324 2019-01-26 19:59:51 +01:00
azivner a87f4d8653 search can be triggered from URL, closes #385 2019-01-25 22:18:34 +01:00
azivner b59c175c2e add HTML header with UTF-8 meta encoding declaration to exported HTML files, fixes #384 2019-01-25 21:34:14 +01:00
azivner 580104c4c5 using trilium's confirm dialog, small refactoring 2019-01-24 22:18:31 +01:00
zadam 0fc3053b0a Merge pull request #377 from flurmbo/master
add confirm type change dialog when note not empty
2019-01-24 22:12:09 +01:00
Phil Marshall 929e0f69c2 add confirm type change dialog when note not empty 2019-01-23 15:15:24 -06:00
azivner e70af1300a drag and drop moves multiple items only if CTRL is pressed, active note has now bold text for more differentiation from selected note 2019-01-23 21:13:04 +01:00
azivner 4d0e46021b Mac uses CMD+Left, CMD+Right for history navigation, closes #376 2019-01-23 20:15:33 +01:00
azivner 1a9a49b739 release 0.28.3 2019-01-22 23:01:32 +01:00
azivner 2ac560c56e text note should change its icon after having new note inserted into, fixes #361 2019-01-22 21:21:44 +01:00
azivner c23387c0fb make search dialog more responsive in narrow sidebar, fixes #367 2019-01-22 20:54:00 +01:00
azivner 0ff250fe15 font sizes were not created for new documents - fix plus migration for existing ones 2019-01-22 20:34:45 +01:00
azivner 52b1e58b26 make tree selection more visually consistent 2019-01-22 20:23:54 +01:00
azivner 484715e440 fix icon in desktop linux build, fixes #372 2019-01-22 19:49:33 +01:00
azivner 9d42c3d802 release 0.28.2 2019-01-21 22:55:12 +01:00
azivner c654172d33 auto fixer for "undeleted branch of deleted note" consistency check 2019-01-21 22:51:49 +01:00
azivner e17b26c883 revert consistency checks refactoring for now 2019-01-21 22:46:27 +01:00
azivner 24d02d9cf5 fix in task manager script to not error out so much on deletion 2019-01-21 22:05:37 +01:00
azivner 7208a311ac check that note is not deleted before creating a branch 2019-01-21 21:55:40 +01:00
azivner ad7355372b issue template 2019-01-21 19:55:07 +01:00
azivner f18b5babad uncommented issue template 2019-01-20 16:47:49 +01:00
azivner 9831ec0ca9 added issue template 2019-01-20 16:46:56 +01:00
azivner 596544eca3 fix setNoteToParent API method, closes #360 2019-01-20 16:33:09 +01:00
azivner 1f853024ee more autofixers WIP 2019-01-19 09:57:51 +01:00
azivner 0308b13460 expose app info on the backend script api #345 2019-01-18 23:57:08 +01:00
azivner 06b8a82f70 refactoring of consistency checks + some auto fixers 2019-01-18 19:32:59 +01:00
azivner 91ca07929d before we clone the note we must make sure it's not deleted 2019-01-17 23:24:59 +01:00
azivner afabaa5fdb workaround for hidden last line on mobile 2019-01-17 21:13:53 +01:00
azivner a6fd3fa77c release 0.28.1-beta 2019-01-17 00:03:17 +01:00
azivner 58a2c08dcd release 0.28.1-beta 2019-01-16 23:58:10 +01:00
azivner 299bbff2f4 fix too large font on mobile 2019-01-16 23:57:09 +01:00
azivner 19d8947123 runOnNoteChange fires also on the frontend, closes #340 2019-01-16 22:52:32 +01:00
azivner 35edce7523 fix crazy clipboard operation on mac setup, closes #348 2019-01-16 22:03:30 +01:00
azivner bc4cec69a5 use local dates to create day notes, closes #337 2019-01-15 23:46:01 +01:00
azivner cce8c1b674 create top level note and collapse tree now work relative to hoisted note, closes #343 2019-01-15 20:30:54 +01:00
azivner aa58788769 added basic DB size diagnostic log 2019-01-15 20:00:24 +01:00
azivner 6c62ab7a52 removing logging params for slow queries 2019-01-15 19:36:04 +01:00
azivner d6ab638b30 fix file names in github release script 2019-01-15 00:10:47 +01:00
azivner bd4db406de release 0.28.0-beta 2019-01-14 23:51:55 +01:00
azivner e50f9cd0a3 fix device detection in setup 2019-01-14 23:50:45 +01:00
azivner 2b64cbce2c added dark theme (to have same set of themes as before) 2019-01-13 23:25:30 +01:00
azivner 2797c942ab changes to options dialog to allow configuring font size, closes #326 2019-01-13 22:03:06 +01:00
azivner f1c3278874 store font size in options #326 2019-01-13 21:27:32 +01:00
azivner 424c22dcde split UI to 3 different font sizes #326 2019-01-13 21:16:51 +01:00
azivner 5c223dfd12 all fonts are relative so it's easier to scale them properly 2019-01-13 21:04:08 +01:00
azivner 6a3e7a5a8e generate css classes for each mime type, #328 2019-01-13 20:14:33 +01:00
azivner f88cdac000 fixes for black theme for relation map and code notes 2019-01-13 20:03:28 +01:00
azivner eeead90f32 improved theme support using CSS variables, #328 2019-01-13 18:57:46 +01:00
azivner b607857409 fix weight tracker demo to use relations instead of hardcoded noteId, fixes #329 2019-01-13 12:21:17 +01:00
azivner 9268f88bc3 frontend scripts now have startNote, currentNote and targetNote as NoteShort entities which e.g. provides easy access to relations/labels 2019-01-13 12:16:05 +01:00
azivner f7f0560a9f simplification of script bundles on backend 2019-01-13 11:56:50 +01:00
azivner 3d8905207e fixed export with non-ASCII characters in note title, fixes #285, #331 2019-01-13 10:22:17 +01:00
azivner dbc312010b update fancytree to 2.30.2 2019-01-13 09:24:00 +01:00
azivner b115a7cf19 delete note through its entity instead of manually with SQL, closes #303 2019-01-13 00:24:51 +01:00
azivner 348562352c fixes in ASAR build and zipping 2019-01-12 19:48:45 +01:00
azivner 70fd917e7c build desktop versions into ASAR, closes #271 2019-01-12 00:05:13 +01:00
zadam d2b60764cd Merge pull request #289 from perissology/electron-builder
use electron-builder for dev install
2019-01-11 23:54:11 +01:00
azivner 581b1fdaa5 trigger runOnAttributeChange, runOnNoteChange on entity deletions as well 2019-01-11 23:43:22 +01:00
azivner 3c19a712c0 active protected state button has darker background and is disabled 2019-01-11 23:29:56 +01:00
azivner cc27f16088 store iv directly in the respective columns 2019-01-11 23:04:51 +01:00
azivner dffdb82288 after creating new note, it is focused and now also selected so renaming is super easy, #318 2019-01-10 22:46:08 +01:00
azivner 2b32addade release 0.27.4 2019-01-10 21:31:30 +01:00
azivner 0b251530fa open recent notes autocomplete by focus so it is then closed with blur, fixes #272 2019-01-10 21:04:06 +01:00
azivner f5b933149a Merge remote-tracking branch 'origin/master' 2019-01-10 19:53:47 +01:00
azivner 48bbfb8bdb fix activating note by noteId when hoisting, fixes #320 2019-01-10 19:53:42 +01:00
zadam 889971c4d6 Merge pull request #312 from perissology/evernote-import
Fixes evernote import errors
2019-01-09 23:41:17 +01:00
azivner 0722494d41 fix saving JSON note with invalid JSON (previously in such a case content was not updated), fixes #307 2019-01-09 23:36:17 +01:00
azivner 4b977a3306 setup keyboard shortcuts on the setup page as well, closes #267 2019-01-09 22:08:24 +01:00
azivner 3ff3021acd shortcuts for mac should use cmd instead of ctrl, closes #290 2019-01-09 21:42:16 +01:00
azivner 99e56a9c42 make sure to save the search note before refreshing the tree 2019-01-09 19:54:32 +01:00
azivner 77279dfe16 fix anonymization 2019-01-09 19:49:02 +01:00
perissology 93f8050454 use resizedImage if image optimization fails 2019-01-09 06:29:49 -08:00
perissology 31cfede7a7 enex import: attempt to get correct mime from Buffer 2019-01-09 06:29:13 -08:00
azivner c8ec86e537 allow refreshing saved note, closes #304 2019-01-08 23:32:03 +01:00
azivner 05aee884b6 fix saving search note content #304 2019-01-08 22:48:53 +01:00
azivner 012ba9e060 don't attempt to run protected notes outside of protected session, fixes #279 2019-01-08 21:21:49 +01:00
azivner 8e8fd88857 process only whitelisted mime types as an image, fixes #288 2019-01-08 20:45:34 +01:00
azivner 523ccdad6b reload note cache after import, closes #293 2019-01-08 20:19:41 +01:00
azivner ded3f605be fix almost invisible buttons on options page, closes #297 2019-01-08 19:47:35 +01:00
perissology 62b44e3549 use electron-builder for npm install
This will build deps as required for electron as well as the os.

This fixes the missing binding error for sqlite3 when trying to run the
electron app after a fresh npm i
2019-01-08 06:50:48 -08:00
azivner 030d12a465 stretch sync login token validity to 5 minutes #277 2019-01-07 23:29:56 +01:00
azivner 4d15628840 Merge remote-tracking branch 'origin/master' 2019-01-07 23:17:45 +01:00
azivner 81b849898c stretch body to full window width, fixes #276 2019-01-07 23:17:12 +01:00
zadam 3824486b85 Merge pull request #275 from Lee303/Dockerfile-dependency-fix
Update Dockerfile
2019-01-07 22:49:27 +01:00
Lee Spottiswood 081ab00a0a Update Dockerfile 2019-01-07 21:21:23 +00:00
zadam 04f6af5c9a Merge pull request #270 from svenefftinge/master
Make contributions easier
2019-01-07 21:46:02 +01:00
Sven Efftinge 4dc1f1f6eb Added contribute section and gitpod config 2019-01-07 12:52:02 +00:00
azivner 3930a02123 tree now uses standard font size which effectively makes it a bit larger 2019-01-06 20:59:19 +01:00
azivner 3112de105e fancytree selection/hover colors are shades of gray, border is rounded 2019-01-06 18:58:12 +01:00
azivner 3b8d7b8fba release 0.27.3 2019-01-05 22:48:11 +01:00
azivner 9fca7f09a5 link to mobile frontend 2019-01-05 22:45:18 +01:00
azivner fd39d6b3a9 using btn-secondary instead of btn-default since that doesn't exist in BS4 2019-01-05 21:51:27 +01:00
azivner a103886ea5 responsive setup page 2019-01-05 21:49:40 +01:00
azivner 373408e401 fix Branch reference to parent note id after parent change 2019-01-05 19:25:22 +01:00
azivner db44c1d8e6 border color tweaks 2019-01-05 11:49:17 +01:00
azivner 95a34c9e2d small tweaks of icon alignment 2019-01-05 11:41:09 +01:00
azivner 6ce401f260 release 0.27.2-beta 2019-01-04 23:33:32 +01:00
azivner 5d74dcd256 package-lock 2019-01-04 23:33:30 +01:00
azivner 5a9fc1697b electron 4.0.1 2019-01-04 23:32:14 +01:00
azivner 927415838c using enhanceTitle event instead of renderNode per https://github.com/mar10/fancytree/issues/927 2019-01-04 20:18:07 +01:00
azivner d72fcefdc7 fix sync of deleted notes 2019-01-04 20:10:16 +01:00
azivner 0be173a8f7 lower lastSyncedPull if server max sync ID is lower 2019-01-04 18:58:46 +01:00
azivner c3913a8735 updating the note cache after sync 2019-01-03 23:27:10 +01:00
azivner e2dfe1b6de fixed setup page issues which caused wrong choice to be used in the wizard 2019-01-03 22:32:36 +01:00
azivner fec3e47eb8 serialize binary note content into base64, incremented sync version 2019-01-03 22:13:58 +01:00
azivner d72efd2450 removed unnecessary logging of data dir which is now logged as part of app info 2019-01-03 21:46:32 +01:00
azivner ef1c840aa7 tiny fixes 2019-01-02 22:36:06 +01:00
azivner 1581464d8c fix layout - promoted attributes should never grow beyond its content 2019-01-02 20:21:34 +01:00
azivner 9de29584a4 added data directory to options -> about 2019-01-02 20:08:41 +01:00
azivner 9e2e6fb50c fixed glitch where "unhoist" button disappears after renaming the hoisted note 2019-01-02 19:26:01 +01:00
azivner c85979b66b it should not be possible to add note after hoisted note 2019-01-02 18:59:08 +01:00
azivner ecdc5865a6 release 0.27.1-beta 2019-01-01 20:54:23 +01:00
azivner 1771ddb787 responsive promoted attributes view and attribute overview to make sure note content is always visible. Fixes #262 2019-01-01 20:53:18 +01:00
azivner 3ab657fe46 created concept of "detail loaded listeners" which allow scripts to execute some action after the note detail has been loaded 2019-01-01 19:32:34 +01:00
azivner 8785dae753 force reload fancytree node when child is not found 2019-01-01 18:27:36 +01:00
azivner 2f1c5b29d4 update eslint 2019-01-01 18:06:52 +01:00
azivner 7135349a10 allow deleting protected notes outside of protected session 2019-01-01 17:04:21 +01:00
azivner 66c639d5e3 frontend API addition to protect current note 2019-01-01 15:39:13 +01:00
azivner 6704b755d8 attribute overview shows only owned attributes 2019-01-01 15:29:58 +01:00
azivner cf96baad48 release 0.27.0-beta 2018-12-30 22:38:11 +01:00
azivner 32220476aa better behavior on default loading detail / switching between tree and detail 2018-12-30 22:36:39 +01:00
azivner 86bc84a2ad better detection of float parameter in label filters, fixes #265 2018-12-30 22:09:14 +01:00
azivner de9e0c7929 lazy loading icon for both mobile and desktop 2018-12-30 21:13:35 +01:00
azivner 6963e662ef fix layout on chrome 2018-12-30 19:15:44 +01:00
azivner 7127822e8f placeholder for empty note content 2018-12-30 19:02:42 +01:00
azivner 0a35abf68f refresh note detail view after attribute save (from full dialog, not promoted notes), closes #261 2018-12-30 15:21:53 +01:00
azivner 3f8e8f8561 fix saving branch prefix, fixes #260 2018-12-29 10:35:44 +01:00
azivner e02eca87b0 dont toggle panes note on the first load 2018-12-29 10:19:28 +01:00
azivner 2f680c4326 tweaks, fixes, refactorings, creating new note from detail, not tree 2018-12-29 10:04:59 +01:00
azivner 0b4a44a403 layout tweaks etc. 2018-12-29 09:13:52 +01:00
azivner 89299f865c api method to detect navigation away from current page 2018-12-29 08:40:35 +01:00
azivner f6db9a50ab "switch to desktop version" button 2018-12-29 00:09:16 +01:00
azivner 78d9fac1e6 global actions context menu, logout 2018-12-28 23:57:11 +01:00
azivner 458ed1faff mobile detection 2018-12-28 23:47:06 +01:00
azivner 0657815de5 Merge branch 'master' into mobile 2018-12-28 22:31:51 +01:00
azivner a608832681 change to relation map note type doesn't trigger content change, related issue #258 2018-12-28 22:31:06 +01:00
azivner d2f72529b3 context menu with delete 2018-12-28 22:05:04 +01:00
azivner 28185af158 fix layout/scrolling issues in the tree 2018-12-28 20:36:18 +01:00
azivner 7aacd01ad7 separate css layout file for mobile and desktop 2018-12-28 19:47:02 +01:00
azivner 74cc34696e unifying expander icons in both desktop and mobile 2018-12-27 22:38:19 +01:00
azivner d4baac0bb5 mobile fixes 2018-12-27 22:36:11 +01:00
azivner 35bc1421f1 cannot edit note title when not in protected session 2018-12-27 20:22:33 +01:00
azivner d4db265fd9 non-modal protected session password form is now done separately as a kind of detail component. Also reworked branch prefix dialog input 2018-12-27 20:04:59 +01:00
azivner 1dad919de9 working protected session in mobile 2018-12-25 10:58:40 +01:00
azivner 246dfbdcb4 fix attribute loading for mobile 2018-12-24 23:08:43 +01:00
azivner f8d32d64f5 content scrolling 2018-12-24 22:39:17 +01:00
azivner 5dea271d6f basic responsive layout 2018-12-24 20:38:38 +01:00
azivner eeb62a6cf2 fix keyboard shortcut setup on mobile 2018-12-24 18:39:31 +01:00
azivner 35cf8026b0 activating note opens dialog with its detail 2018-12-24 12:49:27 +01:00
azivner e0028ab6f1 mobile frontend WIP, removing extra dependencies 2018-12-24 10:10:36 +01:00
azivner a32645cdeb fix scrolling to the top of detail after switching note 2018-12-24 09:47:00 +01:00
azivner 812f9f6fca initial work on mobile frontend 2018-12-23 22:28:57 +01:00
azivner f7a670ec24 responsive login page 2018-12-23 11:06:11 +01:00
azivner d0d24f0f4a unify ejs indentation to 4 spaces 2018-12-23 10:57:40 +01:00
azivner 042f9b7f2d fix positioning of protected session password dialog 2018-12-22 23:54:06 +01:00
azivner 2d260cdbed explicit node-abi required for 4.0.0 electron build 2018-12-22 23:10:03 +01:00
azivner 6a786cad83 updated API docs 2018-12-22 22:28:49 +01:00
azivner 67019b3d6c added attributes to frontend entity model 2018-12-22 22:16:32 +01:00
azivner 1db6e59077 tooltip related changes for scripting support 2018-12-22 20:57:09 +01:00
azivner 5e4770875e upgrade to bootstrap 4.2.1 2018-12-22 10:33:50 +01:00
azivner e9a77f3f16 image sync fixes and 4.0.0 electron 2018-12-22 09:54:09 +01:00
azivner cbec85f295 release 0.26.1 2018-12-20 19:54:09 +01:00
azivner 14bd5d301d fix broken image sync 2018-12-20 19:51:03 +01:00
azivner 321d0e8d64 explicit error handler for connection errors 2018-12-19 21:29:35 +01:00
azivner 84e1512031 added robots.txt to public root 2018-12-19 20:56:10 +01:00
azivner b036852b2d release 0.26.0-beta 2018-12-18 22:49:48 +01:00
azivner f693dc31e8 mention note hoisting in the readme 2018-12-18 20:50:03 +01:00
azivner af8f5b11b8 better error handling in request 2018-12-18 20:39:56 +01:00
azivner 8ca943f87b fix hoistedNoteId option init 2018-12-18 20:34:24 +01:00
azivner 35cc9da626 note about system proxy in the settings 2018-12-17 22:58:53 +01:00
azivner 44cc86a1a5 added support for explicit proxy 2018-12-17 22:54:54 +01:00
azivner 7c3bbfd45e using http service for sync setup as well, removed request(-promise) dependency 2018-12-17 22:12:26 +01:00
azivner a1f939e3a0 refactoring of network code into separate service 2018-12-17 21:34:02 +01:00
azivner 4ca7886090 uniform requests through electron's net and node http/https to support different proxy setups 2018-12-16 23:30:53 +01:00
azivner b942163748 sync with electron net API (for system proxy support) - working, but WIP 2018-12-16 21:19:12 +01:00
azivner 5b6d15acb3 note path might not always include root explicitly 2018-12-16 10:41:47 +01:00
azivner 841420360e quick unhoist link/button 2018-12-15 20:29:08 +01:00
azivner a680bb4612 unhoist note when activating note outside of the hoisted note subtree 2018-12-13 23:28:48 +01:00
azivner f763e13996 fix searching without hoisting 2018-12-13 21:43:13 +01:00
azivner e73e1262ae Merge branch 'stable' into hoist 2018-12-13 21:18:44 +01:00
azivner b774d56cf7 note titles in jump to note start from hoisted note instead of root 2018-12-13 21:18:35 +01:00
azivner bae55f2e8b release 0.25.2 2018-12-12 21:30:06 +01:00
azivner 6c16cdb011 recent notes and jump to note are filtered by hoisted note 2018-12-12 21:28:38 +01:00
azivner 86fcbb0354 keyboard shortcut for hoisting, hoisted note is always expanded and has arrow icon 2018-12-12 20:54:58 +01:00
azivner 17d030e800 continuing work on hoisting notes 2018-12-12 20:39:56 +01:00
azivner 6fbf28b30d hoisting notes WIP 2018-12-11 21:53:56 +01:00
azivner 8171b68b18 electron 4.0 beta 9, context menu padding 2018-12-11 19:50:31 +01:00
azivner d30e3a4052 bind standard shortcuts on both command and ctrl modifiers, #254 2018-12-10 20:44:50 +01:00
azivner 87aab7ac5b fix attributes leaking into imported notes, #241 2018-12-10 20:29:49 +01:00
azivner c46f5805b1 removed the note from readme about missing mac build 2018-12-09 21:50:29 +01:00
azivner dd6a29dfc0 no ia32 release upload 2018-12-09 21:34:08 +01:00
azivner a0933c7f10 release 0.25.1-beta 2018-12-09 21:22:33 +01:00
azivner 492adc2909 fix broken drag & drop, closes 252 2018-12-09 21:18:53 +01:00
azivner 90a52f57b5 recent notes route accepts slash in the param (problem with nginx etc.) 2018-12-09 14:30:19 +01:00
azivner a1469854e8 Allow Trilium to work from non-root document paths, closes #253 2018-12-09 13:37:28 +01:00
azivner e2c2993255 changes in build - linux-x64 also uses prebuilt binaries compatible with glibc 2.27 so e.g. ubuntu 18.04 works again. Also dropped build for linux-ia32 2018-12-09 11:41:32 +01:00
azivner 270d63b265 deactivated cut to note functionality in ckeditor build 2018-12-08 10:54:10 +01:00
azivner 1d004be91d ckeditor upgrade to 11.2.0 2018-12-08 09:48:36 +01:00
azivner b8a74c727e copy paste, undo, redo, select all shortcuts supported on mac build 2018-12-02 14:04:53 +01:00
azivner c87b592277 fix in the release script 2018-12-02 08:42:11 +01:00
azivner cfa926602a release 0.25.0-beta 2018-12-02 00:30:07 +01:00
zadam 350cb52c07 Merge pull request #249 from nicoulaj/master
fix #248: crossorigin attribute is needed when including with type="module"
2018-12-02 00:27:59 +01:00
azivner af195beb7e initial mac support + some other build changes 2018-12-02 00:26:45 +01:00
Julien Nicoulaud cb00d42546 fix #248: crossorigin attribute is needed when including with type="module"
For more info, see:
 * https://html.spec.whatwg.org/multipage/urls-and-fetching.html#cors-settings-attributes
 * https://jakearchibald.com/2017/es-modules-in-browsers
2018-12-01 23:33:23 +01:00
azivner ee0b0c3dfe minor export fixes 2018-11-30 22:43:03 +01:00
azivner ddcb4a0e10 added another mime type for JS 2018-11-30 22:28:30 +01:00
azivner 8cbb29ee25 default location for data dir is now .local for linux and Roaming for windows 2018-11-30 19:56:20 +01:00
azivner 9da11ac144 electron 4 beta 8 2018-11-30 17:50:38 +01:00
azivner ba7c8e77e5 add support for number precision in promoted attributes, closes #245 2018-11-30 17:36:41 +01:00
azivner 4577b03fc9 promoted attributes now use saved indicator (little check) instead of notification 2018-11-30 17:18:19 +01:00
azivner 72d83aa85e fix note cache - note entity after initialization doesn't contain ciphertext so decryption is not necessary 2018-11-30 15:51:55 +01:00
azivner 8ee80cb5f1 using dashes instead of underscores in header names to avoid the fact that nginx by default drops all headers with underscore in the header name 2018-11-30 15:49:35 +01:00
azivner 4cc08bff8b minor node updates in docker and server package 2018-11-30 13:56:36 +01:00
zadam 295cfb2d75 Merge pull request #247 from gabe565/master
Smaller Docker image
2018-11-30 13:38:47 +01:00
azivner 7775376b33 disable "cut to note" feature because of issues with CKEditor 2018-11-30 11:37:33 +01:00
azivner 9f64e994dc fix minor UI issue causing children overview not being decrypted right after entering protected session 2018-11-30 10:33:40 +01:00
azivner ee1e4fc710 added "update pojo" stage in entity saving to avoid encrypting data on protected note directly on the entity 2018-11-30 10:20:03 +01:00
Gabe Cook 5ea62c710d Move devtron to devDependencies and update package-lock.json 2018-11-30 05:46:55 +00:00
Gabe Cook aeca31d06a Add .git, bin, and docs to the .dockerignore 2018-11-30 05:46:49 +00:00
Gabe Cook 9cb9ea6ab5 Smaller Docker image by switching the base image to node:10.13.0-alpine and consolidating scripts 2018-11-30 05:41:53 +00:00
azivner e37dd69827 link to Patterns of personal knowledge base 2018-11-28 22:05:23 +01:00
azivner 6c51696d1a also don't show "No results" for attr autocomplete 2018-11-27 19:43:34 +01:00
azivner 27787c8f37 attribute name and value autocompletes should not have autoselect since it's OK to enter value not in the autocomplete 2018-11-27 19:40:19 +01:00
azivner e910595545 updated readme 2018-11-27 19:18:24 +01:00
azivner a616739805 release 0.24.5 2018-11-27 15:34:15 +01:00
azivner bea28de6a0 tab on autocomplete doesn't select first item, closes #243 2018-11-27 13:13:06 +01:00
azivner 4e198ca2f0 storing trilium version into export metadata 2018-11-27 10:31:55 +01:00
azivner 2fbd16a0e3 updated demo export according to latest format changes 2018-11-26 23:50:43 +01:00
azivner 76fc49f037 allow import of single HTML file too 2018-11-26 23:47:02 +01:00
azivner 139c99440f export stores note position and some other fixes 2018-11-26 23:39:43 +01:00
azivner 137b9dfa0b fix storing attributes and relinking noteIds 2018-11-26 23:19:19 +01:00
azivner 5f0fdd15eb fix adding sync entities during import 2018-11-26 22:37:59 +01:00
azivner 61e1427b83 fix matching of "b" in the note autcomplete highlighter 2018-11-26 22:35:19 +01:00
azivner b3aa0ba47c entity events are not triggered on imported entities 2018-11-26 22:27:57 +01:00
azivner 56e2b44c25 fix import 2018-11-26 22:22:16 +01:00
azivner 4d5a17583f happy path tar import now works 2018-11-26 20:30:43 +01:00
azivner 71eda5aa3d import tar archive WIP 2018-11-26 14:47:46 +01:00
azivner 0711ea8dc8 filter out links and relations which are outside of the export 2018-11-25 22:38:09 +01:00
azivner be206872d1 changed export model to single metadata file per exported .tar 2018-11-25 22:09:52 +01:00
azivner fcf3fe8dcd tar export can now solve naming conflict 2018-11-25 15:17:28 +01:00
azivner 62dbd4062a on/off button for entering/leaving protected session has been changed to literal buttons 2018-11-25 14:12:33 +01:00
azivner 196e8b4380 extra icons 2018-11-25 14:05:54 +01:00
azivner 551e1255ff export WIP + some unrelated changes 2018-11-25 10:26:45 +01:00
azivner e09b61d1ac single file export working, tar WIP 2018-11-24 20:58:38 +01:00
azivner ee23bcc783 unified export dialog, WIP 2018-11-24 14:44:56 +01:00
azivner 3e351bd8d3 better positioning of nonmodal protected session dialog 2018-11-22 21:24:47 +01:00
azivner 0d3bc22d73 fix z-index of notification 2018-11-22 21:19:12 +01:00
azivner d82898421e less obtrusive saved indicator, fixes #122 2018-11-22 20:25:49 +01:00
azivner 1db2f0c2c5 improved notifications, now with animations, in center and show up properly in the dialogs 2018-11-22 16:08:02 +01:00
azivner 6cd8a2203e create app icon only for electron build 2018-11-22 00:24:33 +01:00
azivner 08e062ab34 release 0.24.4-beta 2018-11-21 23:47:09 +01:00
azivner 3a06493459 partial workaround for the broken in page search (next & previous don't work, but at least highlighting works) 2018-11-21 23:39:19 +01:00
azivner 8159564885 fix .desktop + allow to turn this feature off 2018-11-21 11:19:33 +01:00
azivner 8ce3c1a480 generate local .desktop file so it shows among apps in linux desktop environments 2018-11-21 11:01:03 +01:00
azivner dbc93f4a79 mitigations for tooltip flickering 2018-11-20 23:50:19 +01:00
azivner 92ffe321aa smaller context menu 2018-11-20 22:55:07 +01:00
azivner 6cb7d0098e changed layout a little bit to fix broken children overview in the electron/chrome 2018-11-20 22:49:10 +01:00
azivner bdcb4361b2 simplification of note autocomplete result ordering by depth #240 2018-11-20 22:22:26 +01:00
azivner 15366d37d7 ordering results in autocomplete based on depth, closes #240 2018-11-20 21:22:20 +01:00
azivner acd001501b release 0.24.3-beta 2018-11-20 13:01:41 +01:00
azivner 0019865807 disabling broken in page search 2018-11-20 12:54:03 +01:00
azivner 137ffcc4e3 enable line wrap for code editor 2018-11-20 10:49:03 +01:00
azivner 585398ad5c fix bug when saving non-text notes 2018-11-19 23:11:36 +01:00
azivner 50401954d1 disable cache for attribute name autocomplete 2018-11-19 22:17:08 +01:00
azivner 32a9df8489 fixes (and refactoring) for "empty attribute name" check 2018-11-19 22:06:51 +01:00
azivner 5bf5d1cac4 attribute dialog doesn't allow to (attempt to) save relation without target note 2018-11-19 21:58:52 +01:00
azivner 3608857f25 small fix to demo export 2018-11-19 21:09:59 +01:00
azivner 16a1dc12df jsdoc now doesn't include date into files to avoid unnecessary noise 2018-11-19 21:03:43 +01:00
azivner 9c834229b9 release 0.24.2-beta 2018-11-19 17:17:08 +01:00
azivner 3fd45b15e7 set icon and app name, closes #201 2018-11-19 17:16:22 +01:00
azivner f20ab45576 fix absolute image paths to relative paths as part of parsing links 2018-11-19 15:00:49 +01:00
azivner 77a89d85c8 fix "copy image to clipboard" button 2018-11-19 12:12:58 +01:00
azivner 30249a353e renamed "mirror" relation to "inverse" relation 2018-11-19 12:07:33 +01:00
azivner eb9bae9010 updated relation map in demo document 2018-11-19 11:47:40 +01:00
azivner 0c7ae527c5 allow dragging only one note at a time 2018-11-19 11:19:56 +01:00
azivner fef4705e2f center button changed to "reset pan & zoom" 2018-11-19 11:14:55 +01:00
azivner 568c2c997f possibility to export single code note as markdown. UI fix of disabled buttons 2018-11-19 09:54:33 +01:00
azivner d6b5cd6ead support saving files and images in markdown tar export 2018-11-19 09:46:24 +01:00
azivner 00ce379962 excludeFromExport support also in OPML 2018-11-19 09:34:05 +01:00
azivner b1ed022771 release 0.24.1-beta 2018-11-19 00:06:44 +01:00
azivner ad6cb6ba34 mirror relation has to target source note 2018-11-19 00:06:04 +01:00
azivner 2e76de5f34 minor relation map fixes 2018-11-18 23:57:39 +01:00
azivner 4f23f2515a fix relation saving 2018-11-18 23:36:21 +01:00
azivner 8e16cc2326 fix prompt mutability (autocomplete on answer input field) 2018-11-18 23:31:31 +01:00
azivner 49bca04ebb fix doubling of notes after some actions 2018-11-18 23:01:48 +01:00
azivner 05e9669eaf fixed relation map sizing issue 2018-11-18 22:49:53 +01:00
azivner 62a250a7fc fixes for tooltip handling 2018-11-18 20:57:52 +01:00
azivner 8299524682 fixed cleanup of deleted notes for protected notes 2018-11-18 11:34:40 +01:00
azivner 7691a59977 imported notes can reference root 2018-11-18 11:19:50 +01:00
azivner 3db2f6784d fix DB migration and consistency issues 2018-11-18 10:20:06 +01:00
azivner 48684d0509 fixed app termination after unsuccessful migration for electron 2018-11-18 09:05:50 +01:00
azivner 1ee8d9fd93 sql console executes selected text if there's a selection instead of the whole content 2018-11-18 08:29:56 +01:00
azivner 228a77cb89 release 0.24.0-beta 2018-11-16 23:30:52 +01:00
azivner 90eb1b53fb update of demo document, using relation map for "family tree" demo 2018-11-16 23:29:38 +01:00
azivner 6a36e1ca86 we're now saving links also for notes included in relation maps which helps with translation of noteIds during import from native tar 2018-11-16 23:27:57 +01:00
azivner 3fee263355 fixed "paths" styling for BS4 and fix for special case of root note 2018-11-16 22:04:51 +01:00
azivner d19fa89f69 fixed sqlite3 windows binary 2018-11-16 21:44:50 +01:00
azivner 6b65592d7a attachment preview, closes #210 2018-11-16 18:40:58 +01:00
azivner 94565e3ec0 now using .tar export to initialize DB instead of direct DB dumps 2018-11-16 14:36:50 +01:00
azivner 5b9a1ef0e9 import/export logic refactored into separate files per format, closes #237 2018-11-16 12:12:04 +01:00
azivner e0f9a7fc6a added links to the import/export + fixing internal links inside note content 2018-11-16 11:42:06 +01:00
azivner 46c7901e1f fix migration script 2018-11-15 22:24:30 +01:00
azivner efc5cf4091 Doubleclick on the image will take you to that image note, closes #236 2018-11-15 14:51:09 +01:00
azivner 39b3c91abf image notes can't be updated + minor visual tweaks 2018-11-15 14:33:02 +01:00
azivner 6749cbed1b added some consistency checks for links and attributes 2018-11-15 13:58:14 +01:00
azivner 346b8c21dd uploaded attachments with image mime are saved as image notes, closes #211 2018-11-15 12:13:32 +01:00
azivner 8ee8639faa allow also deleting note when removing note from note relation 2018-11-14 23:30:28 +01:00
azivner fa264d1cbe fix CSS filter issue in firefox, closes #233 2018-11-14 20:58:19 +01:00
azivner 8a3f508825 "go to selected note" button now has also note tooltip 2018-11-14 19:33:48 +01:00
azivner 19a07c699c added BS dialog for confirm 2018-11-14 19:03:55 +01:00
azivner b8feb4cce3 fix attribute sorting, closes #225 2018-11-14 17:54:28 +01:00
azivner cfce744338 method name refactoring 2018-11-14 17:26:07 +01:00
azivner 211001fb2f #232 implement recenter even though it probably doesn't work totally correctly 2018-11-14 15:11:39 +01:00
azivner a334f08782 refactorings in relation map related to noteId handling and storage 2018-11-14 14:52:05 +01:00
azivner 040bb13800 disable shield background in distraction free mode, fixes #226 2018-11-14 13:42:50 +01:00
azivner 6652ddc20a fix relation map display in distraction free mode 2018-11-14 13:37:45 +01:00
azivner e44c7c9947 hide "go to selected note" button in jump because it doesn't make sense there 2018-11-14 11:28:52 +01:00
azivner 24a0856d22 open external link button moved inside input 2018-11-14 11:24:40 +01:00
azivner 74acb08f7b "open" note put into note autocomplete input, also fixes #222 2018-11-14 11:17:20 +01:00
azivner 7be85acf11 mitigation of tooltip flicker by making tooltip smaller 2018-11-14 10:36:14 +01:00
azivner fc9495bcdf links are now shown in the relation map as well 2018-11-14 10:11:15 +01:00
azivner 247275d391 fix icon of newly created note 2018-11-14 08:42:00 +01:00
azivner 427234293e tooltip for image note 2018-11-14 08:36:19 +01:00
azivner 9568fde027 tooltip color tweak 2018-11-14 08:28:38 +01:00
azivner 9cf08bf926 fix shadow of protected note's icon in the tree 2018-11-14 08:23:34 +01:00
azivner 295800881b fix #223 plus some refactorings 2018-11-14 00:05:09 +01:00
azivner 25e68762fe note autocompletes now have clear text button 2018-11-13 23:16:26 +01:00
azivner ea0a5bc1c9 added code basic style do ckeditor, fixes #220 2018-11-13 22:22:01 +01:00
azivner abbade96af added hidePromotedAttributes label, fixes #221 2018-11-13 22:14:41 +01:00
azivner 83c6f86d26 re-center button, WIP 2018-11-13 22:05:32 +01:00
azivner db17b05db1 hide attribute "status bar" for relation map to maximize screen space, some refactoring 2018-11-13 19:25:59 +01:00
azivner 1ce26ed704 fix dirtying transform saved status by properly cloning transform object 2018-11-13 19:16:21 +01:00
azivner a065a610c1 absolute positioning of relation map buttons to maximize screen estate 2018-11-13 19:00:01 +01:00
azivner 0b85f87cb2 display mirror relations correctly on relation map 2018-11-13 12:50:08 +01:00
azivner 144e814b02 added relation name autocomplete to relation map connection creation 2018-11-13 10:42:55 +01:00
azivner 8dc32e581e refactored attribute autocompletes into separate service 2018-11-13 10:25:59 +01:00
azivner 21d3b0c9d8 implemented mirror relations 2018-11-12 23:34:22 +01:00
azivner e7cea59ba7 fixes for relation map rendering 2018-11-12 21:18:22 +01:00
azivner 2523f81f3b bootstrap backed replacements for JS prompt and alert 2018-11-12 20:17:48 +01:00
azivner c6e1ad5f15 drag all selected notes instead of just one 2018-11-12 15:10:49 +01:00
azivner 340916d5da drag & drop notes from the tree into relation map 2018-11-12 13:05:09 +01:00
azivner bbe36fc7fb some refactorings on relation map 2018-11-12 09:57:48 +01:00
azivner 02fd8f8133 working (but messy) pan & zoom without scrollbar and new note on click 2018-11-11 23:21:43 +01:00
azivner 525f167127 Merge branch 'stable' 2018-11-11 19:26:40 +01:00
azivner 3750919169 fixed context menus in relation map 2018-11-09 22:18:51 +01:00
azivner 4f34fb802b minor icon changes 2018-11-09 20:45:28 +01:00
azivner d978c64e1a refactoring of tree context menu into reusable component 2018-11-09 17:11:45 +01:00
azivner bc2e230425 fix frontend API to work with JAM icons 2018-11-09 14:49:08 +01:00
azivner 71f333154d unprotecting note after protecting it sometimes didn't work
fix protected note background
2018-11-09 14:36:27 +01:00
azivner c5113eb292 fix options dialog which used jquery tabs 2018-11-09 12:13:51 +01:00
azivner 232f135843 using jam font icon pack instead of feather, fixes #204 2018-11-09 11:57:52 +01:00
azivner 8be328cb3b now that content is nullable, cleanup sets it to null instead of empty string 2018-11-09 09:04:55 +01:00
azivner bfc09187e3 disabled note-level actions based on note type, fixes #218 2018-11-08 23:59:25 +01:00
azivner 3a4691b46d updated API docs to reflect changes in link/image handling 2018-11-08 23:49:44 +01:00
azivner 7b3c0243f3 enter protected password is not modal now, closes #217 2018-11-08 23:48:49 +01:00
azivner 8d7a2546e1 help buttons on the dialog titlebar wherever possible, closes #205 2018-11-08 21:36:35 +01:00
azivner 991d5d3be3 save and remove both hyper and image links 2018-11-08 20:17:56 +01:00
azivner 6416e3e9fb refactored attributes out of note detail, fixes #213 2018-11-08 20:01:25 +01:00
azivner 3ba761fe28 refactored import markdown dialog into separate file, fixes #206 2018-11-08 19:42:57 +01:00
azivner 273a9b14d9 added copy image to the image detail 2018-11-08 18:35:23 +01:00
azivner afcbfcfa03 cleanup obsolete image code 2018-11-08 11:14:13 +01:00
azivner d7afbe4059 saving image 2018-11-08 11:08:16 +01:00
azivner 21e952a7f0 note image detail 2018-11-08 10:30:35 +01:00
azivner d0d2a7fe47 store images in notes, basic structure 2018-11-08 10:11:00 +01:00
azivner 5f427e37fe export dialog to choose export format, closes #207 2018-11-07 22:58:33 +01:00
azivner 13f9007bd6 attributes dialog converted to algolia autocomplete, closes #203 2018-11-07 20:32:11 +01:00
azivner 90dbe637ed autocomplete for add link dialog, #203 2018-11-07 17:16:33 +01:00
azivner a0f362457e refactoring of autocomplete handling, #203 2018-11-07 09:51:14 +01:00
azivner 1febf5136c finished jump to autocomplete, now with token highlighting, #203 2018-11-07 09:35:29 +01:00
azivner 3c23d7085e porting autocomplete to algolia, WIP, #203 2018-11-07 00:23:50 +01:00
azivner 57e9850ca6 migrated tooltips to bootstrap, #203 2018-11-06 19:35:42 +01:00
azivner 2f4ef0a4a2 migrated all remaining dialogs to bootstrap modals, #203 2018-11-06 17:47:40 +01:00
azivner 6fb99ae89e changed ejs indentation to 2 spaces instead of 4 (or mix) 2018-11-06 15:53:23 +01:00
azivner 69d2bd8b58 replacement of jquery ui dialog for bootstrap modal for jump to note dialog, #203 2018-11-06 15:25:07 +01:00
azivner e62cca886c fix login & setup page 2018-11-06 14:54:22 +01:00
azivner a8e13eac3a fix postponed deletion job - need to have cls 2018-11-06 14:23:49 +01:00
azivner 2f887f1ea7 split dialog templates into separate files 2018-11-06 14:16:38 +01:00
azivner 3856de4483 positioning of context menu when click on elements down on the page 2018-11-06 13:45:58 +01:00
azivner 0348bbe4f1 context menu cleanup 2018-11-06 12:50:48 +01:00
azivner 24dfe0fa98 replace note tree context menu with bootstrap dropdown, #203 2018-11-06 12:46:29 +01:00
azivner 20baa47d26 use HTML5 for Drag & Drop instead of jquery UI draggable for fancytree, #203 2018-11-05 21:42:29 +01:00
azivner 19cb29cdca use native date picker instead of jquery UI, #203 2018-11-05 21:20:05 +01:00
azivner 24a1838b13 bootstrap 4 upgrade 2018-11-05 21:12:03 +01:00
azivner 7bdbea81f1 enex import recognizes images, media references are converted to links 2018-11-05 12:52:50 +01:00
azivner b8eaff055a create notebook's "root note" for ENEX import 2018-11-05 09:23:04 +01:00
azivner 5e318c6242 basic enex import, closes #194 2018-11-05 00:06:17 +01:00
azivner 607c821cac logging slow autocomplete times 2018-11-04 22:10:52 +01:00
azivner 26b9302267 run unused image cleanup periodically (once every 4 hours) 2018-11-01 16:40:25 +01:00
azivner de14e808c7 logging of slow queries (currently >= 200ms) 2018-11-01 11:18:54 +01:00
azivner 80178b52c0 cleanup of note (& revisions) content is now postponed and done 48 hours after deleting it. This makes it possible to correct user mistake without having to use a real backup 2018-11-01 10:23:21 +01:00
azivner 370efdc034 place note on canvas by click, WIP 2018-11-01 09:41:03 +01:00
azivner f06d8c7c54 multiselection with keyboard doesn't trigger activation which helps with performance 2018-10-31 23:55:14 +01:00
azivner 63edde8a73 improve performance when quickly switching notes (by e.g. holding down arrow in the tree) 2018-10-31 19:08:31 +01:00
azivner 5872146172 better detection of empty tooltip 2018-10-31 18:31:18 +01:00
azivner ab26216cbe fixes for "add child note" button 2018-10-31 18:21:58 +01:00
azivner 5cc91c64a3 fix right click delete (or other action) when other node is activated 2018-10-31 18:13:08 +01:00
azivner 4858f0bec6 button for creating subnote in relation map and other unrelated changed, WIP 2018-10-31 12:29:01 +01:00
azivner 639284fd85 changing title directly from relation map 2018-10-30 22:18:20 +01:00
azivner f33f99134b zoom fix 2018-10-30 21:28:41 +01:00
azivner a2434f200e icon for relation map 2018-10-30 20:26:31 +01:00
azivner 31abec5d1c zoom icons 2018-10-30 20:22:05 +01:00
azivner 93d152eae5 using whole note box to drag the box instead of special handle 2018-10-30 11:28:48 +01:00
azivner 2a14ea8d0c fixes for relation handling + visual design restyled into gray colors 2018-10-30 10:36:19 +01:00
azivner a19af8a61d fixes and tweaks for relation map 2018-10-30 08:53:30 +01:00
azivner 2a129809b3 support for adding new relations from relation map with drag & drop 2018-10-29 22:38:51 +01:00
azivner 07cbc385e5 basic refactoring of relation map code 2018-10-29 19:25:45 +01:00
azivner 67d47c389a Merge remote-tracking branch 'origin/master' into canvas 2018-10-29 19:10:28 +01:00
azivner e61f17809a set icon reference to electron packager 2018-10-29 19:08:23 +01:00
azivner 23de04daaa removed forge related config which isn't used 2018-10-29 18:39:09 +01:00
azivner a8774353fd release 0.23.1 2018-10-25 18:13:37 +02:00
azivner 18f2419bd6 allow creating anonymized database from command line as well, fixes #200 2018-10-25 18:03:28 +02:00
azivner 332a65a9cc disable smooth scroll 2018-10-25 17:11:50 +02:00
azivner 1d51f58447 remember pan and zoom 2018-10-25 15:45:14 +02:00
azivner 41fca4c4f3 fixes, getting rid of resizing for now 2018-10-25 14:01:03 +02:00
azivner 4a5a63d7b4 relation map WIP 2018-10-25 12:06:36 +02:00
azivner b17f442d1f Merge branch 'master' into canvas 2018-10-23 18:11:29 +02:00
azivner 9f0860edab Merge branch 'stable' 2018-10-21 22:48:58 +02:00
azivner 0c007566ad fixes for invalid operations on root note 2018-10-21 22:42:20 +02:00
azivner bfa2b5fa62 add a check for root parent 2018-10-21 21:37:34 +02:00
azivner 6559e6c25b add children to relation map 2018-10-21 10:26:14 +02:00
azivner 627e5e0edb imported poc code 2018-10-18 11:53:01 +02:00
azivner 2a8de2653e added libraries for relation map 2018-10-18 11:46:07 +02:00
azivner e487dc1df7 basic infrastructure for "relation map" note type 2018-10-18 11:25:33 +02:00
azivner 04af8a3a96 fixed CTRL-ALT-P shortcut 2018-10-15 23:45:37 +02:00
azivner 209551a205 using new scrypt api from node 10 as a replacement of third party library 2018-10-14 11:48:29 +02:00
azivner c6bfd3909f sqlite3 binary for electron 4 2018-10-14 11:37:29 +02:00
azivner 8b7694d0ec use node 10 also for server edition 2018-10-14 11:35:31 +02:00
azivner 76c980b51f electron 4.0.0-beta.3 2018-10-14 11:31:23 +02:00
azivner 1de06b4fc9 fix links in README 2018-10-12 18:38:57 +02:00
azivner 949456212a fix for ckeditor stretching body 2018-10-12 13:40:06 +02:00
azivner 06a867773e minor library updates 2018-10-12 12:37:03 +02:00
azivner 269f56bdca release 0.23.0 2018-10-09 21:08:11 +02:00
azivner 5352f388a7 ckeditor updated to 11.1.0 2018-10-09 12:39:36 +02:00
azivner be94766f76 trigger events after note attributes are created 2018-10-08 11:09:45 +02:00
azivner 24673168bb api docs update 2018-10-07 16:27:12 +02:00
azivner b5bb653889 fancytree updated to 2.30.0 2018-10-07 14:34:05 +02:00
azivner b09071eb9b publish API to allow manipulating list of allowed mime types for #192 2018-10-07 14:25:17 +02:00
azivner 5f95ab95c9 code mirror update to 5.40.2 2018-10-07 12:02:07 +02:00
azivner 0ce8d1e7e8 ctrl+del already has a standard behavior so removing it as a shortcut to delete note 2018-10-06 23:16:43 +02:00
azivner b2776954a1 fix opening internal link from ckeditor link editing, fixes #191 2018-10-06 23:11:42 +02:00
azivner d65610429c don't show tooltip over ckeditor link editing dialog 2018-10-06 22:00:43 +02:00
azivner 62de7f28eb consistently use root/ prefix for note paths 2018-10-06 21:32:07 +02:00
azivner 257cced182 release 0.22.1 2018-09-11 10:15:15 +02:00
azivner 3af27845b5 report missing sync configuration when clicking on Test sync 2018-09-11 10:09:55 +02:00
azivner 9b425025c9 fix sync double initialization issue 2018-09-11 10:01:40 +02:00
azivner e8797a137f fix getting sync setup 2018-09-11 09:35:29 +02:00
azivner 947e875b6c added today script into demo document 2018-09-11 00:02:25 +02:00
azivner 15610626f1 fix for import issue 2018-09-10 23:41:11 +02:00
azivner eb84cfbef2 sync login now includes check for sync server initialization and initializes it if necessary
Test sync button strictly not necessary
2018-09-10 20:22:26 +02:00
azivner e4381d10e8 merged "Sync local document" into "Test sync" 2018-09-10 20:05:10 +02:00
azivner b4a566df9e electron 2.0.9 and other small library updates 2018-09-10 19:09:05 +02:00
azivner b20ff78653 revert server package to node 8 2018-09-09 17:53:55 +02:00
azivner 15888a5f8f sqlite binary for node 10 2018-09-09 12:57:11 +02:00
azivner a90c164bbe fix server build 2018-09-09 12:08:56 +02:00
azivner 4f3aa9cd79 release 0.22.0 2018-09-09 10:08:45 +02:00
azivner d248994143 updated windows scrypt binary 2018-09-09 09:46:15 +02:00
azivner 78518fbc60 note about platform support in README 2018-09-07 13:55:13 +02:00
azivner 50cd0c792c provide H4-H6, fixes #177 2018-09-07 13:47:26 +02:00
azivner 22e905aa99 enter on note in note tree leads to note title instead of content (second enter then goes to content) 2018-09-07 10:50:05 +02:00
azivner 8b41c1ef31 fix pasting HTML content into subnotes 2018-09-07 10:26:23 +02:00
azivner 492fde6f46 fix copy scrypt binary to correct directory 2018-09-06 23:23:19 +02:00
azivner 892a254e5a put missing options also to sqlInit 2018-09-06 23:21:14 +02:00
zadam 1ef3188213 cut selection and put it into subnote, fixes #171 2018-09-06 22:58:46 +02:00
azivner c76329e671 increased default min pane width to 350px 2018-09-06 12:02:42 +02:00
azivner c95e409b5e left pane sizing taking effect 2018-09-06 11:54:04 +02:00
azivner ff086569f2 saving options for left pane sizing 2018-09-06 11:17:30 +02:00
azivner bdc2fa1019 small refactoring of template and CSS 2018-09-06 09:33:38 +02:00
azivner 6668b55d6e use node 10 for docker and server package 2018-09-05 20:35:33 +02:00
azivner 46f37f7426 using @mlink/scrypt for node 10 compatibility 2018-09-05 15:14:20 +02:00
azivner bc669c7b81 markdown wiki reference on README 2018-09-03 21:06:24 +02:00
azivner 185fb4b787 release 0.21.0 2018-09-03 20:18:28 +02:00
azivner f2712e92bb minor demo db updates after change to paragraph layout 2018-09-03 20:14:45 +02:00
azivner 763f885cc7 commonjs modules should have "this" available 2018-09-03 17:31:52 +02:00
azivner 25f8df1e03 fix import for tars generated outside of trilium 2018-09-03 17:08:34 +02:00
azivner c7a609e349 new frontend API - getCurrentNoteContent and onNoteChange 2018-09-03 16:05:28 +02:00
azivner a3feaa13b3 single markdown file import, #166 2018-09-03 13:40:40 +02:00
azivner 4a58357a9a fixes & refactoring to markdown import 2018-09-03 13:17:29 +02:00
azivner c41b809720 markdown import 2018-09-03 12:05:44 +02:00
azivner 9bdd4437f2 export single note as markdown, #166 2018-09-03 09:40:22 +02:00
azivner 467ad79129 implemented markdown export, #166 2018-09-02 23:39:10 +02:00
azivner 0daeb71869 removing paragraph margin & padding collapse, #51, no migration yet 2018-09-02 23:03:44 +02:00
azivner 708874a02c #166 inline markdown import 2018-09-02 23:02:01 +02:00
azivner fa77132fe9 mention of markdown autoformat in README 2018-09-02 11:05:07 +02:00
azivner d3300df3d7 typo, fixes #164 2018-09-02 08:01:16 +02:00
azivner 4984b06d9f night theme in README 2018-09-01 17:50:49 +02:00
azivner 66c908f2b2 relations should be also prefixed by at-sign in bottom attribute panel 2018-09-01 15:49:35 +02:00
azivner 7199208d9d putting reddit importer back 2018-09-01 15:23:51 +02:00
azivner 8adc111b0a removed scripts which are outdated, demo document should be sufficient for now 2018-09-01 14:10:36 +02:00
azivner 1079ba1707 release 0.20.2 2018-09-01 14:08:37 +02:00
azivner 10ff504528 demo document update 2018-09-01 13:57:03 +02:00
azivner 005b66f4f4 smaller initial height of 800 to fit into 1600*900 display 2018-09-01 13:41:01 +02:00
azivner 792039227f cssClass is correctly filled for new note 2018-09-01 13:18:55 +02:00
azivner bc38172792 readme update 2018-09-01 11:04:31 +02:00
azivner c55bc471db fix note move to different parent in note cache 2018-08-31 19:55:56 +02:00
azivner fdc3a7a7f2 fix "search" button click 2018-08-31 19:23:56 +02:00
azivner a98d80db31 renamed subtree operations in context menu from "branch" to "subtree" 2018-08-31 18:22:53 +02:00
azivner 65d99f3f06 fixed bug which caused incorrect ordering of lazy loaded branches 2018-08-31 17:29:54 +02:00
azivner 85215aa440 fix timing issue when saving changes to notes 2018-08-31 00:08:04 +02:00
azivner cfa4cc4931 fix undefined Sync section in the config file 2018-08-30 23:28:38 +02:00
azivner ce9805c5bc protection against deleting root note 2018-08-30 22:38:34 +02:00
azivner 0442a44aab font slightly larger in setup + tiny visual tweaks 2018-08-30 22:28:57 +02:00
azivner be22d3cb4c new server package build without using pkg (fixes images stuff) 2018-08-30 21:57:14 +02:00
azivner dcc770c443 readme update 2018-08-30 11:56:12 +02:00
azivner a2d7be445f demo db update 2018-08-30 00:42:02 +02:00
azivner 3dd89ee9da release 0.20.1 2018-08-29 22:29:36 +02:00
azivner 561b514b84 refactored promoted attribute change handler 2018-08-29 22:28:58 +02:00
azivner bc61f17a3a changes in initial document 2018-08-29 21:36:42 +02:00
azivner 7c3d46d22a added jsdocs generated pages 2018-08-29 20:44:35 +02:00
azivner 1ece9b71ec fix inserting current timestamp into editor 2018-08-29 20:22:57 +02:00
azivner ee54dc3463 fix note placement from "create top level note" 2018-08-29 18:31:29 +02:00
azivner b65a6c97a1 added missing attributes dump 2018-08-28 23:39:12 +02:00
azivner dbca7bfb43 dump script + updated SQL dumps 2018-08-28 23:36:28 +02:00
azivner 3bb021fba1 entity deleltion should not trigger ENTITY_CHANGED event, it should be separate event 2018-08-28 23:17:56 +02:00
azivner b009bcb6a0 set originEntity to render note 2018-08-28 23:08:56 +02:00
azivner de4ace5ada overriding sync settings from config file, fixes #160 2018-08-28 21:13:40 +02:00
azivner 7ae2a24770 use relations to pick note to render, fixes #141 2018-08-28 20:55:21 +02:00
azivner 9cfa2ab1ba fix note cache record for newly created/updated protected notes 2018-08-28 19:22:46 +02:00
azivner 3ad7db39dd export branch => export subtree 2018-08-28 15:59:37 +02:00
azivner bc207d5e30 fix for protected note freezing because of double initialization of CKEditor 2018-08-28 15:03:23 +02:00
azivner d31a136442 mini refactoring 2018-08-28 14:26:11 +02:00
azivner 21a96d2776 listen to correct CKEditor event for data changes 2018-08-28 00:21:43 +02:00
azivner 174d4e67af fix encrypting new notes 2018-08-27 23:04:52 +02:00
azivner 4721ddc6b3 exceptions on decryption 2018-08-27 21:58:02 +02:00
azivner c79fb2cc12 more stable script button placement 2018-08-27 21:08:02 +02:00
azivner ad123cfc1a build fixes 2018-08-27 21:07:31 +02:00
azivner 05c9c5db50 fix server edition build for 10th time 2018-08-27 20:06:22 +02:00
azivner 2d1bc46c04 release 0.20.0 2018-08-27 18:59:54 +02:00
azivner 4bc44605fb don't short child: promoted attributes 2018-08-27 13:35:45 +02:00
azivner b868990fba using exact versions of packages from now on 2018-08-23 23:42:47 +02:00
azivner 26c06c9826 more API docs 2018-08-23 15:33:19 +02:00
azivner f5b89432a6 frontend script API documentation 2018-08-23 12:55:45 +02:00
azivner 0e7372adbf backend script API documentation 2018-08-23 10:10:04 +02:00
azivner d4fbe28517 jsdoc comments on entities 2018-08-22 23:37:06 +02:00
azivner 668528d5eb promoted attributes are visible in tooltip preview, fixes #158 2018-08-22 15:31:36 +02:00
azivner 17348a9cfe fix some issues 2018-08-22 14:40:49 +02:00
azivner 09b610701d removed not unique warning from attributes dialog as it's more common to have multi value 2018-08-21 13:51:35 +02:00
azivner 71e687ad8e child: prefix now copies attributes on new note creation 2018-08-21 13:49:45 +02:00
azivner 171877ce08 renamed inheritAttributes to template 2018-08-21 12:52:11 +02:00
azivner 4f1e6ec70f note API additions 2018-08-21 12:50:43 +02:00
azivner 1938c317c3 fix relation definition in dialog 2018-08-20 10:04:26 +02:00
azivner 99d81059d0 better common JS compatibility 2018-08-19 22:28:32 +02:00
azivner 59d5a86110 fix attachment attributes 2018-08-19 21:42:03 +02:00
azivner a5e56ea839 display a message if there's no recent change 2018-08-18 15:21:44 +02:00
azivner 44f85224e7 added new label type URL with open button, fixes #156 2018-08-18 15:00:52 +02:00
azivner 0aa08b1c1e relation promoted attribute has clickable button, fixes #155 2018-08-18 14:55:27 +02:00
azivner 406d74c4d7 initial focus on attribute type instead of name 2018-08-18 14:49:25 +02:00
azivner 7f9a8a55ca fix init of synced options in new database 2018-08-17 18:11:03 +02:00
azivner a42bbba0e5 unprotecting note outside of protected session is not forbidden because it could overwrite previous note 2018-08-17 15:21:59 +02:00
azivner 145efe67c3 better logging and notifications on script errors for easier debugging 2018-08-17 11:31:42 +02:00
azivner 513748836e note autocomplete and full text search should be able to find notes by noteId 2018-08-17 10:06:52 +02:00
azivner 427ce3972e protected notes detail is now marked with shield background instead of just grey background 2018-08-17 09:32:07 +02:00
azivner 02c0f9a6cd shrinkable note title so the design crumbles with smaller width 2018-08-16 23:16:17 +02:00
azivner 208771216e fix in passing originEntity from frontend to backend, some refactorings 2018-08-16 23:00:04 +02:00
azivner 385d97a9b3 recent notes now don't display current note, unification of autocomplete source handling 2018-08-16 21:02:42 +02:00
azivner e39d1d08ac easier API to add button to toolbar 2018-08-16 20:26:40 +02:00
azivner 0f106fb96f more relation events, events are now not triggered on sync changes 2018-08-15 22:06:49 +02:00
azivner df9acd0504 relation target noteIds need to be translated into local noteIds 2018-08-15 18:32:06 +02:00
azivner dbe0eb3f3a fix attribute name autocomplete, no tooltip preview on path selection 2018-08-15 18:22:02 +02:00
azivner 4513651e12 delete attributes when deleting note 2018-08-15 15:27:22 +02:00
azivner 3204291463 update codemirror to 5.39.2 2018-08-15 11:25:30 +02:00
azivner 510704a074 help buttons and existing custom HTML attribute refactoring to data-* 2018-08-15 10:14:14 +02:00
azivner f440493e45 use ISO dateformat on the frontend instead of european formatting 2018-08-15 08:48:16 +02:00
azivner b897c6de13 fix note revision saving 2018-08-15 08:44:54 +02:00
azivner acbd18e8fc links to documentation for attributes, links and search + fix for opening external links 2018-08-14 23:07:50 +02:00
azivner ff5b84db10 search (note) fixes 2018-08-14 22:50:05 +02:00
azivner 16535f6a73 small changes to attribute dialog 2018-08-14 21:02:42 +02:00
azivner 5b657ad961 minor package upgrades 2018-08-14 20:25:37 +02:00
azivner bbbc3e9dc4 one more fix for release of pkg 2018-08-14 19:52:17 +02:00
azivner f43f0e10a1 release 0.19.1 2018-08-14 18:06:31 +02:00
azivner 6d842a65a2 fix DB vacuum, fixes #154 2018-08-14 18:03:36 +02:00
azivner 50c4de021c fix for mysterious 404 not found notes like "appearance" 2018-08-14 18:00:11 +02:00
azivner 936d8449f6 fix & unify "show recent notes" buttons 2018-08-14 17:36:39 +02:00
azivner 462bc0edd5 attribute sync fix 2018-08-14 17:32:15 +02:00
azivner 35ef3c8470 fix migration 2018-08-14 16:09:30 +02:00
azivner 5117d43e29 fix pkg upload to github 2018-08-14 15:32:12 +02:00
azivner 7c9ac488e8 release 0.19.0 2018-08-14 14:19:37 +02:00
azivner fec1574447 fixed import with attributes 2018-08-14 14:17:10 +02:00
azivner f7587de452 fixes to multivalued input tabindex 2018-08-14 13:50:04 +02:00
azivner 41a6e777ea attributes coming from inheritAttributes are inherited only if the inheritAttributes relation itself is inheritable 2018-08-14 13:02:17 +02:00
azivner 8fb0de900b createNote API now accepts attributes instead of just labels 2018-08-14 12:54:58 +02:00
azivner a40bf71fd4 connection lost error is now logged only to the console, it was too annoying while being mostly harmless 2018-08-14 11:42:29 +02:00
azivner 2a53bb03ae fix autocomplete casing issue with first level notes 2018-08-13 21:01:14 +02:00
azivner a684879b91 primitive attribute caching inside note entity, fixes #149 2018-08-13 17:16:06 +02:00
azivner ddbd4f73c8 attributes can be inherited through special relation "inheritAttributes" 2018-08-13 17:05:16 +02:00
azivner b0ed790edf fix multivalue issue of not appearing when no attribute has been saved yet 2018-08-13 15:58:37 +02:00
azivner 3424406ff1 script API changes for task management #140 2018-08-13 13:53:08 +02:00
azivner ce5c385c15 fix search by attributes was finding also deleted attributes 2018-08-13 11:06:17 +02:00
azivner cd9eef32b0 support for cssClass label on note 2018-08-13 10:59:31 +02:00
azivner 12d82e3b33 listener exception doesn't stop execution 2018-08-13 09:49:39 +02:00
azivner f071d3f651 fix validation issue + attribute not triggering change event on delete 2018-08-13 09:39:07 +02:00
azivner 297b536ebc promoted attributes have tabindex following the title and before note content 2018-08-13 09:07:21 +02:00
azivner 7cca2d9247 realoding tree doesn't steal focus (important for promoted attribute changes with attached scripts) 2018-08-13 08:42:37 +02:00
azivner 36dc802d16 updated schema.sql 2018-08-13 07:57:23 +02:00
azivner c78ddb70cb all events are now synchronous 2018-08-12 20:07:02 +02:00
azivner 9fb0599c45 entities are now changed only if entity hash changed which will limit number of events emitted 2018-08-12 20:04:48 +02:00
azivner 13f524fb39 ENTITY_CHANGED event is emitted synchronously 2018-08-12 13:03:59 +02:00
azivner 27be3b4c90 fixes in tree loading 2018-08-12 12:59:38 +02:00
azivner af4ea66742 fix shift-up selection, fixes #146 2018-08-11 20:02:48 +02:00
azivner 0f42c396f3 image upload fixes + some API changes 2018-08-11 19:45:55 +02:00
azivner 9e96272eb3 fixed runOnAttributeChange event 2018-08-10 14:31:57 +02:00
azivner 965dbcbc9a renamed workEntity to originEntity 2018-08-10 13:30:20 +02:00
azivner 7ac109e7f7 fix label => attributes omissions 2018-08-09 20:55:16 +02:00
azivner ac25770c0e added runOnAttributeChange event 2018-08-09 20:08:00 +02:00
azivner 5b15424498 archived label now respects isInheritable flag, fixes #145 2018-08-08 16:14:35 +02:00
azivner f1240c26bf more cleanup of labels and relations from backend, dropping tables from db 2018-08-07 13:44:51 +02:00
azivner 1c0fd243d1 cleanup of labels and relations from backend 2018-08-07 13:33:10 +02:00
azivner 3491235533 cleanup of labels & relations frontend code 2018-08-07 12:48:11 +02:00
azivner 5f36856571 * refactoring of repository layer to represent booleans as true/false instead of 1/0
* show list of inherited attributes, fixes #136
* properly work with inheritance
2018-08-07 11:38:00 +02:00
azivner d3e44b37e9 autocomplete for promoted text labels 2018-08-06 22:52:49 +02:00
azivner 90e9297ec5 promoted relation attributes now work correctly, refactoring of note autocomplete code 2018-08-06 22:29:03 +02:00
azivner c568ef2f8a nice icons for add / remove attribute 2018-08-06 17:53:13 +02:00
azivner fcf6141cde support for promoted multi value attributes 2018-08-06 17:24:35 +02:00
azivner 21551d7b77 implemented date promoted attribute 2018-08-06 15:58:59 +02:00
azivner 12031d369f displaying and saving number and boolean promoted attributes 2018-08-06 15:23:22 +02:00
azivner b44c523845 basic support for saving promoted attributes 2018-08-06 14:43:42 +02:00
azivner 49989695ff fix relations in attributes 2018-08-06 11:30:37 +02:00
azivner a55d3530e9 attribute list on the bottom if there are no promoted attributes 2018-08-06 09:41:01 +02:00
azivner 2aab3ad281 fixes in attribute persistence + WIP on display of promoted attrs 2018-08-06 08:59:26 +02:00
azivner 194ce4f10f fixed UI for relation definition 2018-08-05 20:48:56 +02:00
azivner 2089c32839 attribute UI & saving now fully working 2018-08-05 20:08:56 +02:00
azivner f437be7af0 attribute definition work in progress 2018-08-03 22:56:49 +02:00
azivner 96dc56098d ckeditor upgrade to 11.0.1 with blocktoolbar 2018-08-03 22:56:23 +02:00
azivner 61987e46f7 work in progress on attributes UI - unification of labels and relations now mostly works 2018-08-03 13:06:56 +02:00
azivner 509093b755 added "type" to attribute dialog, name autocomplete servers according to the choice 2018-08-03 11:11:57 +02:00
azivner 097114c0f2 basic entities for attributes (unification of labels and relations) 2018-08-02 22:48:21 +02:00
azivner 040f9185f8 electron 2.0.6 and some other minor library upgrades 2018-08-02 19:55:20 +02:00
azivner 6dc934abbe refactored targetNote to workNote in the ScriptContext which was very confusing with relation's targetNote 2018-08-01 10:12:54 +02:00
azivner 2d24bf81dd added new label "sorted" which will keep children notes alphabetically sorted, fixes #82 2018-08-01 09:26:02 +02:00
azivner 9452fc236b electron build uses random free port, fixes #142 2018-07-31 19:50:18 +02:00
azivner 365c37604b code note in tooltip needs to be wrapped in <pre> to keep formatting, fixes #137 2018-07-30 16:55:20 +02:00
azivner 01c7e58d47 check if sync is configured every minute, not just at app startup, fixes #138 2018-07-30 16:45:34 +02:00
azivner d3d49923b1 changed backup to simple scheme with one daily, one weekly and one monthly backup, fixes #15 2018-07-30 16:40:50 +02:00
azivner 263ac299d0 fix pkg building 2018-07-30 14:18:43 +02:00
azivner 3d185a5178 release 0.18.0 2018-07-30 08:18:25 +02:00
azivner 2ff7a890bc script which shows list of edited files for a date, fixes #125 2018-07-29 20:51:28 +02:00
azivner 2eb1a9705f it's now possible to mark relation as inheritable (previously this was hardcoded for specific relation names) 2018-07-29 20:33:42 +02:00
azivner ed1381103a #125, implementation of inheritable relations 2018-07-29 18:39:10 +02:00
azivner 170d317589 #125, basic infrastructure for scripts attached to notes via relations 2018-07-29 16:06:13 +02:00
azivner ededc063df fix relation autocomplete 2018-07-29 12:34:40 +02:00
azivner 986eace1be schema update with relations 2018-07-29 11:47:46 +02:00
azivner 29086d8dfe fixed bug with select not firing on recent notes 2018-07-28 18:17:35 +02:00
azivner 9b3f3fde05 #126, relation list in note detail and fixes in saving 2018-07-28 17:59:55 +02:00
azivner 6a50afd952 #126, "show recent notes" now work in relations dialog 2018-07-28 17:02:48 +02:00
azivner 697eee2706 #126, autocomplete + can save relations 2018-07-27 11:28:24 +02:00
azivner 8a95afd756 #126, added skeleton of note relations, copied from similar concept of labels 2018-07-27 10:52:48 +02:00
azivner 4d6eda8fe6 #129, added input icon to trigger recent notes for easy discovery and mouse control 2018-07-27 09:22:25 +02:00
azivner e4f459fa2b #129, removed recent notes dialog as its not necessary anymore 2018-07-26 17:35:32 +02:00
azivner f578e001b0 #129, add link autocomplete now displays recent notes as well 2018-07-26 16:24:08 +02:00
azivner 2a08aef885 #129, recent notes are now visible in the jump to dialog 2018-07-26 16:05:09 +02:00
azivner 7564bf388c removed dangerous and unnecessary option to completely remove soft-deleted items 2018-07-26 09:21:52 +02:00
azivner 7e4d70259f soft-deleting note will delete its content and all the revisions content, fixes #132 2018-07-26 09:08:51 +02:00
azivner 5b98c1c0f3 fix context menu JS error on root note 2018-07-26 08:58:20 +02:00
azivner 02dc7b199b #98, better error reporting for sync setup 2018-07-25 22:54:37 +02:00
azivner d39cdbfada better instructions for desktop => server instance sync setup, plus some sync fixes 2018-07-25 10:57:36 +02:00
azivner 50bb4a47ee fix sync bug 2018-07-25 10:12:34 +02:00
azivner a4627f2ddb #98 some sync setup refactorings 2018-07-25 09:46:57 +02:00
azivner c8253caae9 #98 proxy support for sync setup 2018-07-25 08:30:41 +02:00
azivner 0ece9bd1be sync isExpanded when it's a new branch 2018-07-24 22:03:36 +02:00
azivner b6935abcc9 #98, sync button now shows total number of outstanding syncs instead of just pushes 2018-07-24 21:43:15 +02:00
azivner 37ab7b4641 #98, sync to server now works as well + a lot of related changes 2018-07-24 20:35:03 +02:00
azivner 013714cb5c #98, new option "initialized" which indicates if setup has been finished 2018-07-24 08:12:36 +02:00
azivner 1fe7c62f5a #98, sync setup now doesn't copy the whole DB file, but sets up minimal database and starts off sync 2018-07-23 21:15:32 +02:00
azivner a06618d851 #98, test sync impl 2018-07-23 10:29:17 +02:00
azivner e7460ca3a9 #98, sync is now configured in the options 2018-07-22 22:21:16 +02:00
azivner 073300bbcd #98, working sync setup from server to desktop instance + refactoring of DB initialization 2018-07-22 19:56:20 +02:00
azivner a201661ce5 #98, fixes in the wizard 2018-07-22 14:49:59 +02:00
azivner 6235a3c886 beginning of #98, new multistep wizard, db creation after user enters username and password 2018-07-21 08:55:24 +02:00
azivner 3972c27e7a release 0.17.0 2018-07-09 21:22:12 +02:00
azivner 14cffbbe62 docker commands with sudo 2018-07-09 21:21:28 +02:00
azivner 599c3c04af correct sourceMappingURL which gets rid of error message, fixes #114 2018-07-08 23:23:49 +02:00
azivner f1412b631d hide log polluting error message 2018-07-08 23:13:56 +02:00
azivner 41908050bb ctrl+u now doesn't trigger show source since it's occupied by underline 2018-07-08 21:45:05 +02:00
azivner f07033423c ckeditor upgraded to 10.1.0 plus new plugins (table, strikethrough, underline) 2018-07-08 21:21:52 +02:00
azivner daf96fcbf2 using zeit/pkg to package easy to use linux server edition 2018-07-06 00:05:06 +02:00
azivner 2bca94529e minor upgrades 2018-07-05 23:17:53 +02:00
azivner b2c9a0da21 fix note sources, fixes #123 2018-07-04 20:37:23 +02:00
azivner 7a9542b4fc release 0.16.0 2018-06-16 13:34:39 -04:00
azivner 3a95c9e1bc all dialogs are now non-modal because of high cpu usage 2018-06-16 13:31:56 -04:00
azivner 3d2ef6be01 remove optionId, closes #117 2018-06-13 19:10:28 -04:00
azivner d67246699a Introduced separate sync version (previously DB version was used to check sync compatibility), closes #120 2018-06-10 15:55:29 -04:00
azivner 14c704d6db db upgrades are now handled transparently in the background without bothering the user, closes #119 2018-06-10 15:49:22 -04:00
azivner 4c8eeb2e6f added docker build, closes #106 2018-06-10 15:06:52 -04:00
azivner c1b245c8b1 fix unnecessary change events, closes #118 2018-06-10 11:51:13 -04:00
azivner 74202d67bb got rid of "Trilium Notes" branding - not necessary and takes valuable space 2018-06-10 10:57:45 -04:00
azivner 26066f39b1 chaged "focused mode" - now title is displayed as well and together with content takes whole window 2018-06-10 10:53:39 -04:00
azivner b255cf190c fixes for zoom factor setting 2018-06-09 10:34:51 -04:00
azivner bc77b143b0 darker outlines so inverted dark themes are more visible 2018-06-09 09:48:18 -04:00
azivner 9f0ff6ae7a note actions dropdown sizing 2018-06-09 09:44:40 -04:00
azivner 736704c7d6 fix show paths 2018-06-09 09:32:13 -04:00
azivner 654c116c58 use backgrounds for icon buttons so that dark and black themes look better 2018-06-09 09:28:50 -04:00
azivner 89a5cab98f added too options new tab appearance with possibility to change theme (white, black, dark) and zoom factor 2018-06-08 23:18:53 -04:00
azivner c39d0be8cd refactoring of icon button styles 2018-06-08 22:17:00 -04:00
azivner e75b4cd848 execute on script note is icon, closes #116 2018-06-08 21:59:40 -04:00
azivner 378e8f35e5 release 0.15.0 2018-06-07 23:09:21 -04:00
azivner bdb5e2f13f no results also for "add link" 2018-06-07 23:08:41 -04:00
azivner 8211bed449 renamed icons according to their size, fixes #113 2018-06-07 23:02:21 -04:00
azivner b243632483 usability improvements to autocomplete ("no results" etc.), needs refactoring 2018-06-07 20:18:46 -04:00
azivner e4d2513451 close search button 2018-06-07 19:50:16 -04:00
azivner 385144451b renamed hideInAutocomplete label to archived 2018-06-07 19:26:28 -04:00
azivner c8c533844e icons for render & toggle edit since text titles caused unwanted horizontal scrolling in smaller window sizes 2018-06-06 23:37:57 -04:00
azivner 0e69f0c079 fix recent notes issues 2018-06-06 22:38:36 -04:00
azivner aee60c444f added "show results in full text" 2018-06-05 23:28:10 -04:00
azivner e7a504c66b fixes and optimizations for search 2018-06-05 22:47:47 -04:00
azivner 45d9c7164c search refactorings 2018-06-05 19:12:52 -04:00
azivner bd913a63a8 search note fixes 2018-06-04 23:21:45 -04:00
azivner 5a1938c078 better sizing of search pane 2018-06-04 20:22:41 -04:00
azivner 015cd68756 renaming/refactoring of search services 2018-06-04 19:48:02 -04:00
azivner 76c0e5b2b8 new UI for search, closes #108 (still needs cleanup) 2018-06-03 20:42:25 -04:00
azivner 0f8f707acd persisting zoom setting in electron, fixes #112 2018-06-02 13:02:20 -04:00
azivner 083cccea28 better protected/unprotected note indicator, fixes #110 2018-06-02 11:47:16 -04:00
azivner 31b76b23ce release 0.14.1 2018-06-02 09:39:37 -04:00
azivner af529f82e5 fixed false sync error reporting 2018-06-02 09:39:04 -04:00
azivner fc6669d254 initialization and schema fixes, closes #111 2018-06-01 22:26:37 -04:00
azivner c07785be67 release 0.14.0 2018-05-31 23:23:44 -04:00
azivner 80d2457b23 moved parent list next to note title 2018-05-31 23:21:47 -04:00
azivner 5dde2752d2 add switch to manually enter/leave protected session, fixes #107 2018-05-31 20:00:39 -04:00
azivner 8bf4633cd0 fixes 2018-05-30 23:18:56 -04:00
azivner bd66b8a1c8 fix issue with limitation of number of SQLite parameters (999) which caused problems when loading tree which was too expanded 2018-05-30 20:28:10 -04:00
azivner be51e533fc OPML import support (issue #78) 2018-05-29 20:32:13 -04:00
azivner f47ae12019 OPML export support (issue #78), import missing for now 2018-05-27 12:26:34 -04:00
azivner cab54a458f unifying surrogate keys for event log and options, fixes #103 2018-05-26 23:25:09 -04:00
azivner a30734f1bc Add history backwards/forwards buttons, fixes #94 2018-05-26 22:54:06 -04:00
azivner 7ad9f7b129 fixed layouting issues 2018-05-26 19:58:08 -04:00
azivner 40a32e6826 render notes can be edited and can contain HTML markup 2018-05-26 19:27:47 -04:00
azivner ab0486aaf1 expose root node, fixes #101 2018-05-26 16:16:34 -04:00
azivner 874593a167 fix code editor growing 2018-05-26 15:28:36 -04:00
azivner 03bf33630e unify audit fields, fixes #102 2018-05-26 12:38:25 -04:00
azivner 933cce1b94 fix hideInAutocomplete bug 2018-05-26 10:50:13 -04:00
azivner 4a6ff573f8 fixed autocomplete issues with capitalization 2018-05-26 10:24:33 -04:00
azivner 1a737f7d19 expose add link on UI, fixes #95 2018-05-26 10:04:40 -04:00
azivner cb69914f09 release 0.13.0-beta 2018-05-22 23:51:43 -04:00
azivner a372cbb2df fix #105 2018-05-22 23:51:13 -04:00
azivner 0ce5caefe8 refactoring 2018-05-22 22:22:15 -04:00
azivner 94dabb81f6 fix sync of unsyncable options 2018-05-22 19:29:18 -04:00
azivner cd45bcfd03 converted option operations to repository 2018-05-22 00:22:43 -04:00
azivner 49a53f7a45 added hash columns for faster sync check calculation 2018-05-22 00:15:54 -04:00
azivner 9fa6c0918c add index for note's type + some fixes 2018-05-21 20:12:46 -04:00
azivner e8d089e37e ckeditor 10.0.0 2018-05-21 19:35:49 -04:00
azivner a931ce25fa attempt to fix the hoek security warning with package upgrade 2018-05-21 16:08:34 -04:00
azivner b507abb4f7 electron upgrade to 2.0.0 2018-05-08 16:39:01 -04:00
azivner 66e7c6de62 fix ordering 2018-04-21 12:23:35 -04:00
azivner 4ce5ea9886 autocomplete supports encrypted notes now as well 2018-04-20 00:12:01 -04:00
azivner 8c54b62f07 fix protect branch 2018-04-19 22:18:19 -04:00
azivner 85eb50ed0f autocomplete with prefixes 2018-04-19 20:59:44 -04:00
azivner 5ffd621e9d autocomplete respects hideInAutocomplete label 2018-04-19 00:13:55 -04:00
azivner df93cb09da fix hide-toggle 2018-04-18 23:13:37 -04:00
azivner bbf04209f0 autocomplete cache gets updated with note update 2018-04-18 23:11:30 -04:00
azivner 834bfa39c7 limit number of results to 200, other tweaks 2018-04-18 20:56:23 -04:00
azivner 52b445f70b Merge branch 'stable' 2018-04-18 20:22:16 -04:00
azivner 7b9b4fbb0c backend autocomplete WIP 2018-04-18 00:26:42 -04:00
azivner 5af0ba1fcb layout fixes 2018-04-17 20:04:27 -04:00
azivner 85a9748291 fix for clones & optimizations 2018-04-16 23:34:56 -04:00
azivner b4005a7ffe optimizations to the lazy loading - expanding tree now takes only one request 2018-04-16 23:13:33 -04:00
azivner 82de1c88d4 basic lazy loading of tree now works, still WIP 2018-04-16 20:40:18 -04:00
azivner 1687ed7e0b load only expanded tree with the rest being lazy loaded, WIP 2018-04-16 16:26:47 -04:00
azivner c8b9c7d936 release 0.12.0 2018-04-14 08:28:50 -04:00
azivner d57057ba28 fix note ordering sync 2018-04-14 08:23:06 -04:00
azivner 66cee8daa4 restructuring CSS grid/flex which fixes jumpy scrolling in tree 2018-04-13 19:58:33 -04:00
azivner afd7df0942 fix collapse tree button 2018-04-13 19:22:12 -04:00
azivner bd6ae33d32 fancytree upgrade to 2.28.1 2018-04-12 20:42:12 -04:00
azivner 70660a0d68 Merge branch 'stable' 2018-04-12 20:04:01 -04:00
azivner cdad18551a upgrade CKEditor to 1.0 beta.2, fixes #93 2018-04-12 20:03:23 -04:00
azivner 592c51d1a5 fix note reordering sync again 2018-04-12 18:31:29 -04:00
azivner 6a57b8a7e7 fix ordering sync 2018-04-12 18:13:48 -04:00
azivner 7a94e21c54 tabindex 2 for text and code editor so that tabbing from title leads to editor focus 2018-04-11 22:44:33 -04:00
azivner 5b43f321e2 release 0.11.1 2018-04-11 00:10:33 -04:00
azivner a4eafb934f non null note title and content in the DB schema, allow saving non-valid JSON notes, children overview style changes 2018-04-11 00:10:11 -04:00
azivner 7b59a665dd hideChildrenOverview label which can disable children overview for specific notes 2018-04-10 23:15:41 -04:00
azivner 3d15450ffc children overview styling 2018-04-10 21:08:00 -04:00
azivner b0c6d52461 can't rollback transaction multiple times 2018-04-10 20:28:02 -04:00
azivner 2dc16dd29f release 0.11.0-beta 2018-04-09 22:38:37 -04:00
azivner d8924c536b Merge branch 'master' into stable 2018-04-09 22:30:50 -04:00
azivner 3ebbf2cc46 fix generating build.js 2018-04-09 22:30:11 -04:00
azivner f4079604c9 basic implementation of children overview, closes #80 2018-04-08 22:38:52 -04:00
azivner 1f96a6beab export & import work correctly with clones 2018-04-08 13:14:30 -04:00
azivner b277a250e5 protected notes are not in autocomplete when not in protected session, fixes #46 2018-04-08 12:27:10 -04:00
azivner 5b0e1a644d codemirror now doesn't hijack alt-left/right, fixes #86 2018-04-08 12:17:42 -04:00
azivner 6bb3cfa9a3 note revisions for code is now properly formatted, fixes #97 2018-04-08 12:13:52 -04:00
azivner 9720868f5a added type and mime to note revisions 2018-04-08 11:57:14 -04:00
azivner 8d8ee2a87a small sync refactorings 2018-04-08 10:09:33 -04:00
azivner 542e82ee5d upgraded uncompressed jquery 2018-04-08 09:40:28 -04:00
azivner 0104b19502 naming standards 2018-04-08 09:25:35 -04:00
azivner 120888b53e fix JSON saving bug 2018-04-08 08:31:19 -04:00
azivner d2e2caed62 refactoring of note saving code & API 2018-04-08 08:21:49 -04:00
azivner 63066802a8 fix showMessage, showError
(cherry picked from commit 6128bb4)
2018-04-08 07:49:21 -04:00
azivner 6128bb4ff3 fix showMessage, showError 2018-04-08 07:48:47 -04:00
azivner 982796255d sync content check refactoring 2018-04-07 22:59:47 -04:00
azivner 36b15f474d sync cleanup 2018-04-07 22:32:46 -04:00
azivner 13f71f8967 bulk push sync 2018-04-07 22:25:28 -04:00
azivner 64336ffbee implemented bulk sync pull for increased performance 2018-04-07 21:53:42 -04:00
azivner b09463d1b2 async logging of info messages 2018-04-07 21:30:01 -04:00
azivner b5e6f46b9c release 0.10.2-beta 2018-04-07 16:07:25 -04:00
azivner 08af4a0465 fix code mirror loading 2018-04-07 15:56:46 -04:00
azivner 8c5df6321f fix windows sqlite binary for electron 2.0 2018-04-07 13:18:08 -04:00
azivner d19f044961 fix bug 2018-04-07 13:14:01 -04:00
azivner e378d9f645 label service refactoring + rename of doInTransaction to transactional 2018-04-07 13:03:16 -04:00
azivner 39dc0f71b4 fix execute note 2018-04-06 19:41:48 -04:00
azivner 0cef5c6b8c added showMessage/showError to script api as they are being used 2018-04-06 19:08:42 -04:00
azivner 9b5a44cef4 fix bugs 2018-04-06 18:49:37 -04:00
azivner 29769ed91d fix force note sync 2018-04-06 18:46:29 -04:00
azivner 867d794e17 release 0.10.1-beta 2018-04-06 00:15:04 -04:00
azivner fdd8458336 fix sync branch route 2018-04-05 23:45:39 -04:00
azivner a0bec22e96 fix non-200 logging 2018-04-05 23:35:49 -04:00
azivner 5aeb5cd214 jquery upgrade to 3.3.1 2018-04-05 23:18:15 -04:00
azivner e827ddffb9 electron fixes 2018-04-05 23:17:19 -04:00
azivner 98f80998b9 fix electron build 2018-04-05 19:29:27 -04:00
azivner 69727d0b12 release 0.10.0-beta 2018-04-04 23:57:46 -04:00
azivner 84faf32b98 updated scripts 2018-04-04 23:55:19 -04:00
azivner 6ed6e27602 startup script running fix 2018-04-04 23:51:47 -04:00
azivner fb54678fef getNoteWithLabel fix 2018-04-04 23:43:54 -04:00
azivner 2cdcb3af12 camel casing and fixes 2018-04-04 23:04:31 -04:00
azivner cf7a336ac2 camel case for reddit labels and run values 2018-04-04 22:29:11 -04:00
azivner abfc64af95 script to generate large documents, closes #55 2018-04-03 22:15:28 -04:00
azivner 42dd8d4754 smaller refactorings 2018-04-02 22:53:01 -04:00
azivner a4e64350e9 fixed schema, initial setup 2018-04-02 22:33:54 -04:00
azivner 6f567e3e10 camelCase builtin labels 2018-04-02 21:56:55 -04:00
azivner c6c76ba360 option names now follow camelCase 2018-04-02 21:47:46 -04:00
azivner 429d3f518e moved instanceName to index.ejs 2018-04-02 21:34:28 -04:00
azivner 26e4ad9bf9 separated DB initialization methods into sql_init 2018-04-02 21:25:20 -04:00
azivner 6ab0cea4e3 split out dateUtils on the backend 2018-04-02 20:46:46 -04:00
azivner 277368ab43 simplified new entity ID allocation 2018-04-02 20:30:00 -04:00
azivner e2921a648d refactored backend to use new naming convention for modules 2018-04-01 21:27:46 -04:00
azivner c765dbc5cf continuing in API review 2018-04-01 20:50:58 -04:00
azivner a066c6fe2b changes in API format 2018-04-01 20:33:10 -04:00
azivner 311952d4dd renamed settings to options for consistency 2018-04-01 17:41:28 -04:00
azivner 96dab5d51e smaller refactorings continued 2018-04-01 17:38:24 -04:00
azivner 15d951b04e smaller refactorings continued 2018-04-01 12:45:35 -04:00
azivner 8ba830c04b smaller refactorings continued 2018-04-01 12:03:21 -04:00
azivner acc82f39c4 smaller refactorings continued 2018-04-01 11:42:12 -04:00
azivner fad0ec757b smaller refactorings (mostly entitization) 2018-04-01 11:05:09 -04:00
azivner c9d73c6115 renamed outstanding attribute references to labels 2018-04-01 09:59:44 -04:00
azivner ab2f28ceef added missing sync check hashes 2018-03-31 23:19:54 -04:00
azivner 87e415992c removed support for old option schema of opt_name and opt_value 2018-03-31 23:11:43 -04:00
azivner 12439d8761 refactoring of note deletion 2018-03-31 23:08:22 -04:00
azivner 4f200c73dc refactoring of note creation 2018-03-31 22:23:40 -04:00
azivner 5f7e74e15c refactoring of note update 2018-03-31 22:15:06 -04:00
azivner e8a5d0ae16 converted note revision protection to repository/entities 2018-03-31 10:51:37 -04:00
azivner 088fb00ca9 repository is now stateless 2018-03-31 09:07:58 -04:00
azivner 05676f3459 removed dataKey where it's not necessary anymore (use of CLS instead) 2018-03-31 08:53:52 -04:00
azivner 5d203b2278 removed sourceId where it's not necessary (stored in CLS instead) 2018-03-30 19:41:54 -04:00
azivner 795d50f02e converted of web (non-api) routes, basic conversion completed 2018-03-30 19:31:22 -04:00
azivner cfe0ae1eda converted file, script, search and sender routes 2018-03-30 17:29:13 -04:00
azivner aa57a64c61 converted image and maintainance routes 2018-03-30 17:07:41 -04:00
azivner e36a81e189 converted export/import notes 2018-03-30 15:34:07 -04:00
azivner 88c07a9e48 converted sync route 2018-03-30 14:27:41 -04:00
azivner bfd9f292a6 Merge remote-tracking branch 'origin/stable' 2018-03-30 14:05:11 -04:00
azivner 9edee9340b converted settings, note revisions, password change and recent changes routes 2018-03-30 13:56:46 -04:00
azivner 8550ed72f2 converted cloning and label routes 2018-03-30 13:20:36 -04:00
azivner efffc29649 initial work on new router model 2018-03-30 12:57:22 -04:00
azivner 0ec909fd7a added basic CLS support with re-entrant transactions 2018-03-28 23:41:22 -04:00
azivner b10b0048f3 split out library loader 2018-03-27 22:42:46 -04:00
azivner 9bb188b519 fix unnecessary popups about leaving the page 2018-03-27 22:27:46 -04:00
azivner 7464835058 renamed "attachment" to "file" for consistency 2018-03-27 22:11:06 -04:00
azivner 913b6bb6f6 abstracted note detail components 2018-03-27 21:46:38 -04:00
azivner 000cf99546 split out render and search from note detail service 2018-03-27 21:36:01 -04:00
azivner c918267750 separated attachments out of note detail 2018-03-27 00:27:38 -04:00
azivner 68921ee59b separated text and code handling out of note detail service 2018-03-27 00:22:02 -04:00
azivner 7e856283ee some refactorings of note detail service 2018-03-26 23:48:45 -04:00
azivner 9c1b8da573 split out keybindings out of tree service 2018-03-26 23:25:54 -04:00
azivner cb39b9cca8 split out tree_builder 2018-03-26 23:18:50 -04:00
azivner 788ac43ad1 further refactorings, got rid of init.js 2018-03-26 22:29:14 -04:00
azivner 57d19f3302 refactored moving note in the tree 2018-03-26 22:11:45 -04:00
azivner 68bba623b6 split up autocomplete related functionality 2018-03-26 21:50:47 -04:00
azivner 35998058ce introduced NoteFull entity, fixes 2018-03-25 23:25:17 -04:00
azivner cdf94181d2 got rid of instanceName in tree service 2018-03-25 22:56:23 -04:00
azivner 91ee90d827 cleanup in tree service 2018-03-25 22:37:02 -04:00
azivner d3316cd09c reduced dependencies of utils 2018-03-25 21:29:35 -04:00
azivner ac1b06967f decoupled protected session holder from presentation stuff and similar things 2018-03-25 21:16:57 -04:00
azivner 47eb1e3e02 refactored all mentions of "history" to "revision" 2018-03-25 20:52:38 -04:00
azivner a69d8737ce fixed image upload and eslint 2018-03-25 20:18:08 -04:00
azivner 341f47f0f2 moved dialog entrypoints into bootstrap, fixes 2018-03-25 19:49:33 -04:00
azivner 19c605a9a8 labels have now alt-l shortcut to correspond with the renaming 2018-03-25 15:47:31 -04:00
azivner 54e4f54678 all access to notes and branches is now async so we can lazy load it in the future 2018-03-25 14:49:20 -04:00
azivner 297a2cd9da renamed service variables to conform to new naming scheme 2018-03-25 13:41:29 -04:00
azivner d746d707b5 unblocking infinite cycle 2018-03-25 13:13:26 -04:00
azivner 299252b650 making WS connection asynchronous to not block module registration 2018-03-25 13:08:58 -04:00
azivner fddd1c278f moved services into the service directory 2018-03-25 13:02:39 -04:00
azivner f52d7e3c28 split tree_cache and entities from note_tree 2018-03-25 12:29:00 -04:00
azivner a699210a29 using ES6 modules for whole frontend SPA app 2018-03-25 11:09:17 -04:00
azivner b3c32a39e9 fix for moving the notes 2018-03-25 10:06:14 -04:00
azivner df27533b66 fixes after refactorings 2018-03-25 00:20:55 -04:00
azivner b96a1274c5 all JS functions are now inside old-school JS modules, preparation for ES6 modularization 2018-03-24 23:58:58 -04:00
azivner 001a5107dd ScriptApi separated from ScriptContext, preparation for modularisation 2018-03-24 23:45:36 -04:00
azivner c8e456cdb1 refactoring utils into module 2018-03-24 23:37:55 -04:00
azivner 0f6b00e1c8 fixes after refactoring, base functionality works again 2018-03-24 23:00:12 -04:00
azivner 5ea060a054 renaming attributes to labels in readme 2018-03-24 22:17:31 -04:00
azivner 95bb2cf0bb renaming attributes to labels, fixes #79 2018-03-24 22:02:26 -04:00
azivner 4c472ce78b renaming note_tree to branch 2018-03-24 21:39:15 -04:00
azivner 511fb89af0 WIP refactoring of data structures in note tree 2018-03-24 20:41:27 -04:00
azivner 7e524c0cd1 removed some warnings in idea 2018-03-24 12:52:58 -04:00
azivner e3e2dc9fff first POC of ES6 module 2018-03-24 11:18:46 -04:00
azivner 1612e9093d removed all onclick handlers from index template 2018-03-24 00:54:50 -04:00
azivner f8649feea4 saved search can now be created from the search dialog 2018-03-23 23:08:29 -04:00
azivner ac978c3fa7 upgrade to electron 2.0.0-beta.5, fixes #65 2018-03-23 21:01:49 -04:00
azivner efcc804149 redesign search buttons 2018-03-13 20:02:00 -04:00
azivner db514e8f41 display note type only for non-search notes 2018-03-13 19:47:34 -04:00
azivner 9c32f66329 context menu disables actions not applicable to search note 2018-03-13 19:31:07 -04:00
azivner 0fd5102a26 added consistency check for search note not containing children 2018-03-13 19:18:52 -04:00
azivner 840af15dae release 0.9.2 2018-03-13 08:22:25 -04:00
azivner f1b0b3bcdb basic implementation of saved searches finished, closes #83 2018-03-12 23:27:21 -04:00
azivner e5c0acbb43 note tree refactorings 2018-03-12 23:14:09 -04:00
azivner 834661c461 Merge remote-tracking branch 'origin/master' 2018-03-12 20:00:29 -04:00
azivner 5204ab5a7e refactoring of note tree 2018-03-12 20:00:19 -04:00
azivner 74862536a8 Merge branch 'stable' 2018-03-12 19:46:43 -04:00
zadam a24f1f5b95 Merge pull request #90 from gitter-badger/gitter-badge
Add a Gitter chat badge to README.md
2018-03-11 18:52:32 -04:00
The Gitter Badger 0be76f746a Add Gitter badge 2018-03-11 22:46:54 +00:00
azivner fad89ff63f added Theming to list of pages 2018-03-11 13:09:28 -04:00
azivner b8ae791191 icon for saved seach 2018-03-11 10:53:10 -04:00
azivner ce754cbd91 saving saved search, #73 2018-03-11 10:49:22 -04:00
azivner 0fdb6af98a Merge branch 'master' into stable 2018-03-10 20:33:58 -05:00
azivner f6c7f6a0f2 added require() method for commonJS compliancy 2018-03-10 11:53:51 -05:00
azivner 354999f37a fix weight tracker script 2018-03-09 19:28:38 -05:00
azivner 348c622845 release 0.9.1-beta 2018-03-09 00:12:22 -05:00
azivner 44bcdedaba Updated all scripts to current versions working with current script API 2018-03-09 00:10:43 -05:00
azivner 755c0f3ce2 fix exclude from export 2018-03-09 00:10:02 -05:00
azivner 895bda41b5 return only startup bundles for executale notes 2018-03-08 23:36:08 -05:00
azivner b2df622cb6 Merge branch 'stable' 2018-03-08 23:35:17 -05:00
azivner 9ba6e6d0f5 disable inclusion should work only on non-root notes 2018-03-08 23:35:08 -05:00
azivner a5c9180533 release 0.9.0-beta 2018-03-08 20:18:37 -05:00
azivner e86f1e0d05 changes to the HTML template to allow more complete styling 2018-03-07 23:58:34 -05:00
azivner b6277049f3 added support for app_css attribute, which allows custom styling 2018-03-07 23:24:23 -05:00
azivner c831221cc4 add "play" icon for "render" note types 2018-03-07 20:52:34 -05:00
azivner 577a168714 stop propagation of ctrl+enter from SQL console, fixes #73 2018-03-07 20:46:01 -05:00
azivner b0bd27321a escape will close SQL console, closes #72 2018-03-07 20:33:41 -05:00
azivner 90c5348ca7 fix saving only image in a note, fixes #77 2018-03-07 20:19:53 -05:00
azivner 8e95b080da fixed render notes 2018-03-07 00:17:18 -05:00
azivner 766a567a32 changes in access to startNote and currentNote 2018-03-06 23:04:35 -05:00
azivner 6d0218cb36 execute note (ctrl+enter) now works for both frontend and backend scripts 2018-03-05 23:19:46 -05:00
azivner d26170762b inclusion of scripts based on script environment 2018-03-05 23:09:36 -05:00
azivner b3209a9bbf split javascript mime type into frontend and backend 2018-03-05 22:08:45 -05:00
azivner 61c2456cf6 startNote/currentNote is now accessible on frontend as well 2018-03-04 23:28:26 -05:00
azivner 1c6fc9029f new "disable_inclusion" attribute 2018-03-04 22:09:51 -05:00
azivner 5c91e38dfe server.exec() refactored into api 2018-03-04 21:43:14 -05:00
azivner 07bf075894 cleaned up unused jobs implementation 2018-03-04 21:33:06 -05:00
azivner ddce5c959e fix render 2018-03-04 21:05:14 -05:00
azivner 3b9d1df05c fixed frontend script execution 2018-03-04 14:21:11 -05:00
azivner d239ef2956 refactoring of getModules function 2018-03-04 12:06:35 -05:00
azivner 7a865a9081 common JS module system prototype 2018-03-04 10:32:53 -05:00
azivner 83d6c2970f added versioning to the metadata files in export tars 2018-03-03 09:32:21 -05:00
azivner 8c7d159012 fix export/import for multi-valued attributes 2018-03-03 09:30:18 -05:00
azivner d169f67901 changes in backend script running 2018-03-03 09:11:41 -05:00
azivner 982b723647 basic scheduling of backend scripts using attributes 2018-03-02 20:56:58 -05:00
azivner 31d5ac05ff release 0.8.1 2018-03-01 23:08:53 -05:00
azivner 72d91d1571 don't use eslint on JSON notes, closes #70 2018-03-01 22:42:51 -05:00
azivner f4b57f4c57 Allow attachments to be included in the scripts, closes #66 2018-03-01 22:30:06 -05:00
azivner ee0833390a fix export in electron (auth problem) 2018-02-27 09:47:05 -05:00
azivner 2acff07368 release 0.8.0-beta 2018-02-26 22:57:15 -05:00
azivner bea1d24f07 tweaks to eslint 2018-02-26 22:55:58 -05:00
azivner adc270c59f removed reference to reddit plugin 2018-02-26 22:31:35 -05:00
azivner 66064f7a94 Script API changes, finished porting reddit plugin, reddit importer tar file 2018-02-26 20:47:34 -05:00
azivner 1501fa8dbf import notes from tar archive, closes #63 2018-02-26 00:07:43 -05:00
azivner 60bba46d80 export subtree to tar file 2018-02-25 10:55:21 -05:00
azivner 12c06ae97e manual transaction handling for jobs 2018-02-24 22:44:45 -05:00
azivner f0bea9cf71 API changes necessary to port reddit plugin, closes #58 2018-02-24 21:23:04 -05:00
azivner a555b6319c support for backend jobs and other script API changes 2018-02-24 14:42:52 -05:00
azivner 5dd93e4cdc eslint for javascript inside HTML (htmlmixed mode), closes #62 2018-02-24 00:58:11 -05:00
azivner 3b4509d833 support encryption for files, closes #60 2018-02-23 22:58:24 -05:00
azivner 19308bbfbd small changes to linting and protected session 2018-02-23 20:10:29 -05:00
azivner 4acc5432c3 autocomplete returns items which have at least one of the tokens in the leaf note title, closes #59 2018-02-22 19:52:08 -05:00
azivner 08b8141fdf upgrade to codemirror 5.35 2018-02-21 23:09:52 -05:00
azivner e1200aa308 lazy loading of eslint only for JS code 2018-02-21 20:30:15 -05:00
azivner 89666eb078 paperclip icon for attachment, closes #61 2018-02-21 19:53:46 -05:00
azivner d5605aa64d initial support for eslint backed JS linting 2018-02-20 23:24:55 -05:00
azivner 2582b016f9 increased "connection lost" timeout from 5 seconds to 30, it was way to common and mostly false positive 2018-02-20 07:52:39 -05:00
azivner e8c52e25f0 release 0.7.0-beta 2018-02-19 23:03:30 -05:00
azivner a149c6a105 lazy / dynamic loading of CKEditor and Code mirror 2018-02-19 22:02:03 -05:00
azivner 131af9ab12 fix attachment sync 2018-02-18 22:55:36 -05:00
azivner aa2bbc6575 attachment download now works also in electron, added option to open the attachment 2018-02-18 22:19:07 -05:00
azivner 78e8c15786 attachment upload and download now works for browser 2018-02-18 21:28:24 -05:00
azivner fda4146150 correct handling of inclusion of dependencies 2018-02-18 10:47:02 -05:00
azivner ddc885066e support passing functions to the backend as parameters 2018-02-18 09:53:36 -05:00
azivner 08bc2afb49 now it's possible to add comment to the weight, closes #54 2018-02-17 11:47:22 -05:00
azivner 1d0220b03d add weight causes updating old chart instead of creating new chart, closes #53 2018-02-17 10:45:00 -05:00
azivner 3033f7cc08 attribute value is now non-null, fixes #52 2018-02-16 19:07:59 -05:00
azivner 6b9ff47c88 Merge branch 'stable' 2018-02-15 23:24:02 -05:00
azivner fd02c6102d release 0.6.2 2018-02-15 23:08:02 -05:00
azivner 30c712a6be updated package-lock 2018-02-15 23:07:58 -05:00
azivner 3928c96640 electron update to 1.8.2 stable 2018-02-15 23:05:18 -05:00
azivner d86f655658 attempt to mitigate problem with creating day subnotes 2018-02-15 23:04:50 -05:00
azivner abdad1c3ae log error messages with ERROR: prefix (there's wasn't anyt other distinction before) 2018-02-15 22:30:05 -05:00
azivner 9e5f1a0a87 Global shortcut registration logs failure, closes #47 2018-02-15 22:17:18 -05:00
azivner cdde6a4d8e file/attachment upload, wiP 2018-02-14 23:31:20 -05:00
azivner 8028b09351 release 0.6.1 2018-02-13 23:27:34 -05:00
azivner ebe66eaed9 after creating new note, unselect previous active, fixes #45 2018-02-13 23:25:28 -05:00
azivner 5bce9a5f94 added hide_in_autocomplete attribute to weight script 2018-02-13 22:50:12 -05:00
azivner dfd9927310 added createAttribute method to script API 2018-02-13 22:46:45 -05:00
azivner 9bf1735bde reddit notes will be created with "hide_in_autocomplete" attribute 2018-02-13 22:34:33 -05:00
azivner 2e8eeda5ab new attribute "hide_in_autocomplete", fixes #16 2018-02-13 22:30:33 -05:00
azivner 1cef0ce5f9 removed CTRL-ALT-C global shortcut with pasting from clipboard, keeping only CTRL-ALT-P without clipboard 2018-02-13 19:55:04 -05:00
azivner 1efac99828 limit number of autocomplete results to 100, closes #44 2018-02-13 19:37:07 -05:00
azivner 0e9473119e global keyboard shortcuts for quick creating sub-notes under day note 2018-02-12 23:53:00 -05:00
azivner 7bbfef7af3 better positioning of the recent notes dialog 2018-02-12 21:20:30 -05:00
azivner 5cb93509c1 stop trying to wrap autocomplete with underlying dialog - seems to be impossible to get it right on all platforms 2018-02-12 21:09:50 -05:00
azivner 89e89e04d8 alt+t is now shortcut for today script 2018-02-12 00:30:02 -05:00
azivner 72df0d8861 release 0.6.0-beta 2018-02-11 22:06:57 -05:00
azivner 9910aebf45 fix schema.sql 2018-02-11 22:06:12 -05:00
azivner f9f8ecb2b1 recent notes doesn't fail totally when we can't find title for some note 2018-02-11 15:33:10 -05:00
azivner 438f7c5b0b escape should close the recent notes dialog 2018-02-11 11:53:43 -05:00
azivner 4b1d1aba74 add sender API to send text notes 2018-02-11 10:54:56 -05:00
azivner 6dea73cfe2 sender API now accepts local time header so we don't have problems with UTC 2018-02-11 09:14:21 -05:00
azivner 58f5d0cf6e recent notes are not closed when I click on e.g. dialog title bar 2018-02-11 08:57:12 -05:00
azivner 7b77e40514 added support for trilium-sender 2018-02-11 00:18:59 -05:00
azivner 660908c54b fix sorting notes 2018-02-10 13:55:06 -05:00
azivner e970564036 create months and days with associated english names, closes #37 2018-02-10 13:53:35 -05:00
azivner b3038487f8 fix image support broken in recent refactorings 2018-02-10 10:00:40 -05:00
azivner cac98392a6 code mirror in SQL console, closes #24 2018-02-10 09:14:18 -05:00
azivner dbd28377e3 change in naming conventions for element variables from *El to $name 2018-02-10 08:44:34 -05:00
azivner c76e4faf5d added attributes sorting 2018-02-10 08:37:14 -05:00
azivner e011b9ae63 deleting attributes, closes #34 2018-02-06 23:09:19 -05:00
azivner 7c74c77a2c allow duplicated attribute per note (in effect attributes can be multi-valued). Closes #33 2018-02-06 21:18:09 -05:00
azivner c2a2f195aa Merge branch 'stable' 2018-02-06 21:04:27 -05:00
azivner 85d32c66f2 release 0.5.6 2018-02-06 00:06:04 -05:00
azivner 4e70cebf70 recent notes now use autocomplete instead of select box, closes #36 2018-02-05 23:50:25 -05:00
azivner 214d2e7659 correct quoting rules for attribute/status bar 2018-02-05 22:28:12 -05:00
azivner f380bb7f65 removal of extra console logs 2018-02-05 22:26:50 -05:00
azivner 0a9a032daa fix incorrect removal of attribute filter from string, fixes #35 2018-02-05 22:25:25 -05:00
azivner 23a2b58b24 fix #32, could not open attribute dialog if it didn't have any attributes yet 2018-02-05 21:07:18 -05:00
azivner aee64b2522 fix visual glitch in search - showing search now doesn't move note content 2018-02-05 20:53:04 -05:00
azivner 02e07ec03a release 0.5.5-beta 2018-02-04 23:19:20 -05:00
azivner 3d2dc8e699 fixes for change propagation (conflict between knockout and jquery UI autocomplete) 2018-02-04 23:16:45 -05:00
azivner c84e15c9be implemented query language for attributes, closes #26 2018-02-04 22:44:15 -05:00
azivner e18d0b9fd4 tag list in "status bar", closes #28 2018-02-04 20:23:30 -05:00
azivner 52817504d1 autocomplete for attribute values, closes #31 2018-02-04 19:43:11 -05:00
azivner a3b31fab54 autocomplete for attribute names, issue #31 2018-02-04 19:27:27 -05:00
azivner bc4aa3e40a removed ctrl+shift+left, ctrl+shift+right because of conflict with standard keyboard mapping, close #25 2018-02-04 18:12:17 -05:00
azivner 873ea67e9c nice UI for attributes with validation 2018-02-04 17:22:21 -05:00
azivner 2c5115003b release 0.5.4-beta 2018-02-03 13:25:29 -05:00
azivner e8ed913374 small changes in the toolbar 2018-02-03 12:44:22 -05:00
azivner 5bffba4e2f add API to add plugin buttons, fixes 2018-02-03 10:37:57 -05:00
azivner 05575913db release 0.5.3-beta 2018-01-31 23:57:20 -05:00
azivner 31c32ff42c fixes when generating new DB 2018-01-31 23:36:39 -05:00
azivner 6a671a5c02 fix electron app icon 2018-01-31 22:39:30 -05:00
azivner e174aec299 release 0.5.2-beta 2018-01-31 08:04:13 -05:00
azivner d1329f60c3 fix electron build 2018-01-31 08:03:25 -05:00
azivner 56b59e59bc release 0.5.1-beta 2018-01-30 23:59:01 -05:00
azivner 0ef426dde3 fix electron build 2018-01-30 23:58:52 -05:00
azivner 97acb24dce release 0.5.0-beta 2018-01-30 23:25:22 -05:00
azivner 3f7b54425d sync fixes 2018-01-30 23:23:19 -05:00
azivner 47dfca83eb added weight script 2018-01-30 23:06:11 -05:00
azivner 8249a81c77 various script fixes, including for electron 2018-01-30 22:44:46 -05:00
azivner 72bd2507fe script bugfixes 2018-01-30 21:25:47 -05:00
azivner 5217339209 update to entity creates sync event 2018-01-30 20:12:19 -05:00
azivner 35c7b54176 support for updating entities etc. 2018-01-29 23:35:36 -05:00
azivner 6fa6891496 created repository object to access entities 2018-01-29 23:17:44 -05:00
azivner 9a091408e3 script related changes 2018-01-29 20:57:55 -05:00
azivner 587f3d833e basic entity support with lazy loaded relations 2018-01-29 18:34:59 -05:00
azivner b44412bc32 renaming of sql methods to fit getRows/getEntities model 2018-01-29 17:41:59 -05:00
azivner 9b53a17168 first experiments with note entity 2018-01-28 23:16:50 -05:00
azivner 52ad7f64b4 moved all sources to src directory 2018-01-28 22:18:15 -05:00
azivner 669d189ab7 fix problem with headers / source ids 2018-01-28 21:57:46 -05:00
azivner 9a0c2b6bcd moved migration directory to db, fix sync records 2018-01-28 21:00:54 -05:00
azivner 75878c80a8 migration script to camel case 2018-01-28 20:52:05 -05:00
azivner c558b7c506 removed unused doc directory 2018-01-28 19:42:02 -05:00
azivner 11e173aeac small changes to table names (notes_image => note_images etc.) 2018-01-28 19:38:05 -05:00
azivner 3b1f928fbc renamed db columns to camelCase 2018-01-28 19:30:14 -05:00
azivner 55d8ef7e81 script API changes 2018-01-28 12:08:57 -05:00
azivner 4ab763e295 added codemirror plugin for easier editing - matchtags, match brackets and highlight matches 2018-01-28 11:19:31 -05:00
azivner e8f8341ef9 fix for icon change when creating note / changing type/mime 2018-01-28 10:37:43 -05:00
azivner 7ca0445bae indent JSON when saving 2018-01-27 18:02:44 -05:00
azivner 3f1e73d06b more changes for scripts - separate API etc. 2018-01-27 17:18:19 -05:00
azivner 005480059a changes for script execution (parameters etc.) 2018-01-26 23:40:48 -05:00
azivner 5981b9bc7b new code icons, protected note icon in note tree is now styled using CSS filter drop shadow 2018-01-26 22:32:44 -05:00
azivner b2ff97ccf2 new note inherits type and mime from parent note, closes #20 2018-01-26 21:31:52 -05:00
azivner 0da13994a6 better filtering of empty HTML content (just tags and whitespace) 2018-01-26 19:54:27 -05:00
azivner 9f3d46ddb1 Allow marking code (JavaScript) notes for execution after application loads, closes #19 2018-01-25 23:49:03 -05:00
azivner a42fd9b090 refactoring of script subtree execution 2018-01-25 23:22:19 -05:00
azivner aad5ea577f refactored "date note" functions out of reddit plugin 2018-01-24 23:08:14 -05:00
azivner af34b378e2 electron dev dependencies upgrade 2018-01-24 22:30:31 -05:00
azivner e9c2c4f895 electron 1.8.2-beta.4 upgrade 2018-01-24 22:20:03 -05:00
azivner 74fff39c3f refactoring / unification of note encryption / decryption 2018-01-24 22:13:41 -05:00
azivner 18709eb340 new note type: render HTML note 2018-01-23 23:41:22 -05:00
azivner f3ccf85285 filtering out initial <p>&nbsp;</p> which is ugly when switching to code 2018-01-23 23:01:30 -05:00
azivner 4ed2dc9f53 support of including JS subnotes when executing 2018-01-23 22:53:27 -05:00
azivner 6f79a1c05b notes with attribute "disable_versioning" set to "true" won't have history records created upon modification. This is meant for e.g. large JS libraries etc. 2018-01-23 22:11:03 -05:00
azivner f439969962 support for execution of async functions + integration with backend through server.exec() 2018-01-23 21:59:30 -05:00
azivner 27cb6b1c4d added possibility of executing javascript 2018-01-23 20:45:34 -05:00
azivner 8adb31757f add link disables HTML link when in code note (plus some related refactorings) 2018-01-23 20:14:10 -05:00
azivner 403cf02ea7 fix syntax highlight switch 2018-01-23 19:51:16 -05:00
azivner 27f12a0186 keyboard based zooming in electron, fixes #10 2018-01-22 23:30:25 -05:00
azivner a10269a086 measuring how much time does autocomplete building takes 2018-01-22 23:18:08 -05:00
azivner 9901882a0f codemirror mode lazy loading 2018-01-22 23:07:04 -05:00
azivner 93d0e0aa2d fixes for indentation and keyboard shortcuts 2018-01-22 22:14:03 -05:00
azivner d8b7763dea fix non-handled keyboard events coming from code mirror 2018-01-22 21:29:56 -05:00
azivner 9760eb71d3 updated schema 2018-01-21 23:44:42 -05:00
azivner e56fb6d2d4 support for loading and saving type and mime 2018-01-21 23:36:09 -05:00
azivner f9631ff59f added note type picker component 2018-01-21 23:06:25 -05:00
azivner c8f456d228 note ID in lower right corner 2018-01-21 20:15:42 -05:00
azivner 15958d06a9 support for saving code notes + other tweaks 2018-01-21 10:33:33 -05:00
azivner 090e1b845f first experiments with code mirror 2018-01-20 21:56:03 -05:00
azivner 93b4cf6a05 submit attribute form on enter 2018-01-19 19:39:37 -05:00
azivner 32db96f388 added note scoped actions button, fix #8 2018-01-19 19:36:41 -05:00
azivner f42835e083 fix order of pasted notes when doing multi-select operations 2018-01-19 18:34:21 -05:00
azivner fcd11c341c added consitency check for null title or text 2018-01-18 19:04:30 -05:00
azivner ec4b28f97c release 0.4.1 2018-01-17 23:59:03 -05:00
azivner 651a9fb327 fix note sorting with sync - deleted note trees should not be sorted 2018-01-17 20:19:41 -05:00
azivner b642a567bb fix #5 2018-01-16 23:22:13 -05:00
azivner 9c85303c94 fix attribute sync 2018-01-16 20:30:33 -05:00
azivner 06bb39cffd small refactorings of reddit plugin 2018-01-16 20:11:50 -05:00
azivner 7ea23586fe improvements to search, fixing issue #1 2018-01-15 20:54:22 -05:00
azivner 31a69a96c0 release 0.4.0-beta 2018-01-14 22:08:42 -05:00
azivner d30a57d388 delete now works with multi-select 2018-01-14 21:39:21 -05:00
azivner 45a92313d5 attribute sync fixes 2018-01-13 23:33:09 -05:00
azivner 359ff58be8 Merge branch 'stable' 2018-01-13 23:27:11 -05:00
azivner 5173afde82 changes in formatting of reddit comments 2018-01-13 23:24:40 -05:00
azivner 36f920b975 alt+s is now shortcut for sorting, search is not triggered with ctrl+s 2018-01-13 23:03:17 -05:00
azivner 9839ea019e reddit plugin configuration from file, not from options now. Scheduling, refactoring of sync mutex 2018-01-13 22:51:39 -05:00
azivner fbfaff6ab8 reddit plugin - recognizing existing date structure 2018-01-13 21:32:29 -05:00
azivner 9860c8deef refactoring of routes - noteId needs to go to /notes noteTreeId to /tree 2018-01-13 20:53:00 -05:00
azivner 16eb156033 refactoring of note changes / cloning 2018-01-13 18:02:41 -05:00
azivner 4f649c2e21 added note alphabetical sorting to context menu 2018-01-13 17:00:40 -05:00
azivner a375c55371 reddit plugin refactoring, performance improvemnts etc. 2018-01-13 15:25:09 -05:00
azivner 416cf9a2bc release 0.3.3 2018-01-12 23:30:47 -05:00
azivner ccd222cf12 reddit plugin - import from multiple accounts, paging, structuring per year, month, day 2018-01-12 22:44:55 -05:00
azivner 983d3f2cc5 Merge branch 'stable' 2018-01-12 20:15:33 -05:00
azivner 92271a84b7 fix for setup & db upgrade - we still need internal redirects 2018-01-12 20:05:17 -05:00
azivner 7d456240a8 prevent drag & drop to navigate away from trilium 2018-01-12 18:42:00 -05:00
azivner 453f22df14 work in progress reddit plugin 2018-01-11 23:54:17 -05:00
azivner 0575924cf1 added is_synced to options to better differentiate between synced and not synced options 2018-01-11 22:45:25 -05:00
azivner 231c245c87 saving attributes 2018-01-11 21:40:09 -05:00
azivner 8fe6a9353a added dialog and read only view of attributes 2018-01-11 00:01:16 -05:00
azivner b250ad593c added basic infrastructure for attributes 2018-01-09 22:09:45 -05:00
azivner 58362405c6 workaround for CKEditor bug with setting empty data 2018-01-09 20:01:02 -05:00
azivner 0bdf900e2e release 0.3.2 2018-01-08 23:35:02 -05:00
azivner 90de4b8600 fixes in build script 2018-01-08 23:34:54 -05:00
azivner 4e5a95a1ac fix scrypt binary for windows 2018-01-08 20:40:20 -05:00
azivner 77278fe09e added small image to demo document 2018-01-07 23:52:32 -05:00
azivner cfbeba80db release 0.3.1 2018-01-07 22:23:41 -05:00
azivner 865d298631 release 0.3.1 2018-01-07 22:10:13 -05:00
azivner 86b1410952 release 0.3.1 2018-01-07 21:56:39 -05:00
azivner 29eb88bac3 added consistency check 2018-01-07 20:16:31 -05:00
azivner 31b4186e17 optional cleanup of unused images 2018-01-07 14:07:59 -05:00
azivner bde9e825c8 added binary dependencies to repo 2018-01-07 11:49:35 -05:00
azivner 0e8285a7e4 updated schema with image tables 2018-01-07 10:35:24 -05:00
azivner 780f462e94 release 0.3.0 2018-01-07 10:04:46 -05:00
azivner 488e657cc4 forgotten express-promise-wrap in package.json 2018-01-07 10:04:43 -05:00
azivner 8bc2a21d80 auth exception for images in electron 2018-01-07 09:59:05 -05:00
azivner 743d72a0c3 added express-promise-wrap to catch and respond to unhandled exceptions immediately, previously the requests just hanged 2018-01-07 09:35:44 -05:00
azivner 20b1357be6 gif support 2018-01-07 09:22:55 -05:00
azivner d9f2bb37e7 PNG alpha channel is converted to white instead of default ugly black 2018-01-07 08:26:42 -05:00
azivner 97c1b3061f correct detection of optimized image format 2018-01-07 08:24:04 -05:00
azivner c022fcf196 reloading note tree when we have note detail changes 2018-01-06 22:56:54 -05:00
azivner b5baab056c enter on title will put focus on editor 2018-01-06 22:53:37 -05:00
azivner edc9a1a2bf creating / updating notes_image rows 2018-01-06 22:38:53 -05:00
azivner c0e45a73a8 relation between notes and images 2018-01-06 21:49:02 -05:00
azivner 784cd62df1 image sync 2018-01-06 15:56:00 -05:00
azivner 91cf090820 compressing PNGs with pngquant 2018-01-06 13:53:02 -05:00
azivner d9f29cbf27 resizing and optimizing jpeg images with mozjpeg 2018-01-06 12:38:25 -05:00
azivner 23a5e38e02 added basic support for uploading and serving files 2018-01-05 23:54:02 -05:00
azivner 663bd1a8fe added sync mutex for consistency checks and backup 2018-01-04 21:37:36 -05:00
1056 changed files with 364083 additions and 51710 deletions
+7
View File
@@ -0,0 +1,7 @@
.git
.idea
/bin
/dist
/docs
/npm-debug.log
node_modules
+4
View File
@@ -0,0 +1,4 @@
# These are supported funding model platforms
github: [zadam]
custom: ["https://paypal.me/za4am"]
+63
View File
@@ -0,0 +1,63 @@
name: Bug Report
description: Report a bug
title: "(Bug report) "
labels: "Type: Bug"
body:
- type: checkboxes
attributes:
label: Preflight Checklist
description: Please ensure you've completed all of the following.
options:
- label: I have searched the [issue tracker](https://www.github.com/zadam/trilium/issues) for a bug report that matches the one I want to file, without success.
required: true
- type: input
attributes:
label: Trilium Version
description: What version of Trilium are you using?
placeholder: 0.48.0-beta
validations:
required: true
- type: dropdown
attributes:
label: What operating system are you using?
options:
- Windows
- macOS
- Ubuntu
- Other Linux
- Other (specify below)
validations:
required: true
- type: dropdown
attributes:
label: What is your setup?
description: https://github.com/zadam/trilium/wiki#choose-the-setup
options:
- Local (no sync)
- Local + server sync
- Server access only
validations:
required: true
- type: input
attributes:
label: Operating System Version
description: What operating system version are you using? On Windows, click Start button > Settings > System > About. On macOS, click the Apple Menu > About This Mac. On Linux, use lsb_release or uname -a.
placeholder: "e.g. Windows 10 version 1909, macOS Catalina 10.15.7, or Ubuntu 20.04"
validations:
required: true
- type: textarea
attributes:
label: Expected Behavior
description: A clear and concise description of what you expected to happen.
validations:
required: true
- type: textarea
attributes:
label: Actual Behavior
description: A clear description of what actually happens.
validations:
required: true
- type: textarea
attributes:
label: Additional Information
description: If your problem needs further explanation, or if the issue you're seeing cannot be reproduced in a gist, please add more information here.
@@ -0,0 +1,22 @@
name: Feature Request
description: Report a bug
title: "(Feature request) "
labels: "Type: Enhancement"
body:
- type: checkboxes
attributes:
label: Preflight Checklist
description: Please ensure you've completed all of the following.
options:
- label: I have searched the [issue tracker](https://www.github.com/zadam/trilium/issues) for a feature request that matches the one I want to file, without success.
required: true
- type: textarea
attributes:
label: Describe feature
description: A clear and concise description of what you want to be added..
validations:
required: true
- type: textarea
attributes:
label: Additional Information
description: If your problem needs further explanation, or if the issue you're seeing cannot be reproduced in a gist, please add more information here.
+71
View File
@@ -0,0 +1,71 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on:
push:
branches: [ master ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
schedule:
- cron: '37 4 * * 1'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'javascript' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
steps:
- name: Checkout repository
uses: actions/checkout@v2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
# ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
+53
View File
@@ -0,0 +1,53 @@
name: Publish Docker image
on:
push:
tags: [v*]
jobs:
push_to_registries:
name: Push Docker image to multiple registries
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Docker meta
id: meta
uses: docker/metadata-action@v3
with:
images: |
zadam/trilium
ghcr.io/zadam/trilium
tags: |
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}-latest
type=match,pattern=(\d+.\d+).\d+\-beta,enable=${{ endsWith(github.ref, 'beta') }},group=1,suffix=-latest
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
with:
install: true
- name: Log in to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Log in to GitHub Docker Registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Create server-package.json
run: cat package.json | grep -v electron > server-package.json
- name: Build and Push
uses: docker/build-push-action@v2.7.0
with:
context: .
platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6
push: true
cache-from: type=registry,ref=zadam/trilium:buildcache
cache-to: type=registry,ref=zadam/trilium:buildcache,mode=max
tags: ${{ steps.meta.outputs.tags }}
+3 -1
View File
@@ -1,9 +1,11 @@
.DS_Store
node_modules/
dist/
src/public/app-dist/
npm-debug.log
yarn-error.log
*.db
config.ini
cert.key
cert.crt
cert.crt
server-package.json
+15
View File
@@ -0,0 +1,15 @@
FROM gitpod/workspace-full
RUN sudo apt-get update \
&& sudo apt-get install -yq --no-install-recommends \
libpng16-16 \
libpng-dev \
pkg-config \
autoconf \
libtool \
build-essential \
nasm \
libx11-dev \
libxkbfile-dev \
&& sudo rm -rf /var/lib/apt/lists/*
+11
View File
@@ -0,0 +1,11 @@
image:
file: .gitpod.dockerfile
tasks:
- before: nvm install 14.18.1 && nvm use 14.18.1
init: npm install
command: npm run start-server
ports:
- port: 8080
onOpen: open-preview
+6
View File
@@ -0,0 +1,6 @@
# Default ignored files
/workspace.xml
# Datasource local storage ignored files
/dataSources.local.xml
/dataSources/
+13
View File
@@ -0,0 +1,13 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<option name="OTHER_INDENT_OPTIONS">
<value>
<option name="INDENT_SIZE" value="2" />
<option name="TAB_SIZE" value="2" />
</value>
</option>
<JSCodeStyleSettings version="0">
<option name="USE_EXPLICIT_JS_EXTENSION" value="TRUE" />
</JSCodeStyleSettings>
</code_scheme>
</component>
+5
View File
@@ -0,0 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
</state>
</component>
+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
<data-source source="LOCAL" name="SQLite - document.db" uuid="30cef30d-e704-484d-a4ca-5d3bfc2ece63">
<driver-ref>sqlite.xerial</driver-ref>
<synchronize>true</synchronize>
<jdbc-driver>org.sqlite.JDBC</jdbc-driver>
<jdbc-url>jdbc:sqlite:$PROJECT_DIR$/../trilium-data/document.db</jdbc-url>
<working-dir>$ProjectFileDir$</working-dir>
</data-source>
</component>
</project>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with NO BOM" />
</project>
+11
View File
@@ -0,0 +1,11 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="JSUnfilteredForInLoop" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
<option name="processCode" value="true" />
<option name="processLiterals" value="true" />
<option name="processComments" value="true" />
</inspection_tool>
</profile>
</component>
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptLibraryMappings">
<includedPredefinedLibrary name="Node.js Core" />
</component>
</project>
+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JSLintConfiguration">
<option devel="true" />
<option es6="true" />
<option maxerr="50" />
<option node="true" />
</component>
</project>
+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_16" project-jdk-name="openjdk-16" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/trilium.iml" filepath="$PROJECT_DIR$/trilium.iml" />
</modules>
</component>
</project>
+10
View File
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RunConfigurationProducerService">
<option name="ignoredProducers">
<set>
<option value="com.android.tools.idea.compose.preview.runconfiguration.ComposePreviewRunConfigurationProducer" />
</set>
</option>
</component>
</project>
+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="SqlDialectMappings">
<file url="file://$PROJECT_DIR$" dialect="SQLite" />
<file url="PROJECT" dialect="SQLite" />
</component>
</project>
Generated
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>
+18
View File
@@ -0,0 +1,18 @@
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "start-server",
"skipFiles": [
"<node_internals>/**"
],
"env": {
"TRILIUM_ENV": "dev"
},
"outputCapture": "std",
"program": "${workspaceFolder}/src/www"
}
]
}
+29
View File
@@ -0,0 +1,29 @@
FROM node:14.18.1-alpine
# Create app directory
WORKDIR /usr/src/app
COPY server-package.json package.json
# Install app dependencies
RUN set -x \
&& apk add --no-cache --virtual .build-dependencies \
autoconf \
automake \
g++ \
gcc \
libtool \
make \
nasm \
libpng-dev \
python \
&& npm install --production \
&& apk del .build-dependencies
# Bundle app source
COPY . .
USER node
EXPOSE 8080
CMD [ "node", "./src/www" ]
+62
View File
@@ -0,0 +1,62 @@
# Trilium笔记
[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)
[![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)以快速了解:
![](https://raw.githubusercontent.com/wiki/zadam/trilium/images/screenshot.png)
## 特性
* 笔记可以排列成任意深的树。单个笔记可以放在树中的多个位置(请参阅[克隆](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)与自托管同步服务器
* 具有按笔记粒度的强大的[笔记加密](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)
* 可用性和性能均能很好地扩展至超过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)
* [Web Clipper](https://github.com/zadam/trilium/wiki/Web-clipper)可轻松保存Web内容
## 构建
Trilium是作为桌面应用程序(Linux和Windows)或服务器上托管的Web应用程序(Linux)提供的。Mac OS桌面版本可用,但[不受支持](https://github.com/zadam/trilium/wiki/FAQ#mac-os-support)。
* 如果要在桌面上使用Trilium,请从[最新版本](https://github.com/zadam/trilium/releases/latest)下载适用于您平台的二进制[版本](https://github.com/zadam/trilium/releases/latest),解压缩该软件包并运行`trilium`可执行文件。
* 如果要在服务器上安装Trilium,请遵循[此页面](https://github.com/zadam/trilium/wiki/Server-installation)。
* 当前仅支持(经过测试)最新的Chrome和Firefox浏览器。
## 文档
[有关文档页面的完整列表,请参见Wiki。](https://github.com/zadam/trilium/wiki/)
[中文Wiki在这里](https://github.com/baddate/trilium/wiki/)
您还可以阅读[个人知识库模式](https://github.com/zadam/trilium/wiki/Patterns-of-personal-knowledge-base),以获取有关如何使用Trilium的灵感。
## 贡献
使用基于浏览器的开发环境
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/zadam/trilium)
或在本地克隆并运行
```
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)
+49 -29
View File
@@ -1,43 +1,63 @@
# Trilium Notes
Trilium Notes is a hierarchical note taking application. Picture tells a thousand words:
[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)
[![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 is a hierarchical note taking application with focus on building large personal knowledge bases. See [screenshots](https://github.com/zadam/trilium/wiki/Screenshot-tour) for quick overview:
![](https://raw.githubusercontent.com/wiki/zadam/trilium/images/screenshot.png)
## Features
* Notes can be arranged into arbitrarily deep hierarchy
* Notes can have more than 1 parents - see [cloning](https://github.com/zadam/trilium/wiki/Cloning-notes)
* WYSIWYG (What You See Is What You Get) editing
* Fast and easy [navigation between notes](https://github.com/zadam/trilium/wiki/Note-navigation)
* Seamless note versioning
* Can be deployed as web application and / or desktop application with offline access (electron based)
* [Synchronization with](https://github.com/zadam/trilium/wiki/Synchronization) self-hosted sync server
* Strong [note encryption](https://github.com/zadam/trilium/wiki/Protected-notes)
* Notes can be arranged into arbitrarily deep tree. Single note can be placed into multiple places in the tree (see [cloning](https://github.com/zadam/trilium/wiki/Cloning-notes))
* Rich WYSIWYG note editing including e.g. tables, images and [math](https://github.com/zadam/trilium/wiki/Text-notes#math-support) with markdown [autoformat](https://github.com/zadam/trilium/wiki/Text-notes#autoformat)
* Support for editing [notes with source code](https://github.com/zadam/trilium/wiki/Code-notes), including syntax highlighting
* Fast and easy [navigation between notes](https://github.com/zadam/trilium/wiki/Note-navigation), full text search and [note hoisting](https://github.com/zadam/trilium/wiki/Note-hoisting)
* Seamless [note versioning](https://github.com/zadam/trilium/wiki/Note-revisions)
* Note [attributes](https://github.com/zadam/trilium/wiki/Attributes) can be used for note organization, querying and advanced [scripting](https://github.com/zadam/trilium/wiki/Scripts)
* [Synchronization](https://github.com/zadam/trilium/wiki/Synchronization) with self-hosted sync server
* Strong [note encryption](https://github.com/zadam/trilium/wiki/Protected-notes) with per-note granularity
* [Relation maps](https://github.com/zadam/trilium/wiki/Relation-map) and [link maps](https://github.com/zadam/trilium/wiki/Link-map) for visualizing notes and their relations
* [Scripting](https://github.com/zadam/trilium/wiki/Scripts) - see [Advanced showcases](https://github.com/zadam/trilium/wiki/Advanced-showcases)
* Scales well in both usability and performance upwards of 100 000 notes
* Touch optimized [mobile frontend](https://github.com/zadam/trilium/wiki/Mobile-frontend) for smartphones and tablets
* [Night theme](https://github.com/zadam/trilium/wiki/Themes)
* [Evernote](https://github.com/zadam/trilium/wiki/Evernote-import) and [Markdown import & export](https://github.com/zadam/trilium/wiki/Markdown)
* [Web Clipper](https://github.com/zadam/trilium/wiki/Web-clipper) for easy saving of web content
## Builds
* If you want to install Trilium on server, follow [this page](https://github.com/zadam/trilium/wiki/Installation-as-webapp)
* If you want to use Trilium on the desktop, download binary release for your platfor from [latest release](https://github.com/zadam/trilium/releases/latest), unzip the package and run ```trilium``` executable.
Trilium is provided as either desktop application (Linux and Windows) or web application hosted on your server (Linux). Mac OS desktop build is available, but it is [unsupported](https://github.com/zadam/trilium/wiki/FAQ#mac-os-support).
## Supported platforms
Desktop (electron-based) 64-bit builds are available for Linux and Windows.
Requirements for web based installation are [outlined here](https://github.com/zadam/trilium/wiki/Installation-as-webapp).
Currently only recent Chrome and Firefox are supported (tested) browsers. Other modern browsers (not IE) might work as well.
* If you want to use Trilium on the desktop, download binary release for your platform from [latest release](https://github.com/zadam/trilium/releases/latest), unzip the package and run ```trilium``` executable.
* If you want to install Trilium on server, follow [this page](https://github.com/zadam/trilium/wiki/Server-installation).
* Currently only recent Chrome and Firefox are supported (tested) browsers.
## Documentation
List of documentation pages:
[See wiki for complete list of documentation pages.](https://github.com/zadam/trilium/wiki/)
* [Installation as webapp](https://github.com/zadam/trilium/wiki/Installation-as-webapp)
* [Note navigation](https://github.com/zadam/trilium/wiki/Note-navigation)
* [Tree manipulation](https://github.com/zadam/trilium/wiki/Tree-manipulation)
* [Links](https://github.com/zadam/trilium/wiki/Links)
* [Cloning notes](https://github.com/zadam/trilium/wiki/Cloning-notes)
* [Protected notes](https://github.com/zadam/trilium/wiki/Protected-notes)
* [Synchronization](https://github.com/zadam/trilium/wiki/Synchronization)
* [Document](https://github.com/zadam/trilium/wiki/Document)
* [Keyboard shortcuts](https://github.com/zadam/trilium/wiki/Keyboard-shortcuts)
* [Troubleshooting](https://github.com/zadam/trilium/wiki/Troubleshooting)
You can also read [Patterns of personal knowledge base](https://github.com/zadam/trilium/wiki/Patterns-of-personal-knowledge-base) to get some inspiration on how you might use Trilium.
## Contribute
Use a browser based dev environment
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/zadam/trilium)
Or clone locally and run
```
npm install
npm run start-server
```
## Shoutouts
* [CKEditor 5](https://github.com/ckeditor/ckeditor5) - best WYSIWYG editor on the market, very interactive and listening team
* [FancyTree](https://github.com/mar10/fancytree) - very feature rich tree library without real competition. Trilium Notes would not be the same without it.
* [CodeMirror](https://github.com/codemirror/CodeMirror) - code editor with support for huge amount of languages
* [jsPlumb](https://github.com/jsplumb/jsplumb) - visual connectivity library without competition. Used in [relation maps](https://github.com/zadam/trilium/wiki/Relation-map) and [link maps](https://github.com/zadam/trilium/wiki/Link-map)
## License
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+63
View File
@@ -0,0 +1,63 @@
# Trilium 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)
[![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):
![](https://raw.githubusercontent.com/wiki/zadam/trilium/images/screenshot.png)
## Возможности
* Заметки можно расположить в виде дерева произвольной глубины. Отдельную заметку можно разместить в нескольких местах дерева (см. [клонирование](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)
* Хорошо масштабируется, как по удобству использования, так и по производительности до 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) для удобного сохранения веб-контента
## Сборки
Trilium предоставляется в виде десктопного приложения (Linux и Windows) или веб-приложения, размещенного на вашем сервере (Linux). Доступна сборка Mac OS, но она [не поддерживается](https://github.com/zadam/trilium/wiki/FAQ#mac-os-support).
* Если вы хотите использовать Trilium на десктопе, скачайте архив для своей платформы со страницы [релизов](https://github.com/zadam/trilium/releases/latest), распакуйте и запустите исполняемый файл ```trilium```.
* Если вы хотите установить Trilium на сервере, следуйте этой [инструкции](https://github.com/zadam/trilium/wiki/Server-installation).
* В данный момент поддерживаются (протестированы) последние версии браузеров Chrome и Firefox.
## Документация
[Полный список страниц документации доступен в Wiki.](https://github.com/zadam/trilium/wiki/)
Вы также можете ознакомиться с [шаблонами персональных баз знаний](https://github.com/zadam/trilium/wiki/Patterns-of-personal-knowledge-base), чтобы получить представление о том, как можно использовать Trilium.
## Участвуйте в разработке
Используйте онлайн среду разработки в браузере
[![Открыть в Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/zadam/trilium)
Или склонируйте на своё устройство и запустите
```
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).
## Лицензия
Эта программа является бесплатным программным обеспечением: вы можете распространять и/или изменять ее в соответствии с условиями GNU Affero General Public License, опубликованной Free Software Foundation, либо версии 3 Лицензии, либо (по вашему выбору) любой более поздней версии.
+13
View File
@@ -0,0 +1,13 @@
# Security Policy
## Supported Versions
In the (still active) 0.X phase of the project only the latest stable minor release is getting bugfixes (including security ones).
So e.g. if the latest stable version is 0.42.3 and the latest beta version is 0.43.0-beta, then 0.42 line will still get security fixes but older versions (like 0.41.X) won't get any fixes.
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
+3
View File
@@ -0,0 +1,3 @@
- new icon
- polish becca entities API
- separate private and public APIs in becca entities
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+7
View File
@@ -0,0 +1,7 @@
#!/usr/bin/env bash
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
+12
View File
@@ -0,0 +1,12 @@
#!/usr/bin/env bash
VERSION=`jq -r ".version" package.json`
SERIES=${VERSION:0:4}-latest
cat package.json | grep -v electron > server-package.json
sudo docker build -t zadam/trilium:$VERSION --network host -t zadam/trilium:$SERIES .
if [[ $VERSION != *"beta"* ]]; then
sudo docker tag zadam/trilium:$VERSION zadam/trilium:latest
fi
+48
View File
@@ -0,0 +1,48 @@
#!/usr/bin/env bash
SRC_DIR=./dist/trilium-linux-x64-src
if [ "$1" != "DONTCOPY" ]
then
./bin/copy-trilium.sh $SRC_DIR
fi
rm -r $SRC_DIR/src/public/app-dist/*.mobile.*
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
# removing software WebGL binaries because they are pretty huge and not necessary
rm -r $BUILD_DIR/swiftshader
cp bin/tpl/trilium-portable.sh $BUILD_DIR/
chmod 755 $BUILD_DIR/trilium-portable.sh
cp bin/tpl/trilium-safe-mode.sh $BUILD_DIR/
chmod 755 $BUILD_DIR/trilium-safe-mode.sh
cp bin/tpl/trilium-no-cert-check.sh $BUILD_DIR/
chmod 755 $BUILD_DIR/trilium-no-cert-check.sh
echo "Packaging linux x64 electron distribution..."
VERSION=`jq -r ".version" package.json`
cd dist
tar cJf trilium-linux-x64-${VERSION}.tar.xz trilium-linux-x64
cd ..
bin/build-debian.sh
+33
View File
@@ -0,0 +1,33 @@
#!/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 binaries"
cp -r bin/better-sqlite3/mac-better_sqlite3.node $SRC_DIR/node_modules/better-sqlite3/build/Release/better_sqlite3.node
rm -r $SRC_DIR/src/public/app-dist/*.mobile.*
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
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
+33
View File
@@ -0,0 +1,33 @@
#!/usr/bin/env bash
PKG_DIR=dist/trilium-linux-x64-server
NODE_VERSION=14.18.1
if [ "$1" != "DONTCOPY" ]
then
./bin/copy-trilium.sh $PKG_DIR
fi
cd dist
wget https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.xz
tar xfJ node-v${NODE_VERSION}-linux-x64.tar.xz
rm node-v${NODE_VERSION}-linux-x64.tar.xz
cd ..
mv dist/node-v${NODE_VERSION}-linux-x64 $PKG_DIR/node
rm -r $PKG_DIR/node/lib/node_modules/npm
rm -r $PKG_DIR/node/include/node
rm -r $PKG_DIR/node_modules/electron*
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
chmod 755 $PKG_DIR/trilium.sh
VERSION=`jq -r ".version" package.json`
cd dist
tar cJf trilium-linux-x64-server-${VERSION}.tar.xz trilium-linux-x64-server
+37
View File
@@ -0,0 +1,37 @@
#!/usr/bin/env bash
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
# removing software WebGL binaries because they are pretty huge and not necessary
rm -r $BUILD_DIR/swiftshader
cp bin/tpl/trilium-portable.bat $BUILD_DIR/
cp bin/tpl/trilium-no-cert-check.bat $BUILD_DIR/
cp bin/tpl/trilium-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
+13 -12
View File
@@ -1,22 +1,23 @@
#!/usr/bin/env bash
echo "Deleting dist"
echo "Deleting existing builds"
rm -r dist/*
rm -rf dist/*
cp -r ../trilium-node-binaries/sqlite/* node_modules/sqlite3/lib/binding/
SRC_DIR=dist/trilium-src
cp -r ../trilium-node-binaries/scrypt/* node_modules/scrypt/bin/
bin/copy-trilium.sh $SRC_DIR
./node_modules/.bin/electron-rebuild --arch=ia32
# we'll just copy the same SRC dir to all the builds so we don't have to do npm install in each separately
cp -r $SRC_DIR ./dist/trilium-linux-x64-src
cp -r $SRC_DIR ./dist/trilium-linux-x64-server
cp -r $SRC_DIR ./dist/trilium-windows-x64-src
cp -r $SRC_DIR ./dist/trilium-mac-x64-src
./node_modules/.bin/electron-packager . --out=dist --platform=linux --arch=ia32 --overwrite
bin/build-win-x64.sh DONTCOPY
./node_modules/.bin/electron-rebuild --arch=x64
bin/build-mac-x64.sh DONTCOPY
./node_modules/.bin/electron-packager . --out=dist --platform=linux --arch=x64 --overwrite
bin/build-linux-x64.sh DONTCOPY
./node_modules/.bin/electron-packager . --out=dist --platform=win32 --arch=x64 --overwrite
# can't copy this before the packaging because the same file name is used for both linux and windows build
cp ../trilium-node-binaries/scrypt.node ./dist/trilium-win32-x64/resources/app/node_modules/scrypt/build/Release/
bin/build-server.sh DONTCOPY
+51
View File
@@ -0,0 +1,51 @@
#!/usr/bin/env bash
if [[ $# -eq 0 ]] ; then
echo "Missing argument of target directory"
exit 1
fi
n exec 14.18.1 npm run webpack
DIR=$1
rm -rf $DIR
mkdir $DIR
echo "Copying Trilium to build directory $DIR"
cp -r images $DIR/
cp -r libraries $DIR/
cp -r src $DIR/
cp -r db $DIR/
cp -r package.json $DIR/
cp -r package-lock.json $DIR/
cp -r README.md $DIR/
cp -r LICENSE $DIR/
cp -r config-sample.ini $DIR/
cp -r electron.js $DIR/
cp webpack-* $DIR/
# run in subshell (so we return to original dir)
(cd $DIR && n exec 14.18.1 npm install --only=prod)
# cleanup of useless files in dependencies
rm -r $DIR/node_modules/image-q/demo
rm -r $DIR/node_modules/better-sqlite3/Release
rm -r $DIR/node_modules/better-sqlite3/deps/sqlite3.tar.gz
rm -r $DIR/node_modules/@jimp/plugin-print/fonts
rm -r $DIR/node_modules/jimp/browser
rm -r $DIR/node_modules/jimp/fonts
# delete all tests (there are often large images as test file for jimp etc.)
find $DIR/node_modules -name test -exec rm -rf {} \;
find $DIR/node_modules -name docs -exec rm -rf {} \;
find $DIR/node_modules -name demo -exec rm -rf {} \;
find $DIR/libraries -name "*.map" -type f -delete
rm -r $DIR/src/public/app
sed -i -e 's/app\/desktop.js/app-dist\/desktop.js/g' $DIR/src/views/desktop.ejs
sed -i -e 's/app\/mobile.js/app-dist\/mobile.js/g' $DIR/src/views/mobile.ejs
sed -i -e 's/app\/setup.js/app-dist\/setup.js/g' $DIR/src/views/setup.ejs
+14
View File
@@ -0,0 +1,14 @@
{
"src": "dist/trilium-linux-x64",
"dest": "dist/",
"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" ]
}
+1 -1
View File
@@ -2,6 +2,6 @@
SCHEMA_FILE_PATH=db/schema.sql
sqlite3 ~/trilium-data/document.db .schema > "$SCHEMA_FILE_PATH"
sqlite3 ~/trilium-data/document.db .schema | grep -v "sqlite_sequence" > "$SCHEMA_FILE_PATH"
echo "DB schema exported to $SCHEMA_FILE_PATH"
Regular → Executable
+1 -2
View File
@@ -12,5 +12,4 @@ fi
mkdir -p "$DIR"
cd "$DIR"
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 2000 -nodes
openssl req -newkey rsa:4096 -x509 -sha256 -days 3650 -nodes -out cert.crt -keyout key.key
-14
View File
@@ -1,14 +0,0 @@
#!/usr/bin/env bash
VERSION=`jq -r ".version" package.json`
cd dist
echo "Packaging linux x64 electron distribution..."
7z a trilium-linux-x64-${VERSION}.7z trilium-linux-x64
echo "Packaging linux ia32 electron distribution..."
7z a trilium-linux-ia32-${VERSION}.7z trilium-linux-ia32
echo "Packaging windows x64 electron distribution..."
7z a trilium-windows-x64-${VERSION}.7z trilium-win32-x64
+16
View File
@@ -0,0 +1,16 @@
#!/usr/bin/env bash
if [[ $# -eq 0 ]] ; then
echo "Missing argument of new version"
exit 1
fi
VERSION=$1
SERIES=${VERSION:0:4}-latest
docker push zadam/trilium:$VERSION
docker push zadam/trilium:$SERIES
if [[ $1 != *"beta"* ]]; then
docker push zadam/trilium:latest
fi
+23 -30
View File
@@ -1,5 +1,7 @@
#!/usr/bin/env bash
export GITHUB_REPO=trilium
if [[ $# -eq 0 ]] ; then
echo "Missing argument of new version"
exit 1
@@ -24,9 +26,9 @@ jq '.version = "'$VERSION'"' package.json|sponge package.json
git add package.json
echo 'module.exports = { build_date:"'`date --iso-8601=seconds`'", build_revision: "'`git log -1 --format="%H"`'" };' > services/build.js
echo 'module.exports = { buildDate:"'`date --iso-8601=seconds`'", buildRevision: "'`git log -1 --format="%H"`'" };' > src/services/build.js
git add services/build.js
git add src/services/build.js
TAG=v$VERSION
@@ -42,37 +44,28 @@ git push origin $TAG
bin/build.sh
bin/package.sh
LINUX_X64_BUILD=trilium-linux-x64-$VERSION.7z
LINUX_IA32_BUILD=trilium-linux-ia32-$VERSION.7z
WINDOWS_X64_BUILD=trilium-windows-x64-$VERSION.7z
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
SERVER_BUILD=trilium-linux-x64-server-$VERSION.tar.xz
echo "Creating release in GitHub"
github-release release \
--tag $TAG \
--name "$TAG release"
EXTRA=
echo "Uploading linux x64 build"
if [[ $TAG == *"beta"* ]]; then
EXTRA=--prerelease
fi
github-release upload \
--tag $TAG \
--name "$LINUX_X64_BUILD" \
--file "dist/$LINUX_X64_BUILD"
echo "$GITHUB_CLI_AUTH_TOKEN" | gh auth login --with-token
echo "Uploading linux ia32 build"
github-release upload \
--tag $TAG \
--name "$LINUX_IA32_BUILD" \
--file "dist/$LINUX_IA32_BUILD"
echo "Uploading windows x64 build"
github-release upload \
--tag $TAG \
--name "$WINDOWS_X64_BUILD" \
--file "dist/$WINDOWS_X64_BUILD"
echo "Release finished!"
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/$SERVER_BUILD"
+4
View File
@@ -0,0 +1,4 @@
SET DIR=%~dp0
set NODE_TLS_REJECT_UNAUTHORIZED=0
cd %DIR%
start trilium.exe
+7
View File
@@ -0,0 +1,7 @@
#!/usr/bin/env sh
DIR=`dirname "$0"`
export NODE_TLS_REJECT_UNAUTHORIZED=0
"$DIR/trilium"
+4
View File
@@ -0,0 +1,4 @@
SET DIR=%~dp0
SET TRILIUM_DATA_DIR=%DIR%\trilium-data
cd %DIR%
start trilium.exe
+7
View File
@@ -0,0 +1,7 @@
#!/usr/bin/env sh
DIR=`dirname "$0"`
export TRILIUM_DATA_DIR="$DIR/trilium-data"
"$DIR/trilium"
+4
View File
@@ -0,0 +1,4 @@
SET DIR=%~dp0
SET TRILIUM_SAFE_MODE=1
cd %DIR%
start trilium.exe
+7
View File
@@ -0,0 +1,7 @@
#!/usr/bin/env sh
DIR=`dirname "$0"`
export TRILIUM_SAFE_MODE=1
"$DIR/trilium"
-126
View File
@@ -1,126 +0,0 @@
#!/usr/bin/env node
process.on('unhandledRejection', error => {
// this makes sure that stacktrace of failed promise is printed out
console.log(error);
// but also try to log it into file
require('../services/log').info(error);
});
const { app, sessionParser } = require('../app');
const debug = require('debug')('node:server');
const fs = require('fs');
const http = require('http');
const https = require('https');
const config = require('../services/config');
const log = require('../services/log');
const app_info = require('../services/app_info');
const messaging = require('../services/messaging');
const utils = require('../services/utils');
const sql = require('../services/sql');
const port = normalizePort(config['Network']['port'] || '3000');
app.set('port', port);
/**
* Create HTTP server.
*/
let httpServer;
if (config['Network']['https']) {
const options = {
key: fs.readFileSync(config['Network']['keyPath']),
cert: fs.readFileSync(config['Network']['certPath'])
};
httpServer = https.createServer(options, app);
log.info("App HTTPS server starting up at port " + port);
}
else {
httpServer = http.createServer(app);
log.info("App HTTP server starting up at port " + port);
}
log.info(JSON.stringify(app_info, null, 2));
/**
* Listen on provided port, on all network interfaces.
*/
httpServer.keepAliveTimeout = 120000 * 5;
httpServer.listen(port);
httpServer.on('error', onError);
httpServer.on('listening', onListening);
sql.dbReady.then(() => messaging.init(httpServer, sessionParser));
if (utils.isElectron()) {
const electronRouting = require('../routes/electron');
electronRouting(app);
}
/**
* Normalize a port into a number, string, or false.
*/
function normalizePort(val) {
const port = parseInt(val, 10);
if (isNaN(port)) {
// named pipe
return val;
}
if (port >= 0) {
// port number
return port;
}
return false;
}
/**
* Event listener for HTTP server "error" event.
*/
function onError(error) {
if (error.syscall !== 'listen') {
throw error;
}
const bind = typeof port === 'string'
? 'Pipe ' + port
: 'Port ' + port;
// handle specific listen errors with friendly messages
switch (error.code) {
case 'EACCES':
console.error(bind + ' requires elevated privileges');
process.exit(1);
break;
case 'EADDRINUSE':
console.error(bind + ' is already in use');
process.exit(1);
break;
default:
throw error;
}
}
/**
* Event listener for HTTP server "listening" event.
*/
function onListening() {
const addr = httpServer.address();
const bind = typeof addr === 'string'
? 'pipe ' + addr
: 'port ' + addr.port;
debug('Listening on ' + bind);
}
+17 -7
View File
@@ -1,13 +1,23 @@
[General]
# Instance name can be used to distinguish between different instances using backend api.getInstanceName()
instanceName=
# set to true to allow using Trilium without authentication (makes sense for server build only, desktop build doesn't need password)
noAuthentication=false
# set to true to disable backups (e.g. because of limited space on server)
noBackup=false
# Disable automatically generating desktop icon
# noDesktopIcon=true
[Network]
# host setting is relevant only for web deployments - set the host on which the server will listen
# host=0.0.0.0
# port setting is relevant only for web deployments, desktop builds run on a fixed port (changeable with TRILIUM_PORT environment variable)
port=8080
# true for TLS/SSL/HTTPS (secure), false for HTTP (unsecure).
https=false
# path to certificate (run "bash generate-cert.sh" to generate self-signed certificate). Relevant only if https=true
# path to certificate (run "bash bin/generate-cert.sh" to generate self-signed certificate). Relevant only if https=true
certPath=
keyPath=
[Sync]
syncServerHost=
syncServerTimeout=10000
syncProxy=
syncServerCertificate=
+11
View File
@@ -0,0 +1,11 @@
- drop branches.utcDateCreated - not used for anything
- drop options.utcDateCreated - not used for anything
- isDeleted = 0 by default
- rename openTabs to openNoteContexts
- migrate black theme to dark theme
- unify readOnly handling to a single attribute:
* readOnly - like now
* readOnly=auto - like without readOnly (used to override inherited readOnly)
* readOnly=never - like autoReadOnlyDisabled
- remove focusOnAttributesKeyboardShortcut
- rename white theme to "light" theme (it's not completely white and matches well to dark theme)
BIN
View File
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

-57
View File
@@ -1,57 +0,0 @@
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('root', 'root', 'root', 0, 0, '2017-12-22T11:41:07.000Z', '2017-12-22T11:41:07.000Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('1Heh2acXfPNt', 'Trilium Demo', '<p><strong>Welcome to Trilium Notes!</strong></p><p>&nbsp;</p><p>This is initial document provided by default Trilium to showcase some of its features and also give you some ideas how you might structure your notes. You can play with it, modify note content and tree structure as you wish.</p><p>&nbsp;</p><p>If you need any help, visit Trilium wesite: <a href="https://github.com/zadam/trilium">https://github.com/zadam/trilium</a></p><h3>Cleanup</h3><p>Once you''re finished with experimenting and want to cleanup these pages, you can simply delete them all.</p><h3>Formatting</h3><p>Trilium supports classic formatting like <i>italic</i>, <strong>bold</strong>, <i><strong>bold and italic</strong></i>. Of course you can add links like this one pointing to <a href="http://www.google.com">google.com</a></p><h4>Lists</h4><p><strong>Ordered:</strong></p><ol><li>First Item</li><li>Second item<ol><li>First sub-item</li><li>Second sub-item</li></ol></li></ol><p>&nbsp;</p><p><strong>Unordered:</strong></p><ul><li>Item</li><li>Another item<ul><li>Sub-item<ul><li>Sub-sub-item</li></ul></li></ul></li></ul><h4>Block quotes</h4><blockquote><p>Whereof one cannot speak, thereof one must be silent”</p><p> Ludwig Wittgenstein</p></blockquote><p>&nbsp;</p>', 0, 0, '2017-12-23T00:46:39.304Z', '2017-12-23T04:08:45.445Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('3RkyK9LI18dO', 'Journal', '<p>Expand note on the left pane to see content.</p>', 0, 0, '2017-12-23T01:20:04.181Z', '2017-12-23T18:07:55.377Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('L1Ox40M1aEyy', '2016', '<p>No content.</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p>', 0, 0, '2017-12-23T01:20:45.365Z', '2017-12-23T16:40:43.129Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('HJusZTbBU494', '2017', '<p>No content.</p>', 0, 0, '2017-12-23T01:20:50.709Z', '2017-12-23T16:41:03.119Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('3oldoiMUPOlr', 'December', '', 0, 0, '2017-12-23T01:20:55.775Z', '2017-12-23T01:21:05.806Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('MG0wntwILQW6', '22 - friday', 'Daily summary', 0, 0, '2017-12-23T01:21:10.517Z', '2017-12-23T01:22:45.814Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('ZC78NlmdXeC6', 'Linux', '<p>Expand note on the left pane to see content.</p>', 0, 0, '2017-12-23T01:22:55.255Z', '2017-12-23T18:08:10.381Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('NncfGH8dyNjJ', 'Programming', '<p>Expand note on the left pane to see content.</p>', 0, 0, '2017-12-23T01:23:02.584Z', '2017-12-23T18:08:20.179Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('eouCLkjbruai', 'Java', '', 0, 0, '2017-12-23T01:23:28.291Z', '2017-12-23T01:23:31.944Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('C44aq4mkaX67', 'Bash scripting', '<p><strong>Bash</strong> is a <a href="https://en.wikipedia.org/wiki/Unix_shell">Unix shell</a> and <a href="https://en.wikipedia.org/wiki/Command_language">command language</a> written by <a href="https://en.wikipedia.org/wiki/Brian_Fox_(computer_programmer)">Brian Fox</a> for the <a href="https://en.wikipedia.org/wiki/GNU_Project">GNU Project</a> as a <a href="https://en.wikipedia.org/wiki/Free_software">free software</a> replacement for the <a href="https://en.wikipedia.org/wiki/Bourne_shell">Bourne shell</a>. First released in 1989, it has been distributed widely as the default <a href="https://en.wikipedia.org/wiki/Login">login</a> shell for most <a href="https://en.wikipedia.org/wiki/Linux">Linux</a> distributions and <a href="https://en.wikipedia.org/wiki/Apple_Inc.">Apple''s</a> <a href="https://en.wikipedia.org/wiki/MacOS">macOS</a> (formerly OS X). A version <a href="https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux">is also available for Windows 10</a>.</p><p>&nbsp;</p><p><a href="https://en.wikipedia.org/wiki/Bash_(Unix_shell)">Bash on Wikipedia</a></p>', 0, 0, '2017-12-23T01:23:31.879Z', '2017-12-23T04:00:49.098Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('I6Cw88AirBBl', 'While loop', '<p>Documentation: <a href="http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_09_02.html">http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_09_02.html</a></p><p>&nbsp;</p><p>#!/bin/bash
</p><p># This script opens 4 terminal windows.
</p><p>&nbsp;</p><p>i="0"
</p><p>while [ $i -lt 4 ]
</p><p>do
</p><p>&nbsp; &nbsp; xterm &amp;
</p><p>&nbsp; &nbsp; i=$[$i+1]
</p><p>done</p>', 0, 0, '2017-12-23T01:24:04.681Z', '2017-12-23T01:26:07.786Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('mcEwFMSjhlvL', 'Bash startup modes', '<h3>Login shell</h3><p>As a "login shell", Bash reads and sets (executes) the user''s profile from /etc/profile and one of ~/.bash_profile, ~/.bash_login, or ~/.profile (in that order, using the first one that''s readable!).</p><p>When a login shell exits, Bash reads and executes commands from the file ~/.bash_logout, if it exists.</p><p>Why an extra login shell mode? There are many actions and variable sets that only make sense for the initial user login. That''s why all UNIX® shells have (should have) a "login" mode.</p><p><i><strong>Methods to start Bash as a login shell:</strong></i></p><ul><li>the first character of argv[0] is - (a hyphen): traditional UNIX® shells start from the login binary</li><li>Bash is started with the -l option</li><li>Bash is started with the --login option</li></ul><p><i><strong>Methods to test for login shell mode:</strong></i></p><ul><li>the shell option <a href="http://wiki.bash-hackers.org/internals/shell_options#login_shell">login_shell</a> is set</li></ul><p><i><strong>Related switches:</strong></i></p><ul><li>--noprofile disables reading of all profile files</li></ul><h3>Interactive shell</h3><p>When Bash starts as an interactive non-login shell, it reads and executes commands from ~/.bashrc. This file should contain, for example, aliases, since they need to be defined in every shell as they''re not inherited from the parent shell.</p><p>The feature to have a system-wide /etc/bash.bashrc or a similar system-wide rc-file is specific to vendors and distributors that ship <i>their own, patched variant of Bash</i>. The classic way to have a system-wide rc file is to source /etc/bashrc from every user''s ~/.bashrc.</p><p><i><strong>Methods to test for interactive-shell mode:</strong></i></p><ul><li>the special parameter $- contains the letter i (lowercase I)</li></ul><p><i><strong>Related switches:</strong></i></p><ul><li>-i forces the interactive mode</li><li>--norc disables reading of the startup files (e.g. /etc/bash.bashrc if supported) and ~/.bashrc</li><li>--rcfile defines another startup file (instead of /etc/bash.bashrc and ~/.bashrc)</li></ul><h3>SH mode</h3><p>When Bash starts in SH compatiblity mode, it tries to mimic the startup behaviour of historical versions of sh as closely as possible, while conforming to the POSIX® standard as well. The profile files read are /etc/profile and ~/.profile, if it''s a login shell.</p><p>If it''s not a login shell, the environment variable <a href="http://wiki.bash-hackers.org/syntax/shellvars#env">ENV</a> is evaluated and the resulting filename is used as the name of the startup file.</p><p>After the startup files are read, Bash enters the <a href="http://wiki.bash-hackers.org/scripting/bashbehaviour#posix_run_mode">POSIX(r) compatiblity mode (for running, not for starting!)</a>.</p><p><i><strong>Bash starts in sh compatiblity mode when:</strong></i></p><ul><li>the base filename in argv[0] is sh (<figure class="image"><img></figure>&nbsp;NB: /bin/sh may be linked to /bin/bash, but that doesn''t mean it acts like /bin/bash&nbsp;<figure class="image"><img></figure>)</li></ul>', 0, 0, '2017-12-23T01:29:35.974Z', '2017-12-23T01:34:10.493Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('CF2lUIJAr6Ey', 'Python', '', 0, 0, '2017-12-23T01:34:37.658Z', '2017-12-23T01:34:40.465Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('xkXwueRoDNeN', 'Christmas shopping', '<p>&nbsp;</p>', 0, 0, '2017-12-23T01:35:40.306Z', '2017-12-23T16:43:08.157Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('eXHZAKsMYgur', 'Books', '<p>Expand note on the left pane to see content.</p>', 0, 0, '2017-12-23T03:32:42.868Z', '2017-12-23T18:08:03.857Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('2WU27ekfy07E', 'To read', '<p>Checkout Kindle daily deals: <a href="https://www.amazon.com/gp/feature.html?docId=1000677541">https://www.amazon.com/gp/feature.html?docId=1000677541</a></p><p>&nbsp;</p><ul><li>Cixin Liu - <a href="https://www.amazon.com/Dark-Forest-Remembrance-Earths-Past/dp/0765386690/ref=pd_bxgy_14_img_2?_encoding=UTF8&amp;pd_rd_i=0765386690&amp;pd_rd_r=AB0J179TM9NTEAMHE240&amp;pd_rd_w=FAhxX&amp;pd_rd_wg=pLGK7&amp;psc=1&amp;refRID=AB0J179TM9NTEAMHE240">The Dark Forest</a></li><li>Ann Leckie - <a href="https://www.amazon.com/Ancillary-Sword-Imperial-Radch-Leckie/dp/0316246654/ref=pd_sim_14_1?_encoding=UTF8&amp;pd_rd_i=0316246654&amp;pd_rd_r=D7KDTGZFP7YM1YSYVY4G&amp;pd_rd_w=jkn28&amp;pd_rd_wg=JVhtw&amp;psc=1&amp;refRID=D7KDTGZFP7YM1YSYVY4G">Ancillary Sword</a></li></ul>', 0, 0, '2017-12-23T03:32:49.379Z', '2017-12-23T03:59:01.970Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('TjWEndYCCg7g', 'Reviews', '', 0, 0, '2017-12-23T03:33:23.584Z', '2017-12-23T03:33:35.089Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('8nRNDJGyGs2Z', 'The Mechanical', '<p><strong>Amazon:</strong> <a href="https://www.amazon.com/Mechanical-Alchemy-Wars-Ian-Tregillis/dp/0316248002">https://www.amazon.com/Mechanical-Alchemy-Wars-Ian-Tregillis/dp/0316248002</a></p><p><strong>Author:</strong> Ian Tregillis</p><p><strong>Dates of reading:</strong> 24. 11. 2017 -13. 12. 2017</p><p>&nbsp;</p><p>I enjoyed this book a lot. It''s slow moving at times with the author taking his time with conversations and descriptions of them. The premise is very interesting, but I''m sad that it wasn''t elaborated more deeply - e.g. the history and development of the clakker technology with Huygens and how Spinoza comes into the picture. Maybe the author saves it for the next two parts of the book.</p><p>&nbsp;</p><p>Language can be intimidating at first for non-native english speakers - author uses wide range of vocabulary. Fortunately it gets better after a while as reader adjusts.</p>', 0, 0, '2017-12-23T03:33:37.327Z', '2017-12-23T03:36:51.534Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('9zSwD89vgzNO', 'Highlights', '<blockquote><p>Like a raindrop rolling down dry valleys to the sea, his body sensed the contours of agony and helplessly followed their gradient. Impelled by alchemical compulsion rather than gravity, Jax became an unstoppable boulder careering along gullies of human whim.</p></blockquote><p>&nbsp;</p><blockquote><p>Free Will was a vacuum, a negative space. It was the absence of coercion, the absence of compulsion, the absence of agony.</p></blockquote><p>&nbsp;</p><blockquote><p>Overwhelming: he could do anything he wanted. But the grand sum of anything-at-all was nothing-at-all. The topology of freedom offered no gradients to nudge him, no landmarks to guide him. How did humans guide themselves? How did they know what to do and what not to do? How did they know when to do anything without the benefit of geasa and metageasa to prioritize every single action of their waking lives? How did they order their daily existence without somebody to tell them what to do?</p></blockquote><blockquote><p>Life as a slave was unspeakable; life as a slave who had briefly tasted freedom was unthinkable. Clakkers carried complex geasa by dint of alchemy; humans carried heavy obligations, too, but called them culture. Society.</p></blockquote>', 0, 0, '2017-12-23T03:37:04.912Z', '2017-12-23T03:38:16.533Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('u5t1EvWa3CMO', 'Man''s search for meaning', '<p><strong>Autor</strong>: Viktor Frankl - <a href="https://en.wikipedia.org/wiki/Viktor_Frankl">https://en.wikipedia.org/wiki/Viktor_Frankl</a></p><p><strong>Wiki</strong> - <a href="https://en.wikipedia.org/wiki/Man%27s_Search_for_Meaning">https://en.wikipedia.org/wiki/Man%27s_Search_for_Meaning</a></p><p>&nbsp;</p><p>But I must explain to you how all this mistaken idea of denouncing pleasure and praising pain was born and I will give you a complete account of the system, and expound the actual teachings of the great explorer of the truth, the master-builder of human happiness. No one rejects, dislikes, or avoids pleasure itself, because it is pleasure, but because those who do not know how to pursue pleasure rationally encounter consequences that are extremely painful. Nor again is there anyone who loves or pursues or desires to obtain pain of itself, because it is pain, but because occasionally circumstances occur in which toil and pain can procure him some great pleasure. To take a trivial example, which of us ever undertakes laborious physical exercise, except to obtain some advantage from it? But who has any right to find fault with a man who chooses to enjoy a pleasure that has no annoying consequences, or one who avoids a pain that produces no resultant pleasure?</p><p>&nbsp;</p>', 0, 0, '2017-12-23T03:39:21.918Z', '2017-12-23T03:40:26.692Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('Iha4YwchR413', '21 - thursday', '', 0, 0, '2017-12-23T03:44:21.176Z', '2017-12-23T03:44:28.816Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('6ZuXjCSWgjB4', 'November', '', 0, 0, '2017-12-23T03:44:45.351Z', '2017-12-23T03:44:53.787Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('GpGnjmcAPeWG', '28', '', 0, 0, '2017-12-23T03:44:57.036Z', '2017-12-23T03:45:08.790Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('21K84UqGhqlt', 'Christmas gift ideas', '<ul><li>XBox</li><li>Candles</li><li><a href="https://www.amazon.ca/Anker-SoundCore-Portable-Bluetooth-Resistance/dp/B01MTB55WH?pd_rd_wg=honW8&amp;pd_rd_r=c9bb7c0f-0051-4da7-991f-4ca711a1b3e3&amp;pd_rd_w=ciUpR&amp;ref_=pd_gw_simh&amp;pf_rd_r=K10XKX0NGPDNTYYP4BS4&amp;pf_rd_p=5f1b460b-78c1-580e-929e-2878fe4859e8">Portable speakers</a></li><li>...?</li></ul>', 0, 0, '2017-12-23T03:45:10.933Z', '2017-12-23T16:43:28.160Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('rz5t0r9Qr2WC', 'Epics', '<p>Epic is kind of medium-term events or projects spread over days or months.</p><p>&nbsp;</p><p>Remember that Trilium is all free form so you can organise your stuff in whatever way you''d like</p><p>&nbsp;</p><p>&nbsp;</p>', 0, 0, '2017-12-23T03:45:20.914Z', '2017-12-23T03:52:37.779Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('R6pheWjdwmNU', 'Christmas', '<p>This christmas is going to be awesome!</p>', 0, 0, '2017-12-23T03:45:28.002Z', '2017-12-23T16:42:53.142Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('5v5Dx6LMHXIO', 'Christmas shopping', '<p>Bought a book!</p>', 0, 0, '2017-12-23T03:45:44.184Z', '2017-12-23T04:09:15.442Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('MLQjmREtcnJ3', 'Shopping', '', 0, 0, '2017-12-23T03:47:48.208Z', '2017-12-23T03:47:51.917Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('pTTjrxgnvURB', 'Vacation days', '<p>25. 12., 26. 12., 1. 1. - statutory holidays</p><p>27. 12. - 29. 12., 2. 1. - vacation days</p>', 0, 0, '2017-12-23T03:47:55.932Z', '2017-12-23T03:49:46.419Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('cFK9sGYZaMWs', 'Vacation in Cuba', 'Planning stuff etc.', 0, 0, '2017-12-23T03:49:32.210Z', '2017-12-23T03:55:17.763Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('pOFVzbXLmzhX', 'Christmas dinner', 'Carp of course!', 0, 0, '2017-12-23T03:54:46.138Z', '2017-12-23T03:54:57.762Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('0xtvjqrcGiRB', 'History', '<p>The <strong>history of Linux</strong> began in 1991 with the commencement of a personal project by <a href="https://en.wikipedia.org/wiki/Finland">Finnish</a> student <a href="https://en.wikipedia.org/wiki/Linus_Torvalds">Linus Torvalds</a> to create a new free operating system kernel. Since then, the resulting <a href="https://en.wikipedia.org/wiki/Linux_kernel">Linux kernel</a> has been marked by constant growth throughout its history. Since the initial release of its <a href="https://en.wikipedia.org/wiki/Source_code">source code</a> in 1991, it has grown from a small number of <a href="https://en.wikipedia.org/wiki/C_Programming_Language">C</a> files under a license prohibiting commercial distribution to the 4.2.3 version in 2015 with more than 18 million lines of source code under the <a href="https://en.wikipedia.org/wiki/GNU_General_Public_License">GNU General Public License</a> v2.</p>', 0, 0, '2017-12-23T04:01:51.565Z', '2017-12-23T04:02:05.496Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('Zl69uXBSen0w', 'Ubuntu', '<p>Expand note on the left pane to see content.</p>', 0, 0, '2017-12-23T04:02:16.685Z', '2017-12-23T18:08:15.381Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('62BKAQMVP2KW', 'Unity shortcuts', '<ul><li>Hold Super - Invoke the Launcher and display the shortcuts</li><li>Hold Super, then press 1 or 2 or 3 and so on until 0 to open or focus an application. The number corresponds to the location of the icon on the launcher from top to bottom.<ul><li>Adding Shift will open a new instance of the application if it''s already open.</li><li>Holding the key is also useful when you want to get to the Launcher but do not want to invoke the Dash.</li></ul></li><li>Super + T - Open the rubbish bin/trash can.</li><li>Alt + F1 - Put keyboard focus on the Launcher, use arrow keys to navigate, Enter launches an application, Right arrow exposes the quicklists if an application has them.</li><li>Ctrl + Alt + T - Launch a terminal window.</li></ul>', 0, 0, '2017-12-23T04:02:39.164Z', '2017-12-23T04:03:09.867Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('h4OfLEAYspud', 'Security', '<p>Expand note on the left pane to see content.</p>', 0, 0, '2017-12-23T04:04:00.715Z', '2017-12-23T18:08:25.474Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('1hASbLRDL7oo', 'Trusted timestamping', '<p>Wiki: <a href="https://en.wikipedia.org/wiki/Trusted_timestamping">https://en.wikipedia.org/wiki/Trusted_timestamping</a></p><p>Bozho: <a href="https://techblog.bozho.net/using-trusted-timestamping-java/">https://techblog.bozho.net/using-trusted-timestamping-java/</a></p><p>&nbsp;</p><p><strong>Trusted timestamping</strong> is the process of <a href="https://en.wikipedia.org/wiki/Computer_security">securely</a> keeping track of the creation and modification time of a document. Security here means that no one—not even the owner of the document—should be able to change it once it has been recorded provided that the timestamper''s integrity is never compromised.</p><p>The administrative aspect involves setting up a publicly available, trusted timestamp management infrastructure to collect, process and renew timestamps.</p>', 0, 0, '2017-12-23T04:04:08.155Z', '2017-12-23T04:04:30.386Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('jyqG9GucsMdn', 'Office party', 'That was fun!', 0, 0, '2017-12-23T04:05:16.439Z', '2017-12-23T04:05:30.373Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('WdWZFuWNVDZk', 'Tech', '<p>Expand note on the left pane to see content.</p>', 0, 0, '2017-12-23T04:06:16.179Z', '2017-12-23T18:08:05.376Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('yK4SBJfwD3tY', 'Work', '<p>Expand note on the left pane to see content.</p>', 0, 0, '2017-12-23T04:06:32.833Z', '2017-12-23T18:08:30.573Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('r4BnsmSQeVr1', 'HR', '<p>HR stuff&nbsp;</p>', 0, 0, '2017-12-23T04:06:37.427Z', '2017-12-23T16:42:23.145Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('QbL3pTvhgzM8', 'Processes', '<p>No content.</p><p>&nbsp;</p>', 0, 0, '2017-12-23T04:06:43.841Z', '2017-12-23T16:42:15.893Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('moMbTKwN15Ps', 'Projects', '<p>Here I''d keep various notes related to my work''s projects etc.</p>', 0, 0, '2017-12-23T04:06:49.331Z', '2017-12-23T04:07:25.429Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('PEGQGg0In3Ar', 'Phone call about work project', '<p>Bla bla bla ....</p>', 0, 0, '2017-12-23T16:44:35.900Z', '2017-12-23T16:44:53.174Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('IlULcDiOTI4K', 'Inbox', '<p>This is a place I use to put notes waiting for better categorization</p><p>&nbsp;</p>', 0, 0, '2017-12-23T16:45:11.047Z', '2017-12-23T18:04:49.545Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('vBv6ovBupfTj', 'Grocery list for today', '<ul><li>cucumber</li><li>cheese</li><li>beer</li></ul><p>&nbsp;</p>', 0, 0, '2017-12-23T18:04:50.904Z', '2017-12-23T18:05:19.574Z');
INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified) VALUES ('mw4f2xB4J5fV', 'Book to read', '<p>How to be a stoic from Massimo Pigliuci:</p><p>&nbsp;</p><p><a href="https://www.amazon.com/gp/product/B01K3WN1BY?pf_rd_m=A2R2RITDJNW1Q6&amp;storeType=ebooks&amp;pageType=STOREFRONT&amp;pf_rd_p=8e2a96d9-c848-435b-92bd-0856850ad544&amp;pf_rd_r=4J6CT15BS4X8062XNGDF&amp;pf_rd_s=merchandised-search-5&amp;pf_rd_t=40901&amp;ref_=dbs_f_ebk_rwt_scns_mwl_ms5_kmw_8e2a96d9-c848-435b-92bd-0856850ad544_2&amp;pf_rd_i=154606011">https://www.amazon.com/gp/product/B01K3WN1BY?pf_rd_m=A2R2RITDJNW1Q6&amp;storeType=ebooks&amp;pageType=STOREFRONT&amp;pf_rd_p=8e2a96d9-c848-435b-92bd-0856850ad544&amp;pf_rd_r=4J6CT15BS4X8062XNGDF&amp;pf_rd_s=merchandised-search-5&amp;pf_rd_t=40901&amp;ref_=dbs_f_ebk_rwt_scns_mwl_ms5_kmw_8e2a96d9-c848-435b-92bd-0856850ad544_2&amp;pf_rd_i=154606011</a></p>', 0, 0, '2017-12-23T18:05:24.868Z', '2017-12-23T18:06:55.320Z');
-52
View File
@@ -1,52 +0,0 @@
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('dLgtLUFn3GoN', '1Heh2acXfPNt', 'root', 21, null, 1, 0, '2017-12-23T00:46:39.304Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('QLfS835GSfIh', '3RkyK9LI18dO', '1Heh2acXfPNt', 1, null, 1, 0, '2017-12-23T01:20:04.181Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('QJAcYJ1gGUh9', 'L1Ox40M1aEyy', '3RkyK9LI18dO', 0, null, 0, 0, '2017-12-23T01:20:45.365Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('wLTa2l3lYi83', 'HJusZTbBU494', '3RkyK9LI18dO', 2, null, 1, 0, '2017-12-23T01:20:50.709Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('yMhwsE7uvEij', '3oldoiMUPOlr', 'HJusZTbBU494', 1, null, 1, 0, '2017-12-23T01:20:55.775Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('EjQTcVVHFmmZ', 'MG0wntwILQW6', '3oldoiMUPOlr', 1, null, 1, 0, '2017-12-23T01:21:10.517Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('jvhKcwz4pYTr', 'ZC78NlmdXeC6', 'WdWZFuWNVDZk', 0, null, 1, 0, '2017-12-23T04:06:21.579Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('CarTrwkGVcPz', 'NncfGH8dyNjJ', 'WdWZFuWNVDZk', 1, null, 0, 0, '2017-12-23T04:06:24.012Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('6M7qPlr7at6N', 'eouCLkjbruai', 'NncfGH8dyNjJ', 0, null, 0, 0, '2017-12-23T01:23:28.291Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('tQgognnAH9WI', 'C44aq4mkaX67', 'NncfGH8dyNjJ', 1, null, 0, 0, '2017-12-23T01:23:31.879Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('xyAi7MmgvAgR', 'C44aq4mkaX67', 'ZC78NlmdXeC6', 1, null, 0, 0, '2017-12-23T01:23:47.756Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('xQ3fjRp9yaPq', 'I6Cw88AirBBl', 'C44aq4mkaX67', 0, null, 0, 0, '2017-12-23T01:24:04.681Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('2GOsNT5LsvTP', 'mcEwFMSjhlvL', 'C44aq4mkaX67', 1, null, 0, 0, '2017-12-23T01:29:35.974Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('RxUiraiR655R', 'CF2lUIJAr6Ey', 'NncfGH8dyNjJ', 2, null, 0, 0, '2017-12-23T01:34:37.658Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('mZuSrZ18Zmv0', 'xkXwueRoDNeN', 'MG0wntwILQW6', 0, null, 0, 0, '2017-12-23T01:35:40.306Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('hbcWTnEnXPwF', 'eXHZAKsMYgur', '1Heh2acXfPNt', 3, null, 1, 0, '2017-12-23T03:32:42.868Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('8a3aNxjG0nu7', '2WU27ekfy07E', 'eXHZAKsMYgur', 0, null, 0, 0, '2017-12-23T03:32:49.379Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('4Tu6vaPdCxCM', 'TjWEndYCCg7g', 'eXHZAKsMYgur', 1, null, 0, 0, '2017-12-23T03:33:23.584Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('lBPOmhP12egP', '8nRNDJGyGs2Z', 'TjWEndYCCg7g', 0, null, 0, 0, '2017-12-23T03:33:37.327Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('C5ipVqeDWySp', '9zSwD89vgzNO', '8nRNDJGyGs2Z', 0, null, 0, 0, '2017-12-23T03:37:04.912Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('uSitzbGcSATJ', 'u5t1EvWa3CMO', 'TjWEndYCCg7g', 1, null, 0, 0, '2017-12-23T03:39:21.918Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('GZ6aRI8rdSJt', '8nRNDJGyGs2Z', 'MG0wntwILQW6', 1, '', 0, 0, '2017-12-23T03:42:28.310Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('HsN4600rQoL9', 'Iha4YwchR413', '3oldoiMUPOlr', 0, null, 1, 0, '2017-12-23T03:44:30.945Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('uipfvAfwWRgx', '6ZuXjCSWgjB4', 'HJusZTbBU494', 0, null, 0, 0, '2017-12-23T03:44:54.096Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('nMRpPWWH8WRk', 'GpGnjmcAPeWG', '6ZuXjCSWgjB4', 0, null, 1, 0, '2017-12-23T03:44:57.036Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('c4wt27WNjepw', '21K84UqGhqlt', 'GpGnjmcAPeWG', 0, null, 0, 0, '2017-12-23T03:45:10.933Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('0fpnraUGs9Kl', 'rz5t0r9Qr2WC', 'HJusZTbBU494', 2, null, 1, 0, '2017-12-23T03:45:20.914Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('d8L8zYlLTbym', 'R6pheWjdwmNU', 'rz5t0r9Qr2WC', 0, null, 1, 0, '2017-12-23T03:45:28.002Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('T4USGzfllu5t', '5v5Dx6LMHXIO', 'Iha4YwchR413', 0, null, 0, 0, '2017-12-23T03:45:44.184Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('c4JgFNIobvQW', 'MLQjmREtcnJ3', 'R6pheWjdwmNU', 0, null, 0, 0, '2017-12-23T03:47:48.208Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('nfWjptAU2ZDg', 'pTTjrxgnvURB', 'R6pheWjdwmNU', 1, null, 0, 0, '2017-12-23T03:47:55.932Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('T2ToYBfyPy0g', 'cFK9sGYZaMWs', 'rz5t0r9Qr2WC', 1, null, 0, 0, '2017-12-23T03:49:32.210Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('NG4gbKOnsM3v', '21K84UqGhqlt', 'MLQjmREtcnJ3', 0, '28. 11. 2017', 0, 0, '2017-12-23T03:53:38.110Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('Fstg4tkccO4N', '5v5Dx6LMHXIO', 'MLQjmREtcnJ3', 1, '21. 12. 2017', 0, 0, '2017-12-23T03:53:49.737Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('MN8B7qXDUViO', 'xkXwueRoDNeN', 'MLQjmREtcnJ3', 2, '22. 12. 2017', 0, 0, '2017-12-23T03:53:57.486Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('gSRkHpB7Bu3D', 'pOFVzbXLmzhX', 'R6pheWjdwmNU', 2, null, 0, 0, '2017-12-23T03:54:46.138Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('6brdjeWDOB6w', '0xtvjqrcGiRB', 'ZC78NlmdXeC6', 0, null, 0, 0, '2017-12-23T04:02:06.650Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('AqKUM2zUVFUF', 'Zl69uXBSen0w', 'ZC78NlmdXeC6', 2, null, 1, 0, '2017-12-23T04:02:16.685Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('Ez7NN2WVzRc4', '62BKAQMVP2KW', 'Zl69uXBSen0w', 1, null, 0, 0, '2017-12-23T04:02:39.164Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('t3vVElqMIQVa', 'h4OfLEAYspud', 'WdWZFuWNVDZk', 2, null, 1, 0, '2017-12-23T04:06:25.769Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('O983DHtLpgmr', '1hASbLRDL7oo', 'h4OfLEAYspud', 0, null, 0, 0, '2017-12-23T16:42:26.347Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('RsvL795Mk1bp', '1hASbLRDL7oo', 'GpGnjmcAPeWG', 1, '', 0, 0, '2017-12-23T04:04:56.830Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('79e4hrHLFmx6', 'jyqG9GucsMdn', 'Iha4YwchR413', 1, null, 0, 0, '2017-12-23T04:05:16.439Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('oWO8rctUjf7d', 'WdWZFuWNVDZk', '1Heh2acXfPNt', 5, null, 1, 0, '2017-12-23T04:06:16.179Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('GOxcrZrxalFN', 'yK4SBJfwD3tY', '1Heh2acXfPNt', 8, null, 1, 0, '2017-12-23T04:06:32.833Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('bSPmEvjLzQKU', 'r4BnsmSQeVr1', 'yK4SBJfwD3tY', 0, null, 0, 0, '2017-12-23T04:06:37.427Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('bMtxCD6cwNR9', 'QbL3pTvhgzM8', 'yK4SBJfwD3tY', 2, null, 0, 0, '2017-12-23T04:06:43.841Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('o4ycR7xIi4oI', 'moMbTKwN15Ps', 'yK4SBJfwD3tY', 3, null, 1, 0, '2017-12-23T04:06:49.331Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('abTEhnOsAsSg', 'PEGQGg0In3Ar', 'GpGnjmcAPeWG', 2, null, 0, 0, '2017-12-23T16:44:35.900Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('bryQseMhyzaI', 'IlULcDiOTI4K', '1Heh2acXfPNt', 0, null, 0, 0, '2017-12-23T18:04:26.439Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('ccslPJf3wQV3', 'vBv6ovBupfTj', 'IlULcDiOTI4K', 0, null, 0, 0, '2017-12-23T18:04:50.904Z');
INSERT INTO notes_tree (note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified) VALUES ('5Dt9YCMn59sY', 'mw4f2xB4J5fV', 'IlULcDiOTI4K', 1, null, 0, 0, '2017-12-23T18:05:24.868Z');
@@ -0,0 +1,15 @@
const becca = require('../../src/becca/becca');
const beccaLoader = require('../../src/becca/becca_loader');
const cls = require('../../src/services/cls');
module.exports = () => {
cls.init(() => {
beccaLoader.load();
for (const note of Object.values(becca.notes)) {
if (note.hasLabel('calendarRoot')) {
note.addLabel('excludeFromNoteMap', "", true);
}
}
});
};
@@ -0,0 +1,4 @@
-- black theme has been removed, dark is closest replacement
UPDATE options SET value = 'dark' WHERE name = 'theme' AND value = 'black';
UPDATE options SET value = 'light' WHERE name = 'theme' AND value = 'white';
+107 -81
View File
@@ -1,85 +1,111 @@
CREATE TABLE IF NOT EXISTS "options" (
`opt_name` TEXT NOT NULL PRIMARY KEY,
`opt_value` TEXT,
`date_modified` INT
);
CREATE TABLE IF NOT EXISTS "sync" (
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
`entity_name` TEXT NOT NULL,
`entity_id` TEXT NOT NULL,
`source_id` TEXT NOT NULL,
`sync_date` TEXT NOT NULL);
CREATE TABLE `source_ids` (
`source_id` TEXT NOT NULL,
`date_created` TEXT NOT NULL,
PRIMARY KEY(`source_id`)
);
CREATE TABLE IF NOT EXISTS "entity_changes" (
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
`entityName` TEXT NOT NULL,
`entityId` TEXT NOT NULL,
`hash` TEXT NOT NULL,
`isErased` INT NOT NULL,
`sourceId` TEXT NOT NULL,
`isSynced` INTEGER NOT NULL,
`utcDateChanged` TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS "api_tokens"
(
apiTokenId TEXT PRIMARY KEY NOT NULL,
token TEXT NOT NULL,
utcDateCreated TEXT NOT NULL,
isDeleted INT NOT NULL DEFAULT 0);
CREATE TABLE IF NOT EXISTS "branches" (
`branchId` TEXT NOT NULL,
`noteId` TEXT NOT NULL,
`parentNoteId` TEXT NOT NULL,
`notePosition` INTEGER NOT NULL,
`prefix` TEXT,
`isExpanded` INTEGER NOT NULL DEFAULT 0,
`isDeleted` INTEGER NOT NULL DEFAULT 0,
`deleteId` TEXT DEFAULT NULL,
`utcDateModified` TEXT NOT NULL,
utcDateCreated TEXT NOT NULL,
PRIMARY KEY(`branchId`));
CREATE TABLE IF NOT EXISTS "notes" (
`note_id` TEXT NOT NULL,
`note_title` TEXT,
`note_text` TEXT,
`is_protected` INT NOT NULL DEFAULT 0,
`is_deleted` INT NOT NULL DEFAULT 0,
`date_created` TEXT NOT NULL,
`date_modified` TEXT NOT NULL,
PRIMARY KEY(`note_id`)
`noteId` TEXT NOT NULL,
`title` TEXT NOT NULL DEFAULT "note",
`isProtected` INT NOT NULL DEFAULT 0,
`type` TEXT NOT NULL DEFAULT 'text',
`mime` TEXT NOT NULL DEFAULT 'text/html',
`isDeleted` INT NOT NULL DEFAULT 0,
`deleteId` TEXT DEFAULT NULL,
`dateCreated` TEXT NOT NULL,
`dateModified` TEXT NOT NULL,
`utcDateCreated` TEXT NOT NULL,
`utcDateModified` TEXT NOT NULL,
PRIMARY KEY(`noteId`));
CREATE TABLE IF NOT EXISTS "note_contents" (
`noteId` TEXT NOT NULL,
`content` TEXT NULL DEFAULT NULL,
`dateModified` TEXT NOT NULL,
`utcDateModified` TEXT NOT NULL,
PRIMARY KEY(`noteId`)
);
CREATE TABLE `event_log` (
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
`note_id` TEXT,
`comment` TEXT,
`date_added` TEXT NOT NULL,
FOREIGN KEY(note_id) REFERENCES notes(note_id)
CREATE TABLE IF NOT EXISTS "note_revisions" (`noteRevisionId` TEXT NOT NULL PRIMARY KEY,
`noteId` TEXT NOT NULL,
type TEXT DEFAULT '' NOT NULL,
mime TEXT DEFAULT '' NOT NULL,
`title` TEXT,
`isProtected` INT NOT NULL DEFAULT 0,
`utcDateLastEdited` TEXT NOT NULL,
`utcDateCreated` TEXT NOT NULL,
`utcDateModified` TEXT NOT NULL,
`dateLastEdited` TEXT NOT NULL,
`dateCreated` TEXT NOT NULL);
CREATE TABLE IF NOT EXISTS "note_revision_contents" (`noteRevisionId` TEXT NOT NULL PRIMARY KEY,
`content` TEXT,
`utcDateModified` TEXT NOT NULL);
CREATE TABLE IF NOT EXISTS "options"
(
name TEXT not null PRIMARY KEY,
value TEXT,
isSynced INTEGER default 0 not null,
utcDateCreated TEXT not null,
utcDateModified TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS "notes_tree" (
`note_tree_id` TEXT NOT NULL,
`note_id` TEXT NOT NULL,
`parent_note_id` TEXT NOT NULL,
`note_position` INTEGER NOT NULL,
`prefix` TEXT,
`is_expanded` BOOLEAN,
`is_deleted` INTEGER NOT NULL DEFAULT 0,
`date_modified` TEXT NOT NULL,
PRIMARY KEY(`note_tree_id`)
);
CREATE TABLE IF NOT EXISTS "notes_history" (
`note_history_id` TEXT NOT NULL PRIMARY KEY,
`note_id` TEXT NOT NULL,
`note_title` TEXT,
`note_text` TEXT,
`is_protected` INT NOT NULL DEFAULT 0,
`date_modified_from` TEXT NOT NULL,
`date_modified_to` TEXT NOT NULL
);
CREATE TABLE `recent_notes` (
`note_tree_id` TEXT NOT NULL PRIMARY KEY,
`note_path` TEXT NOT NULL,
`date_accessed` TEXT NOT NULL,
is_deleted INT
);
CREATE UNIQUE INDEX `IDX_sync_entity_name_id` ON `sync` (
`entity_name`,
`entity_id`
);
CREATE INDEX `IDX_sync_sync_date` ON `sync` (
`sync_date`
);
CREATE INDEX `IDX_notes_is_deleted` ON `notes` (
`is_deleted`
);
CREATE INDEX `IDX_notes_tree_note_id_parent_note_id` ON `notes_tree` (
`note_id`,
`parent_note_id`
);
CREATE INDEX `IDX_notes_tree_note_id` ON `notes_tree` (
`note_id`
);
CREATE INDEX `IDX_notes_history_note_id` ON `notes_history` (
`note_id`
);
CREATE INDEX `IDX_notes_history_note_date_modified_from` ON `notes_history` (
`date_modified_from`
);
CREATE INDEX `IDX_notes_history_note_date_modified_to` ON `notes_history` (
`date_modified_to`
CREATE TABLE IF NOT EXISTS "attributes"
(
attributeId TEXT not null primary key,
noteId TEXT not null,
type TEXT not null,
name TEXT not null,
value TEXT default '' not null,
position INT default 0 not null,
utcDateModified TEXT not null,
isDeleted INT not null,
`deleteId` TEXT DEFAULT NULL,
isInheritable int DEFAULT 0 NULL);
CREATE UNIQUE INDEX `IDX_entityChanges_entityName_entityId` ON "entity_changes" (
`entityName`,
`entityId`
);
CREATE INDEX `IDX_branches_noteId_parentNoteId` ON `branches` (`noteId`,`parentNoteId`);
CREATE INDEX IDX_branches_parentNoteId ON branches (parentNoteId);
CREATE INDEX `IDX_notes_title` ON `notes` (`title`);
CREATE INDEX `IDX_notes_type` ON `notes` (`type`);
CREATE INDEX `IDX_notes_dateCreated` ON `notes` (`dateCreated`);
CREATE INDEX `IDX_notes_dateModified` ON `notes` (`dateModified`);
CREATE INDEX `IDX_notes_utcDateModified` ON `notes` (`utcDateModified`);
CREATE INDEX `IDX_notes_utcDateCreated` ON `notes` (`utcDateCreated`);
CREATE INDEX `IDX_note_revisions_noteId` ON `note_revisions` (`noteId`);
CREATE INDEX `IDX_note_revisions_utcDateCreated` ON `note_revisions` (`utcDateCreated`);
CREATE INDEX `IDX_note_revisions_utcDateLastEdited` ON `note_revisions` (`utcDateLastEdited`);
CREATE INDEX `IDX_note_revisions_dateCreated` ON `note_revisions` (`dateCreated`);
CREATE INDEX `IDX_note_revisions_dateLastEdited` ON `note_revisions` (`dateLastEdited`);
CREATE INDEX IDX_attributes_name_value
on attributes (name, value);
CREATE INDEX IDX_attributes_noteId_index
on attributes (noteId);
CREATE INDEX IDX_attributes_value_index
on attributes (value);
CREATE TABLE IF NOT EXISTS "recent_notes"
(
noteId TEXT not null primary key,
notePath TEXT not null,
utcDateCreated TEXT not null
);
-21
View File
@@ -1,21 +0,0 @@
<p>Trilium is a personal knowledge base tool. This allows you to write and
manage your knowledge in a structured manner.</p>
<h3>Main features</h3>
<ul>
<li>hierarchical (tree) structure of notes - notes can be easily nested as
necessary without imposing any depth limitations
<ul>
<li>extension of tree structure in the form of note clones - note can belong
to multiple parent notes - thus appearing in multiple places in the hierarchy</li>
</ul>
</li>
<li>strong encryption - selected notes can be protected with strong encryption
with key derived from password</li>
<li>web application to be deployed on your server, desktop application (build
on Electron) and data synchronization between instances</li>
<li>fast keyboard-based navigation between different notes using "Jump-to"
and "Recent notes" dialogs</li>
</ul>
<h3>Homepage</h3>
<p>Trilium project is maintained in <a href="https://github.com/zadam/trilium">GitHub repository</a> where
you can find up to date documentation, source code and you can file issues.</p>
@@ -1,19 +0,0 @@
<p>Protected notes are encrypted using AES encryption algorithm where encryption
key is generated using Scrypt key derivation function from user entered
password.</p>
<p>&nbsp;</p>
<p>You can either protect individual notes or whole subtree by right clicking
on an item in the tree pane. In such a case it's still a case of all of
the notes being encrypted individually. One consequence is that you can
still create unprotected notes under protected notes.</p>
<p>&nbsp;</p>
<p>In protected notes, only note title and note text are encrypted. All metadata
like date of last modification, note structure etc. are not encrypted and
can be visible even without entering protected mode.</p>
<p>&nbsp;</p>
<p>When you try to perform action which requires protected session (e.g.
reading protected notes or making note protected), you'll be asked to enter
password. After successful authentication, protected session is established
for limited period of time (by default 10 minutes). If protected session
is not refreshed during this time, protected session expires and user needs
to authenticate again to start new protected session.</p>
@@ -1,12 +0,0 @@
Note cloning allows you to "register" single note (and it's subtree) under
multiple different notes.&nbsp;
<p>&nbsp;</p>
<p>This allows the same note to appear in multiple places in the tree. This
is useful when note logically belongs to multiple categories - e.g. in
time based structure you can categorize the note for the given date and
then separately you might want to put it somewhere else by it's taxonomy.
In this sense it works similarly to tags, only more generally and in a
tree structure (while tags are typically flat structured).</p>
<p>&nbsp;</p>
<p>When note has multiple parents, then technically there isn't any one "original"
and "clones", all of the parents are equal.</p>
@@ -1,3 +0,0 @@
<p>Trilium supports synchronization between different instances. Typical
scenario is when you have web version of Trilium deployed on your server
and desktop builds on your personal and work computer (star shaped topology).</p>
+17
View File
@@ -0,0 +1,17 @@
version: '2.1'
services:
trilium:
build:
context: .
image: zadam/trilium
restart: always
environment:
- TRILIUM_DATA_DIR=/data
ports:
- "8080:8080"
volumes:
- trilium:/data
volumes:
trilium:
+170
View File
@@ -0,0 +1,170 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: ApiToken</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: ApiToken</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>ApiToken<span class="signature">()</span><span class="type-signature"></span></h2>
<div class="class-description">ApiToken is an entity representing token used to authenticate against Trilium API from client applications. Currently used only by Trilium Sender.</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="ApiToken"><span class="type-signature"></span>new ApiToken<span class="signature">()</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="becca_entities_api_token.js.html">becca/entities/api_token.js</a>, <a href="becca_entities_api_token.js.html#line9">line 9</a>
</li></ul></dd>
</dl>
</div>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-sql.html">sql</a></li></ul><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.7</a>
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
+759
View File
@@ -0,0 +1,759 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: Attribute</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: Attribute</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>Attribute<span class="signature">()</span><span class="type-signature"></span></h2>
<div class="class-description">Attribute is key value pair owned by a note.</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="Attribute"><span class="type-signature"></span>new Attribute<span class="signature">()</span><span class="type-signature"></span></h4>
<h5 class="subsection-title">Properties:</h5>
<table class="props">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>attributeId</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">immutable</td>
</tr>
<tr>
<td class="name"><code>noteId</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">immutable</td>
</tr>
<tr>
<td class="name"><code>type</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">immutable</td>
</tr>
<tr>
<td class="name"><code>name</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">immutable</td>
</tr>
<tr>
<td class="name"><code>value</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>position</code></td>
<td class="type">
<span class="param-type">int</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>isInheritable</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="description last">immutable</td>
</tr>
<tr>
<td class="name"><code>isDeleted</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>deleteId</code></td>
<td class="type">
<span class="param-type">string</span>
|
<span class="param-type">null</span>
</td>
<td class="description last">ID identifying delete transaction</td>
</tr>
<tr>
<td class="name"><code>utcDateModified</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="entities_attribute.js.html">entities/attribute.js</a>, <a href="entities_attribute.js.html#line25">line 25</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Extends</h3>
<ul>
<li><a href="Entity.html">Entity</a></li>
</ul>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id="getNote"><span class="type-signature"></span>getNote<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="Note.html">Note</a>|null}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="entities_attribute.js.html">entities/attribute.js</a>, <a href="entities_attribute.js.html#line43">line 43</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type"><a href="Note.html">Note</a></span>
|
<span class="param-type">null</span>
</dd>
</dl>
<h4 class="name" id="getTargetNote"><span class="type-signature"></span>getTargetNote<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="Note.html">Note</a>|null}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="entities_attribute.js.html">entities/attribute.js</a>, <a href="entities_attribute.js.html#line50">line 50</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type"><a href="Note.html">Note</a></span>
|
<span class="param-type">null</span>
</dd>
</dl>
<h4 class="name" id="isDefinition"><span class="type-signature"></span>isDefinition<span class="signature">()</span><span class="type-signature"> &rarr; {boolean}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="entities_attribute.js.html">entities/attribute.js</a>, <a href="entities_attribute.js.html#line65">line 65</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">boolean</span>
</dd>
</dl>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-sql.html">sql</a></li></ul><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a>
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
File diff suppressed because it is too large Load Diff
+658
View File
@@ -0,0 +1,658 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: Branch</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: Branch</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>Branch<span class="signature">()</span><span class="type-signature"></span></h2>
<div class="class-description">Branch represents note's placement in the tree - it's essentially pair of noteId and parentNoteId.
Each note can have multiple (at least one) branches, meaning it can be placed into multiple places in the tree.</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="Branch"><span class="type-signature"></span>new Branch<span class="signature">()</span><span class="type-signature"></span></h4>
<h5 class="subsection-title">Properties:</h5>
<table class="props">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>branchId</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">primary key, immutable</td>
</tr>
<tr>
<td class="name"><code>noteId</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">immutable</td>
</tr>
<tr>
<td class="name"><code>parentNoteId</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">immutable</td>
</tr>
<tr>
<td class="name"><code>notePosition</code></td>
<td class="type">
<span class="param-type">int</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>prefix</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>isExpanded</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>isDeleted</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>deleteId</code></td>
<td class="type">
<span class="param-type">string</span>
|
<span class="param-type">null</span>
</td>
<td class="description last">ID identifying delete transaction</td>
</tr>
<tr>
<td class="name"><code>utcDateModified</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>utcDateCreated</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="entities_branch.js.html">entities/branch.js</a>, <a href="entities_branch.js.html#line24">line 24</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Extends</h3>
<ul>
<li><a href="Entity.html">Entity</a></li>
</ul>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id="getNote"><span class="type-signature"></span>getNote<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="Note.html">Note</a>|null}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="entities_branch.js.html">entities/branch.js</a>, <a href="entities_branch.js.html#line31">line 31</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type"><a href="Note.html">Note</a></span>
|
<span class="param-type">null</span>
</dd>
</dl>
<h4 class="name" id="getParentNote"><span class="type-signature"></span>getParentNote<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="Note.html">Note</a>|null}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="entities_branch.js.html">entities/branch.js</a>, <a href="entities_branch.js.html#line36">line 36</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type"><a href="Note.html">Note</a></span>
|
<span class="param-type">null</span>
</dd>
</dl>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-sql.html">sql</a></li></ul><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a>
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
+227
View File
@@ -0,0 +1,227 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: Entity</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: Entity</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>Entity<span class="signature">(row<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h2>
</header>
<article>
<div class="container-overview">
<h4 class="name" id="Entity"><span class="type-signature"></span>new Entity<span class="signature">(row<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>row</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="attributes">
&lt;optional><br>
</td>
<td class="description last">database row representing given entity</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="entities_entity.js.html">entities/entity.js</a>, <a href="entities_entity.js.html#line10">line 10</a>
</li></ul></dd>
</dl>
</div>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-sql.html">sql</a></li></ul><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a>
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
+389
View File
@@ -0,0 +1,389 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: Image</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: Image</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>Image<span class="signature">(imageId, format, checksum, name, data, isDeleted, dateModified, dateCreated)</span><span class="type-signature"></span></h2>
<div class="class-description">This class represents image data.</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="Image"><span class="type-signature"></span>new Image<span class="signature">(imageId, format, checksum, name, data, isDeleted, dateModified, dateCreated)</span><span class="type-signature"></span></h4>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>imageId</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>format</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>checksum</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>name</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>data</code></td>
<td class="type">
<span class="param-type">blob</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>isDeleted</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>dateModified</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>dateCreated</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="entities_image.js.html">entities/image.js</a>, <a href="entities_image.js.html#line20">line 20</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Extends</h3>
<ul>
<li><a href="Entity.html">Entity</a></li>
</ul>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Image.html">Image</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteImage.html">NoteImage</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Sun Oct 07 2018 16:26:59 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
+367
View File
@@ -0,0 +1,367 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: Link</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: Link</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>Link<span class="signature">(linkId, noteId, targetNoteId, type, isDeleted, utcDateModified, utcDateCreated)</span><span class="type-signature"></span></h2>
<div class="class-description">This class represents link from one note to another in the form of hyperlink or image reference. Note that
this is different concept than attribute/relation.</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="Link"><span class="type-signature"></span>new Link<span class="signature">(linkId, noteId, targetNoteId, type, isDeleted, utcDateModified, utcDateCreated)</span><span class="type-signature"></span></h4>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>linkId</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>noteId</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>targetNoteId</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>type</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>isDeleted</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>utcDateModified</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>utcDateCreated</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="entities_link.js.html">entities/link.js</a>, <a href="entities_link.js.html#line21">line 21</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Extends</h3>
<ul>
<li><a href="Entity.html">Entity</a></li>
</ul>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Link.html">Link</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a>
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
File diff suppressed because it is too large Load Diff
+343
View File
@@ -0,0 +1,343 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: NoteImage</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: NoteImage</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>NoteImage<span class="signature">(noteImageId, noteId, imageId, isDeleted, dateModified, dateCreated)</span><span class="type-signature"></span></h2>
<div class="class-description">This class represents image's placement in the note(s). One image may be placed into several notes.</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="NoteImage"><span class="type-signature"></span>new NoteImage<span class="signature">(noteImageId, noteId, imageId, isDeleted, dateModified, dateCreated)</span><span class="type-signature"></span></h4>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>noteImageId</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>noteId</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>imageId</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>isDeleted</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>dateModified</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>dateCreated</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="entities_note_image.js.html">entities/note_image.js</a>, <a href="entities_note_image.js.html#line19">line 19</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Extends</h3>
<ul>
<li><a href="Entity.html">Entity</a></li>
</ul>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Image.html">Image</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteImage.html">NoteImage</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Sun Oct 07 2018 16:26:59 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
File diff suppressed because it is too large Load Diff
+170
View File
@@ -0,0 +1,170 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: Option</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: Option</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>Option<span class="signature">()</span><span class="type-signature"></span></h2>
<div class="class-description">Option represents name-value pair, either directly configurable by the user or some system property.</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="Option"><span class="type-signature"></span>new Option<span class="signature">()</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="becca_entities_option.js.html">becca/entities/option.js</a>, <a href="becca_entities_option.js.html#line9">line 9</a>
</li></ul></dd>
</dl>
</div>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-sql.html">sql</a></li></ul><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.7</a>
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
+170
View File
@@ -0,0 +1,170 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: RecentNote</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: RecentNote</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature"></span></span>RecentNote<span class="signature">()</span><span class="type-signature"></span></h2>
<div class="class-description">RecentNote represents recently visited note.</div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="RecentNote"><span class="type-signature"></span>new RecentNote<span class="signature">()</span><span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="becca_entities_recent_note.js.html">becca/entities/recent_note.js</a>, <a href="becca_entities_recent_note.js.html#line9">line 9</a>
</li></ul></dd>
</dl>
</div>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-sql.html">sql</a></li></ul><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.7</a>
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
+472
View File
@@ -0,0 +1,472 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: backend_script_api.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: backend_script_api.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>const log = require('./log');
const noteService = require('./notes');
const sql = require('./sql');
const utils = require('./utils');
const attributeService = require('./attributes');
const dateNoteService = require('./date_notes');
const treeService = require('./tree');
const config = require('./config');
const axios = require('axios');
const dayjs = require('dayjs');
const xml2js = require('xml2js');
const cloningService = require('./cloning');
const appInfo = require('./app_info');
const searchService = require('./search/services/search');
const SearchContext = require("./search/search_context");
const becca = require("../becca/becca");
/**
* This is the main backend API interface for scripts. It's published in the local "api" object.
*
* @constructor
* @hideconstructor
*/
function BackendScriptApi(currentNote, apiParams) {
/** @property {Note} note where script started executing */
this.startNote = apiParams.startNote;
/** @property {Note} note where script is currently executing. Don't mix this up with concept of active note */
this.currentNote = currentNote;
/** @property {Entity} entity whose event triggered this executions */
this.originEntity = apiParams.originEntity;
for (const key in apiParams) {
this[key] = apiParams[key];
}
/** @property {axios} Axios library for HTTP requests. See https://axios-http.com/ for documentation */
this.axios = axios;
/** @property {dayjs} day.js library for date manipulation. See https://day.js.org/ for documentation */
this.dayjs = dayjs;
/** @property {axios} xml2js library for XML parsing. See https://github.com/Leonidas-from-XIV/node-xml2js for documentation */
this.xml2js = xml2js;
// DEPRECATED - use direct api.unescapeHtml
this.utils = {
unescapeHtml: utils.unescapeHtml
};
/**
* Instance name identifies particular Trilium instance. It can be useful for scripts
* if some action needs to happen on only one specific instance.
*
* @returns {string|null}
*/
this.getInstanceName = () => config.General ? config.General.instanceName : null;
/**
* @method
* @param {string} noteId
* @returns {Note|null}
*/
this.getNote = becca.getNote;
/**
* @method
* @param {string} branchId
* @returns {Branch|null}
*/
this.getBranch = becca.getBranch;
/**
* @method
* @param {string} attributeId
* @returns {Attribute|null}
*/
this.getAttribute = becca.getAttribute;
/**
* This is a powerful search method - you can search by attributes and their values, e.g.:
* "#dateModified =* MONTH AND #log". See full documentation for all options at: https://github.com/zadam/trilium/wiki/Search
*
* @method
* @param {string} query
* @param {Object} [searchParams]
* @returns {Note[]}
*/
this.searchForNotes = (query, searchParams = {}) => {
if (searchParams.includeArchivedNotes === undefined) {
searchParams.includeArchivedNotes = true;
}
if (searchParams.ignoreHoistedNote === undefined) {
searchParams.ignoreHoistedNote = true;
}
const noteIds = searchService.findResultsWithQuery(query, new SearchContext(searchParams))
.map(sr => sr.noteId);
return becca.getNotes(noteIds);
};
/**
* This is a powerful search method - you can search by attributes and their values, e.g.:
* "#dateModified =* MONTH AND #log". See full documentation for all options at: https://github.com/zadam/trilium/wiki/Search
*
* @method
* @param {string} query
* @param {Object} [searchParams]
* @returns {Note|null}
*/
this.searchForNote = (query, searchParams = {}) => {
const notes = this.searchForNotes(query, searchParams);
return notes.length > 0 ? notes[0] : null;
};
/**
* Retrieves notes with given label name &amp; value
*
* @method
* @param {string} name - attribute name
* @param {string} [value] - attribute value
* @returns {Note[]}
*/
this.getNotesWithLabel = attributeService.getNotesWithLabel;
/**
* Retrieves first note with given label name &amp; value
*
* @method
* @param {string} name - attribute name
* @param {string} [value] - attribute value
* @returns {Note|null}
*/
this.getNoteWithLabel = attributeService.getNoteWithLabel;
/**
* If there's no branch between note and parent note, create one. Otherwise do nothing.
*
* @method
* @param {string} noteId
* @param {string} parentNoteId
* @param {string} prefix - if branch will be create between note and parent note, set this prefix
* @returns {void}
*/
this.ensureNoteIsPresentInParent = cloningService.ensureNoteIsPresentInParent;
/**
* If there's a branch between note and parent note, remove it. Otherwise do nothing.
*
* @method
* @param {string} noteId
* @param {string} parentNoteId
* @returns {void}
*/
this.ensureNoteIsAbsentFromParent = cloningService.ensureNoteIsAbsentFromParent;
/**
* Based on the value, either create or remove branch between note and parent note.
*
* @method
* @param {boolean} present - true if we want the branch to exist, false if we want it gone
* @param {string} noteId
* @param {string} parentNoteId
* @param {string} prefix - if branch will be create between note and parent note, set this prefix
* @returns {void}
*/
this.toggleNoteInParent = cloningService.toggleNoteInParent;
/**
* @typedef {object} CreateNoteAttribute
* @property {string} type - attribute type - label, relation etc.
* @property {string} name - attribute name
* @property {string} [value] - attribute value
*/
/**
* Create text note. See also createNewNote() for more options.
*
* @param {string} parentNoteId
* @param {string} title
* @param {string} content
* @return {{note: Note, branch: Branch}} - object having "note" and "branch" keys representing respective objects
*/
this.createTextNote = (parentNoteId, title, content = '') => noteService.createNewNote({
parentNoteId,
title,
content,
type: 'text'
});
/**
* Create data note - data in this context means object serializable to JSON. Created note will be of type 'code' and
* JSON MIME type. See also createNewNote() for more options.
*
* @param {string} parentNoteId
* @param {string} title
* @param {object} content
* @return {{note: Note, branch: Branch}} object having "note" and "branch" keys representing respective objects
*/
this.createDataNote = (parentNoteId, title, content = {}) => noteService.createNewNote({
parentNoteId,
title,
content: JSON.stringify(content, null, '\t'),
type: 'code',
mime: 'application/json'
});
/**
* @typedef {object} CreateNewNoteParams
* @property {string} parentNoteId - MANDATORY
* @property {string} title - MANDATORY
* @property {string|buffer} content - MANDATORY
* @property {string} type - text, code, file, image, search, book, relation-map - MANDATORY
* @property {string} mime - value is derived from default mimes for type
* @property {boolean} isProtected - default is false
* @property {boolean} isExpanded - default is false
* @property {string} prefix - default is empty string
* @property {int} notePosition - default is last existing notePosition in a parent + 10
*/
/**
* @method
*
* @param {CreateNewNoteParams} [params]
* @returns {{note: Note, branch: Branch}} object contains newly created entities note and branch
*/
this.createNewNote = noteService.createNewNote;
/**
* @typedef {object} CreateNoteAttribute
* @property {string} type - attribute type - label, relation etc.
* @property {string} name - attribute name
* @property {string} [value] - attribute value
*/
/**
* @typedef {object} CreateNoteExtraOptions
* @property {boolean} [json=false] - should the note be JSON
* @property {boolean} [isProtected=false] - should the note be protected
* @property {string} [type='text'] - note type
* @property {string} [mime='text/html'] - MIME type of the note
* @property {CreateNoteAttribute[]} [attributes=[]] - attributes to be created for this note
*/
/**
* @method
* @deprecated please use createTextNote() with similar API for simpler use cases or createNewNote() for more complex needs
*
* @param {string} parentNoteId - create new note under this parent
* @param {string} title
* @param {string} [content=""]
* @param {CreateNoteExtraOptions} [extraOptions={}]
* @returns {{note: Note, branch: Branch}} object contains newly created entities note and branch
*/
this.createNote = (parentNoteId, title, content = "", extraOptions= {}) => {
extraOptions.parentNoteId = parentNoteId;
extraOptions.title = title;
const parentNote = becca.getNote(parentNoteId);
// code note type can be inherited, otherwise text is default
extraOptions.type = parentNote.type === 'code' ? 'code' : 'text';
extraOptions.mime = parentNote.type === 'code' ? parentNote.mime : 'text/html';
if (extraOptions.json) {
extraOptions.content = JSON.stringify(content || {}, null, '\t');
extraOptions.type = 'code';
extraOptions.mime = 'application/json';
}
else {
extraOptions.content = content;
}
return sql.transactional(() => {
const {note, branch} = noteService.createNewNote(extraOptions);
for (const attr of extraOptions.attributes || []) {
attributeService.createAttribute({
noteId: note.noteId,
type: attr.type,
name: attr.name,
value: attr.value,
isInheritable: !!attr.isInheritable
});
}
return {note, branch};
});
};
/**
* Log given message to trilium logs.
*
* @param message
*/
this.log = message => log.info(`Script "${currentNote.title}" (${currentNote.noteId}): ${message}`);
/**
* Returns root note of the calendar.
*
* @method
* @returns {Note|null}
*/
this.getRootCalendarNote = dateNoteService.getRootCalendarNote;
/**
* Returns day note for given date. If such note doesn't exist, it is created.
*
* @method
* @param {string} date in YYYY-MM-DD format
* @returns {Note|null}
*/
this.getDateNote = dateNoteService.getDateNote;
/**
* Returns today's day note. If such note doesn't exist, it is created.
*
* @method
* @returns {Note|null}
*/
this.getTodayNote = dateNoteService.getTodayNote;
/**
* Returns note for the first date of the week of the given date.
*
* @method
* @param {string} date in YYYY-MM-DD format
* @param {object} options - "startOfTheWeek" - either "monday" (default) or "sunday"
* @returns {Note|null}
*/
this.getWeekNote = dateNoteService.getWeekNote;
/**
* Returns month note for given date. If such note doesn't exist, it is created.
*
* @method
* @param {string} date in YYYY-MM format
* @returns {Note|null}
*/
this.getMonthNote = dateNoteService.getMonthNote;
/**
* Returns year note for given year. If such note doesn't exist, it is created.
*
* @method
* @param {string} year in YYYY format
* @returns {Note|null}
*/
this.getYearNote = dateNoteService.getYearNote;
/**
* @method
* @param {string} parentNoteId - this note's child notes will be sorted
*/
this.sortNotesByTitle = parentNoteId => treeService.sortNotes(parentNoteId);
/**
* This method finds note by its noteId and prefix and either sets it to the given parentNoteId
* or removes the branch (if parentNoteId is not given).
*
* This method looks similar to toggleNoteInParent() but differs because we're looking up branch by prefix.
*
* @method
* @deprecated - this method is pretty confusing and serves specialized purpose only
* @param {string} noteId
* @param {string} prefix
* @param {string|null} parentNoteId
*/
this.setNoteToParent = treeService.setNoteToParent;
/**
* This functions wraps code which is supposed to be running in transaction. If transaction already
* exists, then we'll use that transaction.
*
* @method
* @param {function} func
* @returns {?} result of func callback
*/
this.transactional = sql.transactional;
/**
* Return randomly generated string of given length. This random string generation is NOT cryptographically secure.
*
* @method
* @param {number} length of the string
* @returns {string} random string
*/
this.randomString = utils.randomString;
/**
* @method
* @param {string} string to escape
* @returns {string} escaped string
*/
this.escapeHtml = utils.escapeHtml;
/**
* @method
* @param {string} string to unescape
* @returns {string} unescaped string
*/
this.unescapeHtml = utils.unescapeHtml;
/**
* @property {module:sql} sql
*/
this.sql = sql;
/**
* @method
* @deprecated - this is now no-op since all the changes should be gracefully handled per widget
*/
this.refreshTree = () => {};
/**
* @return {{syncVersion, appVersion, buildRevision, dbVersion, dataDirectory, buildDate}|*} - object representing basic info about running Trilium version
*/
this.getAppInfo = () => appInfo
}
module.exports = BackendScriptApi;
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-sql.html">sql</a></li></ul><h3>Classes</h3><ul><li><a href="BackendScriptApi.html">BackendScriptApi</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.7</a>
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
@@ -0,0 +1,82 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: becca/entities/api_token.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: becca/entities/api_token.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>"use strict";
const dateUtils = require('../../services/date_utils.js');
const AbstractEntity = require("./abstract_entity.js");
/**
* ApiToken is an entity representing token used to authenticate against Trilium API from client applications. Currently used only by Trilium Sender.
*/
class ApiToken extends AbstractEntity {
static get entityName() { return "api_tokens"; }
static get primaryKeyName() { return "apiTokenId"; }
static get hashedProperties() { return ["apiTokenId", "token", "utcDateCreated"]; }
constructor(row) {
super();
this.apiTokenId = row.apiTokenId;
this.token = row.token;
this.utcDateCreated = row.utcDateCreated || dateUtils.utcNowDateTime();
}
getPojo() {
return {
apiTokenId: this.apiTokenId,
token: this.token,
utcDateCreated: this.utcDateCreated
}
}
}
module.exports = ApiToken;
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-sql.html">sql</a></li></ul><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.7</a>
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
@@ -0,0 +1,252 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: becca/entities/attribute.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: becca/entities/attribute.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>"use strict";
const Note = require('./note.js');
const AbstractEntity = require("./abstract_entity.js");
const sql = require("../../services/sql.js");
const dateUtils = require("../../services/date_utils.js");
const promotedAttributeDefinitionParser = require("../../services/promoted_attribute_definition_parser");
class Attribute extends AbstractEntity {
static get entityName() { return "attributes"; }
static get primaryKeyName() { return "attributeId"; }
static get hashedProperties() { return ["attributeId", "noteId", "type", "name", "value", "isInheritable"]; }
constructor(row) {
super();
if (!row) {
return;
}
this.updateFromRow(row);
this.init();
}
updateFromRow(row) {
this.update([
row.attributeId,
row.noteId,
row.type,
row.name,
row.value,
row.isInheritable,
row.position,
row.utcDateModified
]);
}
update([attributeId, noteId, type, name, value, isInheritable, position, utcDateModified]) {
/** @param {string} */
this.attributeId = attributeId;
/** @param {string} */
this.noteId = noteId;
/** @param {string} */
this.type = type;
/** @param {string} */
this.name = name;
/** @param {int} */
this.position = position;
/** @param {string} */
this.value = value;
/** @param {boolean} */
this.isInheritable = !!isInheritable;
/** @param {string} */
this.utcDateModified = utcDateModified;
return this;
}
init() {
if (this.attributeId) {
this.becca.attributes[this.attributeId] = this;
}
if (!(this.noteId in this.becca.notes)) {
// entities can come out of order in sync, create skeleton which will be filled later
this.becca.notes[this.noteId] = new Note({noteId: this.noteId});
}
this.becca.notes[this.noteId].ownedAttributes.push(this);
const key = `${this.type}-${this.name.toLowerCase()}`;
this.becca.attributeIndex[key] = this.becca.attributeIndex[key] || [];
this.becca.attributeIndex[key].push(this);
const targetNote = this.targetNote;
if (targetNote) {
targetNote.targetRelations.push(this);
}
}
get isAffectingSubtree() {
return this.isInheritable
|| (this.type === 'relation' &amp;&amp; this.name === 'template');
}
get targetNoteId() { // alias
return this.type === 'relation' ? this.value : undefined;
}
isAutoLink() {
return this.type === 'relation' &amp;&amp; ['internalLink', 'imageLink', 'relationMapLink', 'includeNoteLink'].includes(this.name);
}
get note() {
return this.becca.notes[this.noteId];
}
get targetNote() {
if (this.type === 'relation') {
return this.becca.notes[this.value];
}
}
/**
* @returns {Note|null}
*/
getNote() {
return this.becca.getNote(this.noteId);
}
/**
* @returns {Note|null}
*/
getTargetNote() {
if (this.type !== 'relation') {
throw new Error(`Attribute ${this.attributeId} is not relation`);
}
if (!this.value) {
return null;
}
return this.becca.getNote(this.value);
}
/**
* @return {boolean}
*/
isDefinition() {
return this.type === 'label' &amp;&amp; (this.name.startsWith('label:') || this.name.startsWith('relation:'));
}
getDefinition() {
return promotedAttributeDefinitionParser.parse(this.value);
}
getDefinedName() {
if (this.type === 'label' &amp;&amp; this.name.startsWith('label:')) {
return this.name.substr(6);
} else if (this.type === 'label' &amp;&amp; this.name.startsWith('relation:')) {
return this.name.substr(9);
} else {
return this.name;
}
}
beforeSaving() {
if (!this.value) {
if (this.type === 'relation') {
throw new Error(`Cannot save relation ${this.name} since it does not target any note.`);
}
// null value isn't allowed
this.value = "";
}
if (this.position === undefined) {
// TODO: can be calculated from becca
this.position = 1 + sql.getValue(`SELECT COALESCE(MAX(position), 0) FROM attributes WHERE noteId = ?`, [this.noteId]);
}
if (!this.isInheritable) {
this.isInheritable = false;
}
this.utcDateModified = dateUtils.utcNowDateTime();
super.beforeSaving();
this.becca.attributes[this.attributeId] = this;
}
getPojo() {
return {
attributeId: this.attributeId,
noteId: this.noteId,
type: this.type,
name: this.name,
position: this.position,
value: this.value,
isInheritable: this.isInheritable,
utcDateModified: this.utcDateModified,
isDeleted: false
};
}
createClone(type, name, value, isInheritable) {
return new Attribute({
noteId: this.noteId,
type: type,
name: name,
value: value,
position: this.position,
isInheritable: isInheritable,
utcDateModified: this.utcDateModified
});
}
}
module.exports = Attribute;
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-sql.html">sql</a></li></ul><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.7</a>
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
@@ -0,0 +1,192 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: becca/entities/branch.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: becca/entities/branch.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>"use strict";
const Note = require('./note.js');
const AbstractEntity = require("./abstract_entity.js");
const sql = require("../../services/sql.js");
const dateUtils = require("../../services/date_utils.js");
class Branch extends AbstractEntity {
static get entityName() { return "branches"; }
static get primaryKeyName() { return "branchId"; }
// notePosition is not part of hash because it would produce a lot of updates in case of reordering
static get hashedProperties() { return ["branchId", "noteId", "parentNoteId", "prefix"]; }
constructor(row) {
super();
if (!row) {
return;
}
this.updateFromRow(row);
this.init();
}
updateFromRow(row) {
this.update([
row.branchId,
row.noteId,
row.parentNoteId,
row.prefix,
row.notePosition,
row.isExpanded,
row.utcDateModified
]);
}
update([branchId, noteId, parentNoteId, prefix, notePosition, isExpanded, utcDateModified]) {
/** @param {string} */
this.branchId = branchId;
/** @param {string} */
this.noteId = noteId;
/** @param {string} */
this.parentNoteId = parentNoteId;
/** @param {string} */
this.prefix = prefix;
/** @param {int} */
this.notePosition = notePosition;
/** @param {boolean} */
this.isExpanded = !!isExpanded;
/** @param {string} */
this.utcDateModified = utcDateModified;
return this;
}
init() {
if (this.branchId === 'root') {
return;
}
const childNote = this.childNote;
const parentNote = this.parentNote;
childNote.parents.push(parentNote);
childNote.parentBranches.push(this);
parentNote.children.push(childNote);
this.becca.branches[this.branchId] = this;
this.becca.childParentToBranch[`${this.noteId}-${this.parentNoteId}`] = this;
}
/** @return {Note} */
get childNote() {
if (!(this.noteId in this.becca.notes)) {
// entities can come out of order in sync, create skeleton which will be filled later
this.becca.notes[this.noteId] = new Note({noteId: this.noteId});
}
return this.becca.notes[this.noteId];
}
getNote() {
return this.childNote;
}
/** @return {Note} */
get parentNote() {
if (!(this.parentNoteId in this.becca.notes)) {
// entities can come out of order in sync, create skeleton which will be filled later
this.becca.notes[this.parentNoteId] = new Note({noteId: this.parentNoteId});
}
return this.becca.notes[this.parentNoteId];
}
beforeSaving() {
if (this.notePosition === undefined || this.notePosition === null) {
// TODO finding new position can be refactored into becca
const maxNotePos = sql.getValue('SELECT MAX(notePosition) FROM branches WHERE parentNoteId = ? AND isDeleted = 0', [this.parentNoteId]);
this.notePosition = maxNotePos === null ? 0 : maxNotePos + 10;
}
if (!this.isExpanded) {
this.isExpanded = false;
}
this.utcDateModified = dateUtils.utcNowDateTime();
super.beforeSaving();
this.becca.branches[this.branchId] = this;
}
getPojo() {
return {
branchId: this.branchId,
noteId: this.noteId,
parentNoteId: this.parentNoteId,
prefix: this.prefix,
notePosition: this.notePosition,
isExpanded: this.isExpanded,
isDeleted: false,
utcDateModified: this.utcDateModified,
// not used for anything, will be later dropped
utcDateCreated: dateUtils.utcNowDateTime()
};
}
createClone(parentNoteId, notePosition) {
return new Branch({
noteId: this.noteId,
parentNoteId: parentNoteId,
notePosition: notePosition,
prefix: this.prefix,
isExpanded: this.isExpanded
});
}
}
module.exports = Branch;
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-sql.html">sql</a></li></ul><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.7</a>
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,242 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: becca/entities/note_revision.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: becca/entities/note_revision.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>"use strict";
const protectedSessionService = require('../../services/protected_session');
const utils = require('../../services/utils');
const sql = require('../../services/sql');
const dateUtils = require('../../services/date_utils');
const becca = require('../becca.js');
const entityChangesService = require('../../services/entity_changes');
const AbstractEntity = require("./abstract_entity.js");
/**
* NoteRevision represents snapshot of note's title and content at some point in the past. It's used for seamless note versioning.
*/
class NoteRevision extends AbstractEntity {
static get entityName() { return "note_revisions"; }
static get primaryKeyName() { return "noteRevisionId"; }
static get hashedProperties() { return ["noteRevisionId", "noteId", "title", "isProtected", "dateLastEdited", "dateCreated", "utcDateLastEdited", "utcDateCreated", "utcDateModified"]; }
constructor(row) {
super();
/** @param {string} */
this.noteRevisionId = row.noteRevisionId;
/** @param {string} */
this.noteId = row.noteId;
/** @param {string} */
this.type = row.type;
/** @param {string} */
this.mime = row.mime;
/** @param {boolean} */
this.isProtected = !!row.isProtected;
/** @param {string} */
this.title = row.title;
/** @param {string} */
this.dateLastEdited = row.dateLastEdited;
/** @param {string} */
this.dateCreated = row.dateCreated;
/** @param {string} */
this.utcDateLastEdited = row.utcDateLastEdited;
/** @param {string} */
this.utcDateCreated = row.utcDateCreated;
/** @param {string} */
this.utcDateModified = row.utcDateModified;
/** @param {number} */
this.contentLength = row.contentLength;
if (this.isProtected) {
if (protectedSessionService.isProtectedSessionAvailable()) {
this.title = protectedSessionService.decryptString(this.title);
}
else {
this.title = "[Protected]";
}
}
}
getNote() {
return becca.notes[this.noteId];
}
/** @returns {boolean} true if the note has string content (not binary) */
isStringNote() {
return utils.isStringNote(this.type, this.mime);
}
/*
* Note revision content has quite special handling - it's not a separate entity, but a lazily loaded
* part of NoteRevision entity with it's own sync. Reason behind this hybrid design is that
* content can be quite large and it's not necessary to load it / fill memory for any note access even
* if we don't need a content, especially for bulk operations like search.
*
* This is the same approach as is used for Note's content.
*/
/** @returns {*} */
getContent(silentNotFoundError = false) {
const res = sql.getRow(`SELECT content FROM note_revision_contents WHERE noteRevisionId = ?`, [this.noteRevisionId]);
if (!res) {
if (silentNotFoundError) {
return undefined;
}
else {
throw new Error("Cannot find note revision content for noteRevisionId=" + this.noteRevisionId);
}
}
let content = res.content;
if (this.isProtected) {
if (protectedSessionService.isProtectedSessionAvailable()) {
content = protectedSessionService.decrypt(content);
}
else {
content = "";
}
}
if (this.isStringNote()) {
return content === null
? ""
: content.toString("UTF-8");
}
else {
return content;
}
}
setContent(content, ignoreMissingProtectedSession = false) {
const pojo = {
noteRevisionId: this.noteRevisionId,
content: content,
utcDateModified: dateUtils.utcNowDateTime()
};
if (this.isProtected) {
if (protectedSessionService.isProtectedSessionAvailable()) {
pojo.content = protectedSessionService.encrypt(pojo.content);
}
else if (!ignoreMissingProtectedSession) {
throw new Error(`Cannot update content of noteRevisionId=${this.noteRevisionId} since we're out of protected session.`);
}
}
sql.upsert("note_revision_contents", "noteRevisionId", pojo);
const hash = utils.hash(this.noteRevisionId + "|" + pojo.content.toString());
entityChangesService.addEntityChange({
entityName: 'note_revision_contents',
entityId: this.noteRevisionId,
hash: hash,
isErased: false,
utcDateChanged: this.getUtcDateChanged(),
isSynced: true
});
}
/** @returns {{contentLength, dateModified, utcDateModified}} */
getContentMetadata() {
return sql.getRow(`
SELECT
LENGTH(content) AS contentLength,
dateModified,
utcDateModified
FROM note_revision_contents
WHERE noteRevisionId = ?`, [this.noteRevisionId]);
}
beforeSaving() {
super.beforeSaving();
this.utcDateModified = dateUtils.utcNowDateTime();
}
getPojo() {
return {
noteRevisionId: this.noteRevisionId,
noteId: this.noteId,
type: this.type,
mime: this.mime,
isProtected: this.isProtected,
title: this.title,
dateLastEdited: this.dateLastEdited,
dateCreated: this.dateCreated,
utcDateLastEdited: this.utcDateLastEdited,
utcDateCreated: this.utcDateCreated,
utcDateModified: this.utcDateModified,
contentLength: this.contentLength
};
}
getPojoToSave() {
const pojo = this.getPojo();
delete pojo.contentLength; // not getting persisted
if (pojo.isProtected) {
if (protectedSessionService.isProtectedSessionAvailable()) {
pojo.title = protectedSessionService.encrypt(this.title);
}
else {
// updating protected note outside of protected session means we will keep original ciphertexts
delete pojo.title;
}
}
return pojo;
}
}
module.exports = NoteRevision;
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-sql.html">sql</a></li></ul><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.7</a>
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
@@ -0,0 +1,94 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: becca/entities/option.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: becca/entities/option.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>"use strict";
const dateUtils = require('../../services/date_utils.js');
const AbstractEntity = require("./abstract_entity.js");
/**
* Option represents name-value pair, either directly configurable by the user or some system property.
*/
class Option extends AbstractEntity {
static get entityName() { return "options"; }
static get primaryKeyName() { return "name"; }
static get hashedProperties() { return ["name", "value"]; }
constructor(row) {
super();
this.name = row.name;
this.value = row.value;
this.isSynced = !!row.isSynced;
this.utcDateModified = row.utcDateModified;
this.becca.options[this.name] = this;
}
beforeSaving() {
super.beforeSaving();
this.utcDateModified = dateUtils.utcNowDateTime();
}
getPojo() {
return {
name: this.name,
value: this.value,
isSynced: this.isSynced,
utcDateModified: this.utcDateModified,
// utcDateCreated is scheduled for removal so the value does not matter
utcDateCreated: dateUtils.utcNowDateTime()
}
}
}
module.exports = Option;
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-sql.html">sql</a></li></ul><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.7</a>
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
@@ -0,0 +1,81 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: becca/entities/recent_note.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: becca/entities/recent_note.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>"use strict";
const dateUtils = require('../../services/date_utils.js');
const AbstractEntity = require("./abstract_entity.js");
/**
* RecentNote represents recently visited note.
*/
class RecentNote extends AbstractEntity {
static get entityName() { return "recent_notes"; }
static get primaryKeyName() { return "noteId"; }
constructor(row) {
super();
this.noteId = row.noteId;
this.notePath = row.notePath;
this.utcDateCreated = row.utcDateCreated || dateUtils.utcNowDateTime();
}
getPojo() {
return {
noteId: this.noteId,
notePath: this.notePath,
utcDateCreated: this.utcDateCreated
}
}
}
module.exports = RecentNote;
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-sql.html">sql</a></li></ul><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.7</a>
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
@@ -0,0 +1,84 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: entities/api_token.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: entities/api_token.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>"use strict";
const Entity = require('./entity');
const dateUtils = require('../services/date_utils');
/**
* ApiToken is an entity representing token used to authenticate against Trilium API from client applications. Currently used only by Trilium Sender.
*
* @property {string} apiTokenId - primary key
* @property {string} token
* @property {boolean} isDeleted - true if API token is deleted
* @property {string} utcDateCreated
*
* @extends Entity
*/
class ApiToken extends Entity {
static get entityName() { return "api_tokens"; }
static get primaryKeyName() { return "apiTokenId"; }
static get hashedProperties() { return ["apiTokenId", "token", "utcDateCreated", "isDeleted"]; }
beforeSaving() {
if (!this.isDeleted) {
this.isDeleted = false;
}
if (!this.utcDateCreated) {
this.utcDateCreated = dateUtils.utcNowDateTime();
}
super.beforeSaving();
}
}
module.exports = ApiToken;</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-sql.html">sql</a></li></ul><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a>
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
+175
View File
@@ -0,0 +1,175 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: entities/attribute.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: entities/attribute.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>"use strict";
const Entity = require('./entity');
const dateUtils = require('../services/date_utils');
const sql = require('../services/sql');
const promotedAttributeDefinitionParser = require("../services/promoted_attribute_definition_parser");
/**
* Attribute is key value pair owned by a note.
*
* @property {string} attributeId - immutable
* @property {string} noteId - immutable
* @property {string} type - immutable
* @property {string} name - immutable
* @property {string} value
* @property {int} position
* @property {boolean} isInheritable - immutable
* @property {boolean} isDeleted
* @property {string|null} deleteId - ID identifying delete transaction
* @property {string} utcDateModified
*
* @extends Entity
*/
class Attribute extends Entity {
static get entityName() { return "attributes"; }
static get primaryKeyName() { return "attributeId"; }
static get hashedProperties() { return ["attributeId", "noteId", "type", "name", "value", "isInheritable", "isDeleted"]; }
constructor(row) {
super(row);
this.isInheritable = !!this.isInheritable;
}
isAutoLink() {
return this.type === 'relation' &amp;&amp; ['internalLink', 'imageLink', 'relationMapLink', 'includeNoteLink'].includes(this.name);
}
/**
* @returns {Note|null}
*/
getNote() {
return this.repository.getNote(this.noteId);
}
/**
* @returns {Note|null}
*/
getTargetNote() {
if (this.type !== 'relation') {
throw new Error(`Attribute ${this.attributeId} is not relation`);
}
if (!this.value) {
return null;
}
return this.repository.getNote(this.value);
}
/**
* @return {boolean}
*/
isDefinition() {
return this.type === 'label' &amp;&amp; (this.name.startsWith('label:') || this.name.startsWith('relation:'));
}
getDefinition() {
return promotedAttributeDefinitionParser.parse(this.value);
}
getDefinedName() {
if (this.type === 'label' &amp;&amp; this.name.startsWith('label:')) {
return this.name.substr(6);
} else if (this.type === 'label' &amp;&amp; this.name.startsWith('relation:')) {
return this.name.substr(9);
} else {
return this.name;
}
}
beforeSaving() {
if (!this.value) {
if (this.type === 'relation') {
throw new Error(`Cannot save relation ${this.name} since it does not target any note.`);
}
// null value isn't allowed
this.value = "";
}
if (this.position === undefined) {
this.position = 1 + sql.getValue(`SELECT COALESCE(MAX(position), 0) FROM attributes WHERE noteId = ?`, [this.noteId]);
}
if (!this.isInheritable) {
this.isInheritable = false;
}
if (!this.isDeleted) {
this.isDeleted = false;
}
super.beforeSaving();
this.utcDateModified = dateUtils.utcNowDateTime();
}
createClone(type, name, value, isInheritable) {
return new Attribute({
noteId: this.noteId,
type: type,
name: name,
value: value,
position: this.position,
isInheritable: isInheritable,
isDeleted: false,
utcDateModified: this.utcDateModified
});
}
}
module.exports = Attribute;
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-sql.html">sql</a></li></ul><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a>
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
+128
View File
@@ -0,0 +1,128 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: entities/branch.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: entities/branch.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>"use strict";
const Entity = require('./entity');
const dateUtils = require('../services/date_utils');
const sql = require('../services/sql');
/**
* Branch represents note's placement in the tree - it's essentially pair of noteId and parentNoteId.
* Each note can have multiple (at least one) branches, meaning it can be placed into multiple places in the tree.
*
* @property {string} branchId - primary key, immutable
* @property {string} noteId - immutable
* @property {string} parentNoteId - immutable
* @property {int} notePosition
* @property {string} prefix
* @property {boolean} isExpanded
* @property {boolean} isDeleted
* @property {string|null} deleteId - ID identifying delete transaction
* @property {string} utcDateModified
* @property {string} utcDateCreated
*
* @extends Entity
*/
class Branch extends Entity {
static get entityName() { return "branches"; }
static get primaryKeyName() { return "branchId"; }
// notePosition is not part of hash because it would produce a lot of updates in case of reordering
static get hashedProperties() { return ["branchId", "noteId", "parentNoteId", "isDeleted", "deleteId", "prefix"]; }
/** @returns {Note|null} */
getNote() {
return this.repository.getNote(this.noteId);
}
/** @returns {Note|null} */
getParentNote() {
return this.repository.getNote(this.parentNoteId);
}
beforeSaving() {
if (this.notePosition === undefined || this.notePosition === null) {
const maxNotePos = sql.getValue('SELECT MAX(notePosition) FROM branches WHERE parentNoteId = ? AND isDeleted = 0', [this.parentNoteId]);
this.notePosition = maxNotePos === null ? 0 : maxNotePos + 10;
}
if (!this.isExpanded) {
this.isExpanded = false;
}
if (!this.isDeleted) {
this.isDeleted = false;
}
if (!this.utcDateCreated) {
this.utcDateCreated = dateUtils.utcNowDateTime();
}
super.beforeSaving();
this.utcDateModified = dateUtils.utcNowDateTime();
}
createClone(parentNoteId, notePosition) {
return new Branch({
noteId: this.noteId,
parentNoteId: parentNoteId,
notePosition: notePosition,
prefix: this.prefix,
isExpanded: this.isExpanded,
isDeleted: false,
utcDateCreated: this.utcDateCreated,
utcDateModified: this.utcDateModified
});
}
}
module.exports = Branch;
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-sql.html">sql</a></li></ul><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a>
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
+113
View File
@@ -0,0 +1,113 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: entities/entity.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: entities/entity.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>"use strict";
const utils = require('../services/utils');
let repo = null;
class Entity {
/**
* @param {object} [row] - database row representing given entity
*/
constructor(row = {}) {
for (const key in row) {
// ! is used when joint-fetching notes and note_contents objects for performance
if (!key.startsWith('!')) {
this[key] = row[key];
}
}
if ('isDeleted' in this &amp;&amp; this.constructor.entityName !== 'recent_notes') {
this.isDeleted = !!this.isDeleted;
}
}
beforeSaving() {
this.generateIdIfNecessary();
}
generateIdIfNecessary() {
if (!this[this.constructor.primaryKeyName]) {
this[this.constructor.primaryKeyName] = utils.newEntityId();
}
}
generateHash() {
let contentToHash = "";
for (const propertyName of this.constructor.hashedProperties) {
contentToHash += "|" + this[propertyName];
}
return utils.hash(contentToHash).substr(0, 10);
}
getUtcDateChanged() {
return this.utcDateModified || this.utcDateCreated;
}
get repository() {
if (!repo) {
repo = require('../services/repository');
}
return repo;
}
save() {
this.repository.updateEntity(this);
return this;
}
}
module.exports = Entity;
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-sql.html">sql</a></li></ul><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a>
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
+92
View File
@@ -0,0 +1,92 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: entities/image.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: entities/image.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>"use strict";
const Entity = require('./entity');
const dateUtils = require('../services/date_utils');
/**
* This class represents image data.
*
* @param {string} imageId
* @param {string} format
* @param {string} checksum
* @param {string} name
* @param {blob} data
* @param {boolean} isDeleted
* @param {string} dateModified
* @param {string} dateCreated
*
* @extends Entity
*/
class Image extends Entity {
static get entityName() { return "images"; }
static get primaryKeyName() { return "imageId"; }
static get hashedProperties() { return ["imageId", "format", "checksum", "name", "isDeleted", "dateCreated"]; }
beforeSaving() {
if (!this.isDeleted) {
this.isDeleted = false;
}
if (!this.dateCreated) {
this.dateCreated = dateUtils.nowDate();
}
super.beforeSaving();
if (this.isChanged) {
this.dateModified = dateUtils.nowDate();
}
}
}
module.exports = Image;</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Image.html">Image</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteImage.html">NoteImage</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Sun Oct 07 2018 16:26:59 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
+101
View File
@@ -0,0 +1,101 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: entities/link.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: entities/link.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>"use strict";
const Entity = require('./entity');
const repository = require('../services/repository');
const dateUtils = require('../services/date_utils');
/**
* This class represents link from one note to another in the form of hyperlink or image reference. Note that
* this is different concept than attribute/relation.
*
* @param {string} linkId
* @param {string} noteId
* @param {string} targetNoteId
* @param {string} type
* @param {boolean} isDeleted
* @param {string} utcDateModified
* @param {string} utcDateCreated
*
* @extends Entity
*/
class Link extends Entity {
static get entityName() { return "links"; }
static get primaryKeyName() { return "linkId"; }
static get hashedProperties() { return ["linkId", "noteId", "targetNoteId", "type", "isDeleted", "utcDateCreated", "utcDateModified"]; }
async getNote() {
return await repository.getEntity("SELECT * FROM notes WHERE noteId = ?", [this.noteId]);
}
async getTargetNote() {
return await repository.getEntity("SELECT * FROM notes WHERE noteId = ?", [this.targetNoteId]);
}
beforeSaving() {
if (!this.isDeleted) {
this.isDeleted = false;
}
if (!this.utcDateCreated) {
this.utcDateCreated = dateUtils.utcNowDateTime();
}
super.beforeSaving();
if (this.isChanged) {
this.utcDateModified = dateUtils.utcNowDateTime();
}
}
}
module.exports = Link;</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Link.html">Link</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a>
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
+993
View File
@@ -0,0 +1,993 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: entities/note.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: entities/note.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>"use strict";
const Entity = require('./entity');
const Attribute = require('./attribute');
const protectedSessionService = require('../services/protected_session');
const sql = require('../services/sql');
const utils = require('../services/utils');
const dateUtils = require('../services/date_utils');
const entityChangesService = require('../services/entity_changes.js');
const LABEL = 'label';
const RELATION = 'relation';
/**
* This represents a Note which is a central object in the Trilium Notes project.
*
* @property {string} noteId - primary key
* @property {string} type - one of "text", "code", "file" or "render"
* @property {string} mime - MIME type, e.g. "text/html"
* @property {string} title - note title
* @property {boolean} isProtected - true if note is protected
* @property {boolean} isDeleted - true if note is deleted
* @property {string|null} deleteId - ID identifying delete transaction
* @property {string} dateCreated - local date time (with offset)
* @property {string} dateModified - local date time (with offset)
* @property {string} utcDateCreated
* @property {string} utcDateModified
*
* @extends Entity
*/
class Note extends Entity {
static get entityName() { return "notes"; }
static get primaryKeyName() { return "noteId"; }
static get hashedProperties() { return ["noteId", "title", "type", "mime", "isProtected", "isDeleted", "deleteId"]; }
/**
* @param row - object containing database row from "notes" table
*/
constructor(row) {
super(row);
this.isProtected = !!this.isProtected;
/* true if content is either not encrypted
* or encrypted, but with available protected session (so effectively decrypted) */
this.isContentAvailable = true;
// check if there's noteId, otherwise this is a new entity which wasn't encrypted yet
if (this.isProtected &amp;&amp; this.noteId) {
this.isContentAvailable = protectedSessionService.isProtectedSessionAvailable();
if (this.isContentAvailable) {
try {
this.title = protectedSessionService.decryptString(this.title);
}
catch (e) {
throw new Error(`Could not decrypt title of note ${this.noteId}: ${e.message} ${e.stack}`)
}
}
else {
this.title = "[protected]";
}
}
}
/*
* Note content has quite special handling - it's not a separate entity, but a lazily loaded
* part of Note entity with it's own sync. Reasons behind this hybrid design has been:
*
* - content can be quite large and it's not necessary to load it / fill memory for any note access even if we don't need a content, especially for bulk operations like search
* - changes in the note metadata or title should not trigger note content sync (so we keep separate utcDateModified and entity changes records)
* - but to the user note content and title changes are one and the same - single dateModified (so all changes must go through Note and content is not a separate entity)
*/
/** @returns {*} */
getContent(silentNotFoundError = false) {
if (this.content === undefined) {
const row = sql.getRow(`SELECT content FROM note_contents WHERE noteId = ?`, [this.noteId]);
if (!row) {
if (silentNotFoundError) {
return undefined;
}
else {
throw new Error("Cannot find note content for noteId=" + this.noteId);
}
}
this.content = row.content;
if (this.isProtected) {
if (this.isContentAvailable) {
this.content = this.content === null ? null : protectedSessionService.decrypt(this.content);
}
else {
this.content = "";
}
}
}
if (this.isStringNote()) {
return this.content === null
? ""
: this.content.toString("UTF-8");
}
else {
return this.content;
}
}
/** @returns {{contentLength, dateModified, utcDateModified}} */
getContentMetadata() {
return sql.getRow(`
SELECT
LENGTH(content) AS contentLength,
dateModified,
utcDateModified
FROM note_contents
WHERE noteId = ?`, [this.noteId]);
}
/** @returns {*} */
getJsonContent() {
const content = this.getContent();
if (!content || !content.trim()) {
return null;
}
return JSON.parse(content);
}
setContent(content) {
if (content === null || content === undefined) {
throw new Error(`Cannot set null content to note ${this.noteId}`);
}
if (this.isStringNote()) {
content = content.toString();
}
else {
content = Buffer.isBuffer(content) ? content : Buffer.from(content);
}
this.content = content;
const pojo = {
noteId: this.noteId,
content: content,
dateModified: dateUtils.localNowDateTime(),
utcDateModified: dateUtils.utcNowDateTime()
};
if (this.isProtected) {
if (this.isContentAvailable) {
pojo.content = protectedSessionService.encrypt(pojo.content);
}
else {
throw new Error(`Cannot update content of noteId=${this.noteId} since we're out of protected session.`);
}
}
sql.upsert("note_contents", "noteId", pojo);
const hash = utils.hash(this.noteId + "|" + pojo.content.toString());
entityChangesService.addEntityChange({
entityName: 'note_contents',
entityId: this.noteId,
hash: hash,
isErased: false,
utcDateChanged: pojo.utcDateModified
}, null);
}
setJsonContent(content) {
this.setContent(JSON.stringify(content, null, '\t'));
}
/** @returns {boolean} true if this note is the root of the note tree. Root note has "root" noteId */
isRoot() {
return this.noteId === 'root';
}
/** @returns {boolean} true if this note is of application/json content type */
isJson() {
return this.mime === "application/json";
}
/** @returns {boolean} true if this note is JavaScript (code or attachment) */
isJavaScript() {
return (this.type === "code" || this.type === "file")
&amp;&amp; (this.mime.startsWith("application/javascript")
|| this.mime === "application/x-javascript"
|| this.mime === "text/javascript");
}
/** @returns {boolean} true if this note is HTML */
isHtml() {
return (this.type === "code" || this.type === "file" || this.type === "render") &amp;&amp; this.mime === "text/html";
}
/** @returns {boolean} true if the note has string content (not binary) */
isStringNote() {
return utils.isStringNote(this.type, this.mime);
}
/** @returns {string} JS script environment - either "frontend" or "backend" */
getScriptEnv() {
if (this.isHtml() || (this.isJavaScript() &amp;&amp; this.mime.endsWith('env=frontend'))) {
return "frontend";
}
if (this.type === 'render') {
return "frontend";
}
if (this.isJavaScript() &amp;&amp; this.mime.endsWith('env=backend')) {
return "backend";
}
return null;
}
loadOwnedAttributesToCache() {
this.__ownedAttributeCache = this.repository.getEntities(`SELECT * FROM attributes WHERE isDeleted = 0 AND noteId = ?`, [this.noteId]);
return this.__ownedAttributeCache;
}
/**
* This method is a faster variant of getAttributes() which looks for only owned attributes.
* Use when inheritance is not needed and/or in batch/performance sensitive operations.
*
* @param {string} [type] - (optional) attribute type to filter
* @param {string} [name] - (optional) attribute name to filter
* @returns {Attribute[]} note's "owned" attributes - excluding inherited ones
*/
getOwnedAttributes(type, name) {
if (!this.__ownedAttributeCache) {
this.loadOwnedAttributesToCache();
}
if (type &amp;&amp; name) {
return this.__ownedAttributeCache.filter(attr => attr.type === type &amp;&amp; attr.name === name);
}
else if (type) {
return this.__ownedAttributeCache.filter(attr => attr.type === type);
}
else if (name) {
return this.__ownedAttributeCache.filter(attr => attr.name === name);
}
else {
return this.__ownedAttributeCache.slice();
}
}
/**
* @returns {Attribute} attribute belonging to this specific note (excludes inherited attributes)
*
* This method can be significantly faster than the getAttribute()
*/
getOwnedAttribute(type, name) {
const attrs = this.getOwnedAttributes(type, name);
return attrs.length > 0 ? attrs[0] : null;
}
/**
* @returns {Attribute[]} relations targetting this specific note
*/
getTargetRelations() {
return this.repository.getEntities("SELECT * FROM attributes WHERE type = 'relation' AND isDeleted = 0 AND value = ?", [this.noteId]);
}
/**
* @param {string} [type] - (optional) attribute type to filter
* @param {string} [name] - (optional) attribute name to filter
* @returns {Attribute[]} all note's attributes, including inherited ones
*/
getAttributes(type, name) {
if (!this.__attributeCache) {
this.loadAttributesToCache();
}
if (type &amp;&amp; name) {
return this.__attributeCache.filter(attr => attr.type === type &amp;&amp; attr.name === name);
}
else if (type) {
return this.__attributeCache.filter(attr => attr.type === type);
}
else if (name) {
return this.__attributeCache.filter(attr => attr.name === name);
}
else {
return this.__attributeCache.slice();
}
}
/**
* @param {string} [name] - label name to filter
* @returns {Attribute[]} all note's labels (attributes with type label), including inherited ones
*/
getLabels(name) {
return this.getAttributes(LABEL, name);
}
/**
* @param {string} [name] - label name to filter
* @returns {Attribute[]} all note's labels (attributes with type label), excluding inherited ones
*/
getOwnedLabels(name) {
return this.getOwnedAttributes(LABEL, name);
}
/**
* @param {string} [name] - relation name to filter
* @returns {Attribute[]} all note's relations (attributes with type relation), including inherited ones
*/
getRelations(name) {
return this.getAttributes(RELATION, name);
}
/**
* @param {string} [name] - relation name to filter
* @returns {Attribute[]} all note's relations (attributes with type relation), excluding inherited ones
*/
getOwnedRelations(name) {
return this.getOwnedAttributes(RELATION, name);
}
/**
* @param {string} [name] - relation name to filter
* @returns {Note[]}
*/
getRelationTargets(name) {
const relations = this.getRelations(name);
const targets = [];
for (const relation of relations) {
targets.push(relation.getTargetNote());
}
return targets;
}
/**
* Clear note's attributes cache to force fresh reload for next attribute request.
* Cache is note instance scoped.
*/
invalidateAttributeCache() {
this.__attributeCache = null;
this.__ownedAttributeCache = null;
}
loadAttributesToCache() {
const attributes = this.repository.getEntities(`
WITH RECURSIVE
tree(noteId, level) AS (
SELECT ?, 0
UNION
SELECT branches.parentNoteId, tree.level + 1
FROM branches
JOIN tree ON branches.noteId = tree.noteId
WHERE branches.isDeleted = 0
),
treeWithAttrs(noteId, level) AS (
SELECT * FROM tree
UNION
SELECT attributes.value, treeWithAttrs.level FROM attributes
JOIN treeWithAttrs ON treeWithAttrs.noteId = attributes.noteId
WHERE attributes.isDeleted = 0
AND attributes.type = 'relation'
AND attributes.name = 'template'
)
SELECT attributes.* FROM attributes JOIN treeWithAttrs ON attributes.noteId = treeWithAttrs.noteId
WHERE attributes.isDeleted = 0 AND (attributes.isInheritable = 1 OR treeWithAttrs.level = 0)
ORDER BY level, noteId, position`, [this.noteId]);
// attributes are ordered so that "closest" attributes are first
// we order by noteId so that attributes from same note stay together. Actual noteId ordering doesn't matter.
const filteredAttributes = attributes.filter((attr, index) => {
// if this exact attribute already appears then don't include it (can happen via cloning)
if (attributes.findIndex(it => it.attributeId === attr.attributeId) !== index) {
return false;
}
// FIXME: this code is quite questionable, one problem is that other caches (Froca, Becca) have nothing like that
if (attr.isDefinition()) {
const firstDefinitionIndex = attributes.findIndex(el => el.type === attr.type &amp;&amp; el.name === attr.name);
// keep only if this element is the first definition for this type &amp; name
return firstDefinitionIndex === index;
}
else {
const definitionAttr = attributes.find(el => el.type === 'label' &amp;&amp; el.name === attr.type + ':' + attr.name);
if (!definitionAttr) {
return true;
}
const definition = definitionAttr.getDefinition();
if (definition.multiplicity === 'multi') {
return true;
}
else {
const firstAttrIndex = attributes.findIndex(el => el.type === attr.type &amp;&amp; el.name === attr.name);
// in case of single-valued attribute we'll keep it only if it's first (closest)
return firstAttrIndex === index;
}
}
});
this.__attributeCache = filteredAttributes;
}
/**
* @param {string} type - attribute type (label, relation, etc.)
* @param {string} name - attribute name
* @returns {boolean} true if note has an attribute with given type and name (including inherited)
*/
hasAttribute(type, name) {
return !!this.getAttribute(type, name);
}
/**
* @param {string} type - attribute type (label, relation, etc.)
* @param {string} name - attribute name
* @returns {boolean} true if note has an attribute with given type and name (excluding inherited)
*/
hasOwnedAttribute(type, name) {
return !!this.getOwnedAttribute(type, name);
}
/**
* @param {string} type - attribute type (label, relation, etc.)
* @param {string} name - attribute name
* @returns {Attribute} attribute of given type and name. If there's more such attributes, first is returned. Returns null if there's no such attribute belonging to this note.
*/
getAttribute(type, name) {
const attributes = this.getAttributes();
return attributes.find(attr => attr.type === type &amp;&amp; attr.name === name);
}
/**
* @param {string} type - attribute type (label, relation, etc.)
* @param {string} name - attribute name
* @returns {string|null} attribute value of given type and name or null if no such attribute exists.
*/
getAttributeValue(type, name) {
const attr = this.getAttribute(type, name);
return attr ? attr.value : null;
}
/**
* @param {string} type - attribute type (label, relation, etc.)
* @param {string} name - attribute name
* @returns {string|null} attribute value of given type and name or null if no such attribute exists.
*/
getOwnedAttributeValue(type, name) {
const attr = this.getOwnedAttribute(type, name);
return attr ? attr.value : null;
}
/**
* Based on enabled, attribute is either set or removed.
*
* @param {string} type - attribute type ('relation', 'label' etc.)
* @param {boolean} enabled - toggle On or Off
* @param {string} name - attribute name
* @param {string} [value] - attribute value (optional)
*/
toggleAttribute(type, enabled, name, value) {
if (enabled) {
this.setAttribute(type, name, value);
}
else {
this.removeAttribute(type, name, value);
}
}
/**
* Update's given attribute's value or creates it if it doesn't exist
*
* @param {string} type - attribute type (label, relation, etc.)
* @param {string} name - attribute name
* @param {string} [value] - attribute value (optional)
*/
setAttribute(type, name, value) {
const attributes = this.loadOwnedAttributesToCache();
let attr = attributes.find(attr => attr.type === type &amp;&amp; attr.name === name);
if (attr) {
if (attr.value !== value) {
attr.value = value;
attr.save();
this.invalidateAttributeCache();
}
}
else {
attr = new Attribute({
noteId: this.noteId,
type: type,
name: name,
value: value !== undefined ? value : ""
});
attr.save();
this.invalidateAttributeCache();
}
}
/**
* Removes given attribute name-value pair if it exists.
*
* @param {string} type - attribute type (label, relation, etc.)
* @param {string} name - attribute name
* @param {string} [value] - attribute value (optional)
*/
removeAttribute(type, name, value) {
const attributes = this.loadOwnedAttributesToCache();
for (const attribute of attributes) {
if (attribute.type === type &amp;&amp; attribute.name === name &amp;&amp; (value === undefined || value === attribute.value)) {
attribute.isDeleted = true;
attribute.save();
this.invalidateAttributeCache();
}
}
}
/**
* @return {Attribute}
*/
addAttribute(type, name, value = "", isInheritable = false, position = 1000) {
const attr = new Attribute({
noteId: this.noteId,
type: type,
name: name,
value: value,
isInheritable: isInheritable,
position: position
});
attr.save();
this.invalidateAttributeCache();
return attr;
}
addLabel(name, value = "", isInheritable = false) {
return this.addAttribute(LABEL, name, value, isInheritable);
}
addRelation(name, targetNoteId, isInheritable = false) {
return this.addAttribute(RELATION, name, targetNoteId, isInheritable);
}
/**
* @param {string} name - label name
* @returns {boolean} true if label exists (including inherited)
*/
hasLabel(name) { return this.hasAttribute(LABEL, name); }
/**
* @param {string} name - label name
* @returns {boolean} true if label exists (excluding inherited)
*/
hasOwnedLabel(name) { return this.hasOwnedAttribute(LABEL, name); }
/**
* @param {string} name - relation name
* @returns {boolean} true if relation exists (including inherited)
*/
hasRelation(name) { return this.hasAttribute(RELATION, name); }
/**
* @param {string} name - relation name
* @returns {boolean} true if relation exists (excluding inherited)
*/
hasOwnedRelation(name) { return this.hasOwnedAttribute(RELATION, name); }
/**
* @param {string} name - label name
* @returns {Attribute|null} label if it exists, null otherwise
*/
getLabel(name) { return this.getAttribute(LABEL, name); }
/**
* @param {string} name - label name
* @returns {Attribute|null} label if it exists, null otherwise
*/
getOwnedLabel(name) { return this.getOwnedAttribute(LABEL, name); }
/**
* @param {string} name - relation name
* @returns {Attribute|null} relation if it exists, null otherwise
*/
getRelation(name) { return this.getAttribute(RELATION, name); }
/**
* @param {string} name - relation name
* @returns {Attribute|null} relation if it exists, null otherwise
*/
getOwnedRelation(name) { return this.getOwnedAttribute(RELATION, name); }
/**
* @param {string} name - label name
* @returns {string|null} label value if label exists, null otherwise
*/
getLabelValue(name) { return this.getAttributeValue(LABEL, name); }
/**
* @param {string} name - label name
* @returns {string|null} label value if label exists, null otherwise
*/
getOwnedLabelValue(name) { return this.getOwnedAttributeValue(LABEL, name); }
/**
* @param {string} name - relation name
* @returns {string|null} relation value if relation exists, null otherwise
*/
getRelationValue(name) { return this.getAttributeValue(RELATION, name); }
/**
* @param {string} name - relation name
* @returns {string|null} relation value if relation exists, null otherwise
*/
getOwnedRelationValue(name) { return this.getOwnedAttributeValue(RELATION, name); }
/**
* @param {string} name
* @returns {Note|null} target note of the relation or null (if target is empty or note was not found)
*/
getRelationTarget(name) {
const relation = this.getRelation(name);
return relation ? this.repository.getNote(relation.value) : null;
}
/**
* @param {string} name
* @returns {Note|null} target note of the relation or null (if target is empty or note was not found)
*/
getOwnedRelationTarget(name) {
const relation = this.getOwnedRelation(name);
return relation ? this.repository.getNote(relation.value) : null;
}
/**
* Based on enabled, label is either set or removed.
*
* @param {boolean} enabled - toggle On or Off
* @param {string} name - label name
* @param {string} [value] - label value (optional)
*/
toggleLabel(enabled, name, value) { return this.toggleAttribute(LABEL, enabled, name, value); }
/**
* Based on enabled, relation is either set or removed.
*
* @param {boolean} enabled - toggle On or Off
* @param {string} name - relation name
* @param {string} [value] - relation value (noteId)
*/
toggleRelation(enabled, name, value) { return this.toggleAttribute(RELATION, enabled, name, value); }
/**
* Update's given label's value or creates it if it doesn't exist
*
* @param {string} name - label name
* @param {string} [value] - label value
*/
setLabel(name, value) { return this.setAttribute(LABEL, name, value); }
/**
* Update's given relation's value or creates it if it doesn't exist
*
* @param {string} name - relation name
* @param {string} value - relation value (noteId)
*/
setRelation(name, value) { return this.setAttribute(RELATION, name, value); }
/**
* Remove label name-value pair, if it exists.
*
* @param {string} name - label name
* @param {string} [value] - label value
*/
removeLabel(name, value) { return this.removeAttribute(LABEL, name, value); }
/**
* Remove relation name-value pair, if it exists.
*
* @param {string} name - relation name
* @param {string} [value] - relation value (noteId)
*/
removeRelation(name, value) { return this.removeAttribute(RELATION, name, value); }
/**
* @return {string[]} return list of all descendant noteIds of this note. Returning just noteIds because number of notes can be huge. Includes also this note's noteId
*/
getDescendantNoteIds() {
return sql.getColumn(`
WITH RECURSIVE
tree(noteId) AS (
SELECT ?
UNION
SELECT branches.noteId FROM branches
JOIN tree ON branches.parentNoteId = tree.noteId
JOIN notes ON notes.noteId = branches.noteId
WHERE notes.isDeleted = 0
AND branches.isDeleted = 0
)
SELECT noteId FROM tree`, [this.noteId]);
}
/**
* Finds descendant notes with given attribute name and value. Only own attributes are considered, not inherited ones
*
* @param {string} type - attribute type (label, relation, etc.)
* @param {string} name - attribute name
* @param {string} [value] - attribute value
* @returns {Note[]}
*/
getDescendantNotesWithAttribute(type, name, value) {
const params = [this.noteId, name];
let valueCondition = "";
if (value !== undefined) {
params.push(value);
valueCondition = " AND attributes.value = ?";
}
const notes = this.repository.getEntities(`
WITH RECURSIVE
tree(noteId) AS (
SELECT ?
UNION
SELECT branches.noteId FROM branches
JOIN tree ON branches.parentNoteId = tree.noteId
JOIN notes ON notes.noteId = branches.noteId
WHERE notes.isDeleted = 0
AND branches.isDeleted = 0
)
SELECT notes.* FROM notes
JOIN tree ON tree.noteId = notes.noteId
JOIN attributes ON attributes.noteId = notes.noteId
WHERE attributes.isDeleted = 0
AND attributes.name = ?
${valueCondition}
ORDER BY noteId, position`, params);
return notes;
}
/**
* Finds descendant notes with given label name and value. Only own labels are considered, not inherited ones
*
* @param {string} name - label name
* @param {string} [value] - label value
* @returns {Note[]}
*/
getDescendantNotesWithLabel(name, value) { return this.getDescendantNotesWithAttribute(LABEL, name, value); }
/**
* Finds descendant notes with given relation name and value. Only own relations are considered, not inherited ones
*
* @param {string} name - relation name
* @param {string} [value] - relation value
* @returns {Note[]}
*/
getDescendantNotesWithRelation(name, value) { return this.getDescendantNotesWithAttribute(RELATION, name, value); }
/**
* Returns note revisions of this note.
*
* @returns {NoteRevision[]}
*/
getRevisions() {
return this.repository.getEntities("SELECT * FROM note_revisions WHERE noteId = ?", [this.noteId]);
}
/**
* Get list of links coming out of this note.
*
* @deprecated - not intended for general use
* @returns {Attribute[]}
*/
getLinks() {
return this.repository.getEntities(`
SELECT *
FROM attributes
WHERE noteId = ? AND
isDeleted = 0 AND
type = 'relation' AND
name IN ('internalLink', 'imageLink', 'relationMapLink', 'includeNoteLink')`, [this.noteId]);
}
/**
* @returns {Branch[]}
*/
getBranches() {
return this.repository.getEntities("SELECT * FROM branches WHERE isDeleted = 0 AND noteId = ?", [this.noteId]);
}
/**
* @returns {boolean} - true if note has children
*/
hasChildren() {
return this.getChildNotes().length > 0;
}
/**
* @returns {Note[]} child notes of this note
*/
getChildNotes() {
return this.repository.getEntities(`
SELECT notes.*
FROM branches
JOIN notes USING(noteId)
WHERE notes.isDeleted = 0
AND branches.isDeleted = 0
AND branches.parentNoteId = ?
ORDER BY branches.notePosition`, [this.noteId]);
}
/**
* @returns {Branch[]} child branches of this note
*/
getChildBranches() {
return this.repository.getEntities(`
SELECT branches.*
FROM branches
WHERE branches.isDeleted = 0
AND branches.parentNoteId = ?
ORDER BY branches.notePosition`, [this.noteId]);
}
/**
* @returns {Note[]} parent notes of this note (note can have multiple parents because of cloning)
*/
getParentNotes() {
return this.repository.getEntities(`
SELECT parent_notes.*
FROM
branches AS child_tree
JOIN notes AS parent_notes ON parent_notes.noteId = child_tree.parentNoteId
WHERE child_tree.noteId = ?
AND child_tree.isDeleted = 0
AND parent_notes.isDeleted = 0`, [this.noteId]);
}
/**
* @return {string[][]} - array of notePaths (each represented by array of noteIds constituting the particular note path)
*/
getAllNotePaths() {
if (this.noteId === 'root') {
return [['root']];
}
const notePaths = [];
for (const parentNote of this.getParentNotes()) {
for (const parentPath of parentNote.getAllNotePaths()) {
parentPath.push(this.noteId);
notePaths.push(parentPath);
}
}
return notePaths;
}
getRelationDefinitions() {
return this.getLabels()
.filter(l => l.name.startsWith("relation:"));
}
getLabelDefinitions() {
return this.getLabels()
.filter(l => l.name.startsWith("relation:"));
}
/**
* @param ancestorNoteId
* @return {boolean} - true if ancestorNoteId occurs in at least one of the note's paths
*/
isDescendantOfNote(ancestorNoteId) {
const notePaths = this.getAllNotePaths();
return notePaths.some(path => path.includes(ancestorNoteId));
}
beforeSaving() {
if (!this.isDeleted) {
this.isDeleted = false;
}
if (!this.dateCreated) {
this.dateCreated = dateUtils.localNowDateTime();
}
if (!this.utcDateCreated) {
this.utcDateCreated = dateUtils.utcNowDateTime();
}
super.beforeSaving();
this.dateModified = dateUtils.localNowDateTime();
this.utcDateModified = dateUtils.utcNowDateTime();
}
// cannot be static!
updatePojo(pojo) {
if (pojo.isProtected) {
if (this.isContentAvailable) {
pojo.title = protectedSessionService.encrypt(pojo.title);
}
else {
// updating protected note outside of protected session means we will keep original ciphertexts
delete pojo.title;
}
}
delete pojo.isContentAvailable;
delete pojo.__attributeCache;
delete pojo.__ownedAttributeCache;
delete pojo.content;
/** zero references to contentHash, probably can be removed */
delete pojo.contentHash;
}
}
module.exports = Note;
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-sql.html">sql</a></li></ul><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a>
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
@@ -0,0 +1,99 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: entities/note_image.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: entities/note_image.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>"use strict";
const Entity = require('./entity');
const repository = require('../services/repository');
const dateUtils = require('../services/date_utils');
/**
* This class represents image's placement in the note(s). One image may be placed into several notes.
*
* @param {string} noteImageId
* @param {string} noteId
* @param {string} imageId
* @param {boolean} isDeleted
* @param {string} dateModified
* @param {string} dateCreated
*
* @extends Entity
*/
class NoteImage extends Entity {
static get entityName() { return "note_images"; }
static get primaryKeyName() { return "noteImageId"; }
static get hashedProperties() { return ["noteImageId", "noteId", "imageId", "isDeleted", "dateCreated"]; }
async getNote() {
return await repository.getEntity("SELECT * FROM notes WHERE noteId = ?", [this.noteId]);
}
async getImage() {
return await repository.getEntity("SELECT * FROM images WHERE imageId = ?", [this.imageId]);
}
beforeSaving() {
if (!this.isDeleted) {
this.isDeleted = false;
}
if (!this.dateCreated) {
this.dateCreated = dateUtils.nowDate();
}
super.beforeSaving();
if (this.isChanged) {
this.dateModified = dateUtils.nowDate();
}
}
}
module.exports = NoteImage;</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Image.html">Image</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteImage.html">NoteImage</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Sun Oct 07 2018 16:26:59 GMT+0200 (CEST)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
@@ -0,0 +1,204 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: entities/note_revision.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: entities/note_revision.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>"use strict";
const Entity = require('./entity');
const protectedSessionService = require('../services/protected_session');
const utils = require('../services/utils');
const sql = require('../services/sql');
const dateUtils = require('../services/date_utils');
const entityChangesService = require('../services/entity_changes.js');
/**
* NoteRevision represents snapshot of note's title and content at some point in the past. It's used for seamless note versioning.
*
* @property {string} noteRevisionId
* @property {string} noteId
* @property {string} type
* @property {string} mime
* @property {string} title
* @property {boolean} isProtected
* @property {string} dateLastEdited
* @property {string} dateCreated
* @property {string} utcDateLastEdited
* @property {string} utcDateCreated
* @property {string} utcDateModified
*
* @extends Entity
*/
class NoteRevision extends Entity {
static get entityName() { return "note_revisions"; }
static get primaryKeyName() { return "noteRevisionId"; }
static get hashedProperties() { return ["noteRevisionId", "noteId", "title", "isProtected", "dateLastEdited", "dateCreated", "utcDateLastEdited", "utcDateCreated", "utcDateModified"]; }
constructor(row) {
super(row);
this.isProtected = !!this.isProtected;
if (this.isProtected) {
if (protectedSessionService.isProtectedSessionAvailable()) {
this.title = protectedSessionService.decryptString(this.title);
}
else {
this.title = "[Protected]";
}
}
}
getNote() {
return this.repository.getNote(this.noteId);
}
/** @returns {boolean} true if the note has string content (not binary) */
isStringNote() {
return utils.isStringNote(this.type, this.mime);
}
/*
* Note revision content has quite special handling - it's not a separate entity, but a lazily loaded
* part of NoteRevision entity with it's own sync. Reason behind this hybrid design is that
* content can be quite large and it's not necessary to load it / fill memory for any note access even
* if we don't need a content, especially for bulk operations like search.
*
* This is the same approach as is used for Note's content.
*/
/** @returns {*} */
getContent(silentNotFoundError = false) {
if (this.content === undefined) {
const res = sql.getRow(`SELECT content FROM note_revision_contents WHERE noteRevisionId = ?`, [this.noteRevisionId]);
if (!res) {
if (silentNotFoundError) {
return undefined;
}
else {
throw new Error("Cannot find note revision content for noteRevisionId=" + this.noteRevisionId);
}
}
this.content = res.content;
if (this.isProtected) {
if (protectedSessionService.isProtectedSessionAvailable()) {
this.content = protectedSessionService.decrypt(this.content);
}
else {
this.content = "";
}
}
}
if (this.isStringNote()) {
return this.content === null
? ""
: this.content.toString("UTF-8");
}
else {
return this.content;
}
}
setContent(content) {
this.content = content;
const pojo = {
noteRevisionId: this.noteRevisionId,
content: content,
utcDateModified: dateUtils.utcNowDateTime()
};
if (this.isProtected) {
if (protectedSessionService.isProtectedSessionAvailable()) {
pojo.content = protectedSessionService.encrypt(pojo.content);
}
else {
throw new Error(`Cannot update content of noteRevisionId=${this.noteRevisionId} since we're out of protected session.`);
}
}
sql.upsert("note_revision_contents", "noteRevisionId", pojo);
const hash = utils.hash(this.noteRevisionId + "|" + content);
entityChangesService.addEntityChange({
entityName: 'note_revision_contents',
entityId: this.noteRevisionId,
hash: hash,
isErased: false,
utcDateChanged: this.getUtcDateChanged()
}, null);
}
beforeSaving() {
super.beforeSaving();
this.utcDateModified = dateUtils.utcNowDateTime();
}
// cannot be static!
updatePojo(pojo) {
if (pojo.isProtected) {
if (protectedSessionService.isProtectedSessionAvailable()) {
pojo.title = protectedSessionService.encrypt(pojo.title);
}
else {
// updating protected note outside of protected session means we will keep original ciphertexts
delete pojo.title;
}
}
delete pojo.content;
}
}
module.exports = NoteRevision;
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-sql.html">sql</a></li></ul><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a>
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
+90
View File
@@ -0,0 +1,90 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: entities/option.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: entities/option.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>"use strict";
const Entity = require('./entity');
const dateUtils = require('../services/date_utils');
/**
* Option represents name-value pair, either directly configurable by the user or some system property.
*
* @property {string} name
* @property {string} value
* @property {boolean} isSynced
* @property {string} utcDateModified
* @property {string} utcDateCreated
*
* @extends Entity
*/
class Option extends Entity {
static get entityName() { return "options"; }
static get primaryKeyName() { return "name"; }
static get hashedProperties() { return ["name", "value"]; }
constructor(row) {
super(row);
this.isSynced = !!this.isSynced;
}
beforeSaving() {
if (!this.utcDateCreated) {
this.utcDateCreated = dateUtils.utcNowDateTime();
}
super.beforeSaving();
this.utcDateModified = dateUtils.utcNowDateTime();
}
}
module.exports = Option;
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-sql.html">sql</a></li></ul><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a>
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
@@ -0,0 +1,79 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: entities/recent_note.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: entities/recent_note.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>"use strict";
const Entity = require('./entity');
const dateUtils = require('../services/date_utils');
/**
* RecentNote represents recently visited note.
*
* @property {string} noteId
* @property {string} notePath
* @property {string} utcDateCreated
*
* @extends Entity
*/
class RecentNote extends Entity {
static get entityName() { return "recent_notes"; }
static get primaryKeyName() { return "noteId"; }
beforeSaving() {
if (!this.utcDateCreated) {
this.utcDateCreated = dateUtils.utcNowDateTime();
}
super.beforeSaving();
}
}
module.exports = RecentNote;
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-sql.html">sql</a></li></ul><h3>Classes</h3><ul><li><a href="ApiToken.html">ApiToken</a></li><li><a href="Attribute.html">Attribute</a></li><li><a href="BackendScriptApi.html">BackendScriptApi</a></li><li><a href="Branch.html">Branch</a></li><li><a href="Entity.html">Entity</a></li><li><a href="Note.html">Note</a></li><li><a href="NoteRevision.html">NoteRevision</a></li><li><a href="Option.html">Option</a></li><li><a href="RecentNote.html">RecentNote</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.6</a>
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>
Binary file not shown.

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