Markdown 教程
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。
Markdown 语言在 2004 由约翰·格鲁伯(英语:John Gruber)创建。
Markdown 编写的文档可以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档。
Markdown 编写的文档后缀为 .md, .markdown。
Markdown 应用
Markdown 能被使用来撰写电子书,如:Gitbook。
当前许多网站都广泛使用 Markdown 来撰写帮助文档或是用于论坛上发表消息。例如:个人博客、GitHub、简书、reddit、Diaspora、Stack Exchange、OpenStreetMap 、SourceForge等。
编辑器
1、Typora
这是一个最流行的markdown编辑器,多平台的支持,各种格式的导出,所见即所得的快速显示,优雅性感的主题切换,自动标签匹配功能,统计字数,文档结构整理,可以说太多的赞誉给它都不为过,这是一个你用了就不想再去卸载它的软件。(之前免费的,现在开始收费了)
2、Marktext
这是一个轻量级的跨平台的编辑器,同时它还是一个开源的编辑器,它有着常用编辑器的基本功能,支持GFM table,支持流程图,甘特图,支持数学公式,有着清新的主题,可以说是typora之外另一个不错的选择。
3、visual studio code
之前流行一句话叫做,能用js实现的功能,最后都会用js来实现。同样,能用vscode实现的功能,最后都会用vscode来实现,vscode大法好。这是一个对编程人员友好的编辑器,因为你只需要安装一个vscode的插件,你就可以实现markdown的预览,编辑,导出了。
4、Draft
这是一个网页版的markdown编辑器,编写的时候,整个网页都是编辑器,可以说有很大的空间,字体看起来也很大,对于我这个老年人来说太适合了。俺就是喜欢这种简洁的风格。你可以自己管理界面的字体大小,背景颜色等,可以说如果你不想下载软件使用markdown的话,它是一个不错的选择。
Markdown 语法
一、标题
在想要设置为标题的文字前面加 # 来表示一个 # 是一级标题,二个 # 是二级标题,以此类推。支持六级标题。
注:标准语法一般在 # 后跟个空格再写文字,貌似不加空格也行。
示例:
# 这是一级标题
## 这是二级标题
### 这是三级标题
#### 这是四级标题
##### 这是五级标题
###### 这是六级标题
效果如下:
这是一级标题
这是二级标题
这是三级标题
这是四级标题
这是五级标题
这是六级标题
二、字体
-
加粗
要加粗的文字左右分别用两个 * 号包起来 -
斜体
要倾斜的文字左右分别用一个 * 号包起来 -
斜体加粗
要倾斜和加粗的文字左右分别用三个 * 号包起来 -
删除线
要加删除线的文字左右分别用两个 ~~ 号包起来
示例:
**这是加粗的文字**
*这是倾斜的文字*`
***这是斜体加粗的文字***
~~这是加删除线的文字~~
效果如下:
这是加粗的文字
这是倾斜的文字`
这是斜体加粗的文字
这是加删除线的文字
三、引用
在引用的文字前加 > 即可。引用也可以嵌套,如加两个 >> 三个 >>>
n个…
貌似可以一直加下去…
示例:
>这是引用的内容
>>这是引用的内容
>>>>>>>>>>这是引用的内容
效果如下:
这是引用的内容
这是引用的内容
这是引用的内容
四、分割线
三个或者三个以上的 - 或者 * 都可以。
示例:
---
----
***
*****
效果如下:
可以看到,显示效果是一样的。
五、图片
语法:
![图片alt](图片地址 ''图片 title '')
图片 alt 就是显示在图片下面的文字,相当于对图片内容的解释。
图片 title 是图片的标题,当鼠标移到图片上时显示的内容;title 可加可不加
示例:
[![GKaGUh.jpg](https://www.helloimg.com/images/2022/02/04/GKaGUh.jpg)]https://www.helloimg.com/image/GKaGUh)
效果如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vzmbaZcW-1647341538301)(https://s2.loli.net/2022/03/15/vwft6jkGAgS1B7V.jpg)]
PS:本地的图片只能在本地浏览不能在线浏览,那么图片的存储就是一个问题,需要用图床。
六、超链接
语法:
[超链接名](超链接地址 "超链接title")
title可加可不加
示例:
[蓝陌blog](https://blog.lamoa.top)
[百度](http://baidu.com)
效果如下:
PS:一些平台的Markdown本身语法可能不支持链接在新页面中打开,如果想要在新页面中打开的话可以用 html 语言的 a 标签代替。
<a href="超链接地址" target="_blank">超链接名</a>
示例
<a href="https://www.jianshu.com/u/1f5ac0cf6a8b" target="_blank">简书</a>
七、列表
无序列表
语法:
无序列表用 - + * 任何一种都可以
- 列表内容
+ 列表内容
* 列表内容
注意: - + * 跟内容之间都要有一个空格
效果如下:
- 列表内容
- 列表内容
- 列表内容
有序列表
语法:
数字加点
1. 列表内容
2. 列表内容
3. 列表内容
注意:序号跟内容之间要有空格
效果如下:
- 列表内容
- 这里有什么
- 这是什么?
列表嵌套
上一级和下一级之间敲三个空格即可
- 一级无序列表内容
二级无序列表内容
二级无序列表内容
二级无序列表内容
- 一级无序列表内容
- 二级有序列表内容
- 二级有序列表内容
- 二级有序列表内容
- 一级有序列表内容
- 二级无序列表内容
- 二级无序列表内容
- 二级无序列表内容
- 一级有序列表内容
- 二级有序列表内容
- 二级有序列表内容
- 二级有序列表内容
八、表格
语法:
表头|表头|表头
---|:--:|---:
内容|内容|内容
内容|内容|内容
第二行分割表头和内容。
- 有一个就行,为了对齐,多加了几个
文字默认居左
- 两边加:表示文字居中
- 右边加:表示文字居右
注:原生的语法两边都要用 | 包起来。此处省略
示例:
姓名|技能|排行
--|:--:|--:
刘备|哭|大哥
关羽|打|二哥
张飞|骂|三弟
效果如下:
姓名 | 技能 | 排行 |
---|---|---|
刘备 | 哭 | 大哥 |
关羽 | 打 | 二哥 |
张飞 | 骂 | 三弟 |
九、代码
语法:
单行代码:代码之间分别用一个反引号包起来
`代码内容`
效果如下:
print('Hello,World')
代码块:代码之间分别用三个反引号包起来,且两边的反引号单独占一行
效果如下:
print('Hello,World')
高级技巧
1、支持的 HTML 元素
不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写。
目前支持的 HTML 元素有:<kbd> <b> <i> <em> <sup> <sub> <br>
等 ,如:
使用 <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>Del</kbd> 重启电脑
使用 Ctrl+Alt+Del 重启电脑
2、转义
Markdown 使用了很多特殊符号来表示特定的意义,如果需要显示特定的符号则需要使用转义字符,Markdown 使用反斜杠转义特殊字符:
**文本加粗**
\*\* 正常显示星号 \*\*
文本加粗
** 正常显示星号 **
Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:
\ 反斜线
` 反引号
* 星号
_ 下划线
{} 花括号
[] 方括号
() 小括号
# 井字号
+ 加号
- 减号
. 英文句点
! 感叹号
3、公式
Markdown Preview Enhanced 使用 KaTeX 或者 MathJax 来渲染数学表达式。
KaTeX 拥有比 MathJax 更快的性能,但是它却少了很多 MathJax 拥有的特性。你可以查看 KaTeX supported functions/symbols 来了解 KaTeX 支持那些符号和函数。
默认下的分隔符:
$...$
或者\(...\)
中的数学表达式将会在行内显示。$$...$$
或者\[...\]
或者 ````math` 中的数学表达式将会在块内显示。
示例:
$$
\begin{Bmatrix}
a & b \\
c & d
\end{Bmatrix}
$$
$$
\begin{CD}
A @>a>> B \\
@VbVV @AAcA \\
C @= D
\end{CD}
$$
效果如下:
{
a
b
c
d
}
\begin{Bmatrix} a & b \\ c & d \end{Bmatrix}
{acbd}
KaTeX parse error: No such environment: CD at position 8: \begin{̲C̲D̲}̲ A @>a>> B \…