好的,根据我们之前的对话,这份详细的指南将帮助你为 MkDocs 网站集成 GitHub 仓库的星标 (Stars) 和 Fork 数量显示功能。
仓库链接:详细指南⚓︎
MkDocs 网站集成 GitHub 星标与 Fork 数量显示
本指南将详细介绍如何为您的 MkDocs 网站集成 GitHub 仓库的星标 (Stars) 和 Fork 数量显示功能。此功能由 Material for MkDocs 主题提供,它通过调用 GitHub API 来获取这些公开数据。为了避免匿名 API 请求的速率限制,并确保稳定获取数据,我们需要使用一个 GitHub Personal Access Token (PAT)。
我们将使用一个权限最小化且无有效期的 PAT,并通过 GitHub Actions 的 Secret 机制安全地管理它。
前提条件⚓︎
在开始之前,请确保您已满足以下条件:
- 已有一个基于 MkDocs 和 Material for MkDocs 主题搭建的 GitHub Pages 网站。
- 已配置 GitHub Actions 工作流 (
.github/workflows/deploy.yml) 用于部署网站。 - 了解基本的 GitHub 操作和 YAML 语法。
创建 PAT⚓︎
我们将创建一个专门用于获取公开仓库信息的 PAT,它将拥有最低的权限。
-
访问 GitHub PAT 创建页面:
- 登录您的 GitHub 账号。
- 点击右上角的头像,选择
Settings(设置)。 - 在左侧导航栏中,滚动到底部,找到
Developer settings(开发者设置)。 - 点击
Personal access tokens(个人访问令牌) ->Tokens (classic)(经典令牌)。 - 点击右上角的
Generate new token (classic)(生成新令牌 (经典))。
-
配置 PAT 详情:
- Note (备注): 填写一个易于识别的名称,例如
MKDOCS_BUILD。这将帮助您记住此令牌的用途。 - Expiration (有效期): 务必选择
No expiration(无有效期)。- 解释: 由于此 PAT 仅用于读取公开数据,且不具备任何修改权限,将其设置为无有效期可以避免您频繁手动更新令牌的麻烦,同时风险极低。
- Select scopes (选择权限): 不要勾选任何权限 (No scopes)。
- 解释: Material for MkDocs 只需要读取公开仓库的星标和 Fork 数量,这些信息是公开的。PAT 的作用主要是为了提高 GitHub API 的速率限制(从匿名用户的 60 请求/小时提升到认证用户的 5000 请求/小时),而不是为了访问私有数据。因此,不勾选任何权限是最安全且完全足够的配置。
- Note (备注): 填写一个易于识别的名称,例如
-
生成并复制 PAT:
- 点击页面底部的
Generate token(生成令牌) 按钮。 - 重要: 生成的令牌只会显示一次!请务必立即复制此令牌字符串,并妥善保管。一旦离开此页面,您将无法再次看到它。
- 点击页面底部的
将 PAT 添加到 GitHub 仓库 Secrets⚓︎
为了安全地在 GitHub Actions 工作流中使用您的 PAT,我们将其存储为仓库 Secret。这样,令牌就不会直接暴露在您的代码中。
-
导航到仓库 Secrets:
- 打开您的 MkDocs 网站所在的 GitHub 仓库页面。
- 点击顶部的
Settings(设置) 选项卡。 - 在左侧导航栏中,找到
Secrets and variables(密钥和变量) ->Actions。 - 点击
New repository secret(新建仓库密钥)。
-
添加 Secret:
- Name (名称): 填写
MKDOCS_BUILD_TOKEN。- 提示: 这个名称是您在 GitHub Actions 工作流中引用此令牌的键。建议使用一个清晰且与用途相关的名称。
- Secret (值): 将您在步骤一中复制的 PAT 粘贴到此处。
- 点击
Add secret(添加密钥)。
- Name (名称): 填写
现在,您的 PAT 已安全地存储在仓库 Secret 中,并且可以在 GitHub Actions 工作流中被引用。
修改 GitHub Actions 工作流文件⚓︎
我们需要修改您的部署工作流,使其在构建 MkDocs 网站时能够访问到这个 PAT。
-
打开
deploy.yml文件:- 在您的 GitHub 仓库中,导航到
.github/workflows/deploy.yml文件。 - 点击编辑按钮(通常是铅笔图标)/ 在文件资源管理器中导航到
`deploy.yml后右键进行编辑。
- 在您的 GitHub 仓库中,导航到
-
添加环境变量:
- 找到您的
Build步骤(通常是执行mkdocs build命令的步骤)。 - 在该步骤下添加一个
env块,并引用您在步骤二中创建的 Secret。
请将您的
deploy.yml文件中Build步骤修改为以下内容:```yaml
... (文件顶部其他内容保持不变) ...⚓︎
- 找到您的
约 1811 个字 41 行代码 预计阅读时间 10 分钟
| Text Only | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
- 提交更改:
- 保存并提交对
deploy.yml文件的更改。
- 保存并提交对
配置 mkdocs.yml⚓︎
最后,您需要在 MkDocs 的配置文件中启用星标和 Fork 数量显示功能。
-
打开
mkdocs.yml文件:- 在您的仓库根目录找到
mkdocs.yml文件并打开编辑。
- 在您的仓库根目录找到
-
添加或修改
extra.repo_stats配置:- 在
mkdocs.yml中,找到theme和extra部分。 - 确保
theme.name是material。 - 在
extra部分,添加或修改repo和repo_stats配置;在site_description:下增加两行配置,如下所示:
配置解析: *
extra.repo.user:您的 GitHub 用户名。 *extra.repo.name:您的 MkDocs 网站所在的 GitHub 仓库名称。 *extra.repo_stats: true:这是启用星标和 Fork 数量显示的关键配置。 - 在
-
提交更改:
- 保存并提交对
mkdocs.yml文件的更改。
- 保存并提交对
验证与测试⚓︎
完成以上所有步骤后,您的 GitHub Pages 网站应该能够显示星标和 Fork 数量了。
-
触发部署:
- 由于您对
deploy.yml和mkdocs.yml进行了更改,GitHub Actions 工作流应该会自动触发一次部署(如果您配置了on: push)。 - 您也可以手动从 GitHub 仓库的
Actions选项卡中运行Deploy MkDocs site to Pages with Submodules工作流。
- 由于您对
-
检查 GitHub Actions 运行:
- 在您的 GitHub 仓库中,点击
Actions选项卡。 - 找到最新的工作流运行,并确保它成功完成。
- 在您的 GitHub 仓库中,点击
-
访问您的网站:
- 部署成功后,访问您的 GitHub Pages 网站 URL。
- 检查网站的页脚或侧边栏(具体位置取决于您的 Material for MkDocs 主题配置),您应该能看到您的 GitHub 仓库的星标和 Fork 数量。
重要提示⚓︎
- 权限最小化: 再次强调,您创建的 PAT 没有任何敏感权限,这大大降低了即使 PAT 泄露时的风险。
- PAT 安全: 永远不要将 PAT 直接写入任何公开可见的文件(如
mkdocs.yml或deploy.yml)。始终使用 GitHub Secrets 来管理敏感信息。 - 速率限制: PAT 的主要作用是提高 GitHub API 的请求速率限制,确保您的网站在频繁访问时也能稳定获取数据。
- 故障排除: 如果星标和 Fork 数量没有显示,请检查以下几点:
- GitHub Actions 运行是否成功,是否有任何错误日志。
MKDOCS_BUILD_TOKENSecret 的名称是否与deploy.yml中引用的名称完全一致。mkdocs.yml中extra.repo.user和extra.repo.name是否正确指向您的 GitHub 仓库。- 您的网络连接是否正常。
通过以上详细步骤,您已成功为您的 MkDocs 网站配置了 GitHub 星标和 Fork 数量显示功能,并确保了部署过程的安全性和稳定性。