mirror of
https://github.com/GitbookIO/gitbook.git
synced 2026-09-20 17:43:24 +00:00
Add cli commands to build ebooks
This commit is contained in:
@@ -7,11 +7,38 @@ var Promise = require('../utils/promise');
|
||||
var PluginsManager = require('../plugins');
|
||||
var Book = require('../book');
|
||||
var NodeFS = require('../fs/node');
|
||||
var EBookOutput = require('../output/ebook');
|
||||
|
||||
var helper = require('./helper');
|
||||
var Server = require('./server');
|
||||
var watch = require('./watch');
|
||||
|
||||
function ebookCommand(format) {
|
||||
return {
|
||||
name: format + ' [book] [output]',
|
||||
description: 'generates ebook '+format,
|
||||
options: [
|
||||
helper.options.log
|
||||
],
|
||||
exec: helper.bookCmd(function(book, args, kwargs) {
|
||||
var output = new EBookOutput(book, {
|
||||
format: format
|
||||
});
|
||||
|
||||
return output.book.parse()
|
||||
.then(function() {
|
||||
// Set output folder
|
||||
if (args[0]) {
|
||||
output.book.config.set('output', path.resolve(process.cwd(), args[0]));
|
||||
}
|
||||
|
||||
return output.generate();
|
||||
});
|
||||
})
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
module.exports = {
|
||||
commands: [
|
||||
|
||||
@@ -71,6 +98,10 @@ module.exports = {
|
||||
})
|
||||
},
|
||||
|
||||
ebookCommand('pdf'),
|
||||
ebookCommand('epub'),
|
||||
ebookCommand('mobi'),
|
||||
|
||||
{
|
||||
name: 'serve [book]',
|
||||
description: 'Build then serve a book from a directory',
|
||||
|
||||
+2
-1
@@ -4,13 +4,14 @@ var juice = require('juice');
|
||||
|
||||
var command = require('../utils/command');
|
||||
var fs = require('../utils/fs');
|
||||
var Promise = require('../utils/promise');
|
||||
var WebsiteOutput = require('./website');
|
||||
var assetsInliner = require('./assets-inliner');
|
||||
|
||||
function _EbookOutput() {
|
||||
WebsiteOutput.apply(this, arguments);
|
||||
}
|
||||
util.inherits(EbookOutput, WebsiteOutput);
|
||||
util.inherits(_EbookOutput, WebsiteOutput);
|
||||
|
||||
var EbookOutput = assetsInliner(_EbookOutput);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user