---
title: "Markdown"
source: https://dev.pageseeder.com/reference/glossary/markdown.html
description: "Markdown is a lightweight formatting language supported by PageSeeder in comments and document properties. It enables users to create HTML or XML without technical expertise using simple syntax for headings, lists, quotes, and inline formatting."
last_updated: 2026-09-08T13:37:47+10:00
tokens: ~1039
---

# Markdown

A simple, lightweight, readable, formatting language, markdown allows users with minimal instruction, or experience to create basic HTML or XML data without understanding the complexities of either.

PageSeeder supports Markdown in both [comments](/reference/glossary/comment_format.md) and [document properties](/psml/elements/element_property.md).

> **Note:** In the following examples, a full stop character "`.`" is used to represent the space character.

## Block formatting

| Style | Pattern | Description |
| --- | --- | --- |
| Title | `Main title` `==========` | Title is formatted as "`heading1`" when a paragraph is followed by a line of "`=`" characters. |
| Subtitle | `A subtitle` `----------` | Subtitle is formatted as "`heading2`" when a paragraph is followed by a line of "`-`" characters. |
| Heading | `# Heading 1` `## Heading 2` `more text` `###### Heading 6` | To express a hierarchical collection of headings, prefix single line paragraphs with between one "`#`" to six "`######`" characters. |
| Unordered list (bullet list) | `* Red` `* Blue` `Aqua` | Unordered list items are paragraphs that start with a single "`*`", "`-`" or "`+`". All paragraphs that follow the list item are treated as additional items, until a blank line terminates the list. Nested (multi-level) lists are not supported. |
| Ordered list (Numbered list) | `3. Red` `21. Blue` `Aqua` after processing, this becomes: RedBlueAqua or: \<nlist start="3"\> \<item\>Red\</item\> \<item\>Blue\</item\> \<item\>Aqua\</item\> \</nlist\> | Ordered list items are initiated by a new paragraph that begins with a digit and a full stop "`.`" character. Each subsequent paragraph becomes a new list item, until a blank line terminates the list. Nested (multi-level) lists are not supported. Only the number in front of the first paragraph is processed. It sets the starting number and all others are ignored. To prevent a line from being treated as a list item, escape the full stop character with a backslash "`\`" , like the following: 3\\. Red 21\\. Blue Aqua |
| Preformatted | ....function () \{ ......// do something! ....\} | Putting at least four spaces at the start of a line preserves indentation, but no further formatting is available. |
| Preformatted block | \`\`\` function () \{ // do something! \} \`\`\` | This string "`\`\`\``" on an empty line treats all subsequent lines as preformatted until the same string terminates that style. |
| Blockquote | `> First paragraph` `>` `> Second paragraph.` | Any line preceded by at least one "`>`". No other formatting within quoted content. |
| Paragraph | `Start of paragraph 1` `text text text...` `end of paragraph 1.` `Paragraph 2.` | Paragraphs are blocks of text separated by at least one empty line. |
| Line breaks | `Short text.` `More text.` | Any line of less than 66 characters long inserts a line break inside a paragraph. Multiple empty lines also add line breaks outside paragraphs. |

## Inline formatting

Inline formatting only applies to paragraphs, headings and lists.

| Style | Pattern | Description |
| --- | --- | --- |
| Bold | `An **important** note` | Any inline text surrounded by double "`*`" appears in bold. |
| Italic | `An *important* note` | Any inline text surrounded by single "`*`" appears in italics. |
| Code | `\`a+b=c\`` | Any inline text surrounded by single left quotes "`\``" is interpreted as code and displayed using a monospace font. |
| Autolink | At `http://example.org`! | Any text starting with "`http://`" or "`https://`" automatically turns into a link. The link display is verbatim, but `must end with a letter or number.` |
| `Explicit link` | `<mailto:support@example.org> <http://www.example.org>` | Explicitly creating a link that includes characters to be escaped, or an email addresses. **Must** start with "`<http://`", "`<https://`" or  "`<mailto:`" and end with "`>`". The protocol is not displayed in the document. |
| Titled link | `[PageSeeder]​​(http://ps.com)` | To display a title rather than the content of the link, wrap the title text in square brackets immediately before wrapping the link address in round brackets. |

