Markdown使用要领简介
# Markdown使用要领简介
Markdown 是一种轻量级标记语言,创始人为 John Gruber。它允许人们「使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者HTML)文档」。——维基百科
# Markdown语法
原生的 Markdown 语法只包含了最基础的一些特性,例如:标题、加粗、斜体、段落、引用、超链接、图片、列表、代码块、水平分割线等。而一些自定义实现的编辑器,则有一些自定义的实现,例如:数学公式、TODO列表等。所以当你看到有一些语法在一个编辑可以用,但到另一个编辑器又用不了的时候,那么这个语法可能就不是通用的 Markdown 原生语法了。
下面简单介绍一些常用的 Markdown 语法。
# 引用
使用 >
符号来表示引用。
开头+空格+文字,按换行键换行,双按换行跳出
普通引用
空格 + 引用文字:在引用的文字前加>+空格即可,引用可以嵌套。
>这是引用的内容
>>这是引用的内容
这是引用的内容
这是引用的引用的内容
# 菜单
输入[TOC]即可产生菜单,菜单会自动更新
# 段落
# 标题
使用 #
号来表示标题。
开头#的个数表示,空格+文字。标题有1~6个级别,#表示开始,按换行键结束
# 一级标题 快捷键为 Ctrl + 1
## 二级标题 快捷键为 Ctrl + 2
......
###### 六级标题 快捷键为 Ctrl + 6
# 分段
按换行键[Enter]建立新的一行,按Shift
+Enter
可以创建一个比段落间距更小的行间距。可在行尾插入打断线<br/>
,禁止向后插入
# 序列
# 无序序列
开头*/+/- 加空格+文字,可以创建无序序列,换行键换行,删除键+shift+tab跳出
# 有序序列
开头1.加空格+后接文字,可以创建有序序列例:
- 第一个无序序列
- 第二个无序序列
- ······
- 第一个有序序列
- 第二个有序序列
- ······
# 可选序列
开头序列+空格+[ ]+空格+文字,换行键换行,删除键+shift+tab跳出例如:
- [ ] 第一个可选序列
- [ ] 第二个可选序列
- [ ] 第三个可选序列
- [x] 第四个可选序列
- [ ] 第一个可选序列
- [ ] 第二个可选序列
- [ ] 第三个可选序列
- [x] 第四个可选序列
# 字体
# 斜体
用**
括住
*这是斜体字体*
这是斜体字体
# 加粗
开头**
,结尾**
。
**这是加粗字体**
这是加粗字体
# 加粗斜体
开头***
,结尾***
***加粗斜体***
加粗斜体
# 删除线
开头~~
,结尾~~
。
~~这是错误文字~~
这是错误文字
# 下划线
使用HTML标签下划线
<u>下划线</u>
<u下划线
# 高亮
需要自己在偏好设置里面打开这项功能
==高亮==
==高亮==
# 图表
# 链接
使用 []()
来表示链接,中括号表示链接文字,小括号表示链接地址。
输入网址,单击链接,展开后可编辑
ctr+单击,打开链接
常用链接方法
文字链接 [链接名称](http://链接网址)网址链接 <http://链接网址>
例如:https://www.baidu.com (opens new window)
# 图片
文本文档中有使用图片内容,如果需要发布在各个兼容Markdown的软件平台,需要预先上传文档中的图片至图床,再通过对图床的图片链接调用,才能正常显示,否则各个平台将无法看到该文档图片。
使用![]()
表示图片。其中中括号表示图片未加载时的提示文字,小括号表示图片地址。

# 表格
在 Markdown 中插入表格一直是一件比较头疼的事情。在一般的 Markdown 编辑器中,你可以通过以下的格式插入表格:开头|+列名+|+列名+|+换行键,创建一个2*2表格,Ctrl+Enter
可建立新行。
| 左对齐 | 右对齐 | 居中对齐 |
| :-----| ----: | :----: |
| 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 |
使用一根竖线来分隔各个单元格,使用冒号来决定单元格的对齐方向。
# 代码块
# 代码
我们使用 ` 号来表示代码引用。
Use the `printf()`function.
Use the printf()
function.
# 区域元素
行内输入代码块快捷键: Ctrl + Shift + K
- 开头```+语言名,开启代码块,换行键换行,光标下移键跳出 示例:
print("hello,python!")
# 分割线
使用 ---
来表示分割线
***---
# 数学式
打开数学公式的编辑栏。
- 点击“段落”—>“公式块”
- 快捷键Ctrl+Shift+m
“$$”+回车
$\lim_{x\to\infty}\exp(-x)=0$
示例:
输入$,然后按ESC键,之后输入Tex命令,可预览
例如:
$\lim_{x\to\infty}\exp(-x)=0$
下标使用~~括住内容。需要自己在偏好设置里面打开这项功能
H~2~O
H~2~O
使用^括住内容。需要自己在偏好设置里面打开这项功能
y^2^=4
y^2^=4
# 表情
支持添加emoji表情,输入不同的符号码(两个冒号包围的字符)可以显示出不同的表情。
以:开始,然后输入表情的英文单词,以:结尾,将直接输入该表情.例如:
:smile
:cry
:happy
# 脚注
在需要添加脚注的文字后面+[+^+序列+],注释的产生可以鼠标放置其上单击自动产生,添加信息
或人工添加+[+^+序列+]
脚注产生的方法[^footnote].
[^footnote]:这个就是"脚注"
脚注的产生方法[^1]
# URLs
用<>括住url,可手动设置url对于标准URLs,可自动识别
<www.baidu.com>
<www.baidu.com>
# 常见错误速查
MD001 - Heading levels should only increment by one level at a time 标题级数每次只能扩大1, 也就是不能隔级创建标题(从1级到6级的顺序)
MD002 - First heading should be a top level heading 文档的第一个标题必须是最高级的标题(标题等级1级到6级逐渐降低)
参数: "level":指定最高级标题的级数,默认是1
MD003 - Heading style 整篇文档要采用一致的标题格式
参数: "style":字符串,指定文档标题的格式,有("consistent", "atx", "atx_closed", "setext", "setext_with_atx", "setext_with_atx_closed")五种,默认是"consistent",也就是整篇文档一致
标题格式必须统一,一般不能混用,但"setext_with_atx", "setext_with_atx_closed"格式可以在"setext"格式二级标题后接着使用"atx"或"atx_closed"格式的标题
MD004 - Unordered list style 整篇文档定义无序列表的格式要一致
参数: "style":字符串,指定无序列表的定义格式,有("consistent", "asterisk", "plus", "dash", "sublist")五种,分别表示“定义时符号前后一致”,“用星号定义”,“用加号定义”,“用减号定义”,“定义多重列表时用不同的符号定义”,默认是"consistent"
MD005 - Inconsistent indentation for list items at the same level 同一级的列表缩进必须一致 在有序列表中,前面的数字序号可以左对齐,也可以右对齐
MD006 - Consider starting bulleted lists at the beginning of the line 1级列表不能缩进
MD007 - Unordered list indentation 无序列表嵌套缩进时默认采用两个空格
参数: "ident":指定无序列表嵌套时缩进的空格数,默认是2
MD009 - Trailing spaces 行尾最多可以添加两个空格,超过会给出警告,两个空格正好可以用于换行
参数: "br_spaces":指定在行尾可以添加的空格数目,空格数目建议大于等于2,如果小于2,会默认为0,也就是不允许任何行尾的空格 "list_item_empty_lines":字符串,指定在列表中是否(true or false)用默认的空格数缩进空行,有的解释器会要求列表中的空行要缩进
MD010 - Hard tabs 不能使用tab键缩进,要使用空格
参数: "code_blocks":指定本条规则在代码块里是否(true or false)生效
MD011 - Reversed link syntax 检查内联形式的链接的创建方式是否错误,中括号和圆括号是否用对
MD012 - Multiple consecutive blank lines 文档中不能有连续的空行,在代码块中此规则不会生效
参数: "maximum":指定文档中可以连续的最多空行数,默认值是1
MD013 - Line length 默认行的最大长度是80,此规则对代码块、表格、标题也生效
参数: "line_length":指定行的最大长度,默认是80 "heading_line_length":指定标题行的最大长度,默认是80 "code_blocks":指定规则是否(true or false)对代码块生效,默认true "tables":指定规则是否(true or false)对表格生效,默认true "hesdings":指定规则是否(true or false)对标题生效,默认true
MD014 - Dollar signs used before commands without showing output 在代码块中,终端命令前不需要有美元符号($) 如果代码块中既有终端命令,也有命令的输出,则终端命令前可以有美元符号($),如:
$ ls foo bar $ cat foo hello world MD018 - No space after hash on atx style heading 在"atx"格式的标题中,#号和文字间需用一个空格隔开
MD019 - Multiple spaces after hash on atx style heading 在"atx"格式的标题中,#号和文字间只能用一个空格隔开,不能有多余的空格
MD020 - No space inside hashes on closed atx style heading 在"closed_atx"格式的标题中,文字和前后的#号之间需用一个空格隔开
MD021 - Multiple spaces inside hashes on closed atx style heading 在"closed_atx"格式的标题中,文字和前后的#号之间只能用一个空格隔开,不能有多余的空格
MD022 - Headings should be surrounded by blank lines 标题行的上下行必须都是空行
参数: "lines_above":指定标题行上方的空行数,默认为1,可以设为更大或0 "lines_below":指定标题行下方的空行数,默认为1,可以设为更大或0
注意当此处的空行设为比1大的数时,规则MD012的设置也要改
MD023 - Headings must start at the beginning of the line 标题行不能缩进
MD024 - Multiple headings with the same content 文档不能有内容重复的标题
参数: "siblings_only":默认为false,设为true时,不同标题下的子标题内容可以重复
MD025 - Multiple top level headings in the same document 同一文档只能有一个最高级的标题,默认是只能有一个1级标题
参数: "level":指定文档最高级的标题,默认是1 "front_matter_title":字符串,指定在文档开头处的front matter中的标题,这个标题将作为整篇文档的最高级标题,如果文档中再次出现最高级标题,将会给出警告,另外,如果不想在front matter中指定标题,就把本参数的值设置为""
MD026 - Trailing punctuation in heading 标题行末尾不能有以下标点符号:".,;:!?"
参数: "punctuation":字符串,指定标题行尾不能有的标点符号,默认是".,;:!?"
此规则默认的是英文的标点符号,中文标点符号不在规则之内
MD027 - Multiple spaces after blockquote symbol 创建引用区块时,右尖括号 ( > ) 和文字之间有且只能有一个空格
MD028 - Blank line inside blockquote 两个引用区块间不能仅用一个空行隔开或者同一引用区块中不能有空行,如果一行中没有内容,则这一行要用>开头
MD029 - Ordered list item prefix 有序列表的前缀序号格式必须只用1或者从1开始的加1递增数字("one_or_ordered")
参数: "style":字符串,指定前缀序号的格式,("one","ordered","one_or_ordered","zero"),分别表示只用1做前缀,用从1开始的加1递增数字做前缀,只用1或者从1开始的加1递增数字做前缀,只用0做前缀,默认值是"one_or_ordered"
本条规则支持在前缀序号中补0,以实现对齐,如:
... 8. one
two
three ...
MD030 - Spaces after list markers 列表(有序、无序)的前缀符号和文字之间用1个空格隔开 在列表嵌套或者同一列表项中有多个段落时,无序列表缩进两个空格,有序列表缩进3个空格
参数: "ul_single","ol_single","ul_multi","ol_multi":分别规定无序列表单个段落,有序列表单个段落,无序列表多个段落,有序列表多个段落的前缀符号和文字之间的空格数,默认是1
MD031 - Fenced code blocks should be surrounded by blank lines 单独的代码块前后需要用空行隔开(除非是在文档开头或末尾),否则有些解释器不会解释为代码块
MD032 - Lists should be surrounded by blank lines 列表(有序、无序)前后需要用空行隔开,否则有些解释器不会解释为列表 列表的缩进必须一致,否则会警告
MD033 - Inline HTML 文档中不允许使用HTML语句
参数: "allowed_elements":自定义允许的元素,是一个字符串数组,默认是空(empty)
MD034 - Bare URL used 单纯的链接地址需要用尖括号 (<>) 包裹,否则有些解释器不会解释为链接
MD035 - Horizontal rule style 创建水平线时整篇文档要统一(consistent),要和文档中第一次创建水平线使用的符号一致
参数: "style":字符串,指定创建水平线的方式,值有:("consistent","***","---","___"),默认是"consistent"
MD036 - Emphasis used instead of a heading 不能用强调代替标题
参数: "punctuation":字符串,指定用于结尾的标点符号,以此符号结尾的强调不会被视为以强调代替标题,默认值是".,;:!?"
此规则会检查只包含强调的单行段落,如果这种段落不是以指定的标点符号结尾,则会被视为以强调代替标题,会给出警告
MD037 - Spaces inside emphasis markers 用于创建强调的符号和强调的的文字之间不能有空格
MD038 - Spaces inside code span elements 当用单反引号创建代码段的时候,单反引号和它们之间的代码不能有空格 如果要把单反引号嵌入到代码段的首尾,创建代码段的单反引号和嵌入的单反引号间要有一个空格隔开
MD039 - Spaces inside link text 链接名和包围它的中括号之间不能有空格,但链接名中间可以有空格,如:
百 度 (opens new window) MD040 - Fenced code blocks should have a language specified 单独的代码块(此处是指上下用三个反引号包围的代码块)应该指定代码块的编程语言,这一点有助于解释器对代码进行代码高亮
MD041 - First line in file should be a top level heading 文档的第一个非空行应该是文档最高级的标题,默认是1级标题
参数: "level":指定文档最高级的标题,默认是1 "front_matter_title":字符串,指定在文档开头处的front matter中的标题,这个标题将作为整篇文档的最高级标题,另外,如果不想在front matter中指定标题,就把本参数的值设置为""
MD042 - No empty links 链接的地址不能为空
MD043 - Required heading structure 要求标题遵循一定的结构,默认是没有规定的结构("null")
参数: "headings":字符串数组,指定标题需要遵循的结构,默认是"null",可以自行指定结构,如;
[ "# head", "## item", "### detail", "" ] 星号()表示对应的标题是可选的,没有强制要求,本条具体可以参照MD043
MD044 - Proper names should have the correct capitalization 指定一些名称,会检查它是否有正确的大写
参数: "names":字符串数组,指定要检查需要大写的名称,默认是空("null") "code_blocks":指定本规则是否(true or false)对代码块生效,默认是true 一些经常使用的名称可以使用本规则防止其拼写错误,比如JavaScript中字母J和S需要大写,就可以写到参数"names"中,防止写错
MD045 - Images should have alternate text (alt text) 图片链接必须包含描述文本(alt text)
MD046 - Code block style 整篇文档采用一致的代码格式
参数: "style": 字符串,指定代码块定义格式,有("consistent","fenced","indented")三种,分别代表:文档上下文一致,使用三个反引号隔开,使用缩进,默认是上下文一致
MD047 - Files should end with a single newline character 文档需用一个空行结尾