← 返回文章
网站与设计 · 维护中

一个静态网站,怎样容纳会变化的信息?

把页面、采样和展示各自做好:轻量网站也能有清晰、可信的动态体验。

从一张页面开始

个人网站不一定需要把所有事情放进同一个运行环境。文章、项目介绍和工具说明大部分时间不会变化,可以在发布时生成 HTML。访客打开页面,直接获得正文,不必先等待一个应用框架启动。这是本站采用静态页面的理由:让阅读先发生,让计算在需要时出现。

静态不意味着只有展示。工具可以在浏览器计算,运行数据可以由独立的采样任务产生,页面只负责读取允许展示的结果。关键在于分清三个时刻:写作时、采样时和访问时。

页面和数据有不同的节奏

文章在编辑后发布;数据按固定间隔更新;浏览器按自己的节奏重新读取。三个频率没有必要强行一致。把它们拆开,网站就不必为了显示一个新数值而重建全部页面,也不用为了发布一篇笔记而重启数据采集。

文章 → 构建 → 静态 HTML → 阅读
采样 → 校验 → 最近有效结果 → 只读展示
工具输入 → 浏览器计算 → 本地结果

这个结构把复杂度放在产生数据的地方。页面不拥有管理权限,也不需要知道数据源的凭据。网站只展示结果,失败时告诉读者哪些信息已经不新鲜。

别把“打开了”当成“正确了”

返回成功状态,只说明页面可以读取。它不能证明数据是最新的,更不能证明一个后台任务真的完成了。因此展示中至少需要成功采样时间、单位、数据来源和失败状态。网页当前时间与采样时间也要分开;每次打开页面更新一个“刚刚”,只会制造新鲜的错觉。

在本站的 采样时间笔记 中,这个区别有更具体的例子。把来源和有效期说清楚,通常比再加一张漂亮卡片更有用。

让阅读内容拥有自己的生命周期

一篇文章从草稿开始,发布后可以继续修订。标题、摘要、标签、发布日期和更新日期由源内容维护;目录和搜索索引在构建时生成。没有必要引入一个始终运行的后台编辑系统。

{
  "title": "一篇技术笔记",
  "draft": false,
  "tags": ["静态网站"],
  "last_updated": "2026-10-08"
}

这里的 JSON 是内容模型示例,不是私人运行数据。草稿应从页面、搜索、订阅与站点地图同时排除。只隐藏列表入口却留下文章地址,不能算草稿隔离。

简单结构也需要边界

公开文章和私人控制台应该分开。搜索索引只包含公开内容;公共离线缓存也只认识明确允许的静态资源。功能越多,越要避免把“一切缓存起来”作为默认策略。

这种结构不是适用于所有网站的唯一选择。需要实时协作、复杂权限或大量交互的产品有不同需求。对于这片数字空间,先让阅读舒服、工具可靠、数据有出处,是一个可持续的起点。相关的 本地工具笔记 记录了输入留在浏览器的具体取舍。

接着读

链接到这里的笔记

← 一个数值,还需要一个时间。

在这里,找到一个想法。

正在读取公开搜索索引。

↑ ↓ 移动 · Enter 打开 · Esc 关闭。只搜索公开内容。