mirror of
				https://github.com/Wonderfall/hugo-WonderMod.git
				synced 2025-10-31 03:45:24 +01:00 
			
		
		
		
	theme: don't include set-theme inline
This commit is contained in:
		
							
								
								
									
										40
									
								
								assets/set-theme.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								assets/set-theme.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | |||||||
|  | function setTheme() { | ||||||
|  |     const time = new Date(); | ||||||
|  |  | ||||||
|  |     const prev = localStorage.getItem('date'); | ||||||
|  |     const date = String(time.getMonth() + 1) + '.' + String(time.getDate()); | ||||||
|  |  | ||||||
|  |     const now = time.getTime(); | ||||||
|  |     let sunrise; | ||||||
|  |     let sunset; | ||||||
|  |  | ||||||
|  |     function setBodyClass() { | ||||||
|  |         if (now > sunrise && now < sunset) return; | ||||||
|  |         document.body.classList.add('dark'); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     if (date !== prev) { | ||||||
|  |         fetch('https://api.ipgeolocation.io/astronomy?apiKey=5ed37d85103e4defa5df4c5298ed5215') | ||||||
|  |             .then(res => res.json()) | ||||||
|  |             .then(data => { | ||||||
|  |                 sunrise = data.sunrise.split(':').map(Number); | ||||||
|  |                 sunset = data.sunset.split(':').map(Number); | ||||||
|  |             }) | ||||||
|  |             .catch(() => { | ||||||
|  |                 sunrise = [7, 0]; | ||||||
|  |                 sunset = [19, 0]; | ||||||
|  |             }) | ||||||
|  |             .finally(() => { | ||||||
|  |                 sunrise = time.setHours(sunrise[0], sunrise[1], 0); | ||||||
|  |                 sunset = time.setHours(sunset[0], sunset[1], 0); | ||||||
|  |                 setBodyClass(); | ||||||
|  |                 localStorage.setItem('sunrise', sunrise); | ||||||
|  |                 localStorage.setItem('sunset', sunset); | ||||||
|  |             }); | ||||||
|  |         localStorage.setItem('date', date); | ||||||
|  |     } else { | ||||||
|  |         sunrise = Number(localStorage.getItem('sunrise')); | ||||||
|  |         sunset = Number(localStorage.getItem('sunset')); | ||||||
|  |         setBodyClass(); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -1,6 +1,7 @@ | |||||||
| <!DOCTYPE html> | <!DOCTYPE html> | ||||||
| <html lang="{{ .Site.LanguageCode }}"> | <html lang="{{ .Site.LanguageCode }}"> | ||||||
|   <head> |  | ||||||
|  | <head> | ||||||
|     <meta charset="utf-8"> |     <meta charset="utf-8"> | ||||||
|     <meta http-equiv="X-UA-Compatible" content="IE=edge"> |     <meta http-equiv="X-UA-Compatible" content="IE=edge"> | ||||||
|     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> |     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||||
| @@ -35,69 +36,30 @@ | |||||||
|     {{- template "_internal/opengraph.html" . }} |     {{- template "_internal/opengraph.html" . }} | ||||||
|     {{- end }} |     {{- end }} | ||||||
|     <!-- Script --> |     <!-- Script --> | ||||||
|  |     {{ $settheme := resources.Get "set-theme.js" | minify }} | ||||||
|  |     <script src="{{ $settheme.Permalink }}"></script> | ||||||
|  | </head> | ||||||
|  |  | ||||||
|  | <body class="{{ if eq .Kind `page` }}single{{ else }}list{{ if .IsHome }} home{{ end }}{{ end }}"> | ||||||
|     <script> |     <script> | ||||||
|       function setTheme() { |         setTheme(); | ||||||
|         const time = new Date(); |  | ||||||
|  |  | ||||||
|         const prev = localStorage.getItem('date'); |  | ||||||
|         const date = String(time.getMonth() + 1) + '.' + String(time.getDate()); |  | ||||||
|  |  | ||||||
|         const now = time.getTime(); |  | ||||||
|         let sunrise; |  | ||||||
|         let sunset; |  | ||||||
|  |  | ||||||
|         function setBodyClass() { |  | ||||||
|           if (now > sunrise && now < sunset) return; |  | ||||||
|           document.body.classList.add('dark'); |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         if (date !== prev) { |  | ||||||
|           fetch('https://api.ipgeolocation.io/astronomy?apiKey=5ed37d85103e4defa5df4c5298ed5215') |  | ||||||
|             .then(res => res.json()) |  | ||||||
|             .then(data => { |  | ||||||
|               sunrise = data.sunrise.split(':').map(Number); |  | ||||||
|               sunset = data.sunset.split(':').map(Number); |  | ||||||
|             }) |  | ||||||
|             .catch(() => { |  | ||||||
|               sunrise = [7, 0]; |  | ||||||
|               sunset = [19, 0]; |  | ||||||
|             }) |  | ||||||
|             .finally(() => { |  | ||||||
|               sunrise = time.setHours(sunrise[0], sunrise[1], 0); |  | ||||||
|               sunset = time.setHours(sunset[0], sunset[1], 0); |  | ||||||
|               setBodyClass(); |  | ||||||
|               localStorage.setItem('sunrise', sunrise); |  | ||||||
|               localStorage.setItem('sunset', sunset); |  | ||||||
|             }); |  | ||||||
|           localStorage.setItem('date', date); |  | ||||||
|         } else { |  | ||||||
|           sunrise = Number(localStorage.getItem('sunrise')); |  | ||||||
|           sunset = Number(localStorage.getItem('sunset')); |  | ||||||
|           setBodyClass(); |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     </script> |  | ||||||
|   </head> |  | ||||||
|   <body class="{{ if eq .Kind `page` }}single{{ else }}list{{ if .IsHome }} home{{ end }}{{ end }}"> |  | ||||||
|     <script> |  | ||||||
|       setTheme(); |  | ||||||
|     </script> |     </script> | ||||||
|     <header class="header"> |     <header class="header"> | ||||||
|       <nav class="nav"> |         <nav class="nav"> | ||||||
|         {{- if .IsHome }} |             {{- if .IsHome }} | ||||||
|         <h1 class="logo"><a href="{{ "" | absURL }}">{{ .Site.Title }}</a></h1> |             <h1 class="logo"><a href="{{ "" | absURL }}">{{ .Site.Title }}</a></h1> | ||||||
|         {{- else }} |             {{- else }} | ||||||
|         <p class="logo"><a href="{{ "" | absURL }}">{{ .Site.Title }}</a></p> |             <p class="logo"><a href="{{ "" | absURL }}">{{ .Site.Title }}</a></p> | ||||||
|         {{- end }} |             {{- end }} | ||||||
|         {{- if .Site.Menus.main }} |             {{- if .Site.Menus.main }} | ||||||
|         <ul class="menu"> |             <ul class="menu"> | ||||||
|           {{- range .Site.Menus.main }} |                 {{- range .Site.Menus.main }} | ||||||
|           <li> |                 <li> | ||||||
|             <a href="{{ .URL }}">{{ .Name }}</a> |                     <a href="{{ .URL }}">{{ .Name }}</a> | ||||||
|           </li> |                 </li> | ||||||
|           {{- end }} |                 {{- end }} | ||||||
|         </ul> |             </ul> | ||||||
|         {{- end }} |             {{- end }} | ||||||
|       </nav> |         </nav> | ||||||
|     </header> |     </header> | ||||||
|     <main class="main"> |     <main class="main"> | ||||||
		Reference in New Issue
	
	Block a user
	 Aditya Telange
					Aditya Telange