Re: Hasunosora
终于把那个看了很久的圆角主题给扬掉了。其实很早就想把博客做成方方正正、棱角分明的样子。
回想两年前我重拾博客时,本想写一篇《圆角批判》。。。也没啥好批判的了。
旧主题是我自行设计的”mylike”(其实是 Material You Like 的意思),曾试图把手机上Material 3的那套设计语言搬到博客上。这套主题一直是开源在 GitHub 上,连个Star都没有(笑)。初版圆角超大的,现在克制了很多,经过几次迭代并最终定格在现在的样子。
对于Material 3在手机上的表现,我依然是满意的。但在 2025 年,当桌面操作系统和应用都开始泛滥大圆角设计,拼命向手机体验靠拢时,我反而想反其道而行。我不希望我的博客在电脑上看,是一个被放大的手机 App。
遇见莲之空
新外观“致敬”了 LoveLive! 莲之空官网的设计风格。起初是在 blog.mikan.ac.cn 看到的,第一眼就觉得符合我口味。侧边导航配合主页大图的设计,很有轻小说或者Anime官网的感觉。后来顺藤摸瓜,发现确实源自LoveLive! 莲之空女学院学园偶像俱乐部的官网:https://www.lovelive-anime.jp/hasunosora/。
虽然 mikan 的博主开源了代码,但我 Clone 下来研究后,发现和我的需求不太匹配,还是决定自己动手。
现有的移植版还原度很高,但看起来也照搬了原站的JS,CSS依赖,原站在无JS环境下无法显示的特点也继承了过来。对于博客这种以内容为主的站点,我个人有那么点“洁癖”,没有JS页面无法工作肯定是不可以的。
二来是代码维护的考虑。我的文章数据结构 (content collection) 和目前的 Astro 程序存在些许耦合,如果要硬搬进现有的移植版,适配工作量可能比在我原有代码基础上修改还要大。还是自己写的代码更好维护。
于是,我花了一些时间,重新复刻了这套主题。
咱的实现完全没有用到JS,不过用上更现代CSS也就意味着放弃了对旧浏览器的兼容,不过本来也不想着兼容,Firefox最新的ESR能用就可以了。针对博客的阅读场景,我特意增加了最大宽度限制——毕竟原站是官网展示,在大屏下全宽显示没问题,但作为 Blog 阅读长文时,如果文字拉得太长,可读性会打折扣。
以前我对网页的FCP和体积有点执念,总想着把页面控制在100k以内(不压缩)。这次为了视觉效果,我做了一些让步——首页塞进了大图,也用上了Web Font。毕竟,如果一直固守传统的精简主义,某种程度上也会限制我在前端领域的探索。
不过好在,现在的页面大小依然控制得很好,即使加上了这些“负担”,首页体积依然控制在200k以内,Lighthouse跑分依旧是满分。在JS的使用上,我依然保持克制。我认为,声明式才是构建界面的未来。
配色上我也没照搬原站,而是沿用了之前脚本生成的Material Colors,这样我可以根据心情随时更换色彩风格。
当然这套主题未来也会开源,待我修缮下屎山代码,打磨下细节。