253 Commits

Author SHA1 Message Date
ddf7345b0d MdYamlCodec: Load maps properly
Our MdYamlCodec runs inside an isolate, and send the result back. The
YamlMap data structure doesn't seem to be serializable over an isolate
and gives us an error. Therefore, we should make sure it is a normal
map.
2020-09-03 14:03:49 +02:00
d3d04e6df9 NoteLoader: Handle the exceptions while trying to load the file
They were being silently dropped.
2020-09-03 13:48:57 +02:00
ec91a784de NotesFolderFS: Remove any notes which failed to load 2020-09-03 13:42:54 +02:00
6e289a6b6e Note: Add an API to get the images from a note
This will be used in the future to display the images in the grid/card
view.
2020-09-03 12:26:45 +02:00
1f071771ca Do not allow empty inline tags 2020-09-02 17:38:43 +02:00
074e918db4 Implement basic inline tags
Fixes #44
2020-09-02 17:24:34 +02:00
25f516c15c Add the scaffolding for automatically adding Wiki Links
The idea is that on save a Note, terms which have already been used
before as Wiki Links should automatically be converted into Wiki Links.
2020-09-02 17:02:13 +02:00
0b4867da10 LinksLoader: Ignore non local links
In Reference links

Fixes APP-9M
2020-08-31 08:55:27 +02:00
a8af8d795e MdYamlDoc: Add a very basic reverse implementation
A user requested that the YAML header be present at the bottom. I
thought this would be quite simple, but there are lots of edge cases
which will need to be solved.

Related to #223
2020-08-30 15:49:08 +02:00
a3f556df47 Actually implement the Zettelkasten filename format
I like an idiot only exposed it in the Settings.
2020-08-30 15:16:03 +02:00
aabeb57fc0 InlineTags: Add settings page
And support multiple prefixes.

This is disabled for now as it hasn't been fully integrated.
2020-08-21 12:18:55 +02:00
cc9d115762 InlineTags: Handle case of #a#b as two tags 2020-08-21 11:12:08 +02:00
ada656c675 Do not write the title as h1 if it is in the yaml header
In general, we try to follow the conventions in the note parsed over
whatever the default config.

Related to #214
2020-08-19 11:31:16 +02:00
8f2bb557da YAML tags: Let it be a string seperated by spaces and have a #
In general we try to follow the same format as specified in the input
note.
2020-08-19 10:41:52 +02:00
9380f3cc06 Allow YAML tags to be a string 2020-08-19 10:12:07 +02:00
6be1c22496 Remove extra _notifyModified 2020-08-19 10:02:03 +02:00
9859aa6106 Allow custom metadata to be specifiec for any note
This way we can add 'draft: true' to all new notes.

Fixes #168
2020-08-18 10:47:26 +02:00
46269dd94a Implementing controlling of the sorting order
The dialog looks quite ugly right now, but at least everything works. I
can work on making it prettier after this.
2020-08-14 19:17:38 +02:00
01f1b8481f Add scaffolding for an inline tag processor
This is just a simple test to extract the inline tags, it hasn't been
hooked up to anything.

Related to #44
2020-08-11 13:58:52 +02:00
7b1e328c7e Note: Always flush the file when writing
This may fix some edge cases where the notes aren't being saved.
2020-08-10 23:49:13 +02:00
bf0c9d1dfd Support piped wikilinks
Fixes #203
2020-08-10 21:10:55 +02:00
17dff46660 Remove wikilink duplicate regexp 2020-08-10 20:31:46 +02:00
9c01b8a931 NoteSerializer: Avoid using Settings.instance 2020-08-09 01:50:52 +02:00
633d9f5744 Remove more instances of Settings.instance
Use the Provider
2020-08-09 01:50:36 +02:00
619023660f NoteMetaData: Allow tags key to be configured
Fixes #206
2020-08-06 10:55:41 +02:00
c5deb3e988 Allow the 'created' YAML metadata to be configured
Related to #206
2020-08-03 00:46:41 +02:00
120e516ff9 SortingMode: Make public strings translatable 2020-07-31 21:45:08 +02:00
9374c35901 Note's title is no longer part of the metadata
So even if the YAML metadata is disabled, the title can be set.
2020-07-29 16:05:21 +02:00
4a97d03bd8 Title Codec: Support empty starting lines in the body 2020-07-29 15:25:17 +02:00
417f0414f2 Setting: Note metadata change subtitle 2020-07-29 15:13:37 +02:00
41447027f2 Allow 'title' saving to be configured
We now allow it be to either saved as the H1 or in the YAML metadata.
I'm not sure what the default should be. Still deciding.

