1 Markdown

1.1 什么是 Markdown

Markdown 是一种是目前互联网上最流行的写作语言,它使用一些简单的符号来标记文本格式,其简洁的语法、优美的格式以及强大的软件支持深受广大网友的喜爱。

Markdown 使用易读易写的纯文本格式编写文档,然后转换成有效的 HTML 文档。它的学习门槛很低,你可能只需花几分钟就可以入门了。

目前基本上所有的博客网站、在线文档等都支持 markdown 格式,尤其广泛应用于程序员领域,例如 Github 中的所有说明文档一般都是 .md 格式。

1.2 为什么使用 Markdown

Markdown 的出现主要是为了解决以下通点:

  • 软件不兼容:例如不同版本的word、或者不同软件如office与wps,打开同一文档,可能有的正常,有的格式错误,有的乱码。
  • 排版浪费时间:功能越多,我们就容易想得越多,遇到的问题也会越多。对于专注于写作的场景,有时可能并不需要那么多选项格式,例如行高行距字体颜色等等。而是要关注内容。同时word中每次写完一段文字,都要再手动为它选择格式,多的这一步操作可能就会打断思路。而markdown可以让你仅通过键盘,在写文档的同时完成格式的设置。
  • 格式不兼容:复制同一段文字到另一个文档中,很有可能格式全乱了,同理复制到网页或从其他地方复制过来,格式也都是很麻烦的问题。

为了解决这些问题,Markdown 实现了以下功能:

  • 语法简单:只需要一些简单地标记符号,例如# * > - [] () =
  • 兼容性强:所有的编辑器都可以打开 .md 文件,甚至记事本和vim都可以编辑
  • 导出方便:可以导出PDF、也可以嵌入HTML、Latex等格式
  • 专注内容:写作时双手无需脱离键盘,再也不用纠结排版问题

1.3 Markdown 怎么用

虽然所有的编辑器都可以编辑 Markdown 文件,但是为了更加直观,并且让我们有更好地写作体验,这里推荐两款所见即所得的 Markdown 编辑神器:ObsidianTypora。前者是我现在一直在用的笔记软件,作为我的知识库管理工具,后者在我写作初期使用过,编辑体验也非常不错。

下图为 Obsidian:

image.png

下图为 Typora:

image.png

打开自己的 Markdown 编辑器,新建一个文件,就可以开始自己的创作了。

1.4 Markdown 基本语法

以下是一些比较常用的 Markdown 语法,按照我的常用顺序排列:

1. 标题

使用方式为:# + 空格 + 标题文字,注意#号与标题文字之间的空格

1
2
3
4
5
6
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

一级标题

二级标题

三级标题

四级标题

五级标题
六级标题

2. 倾斜

使用方式:*被倾斜的文字* 或者 _被倾斜的文字_,快捷键 Ctrl+I, 例如:

1
2
3
这里是正常文字,*这里是被倾斜的文字*,这里又是正常文字

_下划线在Obsidian中好像只能倾斜整行_

这里是正常文字,这里是被倾斜的文字,这里又是正常文字

下划线在 Obsidian 中好像只能倾斜整行

3. 加粗

使用方式:**被加粗的文字**__被加粗的文字__,快捷键 Ctrl+B, 例如:

1
2
3
这里是正常文字,**这里是被加粗的文字**,这里又是正常文字

__下划线在Obsidian中好像只能加粗整行__

这里是正常文字,这里是被加粗的文字,这里又是正常文字

下划线在 Obsidian 中好像只能加粗整行

1
2
3
***当然倾斜和加粗可以一起使用,那样就是三个星号***

___也可以是三个下划线___

当然倾斜和加粗可以一起使用,那样就是三个星号

也可以是三个下划线

4. 高亮

使用方式如下

1
这里是正常文字,==这里是被高亮的文字,但是不能换行,如果要对多段高亮,需要每一段使用高亮标记==,这里又是正常文字

