草依山的Javascript世界

一个Javascript程序猿的学习纪录剩地,不仅仅是JS,还有Linux、Mac、nodeJs、吃、玩!

一个全新的Blog

一个理想

从上大学开始用的第一个Blog程序是PJBlog,到后来的wordpress,其实一直想有一套自己的Blog程序,大学的时候最拿手的后端语言是ASP,当时做了一个简洁版的,一直也没有上线,后来想用PHP重新写一套,奈何一直没有时间也没有毅力坚持写下来,想要的功能太多,能力和时间却又有限。这个想法就一直挂起状态了。

机遇

从毕业到现在,我一直在做前端的工作,平时用到的语言就是Javascript,以前JS也是可以写后端的,有微软的JScript,但是性能上一直是一个问题。自从V8出现,nodejs出现,这一切都发生了翻天覆地的变化,在浏览器端常用的语言Javascript直接杀入后端开发中,这个时候我想写自己的Blog程序的想法又越来越强烈了,nodejs经过这一两年的发展,各种模块已经很多,基本上可以满足很多日常开发的需要(虽然模块质量不太好),是时候完成我的Blog程序了。

折腾

写这个Blog确实折腾了好多东西,你现在看到的这一版程序是第四版,完完全全的第四版。我来说说这个折腾的过程吧

  1. 想的太大,想做一个像wordpress一样强大的Blog程序,同时能兼容wordpress的数据库,能直接用wordpress的数据库,不需要转换数据,这个直接导致了我看了很多wordpress的源码,耽误的时间太长。
  2. 感觉折腾有点累,换个orm框架,把wordpress的数据用了一个导入脚本解决,当时用了这个框架sequelizejs, 我用的时候这个东西还只支持mysql,还有一些Bug,当时不太会用pull reuqest,就给作者发邮件说的问题及解决方式。前端上用了twitter的bootstrap,页面长得跟现在很多开源项目非常非常像,哈哈
  3. 期间开始接触key-value数据库,挑了redis玩,于是就把整个数据库换成了redis的,写了一段时间,基本完工,后来搞别的事情了,一直没有上线
  4. 终于我觉得我已经很久很久没有写Blog了,我对线上的那个wordpress非常不满意,觉得它是一个大而且笨重的家伙,另外书写方式也非常的不友好,于是。。。于是我决定推翻之前的所有想法,重新写了一套,之前的那个redis版的从前端到后端完全重写了。就是你现在看到的这个,下面详细介绍一下这一版

用到的东西

我想实现的是一个让我写起来和管理起来都很开心舒服的东西,于是我选择了markdown语法,下面详细列出来用了哪些东西

  • nodejs 不用说了,大英雄
  • mongodb 没错,又换数据库了。。。
  • express 目前nodejs社区里最好用的web框架,用的是2.xx版,3.0这两天发布的,api改变貌似有点多
  • marked 非常好用的markdown解析器
  • jqtpl 没有用express默认jade的原因是我感觉这个开发起来更快
  • hibot 这是我弄的一个纯js的代码高亮器,是从一个开源的项目移植来的,不久会放到github上去
  • jquery 前端用的是jquery,开发起来很高效

功能

  1. 文章的增删改查
  2. 用户的注册,封禁,删除,目前只开放给我自己注册,嘿嘿
  3. 草稿功能
  4. 附件上传
  5. rss输出
  6. markdown语法
  7. 评论

在保证用的开心简单的前提下,更多功能添加中…

不开心的事情

  • 有评论框的开放平台都不够给力
    • 我所在的人人的评论框,居然必须网站有人人连接,才可以审核通过,已经发邮件询问了,等待结果中
    • 新浪微博国内网站必须备案,但是我域名和服务器都在国外,它说需要证明,但我不知道证明是什么
  • express 3.0的api变化有点大,完全改成3.0的还得看看
  • 服务器在国外,连接有点慢,这也是被逼的

一些总结

  1. 个人的小项目不要想得太大太全,可以一点一点完善,千万不可像我这样一遍一遍的重新来过
  2. 不要过多的接触新技术,把老技术老东西研究清楚再说
  3. 做一个专业的Bloger,多写文章,多帮助别人
文章地址: 一个全新的Blog
欢迎关注我的微博与我交流:@草依山
Github上也有一些东西:[Github]
所有文章坚决抵制jb51.net的转载!
标签: life 1 javascript 29
2012-08-03

相关文章

2017-02-13 new做了些什么
2016-09-29 [翻译]bash的各种文件载入执行顺序
2016-05-31 phantomjs在linux下截图中文字体问题
2016-04-24 Promise的错误处理
2016-02-23 URL里的+

文章修改纪录

加载中...
Copyright © 2013. Create By 草依山, Fork