settle 0.39.5

CLI tool for managing a digital Zettelkasten
# 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

- [design principles]./doc/design-principles.md
- [project history]./doc/history.md
- [configuration]./doc/configuration.md
- [full usage manual]./doc/SETTLE_MANUAL.md, contains more technical descriptions
- [creating new notes (with templates as well)]./doc/creating-notes.md
- [projects]./doc/projects.md
    - [moving notes between projects]./doc/moving-notes-between-projects.md
- [renaming notes]./doc/renaming-notes.md
- [keeping the database up to date]./doc/keeping-the-database-up-to-date.md
- [tags and subtags]./doc/tags-and-subtags.md
- [links and backlinks]./doc/links-and-backlinks.md
- [query, search and filter]./doc/query-search-and-filter.md
    - [making a graph of your Zettelkasten]./doc/graphs.md

## 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](LICENSE)