markdown 语法记录

2016年10月17日 沈伯伟

Markdown 是一种用来写作的轻量级「标记语言」,它用简洁的语法代替排版,而不像一般我们用的字处理软件 Word 或 Pages 有大量的排版、字体设置。它使我们专心于书写内容,用「标记」语法,来代替常见的排版格式。 作为一个Markdown 博客的初级作者,最开始免不了频繁查询各种语法标记,因此为了方便查询,在此写记录一下。 方便自己,也方便他人。

标题

Markdown 支持从一级到六级共六种标题格式,对应的标题字体逐级减小,通过在行首插入一个到六个符号#表示:

# 一级标题
## 二级标题
### 三级标题
...
###### 六级标题

注意#后需要加上空格,否则有的解析器会解析失败。

列表

Markdown 支持有序列表和无序列表。 无需列表的显示需要在文字前加上+-*, 有序列表则直接在文字前加 1. 2. 3. 符号(+、-、*、.)要和文字之间需要加上一个字符的空格

无序示例

下面为演示为测试三种无序标记符号,正常书写推荐保持符号统一

- 无序1项
- 无序2项
+ 无序3项
* 无序4项

解析结果:

  • 无序1项
  • 无序2项
  • 无序3项
  • 无序4项

有序示例

1. 有序列表1项
2. 有序列表2项
3. 有序列表3项

解析结果:

  1. 有序列表1项
  2. 有序列表2项
  3. 有序列表3项

注意:在有序列表标记上使用的数字并不会影响输出的 HTML 结果,上面的列表所产生的 HTML 标记为:

<ol>
<li>有序列表1项</li>
<li>有序列表2项</li>
<li>有序列表3项/li>
</ol>

进一步测试:

1. 有序
    
    测试1(多行)
1. 有序

        测试2(多行代码标记)
3. 有序测试3
100. 有序测试4

解析结果为:

  1. 有序

    测试1(多行)

  2. 有序

     测试2(多行代码标记)
    
  3. 有序测试3
  4. 有序测试4

其 HTML 的输出结果和正序的标记结果相同, 因此标号的值并不会影响最终有序列表的输出结果,但是仍然建议正确标号书写。 如果列表中某项包含多行,需要在多行间加上空行,且新行前需要加一个空格或者制表符。 如果加两个制表符,则会把该项后的内容使用代码区块标记起来。

引用

如果需要引用一行其他出处的句子,那么就要用引用的格式。

这是引自其他地方的文字

需要在引用文字的前边(行首)加上符号> 。 如果是多行引用,则需要在每行的行首加上符>,且行间需要加上空行:

> 引用的第一行
>
> 引用的第二行
>
> 引用的第三行

解析结果:

引用的第一行

引用的第二行

引用的第三行

另外,引用中支持使用其他的 Markdown 语法,包括标题、列表、代码区块等。

代码块

