89 Commits

Author SHA1 Message Date
f4ad226341 NoteFileName Format: Move it to Folder Settings
This way each folder can have its own default file naming scheme.
2020-05-18 00:13:20 +02:00
a5ad172790 NoteTest: Remove datetime value
Causes the test to fail on the CI as Dart doesn't have proper timezone
support.
2020-05-13 01:12:37 +02:00
2847e3f60f Add basic tag support
This allows you to be modify the tags from the NoteEditor. Related to
 #114. We still need to add some way to filter the notes by tag. Also,
the current tag editor doesn't show the tags from the other notes.
2020-05-13 01:01:40 +02:00
52fd859990 Note: Make tags a set instead of a list
This way we don't need to check for duplicates
2020-05-12 23:33:57 +02:00
59ab66844f Note: Allow tags to be read and serialized
This is just exposing the tags on the Note class. Not making it
available through any interface.
2020-05-12 22:59:45 +02:00
cfcb1d33ed RsaKey: Add a method to generate the key in another isolate
This way we won't be blocking the main thread.
2020-05-03 15:39:39 +02:00
941a4c589a RsaKeyPair: Make sure we parse public keys correctly 2020-05-03 15:15:44 +02:00
67bfb4b1da RsaKeyPair: Try to parse ssh public key
Failed
2020-05-02 13:44:25 +02:00
e8343f1804 Add an RsaKeyPair class
It needs a bit more testing, but with this we should be able to drop the
dependency on openssh, and instead generate the key via dart.
2020-05-02 13:32:05 +02:00
441202af48 StripMarkdownFormatting: Support new checklist format 2020-05-02 01:29:43 +02:00
70ec10b7bc Checklist Parser: Make it a bit more robust
Allow the space after `[ ]` to be optional. Just like in Github.
2020-05-01 18:44:38 +02:00
01db30c613 Automatically migrate from old checklist format
This way people existing checklists do not disappear
2020-05-01 18:42:18 +02:00
b919f1f2ba Follow GitHub's Checklist format
Fixes #71

It's easier to not use the Markdown parser and just go line by line and
do it myself. This does make it a bit less extensible though.
2020-05-01 18:28:13 +02:00
1bae5c7a19 Merge branch 'checklist_Format2' 2020-05-01 16:54:43 +02:00
f53aa53683 Checklist: Maintain the case of 'x' 2020-04-14 17:46:24 +02:00
1c869bc02b Checklist: Adapt other tests
This still doesn't fix all the tests
2020-04-06 01:29:49 +02:00
219e241deb Checklist: Add support for upper case 'X'
Requires an extra commit in markd
2020-04-06 01:14:36 +02:00
de2c82f4bd Try to support the proper checklist format
According the markdownguide.org, the checklist items are always inside a
list. It can any kind of list, but they are inside a list.

This commit breaks the old syntax and most of the tests. It also
requires a custom version of markd :/
2020-04-06 01:10:44 +02:00
64e3d36130 Improve stripMarkdown formatting
At some point this will need to be done in another thread.
2020-04-02 18:19:50 +02:00
26f641380d Checklist: Avoid extra \n
The markdown parser is weird.
2020-04-02 17:56:48 +02:00
fe08b53539 Add a .gitjournal.yaml file in a folder
This file will be added to save the settings of how we want that folder
to behave. For example - default Editor, view, sorting mode, etc.

This feature is currently disabled as it will only be a part of the pro
mode.
2020-03-31 14:02:38 +02:00
d789a2f6f0 FlattenedNotesFolder: Improve test 2020-03-21 14:16:43 +01:00
1cc26ff160 Add a basic test for the FlattenedNotesFolder 2020-03-21 14:10:24 +01:00
51cc8b9881 SortedNotesFolder: Add another test 2020-03-20 23:49:04 +01:00
03ff93bfc9 SortedNotesFolder: Add another test 2020-03-20 23:47:56 +01:00
c5bcb09ec0 SortedNotesFolder: Add tests
This way it properly works. I shouldn't be coding so late in the night.
2020-03-20 16:51:16 +01:00
b252f037b3 Rename NotesFolder -> NotesFolderFS
And NotesFolderReadOnly to NotesFolder. It just makes more sense this
way as we're now getting more and more different "types" of
NotesFolders.
2020-03-15 02:01:07 +01:00
b0cc615aae Move MdYamlDoc loading to its own class 2020-03-14 23:33:04 +01:00
f0eeefe125 SortedNotesFolder: Avoid calling sort again and again
For long lists of notes this could get very very expensive.
2020-03-08 04:00:27 +01:00
09ff8b2704 Fix sorting mode
First sort based on datetime, and then based on filename.
2020-03-08 00:41:20 +01:00
56d8f635eb Note class should not be sortable
There are various different methods of sorting an note.
2020-03-06 20:14:21 +01:00
78d7e6cef0 Integrate the NotesCache
It doesn't make any difference as -

1. The sort order shown our SortedNotesFolder is different
2. Rebuilds of the tree affect everything. Even the elements which
should be in the correct place.
2020-02-28 14:55:52 +01:00
cbacfa31e3 First attempt of creating a NotesCache
This is just for optimizing the loading of the Notes in the correct
order. I want to avoid the notes appearing and disappearing in a strange
order when loading. It gives a bad first impression.

This cache isn't integrated, it's only half done.
2020-02-28 14:17:37 +01:00
0d5793d097 strip_markdown: Use a handbuilt stripper
It's not perfect, but it runs faster at about 35 us vs 650 us.
2020-02-17 15:51:37 +01:00
4f5c44812f checklists: Do not add unnecessary \n 2020-02-17 01:05:35 +01:00
27875eba0c ChecklistTest: Add missing await 2020-02-17 00:50:06 +01:00
e5a6236cfc Checklists: Ensure there is one item at the start 2020-02-16 22:57:58 +01:00
8cabb07483 checklist: verify insertItem works 2020-02-15 02:30:00 +01:00
7221befcc1 Checklist: Make sure \n exists before adding a new checklist item 2020-02-15 02:28:49 +01:00
b9c7fed6dc Add emjoi support
Only supported for the body and title of notes.

Fixes #62
2020-02-15 02:06:48 +01:00
46a38cdedf Rename NoteData -> MdYamlDoc
It more clearly defines what exactly it is.

This is important as its less confusing for when we add support for
other file types.
2020-02-14 08:12:41 +01:00
7df3e9dce0 ChecklistEditor: Allow adding an item by pressing enter 2020-02-13 17:19:12 +01:00
c7981606bf Checklist: Do not add extra \n while parsing
Now the checklist editor is finally somewhat usable.
2020-02-11 17:21:32 +01:00
380434368d Checklist Test: Remove modified field
When running it on the CI, the timezone is not the same and this causes
some problems.
2020-02-10 18:21:33 +01:00
4c23c28671 checklist: Improve test 2020-02-10 17:27:14 +01:00
dbbe8589c6 Checklists: Allow items to be removed 2020-02-10 17:02:45 +01:00
8bebe91bc0 Checklist: Allow adding new items
It's not perfect as we don't maintain focus, but it's a great start.
2020-02-10 16:45:20 +01:00
9373988054 Checklist: Implement serialization back into Note 2020-02-10 16:03:48 +01:00
b98a42543e Add a Checklist class 2020-02-10 15:44:08 +01:00
ec959ebbed Add a helper file to resolve merge conflicts
I'm not sure how to integrate this into our merging code.
2020-01-27 23:28:13 +01:00