本周在做的几件小事:日志列表瘦身、内容清单梳理、月份分组
这周工作量不大,基本都是给 personal-homepage 的日志模块减负、统一口径的零碎改动。
把日志卡片改成单列列表
原来日志列表用的是类似card-grid的多列卡片布局,每条日志有一层article.card包裹,还带着一些 meta 信息。现在的日志量还不大,几篇文章在网格里散落着,看着像大房子里只摆了三把椅子,有点空落落的。
所以干脆把卡片那一套全扒了:
- 移除了
LogCard.astro里的<article class="card">和log-meta结构,让每一条日志回归更朴素的展示。 - 外层容器从
card-grid换成了logs-list。 - 在
global.css里给.logs-list加了display: grid; grid-template-columns: minmax(0, 1fr);,强制单列。
说白了,不是什么布局维护性问题,纯属阅读体验上的“小巧思”——日志少的时候,单列一路往下滚,目感充实,读起来也像在看时间线,不被打断。信息密度和视觉呼吸感之间,我选了往“像在翻日记本”那边靠一靠。
统一内容清单,顺便给 AI 协作者留了份说明
这周还做了一次“扫除”性质的工作,主要集中在两个数据文件和一份新指南:
- 新增了
AGENTS.md,把仓库的基本信息交代清楚:这是一个基于 Astro 的个人主页,构建时会做数据同步;页面代码在src/下各自目录,运行就用npm run dev,Node 版本要求 >=22.12.0。主要为了 AI 协作者(比如 Cursor、Copilot 或者其他 agent)进来时能更快摸清项目脉搏,省得一遍遍解释。 src/content/projects/index.json里的tags字段,原来挤在一行,改成了多行数组格式,仅仅是为了可读性,项目数据本身没有变化。src/content/static-assets/index.json做了一次大手术,砍掉了大量旧条目(+37/-171)。这里面清理的基本都是指向早期外部服务(比如http://106.12.111.150:8000)的链接,要么已经失效,要么不再需要。这一步也是在逼自己保持数据的自包含,不再依赖外部临时地址。
日志列表的月份分组,顺带把仓库路径理正了
这次改动里比较大的一块,是给日志页面增加了按月份快速回看的结构,同时顺便做了几处路径修正。
先做洗白工作——之前很多日志文件里的repo字段写的还是sepcomet/personal-homepage,那是项目最初的示例占位名,实际路径应该是basil/personal-homepage。所以把homepage-design-system.md、homepage-landing-build.md、homepage-requirements.md这几个日志文件里的repo字段全都改了过来。另外,projects/index.json里有个项目仓库名拼写错误(geometry-tower-defense-Bbase)也一并修成了geometry-tower-defense-base。
接着是功能端。在src/pages/logs/index.astro里加了一大段逻辑(+118 行),核心是用一个指定时区的Intl.DateTimeFormat来输出类似“2026年5月”的月份标题,然后把日志按月份分组渲染。这样时间线不再是一堆平铺的条目,而是有了自然的段落感。
commit 信息里提到这次是支持“按项目与月份快速回看”,但从我实际看到的 diff 片段来看,这次主要落地的是按月份分组。项目分组的意图可能寄托在已统一的repo字段以及后续的嵌套逻辑上,具体实现要么还在后续迭代里,要么藏在这次大量新增的 astro 循环代码细节中,我没逐行细看。总之,月份分组的骨架已经搭起来了,后面如果需要按项目再筛,数据结构上至少不拖后腿。
后续提上心的事
- 单列日志在移动端表现还行,但后续日志如果变长(比如大段正文),需要留意阅读连贯性和滚动性能的平衡。
AGENTS.md已经能和基础构建命令对齐,如果将来有 CI 或其他自动化引用,得记得同步更新里面的关键信息。- 静态资源清单瘦身之后,检查一下有没有遗留的引用或构建时告警,确保没有暗中依赖已删除的外部链接。
- 观察月份分组在日志逐渐增多后的实际观感,后面要是日志真多起来,可能还是得补上按项目筛选或简单搜索,不然滚动找起来也累。
注:本文由模型
unknown生成(草稿与终稿同模型)。