头图

Giscus:让每一条见解直达GitHub,用Giscus开启网站与社区的无缝对话新纪元!- 精选真开源,释放新价值。

image

概览

纯静态网站或博客,由于没有数据存储功能,经常借助第三方的评论系统以插件的方式集成进来,而又以 Github 的 Discussions 和 Issues 功能实现的居多。

Giscus是一款轻量级开源的评论系统,它巧妙地利用了GitHub的功能来为网站提供讨论服务。这个系统的核心是整合GitHub Discussions API,使得用户可以直接在对应的GitHub仓库内发起和参与讨论,这些讨论随后会被同步显示在嵌入Giscus评论系统的网站页面上。通过这种方式,Giscus不仅为网站访客提供了便捷的评论功能,还鼓励了更透明和社区驱动的对话模式,因为所有的评论都会成为GitHub社区的一部分,并遵循GitHub的讨论规则和特性,比如支持markdown格式、@提及、问题链接以及GitHub身份验证等。

对于托管在GitHub Pages上的静态博客或其他项目来说,Giscus是一个理想的选择,因为它可以无缝集成到这些项目中,无需额外的服务器维护成本,同时还能促进开发者社区的交流和互动。由于其基于GitHub生态构建,Giscus能够吸引那些已经熟悉GitHub平台的开发者和技术爱好者,进一步提升网站的社交化和技术友好性。

giscus如何运作呢?giscus 加载时,会使用 GitHub Discussions 搜索 API 根据选定的映射方式(如 URL、pathname、<title> 等)来查找与当前页面关联的 discussion。如果找不到匹配的 discussion,giscus bot 就会在第一次有人留下评论或回应时自动创建一个 discussion。访客如果想要评论,必须按照 GitHub OAuth 流程授权 giscus app 代表它发布,或者可以直接在 GitHub Discussion 里评论。你可以在 GitHub 上管理评论。

Giscus有以下优势:

  • 开源。
  • 无跟踪,无广告,永久免费。
  • 无需数据库。全部数据均储存在 GitHub Discussions 中。
  • 支持自定义主题!
  • 支持多种语言。
  • 高度可配置。
  • 自动从 GitHub 拉取新评论与编辑。
  • 可自建服务。

截至发稿概况如下:

语言占比
TypeScript83.7%
CSS13.1%
JavaScript3.2%
  • 收藏数量:7.1K

主要功能

如何使用Giscus?以下是使用Giscus添加评论框架的步骤:

  • 在GitHub上创建一个新存储库

首先,在GitHub 上创建一个新的存储库。此存储库将用于管理您网站上的所有评论。

  • 在存储库设置中启用Issues

在新创建的存储库设置中,启用 “Issues” 功能。这是管理评论所必需的功能。

  • 访问Giscus官方网站按照提示进行配置

现在,访问Giscus官方网站并按照提示进行配置。您需要输入一些必要的详细信息,例如存储库名称、GitHub 用户名和令牌等。Giscus会自动创建一个包含评论框架的嵌入代码,您只需将其添加到网站的页面中即可。

点击https://github.com/apps/giscus进入giscus安装页面。

image

开启Discussion:然后打开之前选择的仓库,进入设置界面,勾选上 Discussions 以开启该仓库的 Discussions。

image

完成上述准备工作后就可以访问 giscus 官网:https://giscus.app/zh-CN获取配置信息了,具体如下:

①标记处填写之前选择的仓库。

②标记处处理页面和discussion的映射关系。

最后就是选择后面 giscus 创建的 discussion 的分类,一般选择 Announcements,因为 Announcements 类型的 discussion 只有管理员才有权限操作,这样便于管理。

image

上面几个地方配置完成后,页面往下滑,会生成一个配置文件:

image

  • 学习Giscus的高级功能

一旦您了解了Giscus的基础知识,并成功将其添加到您的网站中,您可以深入学习其高级功能。其中一些功能包括:

  • 使用Giscus API:使用Giscus API可以访问评论数据、创建新评论、编辑现有评论等。
  • 嵌入评论框架:通过使用Giscus提供的自定义选项,您可以更改评论框架的颜色、大小和其他外观属性。
  • 使用主题和语言包:Giscus 提供了许多预定义的主题和语言包,您可以根据自己的需要进行更改或创建自己的主题和语言包。
  • 集成Giscus到您的网站或应用程序中

在深入学习Giscus的高级功能后,您可以将其集成到您的网站或应用程序中。这将帮助您为您的网站访问者提供出色的评论功能,并增强您的用户互动性。

将上面获取到的配置信息添加到博客主题对应的位置即可。

[params.page.comment]
enable = true
[params.page.comment.giscus]
# You can refer to the official documentation of giscus to use the following configuration.
# 你可以参考官方文档来使用下列配置
enable = true
repo = ""
repoId = "xxx"
category = "Announcements"
categoryId = "xxxx"
mapping = "pathname"

预览

点开一篇文章,滑到底部会看到评论区,大概长这样:

image

通过 github 登录后即可参与评论。

discussion

有人评论后,giscus 会自动在配置好的仓库的 discussion 里创建一条数据用于保存评论。大概长这样:

image

在这里可以对评论进行管理。


遐想

Giscus是一款独具创新性的开源评论系统,以其深度整合GitHub Discussions的特性赢得了广大开发者的青睐。它将网站内容的评论板块与GitHub仓库中的讨论无缝对接,实现了线上讨论的一体化管理,使网站访客能够在参与评论的同时,直接参与到项目的GitHub社区中去,极大地提升了用户体验与社区互动性。

使用Giscus的网站不仅能获得简洁、高效的评论功能,还可享受到GitHub原生的Markdown编辑支持、用户身份认证以及丰富的社交互动体验。尤其对于托管在GitHub Pages上的项目,Giscus无疑为其提供了一种轻量级且高效率的评论解决方案,无需额外服务器资源即可搭建起活跃的社区讨论环境。

您是否尝试过在您的项目中采用Giscus作为评论系统呢?您认为这种依托于GitHub生态的讨论方式,会给技术社区带来哪些深远的影响或挑战?各位在部署和使用 giscus 的过程中是否发现了什么问题?欢迎分享您的使用体验和观点!!!


声明:本文为辣码甄源原创,转载请标注"辣码甄源原创首发__"__并附带原文链接。


辣码甄源
13 声望21 粉丝

开源软件综合服务商,为开源人员提供可持续发展通道、为学习人员提供便捷学习渠道、为企业方提供开源定制化落地方案,发现、助力、合作、共赢开源好项目