summaryrefslogtreecommitdiffstats
path: root/lib/parse/summary.js
diff options
context:
space:
mode:
authorAaron O'Mullan <aaron.omullan@gmail.com>2014-05-26 11:27:27 -0700
committerAaron O'Mullan <aaron.omullan@gmail.com>2014-05-26 11:27:27 -0700
commit115fba837c45fef5b3e203b633cc198dcb77ff5f (patch)
treea9fd1fdfa96238da0d645d0b8589d22425fe6656 /lib/parse/summary.js
parent4df51546b2bd29a2dd3a5b11eeca80a157f6ffb1 (diff)
parenta0d56460343937451326237107944941b16cdbb9 (diff)
downloadgitbook-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.js16
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 {