chemzqm / blog

Simple and modular blog

Home Page:https://chemzqm.me

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

#Blog

本项目的目标是构建 易于使用,易于维护,基本功能健全 的博客工具。后端为Nodejs编写,采用MongoDB做为数据库,前端展示 页面借鉴了Noderce,管理页面借鉴了Flat UI

##基本特点

  • 模块化设计,依赖清晰,易于维护,参考https://vimeo.com/56166857
  • 界面响应式设计,适用不同分辨率屏幕。
  • 管理界面只有文章增删改,评论删除,文章自动保存功能,简洁易用。
  • 使用markdown语法,支持github方式代码块,编写更高效。
  • 垃圾评论过滤和邮件提醒功能(使用第三方服务)。
  • 支持rss,sitemap,google-analysis

##使用

  • 因为使用Makefile作为构建工具,所以暂时只支持 *nix 系统。

  • 安装NodejsMongoDB

    git clone https://github.com/chemzqm/blog
    cd blog
  • 如果不是 Ubuntu 系统,需要编辑Makefilenotify-send替换为对应的桌面提醒工具,例如growl

  • 默认使用growl进行通知,如果你使用linux,可考虑替换为notify-send进行通知

  • 编辑配置文件lib/config/index.js lib/views/layout.jade,修改为你想要的。

  • 创建文件 lib/config/password 在第一行输入你的后台密码(服务启动后会被自动加密,支持在线修改)。

  • 运行:

    npm install #安装依赖模块
    make compile #合并压缩资源文件
    make start #启动服务
  • 安装watch可完成自动压缩打包,例如运行:

    watch -q make compile &
  • 安装Chrome插件livereload,可让浏览器自动重加载编辑过的文件(make start会同时启动tiny-lr服务,启用插件可让页面连接到此服务)

  • 运行make stop停止服务

##工具

  • Akismet 过滤垃圾评论服务。
  • Postmark 有新评论或者他人冒充管理员登陆会向你发邮件通知。

##部署

  • 可使用Appfog的服务将应用部署到公网,不过要注意添加环境变量NODE_PATHlib,而且在上面绑定自己的域名需要收费,最低20$一个月。中文攻略

  • 或者购买VPS服务,我用的是42qu

##licence

MIT

About

Simple and modular blog

https://chemzqm.me


Languages

Language:JavaScript 100.0%