Markdown 简明语法手册
作为 typecho-markdown 的开发者,收到很多关于 Markdown 解析库的使用问题。
对于功能上的 bug 当然会第一时间进行修复,非功能上的「问题」很难一个个去教大家如何使用,于是我将自己准备的插件 Test Case 重新编辑优化,整成了一个 「Markdown 简明语法手册」。
里面列出的每一项都是我自己的会用到的 Markdown 功能,每个功能点都有示例源码和渲染结果,解析渲染工具当然是 typecho-markdown,没有出现乱码、结构错乱问题即说明插件功能正常。
语法上支持的功能点和 Cmd Markdown(作业部落)基本一致,本插件开源免费,大家用的开心就行 😉。
同时本插件和 Typora 完全兼容,理论上通过 Typora 编辑的内容使用本插件就能正常解析,直接粘贴发布无需做任何修改,因为我就一直是这样用的 😎。
本博客运行环境:
- PHP - 8.0.6
- Typecho - 1.2/18.10.23
- MarkdownParse Plugin - 1.4.0
还在手动更新 Typecho 博客版本?
赶紧去试试 typecho-update-assistant 支持一键升级到最新版本,每次操作前均会备份,安全无虞。
因为每个人的运行环境和主题样式不一样,所以最终渲染样式供大家参考。
0.目录
使用 [TOC]
来标示插入目录,目录分级取决于文章已有的分级标题。
最高层级不一定要从一级标题开始,目录解析过程会自动识别整个目录的最高层级。
示例:
[TOC]
- 0.目录
- 1. 斜体、粗体、删除线
- 2. 分级标题
- 3. 外链接
- 4. 无序列表
- 5. 有序列表
- 6. 文字引用
- 7. 行内代码块
- 8. 代码块
- 9. 插入图像
- 10. 表格支持
- 11. LaTeX 公式
- 12. Mermaid(1.3.0 及之后版本支持)
- 13. 注脚
1. 斜体、粗体、删除线
使用*
、**
、~~
分别表示斜体、粗体和删除线。
示例:
这是 *斜体*,这是 **粗体**,这是 ~~删除线~~。
这是 斜体,这是 粗体,这是 删除线。
2. 分级标题
在行首加不同数量的 #
表示不同级别的标题 (H1-H6)。
最高层级不一定要从一级标题开始,目录解析过程会自动识别整个目录的最高层级。
示例:
## 这是一个二级标题
### 这是一个三级标题
#### 这是一个四级标题
##### 这是一个五级标题
这是一个二级标题
这是一个三级标题
这是一个四级标题
这是一个五级标题
3. 外链接
使用[描述](链接地址)
为文字增加外链接。
示例:
点击[程小白](https://www.chengxiaobai.cn)一起来交流探讨吧。
点击程小白一起来交流探讨吧。
4. 无序列表
使用 *
,+
,-
表示无序列表。
示例:
- 无序列表项 一
- 无序列表项 二
- 无序列表项 三
- 无序列表项 一
- 无序列表项 二
- 无序列表项 三
5. 有序列表
使用数字和点表示有序列表。
示例:
1. 有序列表项 一
2. 有序列表项 二
3. 有序列表项 三
- 有序列表项 一
- 有序列表项 二
- 有序列表项 三
6. 文字引用
使用 >
表示文字引用。
示例:
> 有一种鸟是关不住的,因为它的每一根羽毛都闪耀着自由的光辉。
有一种鸟是关不住的,因为它的每一根羽毛都闪耀着自由的光辉。
7. 行内代码块
使用 `代码` 表示行内代码块。
示例:
`php`
php
8. 代码块
使用 ```代码``` 表示代码块。
示例:
```php
public function __construct(array $config = [])
{
$this->configureDefaults($config);
}
```
public function __construct(array $config = [])
{
$this->configureDefaults($config);
}
9. 插入图像
使用 
插入图像。
示例:

10. 表格支持
表格语法。
示例:
| base_uri | uri | result |
| :--------------------: | :-----: | :--------------------------: |
| chengxiaobai.cn/first/ | /second | chengxiaobai.cn/second |
| chengxiaobai.cn/first/ | second | chengxiaobai.cn/first/second |
| chengxiaobai.cn/first | /second | chengxiaobai.cn/second |
| chengxiaobai.cn/first | second | chengxiaobai.cn/second |
base_uri | uri | result |
---|---|---|
chengxiaobai.cn/first/ | /second | chengxiaobai.cn/second |
chengxiaobai.cn/first/ | second | chengxiaobai.cn/first/second |
chengxiaobai.cn/first | /second | chengxiaobai.cn/second |
chengxiaobai.cn/first | second | chengxiaobai.cn/second |
11. LaTeX 公式
使用 $
和 $$
包裹公式内容,分别代表行内公式和公式块。
示例:
这是一个行内公式:$f(x,y,z) = 3y^2z \left( 3+\frac{7x+5}{1+y^2} \right)$
这是一个公式块:
$$
F^{HLLC}=\left\{
\begin{array}{rcl}
F_L & & {0 < S_L}\\
F^*_L & & {S_L \leq 0 < S_M}\\
F^*_R & & {S_M \leq 0 < S_R}\\
F_R & & {S_R \leq 0}
\end{array} \right.
$$
这是一个行内公式:$f(x,y,z) = 3y^2z \left( 3+\frac{7x+5}{1+y^2} \right)$
这是一个公式块:
$$
F^{HLLC}=\left\{
\begin{array}{rcl}
F_L & & {0 < S_L}\\
F^*_L & & {S_L \leq 0 < S_M}\\
F^*_R & & {S_M \leq 0 < S_R}\\
F_R & & {S_R \leq 0}
\end{array} \right.
$$
12. Mermaid(1.3.0 及之后版本支持)
将代码块的语言标记为 mermaid
即可使用 mermaid 作图,支持所有 mermaid 语法。
Pie Chart
```mermaid
pie title NETFLIX
"Time spent looking for movie" : 90
"Time spent watching it" : 10
```
Sequence Diagram
```mermaid
sequenceDiagram
Alice ->> Bob: Hello Bob, how are you?
Bob-->>John: How about you John?
Bob--x Alice: I am good thanks!
Bob-x John: I am good thanks!
Note right of John: Bob thinks a long<br/>long time, so long<br/>that the text does<br/>not fit on a row.
Bob-->Alice: Checking with John...
Alice->John: Yes... John, how are you?
```
Flowchart
```mermaid
sequenceDiagram
Alice ->> Bob: Hello Bob, how are you?
Bob-->>John: How about you John?
Bob--x Alice: I am good thanks!
Bob-x John: I am good thanks!
Note right of John: Bob thinks a long<br/>long time, so long<br/>that the text does<br/>not fit on a row.
Bob-->Alice: Checking with John...
Alice->John: Yes... John, how are you?
```
Gantt Diagrams
```mermaid
gantt
title A Gantt Diagram
dateFormat YYYY-MM-DD
section Section
A task :a1, 2014-01-01, 30d
Another task :after a1 , 20d
section Another
Task in sec :2014-01-12 , 12d
another task : 24d
```
Class Diagrams
```mermaid
classDiagram
Animal <|-- Duck
Animal <|-- Fish
Animal <|-- Zebra
Animal : +int age
Animal : +String gender
Animal: +isMammal()
Animal: +mate()
class Duck{
+String beakColor
+swim()
+quack()
}
class Fish{
-int sizeInFeet
-canEat()
}
class Zebra{
+bool is_wild
+run()
}
```
State Diagrams
```mermaid
stateDiagram
[*] --> Still
Still --> [*]
Still --> Moving
Moving --> Still
Moving --> Crash
Crash --> [*]
```
Entity Relationship Diagrams
```mermaid
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE-ITEM : contains
CUSTOMER }|..|{ DELIVERY-ADDRESS : uses
```
13. 注脚
Typecho Markdown 插件第一版本发布于 2017-12-02[^1]。
[^1]: 来源于插件更新记录:https://www.chengxiaobai.cn/php/markdown-parser-library.html
Typecho Markdown 插件第一版本发布于 2017-12-021。
本作品由 程小白 创作,采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可,可自由转载、引用但需署名作者且注明文章出处。
原文地址:https://www.chengxiaobai.cn/record/markdown-concise-grammar-manual.html
你好, 请问 1.3版本什么时候发布呀
类图和流程图都没发渲染呢
渲染是前端 JS 渲染,依据网络、浏览器等因素渲染速度会有差异
mermaid不能正常解析,数学公式可以
可以在 github 提交 issues 并附带相关复现信息,方便定位问题
您好,国内主机使用typecho-update-assistant插件报请求失败,需要怎么处理?
我查看了
插件目录有可写权限
zip 扩展
curl 扩展 / 设置 allow_url_fopen = 1 在你的 php.ini 中--我的是ON 应该是一样的,
其他的点我就不清楚
您好:
国内主机使用插件报请求失败,需要怎么处理?
依赖
插件目录有可写权限
zip 扩展
curl 扩展 / 设置 allow_url_fopen = 1 在你的 php.ini 中
这些都已经满足
可以提供下具体的环境信息:server、PHP、Typecho,以及报错信息。
CentOS 8.2.2004(Py3.7.8) PHP-7.4
Blog will be upgraded from 1.2/18.1.29 to 1.2/18.10.23 (dev).
Please be patient. Depend on the network speed.
Don't worry! The system will automatically backup your data. You can find it at 'usr/plugins/UpdateAssistant/archive/back/'
执行结果:Request fail!
国内 VPS?最近国内访问 GitHub 不稳定,导致下载失败。
有没有什么解决方案,可以修改网址到国内镜像站么,不太会修改
您好 现在电脑端和平板端都正常 但是手机数学公式和流程图都显示不出来 有解决办法吗
这个描述太抽象了,可能是手机加载资源失败或者是渲染较慢?
正在测试中,目前看很好用!
大佬电脑端跟手机端直接进去会显示代码,要刷新一下才可以,可以设置直接进去就加载出来吗
这个看起来更多是网络因素,内容渲染依赖 JS 资源,第一次进去应该是资源没加载完毕,刷新相当于二次进入,JS 资源已经在本地了,所以渲染起来更快
数学公式我末尾用\没法换行,只能用两个$$公式$$分别括起来。。。