MarkDown语法总结

        终于开始去写博客了,要学习下MarkDown语法,第一篇博客就用来整理,记录常用的MarkDown语法,方便以后的查询,使用。该篇语法总结不能一次性写全,所以会持续的更新,完善。

        MarkDown语法主要分为以下几个部分:标题,强调,引用,分割线,链接,列表,代码区块,转义字符等,还有一些零碎知识点。

标题

功能:表示各级标题(最多有6级标题)

公式和说明

#+空格+文字

注意:如果中间不加空格,在本地的MarkDown编辑器上可以正确显示,但同步到网站上,则不能正确显示

示例**:

# 我爱MarkDown

## 我爱MarkDown

### 我爱MarkDown

效果

我爱MarkDown

我爱MarkDown

我爱MarkDown


强调

功能:文字的倾斜,加粗,倾斜和加粗,加删除线。

公式和说明*可以换成_,效果相同

*+文字+*:文字倾斜

**+文字+**:文字加粗

***+文字+***:文字加粗加斜

~~+文字+~~:文字加删除线

示例

*我爱MarkDown* 或 _我爱MarkDown_

**我爱MarkDown** 或 __我爱MarkDown__

***我爱MarkDown*** 或 ___我爱MarkDown___

~~我爱MarkDown~~

效果

我爱MarkDown

我爱MarkDown

我爱MarkDown

我爱MarkDown


引用

功能:就只是引用吧

公式和说明

>+空格+文字

示例

>

> 我爱MarkDown1

>> 我爱MarkDown2

>>> 我爱MarkDown3

效果

引用效果图

注意:这里的效果用了截图,因为本地的typora输出的结果和网站的显示结果不同,暂时还不知道原因,待之后探究


分割线

功能:添加分割线,分割功能

公式和说明

符号 -* ,3个及以上

示例:

-–

-—

-—-

-—–

***

****

*****

******

效果:









链接

功能:添加网站链接,图片链接等。有两种表示方式,行内式和参考式,我们暂且先说行内式。

公式和说明

  1. 网站链接:

    [自定义名称1](url “自定义名称2”)

  2. 图片链接:

    ![自定义名称1](url “自定义名称2”)

注意:上面的自定义名称2是可有可无的。在网站链接中,如果定义了自定义名称2,当鼠标悬停在网址上时,会显示出自定义名称2的名字,如果没有定义,则不显示任何东西;在照片链接中,自定义名称1会在照片下方显示。如果把鼠标悬停在图片上,优先显示自定义名称2的名字,如果没有自定义名称2,则显示自定义名称1的名字

示例

[我的github1](https://zhangnanyue.github.io)

[我的github2](https://zhangnanyue.github.io “zhangnanyue”)

![我家的橘猫1](https://s2.ax1x.com/2019/10/15/K9LU3R.th.jpg)

![我家的橘猫2](https://s2.ax1x.com/2019/10/15/K9LU3R.th.jpg “乖乖”)

效果

我的github1

我的github2

我家的橘猫1

我家的橘猫2


列表

功能:分为有序列表和无序列表。有序列表会根据不同情况,用阿拉伯数字,字母等做有序的排列

公式和说明

  1. 无序列表:这里的-可以换成+ 或者* 都是一样的效果

    -+空格+文字

  2. 有序列表:

    数字+.+空格+文字

示例

- 我爱MarkDown1

* 我爱MarkDown2

+ 我爱MarkDown3

1. 我爱MarkDown4

3. 我爱MarkDown5

9. 我爱MarkDown6

效果

列表效果图

注意:这里的效果用了截图,因为本地的typora输出的结果和网站的显示结果不同,暂时还不知道原因,待之后探究


代码区块

功能:可以在区块中写代码

公式和说明

  1. 单行代码:

    在``符号内添加代码即可

  2. 多行代码:以符号```开始,以符号```结尾,在这之间添加代码

    ```

    代码1

    代码2

    代码3

    ……

    ```

示例
`print(“我爱MarkDown”)`

```

include <iostream>

int main() {
std::cout << “我爱MarkDown” << std::endl;
return 0;
}

```

效果

print("我爱MarkDown")

1
2
3
4
5
#include <iostream>
int main() {
std::cout << "我爱MarkDown" << std::endl;
return 0;
}

注意:我在本地typora写Markdown文本时,对于多行的代码区块,只需要写开头的```,该编辑器就会自动输出代码区块, 无需补全结尾的```(这个问题,是因为语法问题,还是编辑器缘故,我也不清楚,有待探究)


转义字符

功能:可以将那些有特定含义的符号,输出为正常的符号

公式和说明:在特殊符号之前添加\符号,可以使特殊符号的作用失效。

\+ 特殊符号

示例

\# 我爱MarkDown1

\* 我爱MarkDown2

\—

\+我爱MarkDown3

效果

# 我爱MarkDown1

* 我爱MarkDown2

-–

+ 我爱MarkDown3

注意:如果在特殊符号前不加转义字符,则会按照之前所有的MarkDown语法规则,输出相应的结果,但是在加了转义字符后,会将特殊字符变为正常的字符输出。


其他

  1. 空格问题

    在本地typora编辑器中,添加空格或者TAB,可以被正确地显示出来,但是在网站上,无论输入多少个空格或者TAB,就只显示一个空格的缩进。解决办法是不使用空格或者TAB,而是在需要空格的地方添加&nbsp;
    添加一个,就代表一个空格,以此类推。


未完待续


参考

https://www.jianshu.com/p/191d1e21f7ed

https://blog.csdn.net/u014061630/article/details/81359144

https://github.com/younghz/Markdown

https://www.jianshu.com/p/b30955885e6d

https://sspai.com/post/54912