Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/a/dela
CLI to list markdown todos
https://github.com/a/dela
cli markdown obsidian obsidian-md task-manager todo
Last synced: about 2 months ago
JSON representation
CLI to list markdown todos
- Host: GitHub
- URL: https://github.com/a/dela
- Owner: A
- Created: 2023-07-10T15:18:54.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-11-15T08:01:10.000Z (about 1 year ago)
- Last Synced: 2024-04-14T20:16:01.380Z (8 months ago)
- Topics: cli, markdown, obsidian, obsidian-md, task-manager, todo
- Language: Python
- Homepage:
- Size: 4.63 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Dela
![dela](./imgs/dela.png)
### Installation
```
pip install --user dela
```### Features
- Getting all todos against a markdown files collection
- Dates support
- Tags support
- Flexible filters
- Flexible Sorting
- Frontmatter support### Examples
```bash
dela list # By default prints all todos with [~], [n] and [ ] checkboxes
dela list -s=' ,s' # prints todos only with statuses [ ] and [s]
dela list --today # prints only todos with default statuses with a date equal or earliear then today
dela list -t=#tag # prints only todos that have tag #tag
dela list -u -s='~,n, ,s' #prints todos with given status including upcoming ones
```### Help
```
CLI to list todos from markdown files and obsidian vaults.Usage:
dela -h | --help
dela --version
dela list [-v] [--today|--upcoming] [--all|--statuses=] [--tags=] [--sort_by=] [--format=] []Options:
-h --help Show this screen
-v --verbose Enable logging
--version Show version.-s= --statuses= Filter by status [default: ~,n, ]
-t= --tags= Filter by tag (#work, #home, etc)--today Show only tasks due today or earlier
-u --upcoming Show future tasks
-a --all Show all todos--sort_by= Sort by given key or comma-separated keys
--format= Format result with given template string.
Todo statuses:
Todo status is a symbol placed in the square buckets ([x], [ ], [~], etc). You can use
whatever you want, `dela` doesn't have eny presets, except default `--status=~,n, `,
which you can overwrite.Upcoming Tasks:
If a task has a date in future, it's hidden by default. To see such tasks in the output,
add the `--upcoming` flag.Sorting:
By default todos are sorted by `--status` value according to the order of given statuses,
and then by date to place todos with dates to the top of the list (due date sounds important,
right?). You can sort todos by passing an attribute name to the `--sort_by` flag.
Possible values are:- title
- date
- status
- tags
- fileFormatting output:
You can use your own template with the `--format` flag. Unicode colors are supported:
For example:
dela list --format='- [$status] $file: $title'
Next variables are supported:
- $title
- $date
- $status
- $tags
- $file
- $lineFrontmatter Support:
You can use frontmatter to override file-level todo states, it can be useful in the next cases:
- Automatically consider all todos in `todos_done.md` as done
- To set `date` as `today` automatically if a todo is placed in `today.md`
- To automatically set per-file tagsTo achieve this, you can add a frontmatter in a manner like below:
```
---
dela:
date: today # it's a specific keyword. Standard dates in a YYYYmmdd format also supported
status: 'x' # override status for all todos in the file
tags: # append per-file tags
- per_file_tag
---
```
```