428 字
2 分钟
为你的Blog添加giscus评论
最近把博客的主题从Akiba换到了功能更加完善的Fuwari,非常蛋疼的是,Fuwari默认并不支持任何一款评论系统。想要评论,只能对源码进行一些修改。
好在有现成的作业可以抄 Good-Github-Copy-And-Paste
Giscus
先在Github创建一个公开的仓库并开启评论用来存放评论。
IMPORTANT该仓库必须是公开的,否则访客将无法查看 discussion。
然后在这里安装Giscus App
在这里填入用来存储评论的仓库
映射填pathname:以文章路径区分评论区,即使换域名也能匹配
特性我只开启了懒加载
生成的js应该如下所示
<script src="https://giscus.app/client.js" data-repo="YOUR_REPO_NAME" data-repo-id="REPO_ID" data-category="Announcements" data-category-id="CATEGORY_ID" data-mapping="title" 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>Astro的魔改
创建Giscus的预制代码
在src目录下的components目录中新建Giscus.astro
把上面生成的js粘贴进去
修改文章页面
找到负责渲染文章的 astro 文件,其应该在pages目录下(这其实与其他框架是类似的,也就是网站由 “页面” 构成,其中会有一个页面是显示文章的)
在 Fuwari 主题中,其应该在src->pages->posts->[...slug].astro,对其进行修改:
---import CommentSection from '@components/Giscus.astro'---... <!-- 文章渲染主元素 --> <div> ... <!-- 最后一个元素 --> <div> ... </div> <CommentSection /> </div>...如果以 Fuwari 主题为例,其应该放置在版权信息下
<div> ...
{licenseConfig.enable && <License ...></License>}
<CommentSection /></div>应该就可以了

一些问题
由于Giscus的js并没有使用主题的css,所以在某些情况下,比如说深色模式下有些文字和太刺眼/难以看清,还需要进一步的优化。
为你的Blog添加giscus评论
https://www.suikol.top/posts/astro-giscus/