Article / 技术分享

我花了一个月,把博客从文章仓库改成了个人系统入口

2,315 字 12 MIN READ
目录

最近一个月,我反复打开自己的博客,总觉得有些地方不太对。

文章已经不少了,页面也能正常访问,但它更像一个不断堆内容的文章仓库:首页不知道该先看什么,Hermes、工具和运动记录散落在不同入口,代码推送之后,我还会下意识地再确认一句:

线上真的更新了吗?

所以这一次,我没有只改一个首页,也没有停留在换配色、调字号,而是从域名、首页、视觉、阅读体验、访问统计,一直重新检查到服务器上的发布链路。

回头看,真正有价值的不是网站变得更好看了,而是每一层的职责终于清楚了一些。

一、先把入口统一

博客原来使用 blog.kuangyichen.com,主域名 kuangyichen.com 还映射着另一个服务。两个入口长期并存,不仅让访问路径显得分散,SEO、统计和后续维护也要处理两套逻辑。

这次我把 Astro 博客正式切到了主域名:

  • kuangyichen.com 直接提供博客内容;
  • 旧域名继续保留 301 跳转;
  • 历史 /article/* 链接继续兼容;
  • canonical、OpenGraph、RSS 和 sitemap 全部统一;
  • 不存在的页面返回真正的 404,不再悄悄回到首页。

域名切换看起来只是改一个地址,背后真正要处理的是旧链接、搜索权重和回滚边界。入口可以统一,但历史不能被粗暴切断。

二、首页不再只是文章列表

主域名统一之后,首页也重新做了一次定位。

过去的首页主要回答“最近写了什么”,现在我更希望它回答三个问题:

  1. 我是谁;
  2. 我最近在做什么;
  3. 这里有哪些内容和系统值得继续往下看。

因此,首页从单纯的文章列表,调整成了整个个人系统的入口。文章、Hermes、工具和运动记录不再各自散落,顶部导航也收敛为几个真正长期存在的方向。

Hermes 也有了独立页面,用来集中记录 Agent 接入、技能治理和工作流实践。它不再只是藏在几篇文章里的关键词,而是网站里一个明确的长期项目。

三、视觉要统一,但不能只有视觉

这一轮也重新设计了易浅小站的 Logo。

经过多轮调整,最终确定了现在这版由窗格、流水和双节点组成的标志,并统一使用 EACHEN STUDIO 作为英文名称。首页、文章、归档、标签、关于等页面,也逐步收进同一套视觉语言里。

之前页面里一些偏演示感的 ONLINESHENZHEN 等状态文案被移除,浏览器标签页也换成了正式 Logo。

这些变化确实让网站更完整,但我不想把它们说成这次改造的核心。视觉解决的是第一眼,真正决定一个网站能不能长期使用的,还是内容结构和运行方式。

四、阅读体验需要处理那些“小卡点”

文章页也修了一批之前容易被忽略的问题:

  • 目录默认收起,不再一打开就占据左侧空间;
  • 没有目录的文章不再出现无法收起的按钮;
  • 展开和收起按钮统一位置与高度;
  • 悬停时明确提示“展开目录”或“收起目录”;
  • 文章头部补充字数和预计阅读时间。

这些都不是大功能,但它们会直接影响一个人愿不愿意继续读下去。

博客文章数量也不再写死,而是直接从内容集合计算。以后文章增加,首页和文章列表中的数字会自动更新,不需要再手工维护一个看起来准确、实际上已经过期的数据。

五、统计数据要能说清楚从哪里来

网站底部原来使用不蒜子统计。它能显示数字,但我无法清楚解释这些数字的口径,也很难确认它是否覆盖了域名迁移前后的历史数据。

这次改成了 Ackee,并把 kuangyichen.com 与旧的 blog.kuangyichen.com 两个域名的数据合并展示。

目前能确认的最早有效记录来自 2023 年 8 月。服务器每 10 分钟刷新一次公开统计快照,页面只读取累计访客、累计浏览和本月数据,不会把 Ackee 的访问密钥暴露给浏览器。

数据不一定要多,但来源和边界必须讲得清楚。

六、发布成功必须可以证明

过去最让人不踏实的,不是构建失败,而是“代码已经推送,但不知道线上到底有没有更新”。

现在的发布流程做了几处收紧:

  • 每次部署都从干净目录重新拉取代码;
  • node_modules 按 lock-hash 缓存,避免每次完整安装依赖;
  • 构建成功后再切换线上目录;
  • 服务器保留内部 release.json,记录实际部署的完整 commit SHA;
  • 公网无法访问这份发布元数据;
  • 发布失败可以回滚到上一份可用版本。

因此,GitHub 上的 main、服务器的 release SHA、部署日志和线上 HTML 可以逐层核对。

我现在更愿意相信这种可以验证的结果,而不是一句“应该已经发布了”。

七、内容同步也不再依赖长期工作目录

Obsidian 依然是我的内容源头,但同步过程也做了调整。

每次同步都会创建独立的一次性目录,完成后不复用旧状态;依赖使用 lock-hash 缓存,没有内容变化时会直接跳过。候选文章进入独立分支,再通过 PR 合入主线。

流程稍微多了一步,却换来了更清楚的边界:原稿在哪里、待发布内容在哪里、GitHub 上是什么状态、服务器是否已经同步,都可以分别确认。

写在最后

这一轮结束之后,网站当然比以前更好看,但我最满意的并不是 Logo,也不是首页的某个模块。

真正的变化是:

  • 内容继续由 Obsidian 管理;
  • Astro 负责组织和展示;
  • Ackee 负责提供可信的访问数据;
  • Git、完整 SHA 和发布日志负责证明线上状态;
  • Hermes、工具和运动记录开始拥有稳定的入口。

博客不再只是一个作品陈列柜,而是我的个人系统对外可见的一层。

它还会继续变化,但至少下一次再改的时候,我知道应该改哪一层,也知道如何证明它真的改好了。

易浅小站

EACHEN STUDIO / ARTICLE END

关于作者 →
RELATED / 3