Markdown

Basics

Let's face it: Writing content for the Web is tiresome. WYSIWYG editors help alleviate this task, but they generally result in horrible code, or worse yet, ugly web pages.

Markdown is a better way to write HTML, without all the complexities and ugliness that usually accompanies it.

Some of the key benefits are:

  1. Markdown is simple to learn, with minimal extra characters so it's also quicker to write content.
  2. Less chance of errors when writing in markdown.
  3. Produces valid XHTML output.
  4. Keeps the content and the visual display separate, so you cannot mess up the look of your site.
  5. Write in any text editor or Markdown application you like.
  6. Markdown is a joy to use!

John Gruber, the author of Markdown, puts it like this:

The overriding design goal for Markdown’s formatting syntax is to make it as readable as possible. The idea is that a Markdown-formatted document should be publishable as-is, as plain text, without looking like it’s been marked up with tags or formatting instructions. While Markdown’s syntax has been influenced by several existing text-to-HTML filters, the single biggest source of inspiration for Markdown’s syntax is the format of plain text email. -- John Gruber

Grav ships with built-in support for Markdown and Markdown Extra. You must enable Markdown Extra in your system.yaml configuration file

Without further delay, let us go over the main elements of Markdown and what the resulting HTML looks like:

Bookmark this page for easy future reference!

Notices

Posted on 08/07/2025 12:27PM

We have four notice styles and they extend the standard markdown syntax for block quotes. Basically levels of 3 block quote or greater produce notices in 4 colors: Yellow >>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor odio non est accumsan facilisis. Ali...

Lists

Posted on 08/07/2025 12:27PM

Unordered A list of items in which the order of the items does not explicitly matter. You may use any of the following symbols to denote bullets for each list item: * valid bullet - valid bullet + valid bullet For example + Lorem ipsum dolor sit amet + Consectetur adipiscing elit + Integer...

Code

Posted on 08/07/2025 12:26PM

Inline code Wrap inline snippets of code with `. In this example, `` should be wrapped as **code**. Renders to: In this example, should be wrapped with code. HTML: In this example, <section></section> should be wrap...

Tables

Posted on 08/07/2025 12:26PM

Tables are created by adding pipes as dividers between each cell, and by adding a line of dashes (also separated by bars) beneath the header. Note that the pipes do not need to be vertically aligned. | Option | Description | | ------ | ----------- | | data | path to data files to supply the data...