添加评论功能
· 阅读需 2 分钟
昨天,我更新了主意。但是,人们没有办法在它下面发表评论。于是,我就研究了一下。
我找到了一个东西叫Giscus。基于GitHub Discussion。
我一看觉得这玩意不错,于是就加了进来。
由于Giscus生成的是<script>,所以实际上我还研究了半天怎么将<script>嵌入到mdx/ts里。
然后我才发现,原来Giscus已经提供了它的React组件!我对React一点了解都没有,但反正看着README就弄好了呗。
我怎么好像写成教程了……
关于Giscus的配置过程,请自行寻找教程。
ts
import Giscus, { Theme } from '@giscus/react';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
import {useColorMode} from '@docusaurus/theme-common';
<Giscus
// 这些id可以去giscus.app上获取
repo={"zhichii/zhichii.github.io"} # 仓库名称
repoId={"..."}
category={"General"} # 我选的,好吧
categoryId={"..."}
// 这里实际上我怕不够精确所以选用了数字mapping
mapping="number"
term="..." // 然后这里我手动管理
// 这些按喜好
reactionsEnabled={"0"}
emitMetadata={"0"}
inputPosition={"top"}
// 下面是对于颜色和语言的同步
theme={useColorMode().colorMode} // 致谢https://zhuanlan.zhihu.com/p/717218474
lang={useDocusaurusContext().i18n.currentLocale}
/>
我还顺便将源代码上传到了仓库了。
下面是本页的评论区。
