mkdocs gh-deploy
如果想使用github actions自动进行发布与部署的话,请参考github action自动发布
mkdocs gh-deploy 命令详解¶
mkdocs gh-deploy 是一个专为 MkDocs 项目设计的便捷命令,其主要功能是把 MkDocs 项目自动部署到 GitHub Pages。下面为你详细介绍该命令的用法、工作机制以及相关注意要点。
1. 核心功能¶
- 它会先调用
mkdocs build命令来生成静态网站文件。 - 接着,将生成的文件推送到 GitHub 仓库的
gh-pages分支。 - 最终,这个静态网站会通过
https://<username>.github.io/<repository>这个 URL 对外发布。
2. 工作机制¶
执行 mkdocs gh-deploy 命令时,会按以下步骤进行:
- 首先在本地生成网站文件,这些文件会被存放在
site/目录中。 - 创建一个名为
gh-pages的临时分支,这个分支只包含site/目录下的内容。 - 将这个临时分支推送到 GitHub 的
gh-pages分支。 - 推送完成后,自动删除本地的临时分支。
3. 基础用法¶
使用该命令的前提是,你的项目已经和 GitHub 仓库完成关联。操作步骤如下:
Bash
# 先确保本地修改已提交到Git
git add .
git commit -m "文档更新"
git push origin main # 或者推送到你使用的主分支
# 执行部署命令
# 执行部署(会自动创建gh-pages分支, 会自动将docs中的md文件,编译到site目录,最后将site内的文件上传到gp-pates分支)
mkdocs gh-deploy --message "文档更新"
# 如果不加message,则会自动生成message,如Deployed 1dd4d3e with MkDocs version: 1.6.1
# 建议加上message
# mkdocs gh-deploy --remote-branch my-pages-branch 推送到自定义
# 建议使用默认分支
由于在main分支的.gitignore中有site,所以本地的site目录不会被上传到主分支。
命令参数¶
mkdocs gh-deploy 支持以下这些参数:
--clean:在构建之前,先清除site/目录下的旧文件。--message '自定义提交信息':你可以自定义推送到gh-pages分支时的提交信息。--force:不进行任何检查,直接强制推送。--remote-name <远程仓库名>:指定要推送的远程仓库名称,默认是origin。--remote-branch <分支名>:指定目标分支,默认是gh-pages。