diff options
author | Samy Pessé <samypesse@gmail.com> | 2014-07-12 09:23:15 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2014-07-12 09:23:15 +0200 |
commit | f05b138fd6cbd46ff72ca45bb8f08994df9035b0 (patch) | |
tree | fa14cd4828dbe80c91567d72b1d5b3975ebe44f5 /bin/platform.js | |
parent | a9f473260cdbf7944a8d95c4292a93897f9210eb (diff) | |
download | gitbook-f05b138fd6cbd46ff72ca45bb8f08994df9035b0.zip gitbook-f05b138fd6cbd46ff72ca45bb8f08994df9035b0.tar.gz gitbook-f05b138fd6cbd46ff72ca45bb8f08994df9035b0.tar.bz2 |
Add base command git:push and git:remote
Diffstat (limited to 'bin/platform.js')
-rw-r--r-- | bin/platform.js | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/bin/platform.js b/bin/platform.js new file mode 100644 index 0000000..6bf0b94 --- /dev/null +++ b/bin/platform.js @@ -0,0 +1,53 @@ +var Q = require("q"); +var utils = require("./utils"); + +var publish = function(folder) { + if (!folder) { + console.log("Need a repository folder"); + return process.exit(-1); + } + + utils.gitCmd("push", ["gitbook", "master"]) + .then(function(out) { + console.log(out.stdout); + }, function(err) { + if (err.code == 128) { + console.log("No book on gitbook.io is configured with this git repository."); + console.log("Run 'gitbook git:remote username/book' to intialize this repository."); + } else { + console.log(err.message); + } + process.exit(-1); + }); +}; + +var remote = function(folder, bookId) { + if (!folder || !bookId) { + console.log("Need a repository folder and a book id"); + return process.exit(-1); + } + + var url = "https://push.gitbook.io/"+bookId+".git"; + var addRemote = function() { + return utils.gitCmd("remote", ["add", "gitbook", url]); + } + + addRemote() + .fail(function(err) { + if (err.code == 128) { + return utils.gitCmd("remote", ["rm", "gitbook"]).then(addRemote); + } + return Q.reject(err); + }) + .then(function(out) { + console.log("Book remote '"+url+"' added to the folder"); + }, function(err) { + console.log(err.message); + process.exit(-1); + }); +}; + +module.exports = { + publish: publish, + remote: remote +}; |