{{ define "title" }}Markdown Cheatsheet{{ end }} {{ define "content" }}

Markdown Cheatsheet

This is a simple reference sheet for Markdown syntax. The de facto place to find Markdown syntax is at https://daringfireball.net/projects/markdown/syntax but I find his web design ugly and hard to follow. ;)

This page just serves as a cheat sheet for Markdown syntax and their results. For descriptive paragraphs explaining the syntax, see the page linked above.

The Rophako CMS supports a few extensions to Markdown such as GitHub-style code blocks.

Block Elements

Paragraphs and Line Breaks

In normal Markdown, a paragraph is defined as a group of lines of text separated from other groups by at least one blank line. A hard return inside a paragraph doesn't get rendered in the output.

However, the Rophako CMS uses GitHub style markdown, so a hard return inside a paragraph does get translated into a line break (<br>) in the output.

Headers

Markdown Syntax Output
This is an H1
=============

This is an H2
-------------

This is an H1

This is an H2

# This is an H1

## This is an H2

#### This is an H4

This is an H1

This is an H2

This is an H4

Blockquotes

Markdown Syntax Output
> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
> consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
> Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
>
> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
> id sem consectetuer libero luctus adipiscing.
This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.

Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.

> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.

> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
id sem consectetuer libero luctus adipiscing.
This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.

Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.

> This is the first level of quoting.
>
> > This is nested blockquote.
>
> Back to the first level.
This is the first level of quoting.
This is nested blockquote.
Back to the first level.
> ## This is a header.
>
> 1. This is the first list item.
> 2. This is the second list item.
>
>Here's some example code:
>
>    return shell_exec("echo $input | $markdown_script");

This is a header.

  1. This is the first list item.
  2. This is the second list item.
Here's some example code:
return shell_exec("echo $input | $markdown_script");

Lists

Markdown Syntax Output
* Red
* Green
* Blue
  • Red
  • Green
  • Blue
+ Red
+ Green
+ Blue
  • Red
  • Green
  • Blue
- Red
- Green
- Blue
  • Red
  • Green
  • Blue
1. Bird
2. McHale
3. Parish
  1. Bird
  2. McHale
  3. Parish
1.  This is a list item with two paragraphs. Lorem ipsum dolor
    sit amet, consectetuer adipiscing elit. Aliquam hendrerit
    mi posuere lectus.

    Vestibulum enim wisi, viverra nec, fringilla in, laoreet
    vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
    sit amet velit.

2.  Suspendisse id sem consectetuer libero luctus adipiscing.

  1. This is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.

    Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus. Donec sit amet nisl. Aliquam semper ipsum sit amet velit.

  2. Suspendisse id sem consectetuer libero luctus adipiscing.

Code Blocks

The typical Markdown way to write a code block is to indent each line of a paragraph with at least 4 spaces or 1 tab character. The Rophako CMS also uses GitHub-style code blocks, where you can use three backticks before and after the code block and then you don't need to indent each line of the code (makes copying/pasting easier!)

Like GitHub-flavored Markdown, with a fenced code block you can also specify a programming language to get syntax highlighting for the code.

Markdown Syntax Output
This is a normal paragraph.

    This is a code block.

This is a normal paragraph.

This is a code block
This is a normal paragraph.

```
This is a GitHub style "fenced code block".
```

This is a normal paragraph.

This is a GitHub style "fenced code block".
```javascript
document.writeln("Hello world.");
```
document.writeln("Hello world.");

Horizontal Rules

Markdown Syntax Output
* * *

***

*****

- - -

---------------------------






Span Elements

Links

Markdown Syntax Output
This is [an example](http://example.com/ "Title") inline link.

[This link](http://example.net/) has no title attribute.

This is an example inline link.

This link has no title attribute.

See my [About](/about) page for details. See my About page for details.
This is [an example][id] reference-style link.

[id]: http://example.com/ "Optional Title Here"

This is an example reference-style link.
This is an example of an implicit reference-style link: search [Google][] for more.

[Google]: http://google.com/

This is an example of an implicit reference-style link: search Google for more.
I get 10 times more traffic from [Google] [1] than from
[Yahoo] [2] or [Bing] [3].

[1]: http://google.com/ "Google"
[2]: http://search.yahoo.com/ "Yahoo Search"
[3]: http://bing.com/ "Bing"

I get 10 times more traffic from Google than from Yahoo or Bing.

Emphasis

Markdown Syntax Output
*single asterisks*

_single underscores_

**double asterisks**

__double underscores__

single asterisks

single underscores

double asterisks

double underscores

un*frigging*believable unfriggingbelievable
\*this text is surrounded by literal asterisks\* *this text is surrounded by literal asterisks*

Code

Markdown Syntax Output
Use the `printf()` function. Use the printf() function.
``There is a literal backtick (`) here.`` There is a literal backtick (`) here.
A single backtick in a code span: `` ` ``

A backtick-delimited string in a code span: `` `foo` ``

A single backtick in a code span: `

A backtick-delimited string in a code span: `foo`

Please don't use any `<blink>` tags. Please don't use any <blink> tags.
`&#8212;` is the decimal-encoded equivalent of `&mdash;`. &#8212; is the decimal-encoded equivalent of &mdash;.

Images

Markdown Syntax Output
![Alt text](/static/avatars/default.png) Alt text
![Alt text](/static/avatars/default.png "Optional title") Alt text
![Alt text][id]

[id]: /static/avatars/default.png "Optional title attribute"

Alt text

Miscellaneous

Automatic Links

E-mail links get automatically converted into a random mess of HTML attributes to attempt to thwart e-mail harvesting spam bots.

Markdown Syntax Output
<http://example.com/> http://example.com/
<address@example.com> address@example.com

(Source: <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58; &#97;&#100;&#100;&#114;&#101;&#115;&#115;&#64; &#101;&#120;&#97;&#109;&#112;&#108; &#101;&#46;&#99;&#111;&#109;">&#97; &#100;&#100;&#114;&#101;&#115;&#115; &#64;&#101;&#120;&#97;&#109;&#112; &#108;&#101;&#46;&#99;&#111; &#109;</a>)

Backslash Escapes

Use backslash characters to escape any other special characters in the Markdown syntax. For example, \* to insert a literal asterisk so that it doesn't get mistaken for e.g. emphasized text, a list item, etc.

Markdown provides backslash escapes for the following characters:

\   backslash
`   backtick
*   asterisk
_   underscore
{}  curly braces
[]  square brackets
()  parenthesis
#   hash mark
+   plus sign
-   minus sign (hyphen)
.   dot
!   exclamation mark
{{ end }}