Markdown 学习笔记
前言
Markdown是一种轻量级标记语言,排版语法简洁,让人们更多地关注内容本身而非排版。它使用易读易写的纯文本格式编写文档,可与HTML
混编,可导出 HTML、PDF 以及本身的 .md
格式的文件。因简洁、高效、易读、易写,Markdown被大量使用,如Github
、Wikipedia
、简书等。
千万不要被「标记」、「语言」吓到,Markdown的语法十分简单,常用的标记符号不超过十个,用于日常写作记录绰绰有余,不到半小时就能完全掌握。就是这十个不到的标记符号,却能让人优雅地沉浸式记录,专注内容而不是纠结排版,达到「心中无尘,码字入神」的境界。
本文是根据 Markdown丨官方教程 按照个人理解进行的总结,主要是用于自己写文章的查找应用,不用于任何盈利用途,如有侵权,联系删帖。
基本语法
标题语法
标准语法
使用 # 号可表示 1-6 级标题,一级标题对应一个 # 号,二级标题对应两个 # 号,以此类推
标题的格式: # × 标题级数 + 空格 + 文本内容
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
可选语法
还可以在文本下方添加任意数量的 ==
号来标识一级标题,或者 --
号来标识二级标题。
我展示的是一级标题
=================
我展示的是二级标题
-----------------
段落语法
要创建段落,请使用空白行将一行或多行文本进行分隔。
Tips:不要用空格(spaces)或制表符( tabs)缩进段落。
换行语法
在一行的末尾添加两个或多个空格,然后按回车键,即可创建一个换行(<br>
)。
Tip:为了兼容性,请在行尾添加“结尾空格”或 HTML 的 <br>
标签来实现换行。
强调语法
通过将文本设置为粗体或斜体来强调其重要性。
粗体(Bold)和斜体(Italic)
**粗体文本**
__粗体文本__
*斜体文本*
_斜体文本_
Tip:为了实现兼容性,请使用星号(asterisks)将单词或短语的中间部分加粗或以斜体显示。
粗斜体
首尾各有 三个 标识符吗,共六种形式
***粗斜体文本***
___粗斜体文本___
**_ + 文本内容 + _**
__* + 文本内容 + *__
*__ + 文本内容 + __*
_** + 文本内容 + **_
Tip:为了实现兼容性,请使用星号将单词或短语的中间部分加粗并以斜体显示,以示重要。
列表语法
可以将多个条目组织成有序或无序列表。
有序列表
要创建有序列表,请在每个列表项前添加数字并紧跟一个英文句点。
有序列表:序号.
+ 空格 + 文本内容
1. 第一项
2. 第二项
3. 第三项
Tip:数字不必按数学顺序排列,但是列表应当以数字 1 起始。
无序列表
无序列表:符号标记
+ 空格 + 文本内容,其中星号*
、加号+
或是减号-
作为列表标记。
* 第一项
* 第二项
+ 第一项
+ 第二项
- 第一项
- 第二项
在列表中嵌套其他元素
要在保留列表连续性的同时在列表中添加另一种元素,请将该元素缩进四个空格或一个制表符;
段落
* This is the first list item.
* Here's the second list item.
I need to add another paragraph below the second list item.
* And here's the third list item.
渲染效果如下:
-
This is the first list item.
-
Here's the second list item.
I need to add another paragraph below the second list item.
-
And here's the third list item.
引用块
* This is the first list item.
* Here's the second list item.
> A blockquote would look great below the second list item.
* And here's the third list item.
-
This is the first list item.
-
Here's the second list item.
A blockquote would look great below the second list item.
-
And here's the third list item.
代码块
代码块通常采用四个空格或一个制表符缩进,当它们被放在列表中时,请将它们缩进八个空格或两个制表符。
1. Open the file.
2. Find the following code block on line 21:
<html>
<head>
<title>Test</title>
</head>
3. Update the title to match the name of your website.
渲染效果如下:
-
Open the file.
-
Find the following code block on line 21:
<html> <head> <title>Test</title> </head>
-
Update the title to match the name of your website.
图片
1. Open the file containing the Linux mascot.
2. Marvel at its beauty.
![Tux, the Linux mascot](/assets/images/tux.png)
3. Close the file.
列表
您可以将无序列表嵌套在有序列表中,反之亦然。
1. First item
2. Second item
3. Third item
- Indented item
- Indented item
4. Fourth item
渲染效果如下:
- First item
- Second item
- Third item
- Indented item
- Indented item
- Fourth item
引用语法
要创建块引用,请在段落前添加一个 >
符号。
> Dorothy followed her through many of the beautiful rooms in her castle.
渲染效果如下所示:
Dorothy followed her through many of the beautiful rooms in her castle.
Tip:> + 空格 + 引用文字,空格可没有
多个段落的块引用
块引用可以包含多个段落,为段落之间的空白行添加一个 >
符号。
> Dorothy followed her through many of the beautiful rooms in her castle.
>
> The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood.
渲染效果如下所示:
Dorothy followed her through many of the beautiful rooms in her castle.
The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood.
嵌套块引用
块引用可以嵌套。在要嵌套的段落前添加一个 >>
符号。
> Dorothy followed her through many of the beautiful rooms in her castle.
>
>> The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood.
渲染效果如下:
Dorothy followed her through many of the beautiful rooms in her castle.
The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood.
带有其它元素的块引用
块引用可以包含其他 Markdown 格式的元素。
> #### 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.
Tip:并非所有元素都可以使用在块引用中。
分隔线语法
要创建分隔线,请在单独一行上使用三个或多个星号 (***
)、破折号 (---
) 或下划线 (___
) ,并且行内不能包含其他内容。
以下三个分隔线的渲染效果看起来都一样:
***
---
_________________
Tip:你也可以在星号或是减号中间插入空格,为了兼容性,请在分隔线的前后均添加空白行。
代码语法
要将单词或短语表示为代码,请将其包裹在反引号中。
如果你要表示为代码的单词或短语中包含一个或多个反引号,则可以通过将单词或短语包裹在双反引号中。
``Use `code` in your Markdown file.``
渲染效果:Use code
in your Markdown file.``
要创建代码块,请将代码块的每一行缩进至少四个空格或一个制表符。
<html>
<head>
</head>
</html>
渲染效果如下:
<html>
<head>
</head>
</html>
链接语法
普通链接
链接文本放在中括号内,链接地址放在后面的括号中,链接title可选。
超链接Markdown语法代码:[超链接显示名](超链接地址 "超链接title")
对应的HTML代码:<a href="超链接地址" title="超链接title">超链接显示名</a>
其中,链接title是当鼠标悬停在链接上时会出现的文字,这个title是可选的,它放在圆括号中链接地址后面,跟链接地址之间以空格分隔。
这是一个链接 [Markdown语法](https://markdown.com.cn "最好的markdown教程")。
渲染效果如下:
这是一个链接 Markdown语法。
网址和Email地址
使用尖括号可以很方便地把URL或者email地址变成可点击的链接。
<https://markdown.com.cn>
<fake@example.com>
渲染效果如下:
https://markdown.com.cn
fake@example.com
带格式化的链接?
强调 链接, 在链接语法前后增加星号。 要将链接表示为代码,请在方括号中添加反引号。
I love supporting the **[EFF](https://eff.org)**.
This is the *[Markdown Guide](https://www.markdownguide.org)*.
See the section on [`code`](#code).
渲染效果如下:
I love supporting the EFF.
This is the Markdown Guide.
See the section on code
.
引用类型链接?
引用样式链接是一种特殊的链接,它使URL在Markdown中更易于显示和阅读。
参考样式链接分为两部分:与文本保持内联的部分以及存储在文件中其他位置的部分,以使文本易于阅读。
链接的第一部分格式
引用类型的链接的第一部分使用两组括号进行格式设置。第一组方括号包围应显示为链接的文本。第二组括号显示了一个标签,该标签用于指向您存储在文档其他位置的链接。
尽管不是必需的,可以在第一组和第二组括号之间包含一个空格。第二组括号中的标签不区分大小写,可以包含字母,数字,空格或标点符号。
以下示例格式对于链接的第一部分效果相同:
[hobbit-hole][1]
[hobbit-hole] [1]
链接的第二部分格式
引用类型链接的第二部分使用以下属性设置格式:
- 放在括号中的标签,其后紧跟一个冒号和至少一个空格(例如
[label]:
)。 - 链接的URL,可以选择将其括在尖括号中。
- 链接的可选标题,可以将其括在双引号,单引号或括号中。
以下示例格式对于链接的第二部分效果相同:
[1]: https://en.wikipedia.org/wiki/Hobbit#Lifestyle
[1]: https://en.wikipedia.org/wiki/Hobbit#Lifestyle "Hobbit lifestyles"
[1]: <https://en.wikipedia.org/wiki/Hobbit#Lifestyle> "Hobbit lifestyles"
Tip:可以将链接的第二部分放在Markdown文档中的任何位置。不同的 Markdown 应用程序处理URL中间的空格方式不一样。为了兼容性,请尽量使用%20
代替空格。
图片语法
要添加图像,请使用感叹号 (!
), 然后在方括号增加替代文本,图片链接放在圆括号里,括号里的链接后可以增加一个可选的图片标题文本。
插入图片Markdown语法代码:![图片alt](图片链接 "图片title")
。
对应的HTML代码:<img src="图片链接" alt="图片alt" title="图片title">
![姐姐](./assets/ItvGo13wrWqQdJ5.jpg "可爱")
链接图片?
给图片增加链接,请将图像的Markdown 括在方括号中,然后将链接添加在圆括号中。
[![姐姐](https://s2.loli.net/2024/03/04/ItvGo13wrWqQdJ5.jpg "可爱")](https://markdown.com.cn)
渲染效果如下:
转义字符语法
要显示原本用于格式化 Markdown 文档的字符,请在字符前面添加反斜杠字符 \
。
以下列出的字符都可以通过使用反斜杠字符从而达到转义目的。
特点 | 姓名 |
---|---|
\ | 反斜杠 |
` | 反引号 |
* | 星号 |
_ | 下划线 |
{ } | 大括号 |
[ ] | 中括号 |
( ) | 小括号 |
# | 英镑符号 |
+ | 加号 |
- | 减号(连字符) |
. | 点 |
! | 感叹号 |
| | 竖线 |
Markdown 内嵌 HTML 标签
对于 Markdown 涵盖范围之外的标签,都可以直接在文件里面用 HTML 本身。如需使用 HTML,不需要额外标注这是 HTML 或是 Markdown,只需 HTML 标签添加到 Markdown 文本中即可。
目前支持的 HTML 元素有:<kbd> <b> <i> <em> <sup> <sub> <br>
等 ,如:
使用 <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>Del</kbd> 重启电脑
渲染效果:使用 Ctrl+Alt+Del 重启电脑
扩展语法
John Gruber
的原始设计文档中概述的基本语法主要是为了应付大多数情况下的日常所需元素,但对于某些人来说还不够,这就是扩展语法的用武之地。
一些个人和组织开始通过添加其他元素(例如表,代码块,语法突出显示,URL自动链接和脚注)来扩展基本语法。可以通过使用基于基本Markdown语法的轻量级标记语言,或通过向兼容的Markdown处理器添加扩展来启用这些元素,但是并非所有Markdown应用程序都支持扩展语法元素。
围栏代码块
Markdown基本语法允许您通过将行缩进四个空格或一个制表符来创建代码块。如果发现不方便,请尝试使用受保护的代码块。根据Markdown处理器或编辑器的不同,您将在代码块之前和之后的行上使用三个反引号或三个波浪号。
{
"firstName": "John",
"lastName": "Smith",
"age": 25
}
脚注
脚注使您可以添加注释和参考,而不会使文档正文混乱。当您创建脚注时,带有脚注的上标数字会出现在您添加脚注参考的位置。读者可以单击链接以跳至页面底部的脚注内容。
要创建脚注参考,在方括号内添加插入符号和标识符。标识符可以是数字或单词,但不能包含空格或制表符。标识符仅将脚注参考与脚注本身相关联-在输出中,脚注按顺序编号。
在括号内使用另一个插入符号和数字添加脚注,并用冒号和文本。
Here's a simple footnote,[^1] and here's a longer one.[^bignote]
[^1]: This is the first footnote.
[^bignote]: Here's one with multiple paragraphs and code.
Tip:您不必在文档末尾添加脚注,您可以将它们放在除列表,块引号和表之类的其他元素之外的任何位置。
删除线
您可以通过在单词中心放置一条水平线来删除单词。
此功能使您可以指示某些单词是一个错误,要从文档中删除。若要删除单词,请在单词前后使用两个波浪号~~
。
~~世界是平坦的。~~ 我们现在知道世界是圆的。
呈现的输出如下所示:
世界是平坦的。 我们现在知道世界是圆的。
任务列表语法
任务列表使您可以创建带有复选框的项目列表。在支持任务列表的Markdown应用程序中,复选框将显示在内容旁边。
要创建任务列表,请在任务列表项之前添加破折号-
和方括号[ ]
,并在[ ]
前面加上空格。要选择一个复选框,请在方括号[x]
之间添加 x 。
- [x] Write the press release
- [ ] Update the website
- [ ] Contact the media
呈现的输出如下所示:
- Write the press release
- Update the website
- Contact the media
使用 Emoji 表情
有两种方法可以将表情符号添加到Markdown文件中:将表情符号复制并粘贴到Markdown格式的文本中,或者键入emoji shortcodes。
复制和粘贴表情符号
在大多数情况下,您可以简单地从Emojipedia 等来源复制表情符号并将其粘贴到文档中。许多Markdown应用程序会自动以Markdown格式的文本显示表情符号。从Markdown应用程序导出的HTML和PDF文件应显示表情符号。
Tip: 如果您使用的是静态网站生成器,请确保将HTML页面编码为UTF-8。
使用表情符号简码
一些Markdown应用程序允许您通过键入表情符号短代码来插入表情符号。
这些以冒号开头和结尾,并包含表情符号的名称。
去露营了!:tent: 很快回来。
真好笑! :joy:
呈现的输出如下所示:
去露营了!:tent: 很快回来。
真好笑! :joy:
Note: 注意:您可以使用此表情符号简码列表,但请记住,表情符号简码因应用程序而异。有关更多信息,请参阅Markdown应用程序的文档。
自动网址链接
许多Markdown处理器会自动将URL转换为链接。这意味着如果您输入http://www.example.com,即使您未[使用方括号](https://markdown.com.cn/basic-syntax/links.html),您的Markdown处理器也会自动将其转换为链接。
http://www.example.com
呈现的输出如下所示:
如果您不希望自动链接URL,则可以通过将URL表示为带反引号的代码来删除该链接。
`http://www.example.com`
表格
Markdown 制作表格使用 | 来分隔不同的单元格,使用三个或多个连字符 - 来分隔表头和其他行。
| Syntax | Description |
| ----------- | ----------- |
| Header | Title |
| Paragraph | Text |
Syntax | Description |
---|---|
Header | Title |
Paragraph | Text |
Tip: 使用连字符和管道创建表可能很麻烦。为了加快该过程,请尝试使用Markdown Tables Generator。使用图形界面构建表,然后将生成的Markdown格式的文本复制到文件中。
您可以通过在标题行中的连字符的左侧,右侧或两侧添加冒号(:
),将列中的文本对齐到左侧,右侧或中心。
| Syntax | Description | Test Text |
| :--- | :----: | ---: |
| Header | Title | Here's this |
| Paragraph | Text | And more |
呈现的输出如下所示:
Syntax | Description | Test Text |
---|---|---|
Header | Title | Here's this |
Paragraph | Text | And more |
格式化表格中的文字
您可以在表格中设置文本格式。
例如,可以添加链接,代码(仅反引号中的单词或短语)和强调,但不能添加标题,块引用,列表,水平规则,图像或HTML标签。
公式
Markdown Preview Enhanced 使用 KaTeX 或者 MathJax 来渲染数学表达式。
KaTeX 拥有比 MathJax 更快的性能,但是它却少了很多 MathJax 拥有的特性。你可以查看 KaTeX supported functions/symbols 来了解 KaTeX 支持那些符号和函数。
默认下的分隔符:
$...$
或者\(...\)
中的数学表达式将会在行内显示。$$...$$
或者\[...\]
或者 ````math` 中的数学表达式将会在块内显示。
参考文档
- 感谢你赐予我前进的力量