summaryrefslogtreecommitdiffstats
path: root/lib/json
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2016-05-12 13:25:09 +0200
committerSamy Pessé <samypesse@gmail.com>2016-05-12 13:25:09 +0200
commitb97d1c7796659336f68c988f02d0f0376d1e9e82 (patch)
tree2cfcf3e7f9aa092b74c88579ff5727ddf5e4567c /lib/json
parenta091c5b331282bbcc4e0a3b79fbc32dd6f842747 (diff)
downloadgitbook-b97d1c7796659336f68c988f02d0f0376d1e9e82.zip
gitbook-b97d1c7796659336f68c988f02d0f0376d1e9e82.tar.gz
gitbook-b97d1c7796659336f68c988f02d0f0376d1e9e82.tar.bz2
Fix languages not being added to json output
Diffstat (limited to 'lib/json')
-rw-r--r--lib/json/encodeBook.js4
-rw-r--r--lib/json/encodeLanguages.js26
-rw-r--r--lib/json/index.js3
3 files changed, 32 insertions, 1 deletions
diff --git a/lib/json/encodeBook.js b/lib/json/encodeBook.js
index 9bcb6ee..9d7ec77 100644
--- a/lib/json/encodeBook.js
+++ b/lib/json/encodeBook.js
@@ -4,6 +4,7 @@ var gitbook = require('../gitbook');
var encodeSummary = require('./encodeSummary');
var encodeGlossary = require('./encodeGlossary');
var encodeReadme = require('./encodeReadme');
+var encodeLanguages = require('./encodeLanguages');
/**
Encode a book to JSON
@@ -22,6 +23,9 @@ function encodeBookToJson(book) {
glossary: encodeGlossary(book.getGlossary()),
readme: encodeReadme(book.getReadme()),
config: book.getConfig().getValues().toJS(),
+
+ languages: book.isMultilingual()? encodeLanguages(book.getLanguages()) : undefined,
+
gitbook: {
version: gitbook.version,
time: gitbook.START_TIME
diff --git a/lib/json/encodeLanguages.js b/lib/json/encodeLanguages.js
new file mode 100644
index 0000000..8447e80
--- /dev/null
+++ b/lib/json/encodeLanguages.js
@@ -0,0 +1,26 @@
+var encodeFile = require('./encodeFile');
+
+/**
+ Encode a languages listing to JSON
+
+ @param {Languages}
+ @return {Object}
+*/
+function encodeLanguages(languages) {
+ var file = languages.getFile();
+ var list = languages.getList();
+
+ return {
+ file: encodeFile(file),
+ list: list
+ .valueSeq()
+ .map(function(lang) {
+ return {
+ id: lang.getID(),
+ title: lang.getTitle()
+ };
+ }).toJS()
+ };
+}
+
+module.exports = encodeLanguages;
diff --git a/lib/json/index.js b/lib/json/index.js
index 39cac99..4387ae0 100644
--- a/lib/json/index.js
+++ b/lib/json/index.js
@@ -7,5 +7,6 @@ module.exports = {
encodePage: require('./encodePage'),
encodeSummary: require('./encodeSummary'),
encodeSummaryArticle: require('./encodeSummaryArticle'),
- encodeReadme: require('./encodeReadme')
+ encodeReadme: require('./encodeReadme'),
+ encodeLanguages: require('./encodeLanguages')
};