Jekyll的静态评论系统



我的博客目前运行Jekyll和最小错误主题,并使用该主题的内置功能添加Disqus评论系统。

对我来说,这个基于JavaScript的评论系统有点违背了在Jekyll建立静态博客的目的,考虑到:

  1. 它的JavaScript创建了一个决定性的非静态页面
  2. 评论不会与网站一起存储
  3. 注释存储在某些数据库中,而不是平面文本文件中

因此,我的问题是:什么是一个合适的评论系统,尽可能接近杰基尔哲学(最好是在gh页面上运行)?

我找到了几个可能的候选人:

  1. Isso是一个类似于Disqus的注释系统,它与SQLite数据库一起工作
  2. Jekyll::静态评论似乎很合适,但这意味着你必须手动添加电子邮件中的评论

还有其他选择吗?如果是这样的话,什么能用gh页面,什么能在Jekyll博客上运行?

这里有另一个动态的解决方案,它使用JavaScript,但不将注释存储在第三方提供商:

这个家伙用Jekyll创建了一个静态网站,但使用GitHub的问题跟踪器来创建他的评论
他使用GitHub Pages来托管他的博客,对于每一篇新帖子,他都会在博客的存储库中创建一个新问题
然后,他使用JavaScript从GitHub API获取问题评论,并将其显示在页面上。

下面是一篇博客文章,解释了如何设置:
GitHub为GitHub托管的博客托管评论

一个javascript加载的、外部托管的评论系统是否"违背了静态网站的目的"是一个意见问题。

对我来说,关键是能够将网站托管为完全静态的资源,利用缓存、CDN、分布式托管等。我已经看到了这方面的巨大优势,外部托管我的评论一点也不冲突。

话虽如此,这是一个有趣的问题。

Isso(像Disqus一样)在客户端使用JS需要服务器端软件(基于Python),你必须管理这些软件,所以这似乎与你的理想不太接近。

Jekyll::StaticComments的方向是正确的,但如果你让GitHub处理你的Jekyll网站,它在gh页面上不受支持(你当然可以自己生成静态网站,然后在GitHub页面上托管)。

你还需要一种方法让用户提交评论,然后将这些评论放入一个文件中,供生成过程使用(不一定像你想象的那样通过电子邮件)。

所以你需要从某个地方接受评论,可能是电子邮件,可能是另一个第三方托管的应用程序(可能是SimpleForm)。

然后你需要手动将它们放入YAML网站,重新生成,然后发布,或者,你可以为你的网站设置一个自动构建过程,它可以在可用时提取用户提交的内容,并自动构建和发布。

除了通过非现场媒介手动接受评论之外,你还将在某个地方处理一些动态的事情。

最新更新