此文件整理了Markdown的基本用法。

引言
第一次接触到 Markdown 是在大学期间,看别人项目的readme.md
时,当时直接以txt文本打开,很乱啊,根本看不懂。后来被老师点拨了一下才知道咋搞的。
其实这个东西也没难度,10分钟就能搞懂,而且用处还蛮多的,经常用来写文档,写博客,很多平台也用的Markdown来渲染文章,例如小红书,csd,语雀。
Markdown可以让作者专注内容而不是排版上,极大的简化了写文章的操作。
总之学了没坏处,建议无论是行内行外人士都学习一下。
标准 Markdown 语法
注:此文件的知识点参考Markdown-Syntax-CN和Mahua
此文整理了Markdown的基本用法,请随意下载使用,若有对本文件的改进,超欢迎指教。
段落
- 一个段落是由一个以上连接的行句组成,
- 而一个以上的空行则会划分出不同的段落。
- 若想在 Markdown中插入插入
<br/>
(回车) ,必须在插入处先输入2个以上的空格再回车。
标题
在行首插入1到6个#
,分别对应<h1/>
-<h6/>
,并且你也可以为了美观把他们封闭起来,语法格式如下:
1 | # 一级标签 |
效果↓
区块
在每一行前加上>
1 | > 这是一段文字 |
↓效果,这段文字前面的这条线就是区块所产生的效果
这是一段文字
这是一段文字用于展示区块的作用
这是一段文字用于展示区块的作用这是一段文字用于展示区块的作用这是一段文字用于展示区块的作用
- 扩展
- Markdown运行你给一段话也允许你只给每一段首行加入
>
效果↓1
2
3
4> 这是一段文字
这段话前面没有`>`
这段话前面没有`>`,这段话前面没有`>`
这是一段文字用于展示区块的作用,,这段话前面没有`>`这是一段文字
这段话前面没有>
这段话前面没有>
,这段话前面没有>
这是一段文字用于展示区块的作用,,这段话前面没有>
>
一样,所以你若要把一段话变成区块,可以偷懒直接在这一段话最前面加一个就行。 - 区块之间进行嵌套 效果↓
1
2
3
4
5
6> 这是一段文字
> 这是一段文字用于展示区块的作用
>> 这里有两个`>`,
>> 这里会在区块内部形成一个新的区块
>
> 这是一段文字用于展示区块的作用这是一段文字
这是一段文字用于展示区块的作用这里有两个
>
,
这里会在区块内部形成一个新的区块这是一段文字用于展示区块的作用
- 使用其他语法
区块内也可以其他的 Markdown 语法,包括标题、列表、代码区块等
效果↓1
2
3
4
5
6
7>
> 1. 这是第一行列表项。
> 2. 这是第二行列表项。
> >*斜斜斜斜斜* **粗粗粗粗粗**
> 给出一些例子代码:
>
> pritf("Hello would!");- 这是第一行列表项。
- 这是第二行列表项。
斜斜斜斜斜 粗粗粗粗粗
给出一些例子代码:
pritf("Hello would!");
- Markdown运行你给一段话也允许你只给每一段首行加入
列表
Markdown 有序列表和无序列表2种形式
无序列表
无序列表使用星号、加号或是减号
1 | * 1 |
效果↓
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
有序列表
有序列表则使用数字接着一个英文句点
1 | 1. Bird |
效果↓
- Bird
- McHale
- Parish
列表懒人写法
请注意的一点是.标记上的数字对于并不会影响Html的输出结果,比如你写成:
1 | 1. Bird |
效果↓
- Bird
- McHale
- Parish
或者
- Bird
- McHale
- Parish
如上你都会得到相同的Html输出,所以写有序列表的时候可以懒惰一点,完全不必在意数字的正确性
代码区块
通常情况下,和程序相关的代码或者标签语言会有自己已经排版好的代码区块,我们一般不希望它以一般的段落文件的方式进行排版而是按照原来的样子进行排版.
要在Markdown中建立代码区块很简单,只需要4个空格或者一个制表符就可以完成
效果↓
1 | 这是一个普通段落: |
效果↓
这是一个普通段落:
这是一个代码区块 public class test { public static void main(String[] args) { System.out.println("hello world"); } }
一个代码区块一直持续到没有缩进的哪一行的(或者文件结尾)。 在代码区块里面, & 、 < 和 > 会自动转成 HTML 实体, 这样的方式让你非常容易使用 Markdown 插入范例用的 HTML 原始码, 只需要复制贴上,再加上缩进就可以了,剩下的 Markdown 都会帮你处理
分割线
你可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,
行内不能有其他东西每种写法都可以建立分割线:
1 | * * * |
效果↓
链接
Markdown支持两种形式的链接语法:行内式、参考式
行内式
只要在方块括号后面紧接着圆括号并插入网址链接即可。
果你还想要加上链接的 title 文字,只要在网址后面,用双引号把 title 文字包起来即可。
1 | 这是[内联链接](https://www.baidu.com/ "百度")的例子 |
效果↓
这是内联链接的例子
这个链接 没有标题属性
如果你想得到相同主机的资源的话,你可以使用相对路径
1 | > 点击浏览markdown的[**图标**](./markdown.png) |
效果↓
点击浏览markdown的图标
参考式
首先你需要在文章任意处定义这个链接,格式如下:
1 | [id]: 链接路径 "可选标题" |
然后在文章中引用,引用格式如下
1 | 这是一个参考式[示例][id]链接。 |
举例:
1 | 这是一个参考式[示例][id]链接。 |
效果↓
参考式其他定义形式
首先链接内容定义的形式为:
- 方括号(前面可以选择性地加上至多三个空格来缩进),里面输入链接文字
- 接着一个冒号
- 接着一个以上的空格或制表符
- 接着链接的网址
- 择性地接着 title 内容,可以用单引号、双引号或是括弧包着
- 已知问题Markdown.pl 1.0.1 会忽略单引号包起来的链接标题 下面这三种链接的定义都是相同:链接网址也可以用方括号包起来:
1
2
3[foo]: https://www.baidu.com/ "可选标题"
[foo]: https://www.baidu.com/ '可选标题'
[foo]: https://www.baidu.com/ (可选标题)也可以把 title 属性放到下一行,也可以加一些缩进1
[id]: < https://www.baidu.com/ > "可选标题"
链接辨别标签可以有字母、数字、空白和标点符号,但是并不区分大小写,因此下面两个链接是一样的:1
2[id]: < https://www.baidu.com/ >
"可选标题"1
2[link text][a]
[link text][A]
斜体和加粗
1 | *斜斜斜斜斜* **粗粗粗粗粗** |
效果↓
斜斜斜斜斜 粗粗粗粗粗
斜斜斜斜斜 粗粗粗粗粗
代码
如果你要标记一小段代码,你可以用反引号把它包起来
`例如
1 | 使用 `printf()` 函数. |
效果↓
使用
printf()
函数.
如果要在代码区段内插入反引号,你可以用多个反引号来开启和结束代码区段:
1 | ``There is a literal backtick (`) here.`` |
效果↓
There is a literal backtick (`) here.
在代码区段内,& 和方括号都会被自动地转成 HTML 实体,这使得插入 HTML 原始码变得很容易
图片
Markdown 使用一种和链接很相似的语法来标记图片,同样也允许两种样式: 行内式和参考式。
行内式
1 |  |
参考式
1 | ![Alt text][id] |
「id」是图片参考的名称,图片参考的定义方式则和连结参考一样:
1 | [id]: markdowng "可选标题" |
效果↓
![Alt text][id1]
[id1]: ‘./markdown.png’ “markdown图标”
(不知道哪里有问题总之无法实现,不推荐使用)
自动链接
Markdown 支持以比较简短的自动链接形式来处理网址和电子邮件信箱,只要是用方括号包起来, Markdown 就会自动把它转成链接。
一般网址的链接文字就和链接地址一样,例如:
1 | <wx.98@qq.com> |
效果↓
反斜杠
Markdown 可以利用反斜杠来插入一些在语法中有其它意义的符号,
例如:如果你想要用星号加在文字旁边的方式来做出强调效果(但不用 <em>
标签),你可以在星号的前面加上反斜杠:
1 | \\ 反斜线 |
效果↓
\ 反斜线
` 反引号
* 星号
_ 底线
{} 花括号
[] 方括号
() 括弧
# 井字号
- 减号
+ 加号
. 英文句点
! 惊叹号