前语

docsify 能够快速帮你生成文档网站。不同于 GitBook、Hexo 的地方是它不会生成静态的.html文件,一切转化作业都是在运转时。

运用 github action 生成 docsify 的文件目录

根据 docsify 官网的快速开端能够很快地就建立一个个人博客。 搭配 github pages 就能够拥有一个公网可拜访的静态博客。

网上关于如何运用docsifygithub pages的文章网上已经有挺多的了,这儿就不做详细介绍。这儿主要是介绍如何运用github action来生成文件目录。由于docsify本身是一个静态网页,只需求生成一次index.html就能够运转,所以本身是不支撑动态去显现文件目录。但是docsify支撑自界说侧边栏,只需求在根目录增加一个_sidebar.md和打开loadSidebar选项,侧边栏就会主动显现_sidebar.md的内容。

咱们只需求在_sidebar.md加上目录信息, 再搭配docsify-sidebar-collapse插件就能够显现以下的效果了:

运用 github action 生成 docsify 的文件目录

原理

GitHub Actions 是 GitHub 供给的一种主动化东西,它能够协助你在 GitHub 库房中主动履行软件开发的作业流程。你能够运用 GitHub Actions 来构建、测验和布置你的代码。你也能够运用它来主动化其他的使命,例如发送电子邮件通知、创立问题和拉取恳求,甚至发布到 GitHub Pages 或其他的云渠道。

GitHub Actions 的作业流程是由一系列的使命(称为”actions”)组成的,这些使命能够在同一个虚拟环境中按照你界说的次序履行。每个使命都能够运转一个指令或许一个脚本,也能够运转一个你从 GitHub Marketplace 或许其他地方获取的预界说的action。

你能够在你的库房中创立一个.github/workflows目录来寄存你的作业流程文件。每个作业流程文件都是一个 YAML 文件,它界说了一个或许多个作业流程。当你的库房中发生一个特定的事件(例如 push、pull request 或许 issue)时,GitHub Actions 就会主动履行相应的作业流程。

如果运用github pages来布置咱们的博客,就需求一个github库房,那这样咱们只需求运用github action在代码推送时,都生成一次_sidebar.md,这样就能够保证咱们库房上面的目录一直都是最新的。

_sidebar.md:

- [README.md](./README.md)
- directory1
  - [file1.1.md](./directory1/file1.1.md)
  - [file1.md](./directory1/file1.md)
- directory2
  - [file2.md](./directory2/file2.md)
- directory3
  - [file3.md](./directory3/file3.md)
- [_sidebar.md](./_sidebar.md)

教程

在库房目录建立一个新文件.github/workflows/main.yml

on: [push] # 在push的时分履行
jobs:
  add_sidebar_job:
    runs-on: ubuntu-latest
    name: job to add _sidebar.md
    steps:
      - uses: actions/checkout@v4                     # 拉取代码
      - uses: if-nil/docsify-file-catalog-action@main # 运用action生成_sidebar.md文件并推送到库房内
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}   # GITHUB_TOKEN 需求有写权限
          # include: '.*'

docsify-file-catalog-action是一个用来生成_sidebar.md并推送到库房的action,有两个参数

inputs 描绘 必须 默认值
github_token 用来推送_sidebar.md到库房内,需求写权限 true null
include 期望显现的文件列表(正则表达式) false .*.md

需求检查一下github_token是否有写权限,位置在库房的 Setting -> Actions -> General:

运用 github action 生成 docsify 的文件目录
运用 github action 生成 docsify 的文件目录

然后提交代码即可

git add .github/workflows/main.yml
git commit -m "add workflow"
git push

点击库房的Action按钮检查履行情况

运用 github action 生成 docsify 的文件目录

一切正常的话就能够看到咱们的根目录有一个_sidebar.md文件了

运用 github action 生成 docsify 的文件目录

参考