mirror of
https://github.com/GitbookIO/gitbook.git
synced 2026-10-03 12:10:34 +00:00
0199e56000
(Split sections)
29 lines
595 B
JavaScript
29 lines
595 B
JavaScript
var _ = require('lodash');
|
|
var marked = require('marked');
|
|
|
|
|
|
// Split a page up into sections (lesson, exercises, ...)
|
|
function splitSections(nodes) {
|
|
var section = [];
|
|
|
|
return _.reduce(nodes, function(sections, el) {
|
|
if(el.type === 'hr') {
|
|
sections.push(section);
|
|
section = [];
|
|
} else {
|
|
section.push(el);
|
|
}
|
|
|
|
return sections;
|
|
}, []).concat([section]); // Add remaining nodes
|
|
}
|
|
|
|
function parsePage(src) {
|
|
var nodes = marked.lexer(src);
|
|
|
|
return splitSections(nodes);
|
|
}
|
|
|
|
// Exports
|
|
module.exports = parsePage;
|