前景
最近想搭建一个自己随时可以访问的个人笔记库,搜索了一下,确认了将 Obsidian 作为内容创作层,Hexo 作为发布层,并发布在 Cloudflare Pages (感谢cf大善人)的方案。
在站内了搜索了一下,发现一位悲惨的佬友,更新Obsidian程序导致笔记文件丢失。为了避免这种悲惨情况,决定为Obsidian 和建立Hexo 两个完全独立的根目录。准备通过一些插件或者vibe coding下实现Obsidian 到 Hexo 的自动化脚本,承担文件复制和语法转换等。
1、环境准备
1、Obsidian github地址:Obsidian
2、nvm github地址:nvm
3、git 下载地址: git
2、安装Obsidian 程序
新增仓库,位置一定不要在Obsidian 程序安装目录下,防止重蹈佬友悲剧。
3、新建hexo目录 初始化hexo
1、安装nvm
一路下一步即可
2、安装最新的长期支持版(LTS)。
1 | nvm install lts |
3、初始化 hexo
1 | npm install -g hexo-cli |
4、推送到 github 仓库
配置 git 忽略文件 然后推送到自己的私有github仓库
5、最终目录结构如下

6、修改hexo的配置文件适配脚本推送
修改hexo配置文件 _config.yml
修改渲染器配置:
1 | post_asset_folder: true |
4、安装插件并配置脚本
脚本文件如下:
Sync-ObsidianToHexo.ps1设置->第三方插件
安装 Shell Commands 插件
打开插件设置,点击新建 New shell command
Command (命令):
1 | powershell -NoProfile -ExecutionPolicy Bypass -File "D:\myself\Obsidian_Script\Sync-ObsidianToHexo.ps1" -FilePath "{{file_path:absolute}}" |
并为其设置一个快捷键
设置显示脚本内容输出

5、设置cloudflare pages 自动部署
登录 cloudflare
创建pages,选择对应github仓库
构建命令:npx hexo generate
构建输出目录:public
环境变量添加 NODE_VERSION:20 (与你的本机node保持一致即可)
开始部署,添加自定义域
然后访问自定义域看是否可以成功访问
6、运行脚本
执行第4步设置的快捷键
结果如下
7、hexo效果
图片正常显示、附件可以下载。
