diff options
author | Aaron O'Mullan <aaron.omullan@gmail.com> | 2014-05-26 11:27:27 -0700 |
---|---|---|
committer | Aaron O'Mullan <aaron.omullan@gmail.com> | 2014-05-26 11:27:27 -0700 |
commit | 115fba837c45fef5b3e203b633cc198dcb77ff5f (patch) | |
tree | a9fd1fdfa96238da0d645d0b8589d22425fe6656 /lib/parse/summary.js | |
parent | 4df51546b2bd29a2dd3a5b11eeca80a157f6ffb1 (diff) | |
parent | a0d56460343937451326237107944941b16cdbb9 (diff) | |
download | gitbook-115fba837c45fef5b3e203b633cc198dcb77ff5f.zip gitbook-115fba837c45fef5b3e203b633cc198dcb77ff5f.tar.gz gitbook-115fba837c45fef5b3e203b633cc198dcb77ff5f.tar.bz2 |
Merge pull request #265 from GitbookIO/feature/levels
More than two section level in summary
Diffstat (limited to 'lib/parse/summary.js')
-rw-r--r-- | lib/parse/summary.js | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/parse/summary.js b/lib/parse/summary.js index af13088..1fd5676 100644 --- a/lib/parse/summary.js +++ b/lib/parse/summary.js @@ -86,13 +86,11 @@ function parseTitle(src, nums) { }; } -function parseArticle(chapterNum, nodes, idx) { - return parseTitle(_.first(nodes).text, [chapterNum, idx+1]); -} - -function parseChapter(nodes, idx) { - return _.extend(parseTitle(_.first(nodes).text, [idx+1]), { - articles: _.map(listSplit(filterList(nodes), 'list_item_start', 'list_item_end'), parseArticle.bind(null, idx+1)) +function parseChapter(nodes, nums) { + return _.extend(parseTitle(_.first(nodes).text, nums), { + articles: _.map(listSplit(filterList(nodes), 'list_item_start', 'list_item_end'), function(nodes, i) { + return parseChapter(nodes, nums.concat(i + 1)); + }) }); } @@ -104,7 +102,9 @@ function parseSummary(src) { // Split out chapter sections var chapters = _.chain(listSplit(chapterList, 'list_item_start', 'list_item_end')) - .map(parseChapter) + .map(function(nodes, i) { + return parseChapter(nodes, [i + 1]); + }) .value(); return { |