markdown 总结

(9 mins to read)

基本语法

n 级标题

1
2
3
# 一级标题

## 二级标题

粗体

1
**粗体文本**

粗体文本

斜体

1
*斜体文本*

斜体文本

引用

1
2
> 引用
> 文本

引用文本

  • 建议每一行引用都使用符号>

无序列表

1
2
- 无序文本
- 无序文本
  • 无序文本
  • 无序文本

有序列表

1
2
1. 有序文本
2. 有序文本
  1. 有序文本
  2. 有序文本
  • 如果列表项有换行,则建议给无序列表使用 3 个空格,给有序列表使用 2 个空格。
  • 如果一个列表中的每个列表项都只有 1 行,建议列表项之间不要有空行。
  • 如果列表项中有换行,建议在列表项之间空 1 行,这样会比较容易区分多行列表项的开始和结束。

行内代码

1
`code`

code

分割线

1
---

文字链接

1
[示例网站](www.example.com)

示例网站

图片

1
![图片](/post-images/markdown-cheat.png)

图片

网址链接

1
<www.example.com>

<www.example.com>

扩展语法

只介绍 Github 偏好的 Markdown(GFM),尽量保持兼容性。

自动链接

www.example.com

禁用自动链接:

1
`www.example.com`

www.example.com

表格

1
2
3
| Header | Header | Header |
| :--- | :---: | ---: |
| Left | Middle | Right |
Header Header Header
Left Middle Right
  • 表头与其他行使用-来分隔。

代码块

1
2
3
4
5
6
7
```cpp
#include <iostream>
int main() {
std::cout << "Hello Markdown\n";
return 0;
}
\```
1
2
3
4
5
#include <iostream>
int main() {
std::cout << "Hello Markdown\n";
return 0;
}
  • 很多 Shell 命令都要粘贴到终端中去执行,因此最好避免在 Shell 命令中使用任何换行操作;可以在行尾使用一个\,这样既能避免命令换行,又能提高源码的可读性。

  • 建议不要在没有输出内容的 Shell 命令前加$。在命令没有输出内容的情况下,$是没有必要的,因为内容全是命令,我们不会把命令和输出的内容混淆。

  • 建议在有输出内容的 Shell 命令前加上$,这样会比较容易区分命令和输出的内容。($代表普通用户,#代表超级用户)

删除线

1
~~删除文本~~

删除文本

任务列表

1
2
- [x] 已完成
- [ ] TODO

表情符号:

1
:cry: :joy: :smile: :warning: :memo: :bulb:

😢😂😄⚠️📝💡

参阅 表情短代码列表

Tricks

主要是利用 HTML 实现一些额外的功能。

下划线

1
<ins>下划线文本</ins>

下划线文本

缩进

1
2
3
4
$nbsp <!-- No-Break Space 不换行空格 -->
$emsp <!-- Em Space 全角空格 -->
$ensp <!-- En Space 半角空格 -->
&nbsp;&nbsp;&nbsp;&nbsp;缩进文本

    缩进文本

居中

1
2
<center\>居中文本\</center\> # 标准已弃用
<p style="text-align:center">居中文本</p>

<center>居中文本</center>

颜色

1
<font color="red">红色文本</font>

红色文本


图片大小

1
2
<img src="image.png" width="200" height="100"/>
<img src="image.png" style="zoom:33%;"/>

目录

[TOC]

内容折叠

需要安装markdown-it-collapsible插件

1
2
3
4
5
6
7
8
9
+++ **点击查看**
隐藏内容。

```python
def expand():
return "exapndable"
\```

+++
 点击查看

隐藏内容。

1
2
def expand():
return "expandable"

数学公式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$a = b + c * d - e_0 * f$

$$\frac{\partial u}{\partial t}
= h^2 \left( \frac{\partial^2 u}{\partial x^2} +
\frac{\partial^2 u}{\partial y^2} +
\frac{\partial^2 u}{\partial z^2}\right)$$

$$
\left[
\begin{array}{cc|c}
1&2&3\newline
4&5&6
\end{array}
\right]
$$

$$
\begin{eqnarray}
\nabla\cdot\vec{E} &=& \frac{\rho}{\epsilon_0} \\
\nabla\cdot\vec{B} &=& 0 \\
\nabla\times\vec{E} &=& -\frac{\partial B}{\partial t} \\
\nabla\times\vec{B} &=& \mu_0\left(\vec{J}+\epsilon_0\frac{\partial E}{\partial t} \right)
\end{eqnarray}
$$

$a = b + c * d - e_0 * f$

$$\frac{\partial u}{\partial t}= h^2 \left( \frac{\partial^2 u}{\partial x^2} +\frac{\partial^2 u}{\partial y^2} +\frac{\partial^2 u}{\partial z^2}\right)$$

$$\left[\begin{array}{cc|c}1&2&3\newline4&5&6\end{array}\right]$$

$$\begin{eqnarray}\nabla\cdot\vec{E} &=& \frac{\rho}{\epsilon_0} \\nabla\cdot\vec{B} &=& 0 \\nabla\times\vec{E} &=& -\frac{\partial B}{\partial t} \\nabla\times\vec{B} &=& \mu_0\left(\vec{J}+\epsilon_0\frac{\partial E}{\partial t} \right)\end{eqnarray}$$

排版 Tips

  1. 安装markdownlint插件。
  2. 使用Trailing Spaces插件。
  3. URL前后加空格,这样可以避免和文字粘连。
  4. 建议中文和英文之间加空格,中文/英文和数字之间也要加空格。(试了几个hexo插件都存在一些问题,这条看情况遵守吧;这样做的一个好处是可以让编辑器帮你进行拼写检查)
  5. 英文标点符号(如,.;:?)与后面的字符之间需要加空格,与前面的字符之间不需要加空格。
  6. 中文标点符号和数字、中文、英文之间不需要添加空格。
  7. 中文排版使用全角标点符号,英文排版使用半角标点符号。
  8. 专有名词注意大小写问题。
  9. 括号的用法:在括号内只有英文时用英文括号,并在括号前后加一个半角空格;在括号内有中文时用中文括号。
  10. 英文没有顿号,因此在英文和阿拉伯数字并列时用逗号,否则用顿号。