内容提要
本文介绍了如何在Hugo静态博客中添加基于GitHub Discussions的Giscus评论功能。Giscus是一个开源、无广告、永久免费的评论系统,支持多种语言和自定义主题。安装过程包括选择仓库、开启Discussions和生成配置,最终在博客文章下方实现GitHub风格的评论功能。
延伸解读
为什么选择 Giscus 而非其他评论系统
文章提到作者比较了 Disqus、Giscus、Twikoo、Valine、Utterances 等评论系统,最终选择 Giscus。其理由包括:Giscus 基于 GitHub Discussions,与 GitHub Pages 天然联结;开源、无跟踪、无广告、永久免费;无需数据库,数据存储在 GitHub Discussions;支持自定义主题和多语言;高度可配置;自动拉取新评论与编辑。这些特性使得 Giscus 成为静态博客的合适选择。
Giscus 的工作原理与评论流程
Giscus 使用 GitHub Discussions 作为数据库。加载时,通过 GitHub Discussions 搜索 API 根据映射方式(如 URL、pathname)查找与当前页面关联的 discussion。若不存在,giscus bot 会在首次评论时自动创建。访客需通过 GitHub OAuth 授权 giscus app 才能评论,也可直接在 GitHub Discussion 中评论,作者可在 GitHub 上管理评论。
在 Hugo 中集成 Giscus 的关键步骤
集成过程包括:选择仓库、安装 giscus app、开启 Discussions、生成配置。然后在 Hugo 配置文件(如 config.toml 或 params.toml)中添加 giscus 参数,如 enable、theme、category、categoryId、mapping、reactionsEnabled、repo、repoId。接着在评论模板(如 comments.html)中引入 giscus 模板,并创建 giscus.html 包含客户端脚本。最后,文章页面底部会显示 GitHub 风格评论
灵活控制评论开关与注意事项
文章指出,如果某篇文章不想开启评论,可在其 Markdown 文件头部添加 comments: false。此外,访客需启用 JavaScript 才能查看评论,因为 Giscus 依赖客户端脚本。作者也提到可自建服务,但未采用,认为文章本身更重要。这些细节帮助读者根据需求调整评论功能。
Q&A
Giscus是什么?
Giscus是一个基于GitHub Discussions的开源评论系统,支持多种语言和自定义主题,且永久免费无广告。
如何在Hugo博客中安装Giscus评论功能?
安装Giscus需要选择一个仓库、开启Discussions并生成配置,最后在主题配置文件中引入Giscus的相关代码。
使用Giscus评论需要什么条件?
访客需要通过GitHub OAuth授权才能评论,评论也可以直接在GitHub Discussions中进行。
Giscus的评论数据存储在哪里?
Giscus的评论数据存储在GitHub Discussions中,无需使用数据库。
如果不想在某篇文章中启用评论,应该怎么做?
在文章的markdown文件头部添加comments: false即可禁用评论功能。
Giscus支持哪些自定义选项?
Giscus支持自定义主题和多种语言,用户可以根据需要进行高度配置。