diff options
Diffstat (limited to 'lib/output/json/onFinish.js')
-rw-r--r-- | lib/output/json/onFinish.js | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/lib/output/json/onFinish.js b/lib/output/json/onFinish.js index ff336a2..d41d778 100644 --- a/lib/output/json/onFinish.js +++ b/lib/output/json/onFinish.js @@ -2,6 +2,7 @@ var path = require('path'); var Promise = require('../../utils/promise'); var fs = require('../../utils/fs'); +var JSONUtils = require('../../json'); /** Finish the generation @@ -21,11 +22,25 @@ function onFinish(output) { var languages = book.getLanguages(); var mainLanguage = languages.getDefaultLanguage(); - // Copy README.json from it - return fs.copy( - path.resolve(outputRoot, mainLanguage.getID(), 'README.json'), - path.resolve(outputRoot, 'README.json') - ) + // Read the main JSON + return fs.readFile(path.resolve(outputRoot, mainLanguage.getID(), 'README.json'), 'utf8') + + // Extend the JSON + .then(function(content) { + var json = JSON.parse(content); + + json.languages = JSONUtils.encodeLanguages(languages); + + return json; + }) + + .then(function(json) { + return fs.writeFile( + path.resolve(outputRoot, 'README.json'), + JSON.stringify(json, null, 4) + ); + }) + .thenResolve(output); } |