diff options
author | Samy Pessé <samypesse@gmail.com> | 2014-04-04 10:27:45 -0700 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2014-04-04 10:27:45 -0700 |
commit | 88c480ba4f59a77e448bb88ede36fca1470aca0c (patch) | |
tree | 37be6f27efcc9c93529af53a48ac4716287a5810 /lib/generate/generator_json.js | |
parent | 3da53d56a2ac0b6652b52b74a974747d9df8662e (diff) | |
download | gitbook-88c480ba4f59a77e448bb88ede36fca1470aca0c.zip gitbook-88c480ba4f59a77e448bb88ede36fca1470aca0c.tar.gz gitbook-88c480ba4f59a77e448bb88ede36fca1470aca0c.tar.bz2 |
Complete json generator
Diffstat (limited to 'lib/generate/generator_json.js')
-rw-r--r-- | lib/generate/generator_json.js | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/lib/generate/generator_json.js b/lib/generate/generator_json.js index 6a039a6..b331bfd 100644 --- a/lib/generate/generator_json.js +++ b/lib/generate/generator_json.js @@ -1,15 +1,47 @@ -var BaseGenerator = require("./generator"); var util = require("util"); +var path = require("path"); +var Q = require("q"); + +var fs = require("./fs"); +var parse = require("../parse"); +var BaseGenerator = require("./generator"); + var Generator = function() { BaseGenerator.apply(this, arguments); }; util.inherits(Generator, BaseGenerator); -Generator.prototype.convertFile = function(input) { +Generator.prototype.transferFile = function(input) { + // ignore +}; + +Generator.prototype.convertFile = function(content, input) { + var that = this; + var json = { + progress: parse.progress(this.options.navigation, input) + }; + + return Q() + .then(function() { + return parse.page(content, { + repo: that.options.githubId, + dir: path.dirname(input) || '/' + }); + }) + .then(function(sections) { + json.sections = sections; + }) + .then(function() { + return fs.writeFile( + path.join(that.options.output, input.replace(".md", ".json")), + JSON.stringify(json, null, 4) + ); + }); }; Generator.prototype.finish = function() { + // ignore }; module.exports = Generator;
\ No newline at end of file |