记录一下之前配置reimu主题的问题。在配置gitalk作为评论系统的时候,可能会出现因为文章名字过长而导致的label问题。因为gitalk是基于github issue的,而其中github issue对于label长度有限制;gitalk会把文章url拆开填写到label当中,从而导致Error: Validation Failed错误
借用上述链接的做法,我们使用md5码来解决这个问题,配合hexo-reimu-theme主题。
gitalk配置
gitalk是一个基于github issue的评论系统,用户的评论被存储在每个issue当中,每个文章对应一个issue。
cdn导入
参照gitalk的官方文档,可以利用cdn直接导入网页当中。
1 | <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.css"> |
npm导入
参照文档,也可以直接利用npm或者其它包管理导入
1 | npm -i --save gitalk |
OAuth配置
打开自己的github,打开Settings>Developer settings>OAuth Apps,创建一个新的OAuth应用

Homepage URL和Authorization callback URL填写自己的网站链接即可。保存后记住该OAuth应用的id和密码。
配置信息
1 | const gitalk = new Gitalk({ |
然后我们会发现,如果是中文作者写的博客,很有可能触发id过长的问题,随之导致Error: Validation Failed
使用hexo-reimu-theme内嵌md5
如果使用同款主题的话,在hexo-reimu-theme的主题配置_config.yml当中,修改md5字段为true即可
1 | gitalk: |
直接使用md5哈希
借用gitalk上的解决方法,可以利用md5码哈希location.pathname,这样就不会超出label限制了。
导入一个md5包
1 | <script src="https://fastly.jsdelivr.net/npm/blueimp-md5@2.19.0/js/md5.min.js"></script> |
然后在配置gitalk时,哈希location.pathname即可
1 | const hashId = 'md5(location.pathname)' |
说些什么吧!