跳过正文

为hugo博客添加Gisus评论功能

·1277 字·3 分钟
技术 前端 建站
Ji Binquan
作者
Ji Binquan
现在也没研究明白
目录
博客搭建 - 这篇文章属于一个选集。
§ 4: 本文

一个博客怎么能没有评论系统!Giscus是利用 GitHub Discussions 实现的评论系统,让访客可以借助 GitHub 在网站上留下评论和反应。部署起来还是比较简单的,其具有一下特点(来自官网):

1. 创建并配置Github仓库
#

Giscus需要依靠一个Github仓库来进行部署,仓库需要满足以下三个条件:

  1. 该仓库是 公开的,否则访客将无法查看 discussion。
  2. giscus app 已安装,否则访客将无法评论和回应。
  3. Discussions 功能已 在你的仓库中启用

1.1 创建一个公开的Github仓库
#

直接在Your repositories 下new一个就可以,记得需要选择public

image-20240925094205574

1.2 为仓库启动Discussions功能
#

找到Settings -> General -> Features ,勾选Discussions

image-20240925094547956

image-20240925094631570

1.3 为仓库安装Giscus
#

进入这个网址: GitHub Apps - giscus,点击安装

https://pic.stilig.me/PicGo%2F202306190919754.webp

点击安装后,选择Only select repositories,选择刚才创建的仓库

image-20240925095330936

2. 从官网获取配置信息
#

评论区的html代码与配置信息可以在官网进行自动配置获取,首先进入官网: giscus

2.1 填写仓库名
#

如图所示

image-20240925095745092

其他配置先默认

2.2 配置Discussion 分类
#

选择 Announcements 类型即可

image-20240925095930119

2.3 获取html代码与配置信息
#

启用giscus栏中,即可看到相应代码。

image-20240925100030847

要记下data-repodata-repo-iddata-categorydata-category-iddata-mapping这几个值。

3. hugo配置
#

这里使用的 Hugo 一定要是最新的版本,不然是不支持 Giscus 的

3.1 创建html文件
#

  1. 在hugo项目下 themes/<你的主题文件夹>/layouts/partials/目录下新建 comments.html 文件,填入刚才在官网获取的script脚本代码内容。

    如果使用blowfish主题,具体路径应该是\themes\blowfish\layouts\partials\

  2. 在hugo项目下themes/<你的主题文件夹>/layouts/_default/single.html文件下,加入{{ partial "comments.html" . }}

    {{ partial "header.html" . }}
    
    {{ .Content }}
    
    <footer class="footline">
    	{{with .Params.LastModifierDisplayName}}
    	    <i class='fas fa-user'></i> <a href="mailto:{{ $.Params.LastModifierEmail }}">{{ . }}</a> {{with $.Date}} <i class='fas fa-calendar'></i> {{ .Format "02/01/2006" }}{{end}}
    	    </div>
    	{{end}}
    </footer>
    
    {{ partial "comments.html" . }}
    {{ partial "footer.html" . }}
    

    如果使用blowfish主题,则无需进行这项配置(原本文件中就有)

3.2 toml配置修改
#

进入\config\_default\params.toml,按照如下格式,填入在官网获取到的配置:

[giscus]
    data-repo="[自动生成]"
    data-repo-id="[自动生成]"
    data-category="[自动生成]"
    data-category-id="[自动生成]"
    data-mapping="pathname"
    data-strict="0"
    data-reactions-enabled="1"
    data-emit-metadata="0"
    data-input-position="top"
    data-theme="preferred_color_scheme"
    data-lang="zh-CN"
    data-loading="lazy"
    crossorigin="anonymous"

如图:

image-20240925102017370

如果你是blowfish主题,还需要在[article]配置项中加入一行: showComments = true

image-20240925101845645

这样就可以显示评论啦

image-20240925101903430

参考文献
#

Hugo 添加 Giscus 评论 (stilig.me)

在Hugo上配置giscus评论_hugo 评论 giscus-CSDN博客

giscus

GitHub Apps - giscus

配置 · Blowfish

局部模板(Partials) · Blowfish

博客搭建 - 这篇文章属于一个选集。
§ 4: 本文