A simple tool to list the day's activities, completely in CLI.
Many similar tools exist, but this was sort of a learning project(for rust), and
none of them met all the requirements I was looking for in a jrnl
-ing system.
Visit the relevant webpage here to view the
- Video Demo in case it doesn't work here.
- Features in detail.
- Usage, on how to properly use it(in detail).
Visit the website here in case it doesn't work here.
video.mp4
Visit the webpage to see the detailed features.
- All data is stored in markdown format(so nothing is encrypted).
- You can have multiple different
jrnl_folder
s, for different purposes, and can use any one from any where using the--path
(-p
) flag. - Tag system
- [tag1] [tag2] Some data.
- Already filled in data(date, weekday, time, etc) in your file.
- A specific ordering system, with 1 file per month.
- Prints calendars with highlighted dates.
- Search system.
- Specific
food
tag. - Slightly configurable(I hardcoded most of the things).
Since this is just a side-project, there is not many ways to install this.
You can, of course, clone the repository and use cargo
to install it, or use:
cargo install --git https://github.com/kajuburfi/jrnl --locked
Note: This is meant for my personal use, and so many things are hardcoded. Use at your own risk.
Just copy-paste the config file into ~/.config/jrnl/config.toml
, and make the necessary changes.
All data about the config file is mentioned in the comments.
Since most of the things are made specifically for my needs(hardcoded), many options are not configurable.
If you want to try it out, and get stuck, feel free to open an issue, and I'll see what I can do.
tldr; Not specifically meant for other people's use(might not fit your needs, and is mostly not very much configurable)
chrono
: For date and time purposes.clap
: For CLI arguments.colored
: For colored messages.inquire
: To interactively get the date(of entry to be fetched) from the user.pager
: To page long outputs.comfy-table
: To print tables.toml
: To parse the configuration file.serde
: For use intoml
andclap
.term_size
: To get the terminal width, to be able to wrap tables and calendars accordingly.stringmetrics
: For approximate word searching.shellexpand
: To expand the~
(tilde) in paths.parse_datetime
: To convert human-readable time to exact dates.
This tool is licensed under the MIT license.