Markdown 标题语法

若要创建标题,可以在标题内容前面添加 # , # 的数量多少表示这是几级标题

1
2
3
4
例如:
# 一级标题
## 二级标题
### 三级标题

注意:为了稳定,需要在代表标题等级的 # 符号后表述完成后,与你的标题正文中使用空格来进程分隔

如何避免转义

在需要避免转义的语法前添加 \ 即可


Markdown 段落语法

若想新建一个段落,可以使用Enter键换一行或多行来实现,并且多行只会被识别成一行。若想换多行,请见下一节


Markdown 换行语法

若想在Markdown中换一行,可以在行末添加两个以上空格然后再按Enter键(不推荐),或者直接按Enter键(推荐)。

多次换行

若想一次性进行多次换行,可以在行末添加<br>


Markdown 强调语法

粗体

若要加粗文本可以在需要加粗的文本前后各添加两个 *_ 来实现文本 加粗

斜体

若要斜体显示文本,可以在要斜体显示的文本前后各添加一个 *_ 来实现文本 斜体

粗体并斜体

若要使文本加粗并斜体显示,可以在要实现此效果的文本前后添加三个 *_ 来实现文本 加粗并斜体


Markdown 引用语法

要创建块引用,可以在要引用的文本前加一个 > 符号

1
>引用内容

效果如下:

这是一些引用内容

多个段落的块引用

块引用可以包含多个段落。为段落之间的空白行添加 > 即可

1
2
3
>多个段落的引用
>
>多个段落的引用

效果如下

这是一些引用内容

这是一些引用内容

嵌套块引用

1
2
3
>some thing
>
>>some thing

效果如下

some thing

some thing

带有其他元素的块引用

块引用可以包含其他 Markdown 格式的元素。但是并非所有元素都可以引用,需要自行实践。

1
2
3
4
5
6
> #### The quarterly results look great!
>
> - Revenue was off the chart.
> - Profits were higher than ever.
>
> *Everything* is going according to **plan**.

效果如下

The quarterly results look great!

  • Revenue was off the chart.

  • Profits were higher than ever.

    Everything is going according to plan.


Markdown 列表语法

可以将多个条目组织成或有序列表。

有序列表

若要创建有序列表,可以在每一个列表项前添加数字并紧跟一个英文句点 . ,数字可以不用按顺序排列,但是推荐以1进行起始

1
2
3
1. text
2. text
3. text

或者不按顺序

1
2
3
1. text
1. text
1. text

或者

1
2
3
1. text
9. text
5. text

效果如下

  1. text
  2. text
  3. text

无序列表

若要创建无序列表,可以在每一个列表项前面添加 - 或者 * 或者 + ,缩进列表项可以创建嵌套列表

-

1
2
3
- text
- text
- text

*

1
2
3
* text
* text
* text

+

1
2
3
+ text
+ text
+ text

嵌套

1
2
3
4
5
- text
- text
- text
- text
- text

效果如下

常规

  • text
  • text
  • text

嵌套

  • text
  • text
    • text
    • text
  • text

在列表中嵌套其他元素

若要在保留列表的结构的前提下在列表中添加另一种元素,请将该元素缩进四个空格或者一个制表符,如下列所示

段落

1
2
3
4
5
6
* text
* text

another text

* text

效果如下

  • text

  • text

    another text

  • text

引用块

1
2
3
4
5
6
* 一些无序列表项
* 另一些无序列表项

>另外一些块项目

* 无序列表项

效果如下

  • 一些无序列表项

  • 另一些无序列表项

    另外一些块项目

  • 无序列表项

代码块

代码块通常采用四个空格或者一个制表符来缩进,当这些代码块在列表中时,你需要将他们缩进八个空格或者两个制表符

1
2
3
4
5
6
7
8
1. 一些代码
2. 一些东西
<html>
<head>
<title>TEST</title>
</head>

3. balabala

效果如下

  1. 一些代码

  2. 一些东西

    <html>
      <head>
        <title>TEST</title>
      </head> 
    
  3. balabala……..

图片

图片在被放在列表中也请使用一个制表符或四个空格来缩进

1
2
3
4
1. 巴拉巴拉
2. 巴拉巴拉
![someinmage](png1.png "一张图片")
3. 巴拉巴拉

效果如下

  1. 一些内容
  2. 一些内容
    someinmage
  3. 一些内容

列表

你可以在一个有序列表中放入一个无序列表,也请使用一个制表符或者四个空格来缩进

1
2
3
4
5
6
1. First item
2. Second item
3. Third item
- Indented item
- Indented item
4. Fourth item

效果如下

  1. First item
  2. Second item
  3. Third item
    • Indented item
    • Indented item
  4. Fourth item

