功能的实现(引用 Giscus 官方的介绍)
利用 GitHub Discussions 实现的评论系统,让访客借助 GitHub 在你的网站上留下评论和反应吧!本项目深受 utterances 的启发。
- 开源。🌏
- 无跟踪,无广告,永久免费。📡 🚫
- 无需数据库。所有数据均储存在 GitHub Discussions 中。:octocat:
- 支持自定义主题!🌗
- 支持多种语言。🌐
- 高可配置性。🔧
- 自动从 GitHub 拉取新评论与编辑。🔃
- 可自建服务!🤳
安装 Giscus
选择静态博客部署的 repo(非源码 repo), 选择 Settings
>> 勾选 Discussions
.
访问此链接 https://github.com/apps/giscus
安装 Giscus. 点击 Install
后,依次选择 Only select repositories
>> Select repositories
选择自己的静态博客 repo, 最后点击 Install
完成安装。
配置 Giscus
需要访问 Giscus 官网来获取相应的配置信息,随后将配置信息写入到主题的对应页面里。
选择语言
>> 选择 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
部署完后进行验证。
效果展示
参考本博客的评论区