| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 459546b commit d77c59d
2 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -15,9 +15,13 @@ | |||
| 15 | 15 | } | |
| 16 | 16 | mq.addEventListener('change', mqChangeListener); | |
| 17 | 17 | if (themeToggleButton) { | |
| 18 | - themeToggleButton.addEventListener('click', function() { | ||
| 19 | - mq.removeEventListener('change', mqChangeListener); | ||
| 20 | - }, { once: true }); | ||
| 18 | + themeToggleButton.addEventListener( | ||
| 19 | + 'click', | ||
| 20 | + function() { | ||
| 21 | + mq.removeEventListener('change', mqChangeListener); | ||
| 22 | + }, | ||
| 23 | + { once: true } | ||
| 24 | + ); | ||
| 21 | 25 | } | |
| 22 | 26 | } | |
| 23 | 27 | ||
@@ -60,7 +64,7 @@ | |||
| 60 | 64 | for (const picker of pickers) { | |
| 61 | 65 | const parentNode = picker.parentNode; | |
| 62 | 66 | ||
| 63 | - picker.addEventListener('click', (e) => { | ||
| 67 | + picker.addEventListener('click', function(e) { | ||
| 64 | 68 | e.preventDefault(); | |
| 65 | 69 | ||
| 66 | 70 | /* | |
@@ -76,7 +80,7 @@ | |||
| 76 | 80 | to close pickers if needed. | |
| 77 | 81 | */ | |
| 78 | 82 | ||
| 79 | - requestAnimationFrame(() => { | ||
| 83 | + requestAnimationFrame(function() { | ||
| 80 | 84 | parentNode.classList.add('expanded'); | |
| 81 | 85 | window.addEventListener('click', closeAllPickers); | |
| 82 | 86 | window.addEventListener('keydown', onKeyDown); | |
@@ -90,9 +94,9 @@ | |||
| 90 | 94 | let ignoreNextIntersection = false; | |
| 91 | 95 | ||
| 92 | 96 | new IntersectionObserver( | |
| 93 | - ([e]) => { | ||
| 97 | + function(e) { | ||
| 94 | 98 | const currentStatus = header.classList.contains('is-pinned'); | |
| 95 | - const newStatus = e.intersectionRatio < 1; | ||
| 99 | + const newStatus = e[0].intersectionRatio < 1; | ||
| 96 | 100 | ||
| 97 | 101 | // Same status, do nothing | |
| 98 | 102 | if (currentStatus === newStatus) { | |
@@ -109,7 +113,7 @@ | |||
| 109 | 113 | The timer is reset anyway after few milliseconds. | |
| 110 | 114 | */ | |
| 111 | 115 | ignoreNextIntersection = true; | |
| 112 | - setTimeout(() => { | ||
| 116 | + setTimeout(function() { | ||
| 113 | 117 | ignoreNextIntersection = false; | |
| 114 | 118 | }, 50); | |
| 115 | 119 | ||
@@ -119,18 +123,34 @@ | |||
| 119 | 123 | ).observe(header); | |
| 120 | 124 | } | |
| 121 | 125 | ||
| 126 | + function setupAltDocsLink() { | ||
| 127 | + const linkWrapper = document.getElementById('alt-docs'); | ||
| 128 | + | ||
| 129 | + function updateHashes() { | ||
| 130 | + for (const link of linkWrapper.querySelectorAll('a')) { | ||
| 131 | + link.hash = location.hash; | ||
| 132 | + } | ||
| 133 | + } | ||
| 134 | + | ||
| 135 | + addEventListener('hashchange', updateHashes); | ||
| 136 | + updateHashes(); | ||
| 137 | + } | ||
| 138 | + | ||
| 122 | 139 | function bootstrap() { | |
| 123 | - // Check if we have JavaScript support | ||
| 140 | + // Check if we have JavaScript support. | ||
| 124 | 141 | document.documentElement.classList.add('has-js'); | |
| 125 | 142 | ||
| 126 | - // Restore user mode preferences | ||
| 143 | + // Restore user mode preferences. | ||
| 127 | 144 | setupTheme(); | |
| 128 | 145 | ||
| 129 | - // Handle pickers with click/taps rather than hovers | ||
| 146 | + // Handle pickers with click/taps rather than hovers. | ||
| 130 | 147 | setupPickers(); | |
| 131 | 148 | ||
| 132 | - // Track when the header is in sticky position | ||
| 149 | + // Track when the header is in sticky position. | ||
| 133 | 150 | setupStickyHeaders(); | |
| 151 | + | ||
| 152 | + // Make link to other versions of the doc open to the same hash target (if it exists). | ||
| 153 | + setupAltDocsLink(); | ||
| 134 | 154 | } | |
| 135 | 155 | ||
| 136 | 156 | if (document.readyState === 'loading') { | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -40,6 +40,17 @@ | |||
| 40 | 40 | --color-text-secondary: var(--green2); | |
| 41 | 41 | } | |
| 42 | 42 | ||
| 43 | + h4 :target, | ||
| 44 | + h5 :target { | ||
| 45 | + scroll-margin-top: 55px; | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + @supports not (content-visibility: auto) { | ||
| 49 | + h3 :target { | ||
| 50 | + scroll-margin-top: 55px; | ||
| 51 | + } | ||
| 52 | + } | ||
| 53 | + | ||
| 43 | 54 | .dark-mode { | |
| 44 | 55 | --background-color-highlight: var(--black2); | |
| 45 | 56 | --color-critical: var(--red4); | |
| Back | FazBrowse Home | New Git URL |
0 commit comments