【项目】obsidian-hexo-helper插件:实现Obsidian+Hexo博客语法兼容
1. 目标:
- 实现 Obsidian 内编辑 Hexo 博客文章,尽可能保留hexo语法(因为作者用惯了bushi
- Obsidian 预览 + Hexo 网站发布
- 主要支持:
-
图片预览和黏贴保存处理:
- 问题:Obsidian 和 Hexo 对于
..这种相对路径支持不一致 - 解决方案:
- 通过脚本直接hexo s/d之前相对路径转为绝对路径
- 在 Obsidian 中粘贴图片时,自动保存到 Hexo 指定的
source/img/文章名目录,并插入正确的 Markdown 链接
- 问题:Obsidian 和 Hexo 对于
-
链接跳转:
- 文件列表拖拽和右键 copy hex link /文章标题右键 copy hexo link :复制 Hexo 的永久链接(
abbrlink),例如:[标题](/posts/123456/#标题名) - 实现 Obsidian 识别该类链接
- 文件列表拖拽和右键 copy hex link /文章标题右键 copy hexo link :复制 Hexo 的永久链接(
-
pdf预览:
- 也通过脚本实现 Obsidian 语法和 Hexo 语法替换
-
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 会自动加载这个目录下的脚本)。
具体功能
- 右键copy hexo link
- 拖拽文件直接生成hexo link
- 其余功能都静默进行
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 落殷回的博客!
评论



