Skip to content

Latest commit

 

History

History
58 lines (47 loc) · 2.23 KB

README.md

File metadata and controls

58 lines (47 loc) · 2.23 KB

Notes-CLI: A simple notes CLI

notes-cli on crates.io

notes-cli aims to be an extremely simple note taking CLI with human readable output. All notes are stored in a single file in plain text with a prepended local timestamp, and with optional tags appended. notes-cli is designed to be used with a search tool such as ripgrep

The delimiter between timestamp, note, and tags is configurable, along with the location of the notes file. Once set, they will be remembered. Config is stored in the standard location on your OS e.g. ~/.config/notes-cli/notes-cli.toml on linux. More in depth searching may be added in the future, but one of my goals is to keep the notes file hand editable.

Examples

Note with a tag, as well as delimiter and path setup

$ notes-cli "My first note." -t test-tag -p ~/Documents/notes.txt -d " ~ "
2020-03-02 16:53:28 ~ My first note. ~ test-tag

Notes file with several notes

$ cat ~/Documents/notes.txt 
2020-03-02 17:16:35 ~ Website that aggregates stock portfolios across brokerages. ~ idea, website
2020-03-02 17:17:31 ~ A note taking cli. ~ 
2020-03-02 17:17:55 ~ A simple note taking CLI in Rust. ~ 
2020-03-02 17:19:45 ~ Create a taxi tracking app. ~ idea, app
2020-03-02 17:47:16 ~ https://learningmusic.ableton.com/ ~ tutorial
2020-03-02 17:47:30 ~ Add a new blog about emulating gameboy sound to site. ~ blog

Searching by time

$ cat ~/Documents/notes.txt | rg "2020-03-02 17:17"
2020-03-02 17:17:31 ~ A note taking cli. ~ 
2020-03-02 17:17:55 ~ A simple note taking CLI in Rust. ~

Searching by tag

$ cat ~/Documents/notes.txt | rg "idea"
2020-03-02 17:16:35 ~ Website that aggregates stock portfolios across brokerages. ~ idea, website
2020-03-02 17:19:45 ~ Create a taxi tracking app. ~ idea, app

Installing

cargo install notes-cli 

Be sure to have ~/.cargo/bin on your path. The name notes-cli is used for uniqueness, but is very verbose to type. I would recommend aliasing it something like n for the most frictionless experience.