Nearly all Markdown parsers support the basic syntax outlined in the original Markdown design document. There are minor variations and discrepancies between Markdown processors — those are noted inline wherever possible.
Olodoc uses the parsedown-extra php package when parsing your .md files.
To create a heading, add number signs (#) in front of a word or phrase. The number of number signs you use should correspond to the heading level. For example, to create a heading level three (h3), use three number signs (e.g., ### My Header).
Markdown | HTML | Rendered Output |
---|---|---|
# Heading level 1 |
<h1>Heading level 1</h1> |
Heading level 1 |
## Heading level 2 |
<h2>Heading level 2</h2> |
Heading level 2 |
### Heading level 3 |
<h3>Heading level 3</h3> |
Heading level 3 |
#### Heading level 4 |
<h4>Heading level 4</h4> |
Heading level 4 |
##### Heading level 5 |
<h5>Heading level 5</h5> |
Heading level 5 |
###### Heading level 6 |
<h6>Heading level 6</h6> |
Heading level 6 |
To create paragraphs, use a blank line to separate one or more lines of text.
If you need to indent paragraphs in the output, see the section on how to indent (tab).
Markdown | HTML | Rendered Output |
---|---|---|
I really like using Markdown.
|
<p>I really like using Markdown.</p>
|
I really like using Markdown. I think I'll use it to format all of my documents from now on. |
To create a line break or new line (<br>), end a line with two or more spaces, and then type return.
Markdown | HTML | Rendered Output |
---|---|---|
This is the first line.
|
<p>This is the first line.<br>
|
This is the first line. |
You can add emphasis by making text bold or italic.
To bold text, add two asterisks or underscores before and after a word or phrase. To bold the middle of a word for emphasis, add two asterisks without spaces around the letters.
Markdown | HTML | Rendered Output |
---|---|---|
I just love **bold text**. |
I just love <strong>bold text</strong>. |
I just love bold text. |
I just love __bold text__. |
I just love <strong>bold text</strong>. |
I just love bold text. |
Love**is**bold | Love<strong>is</strong>bold |
Loveisbold |
To italicize text, add one asterisk or underscore before and after a word or phrase. To italicize the middle of a word for emphasis, add one asterisk without spaces around the letters.
Markdown | HTML | Rendered Output |
---|---|---|
Italicized text is the *cat's meow*. |
Italicized text is the <em>cat's meow</em>. |
Italicized text is the cat’s meow. |
Italicized text is the _cat's meow_. |
Italicized text is the <em>cat's meow</em>. |
Italicized text is the cat’s meow. |
A*cat*meow |
A<em>cat</em>meow |
Acatmeow |
Markdown | HTML | Rendered Output |
---|---|---|
This text is ***really important***. |
This text is <em><strong>really important</strong></em>. |
This text is really important. |
This text is ___really important___. |
This text is <em><strong>really important</strong></em>. |
This text is really important. |
This text is __*really important*__. |
This text is <em><strong>really important</strong></em>. |
This text is really important. |
This text is **_really important_**. |
This text is <em><strong>really important</strong></em>. |
This text is really important. |
This is really***very***important text. |
This is really<em><strong>very</strong></em>important text. |
This is reallyveryimportant text. |
To create a blockquote, add a > in front of a paragraph.
> Dorothy followed her through many of the beautiful rooms in her castle.
The rendered output looks like this:
Dorothy followed her through many of the beautiful rooms in her castle.
Blockquotes can contain multiple paragraphs. Add a > on the blank lines between the paragraphs.
> Dorothy followed her through many of the beautiful rooms in her castle.
>
> The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood.
The rendered output looks like this:
Dorothy followed her through many of the beautiful rooms in her castle.
The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood.
Blockquotes can be nested. Add a >> in front of the paragraph you want to nest.
> Dorothy followed her through many of the beautiful rooms in her castle.
>
>> The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood.
The rendered output looks like this:
Dorothy followed her through many of the beautiful rooms in her castle.
The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood.
Blockquotes can contain other Markdown formatted elements. Not all elements can be used — you’ll need to experiment to see which ones work.
> #### The quarterly results look great!
>
> - Revenue was off the chart.
> - Profits were higher than ever.
>
> *Everything* is going according to **plan**.
The rendered output looks like this:
The quarterly results look great!
- Revenue was off the chart.
Profits were higher than ever.
Everything is going according to plan.
You can organize items into ordered and unordered lists.
To create an ordered list, add line items with numbers followed by periods. The numbers don’t have to be in numerical order, but the list should start with the number one.
Markdown | HTML | Rendered Output |
---|---|---|
1. First item
|
<ol>
|
|
1. First item
|
<ol>
|
|
1. First item
|
<ol>
|
|
1. First item
|
<ol>
|
|
To create an unordered list, add dashes (-), asterisks (*), or plus signs (+) in front of line items. Indent one or more items to create a nested list.
Markdown | HTML | Rendered Output |
---|---|---|
- First item
|
<ul>
|
|
* First item
|
<ul>
|
|
+ First item
|
<ul>
|
|
- First item
|
<ul>
|
|
If you need to start an unordered list item with a number followed by a period, you can use a backslash () to escape the period.
Markdown | HTML | Rendered Output |
---|---|---|
- 1968\. A great year!
|
<ul>
|
|
To add another element in a list while preserving the continuity of the list, indent the element four spaces or one tab, as shown in the following examples.
* This is the first list item.
* Here's the second list item.
I need to add another paragraph below the second list item.
* And here's the third list item.
The rendered output looks like this:
This is the first list item.
Here's the second list item.
I need to add another paragraph below the second list item.
And here's the third list item.
* This is the first list item.
* Here's the second list item.
> A blockquote would look great below the second list item.
* And here's the third list item.
The rendered output looks like this:
The rendered output looks like this:
This is the first list item.
Here's the second list item.
A blockquote would look great below the second list item.
And here's the third list item. The rendered output looks like this:
For code blocks, use 3 times backtick (`). When they are in a list, indent them eight spaces or two tabs.
Open the file.
Find the following code block on line 21:
```html
<html>
<head>
<title>Test</title>
</head>
```
Update the title to match the name of your website.
The rendered output looks like this:
Open the file.
Find the following code block on line 21:
<html>
<head>
<title>Test</title>
</head>
Update the title to match the name of your website.
1. Open the file containing the Linux mascot.
2. Marvel at its beauty.
![Tux, the Linux mascot](/images/tux.png)
3. Close the file.
The rendered output looks like this:
Open the file containing the Linux mascot.
Marvel at its beauty.
Close the file.
You can nest an unordered list in an ordered list, or vice versa.
1. First item
2. Second item
3. Third item
- Indented item
- Indented item
4. Fourth item
The rendered output looks like this:
To create a horizontal rule, use three or more asterisks (***), dashes (---), or underscores (___) on a line by themselves.
***
---
_________________
The rendered output of all three looks identical:
To create a link, enclose the link text in brackets (e.g., [Duck Duck Go]) and then follow it immediately with the URL in parentheses (e.g., (https://duckduckgo.com)).
My favorite search engine is [Duck Duck Go](https://duckduckgo.com).
The rendered output looks like this:
My favorite search engine is Duck Duck Go.
Note
To link to an element on the same page, see linking to heading IDs. To create a link that opens in a new tab or window, see the section on link targets.
You can optionally add a title for a link. This will appear as a tooltip when the user hovers over the link. To add a title, enclose it in quotation marks after the URL.
My favorite search engine is [Duck Duck Go](https://duckduckgo.com "The best search engine for privacy").
The rendered output looks like this:
My favorite search engine is Duck Duck Go.
[You can use numbers for reference-style link definitions][1]
If your relative link contains folders you can write it like below.
[link text](subfolder/subsubfolder/relevantfolder/)
If the desired file is not in any folder or subfolder the link is simply:
[link text](README.md)
Welcome to the demo of Parsedown Extra [^1]:
[^1]: [Parsedown Extra](https://github.com/erusev/parsedown-extra) is an extension of [Parsedown](/) that adds support for [Markdown Extra](https://michelf.ca/projects/php-markdown/extra/).
The rendered output looks like this:
Welcome to the demo of Parsedown Extra 1:
To add an image, add an exclamation mark (!), followed by alt text in brackets, and the path or URL to the image asset in parentheses. You can optionally add a title in quotation marks after the path or URL.
![Tux, the Linux mascot](/images/tux.png)
The rendered output looks like this:
To add a link to an image, enclose the Markdown for the image in brackets, and then add the link in parentheses.
[![Tux, the Linux mascot](/images/tux.png "Tux, the Linux mascot")](https://en.wikipedia.org/wiki/Tux_(mascot))
The rendered output looks like this:
To display a literal character that would otherwise be used to format text in a Markdown document, add a backslash () in front of the character.
With backslash the rendered output looks like this:
\* Without the backslash, this would be a bullet in an unordered list.
You can use a backslash to escape the following characters.
Character | Name |
---|---|
\ | backslash |
` | backtick |
* | asterisk |
_ | underscore |
{ } | curly braces |
[ ] | brackets |
< > | angle brackets |
( ) | parentheses |
# | pound sign |
+ | plus sign |
- | minus sign (hyphen) |
. | dot |
! | exclamation mark |
| | pipe |
Many Markdown parsers allow you to use HTML tags in Markdown-formatted text. This is helpful if you prefer certain HTML tags to Markdown syntax. For example, some people find it easier to use HTML tags for images. Using HTML is also helpful when you need to change the attributes of an element, like specifying the color of text or changing the width of an image.
To use HTML, place the tags in the text of your Markdown-formatted file.
This **word** is bold. This <em>word</em> is italic.
The rendered output looks like this:
This word is bold. This word is italic.
You can also use anchor tags.
My favorite search engine is <a href="https://duckduckgo.com" target="_blank">Duck Duck Go</a>.
The rendered output looks like this:
My favorite search engine is Duck Duck Go.
Parsedown Extra is an extension of Parsedown that adds support for Markdown Extra. ↩