为文档做贡献

Luna Flow 的文档与它所描述的代码放在一起。每个仓库都把用英文编写的手册保存在 doc/ 中,并在旁边以 gettext 翻译目录的形式保存译文。本站在每次构建时收集所有仓库,因此合并到 main 的更改无需修改站点本身即可出现在这里。

同样的规则适用于每个仓库:

  • 文档规范:文件放在哪里,以及每个页面包含什么。
  • 写作与标记:标题、代码、数学、旁注与提示框。
  • 附件:Typst 文档、PDF 与图片。
  • 翻译:gettext 工作流程如何让每种语言与英文保持同步。

工具

所有命令都来自位于站点仓库中的 lunadoc。将站点仓库克隆到你正在工作的仓库旁边:

git clone https://github.com/Luna-Flow/Luna-Flow.github.io.git
npm ci --prefix Luna-Flow.github.io

然后,在你的仓库中运行:

node ../Luna-Flow.github.io/tools/lunadoc/cli.mjs update      # refresh catalogs after editing English
node ../Luna-Flow.github.io/tools/lunadoc/cli.mjs status      # translation coverage
node ../Luna-Flow.github.io/tools/lunadoc/cli.mjs check --compile

check 是持续集成运行的命令。修改了 doc/manual 的拉取请求必须同时包含由 update 生成的已更新翻译目录。

预览站点

将你的仓库放在站点旁边,然后运行站点:

cd Luna-Flow.github.io
npm run dev

没有仓库清单时,构建会包含所有带有 doc/conf.json 的同级目录,因此本地预览会显示你尚未发布的更改。