summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/json/encodeBookWithPage.js12
-rw-r--r--lib/json/encodeOutput.js10
-rw-r--r--lib/json/encodeOutputWithPage.js23
-rw-r--r--lib/json/index.js1
-rw-r--r--lib/output/generatePage.js14
-rw-r--r--lib/output/json/onPage.js10
-rw-r--r--lib/output/website/onPage.js12
7 files changed, 53 insertions, 29 deletions
diff --git a/lib/json/encodeBookWithPage.js b/lib/json/encodeBookWithPage.js
index 5600a82..1c5c7a3 100644
--- a/lib/json/encodeBookWithPage.js
+++ b/lib/json/encodeBookWithPage.js
@@ -3,12 +3,12 @@ var encodePage = require('./encodePage');
var encodeFile = require('./encodeFile');
/**
- Return a JSON representation of a book with a specific file
-
- @param {Book} output
- @param {Page} page
- @return {Object}
-*/
+ * Return a JSON representation of a book with a specific file
+ *
+ * @param {Book} output
+ * @param {Page} page
+ * @return {Object}
+ */
function encodeBookWithPage(book, page) {
var file = page.getFile();
diff --git a/lib/json/encodeOutput.js b/lib/json/encodeOutput.js
index 9054124..7347e57 100644
--- a/lib/json/encodeOutput.js
+++ b/lib/json/encodeOutput.js
@@ -1,11 +1,11 @@
var encodeBook = require('./encodeBook');
/**
- Encode an output to JSON
-
- @param {Output}
- @return {Object}
-*/
+ * Encode an output to JSON
+ *
+ * @param {Output}
+ * @return {Object}
+ */
function encodeOutputToJson(output) {
var book = output.getBook();
var generator = output.getGenerator();
diff --git a/lib/json/encodeOutputWithPage.js b/lib/json/encodeOutputWithPage.js
new file mode 100644
index 0000000..8b21e3d
--- /dev/null
+++ b/lib/json/encodeOutputWithPage.js
@@ -0,0 +1,23 @@
+var encodeOutput = require('./encodeOutput');
+var encodePage = require('./encodePage');
+var encodeFile = require('./encodeFile');
+
+/**
+ * Return a JSON representation of a book with a specific file
+ *
+ * @param {Book} output
+ * @param {Page} page
+ * @return {Object}
+ */
+function encodeOutputWithPage(output, page) {
+ var file = page.getFile();
+ var book = output.getBook();
+
+ var result = encodeOutput(output);
+ result.page = encodePage(page, book.getSummary());
+ result.file = encodeFile(file);
+
+ return result;
+}
+
+module.exports = encodeOutputWithPage;
diff --git a/lib/json/index.js b/lib/json/index.js
index 4387ae0..3b68f5e 100644
--- a/lib/json/index.js
+++ b/lib/json/index.js
@@ -2,6 +2,7 @@
module.exports = {
encodeOutput: require('./encodeOutput'),
encodeBookWithPage: require('./encodeBookWithPage'),
+ encodeOutputWithPage: require('./encodeOutputWithPage'),
encodeBook: require('./encodeBook'),
encodeFile: require('./encodeFile'),
encodePage: require('./encodePage'),
diff --git a/lib/output/generatePage.js b/lib/output/generatePage.js
index fa6fc0e..090a870 100644
--- a/lib/output/generatePage.js
+++ b/lib/output/generatePage.js
@@ -10,12 +10,12 @@ var createTemplateEngine = require('./createTemplateEngine');
var callPageHook = require('./callPageHook');
/**
- Prepare and generate HTML for a page
-
- @param {Output} output
- @param {Page} page
- @return {Promise<Page>}
-*/
+ * Prepare and generate HTML for a page
+ *
+ * @param {Output} output
+ * @param {Page} page
+ * @return {Promise<Page>}
+ */
function generatePage(output, page) {
var book = output.getBook();
var engine = createTemplateEngine(output);
@@ -27,7 +27,7 @@ function generatePage(output, page) {
var file = resultPage.getFile();
var filePath = file.getPath();
var parser = file.getParser();
- var context = JSONUtils.encodeBookWithPage(book, resultPage);
+ var context = JSONUtils.encodeOutputWithPage(output, resultPage);
if (!parser) {
return Promise.reject(error.FileNotParsableError({
diff --git a/lib/output/json/onPage.js b/lib/output/json/onPage.js
index fece540..2315ba0 100644
--- a/lib/output/json/onPage.js
+++ b/lib/output/json/onPage.js
@@ -7,11 +7,11 @@ var getModifiers = require('../getModifiers');
var JSON_VERSION = '3';
/**
- Write a page as a json file
-
- @param {Output} output
- @param {Page} page
-*/
+ * Write a page as a json file
+ *
+ * @param {Output} output
+ * @param {Page} page
+ */
function onPage(output, page) {
var file = page.getFile();
var readme = output.getBook().getReadme().getFile();
diff --git a/lib/output/website/onPage.js b/lib/output/website/onPage.js
index 14c7b22..5fb40a7 100644
--- a/lib/output/website/onPage.js
+++ b/lib/output/website/onPage.js
@@ -12,11 +12,11 @@ var createTemplateEngine = require('./createTemplateEngine');
var fileToOutput = require('../helper/fileToOutput');
/**
- Write a page as a json file
-
- @param {Output} output
- @param {Page} page
-*/
+ * Write a page as a json file
+ *
+ * @param {Output} output
+ * @param {Page} page
+ */
function onPage(output, page) {
var options = output.getOptions();
var prefix = options.get('prefix');
@@ -40,7 +40,7 @@ function onPage(output, page) {
return Modifiers.modifyHTML(page, getModifiers(output, page))
.then(function(resultPage) {
// Generate the context
- var context = JSONUtils.encodeBookWithPage(output.getBook(), resultPage);
+ var context = JSONUtils.encodeOutputWithPage(output, resultPage);
context.plugins = {
resources: Plugins.listResources(plugins, resources).toJS()
};