掌握 Markdown 语法的要旨
这篇文章对 Markdown 进行了简单的概述。语法篇 对 Markdown 的每一个功能进行了完整、详细的说明,通过浏览一些例子就可以很轻松的掌握 Markdown 语法。这篇文章中的实例采用了 前/后 风格来展示实例中的语法和其对应生成的 HTML。
你可以轻松地在线体验 Markdown; Dingus 是一个可以在线编辑 Markdown 文档并转换成 XHTML 格式的一个 Web 应用。
段落、标题、引用
一个段落是简单的一行或多行的连续文字,段落之间通过一个或多个空行分隔。 (任何看起来像空行的都是空行 —— 只包含空格或者制表符行也被视为空行。) 正常的段落不因用空格或者制表符缩进。
Markdown 提供了两种风格的标题: Setext 和 atx。
Setext 风格的标题的分别使用等号 (=
) 和连字符 (-
) 用作 "下划线" 来产生 <h1>
和 <h2>
。
而使用 atx 风格的标题,你需要在行首输入 1-6 个井号 (#
) —— 井号的个数等价于 HTML 标题的级数。
引用使用 email 风格的 '>' 尖括号来表示。
Markdown:
一级标题
=======
二级标题
-------
Now is the time for all good men to come to
the aid of their country. This is just a
regular paragraph.
The quick brown fox jumped over the lazy
dog's back.
### 三级标题
> 这是一个引用。
>
> 这是这个引用中的第二段。
>
> ## 这是这个引用中的二级标题
Output:
<h1>一级标题</h1>
<h2>二级标题</h2>
<p>Now is the time for all good men to come to
the aid of their country. This is just a
regular paragraph.</p>
<p>The quick brown fox jumped over the lazy
dog's back.</p>
<h3>三级标题</h3>
<blockquote>
<p>这是一个引用。</p>
<p>这是这个引用中的第二段。</p>
<h2>这是这个引用中的二级标题</h2>
</blockquote>
重点短语
Markdown 使用星号和下划线来突出重点。
Markdown:
Some of these words *are emphasized*.
Some of these words _are emphasized also_.
Use two asterisks for **strong emphasis**.
Or, if you prefer, __use two underscores instead__.
Output:
<p>Some of these words <em>are emphasized</em>.
Some of these words <em>are emphasized also</em>.</p>
<p>Use two asterisks for <strong>strong emphasis</strong>.
Or, if you prefer, <strong>use two underscores instead</strong>.</p>
列表
无序列表使用星号、加号和连字符 (*
,
+
, -
) 作为列表的标记。三中符号可互换; 像这样:
* Candy.
* Gum.
* Booze.
这样:
+ Candy.
+ Gum.
+ Booze.
以及这样:
- Candy.
- Gum.
- Booze.
都产生相同的输出:
<ul>
<li>Candy.</li>
<li>Gum.</li>
<li>Booze.</li>
</ul>
有序 (编号) 列表使用常规数字加上逗点符号作为列表的标记:
1. Red
2. Green
3. Blue
Output:
<ol>
<li>Red</li>
<li>Green</li>
<li>Blue</li>
</ol>
如果你在列表元素之间插入空行的话,每个列表元素都会包裹进 <p> 标记。你可以用 4 个空格或者一个制表符缩进段落来创建一个多段落的列表元素:
* A list item.
With multiple paragraphs.
* Another item in the list.
Output:
<ul>
<li><p>A list item.</p>
<p>With multiple paragraphs.</p></li>
<li><p>Another item in the list.</p></li>
</ul>
超链接
Markdown 支持两种方式来创建超链接: 内联 和
引用。两种方式都使用方括号来标记作为超链接的文字。
内联风格的超链接使用紧跟在超链接文字后的花括号标记链接目标。
比如:
This is an example link.
Output:
<p>This is an <a href="http://example.com/">
example link</a>.</p>
Optionally, you may include a title attribute in the parentheses:
This is an [example link](http://example.com/ "With a Title").
Output:
<p>This is an <a href="http://example.com/" title="With a Title">
example link</a>.</p>
引用风格的超链接可以通过名称链接到文章的任意定义了锚点的位置:
I get 10 times more traffic from [Google][1] than from
[Yahoo][2] or [MSN][3].
[1]: http://google.com/ "Google"
[2]: http://search.yahoo.com/ "Yahoo Search"
[3]: http://search.msn.com/ "MSN Search"
Output:
<p>I get 10 times more traffic from <a href="http://google.com/"
title="Google">Google</a> than from <a href="http://search.yahoo.com/"
title="Yahoo Search">Yahoo</a> or <a href="http://search.msn.com/"
title="MSN Search">MSN</a>.</p>
title 属性是可选的。链接名称可以是字母,数字和空格,不区分大小写:
I start my morning with a cup of coffee and
[The New York Times][NY Times].
[ny times]: http://www.nytimes.com/
Output:
<p>I start my morning with a cup of coffee and
<a href="http://www.nytimes.com/">The New York Times</a>.</p>
图片
图片的语法与超链接的语法很相似。
内联风格 (标题可选):
![替换文字](/path/to/img.jpg "Title")
引用风格:
![替换文字][id]
[id]: /path/to/img.jpg "Title"
以上两个实例都产生相同的输:
<img src="/path/to/img.jpg" alt="替换文字" title="Title" />
代码
在一个常规的段落中,你可以将文字包裹在反引号中来创建行内代码。任何的 (&
) 符号和尖括号 (<
或者
>
) 会被自动的转换成 HTML 的实体符号。这使得 Markdown 能更轻松的书写 HTML 示例代码:
I strongly recommend against using any `<blink>` tags.
I wish SmartyPants used named entities like `—`
instead of decimal-encoded entites like `—`.
Output:
<p>I strongly recommend against using any
<code><blink></code> tags.</p>
<p>I wish SmartyPants used named entities like
<code>—</code> instead of decimal-encoded
entites like <code>—</code>.</p>
要指定一个预览样式的代码区块,用 4 个空格或 1 个制表符缩进区块内的每一行。 与行内代码一样,&
,<
,和 >
符号会自动转义。
Markdown:
If you want your page to validate under XHTML 1.0 Strict,
you've got to put paragraph tags in your blockquotes:
<blockquote>
<p>For example.</p>
</blockquote>
Output:
<p>If you want your page to validate under XHTML 1.0 Strict,
you've got to put paragraph tags in your blockquotes:</p>
<pre><code><blockquote>
<p>For example.</p>
</blockquote>
</code></pre>
本文翻译自 daringfireball,转载请注明出处。