File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1- # 工作流名称name: 自动部署 MkDocs# 触发条件:推送到 main 分支on: push: branches: - main # 允许手动触发 workflow_dispatch:# 设置权限permissions: contents: write # 允许推送到 gh-pages 分支jobs: deploy: runs-on: ubuntu-latest steps: # 1. 检出代码 - name: 检出仓库 uses: actions/checkout@v4 with: fetch-depth: 0 # 获取完整历史,显示文章修改时间 # 2. 设置 Python - name: 设置 Python uses: actions/setup-python@v5 with: python-version: "3.11" # cache: 'pip' # 缓存依赖,加速构建 # 3. 安装依赖 - name: 安装依赖 run: | pip install mkdocs-material pip install mkdocs-awesome-pages-plugin pip install mkdocs-git-revision-date-localized-plugin # 4. 安装 Doxygen - name: 安装 Doxygen run: | sudo apt-get update sudo apt-get install -y doxygen # 5. 安装 doxybook2 - name: 安装 doxybook2 run: | # 下载最新版本的 doxybook2 DOXYBOOK2_VERSION="1.5.0" wget https://github.com/matusnovak/doxybook2/releases/download/v${DOXYBOOK2_VERSION}/doxybook2-linux-amd64-v${DOXYBOOK2_VERSION}.zip unzip doxybook2-linux-amd64-v${DOXYBOOK2_VERSION}.zip sudo mv bin/doxybook2 /usr/local/bin/ sudo chmod +x /usr/local/bin/doxybook2 doxybook2 --version # 6. 生成 API 文档(Doxygen → Markdown) - name: 生成 API 文档 run: | doxygen Doxyfile rm -rf document/api mkdir -p document/api doxybook2 --input ./xml \ --output ./document/api \ --config doxybook.json # 7. 构建网站 - name: 构建网站 run: mkdocs build --clean # 8. 自动部署到 gh-pages 分支(这一步会自动触发 GitHub Pages) - name: 部署到 GitHub Pages uses: peaceiris/actions-gh-pages@v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} # GitHub 自动提供的 token publish_dir: ./site # MkDocs 构建输出目录
1+ # 工作流名称
2+ name : 自动部署 MkDocs
3+
4+ # 触发条件:推送到 main 分支
5+ on :
6+ push :
7+ branches :
8+ - main
9+
10+ # 允许手动触发
11+ workflow_dispatch :
12+
13+ # 设置权限
14+ permissions :
15+ contents : write # 允许推送到 gh-pages 分支
16+
17+ jobs :
18+ deploy :
19+ runs-on : ubuntu-latest
20+
21+ steps :
22+ # 1. 检出代码
23+ - name : 检出仓库
24+ uses : actions/checkout@v4
25+ with :
26+ fetch-depth : 0 # 获取完整历史,显示文章修改时间
27+
28+ # 2. 设置 Python
29+ - name : 设置 Python
30+ uses : actions/setup-python@v5
31+ with :
32+ python-version : " 3.11"
33+ # cache: 'pip' # 缓存依赖,加速构建
34+
35+ # 3. 安装依赖
36+ - name : 安装依赖
37+ run : |
38+ pip install mkdocs-material
39+ pip install mkdocs-awesome-pages-plugin
40+ pip install mkdocs-git-revision-date-localized-plugin
41+
42+ # 4. 安装 Doxygen
43+ - name : 安装 Doxygen
44+ run : |
45+ sudo apt-get update
46+ sudo apt-get install -y doxygen
47+
48+ # 5. 安装 doxybook2
49+ - name : 安装 doxybook2
50+ run : |
51+ # 下载最新版本的 doxybook2
52+ DOXYBOOK2_VERSION="1.5.0"
53+ wget https://github.com/matusnovak/doxybook2/releases/download/v${DOXYBOOK2_VERSION}/doxybook2-linux-amd64-v${DOXYBOOK2_VERSION}.zip
54+ unzip doxybook2-linux-amd64-v${DOXYBOOK2_VERSION}.zip
55+ sudo mv bin/doxybook2 /usr/local/bin/
56+ sudo chmod +x /usr/local/bin/doxybook2
57+ doxybook2 --version
58+
59+ # 6. 生成 API 文档(Doxygen → Markdown)
60+ - name : 生成 API 文档
61+ run : |
62+ doxygen Doxyfile
63+ rm -rf document/api
64+ mkdir -p document/api
65+ doxybook2 --input ./xml \
66+ --output ./document/api \
67+ --config doxybook.json
68+
69+ # 7. 构建网站
70+ - name : 构建网站
71+ run : mkdocs build --clean
72+
73+ # 8. 自动部署到 gh-pages 分支(这一步会自动触发 GitHub Pages)
74+ - name : 部署到 GitHub Pages
75+ uses : peaceiris/actions-gh-pages@v4
76+ with :
77+ github_token : ${{ secrets.GITHUB_TOKEN }} # GitHub 自动提供的 token
78+ publish_dir : ./site # MkDocs 构建输出目录
You can’t perform that action at this time.
0 commit comments