背景
其实从今年开始运营这个博客,我一直想增加一些新的交互功能,如:评论,之前一直有些问题没搞定,现在终于通过 Google 搜索解决问题了, 其实也算是每天学习一些新东西。
解决问题:给 Hexo 博客新增 Github评论功能
为什么选择 Github 呢?是因为 Github 对于偏向开发人员基本上属于一个必注册网站,而我博客的内容又偏向于技术,所以才会采取这个。
Gitalk
介绍
引入 Github评论功能,网上有很多现成的方案,这里就一一列举了,我采用了最主流的库——Gitalk.js,教程详细,不仅仅只能用于 Hexo,还可以适用于任何网站。
Gitalk 是一个基于 GitHub Issue 和 Preact 开发的评论插件。 —— Gitalk.js
使用
使用起来也非常简单,其实就是页面找个放置评论的位置,将对应资源引入,然后直接初始化使用即可。代码如下:
1 | <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.css"> |
如何申请Github Application授权登录,只需要在这里申请即可,只需要注意信任域名为自己的域名即可,如下图:
hexo使用
以yilia-plus
主题为例子,其他主题只需要放到对应位置即可,具体步骤如下所示:
- 在文件夹
layout/_partial/post
新增文件gitalk.ejs
,内容如下:
1 | <div id="gitalk-container" style="padding: 0px 30px 0px 30px;"></div> |
- 在主题中找到
layout/_partial/post/article.ejs
中想放置评论位置,加入判断是否启用gitalk
,代码如下:
1 | <% if(theme.gitalk.enable){ %> |
- 在主题根目录配置文件
_config.yml
打开gitalk
配置,如下:
1 | #6、gitalk评论 |
遇到的问题
Gitalk 提示 “NetError”
其实是 Gitalk 内置了 proxy 代理服务去请求完成 Github OAuth 鉴权服务,但是由于国内会经常无法正常请求该代理服务,所以需要我们自己去完成 Github OAuth 鉴权,这里我简单写了一下代码,如下所示:
1 | const koa = require('koa') |
参考资料
- 本文作者: Qborfy
- 本文链接: https://www.qborfy.com/today/20230228.html
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!