ci(文档): 添加多语言文档构建配置
Some checks failed
Build and Deploy mdBook / build-and-deploy (push) Failing after 9s

添加英文和中文的文档配置文件,并修改CI流程以支持多语言独立构建
将构建输出分别放入book/en和book/zh目录
保留语言自动跳转功能
This commit is contained in:
李东云
2025-06-10 04:24:21 +08:00
parent 0e56e68853
commit 951e28f27c
4 changed files with 30 additions and 25 deletions

View File

@@ -1,41 +1,48 @@
name: Build and Deploy mdBook to Pages Branch name: Build and Deploy mdBook
on: on:
push: push:
branches: branches:
# 只有 main 分支的变更才会触发部署
- main - main
jobs: jobs:
build-and-deploy: build-and-deploy:
runs-on: ubuntu-latest # 现在我们可以用通用的 Runner不再需要挂载数据卷 runs-on: ubuntu-latest # 我们使用 GitOps 模式,不再需要特殊 Runner
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
# 获取所有历史记录,以便 peaceiris/actions-gh-pages 操作
fetch-depth: 0 fetch-depth: 0
- name: Install mdBook - name: Install mdBook
uses: peaceiris/actions-mdbook@v1 uses: peaceiris/actions-mdbook@v1
- name: Build mdBook # --- ↓↓↓ 核心变更:分两次独立构建 ↓↓↓ ---
run: mdbook build - name: Build English & Chinese Books Separately
run: |
echo "Building English book..."
# 使用 en 的配置,构建英文版,并指定输出到 book/en 目录
mdbook build -d book/en --config book.en.toml .
echo "Building Chinese book..."
# 使用 zh 的配置,构建中文版,并指定输出到 book/zh 目录
mdbook build -d book/zh --config book.zh.toml .
- name: Create Language Redirect Index
run: |
# 这个步骤依然需要,用于创建根目录的语言跳转页
echo '<!DOCTYPE html><html><head><meta charset="utf-8"><title>Redirecting...</title><script>var lang = navigator.language || navigator.userLanguage; if (lang.toLowerCase().startsWith("zh")) { window.location.replace("./zh/"); } else { window.location.replace("./en/"); }</script><meta http-equiv="refresh" content="0; url=./en/"></head><body><p>Redirecting to your preferred language... If you are not redirected, please select a language:</p><p><a href="./en/">English</a> | <a href="./zh/">简体中文</a></p></body></html>' > book/index.html
echo "Created language redirect page."
# --- ↓↓↓ 部署步骤保持不变 ↓↓↓ ---
- name: Deploy to 'pages' branch - name: Deploy to 'pages' branch
uses: peaceiris/actions-gh-pages@v3 uses: peaceiris/actions-gh-pages@v3
with: with:
# 我们用 personal_token 替代默认的 github_token personal_token: ${{ secrets.DEPLOY_TOKEN }}
personal_token: d58a2e62b51446633a0c87df1591ba34db1ecacb
# 指定 Gitea 服务器的地址
external_repository: Dao-OS/dao-os-docs external_repository: Dao-OS/dao-os-docs
# 要推送到哪个分支
publish_branch: pages publish_branch: pages
# 推送哪个目录下的内容 publish_dir: ./book # 推送整个 book 目录(现在包含了 en 和 zh
publish_dir: ./book
# 提交代码的用户信息
user_name: "Gitea Actions" user_name: "Gitea Actions"
user_email: "actions@gitea.example.com" user_email: "actions@gitea.example.com"
# Gitea 需要这个设置
gitea_server: nest.doylee.cn gitea_server: nest.doylee.cn

1
.gitignore vendored
View File

@@ -0,0 +1 @@
book/

View File

@@ -2,18 +2,7 @@
title = "Dao OS Documentation" title = "Dao OS Documentation"
author = "The Dao OS Community" author = "The Dao OS Community"
description = "The official documentation for the Dao OS, your Cyber-Life Operating System." description = "The official documentation for the Dao OS, your Cyber-Life Operating System."
multi-lingual = true
default-language = "en"
[language.en]
language = "en"
name = "English"
src = "src" src = "src"
[language.zh]
language = "zh"
name = "简体中文"
src = "src-zh"
[output.html] [output.html]
git-repository-url = "https://nest.doylee.cn/Dao-OS/dao-os-docs" git-repository-url = "https://nest.doylee.cn/Dao-OS/dao-os-docs"

8
book.zh.toml Normal file
View File

@@ -0,0 +1,8 @@
[book]
title = "大道 (Dao OS) 文档"
author = "The Dao OS Community"
description = "大道Dao OS官方文档你的赛博生命操作系统。"
src = "src-zh"
[output.html]
git-repository-url = "https://nest.doylee.cn/Dao-OS/dao-os-docs"