使用 4 种评论系统为您的文章添加评论(转译)

  • 更新于 26 7月 2023

目前,Tabi 支持四种评论系统:giscusutterancesHyvor TalkIsso

giscus 和 utterances 是开源项目,允许您使用 GitHub 问题(utterances)或讨论(giscus)为您的网站添加评论部分。对于像 Zola 这样的静态站点生成器来说,它们非常完美,因为它们使您的读者能够与您的帖子进行交互并留下评论,而无需传统的后端或数据库。

因为它们是基于 GitHub 的,所以 giscus 和 utterances 需要用户拥有 GitHub 账户并授权相应的应用程序。或者,访客也可以直接在对应的 GitHub 讨论或问题中评论。

两者都是为您的博客添加评论的好工具,但 giscus 有几个优势:

  • 更多主题。
  • 支持反应。
  • 评论回复和对话视图。
  • 更安全:需要启用不安全的内联样式来设置框架的高度;giscus 不需要。
  • 多语言支持:目前仅支持英语;Giscus 支持超过 20 种语言。
  • 更积极的发展:截至本帖发布时,giscus 的最后一次提交是在两天前。utterances 的最后一次提交已经超过一年了。

Hyvor Talk 是一个付费的、注重隐私的评论平台。它提供了与 Giscus 相同的优势,并且还有一些额外的功能,例如管理和垃圾信息检测。

Isso 是一个开源的自托管评论系统,它将评论存储在自己的数据库中。其主要优点之一是隐私性;它不会与第三方共享用户数据。它还具有轻量级和干净的用户界面,使您的访客能够轻松地留下评论。Isso 也支持匿名评论,这可能会增加您的网站上的用户参与度。

设置

基于 GitHub 的系统

配置 both giscus 和 utterances 是非常相似的。首先,访问您想要启用的系统的网站:giscus.apputteranc.es

请参考网站 Configuration 部分中的说明进行设置,并根据您的喜好进行调整。然后在 config.toml : [extra.giscus][extra.utterances] 的适当部分,设置显示在 Enable giscus/utterances 部分( script 代码块)的值。

giscus

Giscus 比 utterances 多了几个设置:

[extra.giscus]
enabled_for_all_posts = false
automatic_loading = true
repo = "yourGithubUsername/yourRepo"
repo_id = "YourRepoID"
category = "Announcements"
category_id = "YourCategoryID"
mapping = "slug"
strict_title_matching = 1  # 1 to enable, 0 to disable.
enable_reactions = 1  # 1 to enable, 0 to disable.
comment_box_above_comments = true
light_theme = "noborder_light"
dark_theme = "noborder_dark"
lang = ""  # Leave blank to match the page's language.
lazy_loading = true

utterances

[extra.utterances]
enabled_for_all_posts = false
automatic_loading = true
repo = "yourgithubuser/yourrepo"
issue_term = "slug"
label = "💬"
light_theme = "github-light"
dark_theme = "photon-dark"
lazy_loading = true

Hyvor Talk

Hyvor Talk 控制台设置您的网站并填写 config.toml 中的设置:

[extra.hyvortalk]
enabled_for_all_posts = false
automatic_loading = true
website_id = "1234"
page_id_is_slug = true
lang = ""
page_author = ""  # Email (or base64 encoded email) of the author.
lazy_loading = true

Isso

要启用 Isso,您首先需要安装并运行一个 Isso 服务器(这里有一个有用的指南)。然后,在 config.toml 中完成这些设置:

[extra.isso]
enabled_for_all_posts = false
automatic_loading = true
endpoint_url = "https://example.com/comments/"  # URL to Isso host.
page_id_is_slug = true
lang = ""
max_comments_top = "inf"
max_comments_nested = "5"
avatar = true
voting = true
page_author_hashes = ""
lazy_loading = true

通用设置

为评论系统设置 enabled_for_all_posts = true 将全局启用它。

或者,通过在单个文章的前置数据中添加系统名称(utterances, giscus, hyvortalk, or isso) = true 来启用评论。例如,这是启用 giscus 的方法

title = "Bears, Beets, Battlestar Galactica: The Dwight Schrute Guide to Life"
date = 2007-04-26
description = "Lessons learned from beet farming and paper sales."

[taxonomies]
tags = ["personal", "beets"]

[extra]
giscus = true

如果您不小心启用了多个系统,您的网站将因错误而无法构建。

如果您的网站有多种语言的匹配文章(如本示例),并且您希望在不同语言之间共享评论,您必须使用 issue_term = "slug"(对于 giscus 和 utterances)或 page_id_is_slug = true(对于 Hyvor Talk 或 Isso)。这将使用 Markdown 文件的名称(不包括语言标签)作为标识符。所有其他选项将为每种语言创建不同的评论区。

在线示例

您将在下面找到使用上面所示设置的 giscus 小部件