Markdown 语法学习
Markdown 语法学习
貌似博客园与github的渲染器不一样,两边渲染的效果不一样,建议跳转到github上浏览。点击此处跳转到本文Github链接
标题#
ATX 标题#
创建标题用井号#开头即可。井号的数量对应标题的级别。最多可以设置到六级标题。
标题的井号后面要加一个空格。段落之间的标题最好用空行分隔。
Setext 标题#
只可以写到二级标题。在文本下一行用一个或多个等号=
表示一级标题,一个或多个短横线-
表示二级标题。
## 标题指定 ID
一些Markdown引擎支持为标题指定ID,另一些Markdown引擎是自动添加ID的。标题ID的作用是允许其他地方通过锚点直接跳转到该标题。标题指定ID的语法是在标题后面通过花括号包裹ID。
### 这是一个标题 {#custom-id}
例如# 标题 {#1}
以上划线内容貌似在github的渲染器中无法渲染。
段落#
使用空行分隔文本。
段落的开头不要使用空格或者制表符缩进。排版最好不要空两格。非要空格可以用全角空格。
换行#
可以输入两个空格加回车(可能在一些编辑器中不能用)
或者用标签<br>
。
加粗和倾斜#
加粗#
可以使用两个星号**
或两个下划线__
,使用下划线加粗时左右要加空格,建议使用星号。
倾斜#
可以使用一个星号*
或一个下划线_
,跟加粗一样,使用下划线倾斜左右要加空格,建议使用星号。
加粗并倾斜#
吧加粗和倾斜任意组合即可。推荐使用三个星号。
删除线#
可以通过删除线划掉文本,排版结果就像这样。创建删除线可以通过两个波浪线~~
包裹待删除的文本。
~~我学会写Markdown文档了。~~ 不,我不会。
我学会写Markdown文档了。 不,我不会。
块引用#
在段落前加上大于号>
。
块引用内分段#
如果需要在块引用内分段,可以在分段空行前加上一个大于号。
嵌套块引用#
在块引用里可以继续进行块引用,添加大于号即可。
块引用包含其他元素#
块引用中可以包含替他任意元素,加粗,倾斜,列表等。
列表#
分为有序列表和无序列表。列表只能包含列表项元素。和块引用一样是容器块。可以包含其他任意元素。
有序列表#
数字后面跟.
或)
创建(后面要加空格),数字可以不递增连续。
无序列表#
通过断横线-
,星号*
或者加号+
开头创建。同样,后面要跟一个空格来分隔文本内容。
任务列表#
通过在普通列表项中添加[ ]
或者[x]
来渲染任务列表项。
- [x] 待办事项一
- [ ] 待办事项二
- [ ] 待办事项三
渲染效果:
列表项包含其他元素#
可以包含其他任意元素。待包含的元素起始字符要和列表项起始内容对齐。
- 列表项包含段落
- 列表项包含块引用
- 列表项包含代码块
- 列表项包含图片
表格#
使用短横线---
来分隔表头和表身,使用竖线|
来分隔列,每行开头和结尾的竖线是可选的(不写也一样)每个列不一定要对齐,不对齐同样能够渲染。
| Syntax | Description |
| ----------- | ----------- |
| Header | Title |
| Paragraph | Text |
效果如下:
Syntax | Description |
---|---|
Header | Title |
Paragraph | Text |
表格对齐#
如果需要左对齐、居中对齐或者右对齐表格内容,可以通过在---
中添加冒号:
实现。冒号仅出现在左边表示左对齐,出现在两边表示居中对齐,仅出现在右边表示右对齐。
| :--- | :----: | ---: |
以下为效果。
Syntax | Description | Test Text |
---|---|---|
Header | Title | Here's this |
Paragraph | Text | And more |
表格内容排版#
表格中的内容也可以进行排版,比如加粗、强调文本,插入超链接等。但仅限于使用“行级元素”进行排版,不能使用“块级元素”,比如不能使用标题、块引用、列表、分隔线等。
表格内容转义竖线#
如果需要在表格内容中使用竖线 |
,那就需要对其进行转义。可以使用\|
转义,但更稳妥的做法是写竖线的HTML实体表示|
或者|
,因为有的 Markdown 引擎不能正确处理表格内容中的\|
,
如果要同时使用反引号时,反引号用<code> </code>
来代替。
代码#
行内代码块#
行内代码块可以用反引号ˋ
(反引号在行内代码块中显示不出来,这个中间是 windows 特殊符号)
围栏代码块#
用大于等于三个反引号ˋˋˋ
或者大于等于三个波浪线~~~
来包裹代码块内容。如果需要展示代码块原文 Markdown ,可以在最外层使用更多数量的反引号开始,闭合的反引号数量等于开始的数量即可。
代码块语法高亮需要 Markdown 引擎支持,通过在开始反引号后添加编程语言名称来排版。
如下所示:
package main
import "fmt"
func main() {
fmt.Print("Hello, World!")
}
```go
package main
import "fmt"
func main() {
fmt.Print("Hello, World!")
}
```
分隔线#
通过大于等于三个星号***
、短横线``或者下划线___
来创建分隔线。
超链接#
通过[链接文本](URL)
来创建超链接。
效果:跳转到Markdown 语法学习。
添加超链接标题#
链接标题是可选的。在圆括号中的URL后用双引号包裹。鼠标移到超链接上会浮出显示标题内容。
跳转到本文Github地址 [Markdown 语法学习](https://github.com/isxh416/MarkdownStudy "本文Github地址")
效果:跳转到本文Github地址 Markdown 语法学习
URL和邮件地址#
如果要直接显示URL或者邮件地址,可以通过<
和>
来包裹URL或者邮件地址。(大部分Markdown编辑器支持自动切换,可以省去<
>
)
https://github.com/isxh416/MarkdownStudy
超链接格式排版#
超链接可以和加粗强调、代码等元素结构一同使用。
**[Markdown 语法学习](https://github.com/isxh416/MarkdownStudy)**
[ˋMarkdown 语法学习ˋ](<https://github.com/isxh416/MarkdownStudy>)
引用风格的超链接#
使用引用风格的超链接可以让Markdown原文更容易阅读。引用风格的超链接分为两部分:链接引用和链接定义。
链接引用#
链接引用用于在需要插入超链接的地方,他由两组方括号构成,第一组方括号用于指定链接文本,第二组方括号用于指定链接标识,链接标识指向链接定义。
[链接文本][链接标识]
[链接标识]: https://github.com/isxh416/MarkdownStudy
链接引用也可以只由一组方括号构成,这种情况下链接表是将直接用于链接文本。
链接定义#
链接定义由三部分构成:
-
方括号包裹定义链接标识,后跟冒号
:
-
URL,可以直接写也可以用尖括号
<>
包裹 -
链接标题,这部分是可选的,可以用双引号、单引号或者圆括号包裹
[链接标识]: https://github.com/isxh416/MarkdownStudy
[链接标识]: <https://github.com/isxh416/MarkdownStudy>
[链接标识]: https://github.com/isxh416/MarkdownStudy "Markdown 语法学习"
[链接标识]: https://github.com/isxh416/MarkdownStudy 'Markdown 语法学习'
[链接标识]: https://github.com/isxh416/MarkdownStudy (Markdown 语法学习)
链接定义可以放在整个Markdown文本的任何位置。有的人习惯将其放于引用所在段落之后,有的人习惯将其放于文末位置。
禁止自动链接#
大部分 Markdown 引擎都是默认开启自动链接的,所以当我们想把一个链接渲染为纯文本时,需要把它变成代码:https://github.com/isxh416/MarkdownStudy
链接到指定标题#
可以通过超链接语法链接到文中的标题。
可以鼠标悬浮在标题左边的超链接图标,在左下角看id。
[标题指定 ID](#heading-ids)
[回到markdown 语法学习](#markdown-语法学习)
回到markdown 语法学习
~~如果需要链接到其他页面的标题,需要写全链接路径,比如[标题指定 ID](https://XXX/XXX/#heading-ids)
。
超链接最佳实践#
英文内容天然使用空格分隔,所以在使用自动超链接时不存在分隔问题。但是中文会存在该问题,比如:
本文的github链接是https://github.com/isxh416/MarkdownStudy欢迎阅读和Star。
内容在很多Markdown引擎上会渲染不正确。为保证兼容性,可以考虑使用空格进行分割。
本文的github链接是 https://github.com/isxh416/MarkdownStudy 欢迎阅读和Star。
或者使用尖括号<>
包裹
本文的github链接是<https://github.com/isxh416/MarkdownStudy>欢迎阅读和Star。
效果:本文的github链接是https://github.com/isxh416/MarkdownStudy欢迎阅读和Star。
图片#
使用感叹号!
后面跟超链接就可以渲染图片了

渲染效果:

如果图片太大想要实现缩放可以用html的标签来替换(本文使用这种方式)
超链接嵌套图片#
如果你需要图片点击可以跳转超链接,只需要再来链接文本部分包含图片即可。
点击图片跳转到Markdown 语法学习
脚注#
脚注用于在文末添加细节说明或者参考,这样文章的正文部分看上去会更加简洁清晰。创建脚注后,正文中引用脚注的地方会出现一个上标数字链接,读者点击后跳转到文末脚注定义的对应位置。
脚注引用通过[^标识符]
创建,标识符部分可以是数字或者文本,但不能包含空格或者制表符。标识符仅用于关联引用和定义,在渲染时会自动根据脚注定义顺序进行数字递增渲染。不过这也不是绝对的,某些Markdown引擎也会将标识符部分用于渲染。
脚注定义使用[^标识符]:
来创建,冒号后面就是需要添加的细节说明或者参考。脚注定义不一定非要放在整个Markdown文本的末尾,夹在段落、列表或者块引用之间也是可以工作的。
脚注自动被搬运到最后面,请到文章末尾查看,并且脚注后方的链接可以直接跳转回到加注的地方。
这里是一个脚注引用[^1],这里是另一个脚注引用[^footnote]。
[^1]: 第一个脚注定义。
[^footnote]: 脚注定义可使用多段内容。
缩进对齐的段落包含在这个脚注定义内。
```
可以使用代码块。
```
还有其他行级排版语法,比如**加粗**和[链接](https://github.com/isxh416/MarkdownStudy)。
转义字符#
可以使用反斜杠\
来转移如下字符:
字符 | 中文名 |
---|---|
\ |
反斜杠 |
ˋ |
反引号 |
* |
星号 |
_ |
下划线 |
{} |
花括号 |
[] |
方括号 |
() |
圆括号 |
# |
井号 |
+ |
加号 |
- |
短横线(减号) |
. |
点 |
! |
感叹号 |
| |
竖线(管道符号) |
几乎所有的的ASCII标点符号都可以用反斜杠进行转义。
Emoji表情#
有两种方法使用Emoji表情:直接输入Emoji字符或者使用别名 :smile:
。直接输入的话需要确认当前编辑器使用UTF-8编码。
今天天气真好 :sunny:
花儿 🌻 对我笑
今天天气真好 ☀️
花儿 🌻 对我笑
嵌入HTML#
Markdown天然支持嵌入HTML代码。
**Markdown** 和 <em>HTML</em> 混合排版。
渲染效果:
Markdown 和 HTML 混合排版。
在需要设置图片大小、字体颜色时会比较有用,这样做实际上并不通用,因为有的 Markdown 引擎因为安全原因会过滤部分标签或者属性。而且并不优雅。另外,在HTML中嵌入Markdown并不生效。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)