Headers (markdown) as projects for automated outline creation [Screenshots]



I use Markdown a lot to jump between Taskpaper, FoldingText, Atom, Editorial (iOS), etc… I use plain text a lot.

Would it be possible to allow headers (## MyProject) to be recognized as Projects in Taskpaper?
This would help so the outline is automatically created in the sidebar, and much more.

Here is a quick picture showing FoldingText on the left, and Taskpaper on the right :

What would be ideal is if the markdown text on the top left could be rendered in taskpaper as seen on the bottom right (maybe keep the ### marks).

Moving the detection of the ‘Project’ syntax to the beginning of the header (instead of using colons) would allow to keep compatibility with FoldingText’s syntax with .todo (or .pomodoro or whatever else) that is required at the end of the line.

See below for the ideal implementation.

‘##’ Have been removed from the rendered text
No need for colons at the end of the line
Automatic outline detection and display in the sidebar

Does that sound reasonable?



I personally find it helpful to keep the two taxonomies quite distinct (perhaps a bit late in the day to start redefining the TaskPaper format ? Its strongest feature, for my purposes, happens to be its consistent use of tabs for nesting - I find the MD hash system a bit of a nuisance : - ) but there can, of course, be some friction in jumping between MD and TaskPaper.

Not difficult though, to write a fast MD ⇄ TP format converter which can act on clipboards or files – perhaps a cleaner approach ?


Not difficult, depends who has to do the work :slight_smile: I would not be able to.

You made me think : what I am suggesting is

  1. keep the current syntax
    • allow the use of hashtags as an alternative to define projects
  2. & allow .todo/.pomodoro to be added after the colon without messing up with Taskpaper’s detection of a project name (line is project name only if ended by colon or last word after colon starts with a dot character)


Sorry I don’t think this is likely. Instead I think it’s better to do this sort of thing with a script. TaskPaper is intended to be (and stay) supper simple with just a few syntax rules.


You could do a one-off conversion of those “Markdown” headings (actually atx-style headings; Markdown uses two heading types, neither of which are its own; the other one, with dash or equals-sign underlines, are setext-style) using my TaskPaperRuby package.

require_relative 'path/to/your/TaskPaperRuby/installation/src/taskpaperdocument'

TaskPaperItem.convert_atx_headings = true
doc = TaskPaperDocument.open("~/Desktop/test.taskpaper")


Hey Matt,
thanks for the tip.