diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-12-22 13:12:16 +0100 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-12-22 13:12:16 +0100 |
commit | 97f2c333a87b9d939b5a7dc2884590c971b53291 (patch) | |
tree | a22824b02d84a89e59c458c8af7d3494561d43f6 /packages/gitbook-html/lib/summary.js | |
parent | 627e6dd866f77ff497a21f0b706490b82e40ea0e (diff) | |
download | gitbook-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-x | packages/gitbook-html/lib/summary.js | 72 |
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 |