68 Commits

Author SHA1 Message Date
ae74e02fa7 Rename Note: Ensure markdown files end with .md
This broke when supporting txt files
2020-06-10 15:16:14 +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
2dbc2dda77 Add support for filenames based on Uuid 2020-06-04 02:12:13 +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
18c93fbbb4 Note: Do not change the body if it hasn't been modified
I'm scared that for very large notes this won't be very fast, on the
other hand changing the body results in many other fields being
re-computed.
2020-05-26 18:07:24 +02:00
d3fb2b7119 Try to make the backlinks section prettier
I'm not totally convinced that it should be here.
2020-05-26 18:05:50 +02:00
4eeff093c1 Cache the Links in a note
This requires the markdown to be parsed which can be an incredibly slow
operation, so lets avoid re-doing it unless necessary.
2020-05-26 17:08:03 +02:00
96ed70f023 Show the backlinks of a Note
This is the initial proof of concept and doesn't look very pretty. It's
also not very efficient.

Related to #141
2020-05-26 15:37:09 +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
4c56ddc4df Allow the default Image location to be configured
Fixes #10
2020-05-20 00:32:13 +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
89deac3770 Note toString: Print loadState
Makes it easier to debug
2020-05-14 16:58:45 +02:00
db37bfbf81 Note: Not all files end with a '.md'
This was only supposed to be done for new files
2020-05-14 16:58:16 +02:00
867f6df14c [Android] Implement sharing images to GitJournal
Fixes #38
2020-05-13 18:30:33 +02:00
31e3e8c806 Ensure Note's fileName always ends with a .md
We were missing it in some cases :(

Fixes #135
2020-05-13 12:03:04 +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
b17c184900 Add very basic Image support [Android only]
This adds a '+' button to the NoteEditor which allows you to add an
image from either the Gallery or Take a photo. It then accordingly adds
updates markdown.

The file is added in the same directory as the note for now.

Related to #10
2020-05-05 12:02:36 +02:00
21a7798dc9 Note.load: lastModified can throw an exception
Fixes APP-V
2020-04-16 10:12:33 +02:00
14d734bf08 Fix handling of Note renames
We often use the note's filePath as a unique identifier, however that
can change, and we need to update the caches accordingly.

Fixes #97
2020-04-10 13:45:19 +02:00
bb0e574495 Abstract out the logging
This way moving away from Fimber will be much easier.
2020-04-04 11:50:57 +02:00
a99eca9131 Simplify code by using pathSpec 2020-03-21 00:52:54 +01:00
3e38628102 Add a 'type' to each Note
This way we can load the appropirate editor according to the types
available.
2020-03-19 02:36:59 +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
8b48650ad8 Note: Reload the file when it changes
We were comparing the file modification date incorrectly

Fixes #65
2020-03-11 12:55:07 +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
56d8f635eb Note class should not be sortable
There are various different methods of sorting an note.
2020-03-06 20:14:21 +01:00
de2553c31f Mark new notes as Loaded 2020-03-01 17:14:01 +01:00
c90189e55b Note: Do not try to generate the summary if not loaded 2020-03-01 14:28:10 +01:00
d50f772468 Only have one SortingMode class
It doesn't make sense to duplicate it.
2020-03-01 13:40:16 +01:00
020c65e132 Minor cleanup 2020-02-28 14:16:05 +01:00
d137fb83cf Add experimental support for not saving the yaml header
Fixes #19

This is experimental as it changes the whole concept of a Note - We have
till now always assumed that a Note can have attached metadata. With
this, there is no longer any metadata. So other parts of the application
need to start reacting accordingly. For example the Mardkown Editor
should not allow you to modify the title.

This also makes it easier to implement '.txt' file support.
2020-02-18 22:29:16 +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
d5f5b4975a Note Summary: Avoid reparsing the markdown on each build
Save it after it is done once. This should result in a significant
performance boost - over 22% while showing the list view. Also, now with
the addition of a few more animations, this is even more important.
2020-02-11 19:08:33 +01:00
9c02f1d8ac Allow the sorting mode to be toggled 2020-02-09 19:37:10 +01:00
20f8d7f7fe NoteEditor: Improve modified check
If the only modification is the addition of a 'modified' tag, then we
shouldn't count it as modified.

I'm not too fond of this logic.
2020-02-09 17:34:12 +01:00
3d12c833d3 Revert "Deletes Note.compareTo"
This reverts commit 6cf5454f7940c9aee65279c4635f84b04f9ec700.

Having this compareTo makes testing easier.
2020-02-06 11:52:27 +01:00
6cf5454f79 Deletes Note.compareTo
Notes should no longer have a default comparison method. Since sorting
will soon be configurable (and is currently disabled), lets just remove
this method.
2020-02-06 01:53:16 +01:00
f9a2f4c875 Add some FIXMEs 2020-01-31 16:17:30 +01:00
43281bd2bb Add support for moving a Note to another folder
The Folder selection dialog needs a lot of work, but it's a start.
2020-01-29 16:51:57 +01:00
3f40a2992a Add the concept of Editors
* We no longer have a separate editing and browsing view - This does
mean we loose the ability to quick flip between notes by swiping.
However, this is more how a note editor would behave. I do later want to
add that capability back.

* We have 2 editors for now - Markdown and Raw. By default we use the
Markdown editor which can be toggled between Preview / Edit mode.

I later want to add a rich text editor and a todo editor as well.
2020-01-29 00:04:24 +01:00
f8e7773f16 NoteBrowser: Add a button to rename notes
Fixes #23
2020-01-27 23:09:11 +01:00
4be91f92f0 Note FileName: Save them by default with the title
If that title already exists add an _Num at the end.

This won't change the default for existing users, as our settings system
saves the default value and will just load it the next time. This really
needs to be improved.
2020-01-07 23:54:44 +01:00
442d9d2b4e Allows Notes to have a different modified yaml key
Possible Options - modified, mod, lastModified, lastMod, lastmodified or
lastmod. When read the the note we will figure out which one is being
used and accordingly write back that value.

This makes it easier to use GitJournal for editing Hugo websites as they
usually use the 'lastmod' field to indicate when the post was last modified.
2020-01-05 18:12:35 +01:00