Blog 阅读数添加
背景
发现 blog 还没阅读数,最早是用不蒜子做的,后来迁移了几次就没再用了,这次做一个更新。
方案
看了下 config 中的配置,目前是支持 leancloud,firestore(firebase),busuanzi 这三种,其他的方式应该都需要改源码了。
- leancloud 本身有些请求次数和大小之类的限制,
- busuanzi 这边算是比较老牌了,之前用过,体验还不错,
- firestore 是 firebase 提供的一个 NoSQL 服务
正好前面把网站分析之类的都放到了 Google,所以这个就自然而然的选择了 firestore。
Firestore
Firestore 是 Firebase 提供的一个 NoSQL 数据库,关键是免费额度和次数都还可以,免费额度如下,这种额度做一个自用app或者很小规模的 App 都够用了。
| 免费层级 | 配额 |
|---|---|
| 数据存储 | 1 GiB |
| 文档读取 | 每天 50000 次 |
| 文档写入 | 每天 20000 次 |
| 文档删除 | 每天 20000 次 |
| 网络出站流量 | 每月 10 GiB |
利用这个特点可以用这个数据库来存储每篇文章的阅读数。
配置
打开 Firebase 新建一个应用:

添加完应用后找到应用设置,找到对应的 projectId 和 apiKey
填入 _config.next.yml
然后根据提示创建一个 Firestore
讲修改规则调整为如下,这里的 articles 就是刚才在 _config.next.yml 中配置的 collection 的值,如果想改的话需要同步更改
1 | rules_version = '2'; |
这是可以试着访问下自己的页面,看看这里有没有出现对应的 collection,如果没有的话就自己手动建一个:
总结
整体也比较简单,参考了一些大神的 blog 和 nosql 语句。
Reference:
Hexo NexT 主題的閱讀次數統計
Hexo優化:新增圖片圖床、更換文章閱讀計數器服務
Google - Cloud Firestore 數據的寫入讀取
Hexo × NexT × Firestore 顯示瀏覽人次