summaryrefslogtreecommitdiffstats
path: root/lib/generators
diff options
context:
space:
mode:
Diffstat (limited to 'lib/generators')
-rw-r--r--lib/generators/json.js26
-rw-r--r--lib/generators/website.js24
2 files changed, 30 insertions, 20 deletions
diff --git a/lib/generators/json.js b/lib/generators/json.js
index a1202ad..f1af395 100644
--- a/lib/generators/json.js
+++ b/lib/generators/json.js
@@ -17,20 +17,24 @@ Generator.prototype.transferFile = function(input) { };
Generator.prototype.finish = function() { };
// Convert an input file
-Generator.prototype.writeParsedFile = function(page) {
+Generator.prototype.convertFile = function(input) {
var that = this;
- var json = {
- progress: page.progress,
- sections: page.sections
- };
- var output = links.changeExtension(page.path, ".json");
- output = path.join(that.options.output, output);
+ return that.book.parsePage(input)
+ .then(function(page) {
+ var json = {
+ progress: page.progress,
+ sections: page.sections
+ };
- return fs.writeFile(
- output,
- JSON.stringify(json, null, 4)
- );
+ var output = links.changeExtension(page.path, ".json");
+ output = path.join(that.options.output, output);
+
+ return fs.writeFile(
+ output,
+ JSON.stringify(json, null, 4)
+ );
+ });
};
// Generate languages index
diff --git a/lib/generators/website.js b/lib/generators/website.js
index ba1d2ce..08950c8 100644
--- a/lib/generators/website.js
+++ b/lib/generators/website.js
@@ -123,19 +123,25 @@ Generator.prototype.finish = function() {
};
// Convert an input file
-Generator.prototype.writeParsedFile = function(page) {
+Generator.prototype.convertFile = function(input) {
var that = this;
- var relativeOutput = this.book.contentLink(page.path);
- var output = path.join(that.options.output, relativeOutput);
+ return that.book.parsePage(input, {
+ interpolateTemplate: function(page) {
+ return that.callHook("page:before", page);
+ },
+ interpolateContent: function(page) {
+ return that.callHook("page", page);
+ }
+ })
+ .then(function(page) {
+ var relativeOutput = that.book.contentLink(page.path);
+ var output = path.join(that.options.output, relativeOutput);
- var basePath = path.relative(path.dirname(output), this.options.output) || ".";
- if (process.platform === 'win32') basePath = basePath.replace(/\\/g, '/');
+ var basePath = path.relative(path.dirname(output), that.options.output) || ".";
+ if (process.platform === 'win32') basePath = basePath.replace(/\\/g, '/');
- that.book.log.info.ln("write parsed file", page.path, "to", relativeOutput);
- return that.normalizePage(page)
- .then(function(_page) {
- page = _page;
+ that.book.log.info.ln("write parsed file", page.path, "to", relativeOutput);
return that._writeTemplate(that.templates["page"], {
progress: page.progress,