Markdown基本用法和规范

本文介绍的是Markdown的基本用法,从多份资料整理而来,测试IDE是Visual Studio Code。安装的相关插件有Markdown All in One、Markdown PDF、Markdown Preview Mermaid Support、markdownlint、Markdown TOC。

一、基本用法[1]

1. 标题

标题以#开头,一个#是一级标题,两个#是二级标题,以此类推。支持六级标题。

示例:

# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

也有一种方式[2],使用===或者---为分割。但是嘛,个人不太喜欢这种方式,觉得没有用#开头的表示方法清晰。

示例:

标题1
===
标题2
---

2. 字体

  • 加粗,在文字左右用**包起来,快捷键Ctrl+B
  • 斜体,在文字左右用*包起来,快捷键Ctrl+I(也支持左右用_包起来,不过默认配置是星号)
  • 加粗斜体,在文字左右用***包起来,或者**_和_**包起来,就是把加粗和斜体的配置符加起来(注意顺序,**在外,_在内)
  • 删除线,在文字左右用两个波浪号~~包起来,快捷键Alt+S

示例:

**加粗语句**
*斜体语句 1*
_斜体语句 2_
***加粗斜体语句 1***
**_加粗斜体语句 2_**
~~加删除线语句~~

3. 段落引用

在一段话之前加>就行。引用可以嵌套,比如两个>>,三个>>>。但是,不能像序号那样,用了下一级序号后返回上一级的。比如说,用了>>>后面的>>就无效了。不过想想也是,毕竟是为了引用文字嘛,不需要分层功能。

示例:

> 一层引用
>> 二层引用
>>> 三层引用
>> 另一个二层引用(会跟在三层引用后面)

效果:

一层引用

二层引用

三层引用
另一个二层引用(会跟在三层引用后面)

4. 分割线

用三个或者三个以上的*或者_都可以。

示例:

---
----
***
****

5. 图片

图片的行内式语法

![图片名称](图片地址 "图片提示")

图片名称就是对图片内容的解释,如果图片因为某些原因不能显示,就用定义的图片名称文字来代替图片。图片提示是当鼠标悬停在图片上时显示的提示内容。图片提示可加可不加。

示例:

![blockchain](https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=702257389,1274025419&fm=27&gp=0.jpg "区块链")

效果:

blockchain

图片的参考式语法[3]

在文档要插入图片的地方写![图片名称][标记]。在文档的任意位置写上[标记]:图片地址 "图片提示"。

示例:

![blockchainjpg][]

[blockchainjpg](https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=702257389,1274025419&fm=27&gp=0.jpg "区块链")

效果:

6. 超链接

超链接的行内式语法

[超链接名称](超链接地址 "超链接提示")

超链接名称就是对超链接的解释。超链接提示是当鼠标悬停在超链接上时显示的提示内容。超链接提示可加可不加。

其实和图片的格式差不多,就是显示图片前面多一个感叹号!。

示例:

