diff options
Diffstat (limited to 'deps/node/deps/npm/html/static/toc.js')
-rw-r--r-- | deps/node/deps/npm/html/static/toc.js | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/deps/node/deps/npm/html/static/toc.js b/deps/node/deps/npm/html/static/toc.js new file mode 100644 index 00000000..7551e47e --- /dev/null +++ b/deps/node/deps/npm/html/static/toc.js @@ -0,0 +1,29 @@ +;(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) +})() |