The file is stored in the tmp dir with the filename of
"katex_$HASH$.png" where $HASH$ is the md5 hash of the input string to
be rendered.
The cache isn't ever cleared so far, but maybe the underlying OS will do
that automatically?
Related to #125
Related to #125
This still needs to be integrated into the Flutter Markdown renderer.
But the good news is that this works!
It currently requires network access to download the katex scripts. It
does NOT send the katex string to any server. The rendering is performed
in the app.
Just with a fixed height card. This way we save on lots of code
duplication, specially as each of these views will become more complex
as we add dismissable, animations and selectable notes.
It's strange, but this widget routinely gets constructed twice. So
performing a long async operation (generating the ssh key + adding it as
a deploy key) from initState, results in it being called twice. I'm not
sure where the state is initialized twice.
Even adding a unique key to the widget did not help. In the end, I've
just moved the code to its parent widget.
It's easier if there is always at least 1 commit in a repo. Creating a
commit with a .gitignore file was a simple way to ensure that. However,
we can also just check for the presence of any other file. This way, we
avoid the extra commit.
The parent sometimes changes the noteModified parameter. It's strange
for me that the stateless widgets aren't always rebuilt if their parent
widget's properties change.
I've added 3 app shortcuts -
* New Note
* New Checklist
* New Journal Entry
The icons for these shortcuts are horrible, and I cannot seem to make it
prettier, so this will have to do for now. It's also a bit slow as first
the home screen in built and then a NoteEditor is shown.
Fixes#134