Markdown 基本语法

Markdown是一种纯文本格式的标记语言,通过简单的标记语法,可以使普通文本内容具有一定的格式,要想经营好自己的个人博客,对Markdown基础语法的掌握是必不可少的,文本对一些常用语法进行记录,便于后续使用中的回顾与查询。

一、标题

标题通过添加#符号进行实现,#的个数表示标题的级数,支持六级标题。

语法如下:

1
2
3
4
5
6
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

效果如下:

一级标题

二级标题

三级标题

四级标题

五级标题
六级标题

二、字体

  • 加粗: 将要加粗的文字左右分别用两个*包起来。
  • 倾斜: 将要倾斜的文字左右分别用一个*包起来。
  • 倾斜加粗: 将要倾斜加粗的文字左右分别用三个*包起来。
  • 删除线: 将要添加删除线的文字左右分别用两个~包起来。
  • 高亮: 将要高亮的文字左右分别用两个=包起来。
  • 键盘文字: 将键盘文字作用分别用<kbd>和<>包起来。
  • 下划线: 下划线通过html的<u>标签实现。
  • 上标: 上标通过html的<sup>标签实现。
  • 下标: 下标通过html的<sub>标签实现。

语法如下:

1
2
3
4
5
6
7
8
9
**这是加粗的文字**
*这是倾斜的文字*
***这是倾斜加粗的文字***
~~这是添加删除线的文字~~
==这是要高亮的文字==
复制文本的命令为:<kbd>ctrl</kbd> + <kbd>c</kbd>
<u>这是带下划线的文字</u>
这是<sup>上标</sup>
这是<sub>下标</sub>

效果如下:

这是加粗的文字

​ 这是倾斜的文字

​ 这是倾斜加粗的文字***

这是添加删除线的文字

​ ==这是要高亮的文字==

​ 复制文本的命令为:ctrl + c

这是带下划线的文字

​ 这是上标

​ 这是下标

三、区块引用

区块引用是在段落开头使用>符号,其后紧跟一个空格符号,区块引用可以嵌套,一个>符号是最外层,两个>符号是第一层嵌套,以此类推。

语法如下:

1
2
3
4
> 区块引用  
> 最外层
> > 第一层嵌套
> > > 第二层嵌套

效果如下:

区块引用

最外层 > 第一层嵌套 > > > 第二层嵌套

四、列表

(一)一般列表

Markdown支持有序列表和无序列表。无序列表用星号(*)、加号(+)或减号(-)作为列表标记,符号后跟一空格,再填写内容。有序列表使用数字加一个.号实现,后跟空格。除此之外还有检查列表。

语法如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
* 第一项
* 第二项
* 第三项

+ 第一项
+ 第二项
+ 第三项

- 第一项
- 第二项
- 第三项

1. 第一项
2. 第二项
3. 第三项

- [ ] 计划任务
- [x] 完成任务

效果如下:

  • 第一项
  • 第二项
  • 第三项
  • 第一项
  • 第二项
  • 第三项
  • 第一项
  • 第二项
  • 第三项
  1. 第一项
  2. 第二项
  3. 第三项
  • 计划任务
  • 完成任务

(二)列表嵌套

列表嵌套只需要在子列表中的选项前添加四个空格即可。

语法如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
* 第一项
+ 第一项的第一个元素
- 第一个元素的第一个元素
+ 第一项的第二个元素
* 第二项
+ 第二项的第一个元素
- 第一个元素的第一个元素

1. 第一项
1. 第一项的第一个元素
1. 第一个元素的第一个元素
2. 第一项的第二个元素
2. 第二项
1. 第二项的第一个元素
1. 第一个元素的第一个元素

效果如下:

  • 第一项
    • 第一项的第一个元素
      • 第一个元素的第一个元素
    • 第一项的第二个元素
  • 第二项
    • 第二项的第一个元素
      • 第一个元素的第一个元素
  1. 第一项
    1. 第一项的第一个元素
      1. 第一个元素的第一个元素
    2. 第一项的第二个元素
  2. 第二项
    1. 第二项的第一个元素
      1. 第一个元素的第一个元素

五、代码

  • 行内代码: 如果是段落上的一个函数或片段可以用单引号将其包起来(`)。
  • 段落代码: 如果是单独的一段代码,用三个反引号(```)将其包裹,同时可以在开始的三个反引号后指定某一种语言。

