diff --git a/themes/dreamcast/layouts/partials/head.html b/themes/dreamcast/layouts/partials/head.html
index 8758933..1e9739a 100644
--- a/themes/dreamcast/layouts/partials/head.html
+++ b/themes/dreamcast/layouts/partials/head.html
@@ -12,6 +12,7 @@
+
{{ range .AlternativeOutputFormats -}}
{{ printf `` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
{{ end -}}
diff --git a/themes/dreamcast/static/css/main.css b/themes/dreamcast/static/css/main.css
index ecfacd6..273559e 100644
--- a/themes/dreamcast/static/css/main.css
+++ b/themes/dreamcast/static/css/main.css
@@ -181,71 +181,135 @@ header .profile img {
}
nav {
- /* From https://css.glass */
- background: rgba(255, 255, 255, 0.13);
- border-radius: 16px;
- box-shadow: 3px 3px 5px var(--shadow);
- backdrop-filter: blur(5px);
- -webkit-backdrop-filter: blur(5px);
- border: 1px solid rgba(255, 255, 255, 0.3);
- font-family: 'Noto Sans', sans-serif;
- font-weight: 500;
- text-align: center;
- padding: 0;
- border-radius: 15px;
- margin-bottom: 10px;
+ /* From https://css.glass */
+ background: rgba(255, 255, 255, 0.13);
+ border-radius: 16px;
+ box-shadow: 3px 3px 5px var(--shadow);
+ backdrop-filter: blur(5px);
+ -webkit-backdrop-filter: blur(5px);
+ border: 1px solid rgba(255, 255, 255, 0.3);
+ text-align: center;
+ padding: 0;
+ border-radius: 15px;
+ margin-bottom: 10px;
}
nav ul {
- list-style-type: none;
- margin: 0;
- padding: 0;
+ list-style-type: none;
+ margin: 0;
+ padding: 0;
+ background: radial-gradient(
+ circle at calc((var(--mouse-x, 50) * 75%)) calc(var(--mouse-y, 50) * 100%),
+ rgba(255, 255, 255, 0.1) 0%,
+ rgba(255, 255, 255, 0.05) 20%,
+ rgba(255, 255, 255, 0) 30%
+ );
+ border-radius: 15px;
}
nav li {
- display: inline;
+ display: inline-block;
+ border-radius: 15px;
+ transition: box-shadow 0.3s;
+}
+
+nav li:hover {
+ animation: 0.2s ease-in 1 forwards spotlight;
+ outline: 1px solid rgba(255, 255, 255, 0.2);
+ background-clip: border-box;
+ box-shadow: 0 0 15px rgba(255, 255, 255, 0.5);
}
nav li a {
- display: inline-block;
- padding: 20px;
- /* font-size: 1.1rem; */
- transition: box-shadow 0.3s;
- text-transform: uppercase;
+ display: inline-block;
+ padding: 20px;
+ font-size: 1.1rem;
+
+ text-transform: uppercase;
+ font-family: "Noto Sans", sans-serif;
+ font-weight: 500;
+ border-radius: 15px;
+ text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
}
-nav li a:link, nav li a:visited {
- color: var(--nav-link);
- text-decoration: none;
+nav li a:link,
+nav li a:visited {
+ color: #de9b00;
+ text-decoration: none;
+ border-left: 1px solid rgba(255, 255, 255, 0);
+ border-right: 1px solid rgba(255, 255, 255, 0);
}
-nav li a:hover, nav li a:active {
- animation: 0.2s ease-in 1 forwards gradient;
- outline: 1px solid rgba(255, 255, 255, 0.3);
- box-shadow: 0 0 10px white;
+nav li a:hover,
+nav li a:active {
+ background: radial-gradient(
+ ellipse 425% 100% at top,
+ rgba(255, 255, 255, 0.25) 0%,
+ rgba(255, 255, 255, 0.05) 30%,
+ rgba(255, 255, 255, 0) 32%
+ );
+/* background: linear-gradient(
+ rgba(255, 255, 255, 0.13) 0%,
+ rgba(255, 255, 255, 0.1) 30%,
+ rgba(255, 255, 255, 0) 31%
+ ); */
+ border-left: 1px solid rgba(255, 255, 255, 0.05);
+ border-right: 1px solid rgba(255, 255, 255, 0.05);
+ text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7);
}
-@keyframes gradient {
- 0% {
- background: radial-gradient(circle at 50% 100%, rgba(255,255,255,0) 0%, rgba(255,255,255,0.00) 10%, rgba(255,255,255,0) 20%), linear-gradient(rgba(255,255,255,0.13) 0%, rgba(255,255,255,0.1) 40%, rgba(255,255,255,0.0) 41%);
- }
- 20% {
- background: radial-gradient(circle at 50% 100%, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.05) 20%, rgba(255,255,255,0) 30%), linear-gradient(rgba(255,255,255,0.13) 0%, rgba(255,255,255,0.2) 30%, rgba(255,255,255,0.13) 31%);
- }
- 40% {
- background: radial-gradient(circle at 50% 100%, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0.1) 25%, rgba(255,255,255,0) 35%), linear-gradient(rgba(255,255,255,0.13) 0%, rgba(255,255,255,0.2) 30%, rgba(255,255,255,0.13) 31%);
- }
- 60% {
- background: radial-gradient(circle at 50% 100%, rgba(255,255,255,0.25) 0%, rgba(255,255,255,0.15) 25%, rgba(255,255,255,0) 45%), linear-gradient(rgba(255,255,255,0.13) 0%, rgba(255,255,255,0.2) 30%, rgba(255,255,255,0.13) 31%);
- }
- 80% {
- background: radial-gradient(circle at 50% 100%, rgba(255,255,255,0.30) 0%, rgba(255,255,255,0.20) 25%, rgba(255,255,255,0) 50%), linear-gradient(rgba(255,255,255,0.13) 0%, rgba(255,255,255,0.2) 30%, rgba(255,255,255,0.13) 31%);
- }
- 100% {
- background: radial-gradient(circle at 50% 100%, rgba(255,255,255,0.35) 0%, rgba(255,255,255,0.25) 25%, rgba(255,255,255,0) 50%), linear-gradient(rgba(255,255,255,0.13) 0%, rgba(255,255,255,0.2) 30%, rgba(255,255,255,0.13) 31%);
- }
+@keyframes spotlight {
+ 0% {
+ background: radial-gradient(
+ circle at 50% 100%,
+ rgba(255, 255, 255, 0) 0%,
+ rgba(255, 255, 255, 0) 10%,
+ rgba(255, 255, 255, 0) 20%
+ );
+ }
+ 20% {
+ background: radial-gradient(
+ circle at 50% 100%,
+ rgba(255, 255, 255, 0.05) 0%,
+ rgba(255, 255, 255, 0.03) 20%,
+ rgba(255, 255, 255, 0) 30%
+ );
+ }
+ 40% {
+ background: radial-gradient(
+ circle at 50% 100%,
+ rgba(255, 255, 255, 0.1) 0%,
+ rgba(255, 255, 255, 0.07) 25%,
+ rgba(255, 255, 255, 0) 45%
+ );
+ }
+ 60% {
+ background: radial-gradient(
+ circle at 50% 100%,
+ rgba(255, 255, 255, 0.15) 0%,
+ rgba(255, 255, 255, 0.13) 25%,
+ rgba(255, 255, 255, 0) 50%
+ );
+ }
+ 80% {
+ background: radial-gradient(
+ circle at 50% 100%,
+ rgba(255, 255, 255, 0.2) 0%,
+ rgba(255, 255, 255, 0.15) 25%,
+ rgba(255, 255, 255, 0) 50%
+ );
+ }
+ 100% {
+ background: radial-gradient(
+ circle at 50% 100%,
+ rgba(255, 255, 255, 0.2) 0%,
+ rgba(255, 255, 255, 0.15) 25%,
+ rgba(255, 255, 255, 0) 50%
+ );
+ }
}
+
.main-sidebar {
background-color: var(--content-bg);
border-radius: 15px;
diff --git a/themes/dreamcast/static/js/main.js b/themes/dreamcast/static/js/main.js
new file mode 100644
index 0000000..a10c565
--- /dev/null
+++ b/themes/dreamcast/static/js/main.js
@@ -0,0 +1,14 @@
+const root = document.documentElement;
+let mouseX = 0;
+let mouseY = 0;
+
+document.addEventListener("mousemove", (evt) => {
+ mouseX = evt.clientX / innerWidth;
+ mouseY = evt.clientY / innerHeight;
+
+ root.style.setProperty("--mouse-x", `${mouseX}`);
+ root.style.setProperty("--mouse-y", `${mouseY}`);
+
+ console.log(root.style.getPropertyValue("--mouse-x"));
+});
+