前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过 Github Actions 部署 Mkdocs 文档

通过 Github Actions 部署 Mkdocs 文档

作者头像
顾宇
发布2022-01-17 20:32:15
1.3K0
发布2022-01-17 20:32:15
举报

Mkdocs 是一个采用 Python 构建轻量级的静态 HTML 在线文档框架,内置部署到 Github Pages 的功能。我用来创建实践指南,用来做个人的知识积累。

安装 Mkdocs 以及 Mkdocs 主题

Mkdocs 以及主题都通过pip安装,例如我采用的mkdocs-material主题,如下所示:

代码语言:javascript
复制
pip install --user mkdocs mkdocs-material

值得一说的是,如果你安装主题,mkdocs 会作为依赖被安装。

更多的主题请参考 Wiki 页:https://github.com/mkdocs/mkdocs/wiki/MkDocs-Themes

创建并测试站点

通过mkdocs new <目录>就可以快速创建文档站点。目录里会生成mkdocs.yml文件和docs目录,目录内有默认的index.md文件,你可以修改和增加文件。

在所在目录执行mkserve,你就可以在http://localhost:8000看到初始化的文档。Mkdocs 会监测目录的改动并重新生成站点更新浏览器。

但如果你修改了配置,比如主题。就有可能出错中断进程。

这时站点还没有加载主题,你要修改mkdocs.yml,增加theme配置:

代码语言:javascript
复制
theme: 
  name: material
  language: zh
  highlightjs: true

不同的主题有不同的参数配置,详情可以参考对应主题的文档。

HTML 生成和部署

执行mkdocs build会新建site目录,并将 markdown 文件构建为 html 文件。

执行mkdocs gh-deploy就可以site中的 html 内容提交到代码仓库的gh-pages分支上,你要在 Github 上 代码库的配置中起用 Pages 才可以看见站点,地址是 https://<你的用户名>.github.io/<你的代码仓库>

通过 Github Actions 部署到 Github Pages

我们可以用 Github Actions 把上述的构建和发布工作自动化,只需要在代码库上新建.github/workflow/gh-deploy.yml文件,内容如下:

代码语言:javascript
复制
name: Deploy to Github Pages
  on:
    push:
      branches:
        - master
        - main
  jobs:
    deploy:
      runs-on: ubuntu-latest
      steps:
        - uses: actions/checkout@v2
        - uses: actions/setup-python@v2
          with:
            python-version: 3.x
        - uses: actions/cache@v2
          with:
            key: ${{ github.ref }}
            path: .cache
        - run: pip install mkdocs-material
        - run: mkdocs gh-deploy --force

提交后,你就可以看到自己的站点自动部署到 Github Pages。未来的提交也会出发这个流程。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021.12.31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装 Mkdocs 以及 Mkdocs 主题
  • 创建并测试站点
  • HTML 生成和部署
  • 通过 Github Actions 部署到 Github Pages
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档