diff options
Diffstat (limited to 'lib/parse/glossary.js')
-rw-r--r-- | lib/parse/glossary.js | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/lib/parse/glossary.js b/lib/parse/glossary.js deleted file mode 100644 index 549e9fd..0000000 --- a/lib/parse/glossary.js +++ /dev/null @@ -1,48 +0,0 @@ -var _ = require('lodash'); -var kramed = require('kramed'); - -// Get all the pairs of header + paragraph in a list of nodes -function groups(nodes) { - // A list of next nodes - var next = nodes.slice(1).concat(null); - - return _.reduce(nodes, function(accu, node, idx) { - // Skip - if(!( - node.type === 'heading' && - (next[idx] && next[idx].type === 'paragraph') - )) { - return accu; - } - - // Add group - accu.push([ - node, - next[idx] - ]); - - return accu; - }, []); -} - -function parseGlossary(src) { - var nodes = kramed.lexer(src); - - return groups(nodes) - .map(function(pair) { - // Simplify each group to a simple object with name/description - return { - name: pair[0].text, - id: entryId(pair[0].text), - description: pair[1].text, - }; - }); -} - -// Normalizes a glossary entry's name to create an ID -function entryId(name) { - return name.toLowerCase(); -} - -module.exports = parseGlossary; -module.exports.entryId = entryId; |