Markdown语法笔记

序言

下述笔记为个人结合网上的相关参考资料总结的常用标准markdown语法笔记。

支持工具

  • 记事本

  • Typora(编辑器,不具备管理功能)

  • Obsidian (编辑+管理)

  • Bear

  • Ulysses

  • 石墨文档

  • 幕布

常用语法

自动生成目录

[TOC]

部分软件不支持, 例如obsidian

标题

# 文本
关于标题:
# 一级标题, 一般是书籍的章标题或课程的章标题
## 二级标题, 一般是节内容
### 三级标题, 一般是重要知识点内容
四级以上的标题基本上不用, 用加粗或分割线代替, 最大支持六级标题

加粗

**文本**

斜体

*文本*

* 删除线

```markdown
~~文本~~

列表

(按tab按键缩进控制)

有序列表

    1. 文本 
    2. 文本

无序列表

    * 文本
    * 文本

输入文本内容后,敲击 Enter 自动补全格式,并进入 下个 有序列表
若需要在同个列表内,增加 换行显示 的内容 (但不进入下个列表) 敲击 Shift + Enter ,即可另起一行输入文本
有序列表会强制按顺序显示, 若需要不严格按照顺序, 只能采用无序列表

引用(支持嵌入)

>文本
>~~文本嵌入~~

中间没有空格,同个引用段落内的换行直接敲击 Enter 即可, 若需添加 第二个独立引用段落 ,连续敲击 两下Enter 即可

引用的缩进&退格

  • 引用的 缩进 和列表 不同
    引用需另起一行,并额外多打一个 > 来完成 缩进
  • 引用的 退格 与列表 相同
    Shift + Tab
    Ctrl + ] (右中括号)

Obsidian 中,如果想让已经缩进的引用 退回一层, 得使用
Shift + Enter 保持缩进空一个行,
配合方向键,
enter 实现退回一层, 在多个 > 之间灵活断行 并在下一行 根据需要 选择性补充 >

链接

网页链接

[标题](链接)
例如:
[文件引用](./Database/文件.PDF) 其中 ./ 表示当前目录, ../表示上级目录, ../../表示上上级别的目录
[网页](https://www.bilibili.com/)

图像链接

图像格式:
	通用: 
		![文字信息](图片链接 "提示文本信息") 
	特殊:
    	![[]]
图像格式,就是在网页链接前面加个 ! (英文格式的),! 代表 可见
图片的提示信息,和网页链接一样,写在 " " 内
[ ] 方括号里的文字信息在 Markdown 没啥实质的作用,只是方便在源代码模式下,知道这个图片是什么,在渲染界面是不会显示的。有点类似于HTML img标签 里的 alt属性。
![文字信息](图片链接 "提示文本信息")  

![湘湖1](https://z3.ax1x.com/2021/08/06/fuNkXq.jpg "湘湖一角")
补充:
	图像链接可以是本地的,也可以是在线的
	本地图像直接 Ctrl + C 黏贴,Ctrl + V 复制 就可以
	在线图像推荐使用 图床

	调整图像的大小需要使用 HTML 和 CSS,在 Typora编辑器 中右键可以直接缩放图片 本质是转成了HTML的格式,最后会有一个 style="zoom: %;" ,这里数值可以自己修改
	如果有使用 Obsidian 的朋友,在线图片链接是通用的。不过,因为 Obsidian 是双向链笔记 它的本地图片格式不太一样
	![[图片名]]
	Obsidian 中的图片是以双链的格式引用在目标笔记中,用 ! 使它可见
	Obsidian的图片设置大小是用 | 分隔,后面写宽度数值,单位是px。 设定好宽度,高度会自动等比例调整
	![[图片名|宽度数值]] - 若想自主调整图片宽高,则用: - ![[图片名|宽度数值x高度数值]] - #提示 这里的 x 是 英文字母x
如果是在线图床,需要调整图片大小:
![图床|宽度数值](链接地址)

代码域

行内代码

`代码`

如何在行内代码里显示反引号, 首尾各用 两个反引号`` + 空格` 包裹

