工欲善其事必先利其器
“写作语言”——Markdown学习笔记
一、学习目的
学习总要输出点什么还能算得上真正学会。
工欲善其事必先利其器。
那么使用什么工具来输出能够提高效率?
罗振宇在2016年“时间的朋友”跨年演讲中提到过一个观点,他说:“当我需要一个服务时,不要给我太多选择,请直接告诉我什么是最好的,我要你的最佳方案。”Markdown就是写作文档的最佳方案。
二、基础语法
1. 标题
两种标题写法:
- 底线
=
和-
(只有两级,=
是一级,-
是二级,符合数量至少两个) -
#
(多少个#
就是多少级标题,最多支持6级)
2. 粗体
由两个*
或两个_
包裹
3. 斜体
由一个*
或一个_
包裹
4. 段落与换行
行与行之间有空行,视作不同段落
段内换行,需要在上一行的结尾插入两个以上空格然后按回车键
5. 列表
- 有序列表:数字序号+英文句号+空格+列表内容
- 无序列表:
*
号或+
号或-
号+空格+列表内容
6. 分隔线
由3个以上的*
号或_
号或-
号来标记
行内不能有其它字符
可以在标记符中间加上空格
7. 图片
语法:
[图片上传失败...(image-d5fb1e-1629779057894)]
8. 链接
(1) 文字链接
语法:
[链接文字](链接地址)
(2) 引用链接
把链接地址在某个地方统一定义好,然后在正文中通过“变量 ”来引用,可读性一下子就变强了,这种方法叫作引用链接。
a. 语法格式
- 在正文中引用链接标记,可以理解为引用定义好的变量:
[连接文字][链接标记]
- 在底部定义链接标记,可以理解为定义一个地址变量:
[链接标记][链接地址]
b. 语法说明
- 链接标记可以有字母、数字、空格和标点符号。
- 链接标记不区分大小写。
- 定义的链接内容可以放在当前文件的任意位置,建议放在页尾。
- 当链接地址为网络地址时要以 http/https开头,否则会被识别为本地地址。
(3) 网址链接
语法:
<URL 或邮箱地址 >
9. 行内代码与代码块
(1) 行内代码
由一个反单引号(backquote)包裹,(也可用于转义或强调某些字符)
(2) 代码块
以Tab键或4个空格开头
因为代码块使用Tab键或4个空格开头的效果不够直观,很多扩展语法(如GFM)提供了围栏代码块,并且支持语法高亮。
10. 引用
由 > + 引用内容来标记
- 多行引用也可以在每一行的开头都插入 > 。
- 在引用中可以嵌套引用。
- 在引用中可以使用其他的Markdown语法。
- 段落与换行的格式在引用中也是适用的。
11. 转义
语法:
\特殊符号
可被转义的特殊符号:
- \ 反斜杠
- ` 反引号
- * 星号
- _ 底线
- {} 花括号
- [] 方括号
- () 括弧
- * 井字号
- + 加号
- - 减号
- . 英文句点
- ! 感叹号
三、扩展语法GFM
1. 删除线
语法:
~~删除的文字~~
2. 表情符号
使用英文冒号包裹表情代码
3. 自动链接
由 <> 包裹的URL地址被自动识别并解析为超链接,使用GFM扩展语法则可以不使用 <> 包裹。
4. 表格
语法:
|
表头1|
表头2|
表头3|
|---|---|---|
|
内容1|
内容2|
内容3|
|
内容1|
内容2|
内容3|
- 单元格使用|来分隔,为了阅读更清晰,建议最前和最后都使用|。
- 单元格和|之间的空格会被移除。
- 表头与其他行使用-来分隔。
- 块级元素(代码区块、引用区块)不能插入表格中。
- 表格对齐格式如下。
左对齐(默认) | 右对齐 | 居中对齐 |
---|---|---|
: | -: | :-: |
5. 任务列表
语法:
- [ ] 未勾选
- [x] 已勾选
6. 围栏代码块
在基础语法中,代码块使用Tab键或4个空格开头;
在扩展语法中,围栏代码块使用连续3个`或3个~包裹,支持语法高亮并可以加上编程语言的名字,可读性和可维护性更强一些。
语法:
```python
代码片段
```
或
~~~python
代码片段
~~~
效果:
def fun():
pass
7. 锚点
锚点,也称为书签,用来标记文档的特定位置,使用锚点可以跳转到当前文档或其他文档中指定的标记位置。
Markdown会被渲染成HTML页面,在HTML页面中可以通过锚点实现跳转;GitHub、GitBook项目文档中的目录也是通过锚点实现跳转的。
语法:
[锚点描述](#锚点名)
四、其它特殊语法
1. 数学公式
行内公式使用方法,比如这个化学公式:$\ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-}$
效果:
行内公式使用方法,比如这个化学公式:
块公式使用方法如下:
$$H(D_2) = -\left(\frac{2}{4}\log_2 \frac{2}{4} + \frac{2}{4}\log_2 \frac{2}{4}\right) = 1$$
效果:
矩阵:
$$
\begin{pmatrix}
1 & a_1 & a_1^2 & \cdots & a_1^n \\
1 & a_2 & a_2^2 & \cdots & a_2^n \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
1 & a_m & a_m^2 & \cdots & a_m^n \\
\end{pmatrix}
$$
效果:
2. TOC
支持平台:微信公众号、知乎。
TOC 全称为 Table of Content,列出全部标题。
.[TOC].
由于微信只支持到二级列表,本工具仅支持二级标题和三级标题的显示。
3. 注音符号
支持平台:微信公众号。
Markdown Nice 这么好用,简直是{喜大普奔|hē hē hē hē}呀!
4. HTML
支持原生 HTML 语法,请写内联样式,如下:
<span style="display:block;text-align:right;color:orangered;">橙色居右</span>
<span style="display:block;text-align:center;color:orangered;">橙色居中</span>