13

我的博客目前运行JekyllMinimal Mistakes主题,并使用主题的内置功能添加Disqus评论系统。

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

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

因此,我的问题是:对于尽可能接近 Jekyll 哲学的评论(理想情况下在gh-pages上运行),什么是合适的系统?

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

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

还有其他选择吗?如果是这样,什么可以使用 gh-pages,什么可以用于自托管 Jekyll 博客?

4

2 回答 2

16

这是另一个使用 JavaScript 的动态解决方案,但不将评论存储在第 3 方提供商处:

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

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

于 2015-11-16T22:12:26.067 回答
7

加载 javascript 的外部托管评论系统是否“违背了静态站点的目的”是一个见仁见智的问题。

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

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

Isso(如 Disqus)在客户端使用 JS,并且需要您必须管理的服务器端软件(基于 Python),因此这似乎与您的理想不太接近。

Jekyll::StaticComments 的方向是正确的,但是如果您有 GitHub 处理您的 Jekyll 站点,则 gh-pages 不支持它(您当然可以自己生成静态站点,然后将其托管在 GitHub Pages 上)。

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

因此,您需要从某个地方获取评论,可能是电子邮件,也可能是另一个第三方托管应用程序(可能是SimpleForm)。

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

除了通过非现场媒体手动接受评论外,您还将在某处处理动态的事情。

于 2015-11-16T15:27:00.377 回答