文章目录
  1. 1. 基本信息
  2. 2. 依赖情况
    1. 2.1. 框架组件
    2. 2.2. 基本组件
    3. 2.3. 点睛组件
    4. 2.4. 样式组件
    5. 2.5. 其他组件
  3. 3. 开发方法
  4. 4. 五分钟带你熟悉源代码
  5. 5. 总结评分

基本信息

  • 名字: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

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

文章目录
  1. 1. 基本信息
  2. 2. 依赖情况
    1. 2.1. 框架组件
    2. 2.2. 基本组件
    3. 2.3. 点睛组件
    4. 2.4. 样式组件
    5. 2.5. 其他组件
  3. 3. 开发方法
  4. 4. 五分钟带你熟悉源代码
  5. 5. 总结评分