基于GitHub的开源讨论系统,赋予网站交互可能

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

概览

纯静态网站或博客,由于没有数据存储功能,经常借助第三方的评论系统以插件的方式集成进来,而又以 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 拉取新评论与编辑。

  • 可自建服务。

截至发稿概况如下:

  • 软件地址:https://github.com/giscus/giscus

  • 软件协议:MIT

  • 编程语言:

语言

占比

TypeScript

83.7%

CSS

13.1%

JavaScript

3.2%

  • 收藏数量:7.1K


主要功能

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

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

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

  • 在存储库设置中启用Issues

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

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

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

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

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

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

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

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

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

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

  • 学习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"

  • 预览

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

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

  • discussion

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

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


遐想

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

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

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


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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/810577.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp 编译后分包下静态图片404问题解决方案

如上图官方说明&#xff1a; 在分包下建立一个static文件夹即可&#xff1a; 分包内代码引用图片 <image src"/分包名称/img/图片名称"></image> <image src"/dataView/img/图片名称"></image>

图书整理 I 1、返回列表 2、头插法,返回链表 3、尾插法,返回链表

返回列表 class Solution:def reverseBookList(self, head: Optional[ListNode]) -> List[int]:li []while head:li.append(head.val)head head.nextreturn li[::-1]头插法&#xff0c;返回链表 class ListNode:def __init__(self, item):self.val itemself.next None…

Rust教程 – 学习天文图像的多尺度处理

最近&#xff0c;人们投入了大量精力开发新颖的图像处理技术。其中许多技术都源自于傅里叶和小波变换等数字信号处理方法。 这些技术不仅使得各种图像处理技术如降噪、锐化和动态范围扩展成为可能&#xff0c;而且还使得计算机视觉中使用的许多技术如边缘检测、目标检测等成为…

RobotFramework测试框架(7)-SeleniumLibrary常用关键字

浏览器操作 打开浏览器 Open Browser urlhttps://www.baidu.com browseredge关闭浏览器 Close Browser最大化浏览器 Maximize Browser Window设置浏览器宽高 Set Window Size 800 600刷新页面 Reload Page iframe操作 选中指定iframe Select Frame loc…

SQL执行流程图文分析:从连接到执行的全貌

SQL执行总流程 下面就是 MySQL 执行一条 SQL 查询语句的流程&#xff0c;也从图中可以看到 MySQL 内部架构里的各个功能模块。 MySQL 的架构共分为两层&#xff1a;Server 层和存储引擎层&#xff0c; Server 层负责建立连接、分析和执行 SQL。MySQL 大多数的核心功能模块都在…

