summaryrefslogtreecommitdiffstats
path: root/lib/generate/generator_json.js
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2014-04-04 10:27:45 -0700
committerSamy Pessé <samypesse@gmail.com>2014-04-04 10:27:45 -0700
commit88c480ba4f59a77e448bb88ede36fca1470aca0c (patch)
tree37be6f27efcc9c93529af53a48ac4716287a5810 /lib/generate/generator_json.js
parent3da53d56a2ac0b6652b52b74a974747d9df8662e (diff)
downloadgitbook-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.js36
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