故事开始

现在基本大多数hexo主题都会配置gittalk插件.要使用的话非常简单,整理全网教程大概可以概括为

  1. 在github开发者设置中创建一个OAuth应用
  2. 新建一个仓库
  3. 在主题的配置文件中gittalk部分进行配置

乍一看简直不需要脑子,但关键的一个位置在这里插入图片描述

却是众说分谈.我不知道是他们并没有亲自体会只是进行了简单的复制粘贴,还是随着时代的变迁gittalk插件更改了参数类型.总之经过我的尝试,这里要直接填写仓库名

不然就会出现ERROR:NOT FOUND错误

故事尝试

这一部分可能大家感兴趣的不多,但也算一个寻找bug的过程吧

拼写错误

首先我犯的第一个错误是tm的拼写错误.当时

  • OAuth应用名称为blog_issue
  • 仓库名为blog_issue
  • gittalk配置填写的是blog-issus

当时我随机排列组合了很久也没找到问题所在.所幸一个月后我终于发现了自己的愚蠢行为

下划线影响

后来当我成功把中划线改成下划线,把issus改成issue后发现还是不行.于是猜测是不是下划线的影响.于是我就把所有名称统一改成了issue

虽然没有证据证明确实是下划线的影响.但是当我仓库名,OAuth应用名,gittalk配置repo参数都是issue时,运行没有问题

是否添加末尾github.io

大部分答案都说要在gittalk插件的repo参数填写形如issue.github.io模样的字符串,但是打开开发者工具你会发现报错的时候是有一条get请求的

url大概为https://api.github.com/repos/chantAria/issue.github.io/issues?labels=Gitalk,%2F2021%2F01%2F13%2FflaskThread%2F&t=1611069022291

咱们亲自尝试输入这个网址

在这里插入图片描述

果然是这个NOT FOUND错误.

这时只要我们调整url不断尝试,就会发现

在这里插入图片描述

当我们去掉github.io后缀后,get请求可以得到正常返回

(如果你的仓库评论是空的的话这里返回的应该是一个空的数组[])

回到配置

再次重复下配置,仓库名,OAuth应用名,gittalk配置repo参数都是issue时,运行没有问题

故事结果

本来想测试一下影响gittalk的到底是OAuth应用名还是新建的仓库名的,不过毕竟明天还要考试,也就不了了之.

程序员歪理之一:能用的东西就不要尝试去重构它

最后给大家看一眼我的整个配置

OAuth应用的配置

在这里插入图片描述

这之中,比较有争议的是Application name和Homepage URL.因为我是自己的服务器自己的域名,所以跟一部分使用github page的玩家可能不太一样

至少经过我的尝试,Application name设置成issue,Homepage URL设置成 https://issue.github.io, callback URL设置成自己的域名是没有问题的

仓库配置

在这里插入图片描述

可以看到这里已经有了一个issue,所以我猜测与gittalk配置的repo参数绑定的应该是这个仓库的名称

gittalk参数配置

在这里插入图片描述

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