tra-analysis/website/node_modules/npm/html/static/toc.js

30 lines
727 B
JavaScript
Raw Normal View History

2019-01-06 19:14:45 +00:00
;(function () {
var wrapper = document.getElementById('wrapper')
var els = Array.prototype.slice.call(wrapper.getElementsByTagName('*'), 0)
.filter(function (el) {
return el.parentNode === wrapper &&
el.tagName.match(/H[1-6]/) &&
el.id
})
var l = 2
var toc = document.createElement('ul')
toc.innerHTML = els.map(function (el) {
var i = el.tagName.charAt(1)
var out = ''
while (i > l) {
out += '<ul>'
l++
}
while (i < l) {
out += '</ul>'
l--
}
out += '<li><a href=\'#' + el.id + '\'>' +
(el.innerText || el.text || el.innerHTML) +
'</a>'
return out
}).join('\n')
toc.id = 'toc'
document.body.appendChild(toc)
})()