John Gruber 的原始设计文档中的基本语法主要是为了应付大多数情况下的日常所需元素,但对于某些人来说还不够,这样,扩展语法就有了用武之地。

不过,需要说明的是,虽然大部分(至少 Dazeng 遇到的)Markdown 解析器都能正确解析Markdown 扩展语法,您仍需确认您的 Markdown 扩展语法是否被正确解析。

表格

基本代码

使用三个或多个连字符(---)创建每列的标题,并使用管道(|)分隔每列。

源码:

| 表头第一列 | 表头第二列 | 表头第三列 |
|------|------|------|
|内容第一行第一列|内容第一行第二列|内容第一行第三列|
|内容第二行第一列|内容第二行第二列|内容第二行第三列|

展示:

表头第一列 表头第二列 表头第三列
内容第一行第一列 内容第一行第二列 内容第一行第三列
内容第二行第一列 内容第二行第二列 内容第二行第三列

设置列宽

设置列宽是靠分割表头的-号的多少来确定的,-号越多越宽。

源码:

| 表头第一列(窄) | 表头第二列(中) | 表头第三列(宽) |
|---|------|---------|
|内容第一行第一列|内容第一行第二列|内容第一行第三列|
|内容第二行第一列|内容第二行第二列|内容第二行第三列|

展示:

内容 内容 内容
内容 内容 内容

设置单元格对齐

设置对齐是靠分割表头的-号两端添加冒号\:来确定的,冒号在那边就对齐那边,两边都添加就是居中。

源码:

| 左 | 中 | 右 |
|:------|:------:|------:|
|左左左|中中中|右右右|
|左|中|右|

展示:

左左左 中中中 右右右

格式化表格中文字

表格中的文本可以格式话,例如添加链接行间代码加粗斜体等,但不能添加标题引用列表图像HTML 标签等,表内管道符需转义或使用实体名称|

代码块

代码块需要用反引号(`)包起来,行间代码用一对,代码块用三对。如果代码块需要指定语言,在反引号的后面跟着语言名称即可。

源码:

```
curl https://baidu.com/
```

```bash
curl https://baidu.com/
```

这里是`行间代码`的例子。

展示:

未指定语言

curl https://baidu.com/

指定语言为 bash

curl https://baidu.com/

这里是行间代码的例子。

Markdown 的扩展语法就讲这两个,其余的,其实还挺多的,比如脚注、标题编号、定义列表、删除线、数学公式等等,感兴趣的可以自行上网搜索。

Dazeng 认为,Markdown 的精髓就在于简单,搞太复杂就根本不是 Markdown 干的事,如果确实需要用到复杂的编辑,何不直接使用 HTML 代码或者直接使用富文本编辑器?

注:markdown 代码的展示受css代码的控制,可能会出现和预期的不一样,如本文中的表格的列宽和代码块,实际显示样式可能和本站不同。