gitbook-cli でサーバーがいちいち上がるのがめんどくさい。
gitbook を使い込む気は、あまりないのだけど、マークダウンを記述して、gitbook serve
で 変換が必要
gulp で監視してしまいたい。
HTMLに変換するだけなら、べつにserve は要らないし、そこまでリアルタイムな編集も要らないんだよね。
gitbook watch がほしいとおもったけど見つからないので、 しかし、gitbook-cli は開発終わってる。
仕方ないので、gitbook watch 代わりにgulp watch を作ってみた。
gitbook はWEBサービスになっちゃったんだけど、なんか残念だよね。
gitbook-cli のビルド部分だけを gulp 化したもの
var gulp = require("gulp"); gulp.task('watch', function(done){ gulp.watch(['**/*.md'], gulp.task('book')); }); gulp.task('book', function( done ){ // ./node_modules/.bin/gitbook から抜粋 var parsedArgv = require('optimist').argv; var color = require('bash-color'); var manager = require('./node_modules/gitbook-cli/lib'); var commands = require('./node_modules/gitbook-cli/lib/commands'); var program = require('commander'); var bookRoot = parsedArgv._[1] || process.cwd(); function runPromise(p) { return p .then(function() { process.exit(0); }, function(err) { console.log(''); console.log(color.red(err.toString())); if (program.debug || process.env.DEBUG) console.log(err.stack || ''); process.exit(1); }); } return manager.ensureAndLoad(bookRoot,program.gitbook) .then(function ( gitbook ) { return commands.exec(gitbook.commands, 'build', [], []) }); });