mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
727 B
29 lines
727 B
;(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)
|
|
})()
|
|
|