这次做个人站,我没有让 Flask 承担整站渲染,而是把它限制在一个非常清晰的位置上:返回站点信息、做健康检查、为后续扩展预留入口。

为什么不是全栈一把梭

如果首页、博客列表和文章页本身就是稳定内容,那么它们天然适合静态化。这样做有几个好处:

  • 首屏快。
  • SEO 成本低。
  • 部署更稳定。
  • 后续迁移也轻松。

Flask 在这里负责什么

我希望 Flask 做的是“薄后端”,而不是“重后台”。在 v1 里,它只保留两个公开接口:

@app.get("/api/site")
def site():
    return {"siteName": "ZHUI / SIGNAL", "email": "hello@your-domain.com"}

@app.get("/api/health")
def health():
    return {"status": "ok"}

这已经足够支撑部署、监控和少量动态配置。

静态优先的核心价值

内容型站点最怕的是维护成本失控。静态优先其实是在帮未来的自己减负:文章仍然能继续写,页面仍然能持续迭代,但整个系统不会因为加了一个后台就变得脆弱。