Card Editor

The built in card editor is a simple text editor that allows you to edit or create cards in markdown.

When creating a new card using the editor there is no need to add the #TODO prefix. Imdone will add it for you.

Tags

A tag is just a #, followed by word characters (e.g. #feature #r1.2). Tags are displayed at the bottom of your cards in green. When you click on a tag, imdone will filter your project board by that tag.

#DOING This is a fake bug
#bug #1.4.2 #urgent

Contexts

A context tag is just a @, followed by word characters (e.g. @email @meeting). Contexts are displayed at the bottom of your cards in blue. When you click on a context, imdone will filter your project board by that context.

#DOING This is a fake bug
@infra #bug #1.4.2 #urgent

Metadata

You can add metadata to cards for filtering and display. Imdone also uses metadata to modify behavior of a card (e.g. expand:1). Metadata should be in the form key:value or key:"value".

#DOING This is a fake bug
<!--
created:01202020
#1.4.2 #ignore
-->

Due dates

Adding due dates and times to your cards is super simple. Just add a sentence that begins with the word “Due” and ends in a period. For example Due tomorrow at 3pm.. When saved, this gets converted to the metadata due:2020-01-20T22:00:00.000Z. Cards with due dates have a yellow or red tag at the bottom with a plain english representation of the due date. The tag is yellow if the due date is in the future and red if the due date is in the past.

Reminders

You can set reminders just like you set due dates. Just add a sentence that begins with the word “Remind” and ends in a period. For example Remind in 4 hours.. When saved, this gets converted to the metadata remind:2020-01-20T22:00:00.000Z. Cards with reminders have a blue tag at the bottom with a plain english representation of the reminder date.

Deferring cards

You can defer cards just like you set due dates. Just add a sentence that begins with the word “Defer” and ends in a period. For example Defer until tomorrow.. When saved, this gets converted to the metadata defer:2020-01-20T22:00:00.000Z. Cards with defer dates have a gray tag at the bottom with a plain english representation of the defer date.

Show deferred cards with filter: defer = /.*/ and defer > "{{meta.now}}" Hide deferred cards with filter: defer != /.*/ or defer < "{{meta.now}}"

Kudos metadata

Add kudos:true to a card to celebrate a job well done when the card is completed.

Expand metadata

You can add expand:true to a card to make it expanded by default. This is useful for cards with a lot of content.

Progress Bar

If you have GFM task list items in your cards, imdone will add a progress bar to the top of your card.

String interpolation

Imdone will interpolate javascript expressions in cards when surrounded by double curly braces. e.g. {{ }}. Default props and extension properties can be used in expressions. Use ${<prop or computed>} for permanent translation and {{<prop or computed>}} for display only.

Default props available for string interpolation

Name Description
allContext Context declared in the card and file front-matter
allMeta Metadata declared in the card and file
allTags Tags declared in the card and file front-matter
clearFilterURL The URL to clear the current filter
completed If a meta completed date is set, this is the completed date in ISO format
content The content of the card before string interpolation
context The card contexts (e.g. @email @phone would be email, phone)
created If a meta created date is set, this is the created date in ISO format
date The date in ISO format
description An Array of lines occuring after the card in it’s source file
due If a meta due date is set, this is the date due in ISO format
fullPath The path to the card’s source file
getFilterURL(filter) get a filter url for a filter
getFilterLink(filter) get a filter markdown link with the filter as link text
interpretedContent The content of the card after string interpolation
line The line number where the card is located in it’s source file
lastLine The last line of the card in source
list The name of the list the card is in
meta The card metadata (e.g. name:Jesse and {{meta.name}} in the card content would display Jesse.)
progress.completed Number of completed subtasks
progress.total Total number of subtasks
projectPath The path to the project
relPath The path to the card’s source file, relative to the projectPath
source.createdTime The createdTime of the source file in ISO format
source.ext The source file extension
source.modifiedTime The modifiedTime of the source file in ISO format
source.path The path to the card’s source file, relative to your project path
source.repoId The file system path to your project
tags The card tags (e.g. +feature would be feature)
template_ All files in .imdone/templates and .github will be added as a property here. e.g. template_dod would be the contents of .imdone/templates/dod.md
template_simple A simple template for cards
text The first line of markdown in a card
timestamp The timestamp of the card in ISO-8601 format
totals An object containing the total number of cards in each list. e.g. totals.DOING = 2 means there are 2 cards in DOING

Hiding String Interpolation

You can hide lines with {{ }} string interpolation from rendered markdown by wrapping them in <!--[ ]-->.

<!--[ Created: {{(new Date(source.createdTime)).toLocaleString()}} ]-->

This will display in imdone, but not in html rendered from your markdown.

Comments

You can leave a comment in your cards in two ways.

<!--
This is a comment that will appear in html output
-->

%%
This is a comment that will not appear in html output (obsidian flavored)
%%

Expanding Cards

Imdone truncates your cards at seven lines. If a card has been truncated, you can expand it by clicking the expand icon at the bottom of the card. Cards can be expanded by default by adding the expand:true metadata.

Markdown support

Use Markdown anywhere in your TODO comments and descriptions to enhance card formatting in your project board.

Markdown Task Lists

Sometimes you need sub-tasks in your cards. Imdone supports github style task lists. Checking a task in your card will update the source with an x. e.g. - [x] sub-task

Highlight text

You can highlight text using ==Highlighted text==

Emoji