【项目】obsidian-hexo-helper插件:实现 Obsidian + Hexo 博客语法兼容
1. 目标:
-
实现 Obsidian 内编辑 Hexo 博客文章,尽可能保留hexo语法(因为作者用惯了bushi
-
Obsidian 预览 + Hexo 网站发布
-
主要支持:
-
图片预览:Obsidian 和 Hexo 对于
..这种相对路径支持不一致- 解决方案:直接hexo s/d之前相对路径转为绝对路径
-
链接跳转:Obsidian 能识别并跳转 Hexo 的永久链接(
abbrlink),即[标题](/posts/123456/) -
图片粘贴:在 Obsidian 中粘贴图片时,自动保存到 Hexo 指定的
source/img目录,并插入正确的 Markdown 链接。
-
2. 文件夹结构
|
- 插件 (
obsidian-hexo-helper):
* 粘贴拦截:监听 editor-paste 事件,图片存入 source/img,插入 ../img/ 相对链接。
* 点击拦截:监听全局点击事件,捕获 /posts/abbrlink 链接,通过构建 abbrlink -> 文件路径 的映射表实现跳转。
* 辅助功能:右键菜单“复制 Hexo 链接”、新建文章自动生成 Front-matter。
- 转换脚本 (
convert_to_relative.js):
* Node.js 脚本,一次性批量将旧文章的 /img/ 绝对路径转换为 ../img/ 相对路径。
- 构建脚本 (
fix-hexo-compat.js):
* Hexo Filter 脚本,在 hexo generate 阶段将 ../img/ 还原为 /img/。
* 放到博客根目录下scripts文件夹
3. 具体使用方法
安装插件
-
把
obsidian-hexo-helper文件夹整个复制到 Obsidian 仓库的.obsidian/plugins/下。 -
重启 Obsidian,去“第三方插件”里开启
Hexo Helper。
修改旧文章图片代码
-
把
scripts/convert_to_relative.js放到 Hexo 博客根目录下。 -
运行
node scripts/convert_to_relative.js。
配置 Hexo(保证网站正常)
- 把
scripts/fix-hexo-compat.js放到 Hexo 博客的scripts/文件夹里(Hexo 会自动加载这个目录下的脚本)。



