本文来自 Markdown 教程
Markdown教程Markdown标题文本格式字体分割线脚注行内代码标记文本高亮段落和换行段落的基本规则强制换行技巧最佳实践建议列表无序列表有序列表列表嵌套无序列表嵌套:有序列表嵌套:混合嵌套嵌套规则任务列表使用技巧高级列表技巧引用块多级嵌套引用区块中使用列表列表中使用区块引用块内的其他元素包含标题包含列表包含代码包含链接和图片代码行内代码代码区块缩进式代码块三反引号代码块语言标识和语法高亮代码块的高级特性显示行号代码差异对比链接锚点链接图片图片alt文本图片尺寸控制链接和图片的高级用法图片链接组合相对路径与绝对路径图片居中对齐方法一:HTML+CSS方法二:使用HTML对齐属性方法三:创建图片画廊性能优化建议常见问题表格对齐方式复杂表格元格内容格式化处理长文本换行处理缩写和链接表格中的特殊字符表格美化建议使用Emoji和符号数据表格最佳实践财务数据表格技术对比表格响应式表格处理高级技巧支持的HTML元素转义公式流程图、时序图、甘特图横向流程图竖向流程图标准流程图源码格式标准流程图源码格式(横向)UML时序图源码样例UML时序图源码复杂样例UML标准时序图样例甘特图样例分割线水平分割线数学公式基本语法结构常用LaTeX命令多行公式常用数学符号基本运算符号比较符号集合符号希腊字母特殊函数和符号矩阵图表绘制流程图时序图和甘特图时序图甘特图饼图
使用井号 #
号创建标题
一个#号为一级标题、两个#为二级标题,共六级。
井号必须在行首,且若干个井号后面必须跟一个空格:
xxxxxxxxxx
# 正确写法
#错误写法
推荐的标题层次结构应该遵循逻辑顺序,而不应该跳级使用:
xxxxxxxxxx
# 主标题
### 直接跳到三级标题(不推荐)
## 然后才是二级标题
推荐使用星号,下划线在各种Markdown解析器中可能会引起误解,且下划线不易分辨个数。
建议在强调符号前后添加空格以提高可读性。
三个以上星号(*)或减号(-)或下划线(_)可以创建一个分割线。
分割线的行内不能有其他字符。
使用 [^文字] 设置[^脚注]
使用<sub>和</sub>设置 下角标
使用<sup>和</sup>设置 上角标
使用反引号包围 代码
。
当代码内包含反引号时,使用两个反引号`包围`
。
应用场景:
Ctrl+C
文本高亮不是标准的Markdown语法,有些平台支持【前后各两个等号包围的文字,会以 == 高亮 == 显示】。
HTML替代方案是以 <mark> 和 </mark> 将需要 高亮的文本 包围起来。
shift+enter
的效果无序列表使用星号(*)、加号(+)、或减号(-)作为列表标记,在这些标记后面添加一个 空格 ,然后填写内容。例如:
x* 第一项
* 第二项
* 第三项
+ 第一项
+ 第二项
+ 第三项
- 第一项
- 第二项
- 第三项
建议:
使用数字加上英文句号作为列表标记,在标记后面添加一个 空格 ,然后填写内容。例如:
xxxxxxxxxx
1. 第一项
2. 第二项
3. 第三项
数字可以不连续,例如:
xxxxxxxxxx
1. 第一项
3. 第二项(实际显示为2)
7. 第三项(实际显示为3)
也可以从指定数字开始:
xxxxxxxxxx
5. 第五项
6. 第六项
7. 第七项
可以创建多层次的结构。
xxxxxxxxxx
- 水果
- 苹果
- 红苹果
- 绿苹果
- 香蕉
- 橙子
- 蔬菜
- 胡萝卜
- 白菜
水果
苹果
香蕉
橙子
蔬菜
xxxxxxxxxx
1. 准备阶段
1. 收集资料
2. 制定计划
2. 执行阶段
1. 开始实施
2. 监控进度
3. 总结阶段
准备阶段
执行阶段
总结阶段
xxxxxxxxxx
1. 主要任务
- 子任务A
- 子任务B
1. 详细步骤1
2. 详细步骤2
- 子任务C
2. 次要任务
主要任务
子任务A
子任务B
子任务C
次要任务
列表混合嵌套只需在子列表中的选项前面添加两个或四个空格即可:
xxxxxxxxxx
1. 第一项:
- 第一项嵌套的第一个元素
- 第一项嵌套的第二个元素
2. 第二项:
- 第二项嵌套的第一个元素
- 第二项嵌套的第二个元素
第一项:
第二项:
任务列表是GitHub风格的Markdown扩展功能:
xxxxxxxxxx
- 未完成的任务
- [x] 已完成的任务
- 另一个未完成的任务
未完成的任务
已完成的任务
另一个未完成的任务
实例:
xxxxxxxxxx
## 项目待办清单
### 设计阶段
- [x] 需求分析
- [x] 原型设计
- UI 设计
### 开发阶段
- 前端开发
- [x] 页面布局
- 交互功能
- 响应式适配
- 后端开发
- 数据库设计
- API 开发
- 性能优化
### 测试阶段
- 单元测试
- 集成测试
- 用户验收测试
显示效果如下:
若列表项包含多段,可以在第二段头部使用回退键消除掉自动生成的列表标记。
可以在列表项中使用引用。
在段落开头使用 >
符号,然后紧跟一个 空格 ,例如:
xxxxxxxxxx
> 区块引用
> 菜鸟教程
> 学的不仅是技术更是梦想
区块引用 菜鸟教程 学的不仅是技术更是梦想
对于多行引用,也可以用如下写法:
xxxxxxxxxx
> 这是一个长引用,
包含多行内容,
只需要在第一行使用 > 符号。
这是一个长引用, 包含多行内容, 只需要在第一行使用 > 符号。
另外区块是可以嵌套的,一个 >
符号是最外层,两个 >
符号是第一层嵌套,以此类推:
xxxxxxxxxx
> 最外层
> > 第一层嵌套
> > > 第二层嵌套
最外层
第一层嵌套
第二层嵌套
xxxxxxxxxx
> 区块中使用列表
> 1. 第一项
> 2. 第二项
> + 第一项
> + 第二项
> + 第三项
区块中使用列表
- 第一项
- 第二项
- 第一项
- 第二项
- 第三项
xxxxxxxxxx
* 第一项
> 菜鸟教程
> 学的不仅是技术更是梦想
* 第二项
第一项
菜鸟教程 学的不仅是技术更是梦想
第二项
xxxxxxxxxx
> ## 重要提醒
>
> 请在操作前仔细阅读文档,避免数据丢失。
引用块内可以包含几乎所有其他Markdown元素。
xxxxxxxxxx
> ## 重要提醒
>
> 请在操作前仔细阅读文档,避免数据丢失。
重要提醒
请在操作前仔细阅读文档,避免数据丢失。
xxxxxxxxxx
> ### 注意事项
>
> 1. 备份重要数据
> 2. 检查系统兼容性
> 3. 准备回滚方案
>
> - 测试环境验证
> - 生产环境部署
> - 监控系统状态
注意事项
- 备份重要数据
- 检查系统兼容性
- 准备回滚方案
- 测试环境验证
- 生产环境部署
- 监控系统状态
xxxxxxxxxx
> 要运行这个脚本,请使用以下命令:
>
> ```bash
> npm install
> npm start
> ```
>
> 执行后会在 `http://localhost:3000` 看到结果。
要运行这个脚本,请使用以下命令:
xxxxxxxxxx
npm install
npm start
执行后会在
http://localhost:3000
看到结果。
xxxxxxxxxx
> 📚 **推荐阅读**
>
> 详细信息请参考 [官方文档](https://example.com)
>
> 
📚 推荐阅读
详细信息请参考 官方文档
&#x
后面跟的是十六进制数表示的Unicode表情符号(可在 Emoji Unicode Tables 中查找)。
代号 | 含义 |
---|---|
✅ | ✅ |
⚠ | ⚠ |
️ | ️ (可能是个空格) |
❌ | ❌ |
ℹ | ℹ |
📚 | 📚 |
反引号包围的代码片段,例如:
xxxxxxxxxx
`printf()` 函数
printf()
函数
xxxxxxxxxx
``使用 `反引号` 包围代码``
使用 `反引号` 包围代码
xxxxxxxxxx
```包含 `` 双反引号的代码```
包含 `` 双反引号的代码
其他特殊字符处理:
表示空格【此方法在Typora内似乎不支持】
代码区块使用4个空格或者一个制表符。
xxxxxxxxxx
正常文本段落
这是缩进式代码块
每行前面有四个空格
保持代码的原始格式
继续正常文本
正常文本段落
xxxxxxxxxx
这是缩进式代码块
每行前面有四个空格
保持代码的原始格式
继续正常文本
使用```包裹一段代码,并指定一种语言(也可以不指定):
xxxxxxxxxx
```
多行代码内容
可以包含空行
保持原有缩进
```
xxxxxxxxxx
多行代码内容
可以包含空行
保持原有缩进
若指定语言,支持语法高亮:
xxxxxxxxxx
```javascript
$(document).ready(function () {
alert('RUNOOB');
});
```
xxxxxxxxxx
$(document).ready(function () {
alert('RUNOOB');
});
在三反引号后添加语言标识符可以启用语法高亮功能。常用的语言标识符列表:
javascript
/ js
- JavaScriptpython
/ py
- Pythonhtml
- HTMLcss
- CSSsql
- SQLjson
- JSONxml
- XMLyaml
/ yml
- YAMLbash
/ shell
- Shell脚本java
- Javacpp
/ c++
- C++csharp
/ c#
- C#php
- PHPruby
/ rb
- Rubygo
- Go语言rust
- Rusttypescript
/ ts
- TypeScript某些Markdown渲染器支持显示行号,通过特定的语法或配置实现。
xxxxxxxxxx
```javascript {.line-numbers}
function fibonacci(n) {
if (n <= 1) return n;
return fibonacci(n - 1) + fibonacci(n - 2);
}
console.log(fibonacci(10));
```
或者:
xxxxxxxxxx
```javascript showLineNumbers
const numbers = [1, 2, 3, 4, 5];
const doubled = numbers.map(x => x * 2);
const sum = doubled.reduce((a, b) => a + b, 0);
console.log(`总和: ${sum}`);
```
【Typora不支持】
xxxxxxxxxx
```diff
function calculateTotal(items) {
- let total = 0;
+ let total = 0.0;
for (let item of items) {
- total += item.price;
+ total += parseFloat(item.price);
}
+ // 保留两位小数
+ total = Math.round(total * 100) / 100;
return total;
}
```
xxxxxxxxxx
function calculateTotal(items) {
- let total = 0;
+ let total = 0.0;
for (let item of items) {
- total += item.price;
+ total += parseFloat(item.price);
}
+ // 保留两位小数
+ total = Math.round(total * 100) / 100;
return total;
}
xxxxxxxxxx
function greetUser(name) {
- console.log("Hello " + name);
+ if (!name) {
+ throw new Error("Name is required");
+ }
+ console.log(`Hello, ${name}!`);
}
xxxxxxxxxx
// 之前的代码
const oldFunction = () => {
var x = 10; // ❌ 使用 var
console.log("Value: " + x); // ❌ 字符串拼接
}
// 改进后的代码
const newFunction = () => {
const x = 10; // ✅ 使用 const
console.log(`Value: ${x}`); // ✅ 模板字符串
}
链接语法如下:
xxxxxxxxxx
[链接名称](链接地址)
[链接文字](链接地址 "可选的标题")
或者:
xxxxxxxxxx
<链接地址>
示例:
xxxxxxxxxx
这是一个链接 [菜鸟教程](https://www.runoob.com)
这是一个链接 菜鸟教程
xxxxxxxxxx
<https://www.runoob.com>
邮箱链接:
xxxxxxxxxx
markdown联系我:[发送邮件](mailto:example@email.com)
电话联系:[拨打电话](tel:+86-138-0013-8000)
锚点链接用于在同一个文档内跳转,适合长文档的导航。
跳转到标题:
xxxxxxxxxx
## 目录
- [第一章:介绍](#第一章介绍)
- [第二章:安装](#第二章安装)
- [第三章:使用方法](#第三章使用方法)
# 第一章:介绍
这里是介绍内容...
# 第二章:安装
这里是安装说明...
# 第三章:使用方法
这里是使用说明...
手动创建锚点:
xxxxxxxxxx
<a id="custom-anchor"></a>
## 自定义锚点位置
[跳转到自定义位置](#custom-anchor)
【似乎没用】
图片语法格式如下:
xxxxxxxxxx


建议:
也可以像网址那样对图片网址使用变量:
xxxxxxxxxx
这个链接用 1 作为网址变量 [RUNOOB][1].
然后在文档的结尾为变量赋值(网址)
[1]: https://static.jyshare.com/images/runoob-logo.png
Markdown无法指定图片的高度和宽度,只能用 <img> 标签来解决:
xxxxxxxxxx
<img src="https://static.jyshare.com/images/runoob-logo.png" width="50%">
建议本地备份重要图片
alt文本(替代文字)在图片无法显示时提供替代信息。
使用HTLM img标签:
xxxxxxxxxx
<img src="image.jpg" alt="描述文字" width="300" height="200">
<img src="image.jpg" alt="描述文字" width="50%">
<img src="image.jpg" alt="描述文字" style="width: 300px; height: auto;">
响应式图片:
xxxxxxxxxx
<img src="image.jpg" alt="描述文字" style="max-width: 100%; height: auto;">
图片对齐:
xxxxxxxxxx
<!-- 居中对齐 -->
<div align="center">
<img src="image.jpg" alt="居中图片" width="400">
</div>
<!-- 左对齐(默认) -->
<img src="image.jpg" alt="左对齐图片" style="float: left; margin-right: 20px;">
<!-- 右对齐 -->
<img src="image.jpg" alt="右对齐图片" style="float: right; margin-left: 20px;">
将图片作为链接的可点击元素:
xxxxxxxxxx
[](链接URL)
相对路径的优势:
xxxxxxxxxx
<!-- 项目结构 -->
project/
├── README.md
├── docs/
│ ├── guide.md
│ └── images/
│ └── screenshot.png
└── assets/
└── logo.png
<!-- 在 README.md 中 -->

<!-- 在 docs/guide.md 中 -->


建议:
xxxxxxxxxx
<div style="text-align: center;">
<img src="image.jpg" alt="居中图片" style="max-width: 100%;">
</div>
xxxxxxxxxx
<p align="center">
<img src="image.jpg" alt="居中图片" width="400">
</p>
xxxxxxxxxx
<div style="display: flex; justify-content: space-around; flex-wrap: wrap;">
<img src="image1.jpg" alt="图片1" style="width: 30%; margin: 10px;">
<img src="image2.jpg" alt="图片2" style="width: 30%; margin: 10px;">
<img src="image3.jpg" alt="图片3" style="width: 30%; margin: 10px;">
</sdiv>
示例:
xxxxxxxxxx
## 产品展示
### 主要功能
<table>
<tr>
<td align="center">
<img src="./images/feature1.png" width="200" alt="功能1">
<br>
<strong>智能识别</strong>
<br>
<sub>AI驱动的图像识别技术</sub>
</td>
<td align="center">
<img src="./images/feature2.png" width="200" alt="功能2">
<br>
<strong>快速处理</strong>
<br>
<sub>毫秒级响应速度</sub>
</td>
</tr>
</table>
### 界面预览
| 移动端 | 桌面端 |
|:---:|:---:|
|  |  |
| 响应式设计,完美适配 | 大屏体验,功能齐全 |
<a target="_blank">
标签表格语法格式如下:
xxxxxxxxxx
| 表头 | 表头 |
| ---- | ---- |
| 单元格 | 单元格 |
| 单元格 | 单元格 |
表头 | 表头 |
---|---|
单元格 | 单元格 |
单元格 | 单元格 |
语法要点:
---:
设置内容和标题栏右对齐:---
设置内容和标题栏左对齐:---:
设置内容和标题栏居中对齐示例:
xxxxxxxxxx
| 左对齐 | 右对齐 | 居中对齐 |
| :-----| ----: | :----: |
| 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 |
左对齐 | 右对齐 | 居中对齐 |
---|---|---|
单元格 | 单元格 | 单元格 |
单元格 | 单元格 | 单元格 |
语法:
xxxxxxxxxx
| 功能 | 描述 | 状态 |
|------|------|:----:|
| **用户登录** | 支持邮箱和手机号登录 | ✅ |
| *密码重置* | 通过邮箱重置密码 | ⚠️ |
| `API接口` | RESTful API 设计 | ✅ |
| [文档链接](https://example.com) | 查看详细文档 | 📖 |
功能 | 描述 | 状态 |
---|---|---|
用户登录 | 支持邮箱和手机号登录 | ✅ |
密码重置 | 通过邮箱重置密码 | ⚠️ |
API接口 | RESTful API 设计 | ✅ |
文档链接 | 查看详细文档 | 📖 |
xxxxxxxxxx
| 项目 | 详细说明 |
|------|----------|
| 需求分析 | 1. 收集用户需求<br>2. 分析业务场景<br>3. 确定功能范围 |
| 技术选型 | 前端:React + TypeScript<br>后端:Node.js + Express<br>数据库:MongoDB |
项目 | 详细说明 |
---|---|
需求分析 | 1. 收集用户需求 2. 分析业务场景 3. 确定功能范围 |
技术选型 | 前端:React + TypeScript 后端:Node.js + Express 数据库:MongoDB |
xxxxxxxxxx
| 技术栈 | 说明 | 官网 |
|--------|------|------|
| React | 用户界面库 | [链接](https://reactjs.org) |
| Vue.js | 渐进式框架 | [链接](https://vuejs.org) |
| Angular | 完整的框架 | [链接](https://angular.io) |
某些字符在表格中有特殊含义,需要转义:
xxxxxxxxxx
| 字符 | 转义方法 | 示例 |
|------|----------|------|
| 竖线 | `\|` | 显示 \| 符号 |
| 反斜杠 | `\\` | 显示 \\ 符号 |
| HTML | 直接使用 | <code><div></code> |
字符 | 转义方法 | 示例 |
---|---|---|
竖线 | \| | 显示 | 符号 |
反斜杠 | \\ | 显示 \ 符号 |
HTML | 直接使用 | <div> |
xxxxxxxxxx
| 状态 | 图标 | 说明 |
|:----:|:----:|------|
| 完成 | ✅ | 任务已完成 |
| 进行中 | 🔄 | 正在处理 |
| 待处理 | ⏳ | 等待开始 |
| 错误 | ❌ | 出现问题 |
| 警告 | ⚠️ | 需要注意 |
状态 | 图标 | 说明 |
---|---|---|
完成 | ✅ | 任务已完成 |
进行中 | 🔄 | 正在处理 |
待处理 | ⏳ | 等待开始 |
错误 | ❌ | 出现问题 |
警告 | ⚠️ | 需要注意 |
xxxxxxxxxx
| 月份 | 收入 | 支出 | 利润 | 增长率 |
|:----:|-----:|-----:|-----:|-------:|
| 1月 | ¥50,000 | ¥35,000 | ¥15,000 | - |
| 2月 | ¥55,000 | ¥38,000 | ¥17,000 | +13.3% |
| 3月 | ¥62,000 | ¥42,000 | ¥20,000 | +17.6% |
| **总计** | **¥167,000** | **¥115,000** | **¥52,000** | **+31.1%** |
月份 | 收入 | 支出 | 利润 | 增长率 |
---|---|---|---|---|
1月 | ¥50,000 | ¥35,000 | ¥15,000 | - |
2月 | ¥55,000 | ¥38,000 | ¥17,000 | +13.3% |
3月 | ¥62,000 | ¥42,000 | ¥20,000 | +17.6% |
总计 | ¥167,000 | ¥115,000 | ¥52,000 | +31.1% |
xxxxxxxxxx
| 特性 | React | Vue.js | Angular | 评分 |
|------|:-----:|:------:|:-------:|:----:|
| 学习曲线 | 中等 | 简单 | 复杂 | Vue ⭐⭐⭐ |
| 性能表现 | 优秀 | 优秀 | 良好 | 平分 ⭐⭐⭐ |
| 生态系统 | 丰富 | 成长中 | 完整 | React ⭐⭐⭐ |
| 企业支持 | Facebook | 社区 | Google | Angular ⭐⭐⭐ |
特性 | React | Vue.js | Angular | 评分 |
---|---|---|---|---|
学习曲线 | 中等 | 简单 | 复杂 | Vue ⭐⭐⭐ |
性能表现 | 优秀 | 优秀 | 良好 | 平分 ⭐⭐⭐ |
生态系统 | 丰富 | 成长中 | 完整 | React ⭐⭐⭐ |
企业支持 | 社区 | Angular ⭐⭐⭐ |
对于复杂的表格,可以考虑分解成多个简单表格。
移动端友好的设计:
xxxxxxxxxx
- 基本信息
| 项目 | 值 |
|------|-----|
| 姓名 | 张三 |
| 年龄 | 25 |
| 职业 | 工程师 |
- 联系方式
| 类型 | 信息 |
|------|------|
| 邮箱 | zhang@example.com |
| 电话 | 138-0013-8000 |
| 地址 | 北京市朝阳区 |
项目 | 值 |
---|---|
姓名 | 张三 |
年龄 | 25 |
职业 | 工程师 |
类型 | 信息 |
---|---|
邮箱 | zhang@example.com |
电话 | 138-0013-8000 |
地址 | 北京市朝阳区 |
不在Markdown涵盖范围内的标签,都可以直接在文档中用HTML撰写。
目前支持的HTML元素有: <kbd> 、 <b> 、<i> 、<em> 、<sup> 、<sub> 、<br> 等。
xxxxxxxxxx
使用 <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>Del</kbd> 重启电脑
使用 Ctrl+Alt+Del 重启电脑
Markdown使用反斜杠转义特殊字符(或特殊位置的特殊字符):
xxxxxxxxxx
**文本加粗**
\*\* 正常显示星号 \*\*
文本加粗 ** 正常显示星号 **
Markdown支持以下符号的转义:
xxxxxxxxxx
\ 反斜线
` 反引号
* 星号
_ 下划线
{} 花括号
[] 方括号
() 小括号
# 井字号
+ 加号
- 减号
. 英文句点
! 感叹号
Markdown Preview Enhanced 使用 KaTeX 或者 MathJax 来渲染数学表达式。
KaTeX比MathJax更快,但特性较少。
默认分隔符:
xxxxxxxxxx
$$
\begin
$$
$$
\begin
$$
xxxxxxxxxx
```mermaid
graph LR
A[方形] -->B(圆角)
B --> C{条件a}
C -->|a=1| D[结果1]
C -->|a=2| E[结果2]
F[横向流程图]
```
xxxxxxxxxx
```mermaid
graph TD
A[方形] --> B(圆角)
B --> C{条件a}
C --> |a=1| D[结果1]
C --> |a=2| E[结果2]
F[竖向流程图]
```
xxxxxxxxxx
```flow
st=>start: 开始框
op=>operation: 处理框
cond=>condition: 判断框(是或否?)
sub1=>subroutine: 子流程
io=>inputoutput: 输入输出框
e=>end: 结束框
st->op->cond
cond(yes)->io->e
cond(no)->sub1(right)->op
```
xxxxxxxxxx
```flow
st=>start: 开始框
op=>operation: 处理框
cond=>condition: 判断框(是或否?)
sub1=>subroutine: 子流程
io=>inputoutput: 输入输出框
e=>end: 结束框
st(right)->op(right)->cond
cond(yes)->io(bottom)->e
cond(no)->sub1(right)->op
```
xxxxxxxxxx
```sequence
对象A->对象B: 对象B你好吗?(请求)
Note right of 对象B: 对象B的描述
Note left of 对象A: 对象A的描述(提示)
对象B-->对象A: 我很好(响应)
对象A->对象B: 你真的好吗?
```
xxxxxxxxxx
```sequence
Title: 标题:复杂使用
对象A->对象B: 对象B你好吗?(请求)
Note right of 对象B: 对象B的描述
Note left of 对象A: 对象A的描述(提示)
对象B-->对象A: 我很好(响应)
对象B->小三: 你好吗
小三-->>对象A: 对象B找我了
对象A->对象B: 你真的好吗?
Note over 小三,对象B: 我们是朋友
participant C
Note right of C: 没人陪我玩
```
xxxxxxxxxx
```mermaid
%% 时序图例子,-> 直线,-->虚线,->>实线箭头
sequenceDiagram
participant 张三
participant 李四
张三->王五: 王五你好吗?
loop 健康检查
王五->王五: 与疾病战斗
end
Note right of 王五: 合理 食物 <br/>看医生...
李四-->>张三: 很好!
王五->李四: 你怎么样?
李四-->王五: 很好!
```
xxxxxxxxxx
```mermaid
%% 语法示例
gantt
dateFormat YYYY-MM-DD
title 软件开发甘特图
section 设计
需求 :done, des1, 2014-01-06,2014-01-08
原型 :active, des2, 2014-01-09, 3d
UI设计 : des3, after des2, 5d
未来任务 : des4, after des3, 5d
section 开发
学习准备理解需求 :crit, done, 2014-01-06,24h
设计框架 :crit, done, after des2, 2d
开发 :crit, active, 3d
未来任务 :crit, 5d
耍 :2d
section 测试
功能测试 :active, a1, after des3, 3d
压力测试 :after a1 , 20h
测试报告 : 48h
```
Markdown支持三种分割线:
使用三个连字符
xxxxxxxxxx
---
使用三个星号
xxxxxxxxxx
***
使用三个下划线
xxxxxxxxxx
___
可以使用更多的符号,但最少三个;符号之间可以有空格
避免使用过度。
在Markdown中,数学公式通过LaTeX语法来显示。
xxxxxxxxxx
\alpha, \beta, \gamma % 希腊字母
\sum, \prod, \int % 求和、乘积、积分
\frac{分子}{分母} % 分数
\sqrt{表达式} % 平方根
\sqrt[n]{表达式} % n次根
【Typora不支持行内公式】
块级公式以$$开头,Typora会自动补齐尾部的$$,并生成公式块。
xxxxxxxxxx
$$
E
$$
xxxxxxxxxx
$$
\int
$$
使用align环境创建多行对齐公式:
xxxxxxxxxx
$$
\begin{align}
f(x) &= ax^2 + bx + c \\
f'(x) &= 2ax + b \\
f''(x) &= 2a
\end{align}
$$
常用希腊字母及其LaTeX表示:
字母 | 代码 | 字母 | 代码 |
---|---|---|---|
A | A | α | \alhpa |
B | B | β | \beta |
Γ | \Gamma | γ | \gamma |
Δ | \Delta | δ | \delta |
E | E | ϵ | \epsilon |
Z | Z | ζ | \zeta |
H | H | η | \eta |
Θ | \Theta | θ | \theta |
I | I | ι | \iota |
K | K | κ | \kappa |
Λ | \Lambda | λ | \lambda |
M | M | μ | \mu |
N | N | ν | \nu |
Ξ | \Xi | ξ | \xi |
O | O | ο | \omicron |
Π | \Pi | π | \pi |
P | P | ρ | \rho |
Σ | \Sigma | σ | \sigma |
T | T | τ | \tau |
Υ | \Upsilon | υ | \upsilon |
Φ | \Phi | ϕ | \phi |
X | X | χ | \chi |
Ψ | \Psi | ψ | \psi |
Ω | \v | ω | \omega |
\sin
, \cos
, \tan
\log
, \ln
\lim_{x \to 0}
\sum_{i=1}^{n}
\int_{a}^{b}
\infty
使用matrix环境:
xxxxxxxxxx
$$
\begin{pmatrix}
a & b \\
c & d
\end{pmatrix}
$$
不同括号类型的矩阵:
Mermaid是Markdown中最流行的图表工具之一。
支持的图表类型:
xxxxxxxxxx
```mermaid
graph TD
A[开始] --> B{条件判断}
B -->|Yes| C[执行操作A]
B ==>|No| D[执行操作B]
C --> E>结束]
D -.-> E
```
流程图方向:
节点形状:
连接线类型:
xxxxxxxxxx
```mermaid
sequenceDiagram
participant A as 用户
participant B as 系统
participant C as 数据库
A->>B: 登录请求
B->>C: 验证用户信息
C-->>B: 返回验证结果
B-->>A: 登录成功/失败
```
时序图语法要点:
participant
定义参与者xxxxxxxxxx
```mermaid
gantt
title 项目开发计划
dateFormat YYYY-MM-DD
section 设计阶段
需求分析 :done, des1, 2024-01-01,2024-01-15
UI设计 :active, des2, 2024-01-10, 30d
section 开发阶段
前端开发 : dev1, after des2, 45d
后端开发 : dev2, 2024-02-01, 60d
section 测试阶段
单元测试 : test1, after dev1, 15d
集成测试 : test2, after dev2, 10d
```
甘特图语法要点:
title
设置标题dateFormat
定义日期格式section
定义阶段done
(已完成)、active
(进行中)、crit
(关键)xxxxxxxxxx
```mermaid
pie
title 浏览器市场份额
"Chrome" : 65
"Safari" : 15
"Firefox" : 10
"其他" : 10
```