ghost博客开发之路和笔戈科技
发布于 10 年前 作者 shanelau 6666 次浏览 最后一次编辑是 8 年前

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的源码看完了,对前端模板也是完全熟悉了。

目前的博客地址 笔戈科技

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

下图是Ghost 博客运行10天的内存占用情况 shanelau

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

Ghost0.5

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

开发的目标

  • 文章类别选择
  • 每篇文章加入 文章图片
  • 默认文章url为标题的拼音链接, 修改为数字
  • 文章在界面中的位置指定
  • 点赞功能
  • 多说评论
  • 百度统计

我的github

原文地址: http://kissliux.github.io/2014/08/13/ghost-and-bigertech/

11 回复

右上角的搜索是装饰么。。。

内存占用很恐怖。。

赞。内存用的多是cluster mode的原因?

@insideyiqi 还没做呢,在考虑自己做搜索还是用百度的站内搜索

@suqian 内存一路飙升,每次刷新界面都会造成内存升高, 有一部分原因是静态资源没有走CDN,我也怀疑nodejs的内存出来有点问题。 曾经测试过express的内存占用,压力测试后,内存虽然会上升,但是会趋于稳定值。 你们的项目 内存占用什么情况

@leapon 估计是nodejs的问题。 pm2只是开启了多线程,不至于造成内存一直上升吧

@kissliux 不太清楚为啥会造成这样的情况,我的项目是做API,没啥静态资源,但是起多线程的那种,内存基本就在几十M吧。

LZ是一个魅族的团队?很不错呢~

@zzjin 是的,惭愧惭愧

@kissliux 内存一般300mb到顶了

回到顶部