踩了一些坑,趁热打铁抓紧记下来
背景
最近较为深度试用了一下Typora,发现它原生支持mermaid,很香。具体mermaid的使用还是老套路,参考官方手册。
咱这博客也是markdown写的,想着要是能支持mermaid的话该有多好啊~于是开始了上下而求索之路。
找jekyll的插件
最开始找到的是jekyll-mermaid,不好用。复盘一下,其实还是自己犯傻逼,看着readme写的很完备就上了。完全没考虑这个工程已经是6年前的了。。。。。。
后来找到了jekyll-spaceship,这个是真牛逼,支持好多小功能(包含mermaid)。在Gitpod上验证了一下可行,就往Github上推了。发现还是不行呢🤬
原来Github默认只支持safe模式,只提供指定的一些白名单内的插件。
试用travis
每次触发构建都要很久,然后也没有成功,具体错误没有查就转投Github Action上了😜
试用Github Actions
不愧是Github自家产品,入口在工程Web主页的Actions里,点击进去就发现Github Acions已经识别了工程是Jekyll的。然后有一个推荐的构建yml文件。我试了下不好使。我用的是jekyll官网提供的yml文件。可以直接参考咱这个工程的yml文件。
注意里面有一个名为JEKYLL_PAT的环境变量。这个是Github的Personal access tokens,是为了赋予部署应用使用Github API的。申请路径为Account icon -> Settings -> Developer settings -> Personal access tokens。我给的权限是admin:public_key, admin:repo_hook, repo,暂时没有纠结给多给少,反正好用(那应该是给多了😓)。我们需要把申请到的token填写到Project home page -> Settings -> Secrets中,key肯定就是JEKYLL_PAT嘛。
综上,每次在master分支上推新代码时,就可以触发构建了。
哦哦,还有一点,在Project home page -> Settings -> Options -> GitHub Pages中选择分支为gh-pages哈,因为GitHub Actions在构建好之后是默认推这个分支的。
更新日志
- 2020年9月23日:初稿