搭建独立博客,这款评论插件不能错过

微信公众号因为申请的时间晚,一直到现在都无法开通评论功能,之前博客一直使用的多说作为评论系统,自从多说关闭后,好多年都处于无评论状态,最近发现 gitalk 还不错,所以在博客中进行了对 gitalk 的集成,特此记录。

环境

  • hexo: 3.9.0

  • hexo-cli: 2.0.0

  • theme:maupassant

  • gitalk:1.1.4

使用原因

1、支持 Markdown 语法
2、采用 github issue 实现,比较清爽(无广告)
3、被墙的可能性较小

配置步骤

1、在 github 中创建评论项目
2、在 github 中设置认证
3、在 hexo 中安装 gitalk
4、对 hexo 的主题 maupassant 做相关设置
5、发布

在 github 中创建评论项目

github 中创建一个公开项目,例如,我创建了一个名为 hexo-comments 的公开项目,最后项目的访问地址为:https://github.com/oec2003/hexo-comments

(图1)

github 设置认证

打开 https://github.com/settings/applications/new ,进行相关设置,如下图:

(图2)

  • Application name:随便取个名称

  • Homepage URL:博客的地址

  • Application description:描述

  • Authorization callback URL:配置在 github 中创建的评论项目的地址

配置好后,点击 Register application 按钮即可。如果想要修改配置内容,可以在 github 中点击「右上角图标」->「Settings」->「Developer settings」->「OAuth Apps」

(图3)

点击右侧的 hexo-comments 可以查看相关的 id 和秘钥,在后面的配置中会用到该信息

(图4)

安装 gitalk

在现有的hexo项目中安装 gitalk,执行命令 cnpm i --save gitalk 如下图:

(图5)

hexo 主题设置

我的博客主题改自 maupassant ,当时的版本中并不支持对 gitalk 的支持,只需要进行下面的步骤就可以完成对 gitalk 的集成:

1、在 maupassant 主题下的 _config.yml 文件中添加 gitalk 相关配置

(图6)

gitalk:enable: true ## 设置true为开启gitalkowner:  oec2003 ## github的登录名repo:  hexo-comments ## 注意:此处设置为在github中创建的评论项目的名称,而非完全访问地址client_id:  xxx ## 见图4client_secret:  xxx ## 见图4admin:  oec2003 ## github的登录名

2、配置评论模板,在 maupassant->layout->_partial->comments.jade 文件中添加如下内容

if theme.gitalk.enable == true#containerlink(rel='stylesheet', type='text/css', href='//unpkg.com/gitalk/dist/gitalk.css?v=' + theme.version)script(type='text/javascript' src='//cdn.bootcss.com/blueimp-md5/2.10.0/js/md5.js?v=' + theme.version)script(type='text/javascript' src='//unpkg.com/gitalk/dist/gitalk.min.js?v=' + theme.version)script.var gitalk = new Gitalk({clientID: '#{theme.gitalk.client_id}',clientSecret: '#{theme.gitalk.client_secret}',repo: '#{theme.gitalk.repo}',owner: '#{theme.gitalk.owner}',admin: ['#{theme.gitalk.admin}'],id: md5(location.pathname),distractionFreeMode: false})gitalk.render('container')

(图7)

发布

执行下面命令进行构建和发布

hexo g
hexo d

效果如下:

希望微信公众号能早日开通评论。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/312500.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最大堆和最小堆(数据结构)

堆和栈的区别: 一、空间分配区别: 栈(操作系统):由操作系统自动分配释放,存放函数的参考值,局部变量的值等。其操作方式类似于数据结构中的栈堆(操作系统):一…

2019公众号总结之——Top100 技术文章汇总

大家好,我是张善友。新年伊始,我们在欢送10年代的同时迎来了20年代。在这个崭新的时代,感谢各位朋友一直关注“dotnet跨平台”。一晃5年有余,关注公众号的粉丝6万,相对于.NET开发人员,希望2020年有更多小伙…

树,森林,二叉树的互相转换

树、森林到二叉树的转换 将树转换为二叉树 树中每个结点最多只有一个最左边的孩子(长子)和一个右邻的兄弟。按照这种关系很自然地就将树转换成相应的二叉树: 在所有兄弟结点之间加一连线对每个结点,除了保留与其长子的连线外&am…

数据丢失引起宕机怎么办?

做过系统开发和运维的朋友,应该最怕数据丢失问题出现,更严重的是造成无法恢复的糟糕境地,简直叫人崩溃啊,这周有一个朋友跟我咨询这方面的事情,就整理了一下数据库自动异地备份的方法,分享给大家。大家都知…

python字典(Dict)

字典的创建 字典的访问(List转换) 字典的遍历 字典的添加 字典的合并 字典的删除(清空) 字典的其他操作 字符串转字典(eval) 字典的创建 dict1{"A":1,"B":2,"C":99} //直接…

