settle
settle
is a CLI tool that helps you manage your digital Zettelkasten.
Getting started
Requirements
- cargo/rust toolchain
- SQLite
Installation
There's a crate on crates.io, so you can simply run:
cargo install settle
Overview
Roadmap
Before 2023
- [x] generate the database from existing files
- [x] create Zettel
- [x] list Zettel
- [x] tags
- [x] recognize hashtag-tags (e.g.
#interesting-tag
)
- [x] search for tags
- [x] list all tags
- [x] configuration
- [x] custom Zettelkasten directory
- [x] custom database file path
- [x] be able to use templates
- [x] list mentioned but non-existent Zettel ("ghosts")
- [x] search for text inside notes
- [x] update Zettel metadata individually
- [x] projects (subdirectories within the main Zettelkasten folder)
- [x] add notes to projects
- [x] create an inbox project by default
- [x] generate the database with projects included
- [x] start with an 'inbox' project by default
- [x] move notes from project to project
- [x] rename notes
- [x] update all links to the renamed note
After/During 2023
- [x] query: filter notes based on various criteria (title, tags, etc.)
- [x] support regex
- [x] print according to a format
- [x] put custom separator between links, both forward and backward
- [x] graph
- [x] DOT output
- [ ] ~~render DOT as image~~
- [ ] writing experience (help deal with writer's block)
- [ ] find related notes
- [ ] suggest random notes
Contributing
Pull requests are welcome. For major changes, please open an issue first to
discuss what you would like to change.
Please make sure to update tests as appropriate.
License
MIT