Introducing Shuttle: An extendable, lightweight markup language. Try it out here!



Paragraphs are seperated with blank lines.

Use the return key for lines
that need a break


# Header 1
## Header 2
### Header 3
#### Header 4
##### Header 5
###### Header 6


Unordered list:
- Item 1
- Item 2
    - Item 2A
    - Item 2B

Ordered List:
1. Item 1
2. Item 2
    1. Item 1A
    2. Item 1B

Unordered lists use hyphens, ordered lists use numbers followed by a period. Ordered lists are converted to <ol> tags, so your numbering has no effect on the produced output.

Lists uses indentation of 4 spaces. So 0-3 spaces indicate the parent level, 4-7 spaces indicate one nested level... You can create ordered lists after unordered lists and vice versa. If you want to create a list after another list of the same type, you can break out the list by using two blank lines.


[link2]: "Title"

Inline link: [Text](
Inline link + title: [Text]( "Title").
Reference link: [Text][link1].
Reference link + title: [Text][link2].

Shuttle supports inline []() and reference [][] links. Link definitions can be used anywhere in the document. 1 blank space is allowed between the 2 parts of a link.


[image1]: /static/cnn.jpg
[image2]: /static/cnn.jpg "CNN"

Inline image: ![Alt text](/static/cnn.jpg)
Inline image with title ![Alt text](/static/cnn.jpg "CNN")
Reference image: ![Alt text][image1]
Reference image with title: ![Alt text][image2]

Images work the same as links. The text will be placed in the alt-attribute.


Shuttle supports *bold*, _italic_ and ~strikethrough~ formatting

Intra_word_emphasis is not allowed, but _a_complete_word_ can be formatted

Horizontal Rules

3 hypens or more form a horizontal rule. The hypens can have 1 blank space in between.


> This is a blockquote.
> blockquotes can contain breaks
> They can also contain paragraphs

> Blockquotes can also be nested
> > This is the nested blockquote
> Back to the first level

Every line that is part of a blockquote should start with a >. A blank line before or after the block is not needed.


Use backticks to create \`inline code\` spans

You can also add fenced code blocks:

function greeting() {
  console.log("Hello World");


\*, \-, \_, \~, \!, \\, `, \[, \], \(, \), \#, \. can be escaped.

$, &, < and > are escaped by default

Inline HTML

<a href="#">This is inline HTML</a>

<!-- You can also use comments -->

Autolinks (extension)

When this extension is enabled, is automatically coverted to a link

This works for emails too:

Tables (extension)

This is a table. Tables can have optional leading/trailing pipes and can be aligned by using the ':' character.

Header 1  | Header 2
--------- | ---------:
Cell 1    | Cell 2
Cell 3    | Cell 4

Table alignement:

| Default   | Right     |  Center   |    Left   |
| --------- | --------: |:---------:| :---------|
| Long Cell | Long Cell | Long Cell | Long Cell |
| Cell      | Cell      |   Cell    |     Cell  |


The following libraries are officially maintained by the Shuttle Community and are guaranteed to pass the Shuttle Compliance Testsuite.


Shuttle is released under version 2.0 of the Apache License and we love any contribution!