在 coding 网站开始对静态博客收费后,各个第三方的评论系统也相继无法使用的情况下,于是就产生了对博客进行改造的想法。域名备案,购买服务器,把博客改造为 php 语言的,评论系统自己写,所有的数据都存储到数据库中。
之前的博客是基于 jekyll 的静态博客,静态博客的好处就是,能全身心的写博客,而不用关注其他任何的配置。同时,在托管到 github 等一些网站上时,使用 git 就能直接 push 上去,不用 ftp 等工具上传。使用简单方便。
可是,考虑到 github 有时候不稳定,coding 也不能免费使用了,使用的第三方评论系统(多说,网易云跟帖等)也相继关闭不能使用了。这时,就萌生了要把静态博客改造为基于 php 的博客系统。于是在下班的休息时间之余,在基本不改变博客外观的情况下,对博客进行里改造。
1. 网页的 DOM 结构更加清晰 #
之前的博客里,有很多无意义的标签,而且嵌套比较深。这些内容在新版里,都进行了改善
2. 静态资源按页面加载 #
之前的博客里,把所有的 css,js 都分别打包到一个文件里,每个页面加载这两个文件,导致加载了很多对该页面无意义的代码。新版的博客里,都是只加载当前页面需要的 css 和 js
3. 首页添加了分页 #
能在首页中通过分页查看到所有的博客文章
4. 实现基于微博登录的评论系统 #
第三方评论系统这么不靠谱,只能自己实现了
5. 添加相关文章推荐 #
基于当前文章的分类与标签,在文章底部推荐相似的 6 篇文章
所有的数据都存储在数据库中后,我也实现了一个简单的后台管理系统,用来管理博客文章和评论。就目前而言,依然还有很多的东西需要完善,比如可以给文章添加一个点赞系统,比如后台的文章上传页还不支持 markdown 实时预览,等等。
其实在实现这个博客系统时,当时考虑了不少的问题,比如,是否要自己实现一个 mvc 的方式来编写,当然,这个想法后来放弃了,改用 codeigniter 了;博客的评论内容是要同步加载,还是异步加载呢?后来考虑到两者的缓存时间不一样,文章可以长期缓存(没有大问题的情况基本不再更改),但是评论内容是随时都有可能更新的,于是就按照异步加载评论内容来实现了;是否要实现评论内容的邮件提醒,我想很多用户在你的网站评论后,也就离开了,其他用户对其内容的回复再也没有回应了,于是就添加了一个简单的邮件提醒,希望他能收到其他用户对他评论的回复;等等。
下节,我们稍微讲解下,评论系统是如何实现的。