I make notes in textual format, for example:

## TODO list
1. do this
2. do that

1. do this
2. do that 

Are there tools to change this text into HTML or LaTeX format? I find Sphinx, as it's for Python code formatting. It would be great there's a tool for more general text formatting.


It is nearly eight years since I wrote the answer below, I no longer use Grutatxt and now almost exclusively use MultiMarkdown, which adds a number of useful extensions to Markdown - the extended feature I use most is tables.

There are a number of extensions to Markdown which are not 100% compatible but which can be used almost interchangeably if you take care to use a common subset of features

  • MultiMarkdown
  • Github-flavored Markdown
  • PHP Markdown Extra

There is good support for supersets of Markdown in many applications and languages. I've used PHP, Perl and Go (golang) support for extended Markdown

There are many desktop and mobile apps that support Markdown editing with live previews etc. I still use a plain-text editor though.

I personally don't use Pandoc but I believe it is well-maintained and probably the most versatile lightweight markup processor. It should be on anyone's shortlist.

I suggest starting by looking at Markdown, Textile and Grutatxt. But there are many:

List of plain-text markup and tools

Other lists


I like Grutatxt because it seems to me to be nearest to unadorned plain text and so the plain text is very readable. I use GrutaTxt to generate HTML and PDF (via LaTeX) It handles tables quite well which Markdown doesn't so far as I know. I have a Perl script to add a table of contents and plug in a CSS stylesheet. I use recode to convert character encodings to UTF8. I have all this in a simple makefile so I can just edit the text file and type make to publish it as a web page (and PDF simultaneously).

Comparison of markup for GrutaTxt, ASCIIDOC and APT

NL = new line, SP = space character(s)

  Markdown      Title NL =====
  Grutatxt      Title NL =====
  ASCIIDOC      Title NL =====
  APT           --- NL Title NL --- NL Author NL --- NL Date

  Markdown      Head NL ====   or # Head #
  Grutatxt      Head NL ====
  ASCIIDOC      Head NL ----   or   == Head
  APT           * Head

  Markdown      Head NL ----   or ## Head ##
  Grutatxt      Head NL ----
  ASCIIDOC      Head NL ~~~~   or   === Head
  APT           ** Head

  Markdown      ### Head ###
  Grutatxt      Head NL ~~~~
  ASCIIDOC      head NL ^^^^   or   ==== Head
  APT           *** Head

  Markdown      -
  Grutatxt      -
  ASCIIDOC      Head NL ++++   or   ===== Head
  APT           **** Head       

  Markdown      **word**
  Grutatxt      *word*
  ASCIIDOC      .word
  APT           <<word>>

  Markdown      *word*
  Grutatxt      _word_
  ASCIIDOC      -
  APT           <word>

  Markdown      `words`
  Grutatxt      `words'
  ASCIIDOC      `words`
  APT           <<<words>>>

Line Break
  Markdown      words SP SP NL
  Grutatxt      -
  ASCIIDOC      -
  APT           words \ NL words

Non breaking space
  Markdown      -
  Grutatxt      -
  ASCIIDOC      -
  APT           word\ word

  Markdown      -
  Grutatxt      -
  ASCIIDOC      -
  APT           ~~ comments

  Markdown      [name](http://a.b.c)
  Grutatxt      http://a.b.c(name)
  ASCIIDOC      <<a.b.c, name>>
  APT           http://a.b.c

  Markdown      -
  Grutatxt      -
  ASCIIDOC      [[name]]
  APT           {name}

Unordered List
  Markdown      SP SP - words
  Grutatxt      SP * words
  ASCIIDOC      SP - words
  APT           SP * words

Ordered List
  Markdown      SP SP 1. words
  Grutatxt      SP # words
  ASCIIDOC      -
  APT           [[1]] words

  Markdown      -
  Grutatxt      SP * term: definition
  ASCIIDOC      term:: NL definition
  APT           [term] definition

  Markdown      -
  Grutatxt      +---+---+
                | a | b |
  ASCIIDOC      ~~~~~
  APT           *---*---+---:

  Markdown      ![alt](http://a.b.c.png)
  Grutatxt      << NL <img src="cow.jpg" /> NL >>
  ASCIIDOC      -
  APT           [cow.jpg] caption

  Markdown      SP SP SP SP words    or <pre> NL words NL </pre>
  Grutatxt      SP words
  ASCIIDOC      SP words
  APT           --- NL words NL ---

Horizontal Rule
  Markdown      NL ------ NL      
  Grutatxt      ____
  ASCIIDOC      -
  APT           ====

  Markdown      -
  Grutatxt      ``words
  ASCIIDOC      -
  APT           -
  • reStructuredText are most featured test formating project. PDF/HTML/slides. TOC, offline indexes, printed books. Can be converted to any other format by Pandoc. Just don't use weak Markdown formating...
    – gavenkoa
    Nov 14 '12 at 9:56

Another format is Textile. Markdown is more or less comme il faut.


Org-mode looks ideal.

Your markup is already very similar, and org-mode has many output formats including those matching your requirements.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.