基本语法

Markdown 语法指南 #

Markdown是为网络书写者而生的方便“text-to-HTML”工具,它允许人们用一种易读易写的纯文本格式进行书写,然后将其转化成XHTML(或HTML)。

Markdown 的特点是“易读易写”,其中可读性是最重要的。一份使用 Markdown 格式撰写的文件应该可以直接以纯文本发布,并且看起来不会像是由许多标签或是格式指令所构成。

Markdown 语法的目标是:成为一种适用于网络的书写语言。

Markdown 不是想要取代 HTML,甚至也没有要和它相近,它的语法种类很少,只对应 HTML 标记的一小部分。Markdown 的构想不是要使得 HTML 文档更容易书写。在我看来, HTML 已经很容易写了。Markdown 的理念是,能让文档更容易读、写和随意改。HTML 是一种发布的格式,Markdown 是一种书写的格式。就这样,Markdown 的格式语法只涵盖纯文本可以涵盖的范围。
—— John Gruber

简介 #

文字的基本格式 #

倾斜 #

前后各一个 * (星号)或 _ (下划线符)包围的文本是倾斜文本。
*倾斜* 倾斜
_倾斜_ 倾斜
但不能*_ 一样一个的混用,像这样 *倾斜_

加粗 #

前后各两个 * (星号)或 _ (下划线符)包围的文本是倾斜文本。
**加粗** 加粗
__加粗__ 加粗

倾斜并加粗 #

*__倾斜并加粗__* 倾斜并加粗
_**倾斜并加粗**_ 倾斜并加粗

删除线 #

~~删除文本~~ 删除文本

高亮 #

==标记文本== 标记文本
**注:该功能不一定所有的 Markdown 都支持,可以使用 html 的 <mark> **

引用 #

单次引用 #

> 单次引用

单次引用

嵌套引用 #

> 嵌套引用1  
>> 嵌套引用2  
>>> 嵌套引用3  
>>   
>> 嵌套引用2  
>  
> 嵌套引用1  

嵌套引用1

嵌套引用2

嵌套引用3

嵌套引用2

嵌套引用1

标题 #

# + 空格 可以生成一级标题,也就是对应 html 里的 <h1> 标签,几个 # 就对应的几级标题,大部分的 Markdown 最多支持6级标题

#### 四级标题

##### 五级标题

###### 六级标题

四级标题 #

五级标题 #
六级标题 #

列表 #

Markdown列表有有序列表、无序列表、任务列表、嵌套列表四种。列表可以嵌套成多级列表。

有序列表 #

1. 注意,注意的前面有一个空格

  1. 注意,注意前面有一个空格

无序列表 #

+-*都可以用来标记无序列表

  • 这个用的+
  • 这个用的-
  • 这个用的*

任务列表 #

- [x] 已完成任务  
- [ ] 未完成任务  
  • 已完成任务
  • 未完成任务

嵌套列表 #

列表嵌套只需在子列表中的选项缩进四个空格即可

1. 任务一: 
    - 任务一嵌套的第一个元素  
    - 任务一嵌套的第二个元素  
2. 任务二: 
    - 任务二嵌套的第一个元素  
    - 任务二嵌套的第二个元素  
  1. 任务一:
    • 任务一嵌套的第一个元素
    • 任务一嵌套的第二个元素
  2. 任务二:
    • 任务二嵌套的第一个元素
    • 任务二嵌套的第二个元素

链接 #

网页链接 #

[要显示的文字](链接的地址),例:

[百度](www.baidu.com) |- 这里有填写前面要显示的文字    
[](www.baidu.com) |- 这里没有填写前面要显示的文字   

百度 |- 这里有填写前面要显示的文字
|- 这里没有填写前面要显示的文字

图片 #

![注释,可有可无](链接的地址),例:

![百度的logo](https://bkimg.cdn.bcebos.com/pic/b8014a90f603738da97755563251a751f81986184626?x-bce-process=image/watermark,image_d2F0ZXIvYmFpa2UyNzI=,g_7,xp_5,yp_5/format,f_auto)  

百度的logo

自动链接/邮箱 #

自动链接直接用一对尖括号包围即可,<https://wiki2.codeqs.com>,显示 https://wiki2.codeqs.com

代码 #

行内代码 #

使用 ` (键盘左上角1左边的那个键,不是单引号)包起来的部分
`代码片段` 显示 代码片段

代码块 #

使用 3 个 ` (同上)包起来的部分
``` 代码语言
代码块
```

#include <iostream>  
int main(void)
{
    std::cout << "hello world" << std::endl;
    return 0;
}

段落 #

如果是中文书写习惯,每一段的开头,都应该空4个英文字符的宽度。一般在word里,在段首可以直接按Tab键实现,但在 Markdown 中,这并不起作用。这就需要使用 html 来实现。

缩进 #

使用 html 的空格表示方法 &emsp;, &ensp;, &nbsp;

对齐 #

使用 html 的对齐方法 <p align="center">, <p align="right">, <p align="left">

换行 #

在行尾输入两个空格即可(敲击两下空格键)。

分割线 #

在标准 Markdown 中,分割线一般由连续的 3 个同样的-+*组成,只需这三个符号在同一行且没有字符(除了空格)即可,符号之间有没有空格不影响分割线的生成。如-- -+ + +***都可以。

表格 #

基本表格
基本的表格方法如下:

| Items | Prices|
| :--: | : -- : |
| Apple | 20$ |
| Banana | 25$ |

第一行:表头,两个符号|间的内容是标题;

第二行:可选,设置表中内容的对齐方式,默认是靠近显示,如下:

: --- : 设置内容水平居中对齐;

: --- 设置内容左对齐;

--- : 设置内容右对齐;

脚注 #

脚注[^1]  
[^1]: 这里是脚注  

脚注1

锚点跳转 #

有这么一种情况:浏览一个很长的文章时,可能只对其中几个章节感兴趣时,需要直接跳转到该章节,这时就需要锚点。

锚点是是网页制作中超级链接的一种,又叫命名锚记。使用命名锚记可以在文档中设置标记,这些标记通常放在文档的特定主题处或顶部。然后可以创建到这些命名锚记的链接,这些链接可快速将访问者带到指定位置4。

锚点跳转要注意首先要注意以下两点:

  1. 锚点的标识名称,可使用任意字符,使用锚点跳转;
  2. 锚点生成的链接,可以是页内跳转,也可以生成目录;
  3. 锚点只对#标注的标题生成锚点链接;
  4. 锚点的基本格式是:[跳转标题](#跳转标题),注意()里的#与后面的内容无空格,且只有一个#,该符号与正文里的多级标题无关(不管是几级标题,只需要一个#URL);
  5. 非英文的锚点字符,在单击跳转时,在浏览器的URL中会按照规则进行编码解码

在使用时还需要记住以下几个问题:

  • 任意 1-6 个#标注的标题都可设置为同名的锚点链接
[标题1](#标题1)
[标题2](#标题2)
[标题3](#标题3)
# 标题1
## 标题2
### 标题3
  • 大写字母要转换成小写
[Github标题](#github标题)
### Github标题
  • 多单词锚点的空格用-代替
[Github Heading](#github-heading)
### Github Heading
  • 多级序号需要去除.
[2.3. Github Heading](#23-github-heading)
### 2.3. Github Heading

  1. 这里是脚注 ↩︎