使用Obsidian、Hexo、MkDocs搭建个人博客¶
约 504 个字 1 张图片 预计阅读时间 2 分钟
已过时
最新方案👉 Obsidian 结合 MkDocs
实现流程¶
实现步骤¶
Obsidian¶
使用Obsidian正常完成文档的编写。如果要联动Hexo,则还需进行如下配置:
- 文档元数据必须包含
abbrlink字段。该字段用于生成永久链接,否则404 - 安装Link Server Plugin,通过API提供Obsidian文件信息
Hexo¶
除了常规配置外,还需要安装以下插件:
- hexo-abbrlink:用于生成永久链接,对应Obsidian的
abbrlink字段 - hexo-link-obsidian:用于请求Obsidian插件,获取文档信息。处理图片、视频、wiki等链接。
- 图片被拷贝至
posts目录 - 如果转换后的链接文档不在hexo的
_posts目录中,则此链接修正为404
- 图片被拷贝至
Hexo使用¶
至此完成了Obsidian和Hexo的联动,只需要执行以下操作即可:
- 拷贝Obsidian文档至Hexo的
_posts目录 - Hexo生成并发布
MkDocs¶
虽然Hexo非常不错,但不折腾就难受
鉴于Hexo部分已经把该做的都做了,这里直接偷懒,拷贝一份Hexo处理后的文件到MkDocs目录。
思路¶
目录说明
Hexo与MkDocs目录需要在同一级
TL;DR
使用该文件替换Hexo/node_modules/hexo-link-obsidian/index.js即可
思路如下:
- 在Hexo执行图片拷贝时,同时复制一份到MkDocs的
MkDocs/docs/images目录 - 将Hexo处理后的MD文件输出到MkDocs的
MkDocs/docs目录- 处理不正确的URL
- 重新添加元数据信息到处理后的MD
- 写入到
abbrlink.md文件
- 将处理后的文件链接写入到
MkDocs/docs/SUMMARY.md,推荐搭配mkdocs-literate-nav插件使用
MkDocs使用¶
至此完成Hexo与MkDocs的联动,在前两步的基础上执行:
- 整理
SUMMARY.md,构建nav导航 - MkDocs生成并发布
成果¶
已知不足¶
MkDocs¶
- Categories界面点击分类并无对应子界面
- Categories不兼容当前使用的格式
- RSS无法使用
- Tag不完善
- MkDocs的标题链接为英文+编号,无法对应
最后更新 :
2025年3月17日
创建日期 : 2022年7月12日
Author : chushen
创建日期 : 2022年7月12日
Author : chushen