|
7 months ago | |
---|---|---|
docs | 8 months ago | |
nix | 8 months ago | |
review | 8 months ago | |
script | 8 months ago | |
src | 7 months ago | |
tests | 7 months ago | |
vendor | 8 months ago | |
.envrc | 8 months ago | |
.gitignore | 8 months ago | |
README.md | 7 months ago | |
config.json | 8 months ago | |
default.nix | 8 months ago | |
elm.json | 8 months ago | |
modd.conf | 8 months ago | |
shell.nix | 8 months ago |
This is my implementation of a note-taking app, organized around the following principles:
Linking creates structure as necessary. Having to choose a category or folder for notes just makes me tired. I want to write and connect stuff as I think of it. Structure will emerge where it needs to! I should also be able to see all linked/unlinked references to a note.
Notes are for me. Sharing is important but secondary, and exporting should be fine in most cases. Note, though, that this means I want importing to work great so I can slurp in stuff from multiple places!
Anything I can see, I can edit. There should be as few read-only views in the app as I can manage.
Keyboard shortcuts for the win. I want to be able to navigate completely with the keyboard. Vim-ish keybindings, if possible!
If I can't organize things I need to do, I'm not going to use the tool. It should handle TODOs nicely (due/defer, mark/complete/cancel, recurrence rules?) It should also be possible to reorder/filter todos in some sort of aggregate view.
Aggregate views reveal structure. These look like queries. Maybe I want to see only the first marked TODO in each note? Should be doable.
Shortcut | Action | Implemented |
---|---|---|
Alt-Up | Move edit cursor up | No |
Alt-Shift-Up | Move node up | No |
Alt-Down | Move edit cursor down | No |
Alt-Shift-Down | Move node down | No |
Alt-Right | Move edit cursor to first child | No |
Alt-Shift-Right | Indent | No |
Alt-Left | Move edit cursor to parent | No |
Alt-Shift-Left | Dedent | No |
Tab | Indent | Yes |
Shift-Tab | Dedent | Yes |
Enter | Split node at cursor | Yes |
Backspace | Join nodes | Yes |
Esc | Stop editing | Yes |
Node.Content
, Node
being separate from Database.Row
)Node
. There's Node
, Node.Content.Node
, and I think a few othersinline code
at a minimum. Possibly :highlights:
or ~strikethrough~
too?
>
for blockquotes in particularelm-rte-toolkit looks cool, and it may make sense to add it later, but don't go for the complexity now! Keep things simple as long as possible!
TODO: I need to add this to an in-app page somewhere.