0%

Obsidian + Hexo 修复记录

Obsidian + Hexo 修复记录 — 2026-05-03

问题

Hexo 博客首页所有文章标题显示 Untitled,图片也无法显示。

原因

  1. 标题丢失:Obsidian vault 通过软链接 source/_posts → obsidian/ 作为 Hexo 文章源,但 markdown 文件缺少 Hexo 必需的 YAML Frontmatter(titledatecategories
  2. 图片 404:图片分散在各子目录的 images/assets/ 中,prependRoot: true 将路径转为 /assets/xxx.png,但 source/ 下没有 assets/ 目录,图片未被复制到 public/

修复内容

1. 批量添加 Frontmatter(32 个 .md 文件)

1
2
3
4
5
6
7
---
title: "从 # 标题提取"
date: 2026-05-0X
categories:
- 父目录
- 子目录
---

2. 图片统一管理

  • 126 张图片迁移到 obsidian/assets/(vault 根目录)
  • 所有 markdown 引用从 images/xxx.png 改为 assets/xxx.png
  • 创建软链接 source/assets → obsidian/assets,Hexo 自动复制图片到 public/assets/

3. Obsidian 配置更新

文件 修改
.obsidian/app.json attachmentFolderPathassets
.obsidian/plugins/obsidian-custom-attachment-location/data.json attachmentFolderPathassets

4. 目录结构重整

靶机目录对齐 BUUCTF/WEB 格式,md 文件从嵌套子文件夹上提一级:

1
2
3
靶机/QQGroup/111/111.md  →  靶机/QQGroup/111.md
靶机/vulnhub/DC/DC9/DC9.md → 靶机/vulnhub/DC9.md
...

清理了所有空 images/assets/ 子目录。

5. 自动化(Skill + 模板)

  • Claude Code Skill.claude/skills/add-frontmatter.md — 今后创建新 md 文件自动加 Frontmatter
  • Obsidian 模板templates/CTF-Writeup.mdCmd+P → 插入模板 → CTF-Writeup

最终状态

  • Hexo 生成 hexo g:214 files generated
  • 首页标题:0 个 Untitled,全部正常
  • 图片:126 张正确复制到 public/assets/,HTML 引用 /assets/xxx.png 正常解析