建站记录

建站记录 2:让首页真正活起来

记录 Lindeer 第二阶段改造:全屏信息布局、动态波形、克制的玻璃材质、网易云歌单、IP 天气定位,以及一次真实的发布故障修复。

第一篇建站记录写在网站刚有基本结构的时候。那时最重要的问题是:内容放在哪里、怎样发布、哪些信息应该公开。

到了第二阶段,问题变了。页面已经能用,但还不像一个真正属于自己的首页:开屏之后留白太多,信息集中在中间,两侧空间没有发挥作用;音乐、天气、公告和社交入口也彼此分散。于是这次更新的目标,不再是继续堆功能,而是让首页从“展示页”变成一个可以停留、可以探索的信息入口。

从好看走向好用

全屏开场保留下来,因为它仍然是网站最鲜明的第一印象。但开场以下不再只是窄栏文章列表,而是用更完整的横向空间组织内容。

开场负责情绪,正文负责信息。两者之间用动态波形连接,首页、文章、动态和关于页都沿用同一套过渡语言。这样做不是为了增加一个动画特效,而是让背景图、玻璃导航和正文区之间有明确的层次,不会在深色模式下突然掉进一整块黑色区域。

波形动画只改变形状和位置,不参与正文布局。系统检测到“减少动态效果”偏好时,动画会停下来,页面仍然保持完整结构。

玻璃材质需要克制

这次保留了 iOS 风格的半透明玻璃,但没有把所有内容都塞进模糊卡片。

导航、开屏信息板、音乐与天气组件适合使用玻璃材质,因为它们需要浮在背景之上;文章正文和主要信息区则继续使用清晰的色块、标题和分隔线。玻璃的作用是建立层级,不是遮住内容。

深色模式也不再简单地把背景改成纯黑。页面使用带冷色倾向的深色渐变,让波形下方、正文区和卡片之间保持连续,同时确保文字、按钮边界和焦点状态仍有足够对比度。

把常用入口放回首页

“写下一些正在发生的事”下面增加了 B站、小红书、X 和 Steam 的平台直达。访问者不需要先进入关于页,也不用复制昵称重新搜索。

这些入口使用真实链接,并保留清晰的可访问名称。桌面端和移动端共用同一份数据,因此以后更换账号地址时,不需要分别修改两套页面。

公告也被放进首页信息区。它不是弹窗,不会打断阅读,只负责告诉访问者这里最近发生了什么,并提供一个可继续了解的入口。

音乐播放器不只是一个播放按钮

后台现在可以在“本地音频”和“网易云音乐歌单”之间切换。歌单模式接受数字 ID 或分享链接,页面会解析歌单并加载封面、歌名、作者、时长以及上一首、下一首控制。

当前歌单通过 Meting 兼容接口读取。它不是网易云音乐官方开放接口,因此可用性会受到第三方服务和歌曲版权状态影响。接口不可用时,播放器会回退到本地音频;如果没有配置本地文件,则使用浏览器生成的环境音。

音乐不会自动播放。现代浏览器通常要求用户先进行一次点击,这既是平台限制,也避免访问者打开首页时突然出声。播放器只在用户主动操作后开始播放,并记住本次页面会话中的音量。

这次还修正了后台字段的表达:“音频地址”改为“本地音频 / 回退音频(可选)”,并明确提醒不要把歌单网页链接误当成音频文件。

天气定位采用近似地址

天气组件会根据访问者的公网 IP 获取近似城市和区县名称,并展示当前温度、天气状况与未来三天预报。采用 IP 定位的好处是无需弹出浏览器定位权限,也不会要求精确 GPS 坐标。

代价同样明确:IP 地址只能得到大致位置,代理、移动网络或运营商出口都可能让结果偏离实际所在地。因此页面展示的是“按 IP 定位”,而不是声称获得了用户的当前位置。

当前天气数据优先通过 UAPI 的天气接口读取;失败时使用默认坐标和 Open-Meteo 作为回退。定位或接口失败不会让整个首页报错,只会退回默认城市并提供重试入口。

后台终于可以管理这些组件

音乐来源、歌单链接、接口地址、封面和回退音频都可以在 /admin 中编辑。内容仍然不会因为点击保存就直接覆盖公网:后台先生成不可变 Revision,本机发布器再运行内容校验、30 项回归测试、Hugo 构建和 EdgeOne 部署。

这次发布过程中也暴露了一个真实问题。测试曾把音乐来源硬编码为“本地音频”,所以当后台合法切换到网易云歌单时,构建被错误拦截。修复方式不是把配置改回去,而是让测试验证字段是否合法:来源可以是 local 或 netease,标题必须非空,接口必须是 HTTP 或 HTTPS 地址。

EdgeOne CLI 还出现过另一种情况:公网文件已经更新,但命令进程没有及时退出。发布器因此不能只相信退出码,而要继续核对 /admin-publish.json。只有公网 Revision 与目标一致,后台才显示“已经上线”。

第二阶段留下了什么

这次更新没有让网站变得更“满”,而是让每一块空间有了职责:

  • 开屏负责建立氛围;
  • 平台直达负责快速连接;
  • 音乐和天气负责提供此刻的信息;
  • 文章与动态负责沉淀内容;
  • 后台和发布器负责让更新可以持续发生。

个人网站不会因为功能齐全就完成。更重要的是,它能否诚实地说明数据从哪里来、失败时会怎样、哪些效果只是参考、哪些内容真正属于自己。

建站记录 2 到这里结束。下一阶段不会急着增加更多组件,而会优先观察这些功能在真实访问中的速度、稳定性和使用频率,再决定什么值得保留。