Markdown语法(Typora使用教程)
本文是基于B站up主JoJo-救救的Markdown教程视频的学习笔记:
形式:源代码+效果呈现
原视频链接:
JoJo-救救_Markdown保姆级教程之基础篇(Typora使用教程)
JoJo-救救_Markdown保姆级教程之画图篇(流程图、序列图、饼图、甘特图)
可通过Typora官网下载
Content
1.代码块
//代码块语法:
```语言名称
快捷键:Ctrl+Shift+K
★转换原则:代码块中的文本(包括Markdown语法)都会显示为原始内容★
2.行内代码
//行内代码语法:
`代码内容`
★转换规则:代码块中的文本(包括Markdown语法)都会显示为原始内容★
java
Markdown
c++
c
3.标题
//标题语法:
(1)# 一级标题
快捷键:Ctrl+1
(2)## 二级标题
快捷键:Ctrl+2
(3)### 三级标题
快捷键:Ctrl+3
(4)#### 四级标题
快捷键:Ctrl+4
(5)##### 五级标题
快捷键:Ctrl+5
(6)###### 六级标题
快捷键:Ctrl+6
(7)提升标题级别:
快捷键:Ctrl+=
(8)降低标题级别:
快捷键:Ctrl+-
★在最后一个#后要有一个空格,在Markdown中最多支持六级标题★
(1)一级标题
一级标题
(2)二级标题
二级标题
(3)三级标题
三级标题
(4)四级标题
四级标题
(5)五级标题
五级标题
(6)六级标题
六级标题
4.文本
//加粗:
**奶奶爱唱歌**
快捷键:Ctrl+B
//代码高亮显示:
==奶奶爱唱歌==
//删除线:
~~奶奶爱唱歌~~
快捷键:Alt+Shift+5
//斜体:
*奶奶爱唱歌*
快捷键:Ctrl+I
//斜体+加粗:
***奶奶爱唱歌***
//下划线:
<u>奶奶爱唱歌</u>
快捷键:Ctrl+U
//上标:
X^3^
//下标:
H~2~O
//表情符号:
:表情相应的名称(英文)
☆一些表情的例子:
:smile: :laughing: :dizzy_face: :sob: :cold_sweat: :sweat_smile: :cry: :triumph: :heart_eyes: :relaxed: :sunglasses: :weary: :+1: :-1: :100: :clap: :bell: :gift: :question: :bomb: :heart: :coffee: :cyclone: :bow: :kiss: :pray: :sweat_drops: :hankey: :exclamation: :anger:☆
(1)加粗
奶奶爱唱歌
(2)代码高亮显示
奶奶爱唱歌
(3)删除线
奶奶爱唱歌
(4)斜体
奶奶爱唱歌
(5)斜体+加粗
奶奶爱唱歌
(6)下划线
奶奶爱唱歌
(7)上标
X3
(8)下标
H2O
(9)表情符号
😄 😆 😵 😭 😰 😅 😢 😤 😍 ☺️ 😎 😩 👍 👎 💯 👏 🔔 🎁 ❓ 💣 ❤️ ☕️ 🌀 🙇 💋 🙏 💦 💩 ❗️ 💢
5.引用
//引用语法
>作者:奶奶爱唱歌
快捷键:Ctrl+Shift+Q
>>作者:奶奶爱唱歌
>>>作者:奶奶爱唱歌
作者:奶奶爱唱歌
作者:奶奶爱唱歌
作者:奶奶爱唱歌
6. 分割线
//分割线1
---
//分割线2
***
//分割线3
___
(1)分割线1
(2)分割线2
(3)分割线3
7.图片插入
//在线图片/本地图片
[外链图片转存失败,源站可能有防盗链机制,建议图片的名字图片地址(img片址)] --图片路径
快捷键:Ctrl+Shift+I
(1)在线图片
(2)本地图片
(本地图片不便上传,引用上述代码即可使用该功能)
8.超链接
//超链接语法:
(1)外部跳转
[超链接的内容名称或提示文字](超链接的地址)
快捷键:Ctrl+K
(2)内部跳转
[超链接的内容名称或提示文字](#文本内部某个标题)
☆跳转到的标题可以是任意级别的,但一定要保证是标题的全称(不能是段落中的文本内容),否则无法识别并跳转到相应标题内容☆
快捷键:Ctrl+K
(3)自动链接
<2312939478@qq.com>
☆使用<>包括的URL或邮箱地址会被自动转化为超链接☆
★在typora里超链接并不能达到直接跳转的效果★
(1)外部跳转
(2)内部跳转
(3)自动链接
Open links in Typora
You can use
Command+Click
(macOS),orCtrl+Click
(Linux/Windows) on links in Typora to jump to target headings, or open them in Tyopra, or open in related apps.❓My keyborad doesn’t have the key —“Click”.
9.列表
//有序列表
1. 标题1
2. 标题2
3. 标题3
快捷键:Ctrl+Shift+[
☆在不需要有序列表输入数字时可以用数字\.来取消显示为列表(用反斜杠进行转义)
★在.后面要有一个空格★
//无序列表
- 标题1
- 标题2
- 标题3
或
+ 标题1
+ 标题2
+ 标题3
或
* 标题1
* 标题2
* 标题3
快捷键:Ctrl+Shift+]
★在*/-/+后面要有一个空格★
(1)有序列表
- 奶奶有鼻炎
- 奶奶爱国
- 奶奶这也不会那也不会
(2)无序列表
- 奶奶爱唱歌
- 奶奶爱喝水
- 奶奶无法克制熬夜
10.表格
//表格语法
☆使用|来分隔不同的单元格,使用-来分隔表头和其他行☆
name|price
---|---
fried chicken|19
cola|5
☆为了使Markdown更清晰,|和-两侧可以有一个空格(如下)☆
name | price
--- | ---
fried chicken | 19
cola | 5
☆为了美观,可以使用空格对齐不同行的单元格,并在左右两侧都使用|来标记单元格边界,在表头下方的分隔线标记中加入:即可标记下方单元格内容的对齐方式,在分割线左侧加:则该列单元格左对齐,在分隔线右侧加:则该列单元格右对齐,其中分割线的个数没有要求,可以为了美观多输入一些,也可以为了简洁有一个作为代表即可(如下)☆
|name |price|amount|
|:-----------:|:----|-----:|
|fried chicken|19 |3 |
|cola |5 |7 |
★由于这里的表格语法比较复杂,所以也可以不用输入的方式写表格。右击鼠标,选中最后一栏的“插入”,点击“表格”,或者也可以使用快捷键“Ctrl+T”★
name | price |
---|---|
fried chicken | 19 |
cola | 5 |
姓名 | 语文 | 数学 | 英语 |
---|---|---|---|
小红 | 90 | 93 | 87 |
小绿 | 99 | 98 | 65 |
小蓝 | 89 | 96 | 95 |
name | price | amount |
---|---|---|
fried chicken | 19 | 3 |
cola | 5 | 7 |
11.公式块
//公式块语法
快捷键:Ctrl+Shift+M
x 3 + y 3 + z 3 = 0 x^3+y^3+z^3=0 x3+y3+z3=0
12.画图
Markdown画图是轻量级的,功能并不全。
Mermaid是一个用于画流程图、状态图、时序图、甘特图的库,使用JS进行本地渲染,广泛集成于许多Markdown编译器中。Mermaid作为一个使用JS渲染的库,生成的不是一个”图片“,而是一段HTML代码。
(1)流程图
①概述
graph 方向描述
图表中的其他语句……
★关键字graph表示一个流程图的开始,同时需要指定该图的方向。★
②方向描述
用词 | 含义 |
---|---|
TB | 从上到下 |
BL | 从下到上 |
RL | 从右到左 |
LR | 从左到右 |
T=TOP, B=BOTTOM, L=LEFT, R=right, D=DOWN
最常用的是TB、LR
graph TB
A-->B
B-->C
C-->A
graph BT
A-->B
B-->C
C-->A
graph RL
A-->B
B-->C
C-->A
graph LR
A-->B
B-->C
C-->A
③流程图常用的符号及含义
a.节点形状
表述 | 说明 | 含义 |
---|---|---|
id[文字] | 矩形节点 | 表示过程,也就是整个流程中的一个环节 |
id(文字) | 圆角矩形节点 | 表示开始和结束 |
id((文字)) | 圆形节点 | 表示连接。为避免流程过长过有交叉,可将流程切开。成对 |
id{文字} | 菱形节点 | 表示判断、决策 |
id>文字] | 右向旗帜状节点 |
b.单向箭头线段:
表示流程进行方向
id即为节点的唯一标识,A~F是当前节点名字,类似于变量名,画图时便于引用货号内是节点中要显示的文字,默认几点的名字和显示的文字都为A
graph TB
A
B(圆角矩形节点)
C[矩形节点]
D((圆形节点))
E{菱形节点}
F>右向旗帜状节点]
graph TB
Begin(出门)-->Buy[买炸鸡]
Buy-->IsRemaining?{"还有没有炸鸡"}
IsRemaining?-->|有|Happy[买完炸鸡开心]-->GoBack(回家)
IsRemaining?--没有-->Sad["伤心"]-->GoBack
c.连线
graph TB
A1-->B1
A2---B2
A3--text---B3
A4--text-->B4
A5-.-B5
A6-.->B6
A7-.text.-B7
A8-.text.->B8
A9===B9
A10==>B10
A11==text===B11
A12==text==>B12
d.子图表
//使用以下语法添加子图标:
subgraph 子图标表名称
子图表中的描述语句……
end
graph TB
subgraph 买炸鸡前
Begin(出门)-->Buy[出门买炸鸡]
end
Buy-->IsRemaining?{"还有没有炸鸡?"}
IsRemaining?--没有-->Sad["伤心"]-->GoBack(回家)
IsRemaining?--有-->Happy["买完炸鸡开心"]-->GoBack
(2)序列图(Sequence Diagram)
①概述
sequenceDiagram
[参与者1][消息线][参与者2]:消息体
……
sequenceDiagram
为每幅时序图的固定开头
sequenceDiagram
Title:买炸鸡
GRANNY->>炸鸡店小哥:还有炸鸡吗?
炸鸡店小哥-->>GRANNY:没有,要现炸
②参与者(Participant)
传统时序图概念中参与者有角色和类对象之分,但这里我们不做此区分,用参与者表示一切参与交互的事物,可以是人、类对象、系统等形式。中间竖直的线段从上至下表示时间的流逝。
sequenceDiagram
participant 参与者1
participant 参与者2
……
participant 简称 as 参与者3 #该语法可以在接下来的描述中使用简称来代替参与者3
participant<参与者名称>
声明参与者,语句次序即为参与者横向排列次序。
③消息线
类型 | 描述 |
---|---|
-> | 无箭头的实线 |
–> | 无箭头的虚线 |
->> | 有箭头的实线(主动发出消息) |
–>> | 有箭头的虚线(响应) |
-x | 末端为差的实线(表示异步) |
–x | 末端为差的虚线(表示异步) |
④处理中-激活框
从消息接收方的时间线上标记一小段时间,表示对消息进行处理的时间间隔。
在消息线末尾增加+
,则消息接收者进入当前消息的”处理中“状态;
在消息线末尾增加-
,则消息接收者离开当前消息的”处理中“状态。
sequenceDiagram
participant GG as GRANNY
participant seller as 炸鸡店小哥
GG->>seller:还有炸鸡吗?
seller-->>GG:没有,要现炸。
GG-x +seller:给我炸!
seller-->>-GG:你的炸鸡好了!
⑤注解(Note)
语法如下
Note 位置表述 参与者: 标注文字
其中位置表述可以为
表述 | 含义 |
---|---|
right of | 右侧 |
left of | 左侧 |
over | 在当中,可以横跨多个参与者 |
sequenceDiagram
participant GG as GRANNY
participant seller as 炸鸡店小哥
Note over GG,seller:热爱炸鸡
Note left of GG:女
Note right of seller:男
GG->>seller:还有炸鸡吗?
seller-->>GG:没有,要现炸。
GG-x +seller:给我炸!
seller-->>-GG:你的炸鸡好了!
⑥循环(loop)
在条件满足时,重复发出消息序列。(相当于编程语言中的while语句。)
sequenceDiagram
participant GG as GRANNY
participant seller as 炸鸡店小哥
GG->>seller:还有炸鸡吗?
seller-->>GG:没有,要现炸。
GG-x +seller:给我炸!
loop 三分钟一次
GG->>seller:我的炸鸡好了吗?
seller-->>GG:正在炸
end
seller-->>-GG:你的炸鸡好了!
⑦选择(alt)
在多个条件中做出判断,每个条件将对应不同的消息序列。(相当于if及else if语句。)
sequencediagram
participant GG as GRANNY
participant seller as 炸鸡店小哥
GG ->>seller:现在就多少只炸好的炸鸡?
seller-->>GG:可卖的炸鸡数
alt 可卖的炸鸡数>3
GG->>seller:买三只!
else 1<可卖的炸鸡数<3
GG->>seller:有多少买多少
else 可卖的炸鸡数<1
GG->>seller:那我明天再来
end
seller -->>GG:欢迎下次光临
⑧可选(opt)
在某条件满足时执行消息序列,否则不执行。相当于单个分支的if语句。
sequenceDiagram
participant GG as GRANNY
participant seller as 炸鸡店小哥
GG->>seller:买炸鸡
opt 全部都卖完了
seller-->>GG:下次再来
end
⑨并行(Par)
将消息序列分成多个片段,这些片段并行执行。、
sequenceDiagram
participant GG as GRANNY
participant seller as 炸鸡店小哥
GG->>seller:一个炸鸡,一杯可乐!
par 并行执行
seller->>seller:装可乐
and
seller->>seller:炸炸鸡
end
seller-->>GG:您的炸鸡好了!
(3)饼图(Pie)
pie
title Pie Chart
"Dogs":386
"Cats":85
"Rats":150
"Pandas":118