hexo-admin - 静态博客的后台管理程序[JS]

#Javascript #Hexo

基本信息

  • 名字:hexo-admin
  • 版本:0.1.3
  • 开源协议:ISC
  • 说明:静态博客hexo的专用后台管理程序

这个主要是找来给我老婆使用的,因为她不懂程序,也不打算懂得如何push/pull,能劝说她加入到markdown的行列已经是非常不易的了,所以找来这个后台程序配合上我帮她搭建的hexo博客,让她可以方便直观的编辑后台文章。

用下来总体感觉还不错,不过缺少一些重要功能,于是我在自己wizicer的fork上面加了删除功能,不过因为当时遭遇到hexo本身的一个编辑过程会出现大量posts重复的bug,没时间把问题解决完,故也没有把更新PR过去。

另外,图片相关功能也是相当弱的,基本上都是在另外地方先传好图片(用的七牛)再贴过来的。作者给自己提了一个issue就是改进图片上传功能,不过还是open状态。

还有一个较为严重的问题就是编辑页面标题会产生新页面(并产生重复)而不是改名,(edit:不过刚才看了一下最新的repo情况,貌似最新的0.2.0修复了,尚未测试了。)

依赖情况

框架组件

  • body-parser : 用于解析http请求的正文(body)部分的中间件,不支持multipart的正文(主要用作上传文件使用)。server中必备组件之一,这类型的组件,最近我倾向于使用busboy
  • serve-static : 顾名思义,用于伺服静态文件的组件。在本程序中主要是伺服图片样式等静态文件。
  • react : facebook出的一种UI框架,所以通常会是MVC中的V部分
  • react-router : 专为react设计的路由库,和react合并使用,成为MVC中的C部分

基本组件

  • es6-promise : 轻量级的异步代码管理组件,将异步执行的代码拥有同步代码的阅读体验。
  • lodash : 比underscore功能更加丰富的库,基本使用方法都是一样的,顾名思义也知道这个是后出来希望替代其前辈的基本类库,主要是为js带来一系列函数式编程体验的扩展方法。
  • marked : 一个markdown解析库,自称效率极高。

点睛组件

  • moment : 功能丰富的用于操作日期时间的库,可以方便的将时间转换成适合人类阅读的样式(例如:30分钟前)。
  • code-mirror : 非常著名的在线代码编辑器,在本程序中主要用于markdown的高亮。需要注意的是在npm上面,该组件已经更名为codemirror
  • superagent : 使用流式接口(Fluent API)的优雅且功能丰富的HTTP操作(Ajax)组件。
  • superagent-browserify : 使得superagent可以和browserify一起工作的封装。
  • reactify : 使得转换JSX的功能(主要用在React框架中的一种文件格式)可以和browserify一起工作的封装,本工程中主要用于制作demo站点。

样式组件

其他组件

必须要提到的是Hexo是其正常运行的根本,安装方法请参照hexo-admin

另外一个必须提到的是Casper主题,样式文件/www/css/screen.css就是出自此主题。

开发方法

原作者提供了makefile,不过对于windows用户来说,这个貌似不太友好,虽然有omake,cygwin等可选,反正结果就是我都没有用,所以我在自己wizicer的fork上面改成使用grunt了。

如果你使用原作者的方式,那就是如下命令:

  • npm test: 运行测试方法,不过该工程没有一个测试用例,且该命令会告诉你该命令不存在。
  • npm prepublish: 启动预发布状态,主要就是编译一下less文件。

如果你使用wizicer的fork,那就是如下命令:

  • grunt: 以开发状态启动,会监控磁盘文件变化。
  • grunt pub: 编译文件,准备发布。

总结评分

评分为1-5分,5分最高

  • 代码清晰度: 3
  • 适宜维护度: 1
  • 弱化依赖度: 3
  • 系统稳定度: 1
  • 作者维护度: 1

注意:此评分为冰河魔法师一家之言,仅供参考