diff options
author | Samy Pesse <samypesse@gmail.com> | 2016-04-26 23:19:19 +0200 |
---|---|---|
committer | Samy Pesse <samypesse@gmail.com> | 2016-04-26 23:19:19 +0200 |
commit | 878e7441f22a5ef2dc533b6979f73c75d402c0c0 (patch) | |
tree | 81d1fc65e0419f1015e7594403090cbafb331695 /lib/api | |
parent | 27d387e3e1d2389594670babad3afab6359c15fc (diff) | |
download | gitbook-878e7441f22a5ef2dc533b6979f73c75d402c0c0.zip gitbook-878e7441f22a5ef2dc533b6979f73c75d402c0c0.tar.gz gitbook-878e7441f22a5ef2dc533b6979f73c75d402c0c0.tar.bz2 |
Stop running test on node 0.12 for windows
Diffstat (limited to 'lib/api')
-rw-r--r-- | lib/api/decodeGlobal.js | 3 | ||||
-rw-r--r-- | lib/api/decodePage.js | 28 |
2 files changed, 28 insertions, 3 deletions
diff --git a/lib/api/decodeGlobal.js b/lib/api/decodeGlobal.js index 1b0b135..118afb2 100644 --- a/lib/api/decodeGlobal.js +++ b/lib/api/decodeGlobal.js @@ -1,7 +1,8 @@ var decodeConfig = require('./decodeConfig'); /** - Decode changes from a JS API to a output object + Decode changes from a JS API to a output object. + Only the configuration can be edited by plugin's hooks @param {Output} output @param {Object} result: result from API diff --git a/lib/api/decodePage.js b/lib/api/decodePage.js index 5cce56c..e0b7d1e 100644 --- a/lib/api/decodePage.js +++ b/lib/api/decodePage.js @@ -1,6 +1,7 @@ /** - Decode changes from a JS API to a page object + Decode changes from a JS API to a page object. + Only the content can be edited by plugin's hooks. @param {Output} output @param {Page} page: page instance to edit @@ -8,7 +9,30 @@ @return {Page} */ function decodePage(output, page, result) { - // todo + var originalContent = page.getContent(); + + // No returned value + // Existing content will be used + if (!result) { + return page; + } + + // GitBook 3 + // Use returned page.content if different from original content + if (result.content != originalContent) { + return page.set('content', result.content); + } + + // GitBook 2 compatibility + // Finally, use page.sections + if (result.sections) { + return page.set('content', + result.sections.map(function(section) { + return section.content; + }).join('\n') + ); + } + return page; } |