语法如下:

1
2
3
4
5
6
7
8
9
10
这是打印函数`printf()`  
这是函数片段:
```cpp (指定代码语言)
#include <iostream>
using namespace std;
int main() {
cout << "hello world" << endl;
return 0;
}
``` (用反引号包裹代码)

效果如下:

这是打印函数printf()

这是函数片段:

1
2
3
4
5
6
#include <iostream>
using namespace std;
int main() {
cout << "hello world" << endl;
return 0;
}

常用程序标识关键字:

语言 关键字
C cpp , c
Java java
Python py , python
PHP php
Shell bash , shell
C# c# , c-sharp , csharp
CSS css
JavaScript js , jscript , javascript
text text , plain
XML xml , xhtml , xslt , html
R r , s , splus
GO go , golang
AppleScript applescript
ActionScript 3.0 actionscript3 , as3
ColdFusion coldfusion , cf
Delphi delphi , pascal , pas
diff&patch diff patch
Erlang erl , erlang
Groovy groovy
JavaFX jfx , javafx
Perl perl , pl , Perl
Ruby ruby , rails , ror , rb
SASS&SCSS sass , scss
Scala scala
SQL sql
Visual Basic vb , vbnet
Objective C objc , obj-c
F# f# f-sharp , fsharp
matlab matlab
swift swift

六、链接

链接名称为显示文字,链接title为鼠标悬浮显示文字。

语法如下:

1
2
3
4
5
6
[链接名称](链接地址 "链接title")  
[链接名称](链接地址 '链接title')
[链接名称](链接地址 (链接title))

例:
这是百度首页:[点此进入](https://www.baidu.com/ '欢迎使用百度搜索')

效果如下:

这是百度首页:点此进入

七、图片

图片url可以是本地,也可以是网络,图片描述可以不写,图片title为鼠标悬停显示文字。图片默认居中,markdown无法调整大小,如有需要,可以使用标签。

语法如下:

1
2
3
4
5
![图片描述](图片url '图片title')

例:
![测试图片](https://skylark-blog.oss-cn-beijing.aliyuncs.com/img/test.jpg '这是一张测试图片')
<img src="https://skylark-blog.oss-cn-beijing.aliyuncs.com/img/test.jpg" width="200">

效果如下:

八、分割线

可以在一行中使用三个及以上的星号、减号、下划线建立分割线,同行内不能有其他内容,可以在星号或减号中添加空格。

语法如下:

1
2
3
4
5
6
* * *
*****
- - - -
---
_ _ _ _ _
___

效果如下: * * ** - - - - --- _ _ _ _ __

九、表格

表格使用 | 来分隔不同的单元格,使用-来分隔表头和其他行。可以设置表格的对齐方式:

-: 设置内容和标题栏右对齐

:- 设置内容和标题栏左对齐

:-: 设置内容和标题栏居中对齐

语法如下:

1
2
3
4
5
6
7
8
9
10
| 表头 | 表头 | 表头 |
| :--- | :---: | ---: |
| 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 |

可简化为:
表头 | 表头 | 表头
:-: | :-: | :-:
单元格 | 单元格 | 单元格
单元格 | 单元格 | 单元格

效果如下:

表头 表头 表头
单元格 单元格 单元格
单元格 单元格 单元格
表头 表头 表头
单元格 单元格 单元格
单元格 单元格 单元格

十、空格

  •   不换行空格。
  •   半角空格,为字体宽度一半。
  •   全角空格,等于字体宽度。

语法如下:

1
2
3
空格&nbsp;不换行空格  
空格&ensp;半角空格
空格&emsp;全角空格

该主题未实现空格显示,所以不做效果演示。

十一、回车

  • 在前一行末尾敲两个空格,实现换行。
  • 使用<br/>标签,实现换行。
  • 在两行之间加一空行,实现换行且两行间有一空行。

语法如下:

1
2
3
4
5
6
7
8
9
这是第一行  
这是第二行

这是第一行

这是第二行

这是第一行<br/>
这是第二行

效果如下:

这是第一行
这是第二行

这是第一行

这是第二行

这是第一行
这是第二行

十二、反斜杠

markdown中可以通过反斜杠实现转义,即将有特殊含义的符号作为普通符号显示出来。

语法如下:

1
2
\\  
\#

效果如下:


#