Jekyll 的静态评论系统 [已关闭]

Static Comments System for Jekyll [closed]

提问人:Bastiaan Quast 提问时间:11/16/2015 最后编辑:Bastiaan Quast 更新时间:11/6/2016 访问量:5016

问:


我们不允许向读者、工具、软件库等寻求推荐的问题。您可以编辑问题,以便用事实和引文来回答。

7年前关闭。

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

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

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

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

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

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

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

静态 Jekyll Jekyll 扩展

评论


答:

7赞 briantist 11/16/2015 #1

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

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

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

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

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

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

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

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

除了通过场外媒体手动接受评论外,您还将在某个地方处理一些动态的东西。

评论

0赞 Bastiaan Quast 11/19/2015
非常感谢,因为我没有得到很多评论,我可能会手动添加。
16赞 Christian Specht 11/17/2015 #2

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

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

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

评论

1赞 Bastiaan Quast 11/17/2015
谢谢,这真的很有趣。我真的很喜欢 Jekyll::StaticComments 的想法,即评论存储在 中,但显然这只有在 git 提交中才能实现。也许可以有一个混合表单,它显示来自问题跟踪器的评论,直到所有者将它们移动到(也显示),理想情况下是以一种自动化的方式。_comments_comments