添加阅读量展示:使用LeanCloud
hexo-next 6.0 集成了leancloud_visitors
firestore
busuanzi_count
三种统计插件,这里我们选择leanCloud
在完成注册LeanCloud帐号并验证邮箱之后,登录我们的LeanCloud帐号,进行简单的配置之后拿到AppID
以及AppKey
这两个参数就可以可正常使用文章阅读量统计的功能了。
注册LeanCloud:
完成了注册和激活邮箱,接下来我们需要进入控制台创建一个应用
创建应用
这里我已经创建过一个test
应用(你可以随意起名),直接点进去
建立class:
点击控制台的存储标签,我们需要一个名为Counter的class,注意这里不要自定class的名字,必须为Counter
绑定AppID和AppKey:
打开控制台的设置标签栏,应用Key查看我们的应用Key
复制AppID以及AppKey并在NexT主题的_config.yml
文件中我们相应的位置填入即可,正确配置之后文件内容像这个样子:1
2
3
4leancloud_visitors:
enable: true
app_id: dxDMdMpg9PkOb6M9tTxy7CNS-gzGzoHsz
app_key: MExhCaDhpuIdy9kLiTVLFoz3
这个时候重新生成部署Hexo博客,应该就可以正常使用文章阅读量统计的功能了。需要特别说明的是:记录文章访问量的唯一标识符是文章的发布日期以及文章的标题,因此请确保这两个数值组合的唯一性,如果你更改了这两个数值,会造成文章阅读数值的清零重计。
最后,一定要在Leancloud -> 设置 -> 安全中心 -> Web 安全域名 把你的域名加进去,防止你的LeanCloud应用被恶意利用。
添加评论展示:使用Valine
Valine的简介是:
一款快速、简洁且高效的无后端评论系统。
你也可以使用
- 多说
- 畅言
- 网易云跟帖
- 来比力
- hypercomments
- Gitment
- disqus
这里我简单总结一下上面这些第三方评论服务的优缺点:多说,网易云跟帖已经先后在2017年3月,7月停止服务。搜狐畅言需要备案,disqus被墙,gitment仅支持github用户。来比力是韩国的,国内有时会不稳定。hypercomments在官网体验时感觉不错,但是貌似收费,没仔细研究,也可能是我没发现免费入口。valine的界面和Next主题很搭,国内访问速度很快,唯一的缺点就是评论不能添加图片(经评论提醒,是可以评论图片的)
valine 也是基于LeanCloud的免费云服务进行的开发。跟上面的添加阅读量统计很类似,如果你已经接入过LeanCloud的阅读量统计,那么接下来就很简单了
让我们三步完成评论服务的接入:创建Comment Class:
让我们回到LeanCloud在我们刚才建的test
应用中新建一个名叫Comment
的Class,注意,这个Class也不要自定名称,只能使用Comment
修改NexT主题的
_config.yml
文件:1
2
3
4
5
6
7
8
9
10valine:
enable: true
appid: dxDMdMpg9PkOb6M9tTxy7CNS-gzGzoHsz
appkey: MExhCaDhpuIdy9kLiTVLFoz3
notify: false # 邮件通知
verify: false # Verification code
placeholder: just go go #输入框提示语
avatar: wavatar # 头像风格
guest_info: nick,mail # 昵称,邮箱
pageSize: 10 # 每页展示条数
接入Valine评论完成
效果如下:
如果还有什么不懂的,可以去看看Valine官方文档
添加站内搜索:使用LocalSearch
安装hexo-generator-searchdb plugin
进入到你的站点根目录,在此处开始安装1
$ npm install hexo-generator-searchdb --save
修改站点配置文件_config.yml
在站点配置文件任意位置添加以下配置:1
2
3
4
5search:
path: search.xml
field: post
format: html
limit: 10000
修改主题配置文件_config.yml
找到主题配置文件的local_search项,将其更改为:1
2
3
4
5
6
7local_search:
enable: true
# if auto, trigger search by changing input
# if manual, trigger search by pressing enter key or search button
trigger: auto
# show top n results per article, show all results by setting to -1
top_n_per_article: 1
大功告成,效果如下: