添加Gitalk评论插件


添加Gitalk评论插件

前言

看到很多博客,都有留言功能,hexo搭建的静态博客是不是也可以实现类似的功能。一查发现有很多类似插件,但是评论比较好的是Gitalk插件,需要评论者使用github账号登录,而且访问速度也比较快。

插件介绍

Gitalk使用github账号登录,支持MarkDown语法。

Gitalk是利用Github API,基于Github issuePreact开发的评论插件,也就是如果有用户进行评论,其实就是在对应的issue上提问题。

插件使用

最标准的还是看官方教程说明

https://github.com/gitalk/gitalk#install

说明很简洁,也就3步。

  1. 增加一个div在我们的页面(page)上

    <div id="gitalk-container"></div>
  2. 然后使用javascript代码生成gitalk插件

    const gitalk = new Gitalk({
      clientID: 'GitHub Application Client ID',
      clientSecret: 'GitHub Application Client Secret',
      repo: 'GitHub repo',
      owner: 'GitHub repo owner',
      admin: ['GitHub repo owner and collaborators, only these guys can initialize github issues'],
      id: location.pathname,      // Ensure uniqueness and length less than 50
      distractionFreeMode: false  // Facebook-like distraction free mode
    })
    
    gitalk.render('gitalk-container')

    配置参数有很多,大部分时候,只要关注主要的几个即可。

    • clientID: GitHub Application Client ID 【需要一个 Github Application,后面说】
    • clientSecret: GitHub Application Client Secret
    • repo: Github 仓库名 【只要写参考名即可!存储评论issue的Github参考名(建议直接用GitHubPage的仓库名)】
    • owner: Github 用户名
    • admin: [Github 用户名] 【这个仓库的管理员,可以有多个,用数组表示,一般写自己】
    • id: location.pathname 【页面的唯一标识,gitalk会根据这个标识制动创建issue的标签,我们使用页面的相对路径作为标识即可】
  3. 上面提到必须有一个Github Application

    Github Application, 申请地址

    填写好参数:

    • Application name: 就是App的名字,任意起

      我这里写BY Blog

    • Homepage URL: App的地址,写自己博客仓库地址就好。

      我这里写https://github.com/lmwings/lmwings.github.io.git

    • Application description: 简单写下描述

      我这里写BY Blog

    • Authorization callback URL: 回调地址,也写自己博客地址就好

      我这里写https://www.lmwings.top

    点击Register application创建应用。

  4. 生成的页面会有

    (数字做了伪造处理)

    Client ID
    0123esadf950656f3339b6
    Client Secret
    7ed5373372d9gecf3be09c4sde6724015bwweb1

    设置好参数提交,应该就可以出现评论框了。

我的使用

因为我用的是hexo,使用的主题是matery, 本身主题支持了这个插件,所以我不需要去关注代码层面的东西,只要把生成的Client IDClient Secret等配置好就好。

在主题的_config.yml下,修改# Gitalk 评论模块的配置,默认为不激活

# the Gitalk config,default disabled
# Gitalk 评论模块的配置,默认为不激活
gitalk:
  enable: true
  owner: lmwings
  repo: lmwings.github.io
  oauth:
    clientId: 0123e932340656f3c89b6
    clientSecret: 7ed52348272d23412cf3be09c3342401532b200b1
  admin: lmwings

把代码上传到参考,会自动触发travis ci, 然后部署

问题

启用以后,需要给每一篇都建一个issus,否则没地方评论。手动建立也是很麻烦的,有没有更加方便的方法呢?


文章作者: Wang Kang
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Wang Kang !
评论
 上一篇
Hexo SEO优化 Hexo SEO优化
HEXO SEO优化为了让网站已经文章可以让搜索引擎更加友好,需要做一些SEO优化 生成网站地图 安装sitemap # 生成sitemap.xml适合提交给谷歌搜索引擎 npm install hexo-generator-sitemap
2020-02-12
下一篇 
一套鼠标键盘控制局域网多台电脑 一套鼠标键盘控制局域网多台电脑
一套鼠标键盘控制局域网多台电脑说明在家里,有好几天电脑,大部分至少一台台式机,一台笔记本。有时候需要一起使用,但是又不想来回切换鼠标和键盘。有没有版本在同一台电脑上一起操作呢? 方法一:设置电脑允许远程,在主电脑上进行连接访问 方法二:使
2020-02-10
  目录