128 Commits

Author SHA1 Message Date
fdc79828c7 Move note.load to NoteStorage
Now the note class is almost ready to become immutable
2021-09-09 10:01:36 +02:00
c53b7ebbd1 Note: fileLastModified should never be null
This simplifies so much of the code.
2021-09-07 00:00:42 +02:00
665d1dce2b Add a Materialized View for the Links
Calculating the links is very expensive, this way we finally don't need
to do it each time!
2021-09-06 16:57:30 +02:00
db80229209 Stop Note from being a ChangeNotifier
The only one listening was the parent folder. This simplifies the note
class a lot. Also it gets us one step closer from making the note more
dumb.
2021-09-05 11:23:51 +02:00
7abfc505e3 Note: move rename function to the parent
I want the note class to have a simple object with no internal state
mutation.
2021-09-05 11:15:24 +02:00
0231cbd3bc Note: Move 'move' function out of note
It doesn't need access to any of the note internals. For now I've placed
it in notes_folder_fs, though it really doesn't need to be there as
well.
2021-09-05 11:09:17 +02:00
abc9a31290 Add InlineTags Materialized View
This way we avoid parsing the tags from the body again and again, also
I can make the tags processing more complex without worrying too much
about the computational overhead.
2021-08-31 22:59:41 +02:00
130eb852b2 Note: Move summary to a MaterializedView
This way it doesn't need to be computed each time the app loads.
2021-08-31 21:48:27 +02:00
0384bba656 Note: Remove unused member 'images' 2021-08-31 17:12:50 +02:00
5ea80fb617 Note: Move Image code to its own class
The Note class is way way too huge and has too many responsabilities. I
would like the Note class to be very small and immutable.
2021-08-31 12:30:47 +02:00
4d1dff32fa OrgMode: Add images with the correct markup
It was using the markdown syntax.

Related to #145
2021-08-04 08:40:15 +02:00
ef1536223d Remove Note.addImageSync
We can just always use the async version.
2021-08-04 08:28:10 +02:00
a0a97aa8cb Cleanup code 2021-08-04 08:17:49 +02:00
d53154aa8e Remove note.remove
Only being used in a test
2021-08-04 08:13:48 +02:00
39096c270c Note.save: Move to NoteStorage
I'm trying to move all FS related operations out of the Note class, and
ideally make it super small. This class will need to be serialized over
the wire for the web version, and that needs it to be small.
2021-08-04 08:03:48 +02:00
3a71cca202 Move logging code to its own folder 2021-07-30 14:39:13 +02:00
2505d00dfb Replace dart:io with universal_io
Platform from dart:io cannot be used on the web for reasons. And this
way we get a fake File/Directory class which we can use for atleast
running the web version, even if it won't work.
2021-07-30 11:39:26 +02:00
eca8bea239 Avoid modifying the note's state if not required 2021-07-26 18:55:51 +02:00
e3526b4911 Minor refactoring 2021-07-26 16:51:58 +02:00
0ea8da0d44 Remove a few more cases of dart:io usage
I want to abstract out all uses of File and Directory. The sooner I can
do that the sooner I can use it on the web.
2021-07-23 15:18:25 +02:00
fe1f28717b Note: Remove unused method 2021-07-07 17:12:42 +02:00
d4a345ea89 Avoid using 'dart:io' wherever possible
This gets us one step closer to supporting the web.
2021-07-01 01:46:01 +02:00
3e91e7d734 note: Try to use Result class
This is useless as the error handling isn't really taken into account
across the code base.
2021-06-25 09:01:07 +02:00
a3c539bf1f MdYamlDocLoader: Use Result
Instead of annoying exceptions.
2021-06-10 03:33:35 +02:00
d6e2f09a72 Move all settings code to its own folder
Jumping around between the widgets / screens and outside is bit
confusing. Also this way, I can add the stories right here.
2021-06-05 12:23:28 +02:00
9acf3d15f6 null safety++ 2021-06-02 09:40:53 +02:00
844111007b FolderViews: Null Safety++ 2021-05-25 11:25:24 +02:00
73f9db5fab Core: Null Safety++
This is a rather huge change. I hope I haven't broken anything.
2021-05-17 18:15:47 +02:00
d008f0d982 First version of dart migrate
Most of the files haven't been migrated. Lets work on this bit by bit
2021-04-10 22:18:35 +02:00
d2d9504dc9 Make sure all notes end with a \n
Fixes #383
2021-03-26 10:09:15 +01:00
ebd225c3b5 Fix linter + auto format 2021-03-25 16:32:24 +01:00
93cf6433d6 OrgEditor 2021-03-25 12:10:04 +01:00
eb6aff7b76 Note: minor cleanup 2021-03-18 14:29:29 +01:00
171126aa87 initial support for .org files 2021-03-15 10:54:32 +01:00
efd480cfcf Relicense some files to Apache2
There is a pull-request with some changes
2021-03-15 10:25:49 +01:00
13f060e6e1 Add Date Only FileName option
Fixes #346
2021-02-06 20:54:45 +01:00
bc06efc446 Create new note when clicking on non existing Wiki Link
Fixes #240
2020-10-22 23:57:53 +02:00
044592b92d Allow Journal Entries to have their own file naming scheme
Adding an individual setting is becoming way too complex now.
2020-10-12 18:21:26 +02:00
9499cea164 Remove Settings global
Stop it being a singleton. This means it needs to be passed around a
lot. This sucks, but it's how it should be. I shouldn't be using a
global variable to get around this.

This is needed as Settings will soon become repo specific when we
support multiple repos.

This breaks saving the settings in a file, that feature was toggled off
anyway. It needs to be thought over again.
2020-10-09 00:59:19 +02:00
82db15128b NoteFileFormat: Refactor
Get all the allowed extensions in one place. Currently the code is
scattered all over the place.
2020-09-26 19:19:26 +02:00
b72e4719d2 Remove another case of the Settings singleton 2020-09-25 01:05:17 +02:00
c94ff85804 Overhaul Link parsing
We were mixing up header links with wiki links and the alt text. It was
a bit messy. We currently do not support linking to a particular part of
a note. Nor do we support wiki links as link references.

Fixes APP-A0
2020-09-14 12:20:15 +02:00
fa075c25e0 FolderView: Implement selecting a note
This is disabled for now, untill I expose the actions which should be
performed when selecting a note.
2020-09-05 15:53:26 +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
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
074e918db4 Implement basic inline tags
Fixes #44
2020-09-02 17:24:34 +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
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
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