Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mtoohey31/taskmatter
A task management tool that stores tasks as markdown files with properties in their front-matter.
https://github.com/mtoohey31/taskmatter
cli frontmatter git markdown tasks todo
Last synced: about 1 month ago
JSON representation
A task management tool that stores tasks as markdown files with properties in their front-matter.
- Host: GitHub
- URL: https://github.com/mtoohey31/taskmatter
- Owner: mtoohey31
- License: apache-2.0
- Created: 2021-05-04T15:18:41.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-05-07T18:35:07.000Z (10 months ago)
- Last Synced: 2024-11-11T10:15:12.894Z (3 months ago)
- Topics: cli, frontmatter, git, markdown, tasks, todo
- Language: Python
- Homepage:
- Size: 51.8 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# taskmatter
A task management tool that stores tasks as markdown files with properties in their front-matter.
![screenshot](https://user-images.githubusercontent.com/36740602/149677423-c6cb4b8d-8098-4bfe-9ab1-ddb157708a0d.png)
## Installation
```sh
pip3 install git+https://github.com/mtoohey31/taskmatter.git#egg=taskmatter
```See [releases](https://github.com/mtoohey31/taskmatter/releases) for shell completion files.
## Task Properties
All task properties are stored under the `_tm` key in the markdown file's YAML front-matter, which includes an underscore in an attempt to indicate that the key should not be modified by other programs, using [Python's private variable syntax](https://docs.python.org/3/tutorial/classes.html#private-variables).
| Property | Significance | Data Type |
| --------- | ------------------------------------------ | --------- |
| `planned` | The date you plan to complete the task by. | String |
| `due` | The date on which the task is due. | String |
| `done` | Whether the task is finished | Boolean |## Commands
| Command | Abbreviation | Result |
| --------- | ------------ | ------------------------------------------------------- |
| `week` | `w` | List all tasks planned or due this week. |
| `month` | `m` | List all tasks planned or due this month. |
| `someday` | `s` | List all tasks with no planned or due date. |
| `add` | `a` | Add a new task with the specified name and properties. |
| `edit` | `e` | Edit the task(s) with the specified id or path. |
| `rename` | `r` | Rename the task with the specified id or path. |
| `delete` | `x` | Delete task(s) with the specified id or path as done. |
| `done` | `d` | Mark the task(s) with the specified id or path as done. |Note that `week` is the default subcommand, so when `taskmatter` is run with no arguments, it will behave identically to `taskmatter month`.
## Syncing
Tasks are structured as markdown files in specific directories on purpose so that git can be used to sync the tasks within an existing repository. As of now, the recommended syncing method is to manually manage a git repository of the folder where the tasks are stored.
## Suggestions
- Typing `taskmatter` every time is a bit much, so aliasing it to something shorter such as `tm` or `t` in your shell's startup file will likely speed up your workflow.
## Alternatives
Check out dstask and its [alternatives list](https://github.com/naggie/dstask#alternatives).