换了个主题,果然gitment又出问题了,还好上次折腾时做了记录。这次没费多少力气就搞定。
再次整理如下:

  1. 访问过期的https域名问题:
    这是因为各大主题之前用的gitment.browser.js文件都是老的api地址:

    https://gh-oauth.imsun.net

    这个域名已经过期了,但是一般我们没有精力自己做一个云服务器去处理github的登录校验问题,所以最好是找一个现成的替代,所幸有人已经做了个:

    https://cors-anywhere.herokuapp.com/https://github.com/login/oauth/access_token

    gitment.browser.js文件中找到对应url替换掉即可。如果该文件没有放在源码中而是直接通过url引用的,那么也可以引用这个已经改好的文件:

    https://cdn.jsdelivr.net/gh/theme-next/theme-next-gitment@1/gitment.browser.js


  1. 初始化评论(创建issue)失败的问题:
    这是new Gitment时id参数太长导致的,大部里主题里创建评论的代码如下:
1
2
3
4
5
6
7
8
9
var gitment = new Gitment({
id: window.location.pathname.substring(1,window.location.pathname.length),
owner: '#{theme.gitment.owner}',
repo: '#{theme.gitment.repo}',
oauth: {
client_id: '#{theme.gitment.client_id}',
client_secret: '#{theme.gitment.client_secret}',
},
})

id用location.pathname很容易超长,改成title就好很多了:

1
id: '#{page.title}' ,

收工!