ASP.NET Core跨平台技术内幕

ASP.NET Core设计初衷是开源跨平台、高性能Web服务器,其中跨平台特性较早期ASP.NET是一个显著的飞跃,.NET现可以理直气壮与JAVA同台竞技,而ASP.NET Core的高性能特性更是成为致胜法宝。ASP.NET Core 2.1为IIS托管新增In-Process模型并作为默认…

6-23 分离链接法的删除操作函数 (20 分)

试实现分离链接法的删除操作函数。 函数接口定义: bool Delete( HashTable H, ElementType Key );其中HashTable是分离链接散列表,定义如下: typedef struct LNode *PtrToLNode; struct LNode {ElementType Data;PtrToLNode Next; }; typed…

使用 Visual Studio Code 进行远程开发

在完成了 AT 指令入门的学习之后,接下来就要使用 AT 指令进行 Socket 通信了。问题在于,之前 .NET 的 Socket 编程只需一台电脑便可进行学习,服务器和客户端都可以在本机运行,也可以分别运行在局域网上的两台电脑之上。而 NB-IOT …

AI人工智能

1,为什么要对特征做归一化? 2,什么是组合特征?如何处理高维组合特征? 3,请比较欧式距离与曼哈顿距离? 4,为什么一些场景中使用余弦相似度而不是欧式距离? 5,O…

python练习题

一、 请编写程序,使得能够计算以下算术运算并打印结果:9的3次方 print(9**3)二、 给你一个整数,代表Tom的妈妈买的书本的数量,输出一段英文,能完整表述Tom的妈妈买了几本书。本题考查字符串的组合、数据类型的变换、变…

.NETCore3.1中的Json互操作最全解读-收藏级

前言本文比较长,我建议大家先点赞、收藏后慢慢阅读,点赞再看,形成习惯!我很高兴,.NETCore终于来到了3.1LTS版本,并且将支持3年,我们也准备让部分业务迁移到3.1上面,不过很快我们就遇到了新的问题…

在一个数组中实现两个堆栈

6-11 在一个数组中实现两个堆栈 (20 分) 本题要求在一个数组中实现两个堆栈。 函数接口定义: Stack CreateStack( int MaxSize ); bool Push( Stack S, ElementType X, int Tag ); ElementType Pop( Stack S, int Tag );其中Tag是堆栈编号,取1或2&…

逻辑结构的四种基本关系

逻辑结构的四种基本关系 1集合结构:数据元素之间除了“属于同一集合”的关系外,没有其他关系 2线性结构:数据元素之间存在一对一的关系 3树结构:数据元素之间存在一对多的关系 4图结构:数据元素之间存在多对多的关系

轻量级开源小程序SDK发车啦

Magicodes.WxMiniProgram.Sdk轻量级微信小程序SDK,支持.NET Framework以及.NET Core。目前已提供Abp模块的封装,支持开箱即用。地址:https://github.com/xin-lai/Magicodes.WxMiniProgram.SdkNuget新的包主要功能轻量级微信小程序SDK&#xf…

单链表基础知识详解

//通常使用结构的嵌套来定义单向链表结点的数据类型 typedef struct Node *PtrToNode;//将Node命名为PtrToNode struct Node {ElementType Data;//存储结点数据PtrToNode Next;//指向下一个结点的指针 }; //结构类型Node中的Next分量又是该结构类型的指针&#xff0…

[译文] C# 8 已成旧闻, 向前, 抵达 C# 9!

C# 8 is old news. Onward, to C# 9! (C# 8 已成旧闻, 向前, 抵达 C# 9!)Did you know that planning is already underway for the ninth version of the C# language?第九版 C# 语言已经在开发中了, 你晓得伐?Now, to be fair, this has been in the planning phases long,…

考察对顺序表的理解

顺序表是在计算机内存中以数组的形式保存的线性表 线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素、使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中,即通过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻…

2020年你应该学习 .Net Core

一、什么是.NET Core.NET Core是一个开源通用的开发框架,支持跨平台,即支持在Window,macOS,Linux等系统上的开发和部署,并且可以在硬件设备,云服务,和嵌入式/物联网方案中进行使用。.NET Core的…

对表头指针、表头结点,单链表删除的理解

https://blog.csdn.net/weixin_46678290/article/details/105309156

C# WPF发票打印

C# WPF发票打印内容目录实现效果业务场景编码实现本文参考源码下载1.实现效果发票界面PDF打印结果2.业务场景界面作为发票预览,按客户需求可打印成发票纸张给客户。3.编码实现3.1 添加Nuget库站长使用 .Net Core 3.1 创建的WPF工程,创建“Invoice”解决方…