
function createTOC() {
    if (document.getElementById("toc") == null) {
        return;
    }
    var toc = document.createElement("div");

    
    var heading = document.getElementById("toc").nextSibling;

    var i = 1;

    while (heading != null) {
        var tag = heading.nodeName.toLowerCase();

        if (tag == "h1" || tag == "h2" || tag == "h3") {
            var link = document.createElement("a");
            link.setAttribute("href", "#heading-" + i);
            link.innerHTML = heading.innerHTML;

            var par = document.createElement("p");
            par.setAttribute("class", "toc-" + tag);
            par.appendChild(link);

            toc.appendChild(par);

            var anchor = document.createElement("a");
            anchor.setAttribute("name", "heading-" + i);
            heading.insertBefore(anchor, heading.firstChild);
            i = i+1;
        }
        heading = heading.nextSibling;
    }

    document.body.insertBefore(toc, document.getElementById("toc").nextSibling);
}



