本文主要记录了在 Centos7 上建设本站的详细过程。博客采用 Hugo 引擎, Even 主题渲染,托管在 GitHub Pages 上,设置专属域名 zhaozhiyuan.org ,并且利用 Travis-ci 实现自动同步。

下载 Hugo

Hugo 是一款用 Go 语言编写的静态网站生成引擎,它的优点是使用方便,语法简单。只需要在官网的 Hugo Release 页面下载对应平台的二进制文件 hugo 或者 hugo.exe 即可使用。

生成博文

$ mv hugo $HOME/bin     # 可在任意位置直接调用 hugo 命令
$ hugo -h      # 查看是否正确安装 hugo
         hugo is the main command, used to build your Hugo site.
             ...
$ hugo new site hugo_even    # 创建站点文件夹 hugo_even
$ cd hugo_even      # 进入站点根目录,所有 hugo 命令均在此目录执行
$ hugo new post/first.md  # 在 content/post/ 下生成第一篇博文
$ git clone https://github.com/olOwOlo/hugo-theme-even themes/even  # 下载 even 主题渲染博客
$ gedit config.toml   # 编辑全局配置文件 config.toml,指定主题、侧边栏选项等
$ hugo server # 在浏览器中预览博客

很重要的一点,如果想在主页显示渲染格式后的预览片段,一定要添加 more 标签:

<!- -more- ->      # 注意两个短横线之间没有空格,这里留空格是为了能在博文显示出来,不然就被渲染了

域名解析

在域名管理页面进行域名解析设置:

子域名 记录类型 记录值
@ A记录 192.30.252.153

在 GitHub 上新建仓库 zhaozhiyuan.org ,添加 gh-pages 分支,在 setting 中设置 GitHub Pages:

  • Source: gh-pages branch

  • Custom domain: zhaozhiyuan.org

等解析成功后就可以通过 http://zhaozhiyuan.org 来访问 Github Pages 了。

自动同步

  • 在 zhaozhiyuan.org 的 master 分支下新建 .travis.yml 文件进行设置

  • setting - Personal access tokens - Generate new token

  • 使用 Github 帐号登陆 Travis-ci 添加 zhaozhiyuan.org 仓库,在 Environment Variable 添加 GH_TOKEN 变量,值为上步得到的 value

  • 成功后每次更改 master 分支的源码会自动同步到 gh-pages 分支。

其它

如果有别的仓库如 myproject.git 也想布置到 GitHub Pages 上, 同样添加 gh-pages 分支,在 setting 中设置 custom domain 为 project.zhaozhiyuan.org ,并且在域名管理页面进行解析

子域名 记录类型 记录值
@ A记录 192.30.252.153
project CNAME zhaozhiyuan1989.github.io