博客程序有很多,有Wordpress、Emlog、Ghost、Typecho等这些动态博客程序,也有当下流行的静态博客程序,比如Jekyll、Hexo、Hugo、Octopress等等。当然这些程序都很优秀,但是在重新搭建博客时,考虑到页面生成速度,以及自己使用Golang的背景,最终选择了Hugo。

hugo-logo

Hugo的优点

  • 安装方便,只需一个二进制文件即可用于本地调试和页面生成
  • 多平台兼容,包括Windows、Linux、Mac,下载不同的二进制文件即可
  • 页面生成效率高,几乎是瞬间完成
  • Hugo的Server自带watch调试模式,有任何修改,无需刷新即可在浏览器呈现效果
  • 易于配置、易于扩展,功能强大

快速搭建

下载安装

安装方式可以直接下载二进制文件,也可以源码编译安装。这里选择相对更方便的第一种方式,不同平台的二进制文件可以到Hugo Releases进行下载。

当然如果你使用的是Mac OS,可以直接运行 brew install hugo 来进行安装。

创建博客

1.创建博客目录

创建博客站点很简单,直接运行 hugo new site blog 即可生成站点目录。目录结构如下:

1
2
3
4
5
6
7
8
archetypes
config.toml
content
data
layouts
public
static
themes

2.选择模板

接下来就是选择博客模板,可以在 Hugo themes 选择自己喜欢的模板,比如我们选择Jane,下载下来。

1
2
cd blog
git clone https://github.com/xianmin/hugo-theme-jane.git --depth=1 themes/jane

复制模板的配置文件,并根据自己需要修改配置文件。

1
cp themes/jane/exampleSite/config.toml ./

3.创建文章

创建自己的第一篇文章,只需要运行 hugo new post/first_post.md 命令,就会在 content/post 文件夹下生成一个 first_post.md 的文件,编辑该文件,输入自己要写的内容,保存。

4.测试博客

测试博客也非常容易,只需要运行 hugo server,就会在本地起一个端口为1313的server,在浏览器访问 http://localhost:1313 就可以看到自己的博客效果了。

这个server会监控你文件内容的变化,任何的修改,都不需要手动刷新页面,就可以在浏览器里实时看到效果。

发布部署

因为大部分人都是在本地书写博客文章,但是如果要给外部人看,我们还是要把我们的页面放到网上。怎样做最方便呢。

最方便的就是存放在 Github Pages 或者 Coding Pages 等类似的静态托管服务上面,这个网上有很多的教程,在此不多说,可以自行搜索。

这里重点说,如果你有自己的服务器的情况,讲一下本站采用的方式:

hugo_publish

  1. 博客目录提交到Coding私有git仓库
  2. 在服务器运行了一个使用golang写的简单的接收webhook的服务。
  3. 在Coding后台添加webhook
  4. 每次写完文章就push到Coding,webhook接收到push事件,就执行 git pull 拉取最新的文件
  5. 服务器拉取到最新文件后,执行hugo生成静态页面。

这样做的好处是,我只需要专注于写作,写完提交到coding即可,剩下的都是自动完成,不需要自己来做处理。

评论的选择

曾经国内的评论应用遍地开花,多说、友言、网易云跟帖、搜狐畅言等等,但是由于无法盈利,纷纷关闭,现在只剩下搜狐畅言了。国外的Disqus又因为众所周知的原因在国内无法使用。

但是广大程序员发挥自己的聪明智慧,使用 Github Issue 曲线实现评论功能,比如 GitTalkGitment

Disqus-Logo

本站使用Disqus实现评论功能,为了方便大陆用户的使用,在香港服务器部署 disqus-php-api ,这样当无法加载Disqus的时候就会加载简易评论,并通过香港机器转发,实现Disqus评论的可用性。