taskwiki/README.md
2015-08-14 20:06:18 +02:00

4.7 KiB

Taskwiki

Proper project management in vim. Standing on the shoulders of vimwiki and Taskwarrior

Travis build status Coverage Status Code Health

     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 (the dev branch)

      git clone https://github.com/vimwiki/vimwiki ~/.vim/bundle/ --branch dev
    
  • Taskwarrior (version 2.4.0 or newer)

  • 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 adds color support in charts.

      git clone https://github.com/powerman/vim-plugin-AnsiEsc ~/.vim/bundle/
    
  • tagbar provides taskwiki file navigation.

      git clone https://github.com/majutsushi/tagbar ~/.vim/bundle/
    
  • vim-taskwarrior enables grid view.

      git clone https://github.com/farseer90718/vim-taskwarrior ~/.vim/bundle/
    

Features

  • ViewPorts: a vimwiki header with a task query (filter) embedded, generate a corresponding list of tasks. These tasks can be modified and changes will be synced back to task data. A ViewPort heading looks like this:
    == Project Foo Tasks | +PENDING project:foo | +bar pri:H ==
         title ^^^            filter ^^^             ^^^ user defaults

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:
* [ ] Install TaskWiki plugin

and when adding a new task, any other metadata can be added after "--" like

* [ ] test taskwiki todos and viewports -- proj:tw.wiki +foo due:tomorrow

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 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.

Contributing

Clone, fork, contribute and learn more at https://github.com/tbabej/taskwiki

Good ideas, well formed bug reports and thoughtful pull-requests welcome.