Markdown 代码语法

若要将一段单词或短语表示为代码,请在要标记的单词前后各加一个 `` `

1
一些文本和一些`代码`

效果如下

一些文本和一些代码

转义反引号(`)

若代码中也有反引号,可以代码包裹在 ``` ` 中

1
``代码中包括`反引号`的部分``

效果如下

代码中包括`反引号`的部分

代码块

若要创建代码块,请将代码块中的代码每一行后缩进四个空格或者一个制表符

1
2
3
4
<html>
<head>
</head>
</html>

效果如下

<html>
  <head>
  </head>
</html>

围栏式代码块

若要创建不缩进的代码块,请在代码块的开头及末尾的单独一行使用 ```` `

1

一些代码
一些代码

1

效果如下

1
2
一些代码
一些代码

Markdown 分割线语法

要创建一条水平分割线,可以在单独一行上使用三个或以上 *-_ ,并且不能包含其他任何内容,推荐在使用分割线的单独行上下都进行空行

1
2
3
4
5
6
7
***


---


___

上面三种效果都一样如下


Markdown 链接语法

若要创建一个超链接,你可以将超链接要显示的文本放在 [] 内,连接地址紧跟着放在 ()

1
这是一个超链接 [xiaoyiovo的博客](xiaoyiovo.top)

效果如下

这是一个链接 xiaoyiovo的博客

给连接增加标题

简介的标题是鼠标悬浮在超链接上会显示的内容,可选,若要添加标题,你可以在包裹着连接地址的 () 内,放在链接后以空格分隔并用 "" 包裹

1
这是一个链接 [xiaoyiovo的博客](xiaoyiovo.top "一个小小博客")

效果如下

这是一个链接 xiaoyiovo的博客

网址和E-Mail地址

使用 < > 可以很方便的把URL或者E-Mail地址变成可点击的链接

1
2
<xiaoyiovo.top>
<mail@expmple.com>

效果如下

https://www.xiaoyiovo.top
<mail@expmple>

带强调或其他格式化的链接

若要给链接进行 强调 ,可以在链接前后使用和强调语法相同的方式来给链接进行强调,若要将链接表示为代码,请在链接语法的 [] 内使用 `` `来包裹代码内容