对于程序员来说,在博客中引入代码是十分频繁的事情,Markdown 中可以在两个 ` 中间添加代码, 例如:<html> </html>。如果需要显示一段代码,可以使用tab键在代码行首添加制表符, 也可以使用在代码上下行包裹三个`(```)来实现:

    Hello World!
    Good Bye

解析结果:

Hello World!
Good Bye

分割线

可以在一行中用三个以上的星号、减号、下划线来建立一个分隔线,行内不能有其字符。 可以在星号或是减号中间插入空格

---
- - -
___
***

解析结果:





粗体和斜体

Markdown 使用星号*和底线_作为标记强调字词的符号, 被 * 或 _ 包围的字词会被转成用 <em> 标签包围,即斜体; 用两个 * 或 _ 包起来的话,则会被转成 <strong>,即粗体。 另外用三个 * 或者 _ 包围的字符会显示粗斜体。

*斜体* _emphasize_

**粗体** __strong__

***粗斜体*** ___strong&emphasize___

解析结果:

斜体 emphasize

粗体 strong

粗斜体 strong&emphasize

表格

目前貌似有些 Markdown 编辑器不支持表格解析,先记录如下,其实语法很简单:

| Tables        | Are           | Cool  |
| ------------- |:-------------:| -----:|
| col 3 is      | right-aligned | $1600 |
| col 2 is      | centered      |   $12 |
| zebra stripes | are neat      |    $1 |

解析结果:

Tables Are Cool
col 3 is right-aligned $1600
col 2 is centered $12
zebra stripes are neat $1
dog | bird | cat
----|------|----
foo | foo  | foo
bar | bar  | bar
baz | baz  | baz

解析结果:

dog bird cat
foo foo foo
bar bar bar
baz baz baz

图片和链接

文字链接

Markdown 支持两种形式的链接语法: 行内式参考式

不管是哪一种,链接所显示的文字都是用 [方括号] 来标记。

行内式

要建立一个行内式的链接,只要在方块括号后面紧接着圆括号并插入网址链接即可, 如果你还想要加上链接的 title 文字,只要在网址后面,用双引号把 title 文字包起来即可。

链接示例:[我是链接](http://google.com "跳转 google")

链接示例:我是链接

如果要链接到同样主机的资源,可以使用相对路径:

相对地址链接:[相对地址](/pages/about.html)

相对地址链接:相对地址

参考式

参考式的链接是在链接文字的括号后面再接上另一个方括号, 在第二个方括号里面需要填入用以辨识链接的标记,即引用链接的序号,类似于论文中的参考文献:

这是一个参考式的链接[参考链接1][1],而这是另一个参考链接[参考链接2][2],链接id可为字符串[参考链接3][jd]。
需要在后边加上引用的链接地址和title(可为空)

[1]: http://baidu.com/  "baidu link"
[2]: http://google.com/  "google link"
[jd]: http://jd.com/  "jd link"

这是一个参考式的链接参考链接1,而这是另一个参考链接参考链接2,链接id可为字符串参考链接3。 需要在后边加上引用的链接地址和title(可为空)

图片链接

Markdown 图片链接和文字链接十分相似,同样支持两种样式:行内式参考式。 只需要在文字链接前面加上!即可解析为图片链接:

行内式

![行内式图片链接](/public/img/avatar.jpg "相对地址路径图片/public/img/avatar.jpg")

行内式图片链接

图片的路径可以使用绝对路径(需要先将图片上传到网络,路径为其url) 也可以放到自己网站目录下的图片文件夹,通过相对路径引用, 如上例的/public/img/avatar.jpg表示引用网站目录下public文件夹下img文件夹里的avatar.jpg图片。

参考式

![参考式图片链接][参考id]

[参考id]: /public/img/avatar.jpg "参考式图片"

参考式图片链接

转义字符\

Markdown 可以利用反斜杠来插入一些在语法中有其它意义的符号,类似于编程语言里的转义字符 例如:如果要显示**我不要加粗**,就需要在四个*号前加上转义字符\。 否则就会显示为:我不要加粗。Markdown 支持的转义字符包括:

\   反斜线
`   反引号
*   星号
_   底线
{}  花括号
[]  方括号
()  括弧
#   井字号
+   加号
-   减号
.   英文句点
!   惊叹号

Latex

### 测试

This expression $\sqrt{3x-1}+(1+x)^2$ is an example of a $\LaTeX$ inline equation.

he Lorenz Equations:

$$
\begin{aligned}
\dot{x} & = \sigma(y-x) \\
\dot{y} & = \rho x - y - xz \\
\dot{z} & = -\beta z + xy
\end{aligned}
$$

测试

This expression $\sqrt{3x-1}+(1+x)^2$ is an example of a $\LaTeX$ inline equation.

he Lorenz Equations:

参考文献

认识与入门 Markdown

Markdown 语法说明

Markdown写作浅谈

在简书上用Markdown写表格


评论