FATAL Something's wrong. Maybe you can find the solution here: http://hexo.io/docs/troubleshooting.html
TypeError: callback is not a function
at Hexo.<anonymous> (/Users/duanxudong/Documents/blog/node_modules/hexo-generator-api/index.js:102:3)
at Hexo.tryCatcher (/Users/duanxudong/Documents/blog/node_modules/hexo/node_modules/bluebird/js/main/util.js:26:23)
at Hexo.ret (eval at <anonymous> (/Users/duanxudong/Documents/blog/node_modules/hexo/node_modules/bluebird/js/main/promisify.js:163:12), <anonymous>:14:23)
at Hexo.tryCatcher (/Users/duanxudong/Documents/blog/node_modules/hexo/node_modules/bluebird/js/main/util.js:26:23)
at Hexo.<anonymous> (/Users/duanxudong/Documents/blog/node_modules/hexo/node_modules/bluebird/js/main/method.js:15:34)
at /Users/duanxudong/Documents/blog/node_modules/hexo/lib/hexo/index.js:325:24
at tryCatcher (/Users/duanxudong/Documents/blog/node_modules/hexo/node_modules/bluebird/js/main/util.js:26:23)
at MappingPromiseArray._promiseFulfilled (/Users/duanxudong/Documents/blog/node_modules/hexo/node_modules/bluebird/js/main/map.js:56:38)
at MappingPromiseArray.init (/Users/duanxudong/Documents/blog/node_modules/hexo/node_modules/bluebird/js/main/promise_array.js:92:18)
at MappingPromiseArray.init (/Users/duanxudong/Documents/blog/node_modules/hexo/node_modules/bluebird/js/main/map.js:29:23)
at Async._drainQueue (/Users/duanxudong/Documents/blog/node_modules/hexo/node_modules/bluebird/js/main/async.js:128:12)
at Async._drainQueues (/Users/duanxudong/Documents/blog/node_modules/hexo/node_modules/bluebird/js/main/async.js:133:10)
at Immediate.Async.drainQueues [as _onImmediate] (/Users/duanxudong/Documents/blog/node_modules/hexo/node_modules/bluebird/js/main/async.js:15:14)
at processImmediate [as _immediateCallback] (timers.js:383:17)
FATAL TypeError: callback is not a function
at Hexo.<anonymous> (/Users/duanxudong/Documents/blog/node_modules/hexo-generator-api/index.js:102:3)
at Hexo.tryCatcher (/Users/duanxudong/Documents/blog/node_modules/hexo/node_modules/bluebird/js/main/util.js:26:23)
at Hexo.ret (eval at <anonymous> (/Users/duanxudong/Documents/blog/node_modules/hexo/node_modules/bluebird/js/main/promisify.js:163:12), <anonymous>:14:23)
at Hexo.tryCatcher (/Users/duanxudong/Documents/blog/node_modules/hexo/node_modules/bluebird/js/main/util.js:26:23)
at Hexo.<anonymous> (/Users/duanxudong/Documents/blog/node_modules/hexo/node_modules/bluebird/js/main/method.js:15:34)
at /Users/duanxudong/Documents/blog/node_modules/hexo/lib/hexo/index.js:325:24
at tryCatcher (/Users/duanxudong/Documents/blog/node_modules/hexo/node_modules/bluebird/js/main/util.js:26:23)
at MappingPromiseArray._promiseFulfilled (/Users/duanxudong/Documents/blog/node_modules/hexo/node_modules/bluebird/js/main/map.js:56:38)
at MappingPromiseArray.init (/Users/duanxudong/Documents/blog/node_modules/hexo/node_modules/bluebird/js/main/promise_array.js:92:18)
at MappingPromiseArray.init (/Users/duanxudong/Documents/blog/node_modules/hexo/node_modules/bluebird/js/main/map.js:29:23)
at Async._drainQueue (/Users/duanxudong/Documents/blog/node_modules/hexo/node_modules/bluebird/js/main/async.js:128:12)
at Async._drainQueues (/Users/duanxudong/Documents/blog/node_modules/hexo/node_modules/bluebird/js/main/async.js:133:10)
at Immediate.Async.drainQueues [as _onImmediate] (/Users/duanxudong/Documents/blog/node_modules/hexo/node_modules/bluebird/js/main/async.js:15:14)
at processImmediate [as _immediateCallback] (timers.js:383:17)