Shuttle is a lightweight markup language (that can be converted to HTML5). It has a basic syntax and extensions that can be enabled by the application/website owner. Try it out here!


Paragraphs (basic)

Paragraphs are seperated with blank lines.

Use the return key for lines
that need a break

Text is automatically converted into paragraphs where blocks of text are separated by a blank line.
Shuttle handles linebreaks as expected.

Headers (basic)

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

To create a header, you start a line with a #. The number of # signifies the heading level number
A blank line before or after the header is not needed.

Lists (basic)

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, 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.
Lists work very naturally.

Links (basic)

[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.

Images (basic)

[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 exactly the same as links, but the syntax starts with an exclamation mark. In HTML, img-tags are empty tags, so the text will be placed in the alt-attribute.

Formatting (basic)

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

Intra_word_emphasis is not allowed, but _a_complete_word_ can be formatted

Horizontal Rules (basic)

3 hypens form a horizontal rule


More then 3 hypens form a horizontal rule


The hypens can be seperated by a whitespace

- - -

Blockquotes (basic)

> 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 >.
So two blockquotes with a blank line between them be treated as two blockquotes.
A blank line before or after the block is not needed.

Code (basic)

Use backticks to create `inline code` spans

You can also add fenced code blocks:

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

Escaping (basic)

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

$, &, < and > are escaped by default

Inline HTML (basic)

<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  |

Official libraries

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. We love any contribution!