这里是正常文字,这里是被加粗的文字,但是不能换行,如果要对多段加粗,需要每一段使用加粗标记,这里又是正常文字

1
2
3
4
5
***==当然倾斜和加粗可以一起使用,就像这样==***

==***也可以是这样***==

==___也可以是下划线___==

当然倾斜和加粗可以一起使用,那样就是三个星号

也可以是这样

也可以是下划线

5. 列表

无序列表

使用+ -标记无序列表,使用方式为+/-+空格+文字,注意+/-号与文字之间的空格

1
2
3
- 这是无序列表的第一项
- 这是第二项
- 这是第三项
  • 这是无序列表的第一项
  • 这是第二项
  • 这是第三项
1
2
3
+ 这是无序列表的第一项
+ 这是第二项
+ 这是第三项
  • 这是无序列表的第一项
  • 这是第二项
  • 这是第三项

有序列表

使用方式为数字+.+空格+文字

例如:

1
2
3
1. 第一项
2. 第二项
3. 第三项
  1. 第一项
  2. 第二项
  3. 第三项

6. 引用

使用>标记引用的内容,使用方式为> + 空格 + 引用文字,注意>号与文字之间的空格

1
> 这是被引用的内容

这是被引用的内容

7. 代码

代码分为行内代码和代码块。

行内代码,使用方式如下:

1
这里是正常文字`code`文字继续

这里是正常文字code文字继续

代码块,使用方式如下:

1
2
3
```代码格式(c, c++, python, html, java, css, yaml, shell ...)
代码内容
```ㅤㅤ

例如:

1
2
3
4
```python
import numpy as np
np.array([1, 2, 3])
```ㅤㅤ

效果如下:

1
2
import numpy as np
np.array([1, 2, 3])

8. 链接

链接的使用格式如下:

1
2
3
[链接显示文字](链接地址)

