个人我的博客时使用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评论系统(一)》