[Markdown]语法全解——来自官网

综述


设计哲学

Markdown设计之初就是奔着易读易写的目标去的。
然而,我们对于可读性是更加注重的。一份Markdown文档应该可以像纯文本一样被出版而不是看起来像一些标签标记的文档。尽管Markdown语法已经被现有的文本转换处理器所影响,例如Settext,atx,Textile,reStructuredText,Grutatext,和EtText

为了达到这个目的,Markdown的语法完全由精心挑选的标点符号组成。

INLINE HTML

Markdown设计的目的是为了帮助在网络上写作。
Markdown不是HTLM的替代,甚至和它相去甚远。它的语法集非常的小,仅仅是HTML标签的一个很小的子集。此外,Markdown也不是为了创造一种便捷插入HTML标签的语法。在我看来,HTML TAGs已经很容易插入了。HTML是一种出版格式(publishing format),Markdown是一种写作格式(writing format)。
对于任何不被Markdown语法包括的标记,你可以简单的应用HTML本身。也没有必要声明你要开始从Markdown转换到HTML了。只需要使用即可。
唯一的限制就是块级元素—例如<div>,<table>,<pre>,<p>等等—必须用空行和周围的内容分开。并且,开始和结束标签不能 用空格和tab进行缩进。

例如,为了增加一个HTML table。

这是一个常规的段落。
<table>
    <tr>
        <td>Foo</td>
    </tr>
</table>
这是另外一个常规的段落。

注意Markdown块级格式语法不会处理块级元素内部的HTML标签。例如,你不能用Markdown格式(emphasis)在一个HTML块内部。

span级元素-例如<span>,<cite>,或者<del>—可以被用在Markdown段落的任何地方,列表,或者标题。如果你想,你甚至可以用HTML 标签代替Markdown格式。例如,如果你更喜欢用HTML <a> 或者 <img> 标签代替Markdown的链接或者图片语法,请便。

Automatic Escaping for Special Characters(特殊字符自动转义)

在HTML中有两个字符,它们应该被特殊对待:< 和 &。< 被用作开始标签,& 被用作代指HTML实体字符。如果你想用它们作为原义字符,你必须转义它们为实体。
& 对于网络作者可能比较烦恼。如果你想要写下 AT&T。你必须写作 AT&amp;T。你甚至需要转义 在URL中的&。因此,如果你想要写作:
http://images.google.com/images?num=30&q=larry+bird
你应该编码这个URL为:
http://images.google.com/images?num=30&amp;q=larry+bird
在你的a标签href属性中,毫无疑问,这很容易被忘记。并且很可能是最常见的错误。
Markdown允许你自由的去使用这些字符,它已经做好所有的转义操作。如果你用一个 & 作为一个HTML实体。它应该使用它本身,而不是转变成 &amp;
因此,如果你想要在你的文章中包括一个版权符号,你可以这样写&copy; ©
Markdown并不会对它做什么。但是,如果你作:AT&T。Markdown将转换为: AT&amp;T

Block Elements(块级元素)


段落和换行

一个段落可能就是被空行分开的一行或者多行连续的文本。正常的段落不应该用空格和tab进行缩进。

标题

Markdown支持两种格式的标题: Settextatx
Setext-style标题是用等于号“下划线”(作为一级标题)以及虚线符号作为二级标题。
例如:
This is an H1
========

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

This is an H2

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

任意数量的 ='s和-'s 都可以工作。
Atx-style标题用1-6个#在一行的开始,对应于标题等级的1-6级。例如:

# This is an H1

## This is an H2

### This is an H3

可选的是,你可以选择atx-style格式的标题。这种格式比较漂亮。你可以选择任意一种你觉得比较好看的格式。这个闭合 # 不是必须要求的。它的标题等级完全取决于开始的 # 数量。

Blockquotes

Markdown用一种email-style > 字符来作为引用。
例如:

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

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 the first level of quoting.

This is nested blockquote.

Back to the first level.

引用也可以包含其他的Markdown元素,例如标题,列表,代码块:

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支持有序和无序列表。
无序列表使用 *,+,-

* Red
* Green
* Blue

等价于
+ Red
+ Green
+ Blue

和
- Red
- Green
- Blue

有序列表用数字+.号表示。

1. Bird
2. McHale
3. Parish

应该注意的一点是你用来标记这个列表的数字对于列表没有影响。也就是说,你可以用以下的标记生产同样的效果:

1.  Bird
1.  McHale
1.  Parish
或者,甚至
3. Bird
1. McHale
8. Parish

列表元素也许由几行组成,每个子段落都必须缩进四个空格或者一个tab。

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.

也许每行进行缩进会使得看起来比较漂亮,但是Markdown也允许你偷懒。

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

为了让引用可以位于列表元素内,引用 >需要被缩进。

*   A list item with a blockquote:

    > This is a blockquote
    > inside a list item.

为了让代码块在一个列表内,这个代码块也需要被缩进二倍—8个空格或者两个tabs。

CODE BLOCK

Markdown包裹一个代码块用<pre>和<code>标签。
为了在Markdown中生产一个代码块,简单的缩进每一行快至少4空格或者一个tab。
This is a normal paragraph:

This is a code block.

Horizontal Rules

你可以生产水平线通过三个或者更多的 `- * _"。仅仅有它们自己在一行。如果你愿意,你也可以在其中加入空格。






Span Elements

Links

Markdown 支持两种格式的链接: 行级和引用
在这两种格式中,链接的文本都位于方括号内。
为了创建一个行级链接,按照这个格式创建 链接文本
你也可以使用相对引用路径。
第二种链接格式就像以下的:

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

你也可以用空格分开这一组方括号。

This is [an example] [id] reference-style link.
然后,在文档的任何位置,你可以像这样定义你的链接标签。
[id]: 链接 "title"
以下三种定义都是等价的:
[foo]: http://example.com/ "Optional Title Here"
[foo]: http://example.com/ 'Optional Title Here'
[foo]: http://example.com/ (Optional Title Here)

例如你也可以把链接名字用作这个标识符。

[google][]
然后,你可以这样定义链接:
[google]: http://google.com

Emphasis

Markdown 把 * 和 _处理为强调。如果一个文本被*或者_包裹,那么他将被处理为斜体;如果被两个*或者_包裹,那么它将被处理为粗体.

CODE

用()来定义行内代码块。 如果你想在代码块内包含,那么你可以使用多个`来作为开始和闭合定界符。

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

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


#### IMAGE

图片的格式和链接完全一样,只不过在链接格式的前面加上!。
例如:
Alt text
Alt text
Alt text
Alt text

***
翻译真累,不少单词还不认识,而且翻译的的确不好,有些句子不知道怎么对应。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容