summaryrefslogtreecommitdiffstats
path: root/lib/index.js
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2015-03-14 23:23:28 +0100
committerSamy Pessé <samypesse@gmail.com>2015-03-14 23:23:28 +0100
commit94485621560152cf197dc8bd603774c46de2f0ef (patch)
tree189aa8349423187a807dd2c2a4b3639d1a752213 /lib/index.js
parent8320484b88f2481dad276b1912831110fdf75bcd (diff)
downloadgitbook-94485621560152cf197dc8bd603774c46de2f0ef.zip
gitbook-94485621560152cf197dc8bd603774c46de2f0ef.tar.gz
gitbook-94485621560152cf197dc8bd603774c46de2f0ef.tar.bz2
Add editorconfig and normalize indent
Diffstat (limited to 'lib/index.js')
-rw-r--r--lib/index.js378
1 files changed, 189 insertions, 189 deletions
diff --git a/lib/index.js b/lib/index.js
index 95abd43..7a54793 100644
--- a/lib/index.js
+++ b/lib/index.js
@@ -12,199 +12,199 @@ var watch = require("./utils/watch");
var logger = require("./utils/logger");
var LOG_OPTION = {
- name: "log",
- description: "Minimum log level to display",
- values: _.chain(logger.LEVELS).keys().map(stringUtils.toLowerCase).value(),
- defaults: "info"
+ name: "log",
+ description: "Minimum log level to display",
+ values: _.chain(logger.LEVELS).keys().map(stringUtils.toLowerCase).value(),
+ defaults: "info"
};
var FORMAT_OPTION = {
- name: "format",
- description: "Format to build to",
- values: ["website", "json", "ebook"],
- defaults: "website"
+ name: "format",
+ description: "Format to build to",
+ values: ["website", "json", "ebook"],
+ defaults: "website"
};
module.exports = {
- Book: Book,
- LOG_LEVELS: logger.LEVELS,
-
- commands: _.flatten([
- {
- name: "build [book] [output]",
- description: "build a book",
- options: [
- FORMAT_OPTION,
- LOG_OPTION
- ],
- exec: function(args, kwargs) {
- var input = args[0] || process.cwd();
- var output = args[1] || path.join(input, "_book");
-
- var book = new Book(input, _.extend({}, {
- 'config': {
- 'output': output
- },
- 'logLevel': kwargs.log
- }));
-
- return book.parse()
- .then(function() {
- return book.generate(kwargs.format);
- })
- .then(function(){
- console.log("");
- console.log(color.green("Done, without error"));
- });
- }
- },
-
- _.map(["pdf", "epub", "mobi"], function(ebookType) {
- return {
- name: ebookType+" [book] [output]",
- description: "build a book to "+ebookType,
- options: [
- LOG_OPTION
- ],
- exec: function(args, kwargs) {
- var input = args[0] || process.cwd();
- var output = args[1];
-
- var book = new Book(input, _.extend({}, {
- 'logLevel': kwargs.log
- }));
-
- return book.parse()
- .then(function() {
- return book.generateFile(output, {
- ebookFormat: ebookType
- });
- })
- .then(function(){
- console.log("");
- console.log(color.green("Done, without error"));
- });
- }
- };
- }),
-
- {
- name: "serve [book]",
- description: "Build then serve a gitbook from a directory",
- options: [
- {
- name: "port",
- description: "Port for server to listen on",
- defaults: 4000
- },
- {
- name: "lrport",
- description: "Port for livereload server to listen on",
- defaults: 35729
- },
- {
- name: "watch",
- description: "Enable/disable file watcher",
- defaults: true
- },
- FORMAT_OPTION,
- LOG_OPTION
- ],
- exec: function(args, kwargs) {
- var input = args[0] || process.cwd();
- var server = new Server();
-
- // Init livereload server
- var lrServer = tinylr({});
- var lrPath = undefined;
-
- var generate = function() {
- if (server.isRunning()) console.log("Stopping server");
-
- return server.stop()
- .then(function() {
- var book = new Book(input, _.extend({}, {
- 'config': {
- 'defaultsPlugins': ["livereload"]
- },
- 'logLevel': kwargs.log
- }));
-
- return book.parse()
- .then(function() {
- return book.generate(kwargs.format);
- })
- .thenResolve(book);
- })
- .then(function(book) {
- console.log();
- console.log('Starting server ...');
- return server.start(book.options.output, kwargs.port)
- .then(function() {
- console.log('Serving book on http://localhost:'+kwargs.port);
-
- if (lrPath) {
- // trigger livereload
- lrServer.changed({
- body: {
- files: [lrPath]
- }
- });
- }
-
- if (!kwargs.watch) return;
-
- return watch(book.root)
- .then(function(filepath) {
- // set livereload path
- lrPath = filepath;
- console.log("Restart after change in files");
- console.log('');
- return generate();
- })
- })
- });
- };
-
- return Q.nfcall(lrServer.listen.bind(lrServer), kwargs.lrport)
- .then(function() {
- console.log('Live reload server started on port:', kwargs.lrport);
- console.log('Press CTRL+C to quit ...');
- console.log('')
- return generate();
- });
- }
- },
-
- {
- name: "install [book]",
- description: "install plugins dependencies",
- exec: function(args, kwargs) {
- var input = args[0] || process.cwd();
-
- var book = new Book(input);
-
- return book.config.load()
- .then(function() {
- return book.plugins.install();
- })
- .then(function(){
- console.log("");
- console.log(color.green("Done, without error"));
- });
- }
- },
-
- {
- name: "init [directory]",
- description: "create files and folders based on contents of SUMMARY.md",
- exec: function(args, kwargs) {
- return Book.init(args[0] || process.cwd())
- .then(function(){
- console.log("");
- console.log(color.green("Done, without error"));
- });
- }
- }
- ])
+ Book: Book,
+ LOG_LEVELS: logger.LEVELS,
+
+ commands: _.flatten([
+ {
+ name: "build [book] [output]",
+ description: "build a book",
+ options: [
+ FORMAT_OPTION,
+ LOG_OPTION
+ ],
+ exec: function(args, kwargs) {
+ var input = args[0] || process.cwd();
+ var output = args[1] || path.join(input, "_book");
+
+ var book = new Book(input, _.extend({}, {
+ 'config': {
+ 'output': output
+ },
+ 'logLevel': kwargs.log
+ }));
+
+ return book.parse()
+ .then(function() {
+ return book.generate(kwargs.format);
+ })
+ .then(function(){
+ console.log("");
+ console.log(color.green("Done, without error"));
+ });
+ }
+ },
+
+ _.map(["pdf", "epub", "mobi"], function(ebookType) {
+ return {
+ name: ebookType+" [book] [output]",
+ description: "build a book to "+ebookType,
+ options: [
+ LOG_OPTION
+ ],
+ exec: function(args, kwargs) {
+ var input = args[0] || process.cwd();
+ var output = args[1];
+
+ var book = new Book(input, _.extend({}, {
+ 'logLevel': kwargs.log
+ }));
+
+ return book.parse()
+ .then(function() {
+ return book.generateFile(output, {
+ ebookFormat: ebookType
+ });
+ })
+ .then(function(){
+ console.log("");
+ console.log(color.green("Done, without error"));
+ });
+ }
+ };
+ }),
+
+ {
+ name: "serve [book]",
+ description: "Build then serve a gitbook from a directory",
+ options: [
+ {
+ name: "port",
+ description: "Port for server to listen on",
+ defaults: 4000
+ },
+ {
+ name: "lrport",
+ description: "Port for livereload server to listen on",
+ defaults: 35729
+ },
+ {
+ name: "watch",
+ description: "Enable/disable file watcher",
+ defaults: true
+ },
+ FORMAT_OPTION,
+ LOG_OPTION
+ ],
+ exec: function(args, kwargs) {
+ var input = args[0] || process.cwd();
+ var server = new Server();
+
+ // Init livereload server
+ var lrServer = tinylr({});
+ var lrPath = undefined;
+
+ var generate = function() {
+ if (server.isRunning()) console.log("Stopping server");
+
+ return server.stop()
+ .then(function() {
+ var book = new Book(input, _.extend({}, {
+ 'config': {
+ 'defaultsPlugins': ["livereload"]
+ },
+ 'logLevel': kwargs.log
+ }));
+
+ return book.parse()
+ .then(function() {
+ return book.generate(kwargs.format);
+ })
+ .thenResolve(book);
+ })
+ .then(function(book) {
+ console.log();
+ console.log('Starting server ...');
+ return server.start(book.options.output, kwargs.port)
+ .then(function() {
+ console.log('Serving book on http://localhost:'+kwargs.port);
+
+ if (lrPath) {
+ // trigger livereload
+ lrServer.changed({
+ body: {
+ files: [lrPath]
+ }
+ });
+ }
+
+ if (!kwargs.watch) return;
+
+ return watch(book.root)
+ .then(function(filepath) {
+ // set livereload path
+ lrPath = filepath;
+ console.log("Restart after change in files");
+ console.log('');
+ return generate();
+ })
+ })
+ });
+ };
+
+ return Q.nfcall(lrServer.listen.bind(lrServer), kwargs.lrport)
+ .then(function() {
+ console.log('Live reload server started on port:', kwargs.lrport);
+ console.log('Press CTRL+C to quit ...');
+ console.log('')
+ return generate();
+ });
+ }
+ },
+
+ {
+ name: "install [book]",
+ description: "install plugins dependencies",
+ exec: function(args, kwargs) {
+ var input = args[0] || process.cwd();
+
+ var book = new Book(input);
+
+ return book.config.load()
+ .then(function() {
+ return book.plugins.install();
+ })
+ .then(function(){
+ console.log("");
+ console.log(color.green("Done, without error"));
+ });
+ }
+ },
+
+ {
+ name: "init [directory]",
+ description: "create files and folders based on contents of SUMMARY.md",
+ exec: function(args, kwargs) {
+ return Book.init(args[0] || process.cwd())
+ .then(function(){
+ console.log("");
+ console.log(color.green("Done, without error"));
+ });
+ }
+ }
+ ])
};