部署博客

记录博客搭建的全过程

上篇博文最后提到了部署博客,这篇文章就记录一下博客部署过程。

1.1:事先准备

  • 首先从hugo-github-release页面下载hugo_extended_0.68.3_Windows-64bit.zip。
  • 下载好hugo_extended_0.68.3_Windows-64bit.zip后,使用7zip解压到您想存的地方。
  • 然后去控制面板\系统和安全\系统/高级系统设置/环境变量添加hugo的环境变量,安装即可完成。
  • 最后打开cmd使用以下命令测试您的hugo是否安装成功? hugo version 运行以上命令, cmd 打印出以下信息, hugo 安装即可完成。 Hugo Static Site Generator v0.68.3/extended windows/amd64 BuildDate: unknown

1.2:博客创建和配置

完成上一步接下来激动人心的创建和配置就开始了,真的有一点而激动呢!

  • 首先打开Git Bash确认博客保存的位置,我这里已磁盘c维例。
  • 输入以下命令创建博客目录,并初始化博客目录结构。 cd c:/ hugo new site blog cd c:/blog git init
  • 输入命令的一瞬间,说真的很快,hugo博客的基本框架就创建好了。
  • 创建完的博客并不是马上就可以用的。
  • 需要去下载一个博客主题才可以跑起来。
  • Complete List | Hugo Themes,这是hugo官方提供的主题集合网站,有很多的主题可以选择使用。
  • 这是我用的hugo 主题 Jane 打开主题项目页后,首先Fork一份主题到您的Github账号下。
  • 然后回到您的Github找到您刚刚Fork的主题,找到Clone or download 按钮展开复制其中的地址。
  • 不管是https,还是ssh都可以。
  • 使用以下命令添加主题: git submodule add https://github.com/xianmin/hugo-theme-jane themes/jane
  • 一段时间后,blog/themes目录中就有了刚刚添加的主题了。
  • 注意: 添加的 Git 子模块是独立于 blog的版本管理的,总的来说就是博客目录现在有两个 Git 项目。
  • 然后从/themes/jane目录的exampleSite中复制full-config.toml配置文件到博客根目录,替换原来的config.toml。
  • 注意别忘了重命名维config.toml哦。
  • 以下是我个人的博客配置,仅供读者参考。
  • 经过以上的配置,一个本地的静态博客就创建和配置完成了。
  • 使用命令 hugo server -D
  • 打开浏览器,输入 localhost:1313 即可预览。

1.3:部署博客到github pages

  • 这是博客部署意文的最后一部,将创建的静态博客部署到 github pages。
  • 首先创建 github_pages_TOKEN 后面要用
  • 打开 Git Bash 将位置定位到磁盘C。
  • 输入以下命令生成 ssh key: ssh-keygen -f github-deploy-key
  • 一路回车即可,注意在生成的过程中别输入密码。
  • 这时候磁盘c会出现两个文件,分别是: github_pages_TOKEN和github_pages_TOKEN.pub。
  • github_pages_TOKEN是私钥,github_pages_TOKEN.pub是公钥。
  • 接着打开Github,创建example存储库。
  • 打开 settings找到Secrets和Deploy。
  • 将 github_pages_TOKEN私密钥添加到Secrets,将github_pages_TOKEN.pub公钥添加到Deploy keys。
  • 在博客根目录创建.github目录和workflows目录。
  • 注意workflows目录在.github里面。
  • 创建 github pages.yml文件。
  • 粘贴以下配置并提交到创建的 example 存储库。 `name: github pages

on: push: branches: - master

jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: submodules: true

  - name: Setup Hugo
    uses: peaceiris/actions-hugo@v2
    with:
      hugo-version: 'latest'
      extended: true

  - name: Build
    run: hugo --minify

  - name: Deploy
    uses: peaceiris/actions-gh-pages@v3
    with:
      deploy_key: ${{ secrets.github_pages_TOKEN }}
      publish_dir: ./public
      UserName: example
      UserEmail: example@users.noreply.github.com
      CNAME: www.example.com`

1.4:最后想说的话

  • 文章就到这里结束了,写的磕磕绊绊的。
  • 有可能还有引用的代码无法高量的问题。
  • 这是第一篇正规的博文。
  • 也许还有很多需要完善的地方。
updatedupdated2020-04-012020-04-01