104 Commits

Author SHA1 Message Date
88552fe8e9 Revert "Workaround intl bug by harding 'en' locale"
This reverts commit 303192d9d575b26a77a00f7a62212f310ec1e329.
This reverts commit cd9d128b47ed523036f7ae1232ec7adcf04ed8a9.

GitJournal is used by non-English speakers (a lot in China and Russia)
and while we don't support those languages completely, we do support
them a little bit. I don't want to loose this functionality. It would be
better for us to fix the bug in intl.
2020-06-10 09:31:08 +02:00
303192d9d5 Initialize intl in tests
This sucks.
2020-06-09 18:44:37 +02:00
67c2777d9b Parse links in wiki syntax [[term]]
This way we can use this faster syntax which is also supported by
Obsidian.
2020-06-08 00:52:03 +02:00
a43498ef6d Editor Heurisitics: Should work even if the items have spaces 2020-06-08 00:28:14 +02:00
991af6e1fb Add a test to make sure new notes always have a file extension
This bug has appeared way too many times
2020-06-06 13:52:23 +02:00
f957e7c441 Remove print statements from tests 2020-06-04 13:51:24 +02:00
c50e8ad999 Add more editor heuristics 2020-06-03 12:10:06 +02:00
42d6386096 Add basic txt file support
With this 'txt' files are now read and written. However, they don't have
any metadata so they don't show up correctly in the sort order and
currently the Markdown Editor is still available for them.

Related to #55
2020-06-02 00:15:18 +02:00
47e8ac8b08 Auto add numbered lists when typing
Since we're using markdown it's kinda awesome that we can re-use the
same last number and markdown will arrange the numbers properly.
2020-06-01 23:26:49 +02:00
a5a7211788 Bullet Lists: Auto add bullets lists even when modifying in the middle 2020-06-01 21:14:59 +02:00
f4cc8e2b47 Refactor Auto bullet list in Editor
The earlier code base was a bit fragile, I prefer having this
unit-tested as the logic is a bit tricky, and I still don't support all
the use-cases.
2020-06-01 20:55:04 +02:00
e740bd2223 FlattenedNotesFolder: Test reset 2020-05-31 03:16:17 +02:00
772c3320b6 Add another test for FlattenedNotes 2020-05-31 03:03:11 +02:00
af69dd6e48 Note: Allow returning the links in the document
This isn't perfect as we aren't handling referenced links and maybe even
autolinks, but it's a start.

Related to #141
2020-05-26 14:50:23 +02:00
bcbf54106f Handle empty checklists
If there were no items we were ignoring the checklist. Added some extra
tests as well.

Fixes #148
2020-05-26 13:43:41 +02:00
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