mirror of
				https://github.com/Wonderfall/hugo-WonderMod.git
				synced 2025-10-31 03:45:24 +01:00 
			
		
		
		
	Remove inline JS
This commit is contained in:
		| @@ -23,113 +23,4 @@ | ||||
|  | ||||
| {{- partial "extend_footer.html" . }} | ||||
|  | ||||
| <script> | ||||
|     let menu = document.getElementById('menu') | ||||
|     if (menu) { | ||||
|         menu.scrollLeft = localStorage.getItem("menu-scroll-position"); | ||||
|         menu.onscroll = function () { | ||||
|             localStorage.setItem("menu-scroll-position", menu.scrollLeft); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     document.querySelectorAll('a[href^="#"]').forEach(anchor => { | ||||
|         anchor.addEventListener("click", function (e) { | ||||
|             e.preventDefault(); | ||||
|             var id = this.getAttribute("href").substr(1); | ||||
|             if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) { | ||||
|                 document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({ | ||||
|                     behavior: "smooth" | ||||
|                 }); | ||||
|             } else { | ||||
|                 document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView(); | ||||
|             } | ||||
|             if (id === "top") { | ||||
|                 history.replaceState(null, null, " "); | ||||
|             } else { | ||||
|                 history.pushState(null, null, `#${id}`); | ||||
|             } | ||||
|         }); | ||||
|     }); | ||||
|  | ||||
| </script> | ||||
|  | ||||
| {{- if (not site.Params.disableScrollToTop) }} | ||||
| <script> | ||||
|     var mybutton = document.getElementById("top-link"); | ||||
|     window.onscroll = function () { | ||||
|         if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) { | ||||
|             mybutton.style.visibility = "visible"; | ||||
|             mybutton.style.opacity = "1"; | ||||
|         } else { | ||||
|             mybutton.style.visibility = "hidden"; | ||||
|             mybutton.style.opacity = "0"; | ||||
|         } | ||||
|     }; | ||||
|  | ||||
| </script> | ||||
| {{- end }} | ||||
|  | ||||
| {{- if (not site.Params.disableThemeToggle) }} | ||||
| <script> | ||||
|     document.getElementById("theme-toggle").addEventListener("click", () => { | ||||
|         if (document.body.className.includes("dark")) { | ||||
|             document.body.classList.remove('dark'); | ||||
|             localStorage.setItem("pref-theme", 'light'); | ||||
|         } else { | ||||
|             document.body.classList.add('dark'); | ||||
|             localStorage.setItem("pref-theme", 'dark'); | ||||
|         } | ||||
|     }) | ||||
|  | ||||
| </script> | ||||
| {{- end }} | ||||
|  | ||||
| {{- if (and (eq .Kind "page") (ne .Layout "archives") (ne .Layout "search") (.Param "ShowCodeCopyButtons")) }} | ||||
| <script> | ||||
|     document.querySelectorAll('pre > code').forEach((codeblock) => { | ||||
|         const container = codeblock.parentNode.parentNode; | ||||
|  | ||||
|         const copybutton = document.createElement('button'); | ||||
|         copybutton.classList.add('copy-code'); | ||||
|         copybutton.innerHTML = '{{- i18n "code_copy" | default "copy" }}'; | ||||
|  | ||||
|         function copyingDone() { | ||||
|             copybutton.innerHTML = '{{- i18n "code_copied" | default "copied!" }}'; | ||||
|             setTimeout(() => { | ||||
|                 copybutton.innerHTML = '{{- i18n "code_copy" | default "copy" }}'; | ||||
|             }, 2000); | ||||
|         } | ||||
|  | ||||
|         copybutton.addEventListener('click', (cb) => { | ||||
|             if ('clipboard' in navigator) { | ||||
|                 navigator.clipboard.writeText(codeblock.textContent); | ||||
|                 copyingDone(); | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             const range = document.createRange(); | ||||
|             range.selectNodeContents(codeblock); | ||||
|             const selection = window.getSelection(); | ||||
|             selection.removeAllRanges(); | ||||
|             selection.addRange(range); | ||||
|             try { | ||||
|                 document.execCommand('copy'); | ||||
|                 copyingDone(); | ||||
|             } catch (e) { }; | ||||
|             selection.removeRange(range); | ||||
|         }); | ||||
|  | ||||
|         if (container.classList.contains("highlight")) { | ||||
|             container.appendChild(copybutton); | ||||
|         } else if (container.parentNode.firstChild == container) { | ||||
|             // td containing LineNos | ||||
|         } else if (codeblock.parentNode.parentNode.parentNode.parentNode.parentNode.nodeName == "TABLE") { | ||||
|             // table containing LineNos and code | ||||
|             codeblock.parentNode.parentNode.parentNode.parentNode.parentNode.appendChild(copybutton); | ||||
|         } else { | ||||
|             // code blocks not having highlight as parent class | ||||
|             codeblock.parentNode.appendChild(copybutton); | ||||
|         } | ||||
|     }); | ||||
| </script> | ||||
| {{- end }} | ||||
| {{- partial "script.html" . }} | ||||
| @@ -71,34 +71,6 @@ | ||||
| <link crossorigin="anonymous" href="{{ $stylesheet.RelPermalink }}" rel="preload stylesheet" as="style"> | ||||
| {{- end }} | ||||
|  | ||||
| {{- /* Search */}} | ||||
| {{- if (eq .Layout `search`) -}} | ||||
| <link crossorigin="anonymous" rel="preload" as="fetch" href="../index.json"> | ||||
| {{- $fastsearch := resources.Get "js/fastsearch.js" | js.Build (dict "params" (dict "fuseOpts" site.Params.fuseOpts)) | resources.Minify }} | ||||
| {{- $fusejs := resources.Get "js/fuse.basic.min.js" }} | ||||
| {{- $license_js := resources.Get "js/license.js" }} | ||||
| {{- if not site.Params.assets.disableFingerprinting }} | ||||
| {{- $search := (slice $fusejs $license_js $fastsearch ) | resources.Concat "assets/js/search.js" | fingerprint }} | ||||
| <script defer crossorigin="anonymous" src="{{ $search.RelPermalink }}" integrity="{{ $search.Data.Integrity }}"></script> | ||||
| {{- else }} | ||||
| {{- $search := (slice $fusejs $fastsearch ) | resources.Concat "assets/js/search.js" }} | ||||
| <script defer crossorigin="anonymous" src="{{ $search.RelPermalink }}"></script> | ||||
| {{- end }} | ||||
| {{- end -}} | ||||
|  | ||||
| {{- /* Highlight.js */}} | ||||
| {{- $isHLJSdisabled := (site.Params.assets.disableHLJS | default .Params.disableHLJS ) }} | ||||
| {{- if (and (eq .Kind "page") (ne .Layout "archives") (ne .Layout "search") (not $isHLJSdisabled)) }} | ||||
| {{- if not site.Params.assets.disableFingerprinting }} | ||||
| {{- $highlight := slice (resources.Get "js/highlight.min.js") | resources.Concat "assets/js/highlight.js" | fingerprint }} | ||||
| <script defer crossorigin="anonymous" src="{{ $highlight.RelPermalink }}" integrity="{{ $highlight.Data.Integrity }}" | ||||
|     onload="hljs.initHighlightingOnLoad();"></script> | ||||
| {{- else }} | ||||
| {{- $highlight := slice (resources.Get "js/highlight.min.js") | resources.Concat "assets/js/highlight.js" }} | ||||
| <script defer crossorigin="anonymous" src="{{ $highlight.RelPermalink }}" onload="hljs.initHighlightingOnLoad();"></script> | ||||
| {{- end }} | ||||
| {{- end }} | ||||
|  | ||||
| {{- /* Favicons */}} | ||||
| <link rel="icon" href="{{ site.Params.assets.favicon | default "favicon.ico" | absURL }}"> | ||||
| <link rel="icon" type="image/png" sizes="16x16" href="{{ site.Params.assets.favicon16x16 | default "favicon-16x16.png" | absURL }}"> | ||||
|   | ||||
| @@ -1,42 +1,13 @@ | ||||
| {{- /* theme-toggle is enabled */}} | ||||
| {{- if (not site.Params.disableThemeToggle) }} | ||||
| {{- /* theme is light */}} | ||||
| {{- if (eq site.Params.defaultTheme "light") }} | ||||
| <script> | ||||
|     if (localStorage.getItem("pref-theme") === "dark") { | ||||
|         document.body.classList.add('dark'); | ||||
|     } | ||||
|  | ||||
| </script> | ||||
| {{- /* theme is dark */}} | ||||
| {{- else if (eq site.Params.defaultTheme "dark") }} | ||||
| <script> | ||||
|     if (localStorage.getItem("pref-theme") === "light") { | ||||
|         document.body.classList.remove('dark') | ||||
|     } | ||||
|  | ||||
| </script> | ||||
| {{- /* theme.js */}} | ||||
| {{- if not site.Params.disableThemeToggle }} | ||||
| {{- $theme := resources.Get "js/theme.js" | resources.Minify }} | ||||
| {{- if not site.Params.assets.disableFingerprinting }} | ||||
| {{- $theme_js := (slice $theme) | resources.Concat "assets/js/theme.js" | fingerprint }} | ||||
| <script crossorigin="anonymous" src="{{ $theme_js.RelPermalink }}" integrity="{{ $theme_js.Data.Integrity }}"></script> | ||||
| {{- else }} | ||||
| {{- /* theme is auto */}} | ||||
| <script> | ||||
|     if (localStorage.getItem("pref-theme") === "dark") { | ||||
|         document.body.classList.add('dark'); | ||||
|     } else if (localStorage.getItem("pref-theme") === "light") { | ||||
|         document.body.classList.remove('dark') | ||||
|     } else if (window.matchMedia('(prefers-color-scheme: dark)').matches) { | ||||
|         document.body.classList.add('dark'); | ||||
|     } | ||||
|  | ||||
| </script> | ||||
| {{- $theme_js := (slice $theme) | resources.Concat "assets/js/theme.js" }} | ||||
| <script crossorigin="anonymous" src="{{ $theme_js.RelPermalink }}"></script> | ||||
| {{- end }} | ||||
| {{- /* theme-toggle is disabled and theme is auto */}} | ||||
| {{- else if (and (ne site.Params.defaultTheme "light") (ne site.Params.defaultTheme "dark"))}} | ||||
| <script> | ||||
|     if (window.matchMedia('(prefers-color-scheme: dark)').matches) { | ||||
|         document.body.classList.add('dark'); | ||||
|     } | ||||
|  | ||||
| </script> | ||||
| {{- end }} | ||||
|  | ||||
| <header class="header"> | ||||
|   | ||||
							
								
								
									
										39
									
								
								layouts/partials/script.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								layouts/partials/script.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,39 @@ | ||||
| {{- /* Search */}} | ||||
| {{- if (eq .Layout `search`) -}} | ||||
| <link crossorigin="anonymous" rel="preload" as="fetch" href="../index.json"> | ||||
| {{- $fastsearch := resources.Get "js/fastsearch.js" | js.Build (dict "params" (dict "fuseOpts" site.Params.fuseOpts)) | resources.Minify }} | ||||
| {{- $fusejs := resources.Get "js/fuse.basic.min.js" }} | ||||
| {{- $license_js := resources.Get "js/license.js" }} | ||||
| {{- if not site.Params.assets.disableFingerprinting }} | ||||
| {{- $search := (slice $fusejs $license_js $fastsearch ) | resources.Concat "assets/js/search.js" | fingerprint }} | ||||
| <script defer crossorigin="anonymous" src="{{ $search.RelPermalink }}" integrity="{{ $search.Data.Integrity }}"></script> | ||||
| {{- else }} | ||||
| {{- $search := (slice $fusejs $fastsearch ) | resources.Concat "assets/js/search.js" }} | ||||
| <script defer crossorigin="anonymous" src="{{ $search.RelPermalink }}"></script> | ||||
| {{- end }} | ||||
| {{- end -}} | ||||
|  | ||||
| {{- /* Highlight.js */}} | ||||
| {{- $isHLJSdisabled := (site.Params.assets.disableHLJS | default .Params.disableHLJS ) }} | ||||
| {{- if (and (eq .Kind "page") (ne .Layout "archives") (ne .Layout "search") (not $isHLJSdisabled)) }} | ||||
| {{- if not site.Params.assets.disableFingerprinting }} | ||||
| {{- $highlight := slice (resources.Get "js/highlight.min.js") | resources.Concat "assets/js/highlight.js" | fingerprint }} | ||||
| <script defer crossorigin="anonymous" src="{{ $highlight.RelPermalink }}" integrity="{{ $highlight.Data.Integrity }}"></script> | ||||
| {{- else }} | ||||
| {{- $highlight := slice (resources.Get "js/highlight.min.js") | resources.Concat "assets/js/highlight.js" }} | ||||
| <script defer crossorigin="anonymous" src="{{ $highlight.RelPermalink }}"></script> | ||||
| {{- end }} | ||||
| {{- end }} | ||||
|  | ||||
| {{- /* PaperMod.js */}} | ||||
| {{- $scrollToTop := (not site.Params.disableScrollToTop | default .Params.disableScrollToTop ) }} | ||||
| {{- $themeToggle := (not site.Params.disableThemeToggle | default .Params.disableThemeToggle ) }} | ||||
| {{- $showCodeCopyButtons := ((and (eq .Kind "page") (ne .Layout "archives") (ne .Layout "search") (site.Params.ShowCodeCopyButtons)) | default .Params.ShowCodeCopyButtons ) }} | ||||
| {{- $papermod := resources.Get "js/papermod.js" | js.Build (dict "params" (dict "scrollToTop" $scrollToTop "themeToggle" $themeToggle "showCodeCopyButtons" $showCodeCopyButtons)) | resources.Minify }} | ||||
| {{- if not site.Params.assets.disableFingerprinting }} | ||||
| {{- $papermod_js := (slice $papermod) | resources.Concat "assets/js/papermod.js" | fingerprint }} | ||||
| <script defer crossorigin="anonymous" src="{{ $papermod_js.RelPermalink }}" integrity="{{ $papermod_js.Data.Integrity }}"></script> | ||||
| {{- else }} | ||||
| {{- $papermod_js := (slice $papermod) | resources.Concat "assets/js/papermod.js" }} | ||||
| <script defer crossorigin="anonymous" type="module" src="{{ $papermod_js.RelPermalink }}"></script> | ||||
| {{- end }} | ||||
		Reference in New Issue
	
	Block a user
	 Wonderfall
					Wonderfall