文章摘要: Markdown是一种轻量级标记语言,使用易读易写的纯文本格式编写文档。
简介
简要说明
- Markdown是一种轻量级标记语言。
- 由John Gruber和Aaron Swartz创建于2004年。
- 它允许人们使用易读易写的纯文本格式编写文档,然后转换成结构化的HTML代码,用于网页内容展示。
主要功能
注意事项
- Markdown编写的文档后缀为“.md”或“.markdown”。
- 兼容性:不同的平台和编辑器对Markdown的支持程度可能不同,有时需要使用特定的扩展语法。
- 安全性:插入HTML代码时要注意XSS攻击的风险。
- 格式规范:Markdown的语法较为简单,但仍然需要遵循一定的格式规范,以保证文档的可读性。
适用场景
- 文档编写:适用于撰写博客、教程、说明书等。
- 项目文档:用于在代码库中编写README文件、贡献指南等。
- 笔记记录:适合快速记录笔记,并保持格式整洁。
- 论坛和社区:在论坛和社区中发表格式化的帖子。
- 电子邮件:编写格式化的电子邮件内容。
- 网站内容管理:简化网站内容的编写和发布流程。
标题
使用=和-来标记一级和二级标题
格式
一级标题 ========= 二级标题 ---------
使用#号标记标题
- 使用
#号可表示 1-6 级标题。- 一级标题对应一个
#号,二级标题对应两个#号,以此类推。
格式
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
字体样式
- Markdown可以使用以下几种字体
效果
斜体文本
粗体文本
粗斜体文本
格式
*斜体文本*
_斜体文本_
**粗体文本**
__粗体文本__
***粗斜体文本***
___粗斜体文本___
删除线
- 在文本的两端加上两个波浪线(~~)即可,
Shift + ~就能输入波浪线符号。
效果
好人终究擅长用理性去驾驭感情
而恶人习惯让感情支配自己的理性罢了
格式
好人终究擅长用理性去驾驭感情
~~而恶人习惯让感情支配自己的理性罢了~~
下划线
- 通过HTML的
<u>标签来实现下划线效果。
效果
为了骗过世人,你就得装作世人的样子。
格式
<u>为了骗过世人,你就得装作世人的样子。</u>
分割线
- 在一行中用三个或三个以上的星号(*)、减号(-)、下划线(_)来组成一个下划线样式。
- 允许在星号(*)或者减号(-)中间插入空格。
- 行内不能写其他东西。
效果
所谓人类的感情,他原本就是一种宁可害人害己,也会想将它释放出来的欲望。
只不过以一般定义而论,好人终究擅长用理性去驾驭感情,而恶人习惯让感情支配自己的理性罢了。
至于所谓理性的恶人,他们把自己的人生活成了一台只会计算利益的机器,甚至不值得被称而为人。
格式
分割线(三个或三个以上的星号组成)
***
* * *
分割线(三个或三个以上的减号组成)
---
- - -
分割线(三个或三个以上的下划线组成)
___
列表
无序列表
- 无序列表使用星号(*)、加号(+)、减号(-)作为列表标记。
效果
第一项
第二项
第三项
人名
地名
格式
- 第一项
- 第二项
- 第三项
+ 人名
- 地名
有序列表
- 有序列表使用数字,并紧跟一个
.英文点号和一个空格符号来表示。
效果
- 第一项
- 第二项
- 第三项
格式
1. 第一项
2. 第二项
3. 第三项
列表嵌套
- 列表嵌套通过在列表中的选项添加4个空格表示一次缩进,可进行多次缩进4个空格。
效果
- 第一项:
- 第一项嵌套的第一个元素
- 第一项嵌套的第二个元素
- 第二项:
- 第二项嵌套的第一个元素
- 第二项嵌套的第二个元素
格式
1. 第一项:
- 第一项嵌套的第一个元素
- 第一项嵌套的第二个元素
2. 第二项:
- 第二项嵌套的第一个元素
- 第二项嵌套的第二个元素
区块
- Markdown区块引用是在段落开头使用
>右尖括号,并紧跟一个空格符号。
效果
这是一个区块
格式
> 这是一个区块
区块可以嵌套,一个>是最外层,两个>是第一层嵌套,以此类推
效果
最外层
第一层嵌套
第二层嵌套
格式
> 最外层
> > 第一层嵌套
> > > 第二层嵌套
区块中使用列表
效果
区块中使用列表
- 第一项
- 第二项
- 第一项
- 第二项
- 第三项
格式
> 区块中使用列表
>
> 1. 第一项
> 2. 第二项
> + 第一项
> + 第二项
> + 第三项
代码
段落上的代码片段
- 如果是段落上的一个函数或片段的代码可以用反引号把它包起来(`)。
效果
print()函数
格式
`print()`函数
代码区块
- 代码区块使用4个空格或者一个制表符(Tab 键)。
- 也可以用 ``` 包裹一段代码,并指定一种语言(也可以不指定)。
效果
import os
# 测试代码
for i in range(10):
i++
print(i)
脚注
- 脚注是对文本的补充说明。
效果
奥托·阿波卡利斯[^简介] [^简介]:我愚弄了友人,愚弄了至亲,愚弄了世界和它之上的规则,只为了给予那唯一真实的你以第二次生命,我回来了,卡莲。
格式
奥托·阿波卡利斯[^简介]
[^简介]:我愚弄了友人,愚弄了至亲,愚弄了世界和它之上的规则,只为了给予那唯一真实的你以第二次生命,我回来了,卡莲。
链接文章
效果
方案1:百度官网
格式
方案1:[百度官网](https://baidu.com)
方案2:[Language-Markdown](./Language-Markdown.md#简介)
方案2:https://baidu.com
插入照片
插入网络照片
效果
格式


插入本地图片
方法1:
- 通过局部路径的方法读取相关文件。
- “..”两个点表明是上一级目录,“.”一个点表明是当前目录。
效果
格式

表格
- Markdown 制作表格使用
|来分隔不同的单元格,使用-来分隔表头和其他行。
效果
| 标题 | 标题 | 标题 |
|---|---|---|
| 居左对齐 | 剧中对齐 | 居右对齐 |
| 单元格 | 单元格 | 单元格 |
格式
| 标题 | 标题 | 标题 |
| :- | :-: | -: |
| 居左对齐 | 剧中对齐 | 居右对齐 |
| 单元格 | 单元格 | 单元格 |
待办事项
效果
- [x] 已完成的事项效果
- [ ] 未完成的事项效果
格式
- [x] 已完成的事项效果
- [ ] 未完成的事项效果
数学公式
- 当需要在编辑器中插入数学公式时,可以使用两个美元符
$$包裹TeX或LaTeX格式的数学公式来实现。提交后,问答和文章页会根据需要加载Mathjax对数学公式进行渲染。
默认下的分隔符:
$...$或者\(...\)中的数学表达式将会在行内显示。$$...$$或者\[...\]或者 ```math 中的数学表达式将会在块内显示。
绘制图表
流程图
横向流程图
graph LR
A[方形] -->B(圆角)
B --> C{条件a}
C -->|a=1| D[结果1]
C -->|a=2| E[结果2]
F[横向流程图]
graph LR
A[方形] -->B(圆角)
B --> C{条件a}
C -->|a=1| D[结果1]
C -->|a=2| E[结果2]
F[横向流程图]
竖向流程图
graph TD
A[方形] --> B(圆角)
B --> C{条件a}
C --> |a=1| D[结果1]
C --> |a=2| E[结果2]
F[竖向流程图]
graph TD
A[方形] --> B(圆角)
B --> C{条件a}
C --> |a=1| D[结果1]
C --> |a=2| E[结果2]
F[竖向流程图]
序列图
%% 时序图例子,-> 直线,-->虚线,->>实线箭头
sequenceDiagram
participant 张三
participant 李四
张三->王五: 王五你好吗?
loop 健康检查
王五->王五: 与疾病战斗
end
Note right of 王五: 合理 食物 <br/>看医生...
李四-->>张三: 很好!
王五->李四: 你怎么样?
李四-->王五: 很好!
%% 时序图例子,-> 直线,-->虚线,->>实线箭头
sequenceDiagram
participant 张三
participant 李四
张三->王五: 王五你好吗?
loop 健康检查
王五->王五: 与疾病战斗
end
Note right of 王五: 合理 食物 <br/>看医生...
李四-->>张三: 很好!
王五->李四: 你怎么样?
李四-->王五: 很好!
类图
classDiagram
classA --|> classB : Inheritance
classC --* classD : Composition
classE --o classF : Aggregation
classG --> classH : Association
classI -- classJ : Link(Solid)
classK ..> classL : Dependency
classM ..|> classN : Realization
classO .. classP : Link(Dashed)
classDiagram
classA --|> classB : Inheritance
classC --* classD : Composition
classE --o classF : Aggregation
classG --> classH : Association
classI -- classJ : Link(Solid)
classK ..> classL : Dependency
classM ..|> classN : Realization
classO .. classP : Link(Dashed)
状态图
stateDiagram-v2
State1: The state with a note
note right of State1
Important information! You can write
notes.
end note
State1 --> State2
note left of State2 : This is the note to the left.
stateDiagram-v2
State1: The state with a note
note right of State1
Important information! You can write
notes.
end note
State1 --> State2
note left of State2 : This is the note to the left.
实体关系图
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE-ITEM : contains
CUSTOMER }|..|{ DELIVERY-ADDRESS : uses
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE-ITEM : contains
CUSTOMER }|..|{ DELIVERY-ADDRESS : uses
用户旅行图
journey
title My working day
section Go to work
Make tea: 5: Me
Go upstairs: 3: Me
Do work: 1: Me, Cat
section Go home
Go downstairs: 5: Me
Sit down: 5: Me
journey
title My working day
section Go to work
Make tea: 5: Me
Go upstairs: 3: Me
Do work: 1: Me, Cat
section Go home
Go downstairs: 5: Me
Sit down: 5: Me
甘特图
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
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
指令图
%%{init: { 'logLevel': 'debug', 'theme': 'dark' } }%%
sequenceDiagram
%%{config: { 'fontFamily': 'Menlo', 'fontSize': 18, 'fontWeight': 400} }%%
Alice->>Bob: Hi Bob
Bob->>Alice: Hi Alice
%%{init: { 'logLevel': 'debug', 'theme': 'dark' } }%%
sequenceDiagram
%%{config: { 'fontFamily': 'Menlo', 'fontSize': 18, 'fontWeight': 400} }%%
Alice->>Bob: Hi Bob
Bob->>Alice: Hi Alice
饼图
pie
title Key elements in Product X
"Calcium" : 42.96
"Potassium" : 50.05
"Magnesium" : 10.01
"Iron" : 5
pie
title Key elements in Product X
"Calcium" : 42.96
"Potassium" : 50.05
"Magnesium" : 10.01
"Iron" : 5
支持的HTML元素
- 不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写。
- 目前支持的 HTML 元素有:<kbd> <b> <i> <em> <sup> <sub> <br>等
转义
- Markdown 使用了很多特殊符号来表示特定的意义,如果需要显示特定的符号则需要使用转义字符。 Markdown 使用反斜杠转义特殊字符:
详细总结:转义字符
