mirror of
https://github.com/GitbookIO/gitbook.git
synced 2026-09-16 15:45:13 +00:00
40 lines
988 B
JavaScript
40 lines
988 B
JavaScript
var encodeSummaryArticle = require('./encodeSummaryArticle');
|
|
|
|
/**
|
|
Return a JSON representation of a page
|
|
|
|
@param {Page} page
|
|
@param {Summary} summary
|
|
@return {Object}
|
|
*/
|
|
function encodePage(page, summary) {
|
|
var file = page.getFile();
|
|
var attributes = page.getAttributes();
|
|
var article = summary.getByPath(file.getPath());
|
|
|
|
var result = attributes.toJS();
|
|
|
|
if (article) {
|
|
result.title = article.getTitle();
|
|
result.level = article.getLevel();
|
|
result.depth = article.getDepth();
|
|
|
|
var nextArticle = summary.getNextArticle(article);
|
|
if (nextArticle) {
|
|
result.next = encodeSummaryArticle(nextArticle);
|
|
}
|
|
|
|
var prevArticle = summary.getPrevArticle(article);
|
|
if (prevArticle) {
|
|
result.previous = encodeSummaryArticle(prevArticle);
|
|
}
|
|
}
|
|
|
|
result.content = page.getContent();
|
|
result.dir = page.getDir();
|
|
|
|
return result;
|
|
}
|
|
|
|
module.exports = encodePage;
|