markdown语法
markdown语法
一个好用的markdown编辑器:remarkable,此外windows平台推荐用ghostwriter.
标题
在标题文字前添加'#'(注意要空格),多个'#'代表多级标题,最多6级。
可在文本下方添加任意数量的'='来标识一级标题,或者'-'来标识二级标题。
注:标题之前要有空行。
段落
创建段落使用空白行分隔文本。不要用空格或制表符缩进文本。
换行
行尾添加两个或多个空格,即可换行(也可使用行尾\来换行)。
或者使用HTML的"<br>"标签进行换行(推荐)。
粗体和斜体
要强调文本,在其前後各添加星号'*'或下划线'_',推荐用星号,一个星号代表斜体,两个代表粗体,三个代表粗斜体。
块引用
要创建块引用,在段落前添加一个'>'符号,多个段落的块引用需要在其空行也添加'>'符号。
块引用可嵌套,需嵌套的段落前添加一个
">>"符号,可以多级嵌套(多个'>')。块引用内可以使用其他markdown语法,包括标题、列表、代码区块等。
列表
列表可以嵌套,使用Tab进行嵌套;也可以带换行符"<br>"。
有序列表
- 要创建有序列表,在每个列表项前添加数字并紧跟一个英文句点。
- 数字不必依序排列,
但应当以'1'起始。
- 数字不必依序排列,
无序列表
- 要创建无序列表,在每个列表项前添加一个
'-','*'或'+'。 - 无序列表可以和有序列表互相嵌套使用。
- 列表项之间可以添加其他元素,为保持连续性,使用四个空格或一个制表符(Tab)缩进。
代码
文本表示为代码,需用反引号`包裹,转义反引号用双反引号包裹。
要创建代码块,将其每一行缩进至少四个空格或一个制表符。
分隔线
创建分隔线,需在单独的一行上使用三个及以上的星号'*'、减号'-'或下划线'_',不能包含其他内容,且前後均添加空白行。
链接
注意:链接地址若包含空格,请使用" "或" "或"%20"代替。
超链接
[链接显示名](链接地址 "链接title")
链接title可选,鼠标悬停在链接上时,会出现链接title的文字。
简单链接
<URL地址> 或 <email地址>
使用尖括号包裹链接地址即可。
链接可以带格式,可以在链接语法前後加星号以设定粗、斜体,链接显示名还可以用代码格式(反引号包裹)。
引用类型的链接
[显示文本] [标签]
两个方括号之间也可以无空格,第二个方括号中的标签不区分大小写(可以包含字母、数字、空格、标点符号)。
显示文本和标签一样,则可用省去标签。
标签URL:
[标签]: URL "title"
与引用链接配合使用,单独占一行,标签对应,URL可用可不用尖括号包裹,title亦可以用单引号或小括号包裹。
页内锚点
引用格式:
[显示文本](#aid "title")
引用页内锚点,只需要用"#aid"作超链接地址,aid是锚点名,不能包含中文,title可选。
也可用html标签引用锚点:
<a href="#aid">显示文本</a>`<br>
定义锚点:使用html标签,格式如下:
<a name="aid">显示文本</a>
或者使用格式(html5不支持a标签的name特性):
<label id="aid">显示文本</label>
label可以使用html支持的各类标签类型。
图片
在超链接语法之前添加一个感叹号,以做为图片,格式:

图片链接可以是本地路径(绝对路径或相对路径),也可以是URL路径。
转义字符
要显示用于格式化markdown文档的字符,使用'\'转义(添加到字符前面)。
可转义字符,有:'\','*','_','{','}','[',']','(',')','#','+','-','.','!','|'以及`反引号字符。
特殊符号自动转义:
html中,'<'和'&'需要特殊处理,'<'用于起始标签,'&'用于标记html实体,需使用这些符号则必须以实体形式:"<"和"&"
而markdown允许直接使用这些符号,若'&'作为html实体的部分则不转换,否则在导出的html中被转换为"&",此类状况亦發生在'<'上。
需要特别注意的是,在markdown的块级元素(段落和换行、标题、块引用、列表、代码块、分隔线)和内联元素(链接、强调、代码)中,'<'和'&'两个符号都会被自动转换成html实体。
内嵌HTML标签
行级内联标签,如<span>,<cite>,<del>等不受限制,可在markdown的段落、列表或标题里任意使用。
区块标签,如<div>,<table>,<pre>,<p>等,必须在前後加上空行,而且这些元素的开始与结尾标签不可以用Tab或空格缩进。
注释
- HTML注释:
<!-- comment --->,在大多数markdown解释器中都有效。 - 三个减号的HTML注释:
<!--- comment -->是用于注释,可能某些软件处理时不会将之添加到HTML源码。 - 标签URL注释:
[whatever]: # (comment)或
[whatever]: <> (comment)或
[whatever]: comment,
推荐使用第一个形式,兼容性最佳,使用之不会添加到HTML源码。
- 预处理注释:
在行尾使用\字符以注释行尾到下一行行首的多个空格,这需要你先通过预处理器sed ":j;N;s/\\r\\n/\\n/g;b j" | sed ":j;N;s/\\\\\\n *//g;b j"来完成。
扩展语法
注意,扩展语法不是所有markdown编辑器都支持的。
表格
使用三个或多个连字符"---"创建每列的标题,并使用管道'|'分隔每列,如下:
| Syntax | Description | Test Text |
|---|---|---|
| Header | Title | Here's this |
| Paragraph| | Text | And more | |
- 管道
'|'可以不对齐,呈现的输出一样。 - 可以通过将多个连字符
"---"的左侧、右侧或两侧添加冒号':',将列中的文本 对齐到左侧、右侧或中心。 - 表格中文字格式,可以有链接和代码(仅反引号而不是代码块),不能有标题、 块引用、列表、水平规则、图像或HTML标签。
- 表格中使用
"|"或者'\|'表示管道字符'|'
围栏代码块
1 | |
脚注
引用格式:
[^脚注ID]
声明格式[1]:
[^脚注ID]: 尾注内容
标题id
在标题相同的行尾用大括号定义标题id,如下:
1 | |
用页内锚点的语法引用即可。
定义列表
要创建定义列表,在第一行键入术语,其後每行以冒号後跟一个空格开头定义,如下:
Second Term
: This is one definition of the second term.
: This is another definition of the second term.
删除线
要显示删除线,需在文本前後各添加两个波浪号"~~"
任务列表
任务列表的每行以"- [ ]"开头,需要选中则以"- [x]"开头,如下:
- Write the press release
- Update the website
Emoji表情
添加表情:将表情符号复制并粘贴到Markdown格式的文本中,或者键入emoji
shortcodes,例如::smile:等。
自动URL链接
键入URL会被markdown自动识别为链接,例如: http://localhost
- 不必在文档末尾添加脚注,可放在除列表、块引号和表格之类的其他元素之外的任何位置。 ↩