通过Hexo发布Obsidian
最近把Hexo的文档都移到了obsidian里进行编辑,编辑效率和管理都提升了一个档次。
美中不足的是,不想吧hexo的一堆npm的文件都一起到obsidian里,感觉很杂乱,所以依然是在另外的目录做了hexo的博客。
这样麻烦就来了,每次需要单独挑出来新写的文章和图片里,手动添加到hexo的对应目录下。(我本来的方法更麻烦,因为是在服务器上直接编译hexo博客,所以要连上服务器之后把文件一个一个传上去)
今天尝试用Rsync来解决这个问题。
md文件准备
文本准备
文本没有任何需要准备的,md文件无缝可以从Obsidian直接同步到hexo.
图片准备
在Obsidian的文档文件夹里创建一个photo文件夹,所有插入的图片放这里。
因为obsidian插入文件的语法不是标准的md语法,是像下面这样的:
1 | ![[xxx.png]] |
这个格式hexo是不认的,路径也不对。
把这个格式修改为
1 |  |
如果有很多图片的话,可以用obsidian的替换功能

进行同步
确定obsidian下文档文件夹的路径,假设为 /Users/abc/Documents/obsidian/hexo
那obsidian下photo的路径就是 /Users/abc/Documents/obsidian/hexo/photo
确定hexo下文档文件夹的路径,假设为 /Users/abc/hexo/blog/source/_posts
确定hexo下图片文件夹的路径,假设为 /Users/abc/hexo/blog/source/photo
用Rsync同步:
1 | # 同步文档 |
rsync的优势是,没有变化的文件不会同步,所以每次只会增量同步,这就省事很多啦。
发布
后面就用正常的hexo发布流程就好了
1 | hexo g |
我一般不用 hexo clean ,会刷新整个 public 文件夹,deploy的时候会全部重新上传很慢。
脚本
以上操作可以全部放到一个脚本里,下次执行的时候,只要一行代码就搞定了(obsidian内部的没办法)。
1 | #!/bin/bash |
Tip:
mac下在访达的显示选项里选择显示地址栏,然后右键点击路径可以复制当前文件夹的路径,尤其对我把文件都存在iCloud文件夹里的人很有用。
甚至可以用同样的方式在此处打开Terminal,非常实用。
