diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/parse/summary.js | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/parse/summary.js b/lib/parse/summary.js index af13088..f7dcdc9 100644 --- a/lib/parse/summary.js +++ b/lib/parse/summary.js @@ -90,9 +90,11 @@ 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 +106,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 { |