Skip to main content
Nordlys logo, a drawing of two gray mountains with green northern lights in the background 陈迪の自留地

Back to all posts

给博客增加评论功能

Published on by Chen Di · 3 min read

功能的实现(引用 Giscus 官方的介绍)

利用 GitHub Discussions 实现的评论系统,让访客借助 GitHub 在你的网站上留下评论和反应吧!本项目深受 utterances 的启发。

安装 Giscus

选择静态博客部署的 repo(非源码 repo), 选择 Settings >> 勾选 Discussions.

访问此链接 https://github.com/apps/giscus 安装 Giscus. 点击 Install 后,依次选择 Only select repositories >> Select repositories 选择自己的静态博客 repo, 最后点击 Install 完成安装。

配置 Giscus

需要访问 Giscus 官网来获取相应的配置信息,随后将配置信息写入到主题的对应页面里。

conf

选择语言 >> 选择 repo

使用推荐配置即可。

修改 HUGO 模板文件

根据博客主题的不同,修改的位置不是固定的,要参考自己的主题进行修改。

我的方案

在主题layouts/partials/ 目录下新建一个 comment.html 模板,拷贝 Giscus 生成的 script 脚本。

<script src="https://giscus.app/client.js"
        data-repo="jimicat/jimicat.github.io"
        data-repo-id="R_kgDOMxxxxx"
        data-category="Announcements"
        data-category-id="DIC_kwDOM5EFCxxxxx"
        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"
        async>
</script>

layouts/_default/single.html 引用 comment.html 模板

{{ define "main" }}
{{ partial "back_link.html" .}}
<article>
    <p class="post-meta">
        <time datetime="{{ .Date }}">
            {{ .Date | time.Format site.Params.theme_config.date_format }}
        </time>
    </p>
    <h1>{{ .Title }}</h1>
    {{ if and (or (.Params.toc | default true)) (gt (len .TableOfContents) 80) }}
        <aside class="toc">
            {{ .TableOfContents }}
        </aside>
    {{ end }}
    {{ .Content }}
    
    {{ partial "comment.html" .}} <!-- 这里即是引用模板的块 -->
</article>
{{ end }}

提交更改

git add .
git commit -m "add comment func"
git push

Github Action 部署完后进行验证。

效果展示

参考本博客的评论区