Bat 是一个简易的博客系统,兼容ie8+、chrome、firefox以及手机移动端等平台,具有在线编辑、图片上传、评论、后台管理等基本功能。
编辑页面有两个区域,左边是编辑区,右边是预览区,在编辑文章时可以实时预览内容。Bat 有两种编辑模式,Markdown
和 文本模式
。文章支持分类、置顶、编辑等操作。
在Markdown模式中可以插入图片,插入的图片将根据您的上传策略存储到第三方服务器或者本地服务器。您也可以直接拖动图片到编辑区域,快速插入图片。
通过 <your blog url>/bat
链接就可以登录系统后台,管理您的的博客。进入后台管理后,可以进行如下操作
- 修改博客信息
- 修改上传策略
- 导出数据库
- 管理标签
- 管理评论
本项目为node.js
项目,采用express
框架,渲染模板为ejs,默认端口18080
。
-bin --www.js 应用入口 -controller 控制器,路由之后的各种逻辑操作 --admin.js --blog.js --comment.js --tag.js -data 存放数据 --guide 博客第一篇文章(使用教程),markdown --myblog.sqlite3 数据库,整个博客的信息都保存在此数据库 -models --storage 存储策略 ---local.js 本地存储 ---qiniu.js 七牛存储 --blogs.js 博客模型, --comments.js 评论模型 --data-center.js 数据中心,里面的init方法初始化了博客信息,加载数据库,在www.js被调用 --database.js 定义了数据库通用方法,创建数据库,创建表,事务提交 --maps.js 类似于map类,有put、get方法。主要用来存储博客设置信息,如上传策略,登录信息,博客信息。 --tags.js 标签模型 -node_modules 模块 -public 存放公共资源,css,js,img -routes 路由 --admin 跟后台管理页面有关的路由 --api 接口,供前台js调用,_开头的接口为私有接口,必须登录使用 --blogs 跟博客页面有关的路由 --index.js -utils 工具包 -views 视图包 -app.js 服务器配置。里面定义了一个全局变量APP_PATH,代表应用的根目录。 -package.json 依赖包 -README.md -.gitignore
bluebird
promise,避免地域回调ejs
渲染模板formidable
上传模板(前端使用plupload
上传组件)highlight.js
代码高亮html-to-text
把html转化为文本marked
将markdown转化为htmlqiniu
七牛,第三方云存储,支持客户端上传sqlite3
数据库,基于单个文件