这次是一次速修,比刚入门 Hexo 的时候不认识 yaml 怎么写,一个小小的格式错误就耗费了我快半个小时要聪明得多。链接🔗
之前在关于页面就有提到了小作品站用到的主题是 A4,主要是看重它的简洁,适合我写小作品也适合小伙伴阅读。但是……不出意外地,又出意外了。
我兴冲冲地配置好了 _config.yml
和 _config.a4.yml
,本来按照作者的意思只要在命令行输入 hexo new page index
就能够自动生成首页了。但是……细心的小伙伴估计也发现了,小作品站的首页并不是根目录,而是 /master
。这又是一个漫长的故事。
一开始我的确是以根目录作为首页的,但在我写完第一篇小作品并发表后,问题就诞生了。
文件架构:
1
2
3
4
5
source/
|
+--...
+--index.md其中,(预计)
index.md
会被渲染成主页。
很明显这是首页被当成一篇小作品解析了,因为有明显的字样“上一篇”“下一篇”,被 Waline 占领我就不知道为什么了。我试着把 index.md
移动到 /master
里面,再做重定向,就可以避免这样的问题。但是后来还是被现实打趴下了。Hexo 默认会在首页生成一组最近文章,就像主站显示的那样,但是我现在不需要啊,如果 Hexo 主动生成了,那反倒会把我提前准备好的重定向页给覆盖了,这明显就不是我想看到的。
挺糟心的,而且并没有什么好的解决方案。所以后来问了 DeepSeek,倒是一针见血。
额外说明
菜单链接调整:如果你希望导航菜单中的 “首页” 指向你的自定义页面,需在主题配置中修改菜单链接为
/
。完全禁用默认首页:如果不需要 Hexo 生成的博客列表首页,可卸载插件:
1npm uninstall hexo-generator-index --save
按此配置后,Hexo 会完全保留你的自定义
index.html
并跳过渲染,确保它直接出现在网站根目录。
不得已而思其次,我发现 A4 的作品存档并不依赖于 Hexo 本身,而是作者自己写了代码用来列出全部的作品页(也就是列举出形如 s.karlbaey.top/shorts/...
这样的页面)。所以我大胆地删掉了 hexo-generator-index
这个包,再给根目录做一个重定向,就可以抵达我真正的首页 /master
了。
问题完美解决~
编辑:突然发现部署之后点进这一片小作品,会立刻跳回主页。
其实原因很简单:上面展示重定向代码的时候,Hexo 自动把嵌入在代码块里的重定向代码识别出来了,这就导致了闪退回首页。烂透了……
(The end)