经过了一天的折腾,我终于为自己的博客添加上了评论系统。坦率的讲,为什么网上那么多方案我还要自己写一篇博客,那就是因为他们说的都有bug,所以我要自己总结一下。

  我选用的是gitalk评论系统,原因是因为它可以直接在github上管理评论,不需要在别的平台注册,特别方便。下面我来详细说一下hexo博客是如何添加gitalk评论的。

  先看一下效果:

一、配置github

  首先进入github,点击右上角头像【Settings】->【Developer settings】->【OAuth Apps】->【New OAuth App】进行基本配置(一定要细心,看清截图中的红字)。

  上面的填写成功之后进入,我们需要的是生成的Client ID Client Secret

二、博客配置

  上面的确认无误后,我们进行配置博客,引入gitalk。

  首先进入主题的配置文件_config.yml(注意是主题的配置文件,不是博客根目录下的配置文件),添加gitalk配置(一定要仔细,缺一不可)。

gitalk:
enable: true 开启gitalk评论,不需要配置
owner: github用户名
admin: github用户名
repo: 博客的仓库名称(注意不是地址)
ClientID: 上面生成的Client ID
ClientSecret: 上面生成的Client Secret
labels: 'gitalk' github issue 对应的issue标签(新建一个)
distractionFreeMode: true 无干扰模式,不需要更改

   下面是我的配置:

   上面配置完毕后,进入主题目录->【layout】->【_partial】->【post】目录,在当前目录下新建一个gitalk.ejs文件,写入如下代码:

<link rel="stylesheet" href="https://unpkg.com/gitalk/dist/gitalk.css">
<script src="https://unpkg.com/gitalk/dist/gitalk.min.js"></script>
<script src="https://priesttomb.github.io/js/md5.min.js"></script>
<script type="text/javascript">
new Gitalk({
clientID: '手动马赛克',
clientSecret: '手动马赛克',
repo: 'qisi007.github.io',
owner: 'qisi007',
admin: 'qisi007',
id: md5(location.pathname),
distractionFreeMode: true
}).render('gitalk-container')
</script>

   里边的配置我就我说了,和上面的一摸一样,然后进入上一级的目录,路径是

主题目录->【layout】->【_partial】下的article.ejs文件最后面加入下边的代码:

<% if (theme.gitalk.enable){ %>
<div id="gitalk-container"></div>
<%- include post/gitalk.ejs %>
<% } %>

  好了,到此为止,所有的配置就完成了。

  执行命令hexo d -g打包发布,过几分钟应该能看到效果了,应该能看到效果了。

  评论管理页面在仓库的issue里边。

三、问题

  大部分问题都是因为Homepage URLAuthorization callback URL这两个地址错误引起的,比如服务器错误,或者是点击登录跳转到博客主页等等。

  还有个问题是进入博客详情页后,评论插件上面显示Error: Validation Failed, 这是因为文章名称经URL编码后添加到issues的label里,但是label的长度上限是50个字符,所以文章名有些长的都会生成label失败,也就没办法评论了。

  所以上面我们用到了md5,文章名经URL编码后转MD5,然后再生成label,这样就不会超过长度了。

四、写在最后

   我的博客主题用的是freemind,这是一个复古风格的主题,这个主题本身不带评论插件的,本人进行了二次封装,修改了一些样式和bug,并上传到了自己的github中,欢迎star。 传送门

个人博客主页:传送门

开源项目(react-admin-plus):传送门

