diff options
author | Samy Pessé <samypesse@gmail.com> | 2015-03-09 10:43:12 +0100 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2015-03-09 10:43:12 +0100 |
commit | 34fc2831e0cf0fed01c71cec28d93472d87f455b (patch) | |
tree | a803cc907c20491ba02863b5d3dd5aedf6bfed10 /lib/generate/init.js | |
parent | e1594cde2c32e4ff48f6c4eff3d3d461743d74e1 (diff) | |
parent | 1bf68a5aa0703b5a1815cfe4ebb731b5fb6ed9d2 (diff) | |
download | gitbook-34fc2831e0cf0fed01c71cec28d93472d87f455b.zip gitbook-34fc2831e0cf0fed01c71cec28d93472d87f455b.tar.gz gitbook-34fc2831e0cf0fed01c71cec28d93472d87f455b.tar.bz2 |
Merge branch 'version/2.0'
Diffstat (limited to 'lib/generate/init.js')
-rw-r--r-- | lib/generate/init.js | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/lib/generate/init.js b/lib/generate/init.js deleted file mode 100644 index 705e6e7..0000000 --- a/lib/generate/init.js +++ /dev/null @@ -1,69 +0,0 @@ -var Q = require('q'); -var _ = require('lodash'); - -var path = require('path'); - -var fs = require('./fs'); -var parse = require('../parse'); - - -// Extract paths out of a summary -function paths(summary) { - return _.reduce(summary.chapters, function(accu, chapter) { - return accu.concat( - _.filter([chapter.path].concat(_.pluck(chapter.articles, 'path'))) - ); - }, []); -} - -// Get the parent folders out of a group of files -function folders(files) { - return _.chain(files) - .map(function(file) { - return path.dirname(file); - }) - .uniq() - .value(); -} - -function initDir(dir) { - return fs.readFile(path.join(dir, 'SUMMARY.md'), 'utf8') - .then(function(src) { - // Parse summary - return parse.summary(src); - }) - .then(function(summary) { - // Extract paths from summary - return paths(summary); - }) - .then(function(paths) { - // Convert to absolute paths - return _.map(paths, function(file) { - return path.resolve(file); - }); - }) - .then(function(files) { - // Create folders - return Q.all(_.map(folders(files), function(folder) { - return fs.mkdirp(folder); - })) - .then(_.constant(files)); - }) - .then(function(files) { - // Create files that don't exist - return Q.all(_.map(files, function(file) { - return fs.exists(file) - .then(function(exists) { - if(exists) return; - return fs.writeFile(file, ''); - }); - })); - }) - .fail(function(err) { - console.error(err.stack); - }); -} - - -// Exports -module.exports = initDir; |