155 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
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
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
9ec33842bc MarkdownToolbar: Remove old block tag
If a text starts with '# ' and we click on the '- ' button, it should
remove the old tag '#' and replace it with '- '. Before this it would
have done something like this '- #'
2020-09-02 00:00:53 +02:00
fefe354e83 MarkdownToolbar: Navigate across multiple lines properly 2020-09-01 23:32:14 +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
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
36fa1e3f80 InlineTags: Test for tags with - 2020-08-21 11:42:54 +02:00
6078f7f7ef InlineTags: Add a test for non-ascii words 2020-08-21 11:41:53 +02:00
cc9d115762 InlineTags: Handle case of #a#b as two tags 2020-08-21 11:12:08 +02:00
2668d14510 Replace test with simpler test
Also lets not auto convert old notes title format.
2020-08-19 11:40:50 +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
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
1e0fdb9f06 Fix WikiLink resolution
I apparently wasn't following exactly what Obsidian was doing. This
algorithm is getting a bit complex and should be documented, also now
I'm not sure how other apps are doing it, and maybe I should have
specific link resolvers per 'app'.
2020-08-16 15:05:16 +02:00
d5ce4e1110 FlattenedNotesFolderTest: Fix it
Occasionally the random number generator would generate the same number
and we wouldn't check if the file existed.

Also, we were accidentally creating all the notes in the root dir, so
this test was a bit useless.
2020-08-15 13:22:05 +02:00
850e9c7826 MarkdownToolBar: Make bold work with newlines 2020-08-15 12:36:13 +02:00
22985ea500 MarkdownToolbar: Implement navigation between words 2020-08-15 11:58:39 +02:00
745d59e570 MarkdownToolbar: Add buttons to navigate between words 2020-08-14 22:00:34 +02:00
440ee96639 MarkdownToolbar: Bold: Add more tests 2020-08-14 21:21:08 +02:00
c6d5ebc0b2 MarkdownToolbar: Add tests for surrounding the current word with ** 2020-08-14 21:17:29 +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
2fcdfa0d6c Note Backlinks: Use the linkResolver
The backlinks should use the same algorithm for determining the links as
is used when clicking on a link.
2020-08-14 16:44:54 +02:00
bf97887e10 Fix relative Markdown links
While implementing Wiki Links, I seem to have accidentally broken them.
2020-08-14 16:14:00 +02:00
c38f823ae3 MarkdownToolBar: Test h1 removal
And fix cursor position after removing of the header
2020-08-13 01:14:06 +02:00
8668b88a95 MarkdownToolBar: Test h1 removal 2020-08-13 00:54:24 +02:00
ed08672ee2 Simplify tests 2020-08-13 00:51:54 +02:00
d4b201f7ef MarkdownToolbar: Replace current line
Add a few more tests
2020-08-13 00:44:12 +02:00
f3ad0144c5 Add a test for MarkdownToolbar's replace current line
The logic is non trivial
2020-08-13 00:29:17 +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
71b3d841da LinkResolve: Handle complex paths such as ../foo/../bah.md
Also add some more tests for other cases.
2020-08-11 13:33:50 +02:00
7e6a74dbba WikiLinks: Always resolve from the base path
Fixes #212

With this [[Fire]] will always resolve the rootFolder/Fire.md
irrespective of which note it appears in. This is analogous to the way
Obsidian works.
2020-08-11 00:11:45 +02:00
3d23d2b343 LinkResolver: Resolve links with extra spaces 2020-08-11 00:07:38 +02:00
5779fd380e LinkResolver: Add more tests 2020-08-11 00:04:42 +02:00
0c467e6b01 Move LinkResolving code to its own class
It has become sufficiently complex that a number of edge cases need to
be tested.
2020-08-10 23:49:09 +02:00
bf0c9d1dfd Support piped wikilinks
Fixes #203
2020-08-10 21:10:55 +02:00
3e2306801b Add a test for the markdown node parsing
This way we will clearly know when the Markdown parsing fails because of
bugs in the markdown package.
2020-08-10 21:04:13 +02:00
cd9ae57a71 Fix tests 2020-08-10 09:59:20 +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
2fa475e10a Add an extra test for txt files and the title
Just to make sure it's never parsed.
2020-07-29 16:29:27 +02:00
30f9f86ad3 Fix all the broken tests because of title change 2020-07-29 15:58:43 +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
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
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