summaryrefslogtreecommitdiffstats
path: root/packages/gitbook-html/lib/summary.js
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2016-12-22 13:12:16 +0100
committerSamy Pessé <samypesse@gmail.com>2016-12-22 13:12:16 +0100
commit97f2c333a87b9d939b5a7dc2884590c971b53291 (patch)
treea22824b02d84a89e59c458c8af7d3494561d43f6 /packages/gitbook-html/lib/summary.js
parent627e6dd866f77ff497a21f0b706490b82e40ea0e (diff)
downloadgitbook-97f2c333a87b9d939b5a7dc2884590c971b53291.zip
gitbook-97f2c333a87b9d939b5a7dc2884590c971b53291.tar.gz
gitbook-97f2c333a87b9d939b5a7dc2884590c971b53291.tar.bz2
Import and adapt gitbook-html
Refactor to remove lodash and q as dependencies
Diffstat (limited to 'packages/gitbook-html/lib/summary.js')
-rwxr-xr-xpackages/gitbook-html/lib/summary.js72
1 files changed, 33 insertions, 39 deletions
diff --git a/packages/gitbook-html/lib/summary.js b/packages/gitbook-html/lib/summary.js
index 4b263c9..a7d05a3 100755
--- a/packages/gitbook-html/lib/summary.js
+++ b/packages/gitbook-html/lib/summary.js
@@ -1,18 +1,16 @@
-var _ = require('lodash');
+'use strict';
+
var dom = require('./dom');
var SELECTOR_LIST = 'ol, ul';
var SELECTOR_LINK = '> a, p > a';
var SELECTOR_PART = 'h2, h3, h4';
-var BL = '\n';
-
/**
- Find a list
-
- @param {cheerio.Node}
- @return {cheerio.Node}
-*/
+ * Find a list.
+ * @param {cheerio.Node}
+ * @return {cheerio.Node}
+ */
function findList($parent) {
var $container = $parent.children('.olist');
if ($container.length > 0) $parent = $container.first();
@@ -21,22 +19,21 @@ function findList($parent) {
}
/**
- Parse a ul list and return list of chapters recursvely
-
- @param {cheerio.Node}
- @param {cheerio.DOM}
- @return {Array}
-*/
+ * Parse a ul list and return list of chapters recursvely.
+ * @param {cheerio.Node}
+ * @param {cheerio.DOM}
+ * @return {Array}
+ */
function parseList($ul, $) {
var articles = [];
- $ul.children('li').each(function() {
+ $ul.children('li').each(function () {
var article = {};
var $li = $(this);
// Get text for the entry
var $p = $li.children('p');
- article.title = ($p.text() || dom.textNode($li.get(0))).trim();
+ article.title = ($p.text() || dom.textNode($li.get(0))).trim();
// Parse link
var $a = $li.find(SELECTOR_LINK);
@@ -57,11 +54,10 @@ function parseList($ul, $) {
}
/**
- Find all parts and their corresponding lists
-
- @param {cheerio.Node}
- @param {cheerio.DOM}
- @return {Array<{title: String, list: cheerio.Node}>}
+ * Find all parts and their corresponding lists.
+ * @param {cheerio.Node}
+ * @param {cheerio.DOM}
+ * @return {Array<{title: String, list: cheerio.Node}>}
*/
function findParts($parent, $) {
// Find parts and lists
@@ -82,8 +78,8 @@ function findParts($parent, $) {
title: getPartTitle(el, $),
list: null
};
-
- } else { // It is a list
+ } else {
+ // It is a list
if (previousPart !== null) {
previousPart.list = el;
} else {
@@ -106,32 +102,29 @@ function findParts($parent, $) {
}
/**
- True if the element is a part
-
- @param el
- @return {Boolean}
- */
+ * True if the element is a part.
+ * @param el
+ * @return {Boolean}
+ */
function isPartNode(el) {
return SELECTOR_PART.indexOf(el.name) !== -1;
}
/**
- Parse the title of a part element
-
- @param el
- @param {cheerio.DOM} $
- @return {String}
+ * Parse the title of a part element.
+ * @param el
+ * @param {cheerio.DOM} $
+ * @return {String}
*/
function getPartTitle(el, $) {
return $(el).text().trim();
}
/**
- Parse an HTML content into a tree of articles/parts
-
- @param {String} html
- @return {Object}
-*/
+ * Parse an HTML content into a tree of articles/parts.
+ * @param {String} html
+ * @return {Object}
+ */
function parseSummary(html) {
var $ = dom.parse(html);
var $root = dom.cleanup(dom.root($), $);
@@ -140,7 +133,7 @@ function parseSummary(html) {
// Parse each list
var parsedParts = [];
- var part;
+ var part = void 0;
for (var i = 0; i < parts.length; ++i) {
part = parts[i];
parsedParts.push({
@@ -155,3 +148,4 @@ function parseSummary(html) {
}
module.exports = parseSummary;
+//# sourceMappingURL=summary.js.map \ No newline at end of file