Parakeet: Markup Languages

A markup language is how the content of a page is authored. HTML is the markup language understood by browsers but can be somewhat awkward to write in. Parakeet supports two alternative lightweight markup languages which are easier for humans to write. Parakeet transforms these lightweight languages into HTML.

Parakeet currently supports two markup languges: Peanut and Markdown.


Peanut is my own attempt at a lightweight markup language. Peanut is the default markup language for .page files.

See: Peanut documentaion.


Markdown is a popular lightweight markup language used in many systems. The general idea is that the imput is formatted the same way it would be to make a plain text file, readable. For example:


* Bulleted list item 1
* Bulleted list item 2
* Bulleted list item 3

Markdown isn’t a fixed standard and there have been many variants that expand on the basic idea. The interpreter used in Parakeet is MultiMarkdown. For more on how to write in Multimarkdown you should read the external user guide or cheat sheet.

The following MultiMarkdown behaviours are supported by Parakeet:

  • Basic text processing
  • Lists
  • Images
  • Tables
  • Blockquotes
  • Footnotes and citations

To write a Markdown file you can either:

  1. Create the file with a .md (or .markdown) file directly
  2. Create a page file and specify the body markup is Markdown (Recommended)

To set the markup in a .page file you can add a markup: markdown line to the header, or set the following in the content config:

  markup = markdown

You can also set this at a higher config level, including the site configuration, to make it a site default for multiple pages.

Even in Markdown mode you have access to the enhanced elements in Peanut such as image, info and warning. This makes Parakeet-Markdown a subset and a superset of MuiltiMarkdown.