diff options
Diffstat (limited to 'lib/output/json')
-rw-r--r-- | lib/output/json/onFinish.js | 21 | ||||
-rw-r--r-- | lib/output/json/onPage.js | 8 |
2 files changed, 27 insertions, 2 deletions
diff --git a/lib/output/json/onFinish.js b/lib/output/json/onFinish.js index 107285a..ff336a2 100644 --- a/lib/output/json/onFinish.js +++ b/lib/output/json/onFinish.js @@ -1,4 +1,7 @@ +var path = require('path'); + var Promise = require('../../utils/promise'); +var fs = require('../../utils/fs'); /** Finish the generation @@ -7,9 +10,23 @@ var Promise = require('../../utils/promise'); @return {Output} */ function onFinish(output) { - // todo: copy README.json from main language + var book = output.getBook(); + var outputRoot = output.getRoot(); + + if (!book.isMultilingual()) { + return Promise(output); + } + + // Get main language + var languages = book.getLanguages(); + var mainLanguage = languages.getDefaultLanguage(); - return Promise(output); + // Copy README.json from it + return fs.copy( + path.resolve(outputRoot, mainLanguage.getID(), 'README.json'), + path.resolve(outputRoot, 'README.json') + ) + .thenResolve(output); } module.exports = onFinish; diff --git a/lib/output/json/onPage.js b/lib/output/json/onPage.js index 54179c6..c2ee0d0 100644 --- a/lib/output/json/onPage.js +++ b/lib/output/json/onPage.js @@ -4,6 +4,8 @@ var Modifiers = require('../modifiers'); var writeFile = require('../helper/writeFile'); var getModifiers = require('../getModifiers'); +var JSON_VERSION = '3'; + /** Write a page as a json file @@ -18,6 +20,12 @@ function onPage(output, page) { // Generate the JSON var json = JSONUtils.encodeBookWithPage(output.getBook(), resultPage); + // Delete some private properties + delete json.config; + + // Specify JSON output version + json.version = JSON_VERSION; + // File path in the output folder var filePath = PathUtils.setExtension(file.getPath(), '.json'); |