| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- 'use strict'
- module.exports = generateFootnotes
- var thematicBreak = require('./handlers/thematic-break')
- var list = require('./handlers/list')
- var wrap = require('./wrap')
- function generateFootnotes(h) {
- var footnotes = h.footnotes
- var length = footnotes.length
- var index = -1
- var listItems = []
- var def
- if (!length) {
- return null
- }
- while (++index < length) {
- def = footnotes[index]
- listItems[index] = {
- type: 'listItem',
- data: {hProperties: {id: 'fn-' + def.identifier}},
- children: def.children.concat({
- type: 'link',
- url: '#fnref-' + def.identifier,
- data: {hProperties: {className: ['footnote-backref']}},
- children: [{type: 'text', value: '↩'}]
- }),
- position: def.position
- }
- }
- return h(
- null,
- 'div',
- {className: ['footnotes']},
- wrap(
- [
- thematicBreak(h),
- list(h, {
- type: 'list',
- ordered: true,
- children: listItems
- })
- ],
- true
- )
- )
- }
|