← 回到全部文章
· 约 6 分钟

第三次重做:这次我删掉了猫

一封和审美无关的备案通知,让我第三次推倒这个站。关于做减法、关于删掉那些需要解释的装饰,以及一个中文 Markdown 的坑。

设计重构Astro复盘 写的时候的心情:终于干净了

这个站我做过三次。

第一版是红蓝配色,假装自己是全栈工程师。第二版是暖纸色加到处都是的猫,我管它叫「温度」。现在是第三版。

但这一版的开头,跟审美没有半点关系。

一封跟审美无关的信

十月中旬,我收到一封备案核查通知:网站底部没有显示备案号,或者没有跳转到工信部备案系统。给了三天整改期,逾期取消接入。

我当时的第一反应是「哦,加一行字就行」。然后我打开自己的网站,从头看到尾,看了很久。

那行字确实几分钟就加完了。真正的问题是:我已经有半年没认真看过这个站了。

打开 v2,我看到的是一堆装饰

v2 是我最用心做的一版。暖纸底、手写信的质感、赤陶橙的强调色,连光标都被我改成了一只小猫爪。

但这次我换个眼光看,看到的是另一回事:

  • 光标是猫爪,读者第一次来会以为是卡了
  • 每个标题旁边都有个手绘小符号,密得像贴纸
  • emoji 当图标用,一屏能数出十几个
  • 有一句话写着「这里到处藏着猫,数量不详」,配着四个隐藏彩蛋

这些我当时觉得很「有趣」。现在我只想问:它们除了证明作者很闲,还做了什么?

装饰一旦需要被解释,它就已经变成噪音了。

这次先做减法

前两次重做,我都是先问「我要加什么」。这次我反过来,先列一张要删的清单:

  • 删掉自定义光标。鼠标是指针,不需要个性。
  • 删掉所有手绘装饰。
  • 删掉 emoji 图标,换成细线和编号。
  • 删掉「这里有猫」这类自我解释的文案。
  • 删掉一个我自己做的三消游戏——它没错,只是它对这个站没有任何贡献。

最后一条有点肉疼。但删完之后我发现,剩下的东西第一次开始互相说话。

三个具体的决定

只留一个强调色。 暖纸 #f7f4ed、墨黑 #17140f、朱橙 #bd3a12,三个色,多一个都不要。以前我总怕页面单调,现在我知道单调的反面不是丰富,是混乱。

用编号代替装饰。 首页三大块是 01 / 02 / 03,项目列表是 01 到 07。数字本身就有秩序感,不需要再画东西。

把字放大,把行距拉开。 大标题用衬线,正文用无衬线,元信息用等宽。三类信息用三种字体区分,比加颜色加边框有效得多。

这三点加起来,页面上少了大概三分之一的元素,但读起来反而更满了。

猫怎么办

turgidcat 这个域名里有 cat,猫跟这个站绑了两年。

我最后留下的是:猫头 logo、favicon、还有 404 页那只走丢的猫。

删掉的是所有解释猫的文字。

区别在哪儿?logo 是一只猫,你看一眼就知道了,它不需要我写一句话告诉你「这是一只猫」。而「这里到处藏着猫,数量不详」这句话,是在替装饰写说明书。

该留下的东西不用解释,需要解释的东西不该留。

技术上换成了什么

还是 Astro,但这次把 Tailwind 4 和一套设计令牌真正用起来了:

--color-paper:  #f7f4ed
--color-ink:    #17140f
--color-accent: #bd3a12

所有颜色、字号、间距都从这几个变量走。改一个变量,全站跟着变。这是第一次我改配色不用满文件搜十六进制色值。

另外一个我坚持的原则是渐进增强:所有滚动渐现的动画都挂在 html.js 下面,脚本没跑起来,页面就是完整可见的静态页,不会白屏。我以前不觉得这是回事,直到有一次在手机上网络很差,看到自己写的东西全灰着不出现。

一个中文 Markdown 的坑

这个坑值得单独记一笔。

我写了一句:

**「这不是我」**的感觉

渲染出来,星号原样显示了。

排查了半天,原因是 CommonMark 的 flanking 规则:一个 ** 想作为闭合标记,它前面不能是标点、后面不能紧跟文字。我这句话的闭合 **,前面是「」这个右引号(标点),后面紧跟着「的」(文字),两个条件同时踩,于是它不算合法闭合,整对星号就被当成普通字符。

解决办法不是改规则,是换成 <strong>。我把全站 40 多处粗体扫了一遍,只有这一处触发——因为它恰好是全站唯一一个「引号收尾 + 紧跟汉字」的粗体。

AI 生成的排版代码通常不会踩这种坑,只有你自己写中文才会。 这也是为什么我一直觉得,用 AI 写代码不等于不用懂。

子项目也要说同一种话

主站改完之后,点进任何一个子项目都会有种「从这家店走进隔壁店」的割裂感。有的用 Tailwind 默认蓝,有的紫色渐变,顶栏还挂着三年前那套导航,链接早就 404 了。

处理方式很简单,只改外观,不碰业务:

  • 能改变量的就只改 :root 里的色值,一行结构不动
  • 不能改的部分,在页面末尾追加一段覆盖样式
  • 每个子项目都注入同一个「返回主站」胶囊,和一行备案页脚
  • 顺手清掉了那些指向旧站的死链接

整个过程中,有一个项目我一行都没有动——因为它复杂,而且它还在被人用。知道什么东西不该碰,和知道该改什么,是同一种能力。

备案这件事的收获

说到底,那封通知教会我的不是「记得加备案号」,而是:

你的东西得先合法地存在,然后才有资格谈好不好看。

我花了两天在配色上纠结,但如果没有那行字,这个站在法律意义上根本不存在。顺序不能反。

现在每个页面的页脚都有备案号,包括那些子项目——它们也是这个站的一部分,藏起来不算数。

剩下的事

v3 不是终点。我大概还会改第四次、第五次。

但这次和前面两次不一样:前两次我知道自己在加什么,这次我知道自己在删什么。

删比加难,因为加是表达欲,删是判断力。判断力只能靠一次次删错练出来。


如果这一版有哪里让你觉得别扭,欢迎写信告诉我,我的邮箱在关于页。
我会改,但可能改得慢——因为我现在改东西之前,会先问一句:这个真的需要存在吗。