本文发自 http://www.binss.me/blog/binsite-3-release/,转载请注明出处。

不知不觉中,binsite已经迭代到第三个版本了。距离binsite2.0的发布,已经一年了呢,截了一张2.0的首页作为纪念:

3.0版本,无论是设计、前端,还是后端,都重构了一遍。历时14天,于昨天部署上线,今天修了bug后在Google提交sitemap,写下此文。

开发原因

设计

用了一年,有点厌倦了深色背景+毛玻璃的设计。此外对Bootstrap的圆润风格也审美疲劳了,希望换换口味。

前台

  • 由于网页用到了几张深色大图作为背景,在网络较差的情况下背景图load不出来,然后字又是白色,导致什么都看不见

  • 编辑器不支持markdown

  • 冗余代码过多(看自己一年前的代码真有种吐槽的冲动)

  • 完全没考虑SEO

后台

  • 评论模块偶尔失灵

  • 通知模块长期失灵

  • Django框架版本老旧(1.5)

于是闲得蛋疼的我就开始开发3.0版本了。

特性与改进

设计

如你所见,毕竟是业余的,见仁见智了。

引入本站形象代言人——小北方:

前台

  • 重写代码,模版继承关系上更合理

  • 去除首页、工具、项目管理等页面

  • 修改文章页面重写

  • 文章目录按时间排序,取消分页,改为一页展示完

  • 更换照片流组件

  • 更换富文本编辑器,二次开发以支持markdown和富文本双向转换

  • 弃用Bootstrap,换用纯CSS的Pure

  • 代码高亮

  • 把各个库更到最新稳定版本

  • 压缩静态文件

  • 添加favicon

  • 添加sitemap

后台

  • Django框架升级到1.9

  • 重构,精简代码,模块按APP解耦

  • 重写评论和通知模块

  • 建立文章插图索引,维护文章和插图之间的映射

  • markdown文本渲染

  • 上传授权签名

  • 加强管理页面验证

  • 引入文章版本管理,可以回滚到某个历史版本或者恢复删除文章

  • 文章和照片添加状态字段,便于控制

  • 页面压缩

  • 更换静态文件存储方案,目前是七牛+腾讯云的对象存储(多的是流量,哈哈哈哈哈)

吐槽

如果上天给我一次重来的机会,我绝对不会用Pure框架而是继续用Bootstrap!!

为啥?

组件不齐全,比如说进度条、浮动栏、模态框等等等等都没有~~~响应式做得太烂,官网给出的几个响应式导航条非常简陋,缺乏fix-top、align-right等等等等特性~~~简陋也就算了,关键还卡,在电脑上还好,在IOS9.2的Safari浏览器上一点,过渡动画卡得哭爹喊娘(ipad air2、iphone 6s实测)。卡也就算了,关键是还有bug,当页面快速滚动的时候,竖直导航条下部神秘消失。天啊,这些问题难道都是我第一个遇到吗?

github一看,果然有相关issue,然而并没有什么卵用,项目已经n年没有实质上的更新了。反观Bootstrap,4.0的Preview已经出了,真是呵呵哒。

对于我这个业余到不能再业余的前端来说,各种前端问题折腾得我死去活来,耗费了80%以上的时间来搞布局和样式,最终搞出目前的版本:是不是很简洁呢?其实是复杂的我不会搞啊T T。

这次3.0版本之所以能在那么多坑的情况下两周搞完,多亏了贯彻面向Google、面向Github、面向StackOverflow的开发观(滑稽),大大提高了开发效率。可悲的是这三剑客,有一个曾经被墙过,有一个一直被干扰,还有一个至今在墙外,不得不说是一种悲哀。有了他们,码农们可以少走多少弯路(滑稽)。

不管怎么说,3.0还是在这个2.0版本发布一周年之际上线了。由于人生即将跨入新阶段,因此可能不会有4.0了。所以我会努力完善这个版本。如果您发现binsite3.0的bug,欢迎在本文评论或直接发邮件给我([email protected])。感谢。