从网上收集的markdown语法教程
写在前面
前两天用Gridea和Github Pages搭好了我的博客,不得不说,这两个都是好东西,而且都是免费的。Gridea用来搭建个人博客容易,而且人性化,适合像我这样的菜鸟上手,Github Pages提供平台展示博客。在这里感谢一下Gridea和Github Pages的开发者们。
Gridea支持Markdown语法,我这个菜鸟又不会,所以打算学一下,顺便写一篇介绍基本语法的博文,作为我的第一篇博文,下面进入正题吧!
Markdown简介
Markdown 语言由约翰·格鲁伯(John Gruber)于2004年创建,是一种轻量级标记语言。Markdown允许人们使用易读易写的纯文本来编写带样式的文档,有点类似html,不过它比html简单一些。Markdown 编写的文档可以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档。使用Markdown 编写的文档后缀为 .md, .markdown,比如github仓库里的README.md文档。
关于Markdown的编辑器,可分为以下三类:
- 平台集成工具:各大在线博客、社区平台自带的写作工具,比如CSDN、博客园、简书等。
- 独立软件类:在本地上使用的独立软件,可以编辑本地文件,比如Typora、Haroopad等。
- 插件类:有些编辑器安装相应的插件,可以具有Markdown的功能,比如Atom、VS code、Sublime Text等。
标题
标题可以使用两种方式来设置,一种是用“=”和“-”,一种是用“#”。
- 使用“=”和“-”符号,在标题的下一行加一个“=”,就会有一级标题的效果,如果加“-”的话就是二级标题。效果如下:
1
2
3
4一级标题
=
二级标题
-
需要注意的是,使用这种方式的标题,上一行如果是普通文本,两行之间要加一个换行,不然上一行文本也会有标题的样式。
- 使用“#”符号,在标题的前面加“#”符号就好了,加几个“#”就代表几级标题,最多支持6级标题。效果如下:
1
2
3
4
5
6# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
字体
简单字体
Markdown 可以使用以下几种字体:
1 | *斜体文本* |
效果如下:
斜体文本
斜体文本
粗体文本
粗体文本
粗斜体文本
粗斜体文本
带下划线文本
带删除线文本
自定义字体
Markdown的最初目标就是为纯写作而生的,因此,它并没有考虑文字的更多样式。如果想使用更多字体样式,可以借助html的font标签。
1 | <font color=red>红色字体</font> |
效果如下:
红色字体
6号字体
6号红色字体
空格
Markdown不能直接用键盘输入的空格和回车来表示空格,需要用特殊符号。 
或 
表示半角空格(En Space),占一个字符,相当于半个汉字的长度。 
或 
表示全角空格(Em Space),占两个字符,相当于一个汉字的长度。
或 
不换行空格(No-Break Space),占一个字符,相当于一个字符”n”的长度。
半角空格和全角空格推荐在中文里使用,不换行空格推荐在英文里使用。
换行
markdown里敲多个换行只能显示一个,如果想显示多个换行,需要用<br>
或者<br/>
来表示。
引用
引用的文字段落会高亮显示,方法是在文字开头加”>”符号。
1 | > 最外层 |
最外层
第一层嵌套
第二层嵌套
图片
简单图片
如果是想简单的显示图片,使用以下方式就好了:
1 | ![](图片地址) |
图片链接地址可以是本地图片文件地址,也可以是网络图片地址。
也可以给图片添加说明和标题:
1 | ![图片说明文字](图片链接地址 "图片标题") |
图片说明文字会在图片无法加载时显示,图片正常加载时说明文字不显示,下面是一个例子。
1 | ![这是一张无法加载的图片](错误的图片地址 "title") |
显示为
如果图片有标题,当鼠标停在图片上时会显示出来,即使图片无法加载,鼠标停靠时也会显示,下面是一个例子,请读者自行尝试。
1 | ![涅普迪努](/images/learn_note/markdown_base/nepnep.png "我可爱吗^_^") |
自定义图片
Markdown无法自定义图片的宽度和高度,如果想改变的话需要借助html的img标签。
1 | <img width=100 height=160 src="/images/learn_note/markdown_base/nepnep.png" title="我是变小后的涅普迪努"></img> |
下面是一张100×160的图片
链接
外部链接
markdown可以使用两种方法创建链接
1 | [链接名称](链接地址) |
以github主页为例:
1 | [github](https://github.com) |
内部链接
可以使用内部链接跳转到本文内某个标题的位置,语法如下:
1 | [链接名字][#标题名字] |
比如想跳转转到本文的“Markdown简介”的位置,可以用下面的代码实现:
1 | [Markdown简介](#Markdown简介) |
列表
无序列表
无序列表使用星号(*)、加号(+)或是减号(-)作为列表标记:
1 | * 第一项 |
- 第一项
- 第二项
- 第三项
- 第一项
- 第二项
- 第三项
- 第一项
- 第二项
- 第三项
有序列表
有序列表使用数字并加上 . 号来表示,如:
1 | 1. 第一项 |
- 第一项
- 第二项
- 第三项
markdown会对数字重新按顺序编号,比如下面代码显示的编号任然是1.2.3.
1 | 1. 第一项 |
- 第一项
- 第二项
- 第三项
嵌套列表
列表嵌套只需在子列表中的选项添加四个空格即可:
1 | 1. 第一项: |
- 第一项:
- 第一项嵌套的第一个元素
- 第一项嵌套的第二个元素
- 第二项:
- 第二项嵌套的第一个元素
- 第二项嵌套的第二个元素
表格
Markdown 制作表格使用 | 来分隔不同的单元格,使用 - 来分隔表头和其他行。
语法格式如下:
1 | | 表头 | 表头 | |
显示效果:
表头 | 表头 |
---|---|
单元格 | 单元格 |
单元格 | 单元格 |
设置表格的对齐方式:
- -: 设置内容和标题栏居右对齐。
- :- 设置内容和标题栏居左对齐。
- :-: 设置内容和标题栏居中对齐。
实例如下:
1 | | 左对齐的一列 | 右对齐的一列 | 居中对齐的一列 | |
显示效果:
左对齐的一列 | 右对齐的一列 | 居中对齐的一列 |
---|---|---|
单元格 | 单元格 | 单元格 |
单元格 | 单元格 | 单元格 |
代码
代码片段
代码片段可以用一个或两个反引号”`“包起来,比如:
1 | c语言常用`scanf()`和``printf()``函数来输入输出。 |
显示为:c语言常用scanf()
和printf()
函数来输入输出。
代码段落
代码段落可以用三个反引号”```”或三个”~~~”来显示(三个以上也可以),比如:
1 | ``` |
显示为:
1 | #include <stdio.h> |
在前面的三个反引号后面加入编程语言的关键字,还可以显示语法高亮,比如:
1 | ```python |
显示为:
1 | import numpy as np |
以下为常用的语言的语法关键字
语言 | 关键字 |
---|---|
C | cpp, c |
Java | java |
Python | py, python |
Shell | bash, shell |
C# | csharp, c# |
CSS | css |
JavaScript | js, jscript, javascript |
XML | xml , xhtml, xslt, html |
PHP | php |
SQL | sql |
转义字符
markdown里有些字符代表特殊功能,比如 * 代表无序列表开始标志,如果只是想显示这些符号,而不使用符号的特殊功能,需要在符号前加一个 \ ,markdown里需要转义的字符如下:
原始字符 | 显示效果 | |
---|---|---|
反斜杠 | \\ | \ |
反引号 | \` | ` |
星号 | \* | * |
井号 | \# | # |
加号 | \+ | + |
减号 | \- | - |
点 | \. | . |
感叹号 | \! | ! |
大括号 | \{\} | {} |
中括号 | \[\] | [] |
小括号 | \(\) | () |
其他
目录
部分markdown平台支持目录自动生成,比如gridea可以用@[TOC]
来插入目录,Typora用[TOC]
插入目录。如果平台不支持的话,可以使用mardown的编辑器来生成,或者使用上面提到的列表和内部链接自己做一个,当然这样比较麻烦,而且无法与标题自动同步。
脚注
markdown支持添加脚注,点击脚注后,会跳转到文档的底部的说明位置,语法如下:
1 | [^关键字] |
第一行代码添加了一个脚注,第二行代码对脚注进行了定义,如果对添加的脚注不进行定义的话,脚注无法显示。markdown在显示脚注的时候会按照顺序进行编号,下面是一个例子。
1 | 文本[^第一个脚注] |
显示结果:
文本1
文本2
分割线
markdown可以在一行上连用三个或者三个以上的星号、减号、或者下划线来表示分割线。
1 | *** |
显示效果:
数学公式
可以参考这个大佬的链接http://blog.lisp4fun.com/2017/11/01/formula