[简书](//www.greatytc.com "简书")
[百度](http://baidu.com)

效果:

简书

百度

超链接的参考式语法[3]

如果某一个链接在文章中多处使用,那么使用引用的方式创建链接将非常好,它可以让你对链接进行统一的管理。

语法说明:

参考式链接分为两部分。一种写法是,在文中写[超链接文字][超链接标记],在文本的任意位置添加[超链接标记]:超链接地址 "超链接提示"。链接地址与链接标题中间有一个空格。超链接提示是当鼠标悬停在超链接上时显示的提示内容。

另一种写法是,如果超链接文字本身可以做为超链接标记,你也可以在文中写[超链接文字][],然后在文本的任意位置添加[超链接文字]:超链接地址 "超链接提示"。

示例:

我经常去的几个网站[Google][1]、[Leanote][2]以及[自己的博客][3]
[Leanote 笔记][2]是一个不错的[网站][]。
[1]:http://www.google.com "Google"
[2]:http://www.leanote.com "Leanote"
[3]:http://http://blog.leanote.com/freewalk "梵居闹市"
[网站]:http://http://blog.leanote.com/freewalk

自动链接[3]

只要是用<>包起来,Markdown就会自动把它转成链接。

示例:

<http://www.baidu.com>

效果:

http://www.baidu.com

7. 列表

无序列表

无序列表用- + *任何一种开头都可以。注意- + *跟内容之间要有一个空格。

示例:

- 列表内容1
+ 列表内容2
* 列表内容3

有序列表

有序列表用数字加点为开头。注意序号跟内容之间要有一个空格。

示例:

1. 列表内容1
2. 列表内容2
3. 列表内容3

列表嵌套

在VS Code里用Tab键就能使用列表嵌套的功能,上一级与下一级的序号之间相差2个空格(也有配置成3个空格的)。

示例:

* 列表1
  * 二级列表1
    * 三级列表1
* 列表2
  * 二级列表2
    * 三级列表2
* 列表3

1. 列表1
   1. 二级列表1
      1. 三级列表1
2. 列表2

8. 表格

每一行用|分割列。第二行分割表头和内容,可以在这里控制该列的对齐方式。左边有:表示左对齐,右边有:表示右对齐,两边都有:表示居中对齐,中间的-是为了占满空间。

VS Code有自动对齐表格功能,自动填充表格第二行的填充符-。可以Ctrl+Shift+P后输入format进行格式化,或者使用快捷键Alt+Shift+F。因此在手动输入表格时,可以只输入一个填充符-,以及为了对齐使用的:,写完后用格式化功能自动填充-对齐。

示例:

| 左对齐123456789 | 居中对齐123456789 | 右对齐123456789 |
| :-------------- | :---------------: | --------------: |
| 内容            |       内容        |            内容 |
| 内容            |       内容        |            内容 |

效果:

左对齐123456789 居中对齐123456789 右对齐123456789
内容 内容 内容
内容 内容 内容

9. 代码

单行代码,代码之间分别用一个反引号包起来。

示例:

`单行代码内容`

代码块,代码前后各一行用三个反引号包起来。下面的示例中,以>开头是为了防止转义,实际上是没有的。

示例:

> ```
> 代码块
> ```

10. 锚点[3]

锚点其实就是页内超链接,也就是链接本文档内部的某些元素,实现当前页面中的跳转。

在准备跳转到的指定标题后插入锚点{#标记},然后在文档的其它地方写上连接到锚点的链接。

示例:

## 0. 目录{#index}
跳转到[目录](#index)

11. 任务列表[4]

用[]表示未完成任务项,用[x]表示已完成任务项。快捷键Alt+C是对任务列表是否选中进行切换。

示例:

* [x] 选项一
* [ ] 选项二  
* [ ] 选项三

效果:

  • 选项一
  • 选项二
  • 选项三

二、需要转义的字符[5]

有一些字符在Markdown里有特殊含义的,在一般的文段里如果不需要有特殊含义,就要加上反斜杠\防止转义。这些需要转义的字符包括:

\\ 反斜杠
\` 反引号
\* 星号
\_ 下划线
\{\} 大括号
\[\] 中括号
\(\) 小括号
\# 井号
\+ 加号
\- 减号
\. 英文句号
\! 感叹号
  • \ 反斜杠
  • ` 反引号
  • * 星号
  • _ 下划线
  • {} 大括号
  • [] 中括号
  • () 小括号
  • # 井号
  • + 加号
  • - 减号
  • . 英文句号
  • ! 感叹号

三、markdownlint规范[6]

markdownlint是VS Code里推荐安装的Markdown语法规范插件,在看了给插件github上的文档后把常用的规范记录在此。有一些规范我感觉,有点强迫症的意思,一没遵守就会在VS Code里报警告,真令人头疼。。

  1. 以#开头的标题层级,一次只能增加一级,不能从#直接到下一个是###。
  2. 全文开始得由一个一级标题#开始。
  3. 全文使用的无序列表的序号必须使用一致,也就是说* - +全文必须统一使用一个。
  4. 同一级别的列表项缩进必须一致,可以左对齐也可以右对齐。
  5. 不缩进顶层列表项。
  6. 无序列表缩进默认是2个空格。
  7. 每一行不能有尾随空格。
  8. 链接语法不能用错了,是[]()而不是()[]。
  9. 每个部分之间不能有多个连续的空白行。也就是强迫你每一段之间以一行空白行分割。
  10. 标题与#符号之间有一个空格。
  11. #开头的标题必须在行首。
  12. 不能有具有相同内容的多个标题。
  13. 同一个文档内不能出现多个一级标题。
  14. 标题中最后不能出现标点符号。
  15. 引用中>后面必须有一个空格。
  16. 每个使用``````的代码块前后均要具有空白行。
  17. 列表项前后应由空行包围。
  18. 直接使用的链接需要由<>符号包围。
  19. 在一个文档中水平线必须使用同一种格式,包括---、- - -、***或者****。
  20. 使用强调代替标题,就是说一行只有粗体或者斜体的字体的话,不是用字体强调而是用标题。
  21. 使用字体格式的加粗、斜体等,在*和_符号旁边不能出现空格。
  22. 在单行代码``符号旁边的内容不能出现空格。
  23. 链接的[和]符号旁边不能出现空格。
  24. 代码块```后面要声明使用的语言。
  25. 不能使用空链接。[一个空链接](),这样是不允许的。
  26. 图片应该具有替代文字,也就是图片提示语。
  27. 文档应该以一个空白行结尾。

参考资料


  1. Markdown基本语法,高鸿祥

  2. Markdown语法介绍(详细),阿飞__

  3. Markdown 语法手册 (完整整理版),witnessai1

  4. Markdown 语法整理大集合2017,欧薇娅

  5. markdown 需要转义的字符,山茶树和葡萄树

  6. markdownlint/doc/Rules.md

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