用Hugo构建新博客

跟熊壕合租的服务器忘了续费,以前的博客没了。索性来用免费的Github Pages,而静态网站生成器则用Hugo。当然,Cloudflare也要继续用。 使用静态网站生成器+Github Pages有很多种方式,有的是将整个博客的源码和生成后的内容都放在一个分支下,以目录区分,有的是用两个分支(比如master和gh-pages)。但是做了一些功课之后,我选择将源码和生成的内容保存在两个repo,并将“生成”这一步交给Github Actions。 准备Github Repository 创建Repository 在Github上创建两个repo: 一个用来存储Github Pages,名字是username.github.io,例如我的是dantewang.github.io 一个用来存储Hugo网站的源文件,可以是private的,名字随意 配置Actions 参考Github提供的教程,创建SSH Key: ssh-keygen -t ed25519 -C "[email protected]" -f path/to/file 这里指定了不同的路径和文件名,以免覆盖git命令用来连接Github的Key。 然后,分别配置两个repo: 在Github Pages repo的 Settings -> Deploy Key 中 Add new secrets,填入公钥文件(*.pub)的内容 在Hugo源文件repo的 Settings -> Secrets 中 Add new secrets,取名为ACTIONS_DEPLOY_KEY,填入私钥文件的内容 git clone第二个repo,添加.github/workflows/gh_pages.yml,内容如下: name: hugo publish on: push: branches: - master jobs: build-deploy: runs-on: ubuntu-18.04 steps: - uses: actions/[email protected] with: submodules: true fetch-depth: 0 - name: Setup Hugo uses: peaceiris/[email protected] with: hugo-version: 'latest' extended: true - name: Build run: hugo --minify - name: Deploy uses: peaceiris/[email protected] with: deploy_key: ${{ secrets....

March 27, 2021 · 2 min · Dante