[马浩飞丨博客](https://www.mahaofei.com)

马浩飞丨博客

9. 图片

图片的使用格式如下:

1
2
![](图片地址)
![](https://img.mahaofei.com/img/202311292058718.png)

10. 分割线

分割线使用三个以上的*-_组成,例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
分割线之上

---

或者使用

***

再或者

___

就这些

分割线之上


或者使用


再或者


就这些

11. 表格

表格的使用可能稍微有些繁琐,如果是在Obsidian中,可以有些插件简化表格的创建方式。

常规使用方式如下,注意中间的|-|-|-|是不能删的,表格有几列就写几个|-|

1
2
3
4
|表头1|表头2|表头3|
|-|-|-|
|表格内容1|表格内容2|表格内容3|
|表格内容4|表格内容5|表格内容6|
表头1 表头2 表头3
表格内容1 表格内容2 表格内容3
表格内容4 表格内容5 表格内容6

哦对,补充一下,为了表示直观,markdown使用空行分割两个段落

1
2
3
第一段

第二段

12.callout

使用> [!note]就可以创建一个callout模块,例如:

1
2
> [!INFO]
> 这里是callout模块

image.png

默认有12种风格。每一种有不同的颜色和图标(标题中的单词可以替换 > ![替换] 实现下面效果)。

image.png

可以使用 + 默认展开或者 - 默认折叠正文部分。例如:

1
2
> [!FAQ]- 点击就可以展开了
> 这里是callout的内容

[!FAQ]- 点击就可以展开了
这里是callout的内容

2 Obsidian

2.1 为什么使用 Obsidian

Obsidian 很适合用来管理多层级多文件,因此很适合用来构建知识库

最初我使用 Obsidian 是因为我写的文章越来越多,当时使用 Typora 管理起来感觉不是很方便,而且那时正逢 Typora 更新至1.0后开始收费,而 Obsidian 开始展露头角,因此我尝试使用了 Obsidian,从此在我的所有设备的dock栏上,一定会有一个 Obsidian,只要我在使用电脑,Obsidian一定是处于打开状态的。

下图是我现在的 Obsidian 图

  • 左边是文件列表、历史打开文件
  • 右边是任务列表和日历(也可以切换为文档目录)

image.png

我自己的博客内容全部使用Obsidian存储,同时记录我的一些笔记和平时遇到的各种Bug,这样遇到相似问题时,直接使用全局搜索,就可以快速找到解决办法,亲测已经帮我解决了好多次问题,节约了大把时间。

个人不放心云笔记,Obsidian 是纯本地化文件编辑与管理

由于各种原因,我不想将我自己记录的一些内容全部放到云笔记上,一旦宕机或跑路,会是一件非常麻烦的问题,例如有道云笔记、印象笔记等等,OneNote等我也用过,但是迁移性太差,如果想换别的笔记软件,之前记录的东西根本不能导出。

而Obsidian则是使用的本地化文件管理,左侧的文件列表就是本地中真实存在的一个个文件夹和.md文件。在多设备同步方面,推荐坚果云或者OneDrive实现多设备的实时同步。

Obsidian 的功能非常丰富,是一个笔记软件,又不止是一个笔记软件

对于我来说,我使用 Obsidian 完成了很多功能,当然最主要的还是记笔记,包括学习笔记、Bug 笔记、组会记录等等。

同时使用custom frames插件能够将网页嵌入到 Obsidian 中,我将滴答清单加入了进来,这样就实现了上图右侧的任务管理功能。

此外我还写了一个自动化脚本,根据我的笔记库的内容修改,每天定时更新博客内容。

Obsidian 颜值非常高,有各种各样主题,而且几乎所有的样式格式都可以自定义修改

在外观这方面,我也折腾了一段时间,最终还是使用 Blue Topaz主题,辅以Style Settings 插件中的一些个性化设置。总的来说没有修改太多。

网上也有一些开源的高度修改的库模板,下载下来就可以直接用,但是我找了一圈,发现自己还是更喜欢简约直接的,各位可以根据自己的审美找找看。

2.2 Obsidian 的特色功能

这里只介绍大致功能,具体使用方法,请参考 Obsidian 官方教程,或者下载Obsidian软件后,第一次打开会有示例库,我当时就是阅读那个学习的。

双向链接

不确定 Obsidian 是不是第一个双链笔记软件,但它也是最早的一批了。

双向链接,顾名思义就是双向引用的链接,例如我在A文章中使用[[B文章的标题或者小标题]],就可以实现文章和文章之间的链接,有点类似于网页链接,但是它是在笔记软件内跳转的。

在被引用的笔记中,你也可以看到这篇笔记被哪些其它笔记引用了。例如可能某篇[[Ubuntu系统Buglist]]中的内容就可能被我在写其它实验笔记的时候引用很多次。

这样所有的笔记相互链接,就会形成一个庞大的关系图谱,Obsidian中也可以查看这个关系图谱。

此外,双向链接还可以使用![[文件名]]![[文件名#小节标题]]这样的格式,在引用的同时,将那篇笔记的全部或某一节插入到当前文章中,例如:

image.png

模板

Obsidian 提供了模板的功能。

我创建了一个文件夹保存所有的模板。当我新建笔记后,可以直接插入现有的模板,例如我经常使用的论文笔记模板

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# X 论文名称

> **标题**
> **作者团队**
> **期刊会议**
> **时间**
> **代码**

## X.1 目标问题

## X.2 方法

## X.3 思考

image.png

工作区保存与快速恢复

有的时候我可能会同时打开好几个笔记,比如实验笔记、论文笔记、Buglist等等,我会把他们分屏分开放在不同的位置,例如这样:

image.png

但是此时如果我需要去做另一件事,比如开会,我就需要把当前的这些笔记都关掉,打开会议记录,但是下次想要在恢复这个布局又比较麻烦。

这时候就可以点击左侧的管理工作空间布局按钮,保存工作空间布局,然后就可以放心关闭了,下次使用点击加载工作空间布局就可以一键恢复之前的布局。

丰富的插件系统

Obsidian 提供了丰富的插件系统,有些可以增加 Obsidian 的功能,有些则是美化外观,有些可以提高编辑体验。

具体哪些插件我用过比较好用的,后续会持续在本文下面更新。

录音

写这篇文章,在查资料的时候突然发现Obsidian出了录音功能,在【设置-核心插件】里打开即可使用,打开后会在主页面最左侧添加一个图标,按下即可开始录音。

录音完成后,会保存在当前笔记文件中。

image.png

2.3 Obsidian 插件推荐

所有的插件都可以在插件市场中直接搜索下载,【设置-第三方插件-社区插件市场】

后续有时间再更新各个插件的介绍和使用详情

1. 提升编辑体验

Media Extended

Media Extended增强了媒体播放功能,包括链接到在线视频,速度控制,循环播放,字幕支持。

以及创建时间戳链接笔记,从在线视频、本地视频、录音中获取时间戳等等。

(目前测试似乎只能添加 Youtube 在线视频)

Outliner

增强列表样式

  • 可以上移下移缩进列表
  • 增加列表垂直缩进线
  • 增加折叠展开功能

Advanced Tables

优化创建表格的语法:输入一个|,然后输入第一个标题,接着按下tab,继续输入标题直到创建所有标题,然后按下Enter转到第一行输入内容,以此类推。

当光标位于表格中时:

快捷键 动作
Tab 下一个单元格
Shift + Tab 上一个单元格
Enter 下一行
Ctrl + Shift + D 打开表格控件侧边栏

2. 增加功能

Calendar

日历插件,打开后会在右边侧栏出现日历。

点击日历上的日期,可以跳转到当天的每日笔记中(每日笔记也可以设置模板)

image.png

Custom Frames

可以将任意的网页转换为obsidian窗格,非常不错。

例如我这里右侧的滴答清单:

image.png

Image auto upload Plugin

image auto upload插件搭配PicGo使用,能自动将ob中插入的图片上传到图床中,优化图片插件体验。

在这里我使用的是阿里云OSS存储我的图片,具体可以参考:阿里云图床搭建方法或者[[01_阿里云图床搭建方法]]

Recent Files

非常直观的功能,就是在左侧文件列表增加最近打开的文件列表。

image.png

Dataview

一个高效信息动态查询插件,当你拥有足够多的笔记后,可以用它来生成目录表格,并且支持各种查询限制条件。

Templater

相比较与 obsidian 自带的模板工具,他能实现更复杂的模板,设置更多的变量和函数,生成一些功能强大的模板。

Admonition

能够在 Obsidian 中添加样式框的插件,能让笔记显得好看又有层次,可以配合着 Task、QuickAdd、Button 和 Dataview 等插件使用。

image.png

Quickadd

可快速添加信息,捕捉想法,采用模板新建笔记和添加宏命令,快速执行多项操作的好用又强大的插件。

Buttons

可以添加一些自定义按钮,用来执行一些特定人物,例如一些命令或者打开链接或者结合 quickadd 实现一些自动化流程。

Banners

在笔记的开头添加和管理横幅图片,一般用于制作笔记主页时使用。

Workspaces plus

快速切换管理工作区的布局。你可以按照你不同的习惯,规划工作区。

Hover Editor

通过将悬停弹窗变成一个功能齐全的编辑器,来增强核心的“页面预览”原有的功能。

3. 个性化设置

MySnippets

css片段管理插件,在右下角生成css管理菜单,点击后可方便的开关css片段。

Obsidian42 - BRAT

obsidian的插件下载大致可分为两种,第一种是从ob软件内的官方渠道下载,第二种则是通过Github等渠道下载后再手动安装。

Obsidian42 - BRAT 可以帮助你直接安装社区插件市场无法安装的插件。

Style Settings

主题自定义设置插件,可以在现有主题的基础上,根据自己的需要进行魔改。

image.png