代码块

```语言种类
代码内容
代码内容
代码内容
```

任务列表

- [ ] 文本
- [X] 含X表示代表事项已完成

在obsidian中, 第一次按下Ctrl+回车会创建一个无序列表, 再次按下ctrl+回车会变为任务列表

分界线

--- 

注释

Markdown注释HMTL 一样,注释的内容在 渲染界面 不可见 (部分编辑器可见)

  • 注释 的格式:

  • <!-- 这里是注释的内容 -->

    • 注释可以是单行,也可以是多行
  • 如果有在使用 Obsidian 的,它的注释格式是不一样的

    • %%这是Obsidian的注释内容%%

表格

| 标题1 | 标题2 | 标题3 |
| ----- | ----- | ----- |
| 内容1 | 4     | 7     |
| 2     | 5     | 8     |
| 3     | 6     | 9     |

其中:
| :----- | ----- | ----- | 左对齐
| :-----: | ----- | ----- | 居中
| -----: | ----- | ----- | 右对齐
  • Markdown的表格,比HTML简单很多
  • | 是构成表格的主要 框架
  • - 区分 表头表格主体
  • : 控制 表格内 文本内容对齐方式
  • Typora编辑器中 输入 Ctrl + T 即可快速插入表格,自由定义样式
  • 表格中文本内容的换行, 可以在 中间 插入一个 <br> ( 换行标签 )

下划线

<u>这是一段加了下划线的文本</u>

缩进&退格

在列表和引用的书写过程中,我们需要利用 缩进退格 ,让文章肌理分明,更具层级

缩进:
	Tab
	Ctrl+[ 
退格:
	Shif+Tab
	Ctrl+]

其它

<br> 换行
Ctrl+. 切换中英文标点

高阶用法

变量

网页链接变量

  • 网页链接变量 的格式:

  • 首先输入

    • [显示文本内容] + [变量名]
    • 变量名可以自己取,没啥限制,任意字符都可以
  • 在文档任意一个区域,输入:

    • [变量名] + : + 空格 + 链接地址 (这个空格 不打也没事)
[百度一下,你就知道][度娘]
[知乎-有问题,就会有答案][知乎]

<!-- 这里是变量区域 -->
[度娘]: http://www.baidu.com 
[知乎]: https://www.zhihu.com

示范

百度一下,你就知道

知乎-有问题,就会有答案

脚注

  • 脚注 的格式:

  • 在需要脚注的地方,输入:

    • [^脚注代号] ( 脚注代号会直接显示在渲染界面 )
    • 脚注代号可以随便命名,不过推荐使用 数字序号
  • 在其他区域,输入:

    • [^脚注代号] + : + 空格 + 脚注内容 (这个 空格 不打也没事)
鲁迅原名是什么[^1] ,浙江哪里人[^2]

<!-- 这里是变量区域 -->
[^1]: 周树人
[^2]: 绍兴人

示范

鲁迅原名是什么^1,浙江哪里人^2

拓展文本格式标记

  • Markdown 想实现更多的文本显示效果,只能依赖HTML标记实现
  • 个人不是很推荐在 MD 中使用 HTML,不过一些简单的标记还是可以 轻度使用

键盘文本

  • 键盘文本的 格式:

  • <kbd>键盘文本</kbd>

  • <kbd>Ctrl</kbd> + <kbd>X</kbd>

  • 效果:

    键盘文本

  • Ctrl + X

  • 说明:

    键盘文本也不一定非得是键盘按键,也可以作为着重文本突出显示

    • 效果: 这也算一种着重文本的方式

加粗键盘文本

  • 加粗键盘文本的格式有两种

    • <kbd>**键盘文本**</kbd>
    • **<kbd>ctrl + x</kbd>**
  • 效果:

键盘文本

ctrl + x

放大文本

  • 放大文本 的格式:

  • 这是一段普通文本<big>这是一段放大文本</big>

  • 效果:

    • 这是一段普通文本 这是一段放大文本

