@
目录markdown常用语法总结
Markdown 简明语法手册
1. 斜体和粗体
使用 * 和 ** 表示斜体和粗体。
示例:
这是 斜体,这是 粗体。
2. 分级标题
使用 === 表示一级标题,使用 --- 表示二级标题。
示例:
这是一个一级标题
============================
这是一个二级标题
--------------------------------------------------
### 这是一个三级标题
你也可以选择在行首加井号表示不同级别的标题 (H1-H6),例如:# H1, ## H2, ### H3,#### H4。
3. 外链接
使用 [描述](链接地址) 为文字增加外链接。
示例:
这是去往 本人github 的链接。
4. 无序列表
使用 *,+,- 表示无序列表。
示例:
- 无序列表项 一
- 无序列表项 二
- 无序列表项 三
5. 有序列表
使用数字和点表示有序列表。
示例:
- 有序列表项 一
- 有序列表项 二
- 有序列表项 三
6. 文字引用
使用 > 表示文字引用。
示例:
野火烧不尽,春风吹又生。
7. 行内代码块
使用 `代码` 表示行内代码块。
示例:
让我们聊聊 html
。
8. 代码块
使用 四个缩进空格 表示代码块。
示例:
这是一个代码块,此行左侧有四个不可见的空格。
也可以使用
```
代码块
```
代码块
9. 插入图像
使用 ![描述](图片链接地址) 插入图像。
示例:
Markdown 高阶语法手册
1. 内容目录
在段落中填写 [TOC]
以显示全文内容的目录结构。一般放在文章开头。
2. 标签分类
在编辑区任意行的列首位置输入以下代码给文稿标签,方便后续查找分类:
标签: 数学 英语 Markdown
或者
Tags: 数学 英语 Markdown
3. 删除线
使用 ~~ 表示删除线。
这是一段错误的文本。
4. 注脚
使用 [^keyword] 表示注脚。
这是一个注脚[1]的样例。
这是第二个注脚[2]的样例。
5. LaTeX 公式
起止符
行内公式(不会换行)使用$作为起止符:
$E=mc^2$
\(E=mc^2\)
块级公式(单独一行)使用$$作为起止符:
$$a+b+c+d+e$$
\[a+b+c+d+e
\]角标
上标使用^表示,上标长度大于一时,使用{}包围:
$$a^2$$
$$a^{1+1}$$
\[a^2
\]\[a^{1+1}
\]下标使用_表示,下标长度大于一时,使用{}包围:
$$a_2$$
$$a_{1+1}$$
\[a_2
\]\[a_{1+1}
\]上下标可以同时使用,相互嵌套,先下后上或者先上后下都可以:
$$a_2^2$$
$$a^2_2$$
$$a^{b^2}$$
\[a_2^2
\]\[a^2_2
\]\[a^{b^2}
\]符号
符号一般由\和英文缩写组成
根式使用\sqrt[指数]{表达式}表示:
$$\sqrt[2]{a+b}$$
\[\sqrt[2]{a+b}
\]分式使用\frac{分子}{分母}表示:
$$\frac{dy}{dx}$$
\[\frac{dy}{dx}
\]求和使用\sum_{下限}^{上限}表示:
$$\sum_{i=1}^{i=10}a_i$$
\[\sum_{i=1}^{i=10}a_i
\]负无穷使用-\infty表示,正无穷使用+\infty表示:
$$\sum_{i=-\infty}^{i=+\infty}a_i$$
\[\sum_{i=-\infty}^{i=+\infty}a_i
\]积分使用\int_{下限}^{上限}表示:
$$\int_{-\infty}^0\frac{1}{x}dx$$
\[\int_{-\infty}^0\frac{1}{x}dx
\]矩阵
矩阵使用\begin{matrix}和\end{matrix}作为起止符,使用&表示空格,使用\\表示换行:
$$
\begin{matrix}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1
\end{matrix}
$$
\[\begin{matrix}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1
\end{matrix}
\]使用\left符号 和\right符号 作为起止符,包围矩阵,可以为矩阵添加括号:
$$
\left[
\begin{matrix}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1
\end{matrix}
\right]
$$
\[\left[
\begin{matrix}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1
\end{matrix}
\right]
\]需要注意的是,如果想使用{}括号,需要在其前面添加反斜杠:
$$
\left\{
\begin{matrix}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1
\end{matrix}
\right\}
$$
\[\left\{
\begin{matrix}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1
\end{matrix}
\right\}
\]公式号
我们可能需要给块级公式末尾添加公式号,只需要使用\tag{编号}即可:
$$
\left\{
\begin{matrix}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1
\end{matrix}
\right\} \tag{1}
$$
\[\left\{
\begin{matrix}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1
\end{matrix}
\right\} \tag{1}
\]6. 加强的代码块
支持四十一种编程语言的语法高亮的显示,行号显示。
非代码示例:
```
$ sudo apt-get install vim-gnome
```
$ sudo apt-get install vim-gnome
Python 示例:
@requires_authorization
def somefunc(param1='', param2=0):
'''A docstring'''
if param1 > param2: # interesting
print 'Greater'
return (param2 - param1 + 1) or None
class SomeClass:
pass
>>> message = '''interpreter
... prompt'''
JavaScript 示例:
/**
* nth element in the fibonacci series.
* @param n >= 0
* @return the nth element, >= 0.
*/
function fib(n) {
var a = 1, b = 1;
var tmp;
while (--n >= 0) {
tmp = a;
a += b;
b = tmp;
}
return a;
}
document.write(fib(10));
7. 饼图
源码:
```mermaid
pie
title 为什么总是宅在家里?
"喜欢宅" : 45
"天气太热" : 70
"穷" : 500
"关你屁事" : 95
```
渲染:
pie title 为什么总是宅在家里? "喜欢宅" : 45 "天气太热" : 70 "穷" : 500 "关你屁事" : 958 类图
源码:
```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()
}
```
渲染:
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() }9. 甘特图
甘特图内在思想简单。基本是一条线条图,横轴表示时间,纵轴表示活动(项目),线条表示在整个期间上计划和实际的活动完成情况。它直观地表明任务计划在什么时候进行,及实际进展与计划要求的对比。
源码:
```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
```
渲染:
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更多语法参考:甘特图语法参考
10. Mermaid 流程图
```mermaid
graph TB
%% s=start e=end f=fork n=normal
s([开始])-->f1{{if条件}};
%% 分支点2
f1--true-->n1[if语句块]-->e([结束]);
f1--false-->f2{{else if条件}};
%% 分支点1
f2--true-->n2[else if语句块]-->e;
f2--false-->n3[else语句块]-->e;
```
graph TB
%% s=start e=end f=fork n=normal
s([开始])-->f1{{if条件}};
%% 分支点1
f1--true-->n1[if语句块]-->e([结束]);
f1--false-->f2{{else if条件}};
%% 分支点2
f2--true-->n2[else if语句块]-->e;
f2--false-->n3[else语句块]-->e;
更多语法参考:Mermaid 流程图语法参考
11. Mermaid 序列图
```mermaid
sequenceDiagram
Alice->>John: Hello John, how are you?
loop every minute
John-->>Alice: Great!
end
```
sequenceDiagram
Alice->>John: Hello John, how are you?
loop every minute
John-->>Alice: Great!
end
源码:
```mermaid
sequenceDiagram
%% 自动编号
autonumber
%% 定义参与者并取别名,aliases:别名
participant A as Aly
participant B as Bob
participant C as CofCai
%% 便签说明
Note left of A: 只复习了一部分
Note right of B: 没复习
Note over A,B: are contacting
A->>B: 明天是要考试吗?
B-->>A: 好像是的!
%% 显示并行发生的动作,parallel:平行
%% par [action1]
rect rgb(0, 25, 155)
par askA
C -->> A:你复习好了吗?
and askB
C -->> B:你复习好了吗?
and self
C ->>C:我还没准备复习......
end
end
%% 背景高亮,提供一个有颜色的背景矩形
rect rgb(25, 55, 0)
loop 自问/Every min
%% <br/>可以换行
C ->> C:我什么时候<br/>开始复习呢?
end
end
%% 可选择路径
rect rgb(153, 83, 60)
alt is good
A ->> C:复习了一点
else is common
B ->> C:我也是
end
%% 没有else时可以提供默认的opt
opt Extra response
C ->> C:你们怎么不回答我
end
endsequenceDiagram
%% 自动编号
autonumber
%% 定义参与者并取别名,aliases:别名
participant A as Aly
participant B as Bob
participant C as CofCai
%% 便签说明
Note left of A: 只复习了一部分
Note right of B: 没复习
Note over A,B: are contacting
A->>B: 明天是要考试吗?
B-->>A: 好像是的!
%% 显示并行发生的动作,parallel:平行
%% par [action1]
rect rgb(0, 25, 155)
par askA
C -->> A:你复习好了吗?
and askB
C -->> B:你复习好了吗?
and self
C ->>C:我还没准备复习......
end
end
%% 背景高亮,提供一个有颜色的背景矩形
rect rgb(25, 55, 0)
loop 自问/Every min
%% <br/>可以换行
C ->> C:我什么时候<br/>开始复习呢?
end
end
%% 可选择路径
rect rgb(153, 83, 60)
alt is good
A ->> C:复习了一点
else is common
B ->> C:我也是
end
%% 没有else时可以提供默认的opt
opt Extra response
C ->> C:你们怎么不回答我
end
end
```
渲染:
sequenceDiagram %% 自动编号 autonumber %% 定义参与者并取别名,aliases:别名 participant A as Aly participant B as Bob participant C as CofCai %% 便签说明 Note left of A: 只复习了一部分 Note right of B: 没复习 Note over A,B: are contacting A->>B: 明天是要考试吗? B-->>A: 好像是的! %% 显示并行发生的动作,parallel:平行 %% par [action1] rect rgb(0, 25, 155) par askA C -->> A:你复习好了吗? and askB C -->> B:你复习好了吗? and self C ->>C:我还没准备复习...... end end %% 背景高亮,提供一个有颜色的背景矩形 rect rgb(25, 55, 0) loop 自问/Every min %% <br/>可以换行 C ->> C:我什么时候<br/>开始复习呢? end end %% 可选择路径 rect rgb(153, 83, 60) alt is good A ->> C:复习了一点 else is common B ->> C:我也是 end %% 没有else时可以提供默认的opt opt Extra response C ->> C:你们怎么不回答我 end end更多语法参考:Mermaid 序列图语法参考
12. 表格支持
项目| 价格 | 数量 |
| -------- | -----: | :----: |
| 计算机 | $1600 | 5 |
| 手机 | $12 | 12 |
| 管线 | $1 | 234 |
项目 | 价格 | 数量 |
---|---|---|
计算机 | $1600 | 5 |
手机 | $12 | 12 |
管线 | $1 | 234 |
13. 定义型列表
- 名词 1
-
定义 1(左侧有一个可见的冒号和四个不可见的空格)
- 代码块 2
-
这是代码块的定义(左侧有一个可见的冒号和四个不可见的空格)
代码块(左侧有八个不可见的空格)
14. 待办事宜 Todo 列表
使用带有 [ ] 或 [x] (未完成或已完成)项的列表语法撰写一个待办事宜列表,并且支持子列表嵌套以及混用Markdown语法,例如:
- [ ] **代做列表**
- [ ] 改进 Cmd 渲染算法,使用局部渲染技术提高渲染效率
- [ ] 支持以 PDF 格式导出文稿
- [x] 新增Todo列表功能 [语法参考](https://github.com/blog/1375-task-lists-in-gfm-issues-pulls-comments)
- [x] 改进 LaTex 功能
- [x] 修复 LaTex 公式渲染问题
- [x] 新增 LaTex 公式编号功能 [语法参考](http://docs.mathjax.org/en/latest/tex.html#tex-eq-numbers)
- [ ] **七月旅行准备**
- [ ] 准备邮轮上需要携带的物品
- [ ] 浏览日本免税店的物品
- [x] 购买蓝宝石公主号七月一日的船票
对应显示如下待办事宜 Todo 列表:
15. 注脚
16 嵌入
- 嵌入都是依赖 HTML标签 实现的,嵌入的都是在线链接格式
- 如果是本地的,Obsidian 中音频是有自带的可录制的录音机插件的,其他的 音频、视频 直接复制黏贴就可以了,也可以直接拖拽到OB的笔记界面
- 其他的媒体文件在 Obsidian 也和图片一样,以双链的格式引用在目标笔记中,使用 ! 使它可见
- 如果是本地的,Obsidian 中音频是有自带的可录制的录音机插件的,其他的 音频、视频 直接复制黏贴就可以了,也可以直接拖拽到OB的笔记界面
15.1 嵌入音频
-
格式:
<audio controls="controls" preload="none" src="音频链接地址"></audio>
-
示例:
<audio controls="controls" preload="none" src="https://www.ldoceonline.com/media/english/exaProns/p008-001803372.mp3?version=1.2.37"></audio>
- 效果:
15.2 嵌入视频
- 格式:
<video width="600" height="420" controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
<source src="movie.webm" type="video/webm">
</video>
- 说明:
- width ( 宽度 ) height ( 高度 ) ,可以自己设置,直接输入数字即可,单位默认是 px(像素)
也可以使用 百分比
width=100%
代表水平撑满整个窗口
height=50%
代表垂直撑满半个窗口 - Video标签 支持的视频格式 :MP4 ogg webm
- width ( 宽度 ) height ( 高度 ) ,可以自己设置,直接输入数字即可,单位默认是 px(像素)
15.3 嵌入页面
- 格式:
<iframe width=600 height=400 src="页面链接地址" scrolling="auto" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>
<iframe width=600 height=400 src="https://www.runoob.com/html/html-tutorial.html" scrolling="auto" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>
- 效果:
-
iframe标签 除了嵌入页面,也可以嵌入在线视频,主流的视频网站都会提供嵌入代码
- 具体可以看这个 iframe视频嵌入教程
- B站 的视频,得在
//
前面补充http:
- 不是所有的 编辑器和笔记软件 都支持这个
-
示例:
<iframe width=600 height=400 src="http://player.bilibili.com/player.html?aid=20190823&bvid=BV1yW411s7og&cid=32964980&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>
- 宽高设置和前面的 video 一样