diff options
-rw-r--r-- | lib/json/encodeBook.js | 1 | ||||
-rw-r--r-- | lib/output/json/onFinish.js | 21 | ||||
-rw-r--r-- | lib/output/json/onPage.js | 8 | ||||
-rw-r--r-- | lib/output/website/onPage.js | 2 |
4 files changed, 28 insertions, 4 deletions
diff --git a/lib/json/encodeBook.js b/lib/json/encodeBook.js index 3bbbe0f..336b12a 100644 --- a/lib/json/encodeBook.js +++ b/lib/json/encodeBook.js @@ -15,6 +15,7 @@ function encodeBookToJson(book) { summary: encodeSummary(book.getSummary()), glossary: encodeGlossary(book.getGlossary()), readme: encodeReadme(book.getReadme()), + config: book.getCOnfig().getValues().toJS(), gitbook: { version: gitbook.version, time: gitbook.START_TIME 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'); diff --git a/lib/output/website/onPage.js b/lib/output/website/onPage.js index 751a430..1e9a131 100644 --- a/lib/output/website/onPage.js +++ b/lib/output/website/onPage.js @@ -38,8 +38,6 @@ function onPage(output, page) { .then(function(resultPage) { // Generate the context var context = JSONUtils.encodeBookWithPage(output.getBook(), resultPage); - - context.config = config.getValues().toJS(); context.plugins = { resources: Plugins.listResources(plugins, prefix).toJS() }; |