Markdown 语法说明(简体中文版)

  • 格式:pdf
  • 大小:360.78 KB
  • 文档页数:22
例子如下,在Markdown文件里加上一段HTML表格:
这是一个普通段落。
<table> <tr> <td>Foo</td> </tr>
</table>
2
这是另一个普通段落。
请注意,在HTML区块标签间的Markdown格式语法将不会被处理。比如,你在HTML区块内使用Markdown样式的 *强调* 会没有 效果。 HTML的区段(行内)标签如 <span> 、 <cite> 、 <del> 可以在Markdown的段落、列表或是标题里随意使用。依照个人习惯,甚至 可以不用Markdown格式,而直接采用HTML标签来格式化。举例说明:如果比较喜欢HTML的 <a> 或 <img> 标签,可以直接使用 这些标签,而不用Markdown提供的链接或是图像标签语法。 和处在HTML区块标签间不同,Markdown语法在HTML区段标签间是有效的。
3
&copy;
Markdown会保留它不动。而若你写:
AT&T
Markdown就会况也会发生在 < 符号上,因为Markdown允许兼容HTML,如果你是把 < 符号作为HTML标签的定界符使用,那 Markdown也不会对它做任何转换,但是如果你写:
标题
Markdown支持两种标题的语法,类Setext和类atx形式。 类Setext形式是用底线的形式,利用 = (最高阶标题)和 - (第二阶标题),例如:
This is an H1 ============= This is an H2 -------------
任何数量的 = 和 - 都可以有效果。 类Atx形式则是在行首插入1到6个 # ,对应到标题1到6阶,例如:
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.
特殊字符自动转换
在HTML文件中,有两个字符需要特殊处理: < 和 & 。 < 符号用于起始标签, & 符号则用于标记HTML实体,如果你只是想要显示 这些字符的原型,你必须要使用实体的形式,像是 &lt; 和 &amp; 。 & 字符尤其让网络文档编写者受折磨,如果你要打「 AT&T 」,你必须要写成「 AT&amp;T 」。而网址中的 & 字符也要转换。比如你要 链接到:
很重要的一点是,你在列表标记上使用的数字并不会影响输出的HTML结果,上面的列表所产生的HTML标记为:
<ol> <li>Bird</li> <li>McHale</li> <li>Parish</li> </ol>
如果你的列表标记写成:
1. Bird 1. McHale 1. Parish
# 这是 H1 ## 这是 H2 ###### 这是 H6
你可以选择性地「闭合」类atx样式的标题,这纯粹只是美观用的,若是觉得这样看起来比较舒适,你就可以在行尾加上 # ,而行尾的 # 数量也不用和开头一样(行首的井字符数量决定标题的阶数):
5
# 这是 H1 #
## 这是 H2 ##
### 这是 H3 ######
>
> 1. 这是第一行列表项。
> 2. 这是第二行列表项。
>
> 给出一些例子代码:
>
>
return shell_exec("echo $input | $markdown_script");
任何像样的文本编辑器都能轻松地建立email型的引用。例如在BBEdit中,你可以选取文字后然后从选单中选择增加引用阶层。
不在Markdown涵盖范围之内的标签,都可以直接在文档里面用HTML撰写。不需要额外标注这是HTML或是Markdown;只要直接 加标签就可以了。
要制约的只有一些HTML区块元素――比如 <div> 、 <table> 、 <pre> 、 <p> 等标签,必须在前后加上空行与其它内容区隔开,还要求 它们的开始标签与结尾标签不能用制表符或空格来缩进。Markdown的生成器有足够智能,不会在HTML区块标签外加上不必要的 <p> 标签。
可读性,无论如何,都是最重要的。一份使用Markdown格式撰写的文件应该可以直接以纯文本发布,并且看起来不会像是由许多标签 或是格式指令所构成。Markdown语法受到一些既有text-to-HTML格式的影响,包括Setext、atx、Textile、reStructuredText、 Grutatext和EtText,而最大灵感来源其实是纯文本电子邮件的格式。
> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.
区块引用可以嵌套(例如:引用内的引用),只要根据层次加上不同数量的 > :
Markdown不是想要取代HTML,甚至也没有要和它相近,它的语法种类很少,只对应HTML标记的一小部分。Markdown的构想不 是要使得HTML文档更容易书写。在我看来,HTML已经很容易写了。Markdown的理念是,能让文档更容易读、写和随意改。 HTML是一种发布的格式,Markdown是一种书写的格式。就这样,Markdown的格式语法只涵盖纯文本可以涵盖的范围。
> This is the first level of quoting. > > > This is nested blockquote. > > Back to the first level.
引用的区块内也可以使用其他的Markdown语法,包括标题、列表、代码区块等:
6
> ## 这是一个标题。
/images?num=30&q=larry+bird
你必须要把网址转换写为:
/images?num=30&amp;q=larry+bird
才能放到链接标签的 href 属性里。不用说也知道这很容易忽略,这也可能是HTML标准检验所检查到的错误中,数量最多的。 Markdown让你可以自然地书写字符,需要转换的由它来处理好了。如果你使用的 & 字符是HTML字符实体的一部分,它会保留原 状,否则它会被转换成 &amp ;。 所以你如果要在文档中插入一个版权符号 © ,你可以这样写:
列表项目标记通常是放在最左边,但是其实也可以缩进,最多3个空格,项目标记后面则一定要接着至少一个空格或制表符。
要让列表看起来更漂亮,你可以把内容用固定的缩进整理好:
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
列表
Markdown支持有序列表和无序列表。 无序列表使用星号、加号或是减号作为列表标记:
* Red * Green * Blue
等同于:
+ Red + Green + Blue
也等同于:
- Red - Green - Blue
有序列表则使用数字接着一个英文句点:
1. Bird 7
2. McHale 3. Parish
总之,Markdown的语法全由一些符号所组成,这些符号经过精挑细选,其作用一目了然。比如:在文字两旁加上星号,看起来就像* 强调*。Markdown的列表看起来,嗯,就是列表。Markdown的区块引用看起来就真的像是引用一段文字,就像你曾在电子邮件中见 过的那样。
兼容 HTML
Markdown语法的目标是:成为一种适用于网络的书写语言。
4<5
Markdown将会把它转换为:
4 &lt; 5
不过需要注意的是,code范围内,不论是行内还是区块, < 和 & 两个符号都一定会被转换成HTML实体,这项特性让你可以很容易 地用Markdown写HTMLcode(和HTML相对而言,HTML语法中,你要把所有的 < 和 & 都转换为HTML实体,才能在HTML 文件里面写出HTMLcode。)
区块元素
段落和换行
一个Markdown段落是由一个或多个连续的文本行组成,它的前后要有一个以上的空行(空行的定义是显示上看起来像是空的,便会被 视为空行。比方说,若某一行只包含空格和制表符,则该行也会被视为空行)。普通段落不该用空格或制表符来缩进。
4
「由一个或多个连续的文本行组成」这句话其实暗示了Markdown允许段落内的强迫换行(插入换行符),这个特性和其他大部分的 text-to-HTML格式不一样(包括MovableType的「ConvertLineBreaks」选项),其它的格式会把每个换行符都转成 <br /> 标 签。 如果你确实想要依赖Markdown来插入 <br /> 标签的话,在插入处先按入两个以上的空格然后回车。 的确,需要多费点事(多加空格)来产生 <br /> ,但是简单地「每个换行都转换为 <br /> 」的方法在Markdown中并不适合, Markdown中email式的区块引用和多段落的列表在使用换行来排版的时候,不但更好用,还更方便阅读。