瞬间
查看我的瞬间 →
36
1

我的 Ethereal 主题魔改全记录:从原版到专属

2026-08-10
2026-08-10
我的 Ethereal 主题魔改全记录:从原版到专属
文章摘要
|

Ethereal 是基于 Fuwari、用 Astro 构建的 Halo 主题,原生设计已经很耐看。但用了一阵之后,总想让它更 "像我自己"——玻璃质感的底栏、对齐 rainzt 风格的文章卡片、可玩性更高的友链与标签……于是有了这一版魔改。


一、外观与视觉魔改

1. 玻璃拟态底栏

原本的底栏是系统原生的三段式布局。我把它彻底重写(Footer.astro +535 行),拆成 FooterGlass.astroFooterOriginal.astro 双模板:

  • 玻璃拟态版:顶部两栏(品牌信息 + 社交图标 / 快速导航 + 回到顶部),底部一条发丝分割线 + 居中排布的版权胶囊。
  • 桌面与手机独立切换footer.style 控制桌面,footer.mobile_style 让移动端单独选模板,两套样式作用域互不泄漏。
  • 可配置内容:社交图标用 iconify 矢量图标,后台最多配 3 个;快速导航最多 8 项,未配图标时回退显示文字。

2. gaicas 风格友链卡片

友链页是博客的 "门面" 之一。我参考 gaicas.com/go 的视觉语言写了 links-gaicas.css(+307 行):

  • 头像底部 1/3 探出卡片,营造悬浮感;
  • Hover 时 Logo 移到卡片正中、其余区域变主题色纯色块;
  • 静止呼吸光晕 + 悬停流光 + 头像居中呼吸光环,全部用 --primary 变量驱动,跟随主题换色。

3. 文章卡片:对齐 rainzt 风格

卡片是列表页的主角。我给文章卡加了分层阴影分类标签,并在 v1.0.79 恢复了入场动画——滚动时依次淡入上浮,既克制又有呼吸感。

4. 页面宽度与响应式网格

原版容器锁在 75rem,对宽屏太局促。我把它放宽到 112rem,并把网格改为 auto-fill 自适应,单 / 双 / 三栏都能在后台一键切换——桌面铺得开,手机收得拢。

5. 分类栏与标签美化

  • 全新 CategoryBar.astro:把分类做成常驻导航条,点选即筛选。
  • Tags.astro 除了常规标签云,还做了一个 3D 标签球 tag-sphere,鼠标拖拽可旋转,技术味和趣味兼得。

二、Banner:从原创到上游轮播

早期我自己写了一个单图 Banner + 滚动跑马灯(MomentMarquee)。到了 v1.0.82,权衡之后决定换回上游的轮播方案:在 MainGridLayout.astro 接入 bannerThWith(),支持单图 / 视频 / 轮播 / 移动端分支,同时保留了原来的打字机副标题——既有上游的稳健,又留着我自己的那点小心思。


三、功能与交互魔改

1. 追番页

全新 bangumis.astro(+466 行):对接 bilibili-bangumi 插件,带分页lrc 歌词解析,把 "我在追什么" 做成一个真正能逛的页面,而不是一串静态列表。

2. 安全加固

  • 外链统一走重定向中转,避免直接暴露与钓鱼风险;
  • safe-fetch 隔离不可信请求,并配了对应的测试用例。

博客暴露在公网,这类兜底能少踩很多坑。


四、一图流总结

维度改了什么版本
外观玻璃底栏 / gaicas 友链 / rainzt 文章卡 / 网格放宽 / 分类栏 / 3D 标签球v1.0.79+
Banner原创单图 → 上游轮播(保留打字机副标题)v1.0.82
功能追番页 / 滚动修复 / 安全加固v1.0.82–84

结语

魔改不是为了炫技,而是让工具更贴合自己的使用习惯。每一步改动背后都是 "这里用着不顺手,能不能更好一点" 的小执念。

下一步打算把这些改动整理成独立补丁,方便以后跟随上游升级时少冲突、好回滚。如果你也在用 Ethereal,欢迎交流你的魔改思路。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或者给予支持!

我的 Ethereal 主题魔改全记录:从原版到专属
/archives/ethereal-theme-customization
作者
LQBBY
发布于
2026-08-10
许可协议
CC BY-NC-SA 4.0

评论