hexo博客添加gitalk评论系统的更多相关文章

  1. Hexo博客添加SEO-评论系统-阅读统计-站长统计

    原文地址:→传送门 写在前面 在五月出捣腾了一把个人博客,但是刚开始只做了一些基础设置,套路也没摸清,基础安装篇请看hexo从零开始到搭建完整,里面讲到了基础工具的安装及blog项目的文件夹含义,以及 ...

  2. 为博客添加 Gitalk 评论插件

    背景 Disqus需要翻墙才能正常使用 畅言有广告 2种评论系统都很难统一管理 优化 使用Gitalk评论插件 , gitalk 使用 Github 帐号登录,界面干净整洁,支持 MarkDown语法 ...

  3. Jekyll博客添加Valine评论

    Jekyll博客添加Valine评论 关于github搭建jekyl博客,在这里不做过多描述,详情参考: 百度搜索关键字:github搭建jekyll博客 官网:https://www.jekyll. ...

  4. 【干货】2个小时教你hexo博客添加评论、打赏、RSS等功能 (转)

    备注:该教程基于Hexo 2.x版本,目前Hexo是3.x版本,照本教程实现有可能会出现404错误,笔者目前还未找时间去解决,待笔者找时间解决该问题后,再写一篇该问题的解决教程,给各位读者带来困扰,还 ...

  5. 为hexo博客添加基于gitment评论功能

    关于gitment gitment其实就是利用你的代码仓库的Issues,来实现评论.每一篇文章对应该代码仓库中的 一个Issues,Issues中的评论对应你的博客每篇文章中的评论.如果你是用git ...

  6. Hexo 博客快速整合gitalk组件,给静态博客添加动态评论功能!

    什么是 hexo-plugin-gitalk

  7. hexo博客添加功能

    设置Hexo主题模式 Hexo主题中,有三种不同的模式,通过切换模式,让NexT主题显示不一样的样式.在NexT根目录下有一个同样名称为_config.yml,为了区分hexo根目录下的_config ...

  8. [转]Hexo博客添加访问统计 - 记录

    引入不蒜子 <script async src="//dn-lbstatics.qbox.me/busuanzi/2.3/busuanzi.pure.mini.js"> ...

  9. Hexo博客搭建以及Next主题美化的经验之谈

    这并不是一篇博客搭建教程.内容主要包含个人对于Hexo博客搭建的心得,Next6.0主题美化的部分建议,以及摘录一些各种用于博客搭建的link. 在博客园3年6个月,确实也学到了很多,博客园也是目前为 ...

随机推荐

  1. Hadoop 2.6.1 集群安装配置教程

    集群环境: 192.168.56.10 master 192.168.56.11 slave1 192.168.56.12 slave2 下载安装包/拷贝安装包 # 存放路径: cd /usr/loc ...

  2. Spring是如何解决循环依赖的

    前言 在面试的时候这两年有一个非常高频的关于spring的问题,那就是spring是如何解决循环依赖的.这个问题听着就是轻描淡写的一句话,其实考察的内容还是非常多的,主要还是考察的应聘者有没有研究过s ...

  3. 需要分析竞争对手的网站哪些SEO数据

    http://www.wocaoseo.com/thread-10-1-1.html        怎样分析竞争对手的网站?在做网站的前我们会对同行的竞争对手进行研究和分析,对判定同行的关键词竞争程度 ...

  4. Netty源码分析之ByteBuf(一)—ByteBuf中API及类型概述

    ByteBuf是Netty中主要的数据容器与操作工具,也是Netty内存管理优化的具体实现,本章我们先从整体上对ByteBuf进行一个概述: AbstractByteBuf是整个ByteBuf的框架类 ...

  5. Htmlcss学习笔记1——html基础

    Hyper text markup language 超文本标签语言.不是一种编程语言,而是一种标记语言标记语言是一套标记标签 开发工具 chrome subline vscode photoshop ...

  6. bzoj1590 Secret Message

    Description 贝茜正在领导奶牛们逃跑.为了联络,奶牛们互相发送秘密信息. 信息是二进制的,共有M(1≤M≤50000)条.反间谍能力很强的约翰已经部分拦截了这些信息,知道了第i条二进制信息的 ...

  7. FIddlerd的下载教程和使用教程

    ------------恢复内容开始------------ .打开官网,官网下载地址是https://www.telerik.com/download/fiddler .打开以后选择你的相关信息如下 ...

  8. 手把手教你 在Pytorch框架上部署和测试 关键点人脸检测项目DBFace,成功实现人脸检测效果

    这期教向大家介绍仅仅 1.3M 的轻量级高精度的关键点人脸检测模型DBFace,并手把手教你如何在自己的电脑端进行部署和测试运行,运行时bug解决. 01. 前言 前段时间DBFace人脸检测库横空出 ...

  9. 转载:MySQL万字总结篇

    转载自:https://database.51cto.com/art/202001/609409.htm 开局一张图 这张图是重点!!!咱要先对 MySQL 有一个宏观的了解,知道他的执行流程. 一条 ...

  10. java 将本地文件或网络文件与base64互相转换

    一:将网络文件转为Base64 将文件转为base64 public static String fileToBase64(String url){ int byteread = 0; String ...