ghost博客和笔戈科技

5月份的时候,我开始接手一个科技博客【三闻鱼】,这个博客是php开发部门基于wordpress开发的,维护一直是他们在做,鉴于wordpress强大的功能,php团队重新做了一套主题,然后博客上线了。文章的更新量也比较小,网站基本每日保持着1000左右的访问量。

博客选择

我到团队后,开始接手这个项目,尴尬的是,我并不会php,只懂一些皮毛,没做过具体的项目,本人原本做java出道,后来阴差阳错开始全职做nodejs开发。经过几番考虑决定放弃wordpress,用nodejs开发博客,原因大概有以下几点。

  • wordpress已经发展很多年了,代码陈旧,臃肿

  • php不熟悉

  • nodejs开发博客,对于科技博客来说,更加有逼格

在网络上几经查看后,发现Ghost正符合我的要求,

  • 基于nodejs开源的博客系统

  • tryGhost组织专门开发和维护

  • 完整的官网,较多的文档,非常高的活跃度

开始开发

说干就干,clone代码,部署环境,几经周折,项目正式运行了。 当初是0.42版本, 基本功能测试完以后,发现这个博客还有很多地方不能满足我的需求。主要有以下几点:

  • 单用户,该系统就只支持一个人登录,所有的文章属名都是一个人,还需要展示作者的头像,个人主页

  • 每篇文章不能插入一个图片,作为文章的标题图

  • 不能选择文章类型,所有文章都是一个类型,导致不能分栏目或者做专题

  • 图片压缩,裁剪

必须要解决的是多用户的功能,作为一个科技博客,不能只有一个作者吧,伤心地去ghost的github页面看他们的roadmap,还好我的英语阅读能力还行,说起也是过了4级的人啊,最新的目标中就有mulit user,可我们不能等啊。只能我来处理了,团队的人员都相信程序员是万能的,好吧,我承认没有搞不定的程序,只有搞不定的妹纸。

用了一种很搓的方式实现了多用户,将作者的所有信息使用html标签写入文章中,插入数据的时候分析文章内容,读取出作者信息和文章的标识图片。 修改数据库加入文章类型和文章的位置。最终大费周章,把博客改到我们需要的样子了。基本上把ghost的源码看完了,对前端模板也是完全熟悉了。

目前的博客地址 [笔戈科技](http://www.bigertech.com)

主要由文章和视频两个类别,前端使用了不同的页面输出 主页的文章可以控制位置,选择哪个位置放什么文章。

下图是Ghost 博客运行10天的内存占用情况 ![shanelau](/img/Snip20140812_2.png)

内存占用有点搞,理论上应该在1G左右趋于稳定的,为什么这几个线程的内存占用区别这么大呢, 后来对内存占用也做了一番测试,具体的测试情况见另外一篇博客 地址: 还没写 !-_-

Ghost0.5

这周一(2014.8.11) 一大早刚刚睡醒就收到了ghost发来的邮件,新版本发布了,那叫一个激动啊,期待已久的多用户,和emberjs,脑海中闪过一个个经常的镜头,新的任务,新的体验。 还好有经验,新版本没几天就基本上搞定了,摸清楚了代码,加入了一些新的功能。 还在一步步完善中啦, 具体看我们团队的代码仓库吧 [笔戈博客Ghost代码](https://github.com/bigertech/Ghost/tree/stable)

开发的目标
  • 文章类别选择

  • 每篇文章加入 文章图片

  • 默认文章url为标题的拼音链接, 修改为数字

  • 文章在界面中的位置指定

  • 点赞功能

  • 多说评论

  • 百度统计