1
2
3
带强调的超链接 **[blog主页](xiaoyiovo.top)**
带斜体的超链接 *[blog主页](xiaoyiovo.top)*
表示为代码的超链接 [`code`](#9.0.3)

带强调的超链接 blog主页
带斜体的超链接 blog主页
表示为代码的超链接 code

锚点链接

若要创建锚点链接,笔者没有找Markdown的语法,故用html语法,可以达到效果,直接使用 <span> </span> 标签对,直接在Markdown中这样写

1
<span id="9.0.4">要创建锚点链接的文本</span>

效果如下

要创建锚点链接的文本

使用锚点链接

若要使用锚点链接,语法类似超链接,使用 [] 包裹锚点链接要显示的文本,后面紧跟 (#在p标签内设置的id) 以下是链接到上方文本的锚点链接示例

1
[跳转至id为9.0.4的文本的锚点链接](#9.0.4)

效果如下

跳转至id为9.0.4的文本的锚点链接


Markdown 图片语法

若要添加图像,可以使用 ! ,后面紧跟图片的替代文本包裹在 [] 之中,之后再紧跟图片的链接包裹在 () 之中,如果你想,还可以在图片的链接后面添加图片标题用 "" 包裹并和图片链接用空格分隔

1
2
![图片替代文本](图片链接 “图片标题”)   #语法格式
![一张图片](png2.jpg "小图片") #示例

效果如下

一张图片

使用本地图片

若要使用本地图片,首先需要将如片放入你的Markdown文件同名的文件夹内,推荐在根目录下的_config.yml文件中修改此项

1
post_asset_folder: true

这样就可以在git中使用hexo new命令后自动创建同名资源文件夹

之后再图片链接处直接填上图片的全名

例如

1
2
![图片替代文本](图片链接 “图片标题”)   #语法格式
![一张图片](png2.jpg "小图片") #示例

效果如下

一张图片

但是有时这样做可能会不起作用,你需要在git中安装这个包

1
npm install https://github.com/CodeFalling/hexo-asset-image –save

安装完毕后即可如此使用,但是在例如Typora、MarkText这些编辑器中无法正常预览图片,这是正常的,并且笔者也没有找到解决方法,但是你可以使用如下命令静态部署至本地来查看效果

1
2
3
hexo clean
hexo g
hexo s

链接图片

若要给图片增加链接,你可以把图片的Markdown语法用 [] 包裹,并在后面紧跟链接并用 () 包裹

1
[![一张图片](png3.jpg)](xiaoyiovo.top)

效果如下

一张图片


Markdown 转义字符语法

若要显示原本用于语法的Markdown字符,可以在字符前面添加 \

1
2
\* 若是不加"\"符号,这将会被转义为一个无序列表
\* 若是不加"\"符号,这将会被转义为一个无序列表

效果如下

* 若是不加”"符号,这将会被转义为一个无序列表

* 若是不加”"符号,这将会被转义为一个无序列表

可以被被转义的字符

字符 名称
\ 反撇
` 反引号
* 星号
_ 下划线
{ } 大括号
[ ] 中括号
# 警号
+ 加号
- 减号/杠
.
! 叹号

特殊字符自动转义

在HTML文件中,有两个字符需要特殊处理 <&< 符号用于起始标签,& 用于标记HTML实体,如果你只是想使用这些符号,你必须要使用实体的方式,比如 &lt;&amp;

Markdown允许你直接使用这些符号,它会自动帮你转义


Markdown 内嵌HTML标签

对于Markdown涵盖之外的标签,都可以直接在文件里变直接使用HTML语法,不需要额外标注这是HTML语法或是Markdown语法,使用时只需将HTML标签添加到Markdown文本中

行内标签

HTML的行级标签如 <span></span> <cite></cite> <del><del> 不受限制,可以在Markdown的段落,列表,或是标题里任意使用,若你习惯,你可不用Markdown语法而直接使用HTML语法,比如图片和链接语法对于一些人来说使用HTML语法会更方便

HTML行内标签和块标签是不同的,在行内标签内使用Markdown语法是会被正常解析的

1
2
这是一个**粗体**文本,这是一个<em>斜体</em>文本
<em>这是一段斜体文本中的**粗体并斜体文本**</em>

效果i如下

这是一个粗体文本,这是一个斜体文本
这是一段斜体文本中的粗体并斜体文本

块标签

若要使用块标签如 <div></div> <table></table> <pre></pre> <p></p> 标签,必须在前后加上空行,以便于内容区分。而且这些元素的开始于结尾标签,不可以用空格或tab来缩进

Markdown会自动识别这些区块元素,避免在这些区块标签前后加上没有必要的其他标签,比如 <p></p> 标签

例如,在Markdown文件中加上一段HTML表格

1
2
3
4
5
6
7
8
9
一个段落

<table>
<tr>
<td>balabala</td>
</tr>
</table>

一个段落

注意,Markdown语法在HTML块标签中不会被解析,比如你无法在HTML的块元素中使用Markdown的 *强调*


Markdown 表格

若要添加一个表格,请使用三个或多个 - 来创建每列的列标题,并使用管道符 | 来分隔每列,你可以在表的任意一端添加管道符

1
2
3
4
|第一列标题|第二列标题|
|--------|---------|
|内容 |内容 |
|sometext|sometext |

效果如下

第一列标题 第二列标题
内容 内容
sometext sometext

单元格宽度可以变化,所呈现的内容看起来相同

1
2
3
4
|第一列标题|第二列标题|
|---|---|
|内容|内容|
|sometext|sometext|

效果如下

第一列标题 第二列标题
内容 内容
sometext sometext

对齐

你可以在标题行中连字符左侧,右侧或是两侧添加 : 来设定本列的左对齐,右对齐或是居中对齐

1
2
3
|左对齐列|居中对齐列|右对齐列|
|:---|:---:|---:|
|文本|文本|文本|
左对齐列 居中对齐列 右对齐列
文本 文本 文本

格式化表格中的文字

你可以在表格中添加强调文字链接代码(仅可已使用行内代码而非代码块)

你不可以添加标题,块引用,列表,水平线,图像和HTML标签

在表中转义管道字符

你可以在表格中使用HTML字符代码 &#124; 来在表中添加管道 | 字符


Markdown 任务列表语法

任务列表使你可以创建带有复选框的项目列表,若要创建任务列表,可以在任务列表项前添加 -[ ] 并在中间用空格分隔,若要让任务标记为已完成,可以在 [ ] 中间添加x,例如 [x]

1
2
3
- [x] 撰写第一篇Blog
- [ ] 学习C++
- [ ] 学习Python

效果

  • 撰写第一篇Blog
  • 学习C++
  • 学习Python

结束语

以上,就是笔者整理的所有比较常用的Markdown语法,文章内容大量参考了Markdown 官方教程中的内容并结合自己的实践做了一些修改,希望能帮助到正在看这篇文章的你,最后,感谢你的阅读,祝你生活愉快,学习顺利