创建 Github 新仓库

然后根据自己需求设置名称,如果想要公开笔记就选 public,不想公开就选 private。
同步仓库到本地
这里如果熟悉 git 就用 git clone,不熟悉 git 的话就用Github Desktop,也就是 Github 的桌面端。
下载完成后选择 clone a repository。

同步完成后选择刚刚创建的仓库,然后 Local Path 是我们要 clone 的地方,随便选个空的文件夹就好,因为后面要把.git 目录移动到 Obsidian 的仓库里面。

合并 Obsidian 仓库和 Git 仓库
在 clone 后的 Obsidian-Library 的文件夹中可以看到隐藏的.git 文件夹,如果看不到可能是因为没有勾选显示隐藏的项目,选择勾选就好。

然后将.git 文件夹移动到 Obsidian 笔记所在的仓库,使得其和.obsidian 文件夹在一起

按照我自己的尝试,其实会发现之后装 Obsidian Git 的插件仍然无法链接到仓库,会显示 Git is not ready,最后才发现可能是没有安装 git 的原因,所以还是建议安装一下Git。
具体的安装过程可以参考这篇文章:Git 详细安装教程(详解 Git 安装过程的每一个步骤)
安装 Obsidian Git 插件进行后续的同步
打开 Obsidian,在的这个准备好的库中,安装一个名为Obsidian Git的插件,具体操作如下。
首先在左下角设置中的第三方插件中关闭安全模式

然后浏览社区插件市场并搜索 Obsidian Git 选择安装


注意要打开插件的开关

然后在左下角插件的配置中可以设置 backup interval(备份时间间隔)

安装完成后应该会自动出现一个 Git Control View 的侧边栏。如果没有,则按下 Ctrl + P 打开命令面板,搜索 Obsidian Git: Open Source Control View ,就可以打开这个面板。

有了这个插件,以后的同步操作你都可以在 Obsidian 内部进行了。
这个插件顶部的按钮对应了 Git 中最常见的几个操作。如果你对 Git 有一定的了解,应该对这些操作不会陌生。
- Backup:备份,提交所有的更改,并且执行推送。
- Commit:确认提交,但不推送。
- Stage all:存储当前的变更。
- Unstage all:取消存储变更。
- Push:推送到远端,可以理解为推送到 Github。
- Pull:从远端拉取到本地,可以理解为从 Github 拉取最新数据到本地。
- Change Layout:改变下方文件的排布方式。
- Refresh:刷新当前的文件变更情况。
如果你不想了解他们具体是干什么的,只想知道怎么做同步,那其实就两个按键有用。
- Backup,第一个按钮,一次性完成提交并推送到 Github。
- Pull,第六个按钮,从 Github 同步到本地。
到这一步就完成了所有的配置工作,第一次使用时,点击 Backup 就可以。
一键同步 Obsidian 和个人博客
一键复制 md 文件从 obdidian 文件夹到博客文件夹
- 创建一个.bat 批处理文件
1 | start cmd /k "d: && cd notes/study && python copy_md_obsidian2blog.py" |
- 在 obsidian 文件夹创建 python 文件
1 | import os |
一键 post 文章并备份
- 创建一个.bat 批处理文件
1 | start cmd /k "d: && cd Hexo && hexo cl && hexo g && hexo d && git add --all && git commit -m "update posts" && git push" |
一键上传图片到 npm 图床
- 创建一个.bat 批处理文件
1 | start cmd /c "d: && cd data/npm/xiansakana-blog-img && npm version patch && npm publish" |
一键修改图床链接
因为我给上传到 backblaze 的图片加了防盗链,所以在 obsidian 的本地笔记里面无法显示。因此需要将图片上传到 npm 或者其他的图床,然后在 obsidian 笔记中修改之前上传的图片链接,这里以 backblaze 到 jsdelivr 为例。
- 创建一个.bat 批处理文件
1 | start cmd /k "d: && cd notes/study && python replace_md_url_backblaze2jsdelivr.py" |
- 在 obsidian 文件夹创建 python 文件
1 | import re |