虽然Hugo生成的是静态页面,但是利用其它网站提供的配套,也可以增加一些动态的功能,一个典型的例子是如何给静态的博客页面加上博客服务。

提供这方面服务的网站有很多,最著名的莫过于disqus.com。使用disqus的好处一是可以独立管理评论,二是disqus会帮你过滤垃圾评论。Hugo在开发的时候就考虑了和disqus的集成,你可以很方便地为生成的页面添加disqus评论服务。

Hugo的官方文档对这个有很详细的介绍:Hugo Comments。只要你选的主题按Hugo的提示支持了disqus,那么你所要做的无外乎就是在配置文件(config.toml)中加一行:

disqusShortname = 'example-com'

我使用的是Academic主题,已经支持了disqus了。添加了上面这一行之后,disqus就会自动配置好。

上面的配置用到了disqus分配的shortname,叫example-com。那么如何获取这个shortname呢?可以参照Disqus的文档,简单说下要点:

  • 假设我们要为网站example.com添加disqus服务,首先要做的是注册一个disqus账户。
  • 在注册的账户下添加一个网站,也就是example.com。添加的时候会让你填shortname,这个例子里面我们填example-com。disqus会生成一个example-com.disqus.com的网址,那里可以看到关于example.com的所有评论。
  • 其余非常重要的一点,一定要把example.com添加到受信任的网站列表,见文档

另外有一个坑要注意(这也就是为什么我要写这篇文章的主要原因),在Hugo的配置文件(config.toml)中,以及要把baseurl设置好,下面是个错误的例子:

baseurl='//example.com'

或导致disqus无法加载,正确的写法是要加上http:,如下所示:

baseurl='http://example.com'

这样才能正常显示。我侦查了好久,才找到这个坑😢。

最后要说的一点事,虽然disqus很好用很流行,但是貌似最近在国内被墙了。想在disqus上发表评论的各位,不介意去搬个梯子吧😊。

(完)