From 16f1bf7af6a04c967c8d618ff299c3c99adcff4e Mon Sep 17 00:00:00 2001 From: Merlin Buczek Date: Sat, 14 Sep 2019 11:00:08 +0200 Subject: [PATCH] TOC: Numbers instead --- mpicms/static/css/custom.css | 5 +++-- mpicms/static/js/toc.js | 13 ++++++++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/mpicms/static/css/custom.css b/mpicms/static/css/custom.css index c48a1b4..1fc40fe 100644 --- a/mpicms/static/css/custom.css +++ b/mpicms/static/css/custom.css @@ -556,14 +556,15 @@ body { #toc { font-size: 95%; margin-top: 1rem; + line-height: 1.7rem; } -#toc a::before { +/* #toc a::before { content: '\2193'; padding-right: 0.5em; font-size: 120%; vertical-align: bottom; -} +} */ #toc .h2 { text-indent: .25in; diff --git a/mpicms/static/js/toc.js b/mpicms/static/js/toc.js index c58523c..983136b 100644 --- a/mpicms/static/js/toc.js +++ b/mpicms/static/js/toc.js @@ -1,6 +1,8 @@ var toc = document.getElementById('toc'); if (toc) { var headings = [].slice.call(document.getElementById('content').querySelectorAll('h1, h2, h3, h4, h5, h6')); + var tags = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6']; + var indexes = Array(tags.length).fill(0); headings.forEach(function (heading, index) { var anchor = document.createElement('a'); anchor.setAttribute('name', 'toc' + index); @@ -11,7 +13,16 @@ if (toc) { link.textContent = heading.textContent; var div = document.createElement('div'); - div.setAttribute('class', heading.tagName.toLowerCase()); + var tagName = heading.tagName.toLowerCase() + div.setAttribute('class', tagName); + + // Number TOC + currentIndex = tags.indexOf(tagName) + indexes[currentIndex]++; + indexArray = indexes.slice(0, currentIndex +1) + indexes = indexArray.concat(Array(tags.length - currentIndex).fill(0)) + + link.textContent = `${indexArray.join('.')}. ${link.textContent}`; div.appendChild(link); toc.appendChild(div);