markdown教程

本文参考http://www.appinn.com/markdown/index.html
自己整理了了一下

概述

宗旨

Markdown 的目标是实现「易读易写」。

可读性,无论如何,都是最重要的。一份使用 Markdown 格式撰写的文件应该可以直接以纯文本发布,并且看起来不会像是由许多标签或是格式指令所构成。Markdown 语法受到一些既有 text-to-HTML 格式的影响,包括 Setext、atx、Textile、reStructuredText、Grutatext 和 EtText,而最大灵感来源其实是纯文本电子邮件的格式。

总之, Markdown 的语法全由一些符号所组成,这些符号经过精挑细选,其作用一目了然。比如:在文字两旁加上星号,看起来就像强调。Markdown 的列表看起来,嗯,就是列表。Markdown 的区块引用看起来就真的像是引用一段文字,就像你曾在电子邮件中见过的那样。

兼容 HTML

Markdown 语法的目标是:成为一种适用于网络的书写语言。

Markdown 不是想要取代 HTML,甚至也没有要和它相近,它的语法种类很少,只对应 HTML 标记的一小部分。Markdown 的构想不是要使得 HTML 文档更容易书写。在我看来, HTML 已经很容易写了。Markdown 的理念是,能让文档更容易读、写和随意改。HTML 是一种发布的格式,Markdown 是一种书写的格式。就这样,Markdown 的格式语法只涵盖纯文本可以涵盖的范围。

不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写。不需要额外标注这是 HTML 或是 Markdown;只要直接加标签就可以了。

1、例子如下,在 Markdown 文件里加上一段 HTML 表格:

1
2
3
4
5
6
7
8
9
10
11
这是一个普通段落。
<table>
<tr>
<td>Foo</td>
<td>Foo</td>
<td>Foo</td>
</tr>
</table>
这是另一个普通段落。

生成
这是一个普通段落。







Foo Foo Foo

这是另一个普通段落。

####2、你如果要在文档中插入一个版权符号 ©,你可以这样写:

1
&copy;

©

3、在行首插入 1 到 6 个 # ,对应到标题 1 到 6 阶:

1
2
3
4
5
# 这是 H1
## 这是 H4
###### 这是 H6

这是 H1

这是 H4

这是 H6

4、区块引用 Blockquotes

Markdown 标记区块引用是使用类似 email 中用 > 的引用方式。如果你还熟悉在 email 信件中的引言部分,你就知道怎么在 Markdown 文件中建立一个区块引用,那会看起来像是你自己先断好行,然后在每行的最前面加上 > :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
> 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.
Markdown 也允许你偷懒只在整个段落的第一行最前面加上 > :
> 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.

5、区块引用可以嵌套(例如:引用内的引用),只要根据层次加上不同数量的 > :

1
2
3
4
5
> 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.

1
2
3
4
5
6
7
8
> ## 这是一个标题。
>
> 1. 这是第一行列表项。
> 2. 这是第二行列表项。
>
> 给出一些例子代码:
>
> return shell_exec("echo $input | $markdown_script");

这是一个标题。

  1. 这是第一行列表项。
  2. 这是第二行列表项。

给出一些例子代码:

return shell_exec("echo $input | $markdown_script");

6、无序列表使用星号、加号或是减号作为列表标记:

1
2
3
4
5
6
7
8
9
10
11
12
* Red
* Green
* Blue
-----
等同于:
+ Red
+ Green
+ Blue
也等同于:
- Red
- Green
- Blue
  • Red
  • Green
  • Blue

7、有序列表则使用数字接着一个英文句点:

1
2
3
1. Bird
2. McHale
3. Parish
  1. Bird
  2. McHale
  3. Parish

8、列表项目可以包含多个段落,每个项目下的段落都必须缩进 4 个空格或是 1 个制表符:

1
2
3
4
5
6
7
8
9
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.

1
2
3
4
* A list item with a blockquote:
> This is a blockquote
> inside a list item.
  • A list item with a blockquote:

    This is a blockquote
    inside a list item.

9、分隔线

1
2
3
4
5
6
7
8
9
* * *
***
*****
- - -
---------------------------------------





10、链接

1
2
3
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.

11、强调

Markdown 使用星号()和底线(_)作为标记强调字词的符号,被 包围的字词会被转成用 标签包围,用两个 * 或 包起来的话,则会被转成

1
2
3
4
5
6
7
*single asterisks*
_single underscores_
**double asterisks**
__double underscores__

single asterisks

single underscores

double asterisks

double underscores

12、代码

如果要标记一小段行内代码,你可以用反引号把它包起来(`),

1
Use the `printf()` function.

Use the printf() function.

如果要标记一块代码,你可以用反引号把它包起来(

1
2
3
````
var a = 123;
alert(a);

####12、图片

很明显地,要在纯文字应用中设计一个「自然」的语法来插入图片是有一定难度的。

Markdown 使用一种和链接很相似的语法来标记图片,同样也允许两种样式: 行内式和参考式。

行内式的图片语法看起来像是:

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

Alt text
详细叙述如下:

  • 一个惊叹号 !
  • 接着一个方括号,里面放上图片的替代文字
  • 接着一个普通括号,里面放上图片的网址,最后还可以用引号包住并加上 选择性的 ‘title’ 文字。
文章目录
  1. 1. 概述
    1. 1.1. 宗旨
  2. 2. 1、例子如下,在 Markdown 文件里加上一段 HTML 表格:
  3. 3. 3、在行首插入 1 到 6 个 # ,对应到标题 1 到 6 阶:
  • 这是 H1
    1. 0.1. 这是 H4
      1. 0.1.0.1. 这是 H6
  • 1. 4、区块引用 Blockquotes
  • 2. 5、区块引用可以嵌套(例如:引用内的引用),只要根据层次加上不同数量的 > :
  • Back to the first level.
  • 这是一个标题。
    1. 1. 6、无序列表使用星号、加号或是减号作为列表标记:
    2. 2. 7、有序列表则使用数字接着一个英文句点:
    3. 3. 8、列表项目可以包含多个段落,每个项目下的段落都必须缩进 4 个空格或是 1 个制表符:
    4. 4. 9、分隔线
    5. 5. 10、链接
    6. 6. 11、强调
    7. 7. 12、代码
  • |