Hexo瞎折腾系列(8) - 添加评论系统
前言
Hexo的NexT主题本身就集成了一些评论系统,多说啊之类的已经关闭服务的略过不提,目前比较多人用的有畅言、来必力livere、Gitment、Gitalk、Disqus等。
我刚用的评论系统的时候,网易云跟贴和多说已经gg了,畅言需要备案,Disqus需要FQ,Gitment和Gitalk类似,都需要GitHub账号。经过搜集资料和考虑,我最终还是决定使用Gitment。只是在用了一段时间后,终于还是放弃了Gitment,转而使用来必力livere。
Gitment的优缺点
最初我选择使用Gitment的原因如下:
- Gitment是一个基于GitHub的issue来开发的评论插件,本身很有创意,对于我这种没事看看GitHub的也很有吸引力。
- 使用Gitment进行评论需要有GitHub账号,这无形中过滤掉了一些评论者,毕竟不是谁都有GitHub账号的,也不是谁都能登陆上GitHub的。
- GitHub的评论数据存放在GitHub的issue里,基本不用担心数据丢失或者GitHub关闭服务,毕竟GitHub可是全球最大同性交友社区(滑稽)。
当我美滋滋地享受了Gitment一段时间后,开始发现一些问题:
- GitHub是个神奇的网站,有时候会登陆不上去,这导致我的个人站点加载页面时无法把Gitment加载出来,这使得我的页面长时间处于一片空白的状态,用户体验极差,而且最后页面加载出来了,Gitment评论模块依然没有加载出来。
- 我希望我的站点可以不分国界,所以我将站点分别部署到了Coding.net和GitHub上,这样可以国内外都快速访问到站点(这个需要域名才能实现)。由于国内有些地区在有些时段是无法访问到GitHub的,这将导致我的页面长时间假死。
- Gitment的使用太繁琐,每一篇文章都必须先初始化一遍,才能使用评论系统,如果你有一百篇文章,你就需要手动初始化一百次!虽然后来有脚本一键初始化,但还是很麻烦。
- issue的滥用。因为Gitment是建立的issue之上的,当你的文章越来越多,你会发现你的站点仓库里的issue会越来越多,这就不太友好了。
综上所述,我还是放弃了Gitment,转投了来必力的怀抱。
Gitment使用流程
虽然现在没有使用Gitment了,但这里还是记录下当初遇到的问题,方便回顾或者大家解决类似的困难。
安装模块
使用Gitment需要安装模块:
npm i --save gitment
申请应用ID与密钥
因为Gitment需要GitHub的授权,所以需要先去New OAuth App申请一个密钥,需要填写的内容如下:
Application name:随便写
Homepage URL:这个也可以随意写,就写你的博客地址就行
Application description:描述,也可以随意写
Authorization callback URL:这个必须写你的博客地址
这里只有最后一个callback必须写准确,申请成功后你可以看到ClientID和Client Secret,这个会被使用到,另外注意不要把这个ID和密钥告诉别人--
在主题配置文件中启用
# Gitment
# Introduction: https://imsun.net/posts/gitment-introduction/
gitment:
enable: true
mint: true # RECOMMEND, A mint on Gitment, to support count, language and proxy_gateway
count: true # Show comments count in post meta area
lazy: false # Comments lazy loading with a button
cleanly: false # Hide 'Powered by ...' on footer, and more
language: # Force language, or auto switch by theme
github_user: {you github user id}
github_repo: 随便写一个你的公开的git仓库就行,到时候评论会作为那个项目的issue
client_id: {刚才申请的ClientID}
client_secret: {刚才申请的Client Secret}
proxy_gateway: # Address of api proxy, See: https://github.com/aimingoo/intersect
redirect_protocol: # Protocol of redirect_uri with force_redirect_protocol when mint enabled
这里的配置,只有github_user,github_repo,client_id,client_secret是必须填准确的,其他的可以不使用。
初始化Gitment
到这里为止已经全部配置完毕,接下来只需要登陆你的个人站点,然后手动给每篇文章初始化Gitment就行了。初始化也很简单,打开每篇文章,在下方的评论模块那里点一下初始化就行,以后就可以直接评论了。据说由一键初始化所有文章的脚本,我没用过,不清楚。
Gitment踩坑记录
这里说一下当初折腾了我很久的一个地方,在主题配置文件里有个github_user,这个由于注释写的是Your Github ID,我误以为是要填写的不是用户昵称,而是一串数字id。于是就去了GitHub的api里查看了自己的id,然后填了一串数字进去,之后花费了我几个小时的时间,始终有授权失败的错误,最后终于发现,这个ID其实是要填的用户昵称...orz
GitHub的api地址:https://api.github.com/users/xxx
把这里的xxx随便改成某个用户名,可以拿到对方的json数据,里边有各种用户首页上的数据信息。
更多Gitment踩坑相关的文章可以参考:Gitment评论功能接入踩坑教程
来必力livere的使用
来必力的使用就简单多了,直接去官网注册个账号,拿到来必力City版安装代码里的data-uid,把这个uid填写到主题配置文件里的livere_uid后就行,记得id要和前边的冒号之间有一个空格,否则在启用hexo服务的时候会解析出错。
这样我们的来必力就使用成功了,平时可以去来必力的后台系统查看站点的评论数据等。
如果不会注册安装来必力的,可以看看这篇文章
参考链接
Hexo瞎折腾系列(8) - 添加评论系统的更多相关文章
- Hexo瞎折腾系列(2) - 添加背景图片轮播
动态背景图片插件jquery-backstretch jquery-backstretch是一款简单的jQuery插件,可以用来设置动态的背景图片,以下是官方网站的介绍. A simple jQuer ...
- Hexo瞎折腾系列(3) - 添加GitHub彩带和GitHub Corner
页面右上角添加GitHub彩带 你可以在这里找到一共12种样式的GitHub彩带,复制其中的超链代码. 在themes\next\layout\_layout.swig目录下找到头部彩带相关的代码: ...
- Hexo瞎折腾系列(9) - 网页标题崩溃特效
前言 本系列的所有修改均基于本系列第一篇中的新增文件(譬如custom.js),请先自行阅读Hexo瞎折腾系列(1) - 准备工作与简单美化:并按照文章所说自行修改代码或文件. 为网页添加标题崩溃特效 ...
- Hexo瞎折腾系列(1) - 准备工作与简单美化
前言 网上有不少相关的帖子,不过版本会比较旧,而不同版本可能存在代码不同的问题,不过大部分还是大同小异,本系列就不啰嗦重复了,基本只会按照本人所使用的版本以及个人所使用到的内容来进行介绍. 该系列是对 ...
- Hexo瞎折腾系列(7) - Coding Pages申请SSL/TLS证书错误
问题 今天我的个人站点SSL/TLS证书到期,我的证书是由Coding Pages提供的,每次申请成功后有效期是三个月,证书到期后可以继续免费申请.但是当我登陆进入Coding Pages服务的后台并 ...
- Hexo瞎折腾系列(6) - 将博客同时部署到Github和Coding
前言 由于本人只是将Hexo博客同时部署到 Github 和 Coding.net ,所以这里只介绍怎么同时部署到这两个网站的pages. 之所以选择这两个网站,是因为国外用户可以访问 Github, ...
- Hexo瞎折腾系列(5) - 使用hexo-neat插件压缩页面静态资源
为什么要压缩页面静态资源 对于个人博客来说,优化页面的访问速度是很有必要的,如果打开你的个人站点,加载个首页就要十几秒,页面长时间处于空白状态,想必没什么人能够忍受得了吧.我个人觉得,如果能把页面的加 ...
- Hexo瞎折腾系列(4) - 站点首页不显示文章全文
文章摘要设置 打开主题配置文件 _config.yml 文件,找到如下: # Automatically Excerpt. Not recommend. # Please use <!-- mo ...
- 在Jekyll博客添加评论系统:gitment篇
最近在Github Pages上使用Jekyll搭建了个人博客( jacobpan3g.github.io/cn ), 当需要添加评论系统时,找了一下国内的几个第三方评论系统,如"多说&qu ...
随机推荐
- latex 技巧汇总
最近打算详细的学习一下latex,所以在学习的过程中遇到了一些问题.随时出问题,随时记录更新. 我是萌萌的Latex, x_0. 再写具体的技巧之前,先说一个关于打公式的小技巧.有时候你不知道怎么设置 ...
- zabbix 监控 haproxy 记录
1. 当配置好后,遇到 Value should be a JSON object. 该如何是好? sudo 文件增加: zabbix ALL=(ALL) NOPASSWD: ALL haproxy ...
- Linux- 恢复.swp文件
当我们对Linux文件系统下的文件编辑时,很多新手老手都有可能出现一些失误,在对一个文件编辑或者改动,甚至是不小心按到键盘并没有发现改动到某处时,没有强制退出(:q!)就直接退出,导致文件变成了.sw ...
- highChart数据动态更新
highChart官网上通过ajax加载数据的例子 上面是第一次生成图表的时候使用 我想动态更新,在已经生成的图表上动态更新 chartBS.series[0].setData(sugarListDa ...
- hdu-5816 Hearthstone(状压dp+概率期望)
题目链接: Hearthstone Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Other ...
- 为什么修改头文件make不重新编译
make是根据依赖文件的时间戳来决定要不要重新编译的.在: object: deplist # actions 中,可以把头文件加进deplist,这样修改头文件后,make就会重新编译了. 单纯地修 ...
- HDU4080Stammering Aliens(后缀数组+二分)
However, all efforts to decode their messages have failed so far because, as luck would have it, the ...
- ubuntu关闭cups服务
本人使用的ubuntu10.10每次开机时使用nmap扫描127.0.0.1的时候总是能发现一个631端口开启,在/etc/services找到 631端口是网络打印机服务,但对于我一个普通用户来说这 ...
- Chrome检查更新总失败?安装细则讲解
现在 Google Chrome 的稳定版都已经发布 68.0 版本了,我机上还是 54, 本想在线更新一下,结果点击菜单项中的“关于 Google Chrome”后,进入的界面提示“更新失败(错误: ...
- bzoj 1510 [POI2006]Kra-The Disks——思路
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1510 #include<iostream> #include<cstdio ...