[
Imdone is text based kanban processor with a simple syntax that uses comment tags like TODO and FIXME and todo.txt format. This model allows the user to create and modify tasks using the keyboard and automatically establishes a link between their tasks and work. Get imdone or use the cli to see your projects board and this library in action.
Imdone format
Imdone aims to keep you in the flow of your work while capturing tasks to be accomplished later. Most kanban tools require the user to use a UI. Imdone lets you capture tasks in a simple text format that has roots in programming comment tags like TODO and FIXME and todo.txt format.
Code Style
// TODO This is a task
// TODO: This is a task
// TODO:5 This is a task
// TODO: A task with a description looks like this.
// Every line after the task is part of the description until we find another
// task, a blank comment line, or a line of code
// - A list item
// - Another list item
Hash Style
#TODO: This is a task
#TODO:0 This is a task
#to-do:0 This is a task
<!--
#TODO: If you don't want your task to get converted to html in markdown files, put it in a comment.
You can still add descriptive text, but don't forget to leave a blank line
between the description and the comment end tag, or the comment end will become
a part of your description.
-->
Take a look at the source of this README.md. You'll probably find a few tasks in comments.
Markdown Style
[This is a task](#todo:)
[This is a task](#todo:10)
Task syntax
- Code style tasks will only be detected if the list name matches a string in the
code.include_lists
attribute in .imdone/config.yml
and the file extension exists in lib/languages.js. - List names in code style tasks must match this regular expression ([A-Z]+[A-Z-_]+?).
- Only code style tasks can be used in code files and must be in a line or block comment
- Code style tasks are only detected in comments for files with extensions listed in imdone-core/languages.js or the languages attribute in the
.imdone/config.yml
- In Hash and markdown style tasks list name can be any combination of upper and lower case letters, underscores and dashes
- In Hash and markdown style tasks the list name must be followed by a
:
and a number which determines sort order in the list
- Sort numbers can be reused, in which case tasks with the same sort number will be sorted alphabetically by text.
- Task text can have todo.txt formatting excluding the completion and priority markers.
- Task text can have markdown formatting
todo.txt syntax examples
Imdone uses todo.txt +project/tag @context and meta:data
Create date
#DOING:20 This task was created on 2018-02-09 created:2018-02-09
Completed date
#DOING:20 This task was completed on 2018-02-09 completed:2018-02-09
Due Date
#doing:20 This task is due on 2015-02-09 due:2015-02-09
Tags (todo.txt projects)
#doing:20 This task has a *madjs* tag +madjs
Context
#doing:20 This task has a *madjs* context @madjs
Metadata
#doing:20 This task has profile metadata profile:piascikj
Metadata links
- Tasks with metadata can be linked to external resources like other task mgmt systems and websites
- Add a
meta
attribute to .imdone/config.yml
- In this example
user:piascikj
would link to https://github.com/piascikj
"meta": {
"user": {
"urlTemplate": "https://github.com/%s",
"titleTemplate": "github profile for %s"
}
}
Events
- task.found
- task.deleted
- file.modified
- initialized
- file.processed
- file.update
- file.empty
- file.read
- file.reading
- files.found
- files.saved
- config.update
- list.found
- list.modified
- tasks.moved
- tasks.updated
- error
- config.loaded
Resources
License
MIT