Markdown基础语法
前言部分:这个帖子是我的Markdown学习笔记。目前我还是一个超级小白的小白,为了能快速掌握并熟练Markdown的语法,我决定使用一天通过使用Markdown语法记录详细的学习笔记来达到我上述目的,笔记内容基本为我照着Markdown语法官网(网址:markdown.com.cn/basic-synta… )对着敲的内容。那么作为读者的你可以从我的帖子中得到哪些帮助呢?主要有两点:①如果你是已经会使用Markdown但是不是对所有的语法都十分熟练,你可以把我的帖子当作字典,直接查阅你需要的功能应该使用什么语法实现,虽然我更建议你直接点击上面我贴出的链接在官网查看;②如果你是一个和我一样啥也不懂的小白,你可以模仿我的笔记方式也花一天敲一遍一样的笔记,相信你完成以后就可以熟练掌握了。我想我的帖子更适合超级小白阅读(毕竟我就是超级小白),所以我会从一个小白的角度,猜测作为小白的你有什么前置知识没有掌握,给出你关键词,方便你遇到问题时快速找对提问的方向,能够自己上网搜索找到解决问题的方法。
关于笔记软件:
我自己使用的Markdown笔记软件是vnote,这是一个开源的Markdown笔记软件,也可以免费使用,这边我放一个下载链接(链接在这:github.com/vnotex/vnot… 这是github仓库的链接,所以可能需要你会使用魔法;或者使用百度网盘 pan.baidu.com/share/init?… 提取码:note),感兴趣可以自己百度或者点击链接下载。
1、Markdown标题语法
(1) 含义:一级标题
实际输入:# Heading level 1 实际效果(备注:因为我发现标题语法前面如果输入了其他内容,效果不会生效,所以实际效果转到下一行了):
Heading level
(2)含义:二级标题
实际输入:## Heading level 1 实际效果(实际效果转下一行):
Heading level
(3)含义:三级标题
实际输入:### Heading level 1 实际效果(实际效果转下一行):
Heading level
(4)含义:四级标题
实际输入:#### Heading level 1 实际效果(实际效果转下一行):
Heading level
(5)含义:五级标题
实际输入:##### Heading level 1 实际效果(实际效果转下一行):
Heading level
(6)含义:六级标题
实际输入:###### Heading level 1 实际效果(实际效果转下一行): ####### Heading level
(7)可选语法
还可以在文本下方添加任意数量的 == 号来标识一级标题,或者 -- 号来标识二级标题。(以下例子使用截图代替,如果你在按我开头说的想通过跟着打一遍我的笔记来练习Markdown语法的话,这一部分试一下就好可以跳过)
(8)其他建议
标题语法在使用过程中建议“#”和文字中间添加一个空格,官网上的教程说不同的 Markdown 应用程序处理 # 和标题之间的空格方式并不一致,不添加空格可能无法处理,事实证明至少我使用的VNote是这样的。
2、Markdown段落语法
要创建段落,请使用空白行(enter)将一行或多行文本进行分隔。不要用空格(spaces)或制表符( tabs)缩进段落。使用空格(spaces)并不会使段落缩进,不会产生效果段落依旧顶格;此外四个空格(spaces)或者一个制表符( tabs)会将文本变为代码模式,详细见下文“7、Markdown代码语法 (3)代码块部分” 此外,多行空白行只能产生一个空白行的效果。
该部分内容就不进行展示了。
3、Markdown换行语法
在一行的末尾添加两个或多个空格,然后按回车键,即可创建一个换行(<br>)。
但是几乎每个 Markdown 应用程序都支持两个或多个空格进行换行,称为 结尾空格(trailing whitespace) 的方式,但这是有争议的,因为很难在编辑器中直接看到空格,并且很多人在每个句子后面都会有意或无意地添加两个空格。由于这个原因,你可能要使用除结尾空格以外的其它方式来换行。幸运的是,几乎每个 Markdown 应用程序都支持另一种换行方式:HTML 的
标签。
为了兼容性,请在行尾添加“结尾空格”或 HTML 的
标签来实现换行。
还有两种其他方式并不推荐使用。CommonMark 和其它几种轻量级标记语言支持在行尾添加反斜杠 () 的方式实现换行,但是并非所有 Markdown 应用程序都支持此种方式,因此从兼容性的角度来看,不推荐使用。并且至少有两种轻量级标记语言支持无须在行尾添加任何内容,只须键入回车键(return)即可实现换行。 (ps:这一部分全是复制黏贴官网的,想看也可以直接上官网看教程。)
4、Markdown强调语法
通过将文本设置为粗体或斜体来强调其重要性。
(1) 粗体(Bold)
文本加粗
实际输入:
加粗文本
方法一:我是没加粗的文本,**我是加粗的文本**(使用**号)
方法二:我是没加粗的文本,__我是加粗的文本__(使用两个短下划线)
实际效果: 我是没加粗的文本,我是加粗的文本
一个单词或短语的中间部分加粗
实际输入:
一个单词或短语的中间部分加粗
加星号:buf**fer**fly
下滑横线:buf__fer__fly(使用两个短下划线没有用)
实际效果: 加星号:bufferfly 下滑横线:buf__fer__fly(使用两个短下划线没有用)
(2)斜体(Italic)
文本字体倾斜
实际输入:
文本字体倾斜
方法一:我是没字体倾斜的文本,*我是字体倾斜的文本*(使用*号)
方法二:我是没字体倾斜的文本,_我是字体倾斜的文本_(使用一个短下划线)
实际效果: 我是没加粗的文本,我是字体倾斜的文本
一个单词或短语的中间部分字体倾斜
实际输入:
一个单词或短语的中间部分字体倾斜
加星号:buf*fer*fly
下滑横线:buf_fer_fly(使用一个短下划线没有用)
实际效果: 加星号:bufferfly 下滑横线:buf_fer_fly(使用一个短下划线没有用)
(3) 粗体(Bold)和斜体(Italic)同时使用
语法同上类似但使用3个星号
***我是处理过的文字***,我是没处理过的文字
___我是处理过的文字___,我是没处理过的文字
buf***fer***fly
实际效果: 我是处理过的文字,我是没处理过的文字 我是处理过的文字,我是没处理过的文字 bufferfly
(4)删除线
您可以通过在单词中心放置一条水平线来删除单词。此功能使您可以指示某些单词是一个错误,要从文档中删除。若要删除单词,请在单词前后使用两个波浪号~~。
~~我被删除辣!~~
实际效果:
我被删除辣!
5、Markdown引用语法
(1)单段落引用
要创建块引用,请在段落前添加一个 > 符号。
>祈求上天赐予我平静的心,接受不可改变的事,给我勇气改变可以改变的事,并赐予我分辨这两者的智慧。
实际效果:
祈求上天赐予我平静的心,接受不可改变的事,给我勇气改变可以改变的事,并赐予我分辨这两者的智慧。
(2)多段引用
块引用可以包含多个段落。为段落之间的空白行添加一个 > 符号。
>祈求上天赐予我平静的心,接受不可改变的事,给我勇气改变可以改变的事,并赐予我分辨这两者的智慧。
>
>——古罗马皇帝奥勒留
实际效果:
祈求上天赐予我平静的心,接受不可改变的事,给我勇气改变可以改变的事,并赐予我分辨这两者的智慧。
——古罗马皇帝奥勒留
(3)嵌套块引用
块引用可以嵌套。在要嵌套的段落前添加一个 >> 符号。
>祈求上天赐予我平静的心,接受不可改变的事,给我勇气改变可以改变的事,并赐予我分辨这两者的智慧。
>
>>——古罗马皇帝奥勒留
实际效果:
祈求上天赐予我平静的心,接受不可改变的事,给我勇气改变可以改变的事,并赐予我分辨这两者的智慧。
——古罗马皇帝奥勒留
(4)带有其它元素的块引用
块引用可以包含其他 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**.
6、Markdown列表语法
(1)有序列表
要创建有序列表,请在每个列表项前添加数字并紧跟一个英文句点。数字不必按数学顺序排列,但是列表应当以数字 1 起始。
1. First item
2. Second item
3. Third item
4. Fourth item
-------------
1. First item
8. Second item
3. Third item
5. Fourth item
-----------------
1. First item
2. Second item
3. Third item
1. Indented item
2. Indented item
4. Fourth item
实际效果
- First item
- Second item
- Third item
- Fourth item
- First item
- Second item
- Third item
- Fourth item
- First item
- Second item
- Third item
- Indented item
- Indented item
- Fourth item
(2)无序列表
要创建无序列表,请在每个列表项前面添加破折号 (-)、星号 (*) 或加号 (+) 。缩进一个或多个列表项可创建嵌套列表。
- First item
- Second item
- Third item
- Fourth item
-------------
* First item
* Second item
* Third item
* Fourth item
-----------------
+ First item
+ Second item
+ Third item
+ Indented item
+ Indented item
+ Fourth item
实际效果:
- First item
- Second item
- Third item
- Fourth item
- First item
- Second item
- Third item
- Fourth item
- First item
- Second item
- Third item
- Indented item
- Indented item
- Fourth item
7、Markdown代码语法
(1)含义:将单词或短语表示为代码
说明:要将单词或者短语表示为代码,请将其包裹在反引号" ` " (小tip:如何输入反引号?在英文输入模式下点击数字1左边的按钮)
实际输入: `<ol><li>First item</li><li>Second item</li><li>Third item</li><li>Fourth item</li></ol>`
实际效果:<ol><li>First item</li><li>Second item</li><li>Third item</li><li>Fourth item</li></ol>
(2)转义反引号
说明:如果你要表示为代码的单词或短语中包含一个或多个反引号,则可以通过将单词或短语包裹在双反引号( ``)中。 (小tip:如果你想转义双反引号,那就是和上面反过来,用单反引号包裹双反引号,此外,单反引号和双反引号之间要间隔一个空格,不然就成了三反引号哦)
实际输入:`` Usecodein your Markdown file. ``
实际效果:Use `code` in your Markdown file.
(3)代码块
说明:要创建代码块,请将代码块的每一行缩进至少四个空格或一个制表符。 实际输入:
<html>
<head>
</head>
</html>
实际效果:
<html>
<head>
</head>
</html>
8、Markdown分隔线语法
要创建分隔线,请在单独一行上使用三个或多个星号 (***)、破折号 (---) 或下划线 (___) ,并且不能包含其他内容。
***
---
_________________
以上三个分隔线的渲染效果看起来都一样,如下所示:
为了兼容性,请在分隔线的前后均添加空白行。
9、Markdown链接语法
链接文本放在中括号内,链接地址放在后面的括号中,链接title可选。
超链接Markdown语法代码:[超链接显示名](超链接地址 "超链接title")
这是一个链接例子: [Markdown语法](https://markdown.com.cn)。
这是一个链接 Markdown语法。
由于关于链接的组合众多但原理较为重复,这边建议直接电机官网查看具体内容。
10、Markdown图片语法
(1)添加图片
要添加图像,请使用感叹号 (!), 然后在方括号增加替代文本,图片链接放在圆括号里,括号里的链接后可以增加一个可选的图片标题文本。
插入图片Markdown语法代码:
(小tip:
①图片路径的表达方式如果自己不知道怎么写的话,可以上网搜索“相路径”和“绝对路径”这几个关键词去了解一下相关知识。
②在这里直接使用html标签<img src="../img/haidaoqianben.jpg">也会有相同的效果,并且我本人也更喜欢使用html标签来引入图片,因为使用标签的方式可以控制图片大小。具体如何做我找到了一篇别人的文章共大家参考:zhuanlan.zhihu.com/p/666644838 )
案例中的实际输入:。
11、Markdown转义字符语法
(1)普通的字符转义
要显示原本用于格式化 Markdown 文档的字符,请在字符前面添加反斜杠字符 \ 。
\* Without the backslash, this would be a bullet in an unordered list.
实际效果: * Without the backslash, this would be a bullet in an unordered list.
(2)以下列出的字符都可以通过使用反斜杠字符从而达到转义目的。
\ 、 * _ {} [] () # + - . ! |
(3)特殊字符自动转义
在 HTML 文件中,有两个字符需要特殊处理: < 和 & 。 < 符号用于起始标签,& 符号则用于标记 HTML 实体,如果你只是想要使用这些符号,你必须要使用实体的形式,像是 < 和 &。
& 符号其实很容易让写作网页文件的人感到困扰,如果你要打「AT&T」 ,你必须要写成「AT&T」 ,还得转换网址内的 & 符号,如果你要链接到:
http://images.google.com/images?num=30&q=larry+bird
你需要写成
http://images.google.com/images?num=30&q=larry+bird
才能放到链接标签的 href 属性里。不用说也知道这很容易忘记,这也可能是 HTML 标准检查所检查到的错误中,数量最多的。
12、表格
(1)表格
要添加表,请使用三个或多个连字符(---)创建每列的标题,并使用管道(|)分隔每列。您可以选择在表的任一端添加管道。
| Syntax | Description |
| --------- | ----------- |
| Header | Title |
| Paragraph | Text |
实际效果:
| Syntax | Description |
|---|---|
| Header | Title |
| Paragraph | Text |
(2)对齐
您可以通过在标题行中的连字符的左侧,右侧或两侧添加冒号(:),将列中的文本对齐到左侧,右侧或中心。
| 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 |
13、Markdown内嵌HTML标签
HTML 的行级內联标签如 <span>、<cite>、<del> 不受限制,可以在 Markdown 的段落、列表或是标题里任意使用。依照个人习惯,甚至可以不用 Markdown 格式,而采用 HTML 标签来格式化。例如:如果比较喜欢 HTML 的 <a> 或<img> 标签,可以直接使用这些标签,而不用 Markdown 提供的链接或是图片语法。当你需要更改元素的属性时(例如为文本指定颜色或更改图像的宽度),使用 HTML 标签更方便些。
这一部分的前置知识是html,如有需要建议自行百度学习。