Compare commits

...

499 Commits

Author SHA1 Message Date
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
azivner a6a687c4a6 release 0.2.2 2018-01-03 23:05:00 -05:00
azivner f2aaf8b0a3 ctrl+click doesn't activate the node and selects only if it's not selected yet, otherwise deselects 2018-01-03 22:54:13 -05:00
azivner 01ede22504 added backspace to move to parent node 2018-01-03 22:49:53 -05:00
azivner b6d617aefa returned missing requires 2018-01-03 22:43:01 -05:00
azivner 7921850186 added missing map file and unminified context menu js file 2018-01-03 22:36:27 -05:00
azivner 244a4562b1 not unique key between parent_note_id and note_id in schema 2018-01-03 22:15:06 -05:00
azivner 07c33979c3 consistent checking of is_deleted, some small refactorings 2018-01-03 22:13:02 -05:00
azivner 353a9b24c1 added consistency check for unique non-deleted parent note <-> note relationship 2018-01-03 21:33:19 -05:00
azivner 548ecd4171 removed unique index again - from now on the invariant is that there's unique undeleted relationship between note and parent note 2018-01-03 21:29:13 -05:00
azivner 8d9b0db316 release 0.2.1 2018-01-02 22:46:50 -05:00
azivner 96a44a9a0c added some showcase formatting to the welcome page in the demo database 2018-01-02 22:14:53 -05:00
azivner b545100cad removed loader animation - it was causing issues with initial focus on the tree (probably by stealing focus) 2018-01-02 22:01:38 -05:00
azivner e32289720c not hiding the elements for alt-m, just lowering opacity 2018-01-02 20:52:36 -05:00
azivner 550bb77ca9 fixed switching between note clones 2018-01-02 20:16:17 -05:00
azivner 664a87cdd5 checks against moving note to where it already exists 2018-01-02 19:56:45 -05:00
azivner 53ee1fa5ed note_id - parent_note_id index needs to be unique 2018-01-02 19:20:42 -05:00
azivner 361d8a4216 release 0.2.0 2018-01-01 23:29:34 -05:00
azivner ae6e222c50 fix for moving note inside not-yet folder 2018-01-01 23:28:00 -05:00
azivner 37995f1ce5 info message about copying / cutting into clipboard 2018-01-01 22:33:21 -05:00
azivner ad7fa5e096 better conflict detection 2018-01-01 22:28:19 -05:00
azivner 3585982758 measuring and logging time to compute content hash and consistency checks 2018-01-01 19:47:50 -05:00
azivner c776f298f2 tree cycle consistency check 2018-01-01 19:41:22 -05:00
azivner f07c427da1 fixed race condition when changing note path in URL hash which caused flickering 2018-01-01 18:53:52 -05:00
azivner e560072f8b drag & drop support for multi select plus some fixes 2018-01-01 18:29:06 -05:00
azivner 3f976a3821 ctrl-a selects all nodes at the current level (without children) 2018-01-01 18:11:23 -05:00
azivner 274bb32696 multi-select in note tree and clipboard operations on the selection 2018-01-01 17:59:59 -05:00
azivner 99b163a042 fix for forced note sync 2017-12-30 21:55:44 -05:00
azivner fdcc833f6d added force note sync functionality to context menu 2017-12-30 21:44:26 -05:00
azivner a8e45019e4 failing early when decryption fails 2017-12-30 20:14:05 -05:00
azivner 7f7028873c fixed synced issue when changing protected status of note history 2017-12-30 19:38:30 -05:00
azivner 2d2d76a715 enter on note tree can also give focus to the editor 2017-12-28 22:57:35 -05:00
azivner 69cbfaae17 release 0.1.2 2017-12-28 21:17:25 -05:00
azivner aebce8f12b making not focused active tree item more visible 2017-12-28 20:53:31 -05:00
azivner 045ca1f0bf global CTRL-SHIFT-arrows to move in the note tree without losing focus in the note editor 2017-12-28 20:38:57 -05:00
azivner bf2db6eac7 after loading new note make sure editor is scrolled to the top 2017-12-28 20:13:54 -05:00
azivner cf84114f91 removed unused methods 2017-12-28 19:58:33 -05:00
azivner 6426157bb3 title in fancytree needs to be escaped for HTML special characters 2017-12-28 19:00:31 -05:00
azivner 332fc16852 fix pasting into non-expanded non-loaded node (UI only) 2017-12-27 22:44:27 -05:00
azivner da2cd57428 CTRL+ENTER on note in tree pane switches to the editor 2017-12-27 21:16:47 -05:00
azivner de9bab1181 fixed keyboard controlled clipboard 2017-12-27 21:12:54 -05:00
azivner 136375cf11 refactored detection of whether user is initialized 2017-12-27 18:23:24 -05:00
azivner eabc7f80b7 release 0.1.1 2017-12-27 17:41:07 -05:00
azivner 6405d6e066 added linux ia32 build 2017-12-27 17:39:41 -05:00
azivner f6d481a9e2 fix resource path bug 2017-12-27 16:44:15 -05:00
azivner 695f0e5879 release 0.1.0 2017-12-26 22:59:46 -05:00
azivner ae337e4500 don't open dev tools for search page in electron 2017-12-26 22:24:47 -05:00
azivner 19ffa14f10 hide logout button in electron since it doesn't do anything 2017-12-26 22:19:42 -05:00
azivner bf3f26fde8 using textarea instead of pre for note source since that's easier to copy to clipboard 2017-12-26 20:54:41 -05:00
azivner dece400207 release 0.0.11 2017-12-26 19:57:44 -05:00
azivner baab745462 some visual tweaks 2017-12-26 19:54:43 -05:00
azivner 0d3b3ec7c5 alt+s toggles search instead of just showing it 2017-12-26 19:16:04 -05:00
azivner 7aff20bb0d added show note source 2017-12-26 18:15:29 -05:00
azivner 5acf84aece Calling project "Trilium Notes" in some places as it is more self explanatory 2017-12-26 12:55:40 -05:00
azivner c58a0df76d added list of wiki pages into README 2017-12-26 11:08:23 -05:00
azivner 20c14a1920 fix collapse tree keyboard shortcut 2017-12-26 11:00:04 -05:00
azivner 04063d8a9c sql console reports successful execution (useful when query doesn't produce any result set like in update/delete) 2017-12-26 10:21:33 -05:00
azivner dd69e0135b added collapse sub-tree in context menu 2017-12-26 10:00:08 -05:00
azivner ab6e78f726 keyboard shortcut titles on buttons 2017-12-26 09:44:16 -05:00
azivner 9029d18178 fix go to external link by double clicking 2017-12-26 09:10:54 -05:00
azivner e9a1791e3d fix unwanted movement with navigation keys 2017-12-25 21:47:32 -05:00
azivner 70e13c8a20 release 0.0.10 2017-12-25 21:06:39 -05:00
azivner 7e1cc729f9 have to add changed files to index before committing 2017-12-25 21:06:35 -05:00
azivner 87e7828440 release scripts fixes 2017-12-25 21:05:08 -05:00
730 changed files with 185728 additions and 10394 deletions
+14
View File
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
<data-source source="LOCAL" name="document.db" uuid="a2c75661-f9e2-478f-a69f-6a9409e69997">
<driver-ref>sqlite.xerial</driver-ref>
<synchronize>true</synchronize>
<jdbc-driver>org.sqlite.JDBC</jdbc-driver>
<jdbc-url>jdbc:sqlite:$USER_HOME$/trilium-data/document.db</jdbc-url>
<driver-properties>
<property name="enable_load_extension" value="true" />
</driver-properties>
</data-source>
</component>
</project>
+667
View File
@@ -0,0 +1,667 @@
<?xml version="1.0" encoding="UTF-8"?>
<dataSource name="document.db">
<database-model serializer="dbm" rdbms="SQLITE" format-version="4.9">
<root id="1">
<ServerVersion>3.16.1</ServerVersion>
</root>
<schema id="2" parent="1" name="main">
<Current>1</Current>
<Visible>1</Visible>
</schema>
<collation id="3" parent="1" name="BINARY"/>
<collation id="4" parent="1" name="NOCASE"/>
<collation id="5" parent="1" name="RTRIM"/>
<table id="6" parent="2" name="api_tokens"/>
<table id="7" parent="2" name="branches"/>
<table id="8" parent="2" name="event_log"/>
<table id="9" parent="2" name="images"/>
<table id="10" parent="2" name="labels"/>
<table id="11" parent="2" name="note_images"/>
<table id="12" parent="2" name="note_revisions"/>
<table id="13" parent="2" name="notes"/>
<table id="14" parent="2" name="options"/>
<table id="15" parent="2" name="recent_notes"/>
<table id="16" parent="2" name="source_ids"/>
<table id="17" parent="2" name="sqlite_master">
<System>1</System>
</table>
<table id="18" parent="2" name="sqlite_sequence">
<System>1</System>
</table>
<table id="19" parent="2" name="sync"/>
<column id="20" parent="6" name="apiTokenId">
<Position>1</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="21" parent="6" name="token">
<Position>2</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="22" parent="6" name="dateCreated">
<Position>3</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="23" parent="6" name="isDeleted">
<Position>4</Position>
<DataType>INT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>0</DefaultExpression>
</column>
<column id="24" parent="6" name="hash">
<Position>5</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&quot;&quot;</DefaultExpression>
</column>
<index id="25" parent="6" name="sqlite_autoindex_api_tokens_1">
<NameSurrogate>1</NameSurrogate>
<ColNames>apiTokenId</ColNames>
<ColumnCollations></ColumnCollations>
<Unique>1</Unique>
</index>
<key id="26" parent="6">
<ColNames>apiTokenId</ColNames>
<Primary>1</Primary>
<UnderlyingIndexName>sqlite_autoindex_api_tokens_1</UnderlyingIndexName>
</key>
<column id="27" parent="7" name="branchId">
<Position>1</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="28" parent="7" name="noteId">
<Position>2</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="29" parent="7" name="parentNoteId">
<Position>3</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="30" parent="7" name="notePosition">
<Position>4</Position>
<DataType>INTEGER|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="31" parent="7" name="prefix">
<Position>5</Position>
<DataType>TEXT|0s</DataType>
</column>
<column id="32" parent="7" name="isExpanded">
<Position>6</Position>
<DataType>BOOLEAN|0s</DataType>
</column>
<column id="33" parent="7" name="isDeleted">
<Position>7</Position>
<DataType>INTEGER|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>0</DefaultExpression>
</column>
<column id="34" parent="7" name="dateModified">
<Position>8</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="35" parent="7" name="hash">
<Position>9</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&quot;&quot;</DefaultExpression>
</column>
<column id="36" parent="7" name="dateCreated">
<Position>10</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&apos;1970-01-01T00:00:00.000Z&apos;</DefaultExpression>
</column>
<index id="37" parent="7" name="sqlite_autoindex_branches_1">
<NameSurrogate>1</NameSurrogate>
<ColNames>branchId</ColNames>
<ColumnCollations></ColumnCollations>
<Unique>1</Unique>
</index>
<index id="38" parent="7" name="IDX_branches_noteId_parentNoteId">
<ColNames>noteId
parentNoteId</ColNames>
<ColumnCollations></ColumnCollations>
</index>
<index id="39" parent="7" name="IDX_branches_noteId">
<ColNames>noteId</ColNames>
<ColumnCollations></ColumnCollations>
</index>
<index id="40" parent="7" name="IDX_branches_parentNoteId">
<ColNames>parentNoteId</ColNames>
<ColumnCollations></ColumnCollations>
</index>
<key id="41" parent="7">
<ColNames>branchId</ColNames>
<Primary>1</Primary>
<UnderlyingIndexName>sqlite_autoindex_branches_1</UnderlyingIndexName>
</key>
<column id="42" parent="8" name="id">
<Position>1</Position>
<DataType>INTEGER|0s</DataType>
<NotNull>1</NotNull>
<SequenceIdentity>1</SequenceIdentity>
</column>
<column id="43" parent="8" name="noteId">
<Position>2</Position>
<DataType>TEXT|0s</DataType>
</column>
<column id="44" parent="8" name="comment">
<Position>3</Position>
<DataType>TEXT|0s</DataType>
</column>
<column id="45" parent="8" name="dateCreated">
<Position>4</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<key id="46" parent="8">
<ColNames>id</ColNames>
<Primary>1</Primary>
</key>
<column id="47" parent="9" name="imageId">
<Position>1</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="48" parent="9" name="format">
<Position>2</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="49" parent="9" name="checksum">
<Position>3</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="50" parent="9" name="name">
<Position>4</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="51" parent="9" name="data">
<Position>5</Position>
<DataType>BLOB|0s</DataType>
</column>
<column id="52" parent="9" name="isDeleted">
<Position>6</Position>
<DataType>INT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>0</DefaultExpression>
</column>
<column id="53" parent="9" name="dateModified">
<Position>7</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="54" parent="9" name="dateCreated">
<Position>8</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="55" parent="9" name="hash">
<Position>9</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&quot;&quot;</DefaultExpression>
</column>
<index id="56" parent="9" name="sqlite_autoindex_images_1">
<NameSurrogate>1</NameSurrogate>
<ColNames>imageId</ColNames>
<ColumnCollations></ColumnCollations>
<Unique>1</Unique>
</index>
<key id="57" parent="9">
<ColNames>imageId</ColNames>
<Primary>1</Primary>
<UnderlyingIndexName>sqlite_autoindex_images_1</UnderlyingIndexName>
</key>
<column id="58" parent="10" name="labelId">
<Position>1</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="59" parent="10" name="noteId">
<Position>2</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="60" parent="10" name="name">
<Position>3</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="61" parent="10" name="value">
<Position>4</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&apos;&apos;</DefaultExpression>
</column>
<column id="62" parent="10" name="position">
<Position>5</Position>
<DataType>INT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>0</DefaultExpression>
</column>
<column id="63" parent="10" name="dateCreated">
<Position>6</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="64" parent="10" name="dateModified">
<Position>7</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="65" parent="10" name="isDeleted">
<Position>8</Position>
<DataType>INT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="66" parent="10" name="hash">
<Position>9</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&quot;&quot;</DefaultExpression>
</column>
<index id="67" parent="10" name="sqlite_autoindex_labels_1">
<NameSurrogate>1</NameSurrogate>
<ColNames>labelId</ColNames>
<ColumnCollations></ColumnCollations>
<Unique>1</Unique>
</index>
<index id="68" parent="10" name="IDX_labels_noteId">
<ColNames>noteId</ColNames>
<ColumnCollations></ColumnCollations>
</index>
<index id="69" parent="10" name="IDX_labels_name_value">
<ColNames>name
value</ColNames>
<ColumnCollations></ColumnCollations>
</index>
<key id="70" parent="10">
<ColNames>labelId</ColNames>
<Primary>1</Primary>
<UnderlyingIndexName>sqlite_autoindex_labels_1</UnderlyingIndexName>
</key>
<column id="71" parent="11" name="noteImageId">
<Position>1</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="72" parent="11" name="noteId">
<Position>2</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="73" parent="11" name="imageId">
<Position>3</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="74" parent="11" name="isDeleted">
<Position>4</Position>
<DataType>INT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>0</DefaultExpression>
</column>
<column id="75" parent="11" name="dateModified">
<Position>5</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="76" parent="11" name="dateCreated">
<Position>6</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="77" parent="11" name="hash">
<Position>7</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&quot;&quot;</DefaultExpression>
</column>
<index id="78" parent="11" name="sqlite_autoindex_note_images_1">
<NameSurrogate>1</NameSurrogate>
<ColNames>noteImageId</ColNames>
<ColumnCollations></ColumnCollations>
<Unique>1</Unique>
</index>
<index id="79" parent="11" name="IDX_note_images_noteId_imageId">
<ColNames>noteId
imageId</ColNames>
<ColumnCollations></ColumnCollations>
</index>
<index id="80" parent="11" name="IDX_note_images_noteId">
<ColNames>noteId</ColNames>
<ColumnCollations></ColumnCollations>
</index>
<index id="81" parent="11" name="IDX_note_images_imageId">
<ColNames>imageId</ColNames>
<ColumnCollations></ColumnCollations>
</index>
<key id="82" parent="11">
<ColNames>noteImageId</ColNames>
<Primary>1</Primary>
<UnderlyingIndexName>sqlite_autoindex_note_images_1</UnderlyingIndexName>
</key>
<column id="83" parent="12" name="noteRevisionId">
<Position>1</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="84" parent="12" name="noteId">
<Position>2</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="85" parent="12" name="title">
<Position>3</Position>
<DataType>TEXT|0s</DataType>
</column>
<column id="86" parent="12" name="content">
<Position>4</Position>
<DataType>TEXT|0s</DataType>
</column>
<column id="87" parent="12" name="isProtected">
<Position>5</Position>
<DataType>INT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>0</DefaultExpression>
</column>
<column id="88" parent="12" name="dateModifiedFrom">
<Position>6</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="89" parent="12" name="dateModifiedTo">
<Position>7</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="90" parent="12" name="type">
<Position>8</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&apos;&apos;</DefaultExpression>
</column>
<column id="91" parent="12" name="mime">
<Position>9</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&apos;&apos;</DefaultExpression>
</column>
<column id="92" parent="12" name="hash">
<Position>10</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&quot;&quot;</DefaultExpression>
</column>
<index id="93" parent="12" name="sqlite_autoindex_note_revisions_1">
<NameSurrogate>1</NameSurrogate>
<ColNames>noteRevisionId</ColNames>
<ColumnCollations></ColumnCollations>
<Unique>1</Unique>
</index>
<index id="94" parent="12" name="IDX_note_revisions_noteId">
<ColNames>noteId</ColNames>
<ColumnCollations></ColumnCollations>
</index>
<index id="95" parent="12" name="IDX_note_revisions_dateModifiedFrom">
<ColNames>dateModifiedFrom</ColNames>
<ColumnCollations></ColumnCollations>
</index>
<index id="96" parent="12" name="IDX_note_revisions_dateModifiedTo">
<ColNames>dateModifiedTo</ColNames>
<ColumnCollations></ColumnCollations>
</index>
<key id="97" parent="12">
<ColNames>noteRevisionId</ColNames>
<Primary>1</Primary>
<UnderlyingIndexName>sqlite_autoindex_note_revisions_1</UnderlyingIndexName>
</key>
<column id="98" parent="13" name="noteId">
<Position>1</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="99" parent="13" name="title">
<Position>2</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&quot;unnamed&quot;</DefaultExpression>
</column>
<column id="100" parent="13" name="content">
<Position>3</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&quot;&quot;</DefaultExpression>
</column>
<column id="101" parent="13" name="isProtected">
<Position>4</Position>
<DataType>INT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>0</DefaultExpression>
</column>
<column id="102" parent="13" name="isDeleted">
<Position>5</Position>
<DataType>INT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>0</DefaultExpression>
</column>
<column id="103" parent="13" name="dateCreated">
<Position>6</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="104" parent="13" name="dateModified">
<Position>7</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="105" parent="13" name="type">
<Position>8</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&apos;text&apos;</DefaultExpression>
</column>
<column id="106" parent="13" name="mime">
<Position>9</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&apos;text/html&apos;</DefaultExpression>
</column>
<column id="107" parent="13" name="hash">
<Position>10</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&quot;&quot;</DefaultExpression>
</column>
<index id="108" parent="13" name="sqlite_autoindex_notes_1">
<NameSurrogate>1</NameSurrogate>
<ColNames>noteId</ColNames>
<ColumnCollations></ColumnCollations>
<Unique>1</Unique>
</index>
<index id="109" parent="13" name="IDX_notes_type">
<ColNames>type</ColNames>
<ColumnCollations></ColumnCollations>
</index>
<key id="110" parent="13">
<ColNames>noteId</ColNames>
<Primary>1</Primary>
<UnderlyingIndexName>sqlite_autoindex_notes_1</UnderlyingIndexName>
</key>
<column id="111" parent="14" name="name">
<Position>1</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="112" parent="14" name="value">
<Position>2</Position>
<DataType>TEXT|0s</DataType>
</column>
<column id="113" parent="14" name="dateModified">
<Position>3</Position>
<DataType>INT|0s</DataType>
</column>
<column id="114" parent="14" name="isSynced">
<Position>4</Position>
<DataType>INTEGER|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>0</DefaultExpression>
</column>
<column id="115" parent="14" name="hash">
<Position>5</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&quot;&quot;</DefaultExpression>
</column>
<column id="116" parent="14" name="dateCreated">
<Position>6</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&apos;1970-01-01T00:00:00.000Z&apos;</DefaultExpression>
</column>
<index id="117" parent="14" name="sqlite_autoindex_options_1">
<NameSurrogate>1</NameSurrogate>
<ColNames>name</ColNames>
<ColumnCollations></ColumnCollations>
<Unique>1</Unique>
</index>
<key id="118" parent="14">
<ColNames>name</ColNames>
<Primary>1</Primary>
<UnderlyingIndexName>sqlite_autoindex_options_1</UnderlyingIndexName>
</key>
<column id="119" parent="15" name="branchId">
<Position>1</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="120" parent="15" name="notePath">
<Position>2</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="121" parent="15" name="dateCreated">
<Position>3</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="122" parent="15" name="isDeleted">
<Position>4</Position>
<DataType>INT|0s</DataType>
</column>
<column id="123" parent="15" name="hash">
<Position>5</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
<DefaultExpression>&quot;&quot;</DefaultExpression>
</column>
<index id="124" parent="15" name="sqlite_autoindex_recent_notes_1">
<NameSurrogate>1</NameSurrogate>
<ColNames>branchId</ColNames>
<ColumnCollations></ColumnCollations>
<Unique>1</Unique>
</index>
<key id="125" parent="15">
<ColNames>branchId</ColNames>
<Primary>1</Primary>
<UnderlyingIndexName>sqlite_autoindex_recent_notes_1</UnderlyingIndexName>
</key>
<column id="126" parent="16" name="sourceId">
<Position>1</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="127" parent="16" name="dateCreated">
<Position>2</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<index id="128" parent="16" name="sqlite_autoindex_source_ids_1">
<NameSurrogate>1</NameSurrogate>
<ColNames>sourceId</ColNames>
<ColumnCollations></ColumnCollations>
<Unique>1</Unique>
</index>
<key id="129" parent="16">
<ColNames>sourceId</ColNames>
<Primary>1</Primary>
<UnderlyingIndexName>sqlite_autoindex_source_ids_1</UnderlyingIndexName>
</key>
<column id="130" parent="17" name="type">
<Position>1</Position>
<DataType>text|0s</DataType>
</column>
<column id="131" parent="17" name="name">
<Position>2</Position>
<DataType>text|0s</DataType>
</column>
<column id="132" parent="17" name="tbl_name">
<Position>3</Position>
<DataType>text|0s</DataType>
</column>
<column id="133" parent="17" name="rootpage">
<Position>4</Position>
<DataType>integer|0s</DataType>
</column>
<column id="134" parent="17" name="sql">
<Position>5</Position>
<DataType>text|0s</DataType>
</column>
<column id="135" parent="18" name="name">
<Position>1</Position>
</column>
<column id="136" parent="18" name="seq">
<Position>2</Position>
</column>
<column id="137" parent="19" name="id">
<Position>1</Position>
<DataType>INTEGER|0s</DataType>
<NotNull>1</NotNull>
<SequenceIdentity>1</SequenceIdentity>
</column>
<column id="138" parent="19" name="entityName">
<Position>2</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="139" parent="19" name="entityId">
<Position>3</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="140" parent="19" name="sourceId">
<Position>4</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<column id="141" parent="19" name="syncDate">
<Position>5</Position>
<DataType>TEXT|0s</DataType>
<NotNull>1</NotNull>
</column>
<index id="142" parent="19" name="IDX_sync_entityName_entityId">
<ColNames>entityName
entityId</ColNames>
<ColumnCollations></ColumnCollations>
<Unique>1</Unique>
</index>
<index id="143" parent="19" name="IDX_sync_syncDate">
<ColNames>syncDate</ColNames>
<ColumnCollations></ColumnCollations>
</index>
<key id="144" parent="19">
<ColNames>id</ColNames>
<Primary>1</Primary>
</key>
</database-model>
</dataSource>
@@ -0,0 +1,2 @@
#n:main
!<md> [0, 0, null, null, -2147483648, -2147483648]
+10
View File
@@ -0,0 +1,10 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<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>
+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">
<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>
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>
+22 -6
View File
@@ -1,5 +1,7 @@
# Trilium
Hierarchical note taking application. Picture tells a thousand words:
# Trilium Notes
[![Join the chat at https://gitter.im/trilium-notes/Lobby](https://badges.gitter.im/trilium-notes/Lobby.svg)](https://gitter.im/trilium-notes/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
Trilium Notes is a hierarchical note taking application. Picture tells a thousand words:
![](https://raw.githubusercontent.com/wiki/zadam/trilium/images/screenshot.png)
@@ -8,8 +10,9 @@ Hierarchical note taking application. Picture tells a thousand words:
* 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) inspired by IDEs
* Fast and easy [navigation between notes](https://github.com/zadam/trilium/wiki/Note-navigation)
* Seamless note versioning
* Note labels can be used to tag/label notes as an alternative note organization and querying
* 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)
@@ -17,11 +20,11 @@ Hierarchical note taking application. Picture tells a thousand words:
## 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.
* 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.
## Supported platforms
Desktop (electron) builds are available for Linux and Windows, both for 64 bits.
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).
@@ -29,4 +32,17 @@ Currently only recent Chrome and Firefox are supported (tested) browsers. Other
## Documentation
See [wiki](https://github.com/zadam/trilium/wiki/Home) for complete list of available pages.
List of documentation pages:
* [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)
* [Labels](https://github.com/zadam/trilium/wiki/Labels)
* [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)
* [Theming](https://github.com/zadam/trilium/wiki/Theming)
* [Keyboard shortcuts](https://github.com/zadam/trilium/wiki/Keyboard-shortcuts)
* [Troubleshooting](https://github.com/zadam/trilium/wiki/Troubleshooting)
+25 -9
View File
@@ -1,18 +1,34 @@
#!/usr/bin/env bash
echo 'module.exports = { build_date:"'`date --iso-8601=seconds`'", build_revision: "'`git log -1 --format="%H"`'" };' > services/build.js
echo "Deleting dist"
echo "Deleting existing builds"
rm -r dist/*
cp -r ../trilium-node-binaries/sqlite/* node_modules/sqlite3/lib/binding/
echo "Rebuilding binaries for linux-ia32"
./node_modules/.bin/electron-rebuild --arch=ia32
cp -r ../trilium-node-binaries/scrypt/* node_modules/scrypt/bin/
./node_modules/.bin/electron-packager . --out=dist --platform=linux --arch=ia32 --overwrite
./node_modules/.bin/electron-rebuild
./node_modules/.bin/electron-packager . --out=dist --platform=win32 --arch=x64 --overwrite
./node_modules/.bin/electron-packager . --out=dist --platform=linux,win32 --overwrite
# we build x64 as second so that we keep X64 binaries in node_modules for local development
echo "Rebuilding binaries for linux-x64"
./node_modules/.bin/electron-rebuild --arch=x64
# 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/
./node_modules/.bin/electron-packager . --out=dist --platform=linux --arch=x64 --overwrite
echo "Copying required windows binaries"
WIN_RES_DIR=./dist/trilium-win32-x64/resources/app
cp -r bin/deps/sqlite/* $WIN_RES_DIR/node_modules/sqlite3/lib/binding/
cp bin/deps/image/cjpeg.exe $WIN_RES_DIR/node_modules/mozjpeg/vendor/
cp bin/deps/image/pngquant.exe $WIN_RES_DIR/node_modules/pngquant-bin/vendor/
cp bin/deps/image/gifsicle.exe $WIN_RES_DIR/node_modules/giflossy/vendor/
cp bin/deps/scrypt.node $WIN_RES_DIR/node_modules/scrypt/build/Release/
echo "Cleaning up unnecessary binaries from all builds"
rm -r ./dist/trilium-linux-ia32/resources/app/bin/deps
rm -r ./dist/trilium-linux-x64/resources/app/bin/deps
rm -r ./dist/trilium-win32-x64/resources/app/bin/deps
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+7 -4
View File
@@ -4,8 +4,11 @@ VERSION=`jq -r ".version" package.json`
cd dist
echo "Packaging windows electron distribution..."
7z a trilium-windows-${VERSION}.7z trilium-win32-x64
echo "Packaging linux x64 electron distribution..."
7z a trilium-linux-x64-${VERSION}.7z trilium-linux-x64
echo "Packaging linux electron distribution..."
7z a trilium-linux-${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
+38 -12
View File
@@ -18,35 +18,61 @@ if ! git diff-index --quiet HEAD --; then
exit 1
fi
echo "Releasing Trilium $VERSION"
jq '.version = "'$VERSION'"' package.json|sponge package.json
git add package.json
echo 'module.exports = { buildDate:"'`date --iso-8601=seconds`'", buildRevision: "'`git log -1 --format="%H"`'" };' > src/services/build.js
git add src/services/build.js
TAG=v$VERSION
git commit -m "$VERSION"
echo "Committing package.json version change"
git commit -m "release $VERSION"
git push
echo "Tagging commit with $TAG"
git tag $TAG
git push origin $TAG
echo "Releasing Trilium $VERSION"
bin/build.sh
build
bin/package.sh
package
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_BUILD=trilium-linux-$VERSION.7z
WINDOWS_BUILD=trilium-windows-$VERSION.7z
echo "Creating release in GitHub"
github-release release \
--tag $TAG \
--name "$TAG release"
github-release upload \
--tag $TAG \
--name "$LINUX_BUILD" \
--file "dist/$LINUX_BUILD"
echo "Uploading linux x64 build"
github-release upload \
--tag $TAG \
--name "$WINDOWS_BUILD" \
--file "dist/$WINDOWS_BUILD"
--name "$LINUX_X64_BUILD" \
--file "dist/$LINUX_X64_BUILD"
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!"
+4
View File
@@ -1,3 +1,7 @@
[General]
# Instance name can be used to distinguish between different instances
instanceName=
[Network]
port=8080
# true for TLS/SSL/HTTPS (secure), false for HTTP (unsecure).
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

+53
View File
@@ -0,0 +1,53 @@
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('root', 'root', 'none', 0, null, 1, 0, '2018-01-01T00:00:00.000Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('dLgtLUFn3GoN', '1Heh2acXfPNt', 'root', 21, null, 1, 0, '2017-12-23T00:46:39.304Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('QLfS835GSfIh', '3RkyK9LI18dO', '1Heh2acXfPNt', 1, null, 1, 0, '2017-12-23T01:20:04.181Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('QJAcYJ1gGUh9', 'L1Ox40M1aEyy', '3RkyK9LI18dO', 0, null, 0, 0, '2017-12-23T01:20:45.365Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('wLTa2l3lYi83', 'HJusZTbBU494', '3RkyK9LI18dO', 2, null, 1, 0, '2017-12-23T01:20:50.709Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('yMhwsE7uvEij', '3oldoiMUPOlr', 'HJusZTbBU494', 1, null, 1, 0, '2017-12-23T01:20:55.775Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('EjQTcVVHFmmZ', 'MG0wntwILQW6', '3oldoiMUPOlr', 1, null, 1, 0, '2017-12-23T01:21:10.517Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('jvhKcwz4pYTr', 'ZC78NlmdXeC6', 'WdWZFuWNVDZk', 0, null, 1, 0, '2017-12-23T04:06:21.579Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('CarTrwkGVcPz', 'NncfGH8dyNjJ', 'WdWZFuWNVDZk', 1, null, 0, 0, '2017-12-23T04:06:24.012Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('6M7qPlr7at6N', 'eouCLkjbruai', 'NncfGH8dyNjJ', 0, null, 0, 0, '2017-12-23T01:23:28.291Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('tQgognnAH9WI', 'C44aq4mkaX67', 'NncfGH8dyNjJ', 1, null, 0, 0, '2017-12-23T01:23:31.879Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('xyAi7MmgvAgR', 'C44aq4mkaX67', 'ZC78NlmdXeC6', 1, null, 0, 0, '2017-12-23T01:23:47.756Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('xQ3fjRp9yaPq', 'I6Cw88AirBBl', 'C44aq4mkaX67', 0, null, 0, 0, '2017-12-23T01:24:04.681Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('2GOsNT5LsvTP', 'mcEwFMSjhlvL', 'C44aq4mkaX67', 1, null, 0, 0, '2017-12-23T01:29:35.974Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('RxUiraiR655R', 'CF2lUIJAr6Ey', 'NncfGH8dyNjJ', 2, null, 0, 0, '2017-12-23T01:34:37.658Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('mZuSrZ18Zmv0', 'xkXwueRoDNeN', 'MG0wntwILQW6', 0, null, 0, 0, '2017-12-23T01:35:40.306Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('hbcWTnEnXPwF', 'eXHZAKsMYgur', '1Heh2acXfPNt', 3, null, 1, 0, '2017-12-23T03:32:42.868Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('8a3aNxjG0nu7', '2WU27ekfy07E', 'eXHZAKsMYgur', 0, null, 0, 0, '2017-12-23T03:32:49.379Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('4Tu6vaPdCxCM', 'TjWEndYCCg7g', 'eXHZAKsMYgur', 1, null, 0, 0, '2017-12-23T03:33:23.584Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('lBPOmhP12egP', '8nRNDJGyGs2Z', 'TjWEndYCCg7g', 0, null, 0, 0, '2017-12-23T03:33:37.327Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('C5ipVqeDWySp', '9zSwD89vgzNO', '8nRNDJGyGs2Z', 0, null, 0, 0, '2017-12-23T03:37:04.912Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('uSitzbGcSATJ', 'u5t1EvWa3CMO', 'TjWEndYCCg7g', 1, null, 0, 0, '2017-12-23T03:39:21.918Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('GZ6aRI8rdSJt', '8nRNDJGyGs2Z', 'MG0wntwILQW6', 1, '', 0, 0, '2017-12-23T03:42:28.310Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('HsN4600rQoL9', 'Iha4YwchR413', '3oldoiMUPOlr', 0, null, 1, 0, '2017-12-23T03:44:30.945Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('uipfvAfwWRgx', '6ZuXjCSWgjB4', 'HJusZTbBU494', 0, null, 0, 0, '2017-12-23T03:44:54.096Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('nMRpPWWH8WRk', 'GpGnjmcAPeWG', '6ZuXjCSWgjB4', 0, null, 1, 0, '2017-12-23T03:44:57.036Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('c4wt27WNjepw', '21K84UqGhqlt', 'GpGnjmcAPeWG', 0, null, 0, 0, '2017-12-23T03:45:10.933Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('0fpnraUGs9Kl', 'rz5t0r9Qr2WC', 'HJusZTbBU494', 2, null, 1, 0, '2017-12-23T03:45:20.914Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('d8L8zYlLTbym', 'R6pheWjdwmNU', 'rz5t0r9Qr2WC', 0, null, 1, 0, '2017-12-23T03:45:28.002Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('T4USGzfllu5t', '5v5Dx6LMHXIO', 'Iha4YwchR413', 0, null, 0, 0, '2017-12-23T03:45:44.184Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('c4JgFNIobvQW', 'MLQjmREtcnJ3', 'R6pheWjdwmNU', 0, null, 0, 0, '2017-12-23T03:47:48.208Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('nfWjptAU2ZDg', 'pTTjrxgnvURB', 'R6pheWjdwmNU', 1, null, 0, 0, '2017-12-23T03:47:55.932Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('T2ToYBfyPy0g', 'cFK9sGYZaMWs', 'rz5t0r9Qr2WC', 1, null, 0, 0, '2017-12-23T03:49:32.210Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('NG4gbKOnsM3v', '21K84UqGhqlt', 'MLQjmREtcnJ3', 0, '28. 11. 2017', 0, 0, '2017-12-23T03:53:38.110Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('Fstg4tkccO4N', '5v5Dx6LMHXIO', 'MLQjmREtcnJ3', 1, '21. 12. 2017', 0, 0, '2017-12-23T03:53:49.737Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('MN8B7qXDUViO', 'xkXwueRoDNeN', 'MLQjmREtcnJ3', 2, '22. 12. 2017', 0, 0, '2017-12-23T03:53:57.486Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('gSRkHpB7Bu3D', 'pOFVzbXLmzhX', 'R6pheWjdwmNU', 2, null, 0, 0, '2017-12-23T03:54:46.138Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('6brdjeWDOB6w', '0xtvjqrcGiRB', 'ZC78NlmdXeC6', 0, null, 0, 0, '2017-12-23T04:02:06.650Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('AqKUM2zUVFUF', 'Zl69uXBSen0w', 'ZC78NlmdXeC6', 2, null, 1, 0, '2017-12-23T04:02:16.685Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('Ez7NN2WVzRc4', '62BKAQMVP2KW', 'Zl69uXBSen0w', 1, null, 0, 0, '2017-12-23T04:02:39.164Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('t3vVElqMIQVa', 'h4OfLEAYspud', 'WdWZFuWNVDZk', 2, null, 1, 0, '2017-12-23T04:06:25.769Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('O983DHtLpgmr', '1hASbLRDL7oo', 'h4OfLEAYspud', 0, null, 0, 0, '2017-12-23T16:42:26.347Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('RsvL795Mk1bp', '1hASbLRDL7oo', 'GpGnjmcAPeWG', 1, '', 0, 0, '2017-12-23T04:04:56.830Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('79e4hrHLFmx6', 'jyqG9GucsMdn', 'Iha4YwchR413', 1, null, 0, 0, '2017-12-23T04:05:16.439Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('oWO8rctUjf7d', 'WdWZFuWNVDZk', '1Heh2acXfPNt', 5, null, 1, 0, '2017-12-23T04:06:16.179Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('GOxcrZrxalFN', 'yK4SBJfwD3tY', '1Heh2acXfPNt', 8, null, 1, 0, '2017-12-23T04:06:32.833Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('bSPmEvjLzQKU', 'r4BnsmSQeVr1', 'yK4SBJfwD3tY', 0, null, 0, 0, '2017-12-23T04:06:37.427Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('bMtxCD6cwNR9', 'QbL3pTvhgzM8', 'yK4SBJfwD3tY', 2, null, 0, 0, '2017-12-23T04:06:43.841Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('o4ycR7xIi4oI', 'moMbTKwN15Ps', 'yK4SBJfwD3tY', 3, null, 1, 0, '2017-12-23T04:06:49.331Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('abTEhnOsAsSg', 'PEGQGg0In3Ar', 'GpGnjmcAPeWG', 2, null, 0, 0, '2017-12-23T16:44:35.900Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('bryQseMhyzaI', 'IlULcDiOTI4K', '1Heh2acXfPNt', 0, null, 0, 0, '2017-12-23T18:04:26.439Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('ccslPJf3wQV3', 'vBv6ovBupfTj', 'IlULcDiOTI4K', 0, null, 0, 0, '2017-12-23T18:04:50.904Z');
INSERT INTO branches (branchId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified) VALUES ('5Dt9YCMn59sY', 'mw4f2xB4J5fV', 'IlULcDiOTI4K', 1, null, 0, 0, '2017-12-23T18:05:24.868Z');
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
INSERT INTO note_images (noteImageId, noteId, imageId, isDeleted, dateModified, dateCreated) VALUES ('2EtgRRPfk4Fi', '1Heh2acXfPNt', 'ed64aET6i379', 0, '2018-01-08T04:41:30.663Z', '2018-01-08T04:41:30.663Z');
+47 -47
View File
@@ -1,15 +1,15 @@
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>Welcome to Trilium!</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><p>&nbsp;</p><p>Once you''re finished with experimenting and want to cleanup these pages, you can simply delete them all.</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
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('root', 'root', 'root', 0, 0, '2017-12-22T11:41:07.000Z', '2017-12-22T11:41:07.000Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('1Heh2acXfPNt', 'Trilium Demo', '<figure class="image image-style-side"><img src="/api/images/ed64aET6i379/trilium-small.png"></figure><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 website: <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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('HJusZTbBU494', '2017', '<p>No content.</p>', 0, 0, '2017-12-23T01:20:50.709Z', '2017-12-23T16:41:03.119Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('3oldoiMUPOlr', 'December', '', 0, 0, '2017-12-23T01:20:55.775Z', '2017-12-23T01:21:05.806Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('MG0wntwILQW6', '22 - friday', 'Daily summary', 0, 0, '2017-12-23T01:21:10.517Z', '2017-12-23T01:22:45.814Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('eouCLkjbruai', 'Java', '', 0, 0, '2017-12-23T01:23:28.291Z', '2017-12-23T01:23:31.944Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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.
@@ -20,38 +20,38 @@ INSERT INTO notes (note_id, note_title, note_text, is_protected, is_deleted, dat
</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');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('CF2lUIJAr6Ey', 'Python', '', 0, 0, '2017-12-23T01:34:37.658Z', '2017-12-23T01:34:40.465Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('xkXwueRoDNeN', 'Christmas shopping', '<p>&nbsp;</p>', 0, 0, '2017-12-23T01:35:40.306Z', '2017-12-23T16:43:08.157Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('TjWEndYCCg7g', 'Reviews', '', 0, 0, '2017-12-23T03:33:23.584Z', '2017-12-23T03:33:35.089Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('Iha4YwchR413', '21 - thursday', '', 0, 0, '2017-12-23T03:44:21.176Z', '2017-12-23T03:44:28.816Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('6ZuXjCSWgjB4', 'November', '', 0, 0, '2017-12-23T03:44:45.351Z', '2017-12-23T03:44:53.787Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('GpGnjmcAPeWG', '28', '', 0, 0, '2017-12-23T03:44:57.036Z', '2017-12-23T03:45:08.790Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('MLQjmREtcnJ3', 'Shopping', '', 0, 0, '2017-12-23T03:47:48.208Z', '2017-12-23T03:47:51.917Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('pOFVzbXLmzhX', 'Christmas dinner', 'Carp of course!', 0, 0, '2017-12-23T03:54:46.138Z', '2017-12-23T03:54:57.762Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) VALUES ('jyqG9GucsMdn', 'Office party', 'That was fun!', 0, 0, '2017-12-23T04:05:16.439Z', '2017-12-23T04:05:30.373Z');
INSERT INTO notes (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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 (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified) 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');
@@ -17,7 +17,7 @@ module.exports = async () => {
const password = await question("Enter password: ");
const dataKey = await password_encryption.getDecryptedDataKey(password);
const protectedNotes = await sql.getAll("SELECT * FROM notes WHERE is_protected = 1");
const protectedNotes = await sql.getRows("SELECT * FROM notes WHERE is_protected = 1");
for (const note of protectedNotes) {
const decryptedTitle = data_encryption.decrypt(dataKey, note.note_title);
@@ -30,7 +30,7 @@ module.exports = async () => {
await sql.execute("UPDATE notes SET note_title = ?, note_text = ? WHERE note_id = ?", [note.note_title, note.note_text, note.note_id]);
}
const protectedNotesHistory = await sql.getAll("SELECT * FROM notes_history WHERE is_protected = 1");
const protectedNotesHistory = await sql.getRows("SELECT * FROM notes_history WHERE is_protected = 1");
for (const noteHistory of protectedNotesHistory) {
const decryptedTitle = data_encryption.decrypt(dataKey, noteHistory.note_title);
@@ -0,0 +1,6 @@
DROP INDEX IDX_notes_tree_note_id_parent_note_id;
CREATE UNIQUE INDEX `IDX_notes_tree_note_id_parent_note_id` ON `notes_tree` (
`note_id`,
`parent_note_id`
);
@@ -0,0 +1,9 @@
DROP INDEX IDX_notes_tree_note_id_parent_note_id;
CREATE INDEX `IDX_notes_tree_note_id_parent_note_id` ON `notes_tree` (
`note_id`,
`parent_note_id`
);
-- dropping this as it's just duplicate of primary key
DROP INDEX IDX_notes_tree_note_tree_id;
+11
View File
@@ -0,0 +1,11 @@
CREATE TABLE images
(
image_id TEXT PRIMARY KEY NOT NULL,
format TEXT NOT NULL,
checksum TEXT NOT NULL,
name TEXT NOT NULL,
data BLOB,
is_deleted INT NOT NULL DEFAULT 0,
date_modified TEXT NOT NULL,
date_created TEXT NOT NULL
);
@@ -0,0 +1,16 @@
DROP TABLE images;
CREATE TABLE images
(
image_id TEXT PRIMARY KEY NOT NULL,
note_id TEXT NOT NULL,
format TEXT NOT NULL,
checksum TEXT NOT NULL,
name TEXT NOT NULL,
data BLOB,
is_deleted INT NOT NULL DEFAULT 0,
date_modified TEXT NOT NULL,
date_created TEXT NOT NULL
);
CREATE INDEX images_note_id_index ON images (note_id);
+27
View File
@@ -0,0 +1,27 @@
DROP TABLE images;
CREATE TABLE images
(
image_id TEXT PRIMARY KEY NOT NULL,
format TEXT NOT NULL,
checksum TEXT NOT NULL,
name TEXT NOT NULL,
data BLOB,
is_deleted INT NOT NULL DEFAULT 0,
date_modified TEXT NOT NULL,
date_created TEXT NOT NULL
);
CREATE TABLE notes_image
(
note_image_id TEXT PRIMARY KEY NOT NULL,
note_id TEXT NOT NULL,
image_id TEXT NOT NULL,
is_deleted INT NOT NULL DEFAULT 0,
date_modified TEXT NOT NULL,
date_created TEXT NOT NULL
);
CREATE INDEX notes_image_note_id_index ON notes_image (note_id);
CREATE INDEX notes_image_image_id_index ON notes_image (image_id);
CREATE INDEX notes_image_note_id_image_id_index ON notes_image (note_id, image_id);
@@ -0,0 +1,12 @@
CREATE TABLE attributes
(
attribute_id TEXT PRIMARY KEY NOT NULL,
note_id TEXT NOT NULL,
name TEXT NOT NULL,
value TEXT,
date_created TEXT NOT NULL,
date_modified TEXT NOT NULL
);
CREATE INDEX attributes_note_id_index ON attributes (note_id);
CREATE UNIQUE INDEX attributes_note_id_name_index ON attributes (note_id, name);
@@ -0,0 +1,5 @@
ALTER TABLE options ADD COLUMN is_synced INTEGER NOT NULL DEFAULT 0;
UPDATE options SET is_synced = 1 WHERE opt_name IN ('username', 'password_verification_hash', 'password_verification_salt',
'password_derived_key_salt', 'encrypted_data_key', 'encrypted_data_key_iv',
'protected_session_timeout', 'history_snapshot_time_interval');
+1
View File
@@ -0,0 +1 @@
ALTER TABLE notes ADD COLUMN type TEXT NOT NULL DEFAULT 'text';
+1
View File
@@ -0,0 +1 @@
ALTER TABLE notes ADD COLUMN mime TEXT NOT NULL DEFAULT 'text/html';
@@ -0,0 +1,207 @@
CREATE TABLE "options_mig" (
`name` TEXT NOT NULL PRIMARY KEY,
`value` TEXT,
`dateModified` INT,
isSynced INTEGER NOT NULL DEFAULT 0);
INSERT INTO options_mig (name, value, dateModified, isSynced)
SELECT opt_name, opt_value, date_modified, is_synced FROM options;
DROP TABLE options;
ALTER TABLE options_mig RENAME TO options;
CREATE TABLE "sync_mig" (
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
`entityName` TEXT NOT NULL,
`entityId` TEXT NOT NULL,
`sourceId` TEXT NOT NULL,
`syncDate` TEXT NOT NULL);
INSERT INTO sync_mig (id, entityName, entityId, sourceId, syncDate)
SELECT id, entity_name, entity_id, source_id, sync_date FROM sync;
DROP TABLE sync;
ALTER TABLE sync_mig RENAME TO sync;
CREATE UNIQUE INDEX `IDX_sync_entityName_entityId` ON `sync` (
`entityName`,
`entityId`
);
CREATE INDEX `IDX_sync_syncDate` ON `sync` (
`syncDate`
);
CREATE TABLE `source_ids_mig` (
`sourceId` TEXT NOT NULL,
`dateCreated` TEXT NOT NULL,
PRIMARY KEY(`sourceId`)
);
INSERT INTO source_ids_mig (sourceId, dateCreated)
SELECT source_id, date_created FROM source_ids;
DROP TABLE source_ids;
ALTER TABLE source_ids_mig RENAME TO source_ids;
CREATE TABLE "notes_mig" (
`noteId` TEXT NOT NULL,
`title` TEXT,
`content` TEXT,
`isProtected` INT NOT NULL DEFAULT 0,
`isDeleted` INT NOT NULL DEFAULT 0,
`dateCreated` TEXT NOT NULL,
`dateModified` TEXT NOT NULL,
type TEXT NOT NULL DEFAULT 'text',
mime TEXT NOT NULL DEFAULT 'text/html',
PRIMARY KEY(`noteId`)
);
INSERT INTO notes_mig (noteId, title, content, isProtected, isDeleted, dateCreated, dateModified, type, mime)
SELECT note_id, note_title, note_text, is_protected, is_deleted, date_created, date_modified, type, mime FROM notes;
DROP TABLE notes;
ALTER TABLE notes_mig RENAME TO notes;
CREATE INDEX `IDX_notes_isDeleted` ON `notes` (
`isDeleted`
);
CREATE TABLE `event_log_mig` (
`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
`noteId` TEXT,
`comment` TEXT,
`dateAdded` TEXT NOT NULL,
FOREIGN KEY(noteId) REFERENCES notes(noteId)
);
INSERT INTO event_log_mig (id, noteId, comment, dateAdded)
SELECT id, note_id, comment, date_added FROM event_log;
DROP TABLE event_log;
ALTER TABLE event_log_mig RENAME TO event_log;
CREATE TABLE "note_tree" (
`noteTreeId` TEXT NOT NULL,
`noteId` TEXT NOT NULL,
`parentNoteId` TEXT NOT NULL,
`notePosition` INTEGER NOT NULL,
`prefix` TEXT,
`isExpanded` BOOLEAN,
`isDeleted` INTEGER NOT NULL DEFAULT 0,
`dateModified` TEXT NOT NULL,
PRIMARY KEY(`noteTreeId`)
);
INSERT INTO note_tree (noteTreeId, noteId, parentNoteId, notePosition, prefix, isExpanded, isDeleted, dateModified)
SELECT note_tree_id, note_id, parent_note_id, note_position, prefix, is_expanded, is_deleted, date_modified FROM notes_tree;
DROP TABLE notes_tree;
CREATE INDEX `IDX_note_tree_noteId` ON `note_tree` (
`noteId`
);
CREATE INDEX `IDX_note_tree_noteId_parentNoteId` ON `note_tree` (
`noteId`,
`parentNoteId`
);
CREATE TABLE "note_revisions" (
`noteRevisionId` TEXT NOT NULL PRIMARY KEY,
`noteId` TEXT NOT NULL,
`title` TEXT,
`content` TEXT,
`isProtected` INT NOT NULL DEFAULT 0,
`dateModifiedFrom` TEXT NOT NULL,
`dateModifiedTo` TEXT NOT NULL
);
INSERT INTO note_revisions (noteRevisionId, noteId, title, content, isProtected, dateModifiedFrom, dateModifiedTo)
SELECT note_history_id, note_id, note_title, note_text, is_protected, date_modified_from, date_modified_to FROM notes_history;
DROP TABLE notes_history;
CREATE INDEX `IDX_note_revisions_noteId` ON `note_revisions` (
`noteId`
);
CREATE INDEX `IDX_note_revisions_dateModifiedFrom` ON `note_revisions` (
`dateModifiedFrom`
);
CREATE INDEX `IDX_note_revisions_dateModifiedTo` ON `note_revisions` (
`dateModifiedTo`
);
CREATE TABLE `recent_notes_mig` (
`noteTreeId` TEXT NOT NULL PRIMARY KEY,
`notePath` TEXT NOT NULL,
`dateAccessed` TEXT NOT NULL,
isDeleted INT
);
INSERT INTO recent_notes_mig (noteTreeId, notePath, dateAccessed, isDeleted)
SELECT note_tree_id, note_path, date_accessed, is_deleted FROM recent_notes;
DROP TABLE recent_notes;
ALTER TABLE recent_notes_mig RENAME TO recent_notes;
CREATE TABLE images_mig
(
imageId TEXT PRIMARY KEY NOT NULL,
format TEXT NOT NULL,
checksum TEXT NOT NULL,
name TEXT NOT NULL,
data BLOB,
isDeleted INT NOT NULL DEFAULT 0,
dateModified TEXT NOT NULL,
dateCreated TEXT NOT NULL
);
INSERT INTO images_mig (imageId, format, checksum, name, data, isDeleted, dateModified, dateCreated)
SELECT image_id, format, checksum, name, data, is_deleted, date_modified, date_created FROM images;
DROP TABLE images;
ALTER TABLE images_mig RENAME TO images;
CREATE TABLE note_images
(
noteImageId TEXT PRIMARY KEY NOT NULL,
noteId TEXT NOT NULL,
imageId TEXT NOT NULL,
isDeleted INT NOT NULL DEFAULT 0,
dateModified TEXT NOT NULL,
dateCreated TEXT NOT NULL
);
INSERT INTO note_images (noteImageId, noteId, imageId, isDeleted, dateModified, dateCreated)
SELECT note_image_id, note_id, image_id, is_deleted, date_modified, date_created FROM notes_image;
DROP TABLE notes_image;
CREATE INDEX IDX_note_images_noteId ON note_images (noteId);
CREATE INDEX IDX_note_images_imageId ON note_images (imageId);
CREATE INDEX IDX_note_images_noteId_imageId ON note_images (noteId, imageId);
CREATE TABLE attributes_mig
(
attributeId TEXT PRIMARY KEY NOT NULL,
noteId TEXT NOT NULL,
name TEXT NOT NULL,
value TEXT,
dateCreated TEXT NOT NULL,
dateModified TEXT NOT NULL
);
INSERT INTO attributes_mig (attributeId, noteId, name, value, dateCreated, dateModified)
SELECT attribute_id, note_id, name, value, date_created, date_modified FROM attributes;
DROP TABLE attributes;
ALTER TABLE attributes_mig RENAME TO attributes;
CREATE INDEX IDX_attributes_noteId ON attributes (noteId);
CREATE UNIQUE INDEX IDX_attributes_noteId_name ON attributes (noteId, name);
@@ -0,0 +1,4 @@
UPDATE sync SET entityName = 'note_images' WHERE entityName = 'notes_image';
UPDATE sync SET entityName = 'note_tree' WHERE entityName = 'notes_tree';
UPDATE sync SET entityName = 'note_revisions' WHERE entityName = 'notes_history';
UPDATE sync SET entityName = 'note_reordering' WHERE entityName = 'notes_reordering';
@@ -0,0 +1 @@
DROP INDEX IDX_attributes_noteId_name;
@@ -0,0 +1 @@
ALTER TABLE attributes ADD COLUMN isDeleted INT NOT NULL DEFAULT 0;
@@ -0,0 +1 @@
ALTER TABLE attributes ADD COLUMN position INT NOT NULL DEFAULT 0;
+7
View File
@@ -0,0 +1,7 @@
CREATE TABLE IF NOT EXISTS "api_tokens"
(
apiTokenId TEXT PRIMARY KEY NOT NULL,
token TEXT NOT NULL,
dateCreated TEXT NOT NULL,
isDeleted INT NOT NULL DEFAULT 0
);

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