|
20 | 20 | <script src="script/tocbot-3.0.2/tocbot.min.js"></script>
|
21 | 21 | <script>
|
22 | 22 | /* Tocbot dynamic TOC, works with tocbot 3.0.2 */
|
23 |
| - /* Source: https://github.com/asciidoctor/asciidoctor/issues/699#issuecomment-321066006 */ |
| 23 | + /* Source: https://github.com/asciidoctor/asciidoctor/issues/699#issuecomment-321066006 |
| 24 | + * Adapted to auto-detect the heading selector. |
| 25 | + */ |
24 | 26 | var oldtoc = document.getElementById('toctitle').nextElementSibling;
|
| 27 | + |
| 28 | + var headingSelectorVal; |
| 29 | + if (oldtoc.querySelector('.sectlevel5')) { |
| 30 | + headingSelectorVal = 'h1, h2, h3, h4, h5, h6' |
| 31 | + } |
| 32 | + else if (oldtoc.querySelector('.sectlevel4')) { |
| 33 | + headingSelectorVal = 'h1, h2, h3, h4, h5' |
| 34 | + } |
| 35 | + else if (oldtoc.querySelector('.sectlevel3')) { |
| 36 | + headingSelectorVal = 'h1, h2, h3, h4' |
| 37 | + } |
| 38 | + else if (oldtoc.querySelector('.sectlevel2')) { |
| 39 | + headingSelectorVal = 'h1, h2, h3' |
| 40 | + } |
| 41 | + else if (oldtoc.querySelector('.sectlevel1')) { |
| 42 | + headingSelectorVal = 'h1, h2' |
| 43 | + } |
| 44 | + else { |
| 45 | + // In case something went wrong |
| 46 | + headingSelectorVal = 'h1, h2, h3, h4' |
| 47 | + } |
| 48 | + |
25 | 49 | var newtoc = document.createElement('div');
|
26 | 50 | newtoc.setAttribute('id', 'tocbot');
|
27 | 51 | newtoc.setAttribute('class', 'js-toc');
|
28 | 52 | oldtoc.parentNode.replaceChild(newtoc, oldtoc);
|
29 | 53 | tocbot.init({ contentSelector: '#content',
|
30 |
| - headingSelector: 'h1, h2, h3, h4', |
| 54 | + headingSelector: headingSelectorVal, |
31 | 55 | smoothScroll: false });
|
32 | 56 | var handleTocOnResize = function() {
|
33 | 57 | var width = window.innerWidth
|
34 | 58 | || document.documentElement.clientWidth
|
35 | 59 | || document.body.clientWidth;
|
36 | 60 | if (width < 768) {
|
37 | 61 | tocbot.refresh({ contentSelector: '#content',
|
38 |
| - headingSelector: 'h1, h2, h3, h4', |
| 62 | + headingSelector: headingSelectorVal, |
39 | 63 | collapseDepth: 6,
|
40 | 64 | activeLinkClass: 'ignoreactive',
|
41 | 65 | throttleTimeout: 1000,
|
42 | 66 | smoothScroll: false });
|
43 | 67 | }
|
44 | 68 | else {
|
45 | 69 | tocbot.refresh({ contentSelector: '#content',
|
46 |
| - headingSelector: 'h1, h2, h3, h4', |
| 70 | + headingSelector: headingSelectorVal, |
47 | 71 | smoothScroll: false });
|
48 | 72 | }
|
49 | 73 | };
|
|
0 commit comments