跳到主要内容

如何运作

您的输入进入,部署好的网站产出,而所有运营部分都在旁边。

把 Foundation 理解为一条方向单一、边界清晰的流程最容易:您拥有的东西进入,产出的是一个由您自己托管的静态网站,并连接到支撑业务的系统。

  • 站点自身的输入、Foundation 的机制、您部署好的网站
  • 外部系统位于 Foundation 旁边,而不是内部
  • 以下所有内容都可以在仓库中验证

您提供的输入

流程左侧的一切都属于您,并且始终如此。其中没有平台代码。

  • 配置

    标识、语言、导航、功能开关和界面决策 —— 经过校验的设置,而不是分散的常量。

  • 内容

    您的页面与集合是仓库中的文件,每个都有自己的标题与正文。

  • 翻译

    每种语言的界面字典,以及该语言的内容目录。

  • 品牌与资源

    标志、favicon、社交预览以及任何可选图形,各自处于已命名的角色中。

这些都可以修改,而不触碰基础的架构。

Foundation 对它们做了什么

Foundation 读取输入并产出网站。这是您不必自己构建的部分,它在构建和部署时运行,而不是让访客等待。

  1. 1

    校验

    配置与字典会按 schema 检查,因此写错的设置会让构建失败,而不会到达访客。

  2. 2

    内容与路由

    页面通过内容接口加载,获得稳定的地址,并在缺少翻译时按页面回退到默认语言。

  3. 3

    呈现

    内容与标识由共享的令牌系统组合,支持浅色或深色,并适配各种屏幕宽度。

  4. 4

    可见性与元数据

    标题、规范地址、语言标注、结构化数据,以及站点地图与 robots 输出都由您的配置生成。

  5. 5

    集成点

    在您启用能力的位置,Foundation 绘制连接并把访客意图交给您的服务商。

  6. 6

    输出

    一个静态网站,构建并部署到您自己的账号与域名。

这里没有租用的服务:同一个仓库可以在任何您能运行它的地方构建。

在 Foundation 旁边运行的东西,而不是内部

Foundation 表达意图 —— 预约、获取路线、发送消息 —— 而意图背后的目标由您决定。它本身不会变成那些系统。

  • 预订与排期
  • 咨询与消息接收
  • 地图与路线
  • 分析
  • CRM 与客户数据
  • 支付与财务
  • 客户账号与登录
  • 您的业务已在使用的其他系统

外部服务通过集成点连接;服务保留自己的数据、规则和账号。

从获取 Foundation 到您自己维护的网站

十个实际步骤。细节在仓库手册中,本页展示工作的形态。

  1. 1

    获取

    把公开仓库克隆或复刻到自己的账号。

  2. 2

    运行

    安装并启动,在修改任何内容之前看到可以运行的网站。

  3. 3

    配置

    在配置中定义标识、语言、导航和功能开关。

  4. 4

    应用品牌

    用您自己的标志、favicon 和预览替换已命名的视觉角色。

  5. 5

    撰写内容

    把页面和集合写成仓库中的文件。

  6. 6

    选择能力

    只启用需要的部分;未使用的能力不会添加路由或占位内容。

  7. 7

    连接服务商

    把每个已启用的集成点指向您已在使用的服务。

  8. 8

    验证

    运行质量关卡和浏览器验证,让问题在访客之前被发现。

  9. 9

    部署

    构建并部署到您自己的账号与域名。

  10. 10

    维护

    把内容和配置保留在您手中,并在您决定时吸收后续改进。

手册

本站不会成为 GitHub 手册的第二份副本。

谁拥有什么

Foundation 是您持有的基础设施,而不是租用的服务。分工刻意保持简单。

您拥有

  • 配置、标识与导航
  • 内容与集合
  • 语言字典与翻译
  • 品牌与全部图形
  • 服务商选择及其账号
  • 您的托管账号、域名与部署
  • 您或您的供应商日后添加的一切

Foundation 拥有

  • 可复用的架构与强制执行的边界
  • 呈现机制与设计令牌
  • 路由与内容管线
  • 配置校验
  • 集成点
  • 验证基础设施

您也可以离开,而您拥有的一切都会随之带走:仓库就是您的来源。

修改某项内容会发生什么

两条刻意的规则让这件事可预测:内容决定是否存在,配置决定如何呈现,二者都不能悄悄创造对方。

  • 站点名称、标语或描述

    页头、页脚、页面标题、社交元数据与结构化数据。

  • 页面自身的文件

    该页面的内容,以及生成的站点地图。

  • 字典文件

    该语言的界面文案。

  • 强调色令牌

    全站的品牌元素与强调元素。

  • 标志、favicon 或预览资源

    仅对应的视觉角色。

  • 导航配置

    菜单的顺序与标签,但从不改变页面是否存在。

  • 功能开关

    该能力的路由与界面是否出现。

  • 营业地点

    该地点的营业状态、地址、路线与结构化数据。

缺少的可选内容不会绘制任何东西:没有占位页面、没有借用的图形,也没有空壳。

为什么错误的修改会提前失败

配置是在网站构建时检查,而不是在访客到来时,因此错误会立即显现。

  • 未知或拼写错误的设置会被拒绝,而不是被忽略
  • 结构无效的值会让构建失败,并指明该设置
  • 已配置但不完整的能力会失败,而不是静默地什么都不绘制
  • 声明了语言却没有字典会失败,而不是悄悄显示另一种语言

因此循环是:修改文件、构建、看到真相,而不是在生产环境中发现它。

在不丢失工作的情况下吸收改进

您的配置、内容、字典和资源都位于各自的区域,这正是无需重写网站就能吸收后续改进的原因。

  • 升级时网站自有的区域仍属于您
  • 由您决定何时吸收改进,而不是被推动
  • 仓库记录了什么发生了变化以及原因,因此决策有依据

阅读升级手册

这是已记录的模型。它不是自动更新服务,项目也不主张提供它。

从可以运行的基础开始

阅读功能,看看两个已经在其上运行的企业,然后从已经可以运行的部分开始。