Markdown基本语法
MarkDown介绍
Markdown是一种轻量级的标记语言,可用于将格式设置元素添加到纯文本文档中。Markdown 由John Gruber于2004年创建,如今已成为世界上最受欢迎的标记语言之一。
多级标题
使用#号标记
使用**#号可表示1-6级标题,一级标题对应一个#号,二级标题对应两个#**号,以此类推。
1 | # 一级标题 |
使用=和-标记一级和二级标题
在文本下方的行上,添加任意数量的=
字符表示标题级别1,任意数量的-
字符表示标题级别2。
1 | 我展示的是一级标题 |
段落
Markdown段落没有特殊的格式,直接编写文字就好,段落的换行是使用两个以上空格加上回车。当然也可以在段落后面使用一个空行来表示重新开始一个段落。
1 | This is the first line. |
字体
粗体
要加粗文本,在单词或短语的前后添加两个星号或下划线。要加粗一个单词的中部以强调,在字母周围添加两个星号,且各空格之间不加空格
1 | I just love **bold text**. |
斜体
要斜体文本,在单词或短语的前后添加一个星号或下划线。要斜体突出单词的中间部分,在字母周围添加一个星号,中间不要带空格。
1 | Italicized text is the *cat's meow*. |
粗体和斜体
要同时突出显示带有粗体和斜体的文本,请在单词或短语的前后添加三个星号或下划线。
1 | ___粗斜体文本___ |
块引用
Markdown 块引用是在段落开头使用>
符号 ,然后后面紧跟一个空格符号。块引用可以包含多个段落,只要在块引用内增加由块引用符号开启的空行即可。块引用可以包含其他Markdown格式的元素,支持类似于加粗、代码块、列表、表格等。
1 | > 最**外层** |
最外层
一层嵌套1
一层嵌套2
二层嵌套
返回到最外层
直接的七层块引用
列表
Markdown支持有序和无序两种列表,无序列表可以通过*,+,-
三种方式定义无序列表,有序列表通过数字.
的形式定义有序列表。要在保留列表连续性的同时在列表中添加另一个元素,将该元素缩进四个空格或一个制表符。
无序列表
通过 *、+、-
三种方式定义的无序列表,这三种方式的发布后的效果一样,都会被转换<ul><li></li></ul>
。
1 | 使用星号生成无序列表 |
使用星号生成无序列表
- 项目1
- 项目2
- 项目3
使用加号生成无序列表
- 项目1
- 项目2
- 项目3
使用减号生成无序列表
- 项目1
- 项目2
- 项目3
有序列表
通过数字.
的形式定义有序列表,有序列表在发布后会被转化为<ol><li></li></ol>
。
1 | 使用数字实现有序列表 |
使用数字实现有序列表
- 项目1
- 项目2
- 项目3
源码中的数字与渲染后的数字并不一一对应,但可以决定列表的开始序号
例如,让Markdown渲染器自动安排序号:
- 项目1
- 项目2
- 项目3
让有序列表以“2”开头:
- 项目1
- 项目2
- 项目3
代码
行内代码
行内代码用一对 反引号`
符号将需要转换的文字内容包括起来,它让我们方便地在行内编辑带有特殊字符的文字内容。如果表示为代码的文字包含一个或多个反引号,可以通过将代码的文字括在 一对双反引号`
中来对其进行转义。
1 | 行内的 html 代码:`<head><title>网页标题</title></head>` |
行内的 html 代码:<head><title>网页标题</title></head>
行内的 json 代码:var json = {key: value};
这段代码里包含反引号 select `state` from user;
代码块
在 Markdown 文件中,在行首添加 4 个连续的空格或者一个制表符(Tab 键),可将行内容定义为代码块。
1 |
|
围栅代码块
代码块的另一种定义方式是以三个连续的 反引号`
作为开始行和结束行。在这种方式下,还可以声明代码的高亮样式,方法是在首行反引号后面加入源代码语言的标记,比如:javascript、Markdown、json、java、c++、sql 等。
1 | pubic static void main(String[] args) { |
水平线
通过输入三个或更多的减号 -
、星号*
、下划线_
的方式创建一条相当于 HTML 语法中 <hr/>
一样的分隔线。这三个符号之间可以包含空格。建议在文章中都是用下划线 _
,作为换行的输入,这样避免语义错误,同时与 Word 的方式更加接近。
1 | 使用「星号」作为分割线 |
链接
要创建链接,将链接文本括在方括号(例如[label])中,然后用一对紧跟中括号的小括号描述目标链接,小括号内不仅可以包含链接的地址,也可以用引号 “ “设定链接的标题。当一个超链接在文章中反复出现时,可以使用全局声明的形式,减少文章编写的工作量,可以通过变量来设置一个链接,变量赋值在文档末尾进行。
1 | 声明超链接 |
图片
在Markdown文件中,使用 ![alt 属性文本](图片地址 "可选标题")
的形式定义图片。当一张图片在文章中反复出现时,可以使用全局声明的形式,减少文章编写的工作量。
1 | 插入图片 |
辅助线
辅助线是文字格式的一种,常见形式如下划线和中划线,下划线可用于圈出文字中需要注意的部分,删除线可用于表示文字中已经失效的内容。
中划线
Markdown 语法里的辅助线包含中划线(删除线)一种形式,中划线使用波浪线 ~
来描述。
1 |
|
这是一个删除线
这是一条删除线
当删除线内部紧跟 “空格” 时,删除线效果会失效。
有效的删除线
~~失效的删除线 ~~
~~ 失效的删除线 ~~
~~ 失效的删除线~~
下划线
Markdown 的原生语法没有定义 “下划线” ,因为 “下划线” 效果容易和 “超链接” 相混淆。如果需要在文章中添加下划线,需要使用 HTML 标签,下划线可以通过 HTML 的 <u> 、<ins>
标签来实现。
1 | 下划线使用 html 语法的 ins 标签实现 |
下划线使用 html 语法的 ins 标签实现
这是一个下划线
下划线使用 html 语法的 u 标签实现
带下划线文本