Skip to content

Latest commit

 

History

History
92 lines (73 loc) · 2.27 KB

README.md

File metadata and controls

92 lines (73 loc) · 2.27 KB
 _____           __
/\___ \         /\ \__
\/__/\ \    ___ \ \ ,_\
   _\ \ \  / __`\\ \ \/
  /\ \_\ \/\ \L\ \\ \ \_
  \ \____/\ \____/ \ \__\
   \/___/  \/___/   \/__/

Build Status

A terminal based digital personal journal 📔

Help

Build

Jot is written in Rust and therefore uses Cargo as build tool. To build jot run

$ cargo build

To test run it

$ cargo run

Or actually test it using assert_cmd

$ cargo test

To build for release

$ cargo build --release

The executable will be placed in target/release/jot. There is also an option to install jot

$ cargo install --path .

This will place jot inside ~/.cargo/bin/.

Usage

Jot has two modes: writing and listing. To enter writing mode simply do

$ jot

Jot will now accept input. To cancel press control-c and to save the entry press control-d (EOF). The following commands all insert a new entry to the default journal.

$ echo "My first entry" | jot
$ jot <<< "I bought a new chair"
$ jot < entry.txt
$ jot --editor vim

The last command opens an editor (vim in this case), where you can type your journal entry. After you saved and successfully exited the editor will the entry be saved to your journal. Jot also supports Unicode characters (because Rust does 😊).

$ jot <<< "내 첫 번째 항목"

Besides from creating new entries, jot can also list your current entries. You can list all your entries.

$ jot -l

Or if you would like to export in JSON

$ jot --json

However, this is not very useful when you are looking for a specific entry. That's why you can filter on content, dates and number of entries.

$ jot --pattern study
# lists all entries where study occurs... (case insensitive)
$ jot --from 20-11-2018
# lists all entries from (inclusive) 20 November 2018...
$ jot -n 10 --to 25-10-2018
# lists the 10 latest entries until 25 October 2018...
$ jot -r
# lists all entries in reverse order...

The -l or --list argument is implied when using any of the filters.

License

This software is distributed under MIT license 📝