Fixes #112
2020-07-28 17:26:42 +02:00
9ca19077e7 Remove invalid assert
Not sure why I put this assert, it doesn't seem to make sense.
2020-07-27 10:03:25 +02:00
6d101ad5c4 Remove flutter crashlytics
Sentry is being used instead, and it's working out quite well.
2020-07-26 19:05:52 +02:00
9d00fdac06 Use import_sorter
flutter pub run import_sorter:main --no-comments

The code feels much cleaner
2020-07-24 12:43:28 +02:00
b14e094e59 Copy Note to clipboard when it cannot be saved
Also avoid showing the actual exception. It's not very useful to the
user, and we're logging the exception to Sentry anyway.

Related to #124
2020-07-13 17:27:39 +02:00
fb9b69bb46 TagsFolder: Auto add relevant tag to new notes 2020-07-09 18:03:06 +02:00
309917d165 Move links parsing from the markdown string to another thread
This can be very expensive and the UI hands for a large number of notes,
otherwise.
2020-07-09 11:09:03 +02:00
ad535f3be7 Note Links: Considering anything which doesn't have a '://' as local
Only local notes are shown in the backlinks. Earlier our idea of local
links was notes which start with './', but now since we accept the
direct filename as well, we should support that in the backlinks as
well.
2020-07-08 00:49:45 +02:00
5e557ef6c3 Rename MetaLinkSyntax to WikiLinkSyntax 2020-06-12 13:50:54 +02:00
ae74e02fa7 Rename Note: Ensure markdown files end with .md
This broke when supporting txt files
2020-06-10 15:16:14 +02:00
b3014d4186 Log GitPush/Pull fails as errors
Instead of debug
2020-06-10 13:28:35 +02:00
97812e1501 Convert more prints to logs
This way they will show up in the LogViewer
2020-06-10 13:25:22 +02:00
51ececd150 Immediately save the note when changing
Earlier we would wait till we got the 'mutex' to make a change, however
with the way libgit2 works, during a git push/pull other git operations
such as add/rm/commit block.

So performing a save, while the push/pull is occuring - might have
resulted in a note being lost

Related to #124
2020-06-10 13:03:28 +02:00
267ecb7499 Implement a very basic file system view
This will show all the files and not just the "notes". This way the user
can easily figure out why a file isn't included in the list of notes.

It's currently disabled by default as it clearly needs a lot more work.
2020-06-10 00:54:15 +02:00
9ba0bc831c Catch possible exceptions when creating the fileName
This can apparently happen, and we should have a fallback. Additionally
Dart has both an 'Error' and an 'Exception' which are two different
things. This makes no sense.
2020-06-09 18:09:17 +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
702366671a Move Link to its own file 2020-06-08 00:35:55 +02:00
e6be9aa228 Ensure new notes always have a proper file ending 2020-06-06 12:31:24 +02:00
7d9cd6e63a DocLoader: Ensure the isolate has been properly started
It seems that sometimes _sendPort is null. I'm not sure why. In those
cases lets try to reinitialize the isolate.

Fixes APP-2W
2020-06-04 15:46:51 +02:00
e0815c664d FlattenedNotesFolder: Always remove the note if present
In the FlattenedNotesFolder we can have a filter to only show certain
notes. This is used for showing notes that match some tags. When the
note is added to this virtual folder it matches the tag, but later it
does not.
2020-06-04 14:21:58 +02:00