個人我的博客時使用Hexo構建的,我的以爲使用Hexo很是方便,並且主題也很好看。由於個人Hexo倉庫推送地址同時配置了Github和Gitee,因此一個hexo d命令即可以通知部署到 zouchanglin.cn 和 zouchanglin.gitee.io 兩個站點。惟一美中不足的就是Hexo缺乏一款我比較滿意的評論系統,因此決定本身手擼一個Hexo博客的評論系統,如今已經部署好了,去個人博客站點是能夠看到效果的。html
<!-- more -->vue
我我的比較喜歡用博客來記錄不少東西,好比學習筆記、實驗報告、心得體會啥的,能寫在博客上面的基本上都寫在博客上了。因此個人博客一直保持着更新,不斷追求完善,直到現在博客纔算是比較完美,並且也算是很穩定了,即便是換電腦了,還能夠保證遷移成本很是小。git
先說說這個博客配置的歷程吧,最開始就是單純的在Github上新建一個GithubPages,我的地址就是username.github.io這種形式的,後來發現其實這種作法問題有不少:github
一、訪問速度慢,畢竟那個時候Github速度實在是太慢了,Push代碼有時候都成問題,更別說加載我的主頁了。大部分狀況下不等待個十來秒是沒法所有加載的,不過自從微軟收購了Github後狀況貌似有所好轉。二、圖片的問題的,因爲我是直接把圖片給放在同級文件夾底下的,因此hexo d的時候也必然要把圖片給push到Github的倉庫,原本推送就很慢了,再來個推送圖片結果就更慢了。訪問圖片也是慢到極點,因此有時間博客裏的圖片基本上沒法加載,這簡直是沒法忍受的,由於我寫博客的原則就是儘可能用比較少的語言,儘可能用圖片來講明。後端
基於GithubPages的種種問題,我打算本身開發一款博客系統,也就是在倉庫吃灰的https://gitee.com/zouchanglin/journey,這款博客系統是基於SpringBoot + Thymelafe模板引擎開發的,那個時候技術不成熟,其實仍是挺好看的,可是因爲須要雲服務器部署,並且有一些細節問題沒有處理,好比區分代碼高亮,粘貼插圖等,其實雖然能用,可是畢竟數據持久化在雲服務器的MySQL中,感受不是很穩定,還包括WordPress這種直接部署在PHP環境中的帶後端的系統, 最終仍是選擇GithubPages,畢竟Hexo主題仍是挺多的,我很喜歡Hexo的主題, Jekyll也不錯,可是主題沒有Hexo的多。服務器
準備在雲服務器上部署個人我的博客系統的時候我還順便買了10年的域名,而且作了備案,並且發放了免費的HTTPS證書,有效期時一年,證書過時了能夠從新免費申請。反正域名都買了,並且暫時也不用因此就直接把GithubPages的主域名改爲了我本身的域名。因此個人博客地址就成了https://zouchanglin.cn。可是依舊是避免不了的問題,那就是慢,並且慢的主要緣由仍是圖片加載佔用了比較大的帶寬。因此圖片真是不能往Github上面放呀!hexo
由於圖片加載比較慢的問題,因此我又找了一個比較好的方案,那就是圖牀。最開始使用的微博圖牀,可是總感受這個東西不是很靠譜,過了大概兩週時間果真出現了圖片被刪除的狀況,因此還好我有備份,打算另闢蹊徑,最後又陸續嘗試了路過圖牀、又拍雲發現都是各有利弊。後來某天郵箱收到了七牛雲給發的推廣郵件,免費10GB對象存儲空間。有我的備案域名的我簡直是對七牛雲愛了,我解析了一個子域名叫img.zouchanglin.cn,解析到七牛雲的存儲空間中,由於若是沒有我的域名的話七牛雲只會提供一個月時長的隨機域名,過了一個月隨機域名就會失效,意味着圖片連接也沒法使用了,下面是個人圖片倉庫:工具
此時須要一個圖片上傳工具,畢竟不能每次都要依靠手動上傳吧!因此給你們安利一個好工具: PicGo: 一個用於快速上傳圖片並獲取圖片 URL 連接的工具 ,支持七牛雲、騰訊雲、又拍雲、Github等圖牀。並且能夠直接剪切板上傳,因爲是Electron-vue開發的,因此Windows、Mac、Linux平臺都支持。學習
七牛雲的倉庫不只能夠存儲圖片文件(png、jpg、gif....),並且還能夠存儲其餘任意類型的文件,有時須要在博客裏放一些壓縮包的下載連接,用七牛雲真的再合適不過了。並且之後就算七牛雲沒了,還能夠把圖片遷移到本身的服務器上,反正只要二級域名從新解析一下就OK了。優化
因爲有時候對博客的加載速度還不是很滿意,因此用了阿里的全站CDN加速,是免費的,可是若是是HTTPS的話仍是須要收費的,可是很便宜按照流量算一個月一塊多錢,因此至關因而免費了。
自從開啓了全站CDN加速,全國訪問都是很低的延遲:
個人Hexo倉庫推送地址同時配置了Github和Gitee,因此一個hexo d命令即可以通知部署到 zouchanglin.cn 和 zouchanglin.gitee.io 兩個站點,可是因爲Gitee關閉了GiteePages的高級功能,也就是Pro版本,不支持關聯到自定義域名,並且GiteePages須要手動部署更新內容,因此就有了zouchanglin.cn 和 zouchanglin.gitee.io 兩個站點。目前兩個站點都是能夠低延遲正常訪問的。
那麼多問題都解決了,如今最主要的問題就是缺乏一個方便的評論系統,網上雖然有不少集成評論系統的教程,可是大多都是Hexo集成 Gitment、 Gitalk、來必力、暢言、Leancloud的Valine、Disqus...雖然其中不乏優秀的評論系統,可是都不是我想要的效果,我理想的評論系統應該是哪一種呢?。
一、無需登陸和驗證碼,直接評論便可二、支持回覆評論,且可無限遞歸回復
三、支持評論點贊,按照點贊排序,相同則按照時間排序
三、支持文章評分,顯示評分人數和評分的平均分數
四、支持本身的評論被別人回覆後能夠郵件通知
五、支持評論後臺管理系統,能夠設置對應屬性
六、支持評論導出,且高度100%可恢復數據
評論系統的功能就是這些了,接下來要乾的事情就是逐步實現這些功能,不斷優化達到一個比較棒的效果!開始構思,請見《手寫一個Hexo評論系統(二)》。
原文地址:《手寫一個Hexo評論系統(一)》