使用 GitHub Pages 发布双语文档
.github/workflows/docs.yml 分别构建中文、英文 Just the Docs 站点,合并发布。 两种语言的侧栏和搜索彼此独立,顶部可切换到对应页面。
首次启用或从旧方式迁移
- 将文档和工作流提交并推送到
main。 - 打开仓库 Pages 设置。
- 在 Build and deployment → Source 选择 GitHub Actions。
- 打开 Actions,选择 Documentation。
- 如推送时还未启用 Pages,点击 Run workflow,选择
main,重新运行。 - 等待
build和deploy都成功,再通过 Pages 设置的 Visit site 打开网站。
旧的 Deploy from a branch / main + /docs 方式需要切换,无法完成本项目的双语构建。 官方步骤见 GitHub 自定义 Pages 工作流说明。
网站地址
旧的 /FinFlow/quick-start.html 等页面会跳转到对应中文页,浏览器脚本保留查询参数和锚点。 根目录仅提供兼容跳转;站内搜索使用各语言自身的索引。
日常更新
中文源文件在 docs/*.md,英文在 docs/en/*.md,图片共用 docs/assets/images/。 Chal1ce/FinFlow 的 main 上的文档、构建脚本或工作流改动自动部署。 PR、闭源同步仓库 fin-doc-governance 和其他仓库只构建,不上传 Pages 产物、不部署; 这些运行中的 deploy 显示 Skipped 是预期行为。手动发布也必须选择公开仓库的 main。 新增翻译和更新原文时见文档维护指南。
Just the Docs 固定为 v0.12.0。共同设置在 docs/_config.yml;语言配置与编辑链接 由 scripts/prepare_docs.py 生成。构建依赖在 docs/Gemfile,需要 Ruby 3.3 和 Python 3。
本地构建
以下构建命令不调用 OCR 或模型:
BUNDLE_GEMFILE=docs/Gemfile bundle install
python3 scripts/prepare_docs.py
BUNDLE_GEMFILE=docs/Gemfile bundle exec jekyll build --source _build/docs-source/zh --destination _site/zh --config _build/docs-source/zh/_config.yml,_build/docs-source/zh/_config.language.yml
BUNDLE_GEMFILE=docs/Gemfile bundle exec jekyll build --source _build/docs-source/en --destination _site/en --config _build/docs-source/en/_config.yml,_build/docs-source/en/_config.language.yml
python3 scripts/prepare_docs.py --finalize
输出为 _site/,生成文件不会提交。主题首次获取、依赖安装和 Mermaid 渲染需要联网。
仓库改名或自定义域名
默认地址固定为 https://chal1ce.github.io/FinFlow/。改名时同步修改脚本默认 --baseurl、 docs/_config.yml 的 url 和仓库链接,以及 README、文档的 GitHub / Pages 链接。 迁移到其他仓库或使用 fork 发布时,还需修改工作流上传步骤和 deploy 的两处 github.repository == 'Chal1ce/FinFlow' 条件,使其匹配自己的发布仓库。 自定义域名需修改 url,在工作流两处脚本命令传 --baseurl '',并配置 Pages 域名。
发布失败排查
- 确认 Pages Source 为 GitHub Actions,工作流已推送到
main。 - 在 Documentation 中区分构建失败与部署失败,查看失败步骤日志。
- 构建失败常见于 front matter、主题下载、依赖安装;新翻译还需登记原文版本。
- 部署失败时检查 Pages 是否启用、Actions 权限及
github-pages环境限制。 - 出现
No artifacts named "github-pages"时,查看同次运行的上传日志和 Artifacts 列表。 上传成功但产物不可见时,不要仅重跑deploy;在公开仓库选择 Re-run all jobs, 重新构建并上传产物。若仍失败,再检查 GitHub Actions/Pages 服务状态和产物是否被删除。 - 404 时先确认
deploy已成功;路径FinFlow大小写需要一致。
在 Actions 中查看 Documentation 的 build 与 deploy 结果。