0.11 —— 体检、一条命令出图标、meta 审计

连续五个版本都在做同一件事:网站交付之后会发生什么。改了什么,以及要往已经搭好的网站上应用什么。

从模板搭出来的网站是一个副本,模板往前走,它不会跟着走。在这个版本之前,这带来一个讨厌的后果:说明在变好,而昨天搭的网站还留着昨天的毛病,并且没人知道是哪些。

更新日志变成可执行的了

网站现在会在根目录记下三件事:技能版本、模板版本,以及快照来自哪个提交。体检命令读到这些,把更新日志里所有更新的条目取出来,按顺序逐条应用。从 0.4.0 起的每一条,都是按「指令」而不是按「描述」写的。

最后的报告是一张表,每一项后面写着三个词之一:已修复、本来就对、需要客户拍板。第三个是边界,不是借口 —— 一次性改掉所有标题的语气,或者换掉一个板块,是网站主人的决定,不能悄悄做。

第一次跑,清单里有一半会回「本来就对」。这是预期结果,不是敷衍。

图标

一条命令,从一个 SVG 出全部七个文件。不是同一张图出七种尺寸:标签页图标是透明底上的纯标记,因为在那里放一块有色方块会跟浏览器自己的界面打架;主屏图标坐在品牌色上,因为 iOS 会把透明合成到黑色上。

方块上那点墨是量出来的,不是挑出来的:脚本从样式表里读出品牌色,算出对比度,跟按钮上那行字的算法一样。中蓝上放白色是对的,橙色上放白色是读不清的,而这件事眼睛帮不上忙。

meta 审计

那个走遍每条路线、取标题去画社交卡片的脚本,一直也在取 canonical、描述、hreflang 集合和 JSON-LD —— 然后把它们扔掉。现在它会检查这些,一旦发现重复的标题、重复或缺失的描述、指向别处的 canonical,或者属于另一条路线的图片,就拒绝写入。

道理很短:一张卡片值多少,取决于它指向的那个页面。两条路线共用一段描述,就是两条路线在搜索结果里互相竞争。

你自己的网站要做什么

跑一次体检。如果网站建得比版本文件还早,这个模式会自己写一个,然后把整份更新日志走一遍 —— 大部分条目会回「本来就满足」,几分钟就完事。

02继续读

博客里的更多内容

两篇,不会更多。 更长的一条会把文章结尾变成第二个目录页,而读者已经选过一次了。