放大粗体文本

  • 放大加粗文本的格式有两种
  1. **<big>这是一段放大粗体文本</big>**
  2. <big>**这是一段放大粗体文本**</big>
  • 效果:

这是一段放大粗体文本

这是一段放大粗体文本

缩小文本

  • 缩小文本 的格式:

  • 这是一段普通文本 <small>这是一段缩小文本</small>

  • 效果:

    这是一段普通文本 这是一段缩小文本

缩小斜体文本

  • 斜体缩小文本 的格式有两种
  1. <small>*这是一段缩小斜体文本*</small>
  2. *<small>这是一段缩小斜体文本</small>*
  • 效果:

这是一段缩小斜体文本

多彩文本

  • 多彩文本 的格式:

  • <font color=orange>这是一段橘色文本</font>

  • 效果:

  • 这是一段橘色文本

多彩粗体文本

  • 只需要在上面示例的基础上,加上 加粗标识符,有两种格式:
  1. 格式1: **<font color=teal>这是一段加粗的水鸭色文本</font>**
  • 效果: 这是一段加粗的水鸭色文本
  1. 格式2:<font color=teal>**这是一段加粗的水鸭色文本**</font>

这是一段加粗的水鸭色文本

  • 若上述混搭方法的样式失效 ,可以使用 纯HTML标记

    • 格式:<strong style="color:teal;">这是一段加粗的水鸭色文本</strong> (标记略复杂,不是很推荐)
    • 效果:****这是一段加粗的水鸭色文本

多彩斜体文本

  • 跟多彩加粗文本完全一样,只需把首尾的 ** 换成 * 即可

  • 格式1:*<font color=teal>This is an italic teal text</font>*

    • 效果: *This is an italic teal text
  • 格式2: <font color=teal>*This is an italic teal text*</font>

    • 效果: This is an italic teal text

多彩粗斜体文本

  • 首尾换成 ***

  • 格式1: ***<font color=teal>This is a bold italic teal text</font>***

    • 效果: This is a bold italic teal text
  • 格式2:<font color=teal>***This is a bold italic teal text***</font>

    • 效果: This is a bold italic teal text

注意 多彩文本尽量慎用,Markdown 的核心就是 简洁精炼,注重 实质内容,而非花哨的 颜色样式

拓展文本显示效果

  • 拓展显示效果既不是原生 Markdown语法 支持的,也非 HTML标记,而是部分编辑器 提供的 额外标识符,属于拓展语法,旨在为 Markdown使用者 提供更多样式选择
  • 不同编辑器,支持不一样,这里以 Typora编辑器 为例

文本高亮

  • 文本高亮 的格式:
  • ==这里是一段高亮文本==
  • 效果:
  • 这里是一段高亮文本

上标

  • 用一对 ^ 包裹 (Shift+ 6)

  • 格式: x^2^

  • 效果: x2

  • Obsidian 没效果的,可以用后面会讲的 Latex

  • 或者,也可以使用 HTML标记

    • <sup>这里是上标内容</sup>
    • X<sup>2</sup>
  • 效果:

  • X2

