diff options
Diffstat (limited to 'docs/dev/articles/twa_files')
| -rw-r--r-- | docs/dev/articles/twa_files/anchor-sections-1.0/anchor-sections.css | 4 | ||||
| -rw-r--r-- | docs/dev/articles/twa_files/anchor-sections-1.0/anchor-sections.js | 33 | 
2 files changed, 37 insertions, 0 deletions
| diff --git a/docs/dev/articles/twa_files/anchor-sections-1.0/anchor-sections.css b/docs/dev/articles/twa_files/anchor-sections-1.0/anchor-sections.css new file mode 100644 index 00000000..07aee5fc --- /dev/null +++ b/docs/dev/articles/twa_files/anchor-sections-1.0/anchor-sections.css @@ -0,0 +1,4 @@ +/* Styles for section anchors */ +a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;} +a.anchor-section::before {content: '#';} +.hasAnchor:hover a.anchor-section {visibility: visible;} diff --git a/docs/dev/articles/twa_files/anchor-sections-1.0/anchor-sections.js b/docs/dev/articles/twa_files/anchor-sections-1.0/anchor-sections.js new file mode 100644 index 00000000..570f99a0 --- /dev/null +++ b/docs/dev/articles/twa_files/anchor-sections-1.0/anchor-sections.js @@ -0,0 +1,33 @@ +// Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020. +document.addEventListener('DOMContentLoaded', function() { +  // Do nothing if AnchorJS is used +  if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) { +    return; +  } + +  const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6'); + +  // Do nothing if sections are already anchored +  if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) { +    return null; +  } + +  // Use section id when pandoc runs with --section-divs +  const section_id = function(x) { +    return ((x.classList.contains('section') || (x.tagName === 'SECTION')) +            ? x.id : ''); +  }; + +  // Add anchors +  h.forEach(function(x) { +    const id = x.id || section_id(x.parentElement); +    if (id === '') { +      return null; +    } +    let anchor = document.createElement('a'); +    anchor.href = '#' + id; +    anchor.classList = ['anchor-section']; +    x.classList.add('hasAnchor'); +    x.appendChild(anchor); +  }); +}); | 
