|
|
||
|---|---|---|
| src | ||
| .gitignore | ||
| Cargo.toml | ||
| LICENSE | ||
| README.md | ||
README.md
Rusty-tasks
A personal task management system built on plain text and works in your favorite editor
The General Idea
If you've used the bullet journal technique before, think of this as the digital, automated version of that.
- Accessible from anywhere in the terminal (TMUX, bare shell, etc.)
- works really well with a drop-down terminal
- Take advantage of your favorite editor (vim, Emacs, etc.)
- Take advantage of plain text formats (Markdown)
- Organize tasks at different levels of urgency
- Daily - Must get done now
- Weekly - Must get done in the near future
- Monthly - I'm going to forget if I don't write it down, but It's a ways away
- Every day start a new file
- files should be dated
- Carry over uncompleted tasks from the previous day
Installing
git clone https://github.com/andrei-stoica/rusty-tasks.git
cd rusty-task cargo install --path . ```
Alternatively, there is a binary download for AMD64 Linux machines available
on the [releases page](https://github.com/andrei-stoica/rusty-tasks/releases).
Just drop that anywhere on your PATH. I recommend adding `~/bin` to your PATH
and dropping the executable there.
If you are not on an AMD64 Linux machine, you will need to build from source.
I have not tested this on other platforms, so I hesitate to provide binaries
for them.
## Usage
***WARNING:*** *This documentation can be ahead of the releases on the GH release page*
```help
Usage: rusty-tasks [OPTIONS]
Options:
-c, --config <FILE> set config file to use
-C, --current-config show current config file
-d, --date <DATE> view a specific date's file (format: YYYY-MM-DD)
-p, --previous <PREVIOUS> view previous day's notes [default: 0]
-l, --list list closest files to date
-n, --number <NUMBER> number of files to list [default: 5]
-L, --list-all list closest files to date
-v, --verbose... increase logging level
-h, --help Print help
-V, --version Print version
Just use rust-task to access today's notes file.
Use rust-task -p <n> to access a previous day's file where <n> is the number
of days back you want to go. If a file does not exist for that day, it will
default to the closest to that date. A value of 0 represents today's file.
Alternatively, use --date or -d to specify a date specifically. Preferably
in the format year-month-day, padding with zero is optional. However, if the
year, or, year and month are omitted they will be filled in with the current
date's year and month. For example, If the current date is 2024-2-30, the
string 4 will resolve to 2024-2-4, and 1-4 will resolve to 2024-1-4.
Specify a custom config location with -c, otherwise, it will scan for a config
in the locations specified in the config section. If no config
exists it will create one. To see what config is being loaded you can use -C.
To list your existing notes you can use -L. For a subset of these use
-l combined with -n to specify the number of files to list. This will be
the closest n files to the specified date, which is today by default. Specify
the target date using the -p as mentioned earlier
Config
The config should be located in the following locations:
~/.config/rusty_task.json~/.rusty_task.json$PWD/.rusty_task.json
If there is no config it will be created at ~/.config/rusty_task.json.
Example config:
{
"editor": "nano",
"sections": [
"Daily",
"Weekly",
"Monthly"
],
"notes_dir": "~/notes"
}
editoris the executable that will be launched to modify the notes filesectionsis a list of Sections that will be carried over from the previous day's notes- only uncompleted tasks are carried over
- You can use other sections for scratch space and other journaling tasks
notes_diris the directory that stores your daily notes- this could be set to your obsidian vault if you want it to work with all of your other notes (I recommend checking out obsidian.nvim if you want to interact with an obsidian vault in neovim)