mirror of
https://github.com/tbabej/taskwiki.git
synced 2025-08-23 02:23:07 +02:00
165 lines
5.4 KiB
Markdown
165 lines
5.4 KiB
Markdown
## Taskwiki
|
|
|
|
_Proper project management in vim.
|
|
Standing on the shoulders of vimwiki and Taskwarrior_
|
|
|
|
[](https://travis-ci.org/tbabej/taskwiki)
|
|
[](https://coveralls.io/r/tbabej/taskwiki?branch=master)
|
|
[](https://landscape.io/github/tbabej/taskwiki/master)
|
|
|
|
a |_ _|_ _ ___| | _\ \ / (_) | _(_) a ~
|
|
command-line | |/ _` / __| |/ /\ \ /\ / /| | |/ / | personal wiki ~
|
|
todo list | | (_| \__ \ < \ V V / | | <| | for vim ~
|
|
|_|\__,_|___/_|\_\ \_/\_/ |_|_|\_\_| ~
|
|
|
|
### Installation
|
|
|
|
#### Make sure you satisfy the requirements
|
|
|
|
* Vim 7.4 or newer, compiled with +python
|
|
* [Vimwiki](https://github.com/vimwiki/vimwiki/tree/dev) (the dev branch)
|
|
|
|
git clone https://github.com/vimwiki/vimwiki ~/.vim/bundle/ --branch dev
|
|
|
|
* [Taskwarrior](http://taskwarrior.org) (version 2.4.0 or newer)
|
|
- install either from [sources](http://taskwarrior.org/download/)
|
|
or using your [package manager](http://taskwarrior.org/download/#dist)
|
|
|
|
sudo dnf install task
|
|
|
|
* [tasklib](https://github.com/tbabej/tasklib/tree/develop) (the develop branch)
|
|
- Python library for Taskwarrior.
|
|
|
|
sudo pip install --upgrade git+git://github.com/tbabej/tasklib@develop
|
|
|
|
#### Install taskwiki
|
|
|
|
Using pathogen (or similiar vim plugin manager), the taskwiki install is
|
|
as simple as:
|
|
|
|
git clone https://github.com/tbabej/taskwiki ~/.vim/bundle/taskwiki
|
|
|
|
However, make sure your box satisfies the requirements stated above.
|
|
|
|
#### Optional enhancements
|
|
|
|
The following optional plugins enhance and integrate with TaskWiki.
|
|
At very least,I'd recommend the AnsiEsc plugin - Taskwarrior
|
|
charts are much more fun when they're colorful!
|
|
|
|
* [vim-plugin-AnsiEsc](https://github.com/powerman/vim-plugin-AnsiEsc)
|
|
adds color support in charts.
|
|
|
|
git clone https://github.com/powerman/vim-plugin-AnsiEsc ~/.vim/bundle/
|
|
|
|
* [tagbar](https://github.com/majutsushi/tagbar)
|
|
provides taskwiki file navigation.
|
|
|
|
git clone https://github.com/majutsushi/tagbar ~/.vim/bundle/
|
|
|
|
* [vim-taskwarrior](https://github.com/farseer90718/vim-taskwarrior)
|
|
enables grid view.
|
|
|
|
git clone https://github.com/farseer90718/vim-taskwarrior ~/.vim/bundle/
|
|
|
|
### How it works
|
|
|
|
Taskwiki enhances simple vimwiki task lists by storing the task metadata in
|
|
Taskwarrior. Taskwarrior uses plaintext data files as a backend, and taskwiki
|
|
uses Taskwarrior as a backend. This allows taskwiki to leverage its powerful
|
|
features, such as filtering, recurrent tasks, user defined attributes or hooks.
|
|
|
|
### Features
|
|
|
|
#### Individual tasks
|
|
|
|
* [ ] Install Taskwiki
|
|
|
|
Such tasks get synced to TaskWarrior when the file is saved. Additional
|
|
metadata, as project, tags, priority, can be stored with this task.
|
|
|
|
Some of that metadata gets visually represented in vim, and is updated
|
|
if the representation changes in vim.
|
|
|
|
* [ ] Install Taskwiki !!! (2015-08-23 19:00)
|
|
|
|
#### Task lists
|
|
|
|
Tasks can be grouped - simply written in one block. This has the advantage
|
|
of any child tasks being marked as dependencies of the parent tasks.
|
|
|
|
* [ ] Get married
|
|
* [ ] Find a girlfriend
|
|
* [ ] Buy a ring
|
|
* [ ] Propose
|
|
|
|
<pre>
|
|
== Project Foo Tasks | +PENDING project:foo | +bar pri:H ==
|
|
title ^^^ filter ^^^ ^^^ user defaults
|
|
</pre>
|
|
title can be any text, and the filter elements are concealed in normal mode.
|
|
|
|
- Individual Todos: tasks can be used anywhere in a vimwiki, looking like:
|
|
|
|
<pre>
|
|
* [ ] Install TaskWiki plugin
|
|
</pre>
|
|
|
|
and when adding a new task, any other metadata can be added after "--" like
|
|
|
|
<pre>
|
|
* [ ] test taskwiki todos and viewports -- proj:tw.wiki +foo due:tomorrow
|
|
</pre>
|
|
|
|
and the task will be synced with the task data on saving. After syncing,
|
|
all tasks end with a concealed uuid (eg. #541c5b57) don't edit this!
|
|
|
|
- Task Info: hitting <CR> with the cursor over a task shows all task info.
|
|
|
|
- Reports: burndown, calendar, history, projects, summary, stats and tags
|
|
reports can all be invoked, opening in a split window.
|
|
|
|
- Grid view: the TaskWikiGrid command will open a new buffer with a grid
|
|
view of task details, of the nearest ViewPort (using vim-taskwarrior)
|
|
|
|
- Back-links: The command TaskWikiLink will add an annotation to the selected
|
|
task(s) with the ~/path/to/file.wiki
|
|
|
|
- Tests: TaskWiki is well tested in development to ensure data integrity.
|
|
**DISCLAIMER** This is free software, it comes with absolutely NO
|
|
warranty and no promise of fitness for any purpose! (back up your data!)
|
|
|
|
### Commands
|
|
* TaskWikiBurndown(Daily, Monthly, Weekly)
|
|
* TaskWikiCalendar
|
|
* TaskWikiChooseProject
|
|
* TaskWikiChooseTag
|
|
* TaskWikiDelete
|
|
* TaskWikiGhistory(Annual, Monthly)
|
|
* TaskWikiHistory(Annual, Monthly)
|
|
* TaskWikiInfo
|
|
* TaskWikiInspect
|
|
* TaskWikiLink
|
|
* TaskWikiMod
|
|
* TaskWikiProjects
|
|
* TaskWikiProjectsSummary
|
|
* TaskWikiStart
|
|
* TaskWikiStats
|
|
* TaskWikiStop
|
|
* TaskWikiTags
|
|
|
|
see more in doc/taskwiki.txt. After installing, run :helptags and then :he taskwiki
|
|
|
|
### Credits
|
|
|
|
Authored by Tomas Babej
|
|
|
|
Inspired by [vimwiki-tasks plugin](https://github.com/teranex/vimwiki-tasks).
|
|
|
|
### Contributing
|
|
|
|
Clone, fork, contribute and learn more at https://github.com/tbabej/taskwiki
|
|
|
|
Good ideas, well formed bug reports and thoughtful pull-requests welcome.
|
|
|
|
|