markdown

Inline Html

Markdown 没有覆盖的 markup 可以直接用 HTML, 但是注意 block-level HTML 元素必须和周围的内容用空白行隔开,而且 start/end tags 不要缩进。而且 Markdown 的语法在 block-level HTML 标签中是不起作用的, 在 span-level 标签中却是起作用的。

Markdown 会自动为一些特殊字符转义, 如&, <等.

Block Elements

Paragraphs and Line Breaks

段落以一条或多条空白行分开,一个段落的内容是连续的,如果想按照自己的意愿将一个段落分成长度由自己定的,Markdown 支持 hard-wrapped text paragraphs,即在一行的末尾以两个或以上的空格结束,相当与 HTML 中的 <br /> 标签。在 Markdown 中,并不是所有的line break 都是 <br />,但是 Markdown 的 blockquote 和 list items 能够很好的表现。

Markdown 支持 setext 和 atx 两种风格的标题

对于前一种是这样的, 任意数量的 -/= 都能正常表现:

This is an H1
=============

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

对于后一种,它用 1-6 # 来实现,你可以使用 close atx-style,但是标题的具体表现形式是由开始的 # 的数量决定的。

# This is an H1

## This is an H2 ##

### This is an H3 ######

Blockquote

在一行的开始使用 >; 你可以每行都用,或者偷懒只在第一行用; 段落引用支持嵌套; 段落引用中,你还可以使用 Markdown 语法的标题,列表和 code blocks。

> ## This is a header
> 1. Item 1
> 2. Item 2
>
> > This is nested blockquote.
>
>    print 'Hello, world.'

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

The blockquote above it equal to the next:

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

Lists

无序列表,* 可以用 + 或者 - 代替

* Item1
* Item2
* Item3

有序列表,数字对于实际的显示没有影响,都是 1 或者顺序不同,显示的结果是一样的。

1. Item1
2. Item2
3. Item3

List markers 一般在 left margin,最多缩进 3 个空格, 然后跟着一个或更多的空格或者一个 tab

如果列表元素之间有空行,那么 Markdown 会用 p 标签包裹,

如果列表元素有多个段落,那么随后的段落要缩进 4 个空格或者 1 个 tab; 列表元素中有 blockquote,code block也要相应缩进

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.

# 美观的像上面,当然也可像下面一样偷个懒

*   This is a list item with two paragraphs.

    This is the second paragraph in the list item. You're
only required to indent the first line. Lorem ipsum dolor
sit amet, consectetuer adipiscing elit.

*   Another item in the same list.

Code Blocks

缩进 4 个空格或者 1 个 tab

在 code block 中, &, <, > 会被自动转义, 而 Mardown 的语法则不起作用,* 只是 *

Hotizontal Rules

三个或以上的 -*_, 之间可以有空格

Span Elements

  1. inline style:
This is [an example](http://example.com/ "Optional Title") inline link.
See my [About](/about/) page for details. # referring a local resource on the same server
  1. reference style:

    This is [an example][id] reference-style link.

    This is [an example] [id] reference-style link. # you can seperate with a space

    somewhere in your docement, "" can ben '' or (); id 是字母的话,大小写不敏感

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

或者(implicit link name):

[Google][]

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

Emphasis

*single asterisks*      =>  <em>single asterisks</em>
_single underscores_    =>  <em>single underscores</em>
**double asterisks**    =>  <strong>double asterisks</strong>
__double underscores__  =>  <strong>double underscores</strong>

可以用于一个单词的中间,如果 * 或者 _ 周围是空格的话,则不起作用。

Code

` => 数字 1 旁边的

Use the `printf()` function.

A single backtick in a code span: `` ` ``  # 使你能够在 code span 开头或结束处放 `

Images

![Alt text](/path/to/img.jpg "Optional title")

![Alt text][id]
[id]: url/to/image  "Optional title attribute"

Miscellaneous

<http://example.com/>
<address@example.com>

Backslash Escapes

Markdown 提供下列的转义: \ backslash ` backtick * asterisk _ underscore {} curly braces [] square brackets () parentheses # hash mark + plus sign - minus sign (hyphen) . dot ! exclamation mark