建站手记:Fly 主题那次配置踩坑(本站现已换用 Cosolar)

杜恒 1 阅读 技术沉淀

装好 Halo、套上 Fly 主题那天下午,我往首页一看:作者区、分类区、最新文章区全是空的,只剩一个空框架。第一反应是主题坏了,查了源码才发现不是——是配置被存成了一个空数组。

先去读主题源码,别在控制台里瞎点

Fly 主题(github.com/acanyo/theme-flying)的配置项全在 settings.yaml 里,页面的渲染条件在 templates/fragments/*.html 的 th:if 里。想知道某个开关到底管什么,读这两处比在控制台里一项项试快得多。

第一个坑就出在这儿。首页看着像主题坏了,其实不是:home_sections 被存成了空数组,而 home-layouts.html 的逻辑是 sectionOrder == null 才渲染全部模块,否则只渲染数组里列出来的项。空数组,等于 5 个模块全关。所以结论是:先修结构,再谈美化。

菜单在左边,不在顶部

Fly 和大多数主题不一样,main_menu 和 feature_menu 控制的是左侧边栏的两块区域:主菜单在上,「更多功能」在下。顶部只有站点名和一个汉堡按钮。

顺带一个坑:侧栏可以折叠,折叠之后菜单文字会被隐藏、只剩图标。所以每个菜单项都得配 fly_icon,否则折叠后导航全空。而 fly_icon 存的是内联 SVG 源码,不是图标名。

窄屏控制台会吃掉最底下的按钮

Halo 控制台在窄窗口下有一条固定底部导航栏,正好盖住页面最下面的提交按钮,我被它坑过好几次:点了没反应,表单也没提交。

解法要么是把弹窗内容滚到底、让按钮离开导航栏覆盖区,要么走快捷键。菜单项编辑弹窗支持 Cmd+Enter 提交,比用鼠标点靠谱得多。

还没做完的

配色暂时没动,主色还是 #000000、辅色 #ededed。另外站点现在还是裸 IP 加 8090 端口,对外展示的时候,这个比任何美化都重要。

建站日志这个分类就是用来记这些的:这个站会继续长。