12.3 下标

  • 用一对 ~ 包裹 (Shift + `)

  • 格式: H~2~O

  • 效果: H2O

  • Obsidian 没效果的,可以用后面会讲的 Latex

  • 或者,也可以使用 HTML标记

    • <sub>这里是下标内容</sub>
    • H<sub>2</sub>O
  • 效果:

    • H2O

12.4 Emoji 符号

用一对 : 包裹,里面是 Emoji 符号的 语义化文本 ( Typora编辑器 中,输入 : 就会带提示器 )

  • 示例:

    • :smile: :sweat: :cat: :woman_cartwheeling:
  • 效果:

    • 😄 😓 🐱 🤸‍♀️
  • 补充:

    • 不支持上述方式的 MD编辑器或笔记软件,直接用 输入法 输入也是可以的
    • Windows系统 用户 win + . 就可以输入 Emoji 了
    • Obsidian 用户可以安装第三方插件来支持 Emoji 的输入,推荐两个
  1. Emoji Shortcodes
  2. Emoji Toolbar

转义字符

  • Markdown 中,我们 通过 标识符 改变 文本显示效果

  • 现在我们希望它不作为标识符,而是 作为字符本身呈现出来 (不具备改变文本显示效果的功能,只是一个普通字符)

  • 首先我们可以用前面介绍的 代码域 ,因为代码模式的显示效果就是源代码完全一致

  • 还有一种方法,可以利用转义字符,在这些标识符 前面 加上 反斜线**** ( 反斜线要紧贴在标识符前面,不能** 有 空格 )

    • 原理:

    • \ 的作用是让标识符 转义 变为一个普通字符,完成这个效果后,反斜线会自动隐藏

    • 隐藏后的反斜线仅在源代码界面可见,在渲染界面不可见

    • 反斜线只争对标识符起作用,其他字符添加 \\ 不会自动隐藏

    • 补充:

    • 如果想给已经被加在标识符前面,会自动隐藏的 \ 显示出来,可以在反斜线前面再加一个 * ,用它自己来转义自己*

      • 示例:****这里紧跟在标识符前面的反斜线\\*会被转义成普通字符显示出来,不会自动隐藏,且这段文件会是斜体\*
      • 效果: 这里紧跟在标识符前面的 反斜线*会被转义成普通字符显示出来,不会自动隐藏,且这段文件会是斜体*

例1 以普通字符显示星号

  • 如何让被一对或多对 \* 号 包裹的文本内容,能够正常显示 \* ,且文本不改变格式

    • \*这段文本被一对星号包裹,但不会倾斜\*
    • 效果: *这段文本被一对星号包裹,但不会倾斜*
    • \*\*这段文本被2对星号包裹,但不会加粗\*\*
    • 效果: **这段文本被2对星号包裹,但不会加粗**
    • \*\*\*这段文本被3对星号包裹,但它既不倾斜也不加粗\*\*\*
    • 效果: ***这段文本被3对星号包裹,但它既不倾斜也不加粗***

例2 表格内 单元格中的竖杠

  • 在表格中,使用 | 作为单元格的内容,但不会被识别为表格的结构,不会增加额外的单元格
|表头1|表头2|
|-|-|
|这里的文本被\|分隔|这里的文本也被\|分隔|
  • 效果:
表头1 表头2
:------------------: :--------------------:
这里的文本被|分隔 这里的文本也被|分隔

补充 该技巧可用于 Obsidian 表格内 双链的文本修饰

文本修饰:

在 双链[[ ]]内 以 | 引导的内容 - 格式: [[链接的内容|文本修饰]] - 说明: 文本修饰是渲染界面实际显示的文本,便于更好地融入语境

表格内的格式:

| 前面加上 \ - [[表格内的链接内容\|文本修饰]]

示例:

|                  表头1                  |                        表头2                        |
|:---------------------------------------:|:---------------------------------------------------:|
| [[#例2 表格内 单元格中的竖杠\|单元格中的竖杠]] | [[#例3 不会变成代码的反引号\|不会变成代码的反引号]] |

效果:

| 表头1 | 表头2 | |:---------------------------------------😐:---------------------------------------------------😐 | [[#例2 表格内 单元格中的竖杠|单元格中的竖杠]] | [[#例3 不会变成代码的反引号|不会变成代码的反引号]] |

例3 不会变成代码的反引号

使用 转义符号\ 让 反引号``` 变成普通字符,不再具有[[#7 1 行内代码|行内代码]]的标识符功能

格式:

\这段被反引号包裹的内容不会变成行内代码``

效果:

这段被反引号包裹的内容不会变成行内代码

例4 链接中的中括号

网页链接显示文本内容 中,使用 中括号 [ ]

  • 在显示文本内容中,在其中一个中括号前面,加上转义符号 反斜杠 **
  • 格式:****[链接里的 \[中括号\] 能被正常显示](https://www.runoob.com)
  • 效果:[链接里的 中括号] 能被正常显示

例5 不是列表的连接符(横杠)

  • 引用一段话,一般会在换行之后,加上 - 出处
  • 因为 - 是标识符,会变成一个无序列表

如下所示:

The Web, the Tree, and the String. 写作之难,在于把网状的思考,用树状结构,体现在线性展开的语句里。 - 史蒂芬·平克

  • 解决方法:
  • - 前面加上 转义符号 **

```md

The Web, the Tree, and the String. 写作之难,在于把网状的思考,用树状结构,体现在线性展开的语句里。 - 史蒂芬·平克 ```

  • 效果:

The Web, the Tree, and the String. 写作之难,在于把网状的思考,用树状结构,体现在线性展开的语句里。 - 史蒂芬·平克

例6 不是标题的 \

# 不被识别为标题标识符

格式:

\# 这里的内容不会被识别为标题

效果:

# 这里的内容不会被识别为标题

例7 不会注释的 %

Obsidian 中 注释是前后各两个 %

使用 转义符号\,让 %% 作为普通字符显示出来,不具备注释的功能

  • 格式:\%\%这里的内容可以被显示喔\%\%
  • 效果: %%这里的内容可以被显示喔%%

例8 木有链接的双链

Obsidian 的双向链格式是2个方括号 [[ ]] (双方),使用 转义符号\,让 [ ] 不再具有 双链功能

格式:

\[\[这段文本被双方包裹,但不是一个双向链\]\]

效果:

[[这段文本被双方包裹,但不是一个双向链]]

例9 页链接里 显示文本内的 中括号

使用转义符号\,让中括号可以作为显示文本 在[[#5 1 网页链接|网页链接]]中显示出来

格式:

[\[这是一个带中括号的网页链接显示文本,点击会跳转至百度\]](https://www.baidu.com/)

效果:

[这是一个带中括号的网页链接显示文本,点击会跳转至百度]

特殊情况 文本修饰的中括号

文本修饰的 中括号[ ] 不需要使用 转义符号\

示范:

[[#例8 木有链接的双链|[这是一个带中括号的文本修饰]]]

效果:

[[#例8 木有链接的双链|[这是一个带中括号的文本修饰]]]

空格&换行&强制删除

空格

  • 在一些编辑器或者支持MD的笔记软件里,无论你打多少个空格,它只会显示单个 空格 的距离

  • 可以使用 HTML中 空格字符实体 —— &nbsp;

  • 若要添加 多个 空格,就输入多个 —— &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

  • 格式:

    这里有&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6个空格分隔

  • 效果:

    这里有      6个空格分隔

换行

场景1: - 在一些编辑器或者支持MD的笔记软件里,无论你打多少个 回车,它只会显示单个 回车 的空行间距 - 可以使用之前表格里提到的 <br> 标签,在 单独一行 中使用,增加额外的空行间距 - 如果要增加 多个,就输入 多个 —— <br><br><br><br><br> - #注意 当单独一行使用 <br> 标签的时候,如果前后有标题标识符或者列表标识符,确保 br元素 前后两行都是空白行

格式:

这里是第一段文本

<br><br><br><br><br>     <!-- 这里插入了5个空行间距 -->

这里是第二段文本

效果:

这里是第一段文本

这里是第二段文本

场景2: - 在列表中也可以插入换行符

- 这是一段无序列表
  <br>     <!-- 插入一个空行间距,需单独一行,上下不用预留空格 -->
  这是同一段无序列表中,空一行距离显示的内容
- 这是第二段无序列表

效果:

  • 这是一段无序列表


    这是同一段无序列表中,空一行距离显示的内容

  • 这是第二段无序列表

  • 补充:

  • 有一些MD编辑器或笔记软件,严格遵循MD的换行规则,你敲一个回车是没法换行的,必须在 行末2个空格,再按回车键

    • 格式:
    • 这里是一段想换行的文本空格 空格 Enter 这是换行后的文本

强制删除

  • 很多编辑器都有英文标点自动补全功能,自动生成一对,光标落在中间 只想删除前面1个,却会把 一整对 都删掉

  • 在多个列表的嵌套中,也许会遇到一些 无法被删除列表标识符

  • 解决方法: 使用 Shift + Backspace 即可强制删除

    • Bcakspace ( 退格键 )

嵌入

  • 嵌入都是依赖 HTML标签 实现的,嵌入的都是在线链接格式
    • 如果是本地的,Obsidian 中音频是有自带的可录制的录音机插件的,其他的 音频、视频 直接复制黏贴就可以了,也可以直接拖拽到OB的笔记界面
    • 其他的媒体文件在 Obsidian 也和图片一样,以双链的格式引用在目标笔记中,使用 ! 使它可见

嵌入音频

格式:

<audio controls="controls" preload="none" src="音频链接地址"></audio>

示例:

嵌入视频

  • 格式:
<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

嵌入页面

  • 格式: <iframe width=600 height=400 src="页面链接地址" 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 一样

  • 效果:

Latex 数学公式

主要用于 数学公式化学公式 的书写

行内公式

  • 格式:

  • $ + 行内公式 + $

  • 示例:

    $x^2 + 2x + 5 + \sqrt x = 0$

    $\ce{CO2 + C -> 2 CO}$

  • $\ce{CO2 + C -> 2 CO}$

  • $\ce{2Mg + O2 ->[燃烧] 2 MgO}$

  • 效果:

    • $x^2 + 2x + 5 + \sqrt x = 0$
    • $e^{i\pi} + 1 = 0$
    • $\ce{CO2 + C -> 2 CO}$
    • $\ce{2Mg + O2 ->[燃烧] 2 MgO}$

公式块

  • 格式:

  • $$ 公式块 $$

  • 示例:

% 化学公式
$$
\ce{Zn^2+  <=>[+ 2OH-][+ 2H+]  $\underset{\text{amphoteres Hydroxid}}{\ce{Zn(OH)2 v}}$  <=>[+ 2OH-][+ 2H+]  $\underset{\text{Hydroxozikat}}{\ce{[Zn(OH)4]^2-}}$}
$$
% 麦克斯韦方程组
$$
\begin{array}{lll}
\nabla\times E &=& -\;\frac{\partial{B}}{\partial{t}}   
\ \nabla\times H &=& \frac{\partial{D}}{\partial{t}}+J   
\ \nabla\cdot D &=& \rho
\ \nabla\cdot B &=& 0
\ \end{array}
$$
% 薛定谔方程
$$
i\hbar\frac{\partial \psi}{\partial t} = \frac{-\hbar^2}{2m} \left(\frac{\partial^2}{\partial x^2} + \frac{\partial^2}{\partial y^2}+\frac{\partial^2}{\partial z^2} \right) \psi + V \psi
$$

% 化学公式
$$
\ce{Zn^2+ <=>[+ 2OH-][+ 2H+] $\underset{\text{amphoteres Hydroxid}}{\ce{Zn(OH)2 v}}$ <=>[+ 2OH-][+ 2H+] $\underset{\text{Hydroxozikat}}{\ce{[Zn(OH)4]^2-}}$}
$$
% 麦克斯韦方程组
$$
\begin{array}{lll}
\nabla\times E &=& -;\frac{\partial{B}}{\partial{t}}
\ \nabla\times H &=& \frac{\partial{D}}{\partial{t}}+J
\ \nabla\cdot D &=& \rho
\ \nabla\cdot B &=& 0
\ \end{array}
$$
% 薛定谔方程
$$
i\hbar\frac{\partial \psi}{\partial t} = \frac{-\hbar^2}{2m} \left(\frac{\partial^2}{\partial x^2} + \frac{\partial^2}{\partial y2}+\frac{\partial2}{\partial z^2} \right) \psi + V \psi
$$

Mermaid

  • 一些 MD编辑器笔记软件 支持通过 Mermaid 及其所提供的 编译器 来为用户提供图表的绘制功能
  • 这里只提供一些演示的图表,具体教程可戳下方
  • [[MOC Mermiad 教程 Obsidian版| Mermiad 超级教程 Obsidian版]]

绘制流程图

源码1:

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;

渲染1:

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;

渲染2:

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;

绘制饼图

pie title 为什么总是宅在家里? "喜欢宅" : 45 "天气太热" : 70 "穷" : 500 "关你屁事" : 95

序列图 (时序图)

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

甘特图

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

类图

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() }

特殊语法

obsidian

双链

  • [[Obsidian教程#双链|双链]]
![[文章名称#^具体位置|别名]]

模板占位符

  • [[Obsidian教程#占位符|模板占位符]]
{{title}}
{{date}} 
{{date:YYYY-MM-DD_dd}}
{{time}}
{{time:HH:mm}}

标签 (Tag)

  • 标签是 Obsidian 特有的一个功能,标签可以通过点击唤起快速搜索 (搜索包含该标签的所有笔记)

格式: - # + 标签名 - #标签名

关于空格

  • 在一段正文文本的后面添加 Tag, #前面 需要有个空格

    • 空格 + # + 标签名
  • # 与 标签名 之间不能有空格,否则就变成 一级标题 了

  • 标签名的内部不允许使用空格,若想区分标签中的词语,可使用以下三种方法:

  1. 驼峰式大小写: #BlueTopaz
  2. 下划线: #blue_topaz
  3. 连字符: #blue-topaz

关于数字

  • 标签内允许使用数字,但不能完全由数字组成

    • #1984
    • #1984Date
    • #da_1984_te
    • #date-1984

标签的嵌套

在标签名内,使用 / 斜杠 可以实现标签的嵌套

格式: - #主标签/子标签1 - #主标签/子标签2 - #主标签/子标签3

嵌套标签可以像普通标签一样通过点击来唤起搜索,嵌套标签允许你选择搜索的层次。例如: - 搜索 #主标签 ,即可找到包含任意一个子标签的所有笔记 - 返回的结果会是上述的三个例子 - 当你在一个主分类下设置了多个子分类,想找到这个主分类包含的所有内容时,该功能会很实用

能被使用的符号

综上所述,标签内能被使用的符号共有三种

  1. _ 下划线
  2. - 连字符
  3. / 斜杠

如何让 # 不被识别

可以使用前面提到的转义符号 \ 反斜杠,与上述的 转义标题 类似

格式:

\#这里的内容不会被识别为标签

效果:

#这里的内容不会被识别为标签

注意

避免标识符的滥用

即使在 Markdown 中,也要尽量避免标识符的滥用

标识符的本质是突出显示,代表重点 - 一篇笔记里的某段文本,使用各式各样的的标识符,会造成重点不清晰

三种标识,慎用

  1. 词中对单个汉字的标识 1. 卧
  2. 短语中对单个英语单词的标识 1. get a bang out of
  3. 标识符的多层嵌套 1. 我感觉快要原地起飞

原因: - 词义的割裂 - 视觉的混乱 - 不利于搜索 - 卧==虎==藏==龙== - 搜 卧虎 -- 搜不到 - 搜 藏龙 -- 搜不到

其它

  1. 在段落之间应该空一行, 为了确保兼容性

    AAAAAAAAAAAAAAAAA段落一
    
    BBBBBBBBB段落二
    
    CCCCCCCCCCCC段落三
    
  2. Obsidian 在列表首行使用缩进的时候,后续的列表会出现一些问题

  • Tab 和 Shift + tab 会无法 缩进 退格
  • 可以使用 Ctrl + ] 与 Ctrl + [ 来解决问题
- - 这是第一段就被缩进的列表
    - 这是第二段被再次缩进的列表  <!-- 这里需按两次 Ctrl + ] ,Tab键是无效的 -->
  - 这是第三段列表  <!-- Ctrl + [ -->

热门相关:豪门退婚妻:宝贝,再嫁我一次!   驭房有术   强宠头号鲜妻:陆少,滚!   侯门弃女:妖孽丞相赖上门   一级BOSS:你结婚,我劫婚