文档

  1. 安装

    快速开始

    Getting started

    把一个新的 Next.js 站点从零带到可撰稿状态:环境要求、安装、配置文件、需要挂载的三条路由、主题,以及本地运行。

  2. 概念

    页面家族与内容类型

    Page families and content types

    内容类型是一份结构契约,只在代码中定义一次;页面家族则是站点中一种反复出现的编辑用途,它复用某个内容类型,并补上路由、各语言标签与编辑策略。二者共同划定了 AIBlog 所管理的范围。

  3. 主题化

    DOM 契约与主题化

    The DOM contract and theming

    渲染器只输出结构、class 钩子和 data 属性,别无其他。本页说明两类属性的分工、文档外壳的结构、主题应优先使用 token 的写法,以及用于保证样式与内容分离的主题切换测试。

  4. 发布

    编辑、草稿与发布

    Editing, drafts and publishing

    每个页面带有草稿指针和已发布指针。任何修改都会生成新的版本记录,公开路由只读取已发布版本,未发布的草稿会被明确提示,而不会被遗忘。

  5. 搜索

    在 Firestore 上实现搜索

    Search on Firestore

    Firestore 通过复合索引可以满足全部结构化查询,但完全不支持全文检索。AIBlog 在发布时派生一份精简的搜索投影,在每个服务进程中以 CJK 双字组分词建立索引,并借助按块生成的向量与原生向量检索来弥补跨语言检索的缺口。

  6. 撰写器

    撰写器与创作循环

    The composer and the authoring loop

    编辑粘贴文本、放入照片、点击生成,模型以一个完整的类型化页面对象作答。本文说明每一轮发送什么、服务器校验什么,以及编辑读回什么。

  7. 主题化

    四套设计,同一份文档

    Four designs, one document

    主题菜单只更换样式表,文档、DOM 与数据保持不变。本文说明三层 CSS、由 Cookie 驱动的切换、先令牌后选择器的次序以及主题切换测试如何协同,以及为客户写一套主题包的成本。

  8. 检索

    嵌入向量与检索

    Embeddings and retrieval

    凡是依赖语义而非字符的功能,都由嵌入向量支撑:相关页面、跨语言搜索、撰写器参考页与访客提问框。每个区块一个向量,发布时计算,存放在 Firestore 中。

  9. 成本护栏

    提问框及其成本护栏

    The question box and its cost guardrails

    “Ask the site”提问框是访客无需登录即可触发的唯一一次模型调用。本文说明一次回答的成本、按代价从低到高排列的各道闸门、四个限额配置在何处,以及计数器失效时仍然生效的模型厂商控制台上限。

  10. 部署

    部署站点

    Deploying a site

    两种部署目标——从源码部署到 Cloud Run,或作为独立产物部署到虚拟机并置于 nginx 之后——以及每次部署所依赖的依赖审计闸门、最小权限服务账号、安全响应头、密钥与索引。

  11. 参考

    配置参考

    Configuration reference

    一个文件描述一个站点:站点标识、页面族及其编辑策略、语气、预览路由、提问限额、后台语言与各项服务——按本站自身配置中出现的顺序逐节说明。

  12. 交付

    把站点交付给客户

    Handing a site to a client

    客户项目的最后一步是一份手册和一条边界:客户员工独立完成什么、什么需要开发者介入、开发者为每个客户提供什么,以及所有者需要长期承担的那一项职责。

  13. 参考

    区块词汇表

    The block vocabulary

    本包内置的全部区块类型:文本、列表、强调与数据、照片,以及需由页面族显式启用的七种可选类型;并说明编辑器可以就地修改什么,以及注册新类型需要哪些东西。

  14. 常见问题

    客户常问的问题

    Questions clients ask

    交付之前,每次沟通都会出现的那些问题,以及我们给出的简短回答:没有页面搭建器、无法破坏设计、每次保存都可恢复,以及一个页面的运行成本。