虽然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上发表评论的各位,不介意去搬个梯子吧😊。
(完)