用Github Pages+Hexo搭建部落格之(八)Hexo部落格Next主題新增統計文章閱讀量(訪問量/瀏覽量/閱讀次數)功能
【置頂】【專欄】用Github Pages+Hexo搭建部落格
文章目錄
1. 註冊LeanCloud
前往LeanCloud進行註冊登陸
2. 建立&配置應用
點選建立應用
輸入應用名稱(名稱隨意), 選擇開發版, 點選建立
建立成功後點選應用右上角的設定
點選儲存
,建立Class
,Class名稱設定為Counter
(必須為Counter),選擇無限制,點選建立
建立後點選設定,點選應用Key,獲取App ID和App Key,複製備用
3. 修改主題配置檔案
將主題配置檔案/themes/next/_config.yml
中的leancloud_visitors:
的enable
設為true
,並將App ID和App Key填入
4. 配置域名,設定網路安全
點選安全中心, 填寫自己部落格對應的域名(注意協議、域名和埠號需嚴格一致)
由於App ID和App Key是完全暴露的,所以防止他人使用,我們可以在應用設定裡面設定Web安全域名,只有新增的域名才能使用該應用,防止有人Hack我們的資料庫。點選設定,安全中心,Web域名安全,新增Blog域名,點選儲存就OK了
5.啟動Hexo
hexo clean
hexo g
hexo d
6.後臺管理
當以上部分配置完成之後,當我們的部落格頁面第一次開啟時,便會自動向伺服器傳送資訊,在剛才建立的應用 test 的 Counter 表中建立一條資料。
7.部署雲引擎以保證訪客數量不被隨意篡改
依次點選左側雲引擎 -> 部署 -> 線上編輯
點選建立函式
在彈出視窗選擇Hook型別,在選擇 Hook處選擇beforeUpdate,在選擇 Class處選擇Counter類。貼上下方程式碼後,點儲存。
var query = new AV.Query("Counter");
if (request.object.updatedKeys.indexOf('time') !== -1) {
return query.get(request.object.id).then(function (obj) {
if (obj.get("time") + 1 !== request.object.get("time")) {
throw new AV.Cloud.Error('Invalid update!');
}
})
}
然後單擊建立按鈕右側的部署 -> 生產環境 -> 部署
待顯示部署完成:1 個例項部署成功即可
8. 一些坑
很多文章到這裡就結束了,但其實還有一些坑…
解決閱讀次數: Counter not initialized! More info at console err msg.
方法一、安裝外掛hexo-leancloud-counter-security
命令列執行npm install hexo-leancloud-counter-security
方法二、將主題配置檔案_config.yml中的對應項security置為false
解決hexo+next 首頁的閱讀次數一直是0,而文章中的閱讀次數能正常顯示?
網上的很多hexo新增閱讀統計量都是老版本的next主題做法,新版本的已經集合了leancloud,只要開啟主題下面lean_cloud功能並且在
/next/layout/_macro/post.swig
裡面加以下程式碼就足夠了
{# LeanCould PageView #}
{% if theme.leancloud_visitors.enable %}
<span id="{{ url_for(post.path) }}" class="leancloud_visitors" data-flag-title="{{ post.title }}">
<span class="post-meta-divider">|</span>
<span class="post-meta-item-icon">
<i class="fa fa-eye"></i>
</span>
{% if theme.post_meta.item_text %}
<span class="post-meta-item-text">{{__('post.visitors')}} </span>
{% endif %}
<span class="leancloud-visitors-count"></span>
</span>
{% endif %}
相關文章
- 注意到部落格閱讀量破萬
- GitHub + Hexo搭建自己部落格(二) Next主題配置GithubHexo
- 搭建部落格 (Hexo + github + butterfly主題)HexoGithub
- 16 – 統計文章閱讀量
- 用Hexo主題next做了一個部落格!Hexo
- 關於寫作那些事之利用 js 統計各大部落格閱讀量JS
- Hexo部落格(Snail主題)搭建回顧概覽HexoAI
- 整合github、hexo搭建部落格GithubHexo
- Hexo部落格框架—輕量、一令部署Hexo框架
- 【GitHub】GitHub+Hexo搭建個人部落格GithubHexo
- 用 Hexo + Next + GitHubPages 搭建漂亮的免費部落格HexoGithub
- 史上最快用GitHub、Hexo搭建個人部落格GithubHexo
- 閱讀筆記與部落格連結筆記
- Hexo+Github部落格搭建完全教程HexoGithub
- Hexo + Github 搭建靜態部落格(一)HexoGithub
- hexo+github搭建個人部落格HexoGithub
- Hexo+NexT(零):最全Hexo+Next搭建部落格教程Hexo
- 搭建自己的技術部落格系列(五)hexo部落格接入busuanzi外掛,展示訪問量和網站執行時間Hexo網站
- Hexo+Github搭建部落格總結HexoGithub
- Hexo+GitHub+阿里域名搭建自己部落格HexoGithub阿里
- hexo結合github搭建個人部落格HexoGithub
- Hexo 搭建部落格Hexo
- 搭建Hexo部落格相簿Hexo
- Hexo部落格多端同步問題Hexo
- GithubPages+Hexo部落格主題YiliaGithubHexo
- Hexo+Github輕鬆搭建個人部落格HexoGithub
- 使用hexo+Anisina+github搭建個人部落格HexoGithub
- 基於Github Page 搭建部落格(hexo框架)GithubHexo框架
- GitHub + Hexo搭建自己部落格(一) 基本內容GithubHexo
- 使用GitHub當部落格圖床提升部落格訪問速度Github圖床
- Spring Boot搭建輕量級的部落格系統Spring Boot
- Hexo部落格搭建記錄Hexo
- hexo 部落格搭建筆記Hexo筆記
- 手摸手帶你用Hexo擼部落格(二)之配置主題Hexo
- 如何使用Github+Hexo快速搭建個人部落格GithubHexo
- 基於 Hexo + GitHub Pages 搭建個人部落格(三)HexoGithub
- hexo+github搭建靜態部落格之初體驗HexoGithub
- 閱讀數量怎麼沒了?