Navicat连接SQL server出现:[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序(0)

问题 解决方法 一 找到Navicat的安装路径&#xff0c;然后找到sqlncli_x64.msi文件并安装&#xff0c;安装成功后重启Navicat重新进行连接&#xff0c;看是否成功。 解决方法 二 如果方法一没有找到找到sqlncli_x64.msi 还是Navicat的安装路径&#xff0c;然后找到msodbcsql_64…

03-JAVA设计模式-适配器模式

适配器模式 设么是适配器模式 它属于结构型模式&#xff0c;主要用于将一个类的接口转换成客户端所期望的另一种接口&#xff0c;从而使得原本由于接口不兼容而无法协同工作的类能够一起工作。 适配器模式主要解决的是不兼容接口的问题。在软件开发中&#xff0c;经常会有这…

第三十八节 Java 多线程编程

Java 给多线程编程提供了内置的支持。一个多线程程序包含两个或多个能并发运行的部分。程序的每一部分都称作一个线程&#xff0c;并且每个线程定义了一个独立的执行路径。 多线程是多任务的一种特别的形式。多线程比多任务需要更小的开销。 这里定义和线程相关的另一个术语&…

信号值解读

dBm&#xff08;分贝毫瓦&#xff09;和RSRP&#xff08;参考信号接收功率&#xff09;都是用于表示无线信号强度的单位&#xff0c;但它们在概念上有所不同。 dBm&#xff1a;dBm是一种表示功率的单位&#xff0c;用于测量无线传输网络中信号的强度&#xff0c;它表示以毫瓦为…

代码随想录算法训练营day38

509. 斐波那契数 五部曲&#xff1a; dp数组下标及含义&#xff1a;dp[i]表示第i个斐波那契数的值dp数组初始化&#xff1a;dp[0]0&#xff0c;dp[1]1递推公式&#xff1a;dp[i] dp[i - 1] dp[i - 2]遍历方向&#xff1a;从前往后dp数组推到举例&#xff1a;0&#xff0c;1…

【错误分享】打开Qt编译生成的软件,“无法找到入口”

错误简介 这张图片显示的是一个计算机错误提示窗口&#xff0c;标题为“无法找到入口”。正文内容是&#xff1a;“无法定位程序输入点_Z21qRegisterResourceDataaiPKhS0_S0_于动态链接库Qt5Core.dll上。” 这意味着在尝试运行程序时遇到了问题。 具体来说&#xff0c;该错误表…

Vue内置组件Transition用法介绍

Vue 提供了两个内置组件&#xff0c;可以帮助你制作基于状态变化的过渡和动画&#xff1a; <Transition> 会在一个元素或组件进入和离开 DOM 时应用动画。本章节会介绍如何使用它。 <TransitionGroup> 会在一个 v-for 列表中的元素或组件被插入&#xff0c;移动&a…

从大量数据到大数据,King’s SDMS仪器数据采集及科学数据管理系统的应用

对于实验室或检测机构&#xff0c;仪器设备是所有业务开展的基础&#xff0c;数据则是核心命脉&#xff0c;而传统的仪器设备原始数据收集方式&#xff0c;效率低耗时长、操作流程不规范、不易保存与查找、错误率高、易篡改等成了制约检测机构持续高速发展的瓶颈和弊端&#xf…

单例19c RMAN数据迁移方案

一、环境说明 源库 目标库 IP 192.168.37.200 192.168.37.202 系统版本 RedHat 7.9 RedHat 7.9 数据库版本 19.3.0.0.0 19.3.0.0.0 SID beg beg hostname beg rman 数据量 1353M 说明:源库已经创建数据库实例&#xff0c;并且存在用户kk和他创建的表空间…

新规来了!智能音视频技术重塑信贷体验

近日&#xff0c;国家金融监督管理总局发布《固定资产贷款管理办法》《流动资金贷款管理办法》《个人贷款管理办法》&#xff08;以下简称“三个办法”&#xff09;。 具体来看&#xff0c;新规明确了以下要求&#xff1a; 1、明确视频面签、电子签约要求 允许商业银行通过视…

Oracle 19c RAC集群相关日志

1.DB日志&#xff08;数据库日志&#xff09; Redo Log&#xff08;重做日志&#xff09;&#xff1a; 在Oracle数据库中&#xff0c;重做日志记录了数据库发生的所有修改操作&#xff0c;包括数据的插入&#xff0c;更新和删除。在RAC的环境中&#xff0c;每个实例都有自己的重…

javascript专题一 ---- 使用不同的方法将小数转换为整数方法总结

在 JavaScript 中&#xff0c;我们经常需要将小数转换为整数。以下是我总结的一些常见的方法&#xff1a; 1、Math.floor(): 这个方法会向下取整&#xff0c;返回小于或等于给定数字的最大整数 var num 3.14; var integerNum Math.floor(num); // integerNum 将会是 3 2、…

Ubuntu22.04搭建CLion C++开发环境

Ubuntu22.04搭建CLion C开发环境 文章目录 Ubuntu22.04搭建CLion C开发环境1.首先下载CLion2.配置c环境3.创建快捷方式Reference 1.首先下载CLion 进入官网https://www.jetbrains.com/clion/download/#sectionlinux 然后进入自己存放这个压缩包的路径中&#xff0c; sudo mkd…

SQLite从出生到现在(发布历史记录)(二十二)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;从 SQLite 3.5.9 迁移到 3.6.0&#xff08;二十一&#xff09; 下一篇&#xff1a;SQLite—系列文章目录 引言&#xff1a; SQLite拥有别人无法比拟的装机量&#xff0c;究竟什么成就了SQLite呢&#xff0c;本…

蓝桥杯每日一题:空调(差分)

Farmer John 的 N头奶牛对他们牛棚的室温非常挑剔。 有些奶牛喜欢温度低一些&#xff0c;而有些奶牛则喜欢温度高一些。 Farmer John 的牛棚包含一排 N个牛栏&#xff0c;编号为 1…N&#xff0c;每个牛栏里有一头牛。 第 i&#xfffd; 头奶牛希望她的牛栏中的温度是 pi&am…