diff options
author | Samy Pessé <samypesse@gmail.com> | 2014-04-05 20:21:51 -0700 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2014-04-05 20:22:27 -0700 |
commit | 9ffec175a5cd5cd4e4e310ea14d6c28cb576bfc7 (patch) | |
tree | 36ca31f21239875db7c883bde2702effc1fec1e2 /bin/gitbook.js | |
parent | 465188cae68d86017ce293e018eddf85f4de83ba (diff) | |
download | gitbook-9ffec175a5cd5cd4e4e310ea14d6c28cb576bfc7.zip gitbook-9ffec175a5cd5cd4e4e310ea14d6c28cb576bfc7.tar.gz gitbook-9ffec175a5cd5cd4e4e310ea14d6c28cb576bfc7.tar.bz2 |
Add command gitbook pdf to generate PDF
Diffstat (limited to 'bin/gitbook.js')
-rwxr-xr-x | bin/gitbook.js | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/bin/gitbook.js b/bin/gitbook.js deleted file mode 100755 index c280282..0000000 --- a/bin/gitbook.js +++ /dev/null @@ -1,113 +0,0 @@ -#! /usr/bin/env node - -// Requires -var Q = require('q'); -var _ = require('lodash'); -var path = require('path'); -var prog = require('commander'); - -var fs = require('fs'); - -var pkg = require('../package.json'); -var generate = require("../lib/generate"); -var parse = require("../lib/parse"); -var generators = require("../lib/generate").generators; - -var utils = require('./utils'); - -var logError = function(err) { - console.log(err.message || err); - return Q.reject(err); -}; - -// General options -prog -.version(pkg.version) -.option('-d, --dir <source_directory>', 'Source directory of book, containing Markdown files'); - - -var buildFunc; -prog -.command('build [source_dir]') -.description('Build a gitbook from a directory') -.option('-o, --output <directory>', 'Path to output directory, defaults to ./_book') -.option('-f, --format <name>', 'Change generation format, defaults to site, availables are: '+_.keys(generators).join(", ")) -.option('-t, --title <name>', 'Name of the book to generate, defaults to repo name') -.option('-i, --intro <intro>', 'Description of the book to generate') -.option('-g, --github <repo_path>', 'ID of github repo like : username/repo') -.option('-gh, --githubHost <url>', 'The url of the github host (defaults to https://github.com/') -.option('--theme <path>', 'Path to theme directory') -.action(buildFunc = function(dir, options) { - dir = dir || process.cwd(); - outputDir = options.output || path.join(dir, '_book'); - - console.log('Starting build ...'); - // Get repo's URL - return utils.gitURL(dir) - .then(function(url) { - // Get ID of repo - return utils.githubID(url); - }, function(err) { - return null; - }) - .then(function(repoID) { - var githubID = options.github || repoID; - - if(!githubID) { - throw new Error('Needs a githubID (username/repo). Either set repo origin to a github repo or use the -g flag'); - } - - var parts = githubID.split('/', 2); - var user = parts[0], repo = parts[1]; - - var title = options.title || utils.titleCase(repo); - - return generate.folder( - { - input: dir, - output: outputDir, - title: title, - description: options.intro, - github: githubID, - generator: options.format, - theme: options.theme - } - ); - }) - .then(function(output) { - console.log("Successfuly built !"); - }, logError) - .then(_.constant(outputDir)); -}); - -prog -.command('serve [source_dir]') -.description('Build then serve a gitbook from a directory') -.option('-p, --port <port>', 'Port for server to listen on', 4000) -.option('-o, --output <directory>', 'Path to output directory, defaults to ./_book') -.option('-f, --format <name>', 'Change generation format, defaults to site, availables are: '+_.keys(generators).join(", ")) -.option('-t, --title <name>', 'Name of the book to generate, defaults to repo name') -.option('-g, --github <repo_path>', 'ID of github repo like : username/repo') -.option('-gh, --githubHost <url>', 'The url of the github host (defaults to https://github.com/') -.option('--theme <path>', 'Path to theme directory') -.action(function(dir, options) { - buildFunc(dir, options) - .then(function(outputDir) { - console.log(); - console.log('Starting server ...'); - return utils.serveDir(outputDir, options.port) - .fail(logError); - }) - .then(function() { - console.log('Serving book on http://localhost:'+options.port); - console.log(); - console.log('Press CTRL+C to quit ...'); - }); -}); - - - -// Parse and fallback to help if no args -if(_.isEmpty(prog.parse(process.argv).args) && process.argv.length === 2) { - prog.help(); -} |