gitment icon indicating copy to clipboard operation
gitment copied to clipboard

关于初始化评论失败的问题

Open LeonDevLifeLog opened this issue 8 years ago • 7 comments

初始化评论框的时候会报错,在create issues时,post的title是空串 暂时把问题定位到gitment.js的53行和156行

平台是Arch Linux,Chrome 版本 59.0.3071.109(正式版本) (64 位) 浏览器代理信息:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.109 Safari/537.36

deepinscreenshot20170625115535 deepinscreenshot20170625115605

LeonDevLifeLog avatar Jun 25 '17 04:06 LeonDevLifeLog

image

jackRoadOnTop avatar Feb 02 '18 03:02 jackRoadOnTop

出现一个问题,若新建中文标题的文章(中文+英文),操作初始化评论,就会报错Error: Validation Failed,初始化评论请求,返回Status Code:422 Unprocessable Entity 。如果文章名字是纯英文,初始化评论正常。已经修改站点配置文件language: zh-Hans,现在使用Next主题,5.1.4(已经集成gitment),希望得到回复

jackRoadOnTop avatar Feb 02 '18 03:02 jackRoadOnTop

出现 Error:validation failed

我想到一个更好的方法,用文章的时间,这样长度是保证在50个字符内,完美解决! id: '<%= page.date %>'

具体原因可以查看我博客:http://ihtc.cc/2018/02/25/2018-02-25%20_Gitment评论功能接入踩坑教程/

iHTCboy avatar Feb 25 '18 05:02 iHTCboy

在 themes\next\layout_third-party\comments 目录下修改gitments.swig,找到以下代码修改

      function renderGitment(){
        var gitment = new {{CommentsClass}}({
-           id: window.location.pathname,
+           id: '{{ page.date }}',
            owner: '{{ theme.gitment.github_user }}',
            repo: '{{ theme.gitment.github_repo }}',
            {% if theme.gitment.mint %}
            lang: "{{ theme.gitment.language }}" || navigator.language || navigator.systemLanguage || navigator.userLanguage,
            {% endif %}

之后重新hexo g -d就ok了,请保证没有浏览器缓存。

YummyLau avatar Mar 02 '18 03:03 YummyLau

我的博客系统是 hugo, 也遇到了这个问题,采取的策略是优先采用 URL,不行再使用 UniqueID:

            var page_url = decodeURI({{ .URL }});
            var page_uniqueid = "{{ .UniqueID }}";

            if (page_url.length >= 50) {
              console.log("文章的路径", "[" + page_url + "]:" + page_url.length, "超过了50个字符,使用 UniqueID 设置评论ID");
              comment_id = page_uniqueid
            } else {
              comment_id = page_url
            }

关于 hugo 模板中 URIUniqueID的说明: 文档地址

注: UniqueID是根据文章的文件名生成的哈希值。

bwangelme avatar Aug 19 '18 08:08 bwangelme

我也遇到422的返回,当不设置id参数时候会遇到,后来给id设置为location.href.match(/.*\/([^\.]*?)\.html/)[1]则正常

zl-leaf avatar Aug 23 '18 15:08 zl-leaf

记录,我也遇到,但是我的问题不是label字符超过50个,而是标题中包含了英文半角的, 可以改成中文逗号,希望有帮到后来人。

https://github.com/Sogrey/Sogrey.github.io/issues/28#issuecomment-570901237

Sogrey avatar Jan 05 '20 11:01 Sogrey