diff --git a/archetypes/default.md b/archetypes/default.md
index 81d833c..a78dcc2 100644
--- a/archetypes/default.md
+++ b/archetypes/default.md
@@ -1,6 +1,6 @@
-+++
-title = "{{ replace .TranslationBaseName "-" " " | title }}"
-date = {{ .Date }}
-tags = []
-description = ""
-+++
+---
+title: "{{ replace .TranslationBaseName "-" " " | title }}"
+date: {{ .Date.Format "2006-01-02" }}
+tags: []
+description: ""
+---
diff --git a/archetypes/default/index.md b/archetypes/default/index.md
new file mode 100644
index 0000000..8b86f51
--- /dev/null
+++ b/archetypes/default/index.md
@@ -0,0 +1,6 @@
+---
+title: "{{ replace .File.ContentBaseName "-" " " | title }}"
+date: {{ .Date }}
+tags: []
+description: ""
+---
diff --git a/assets/sass/pages/audio.scss b/assets/sass/pages/audio.scss
index 756a370..4d52009 100644
--- a/assets/sass/pages/audio.scss
+++ b/assets/sass/pages/audio.scss
@@ -3,15 +3,183 @@
width: 100%;
height: 100vh;
background: radial-gradient(ellipse at bottom, #1b2735 0%, #090a0f 100%);
+ color: #fff;
+ text-align: center;
> .page-content {
position: absolute;
- top: 0;
left: 50%;
transform: translateX(-50%);
width: 60%;
margin: auto;
z-index: 999;
+
+ padding-top: 330px;
+
+ @include media-down(lg) {
+ padding-top: 400px;
+ }
+
+ .neon-sign {
+ position: absolute;
+ top: 0;
+ left: 50%;
+ top: 100px;
+ width: 100%;
+ pointer-events: none;
+
+ .neon-text {
+ @include media-down(lg) {
+ font-size: 5rem;
+ }
+ }
+ }
+ }
+
+ .record-shelf-container {
+ .shelf {
+ display: flex;
+ gap: 5rem;
+ position: relative;
+ overflow: visible;
+ padding-left: 2em;
+ padding-right: 2em;
+ }
+
+ .shelf::before {
+ content: "";
+ position: absolute;
+ bottom: -10px;
+ left: 0;
+ right: 0;
+ height: 10px;
+ background: linear-gradient(
+ to bottom,
+ #6b4423 0%,
+ #4a2f1a 50%,
+ #2d1b0e 100%
+ );
+ border-radius: 0 0 6px 6px;
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
+ }
+
+ .record-slot {
+ position: relative;
+ width: 200px;
+ min-width: 140px;
+ height: 200px;
+ perspective: 1000px;
+ }
+
+ .record-sleeve {
+ width: 100%;
+ height: 100%;
+ position: relative;
+ transition: transform 0.3s ease;
+ }
+
+ .sleeve-front {
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ border-radius: 2px;
+ box-shadow:
+ 0 2px 8px rgba(0, 0, 0, 0.3),
+ inset 0 0 20px rgba(0, 0, 0, 0.2);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-weight: bold;
+ color: white;
+ text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
+ padding: 10px;
+ text-align: center;
+ background-image: var(--album-cover);
+ background-size: cover;
+ background-position: center;
+ transition: transform 0.3s ease;
+ z-index: 99;
+
+ .album-title {
+ font-size: 16px;
+ opacity: 0;
+ }
+
+ &:hover {
+ .album-title {
+ opacity: 1;
+ }
+ }
+ }
+
+ .vinyl-record {
+ position: absolute;
+ width: 95%;
+ height: 95%;
+ border-radius: 50%;
+ top: 2%;
+ right: 2%;
+ background:
+ radial-gradient(circle at center, #1a1a1a 30%, transparent 30%),
+ conic-gradient(
+ from 0deg,
+ #0f0f0f 0deg,
+ #1a1a1a 45deg,
+ #0f0f0f 90deg,
+ #1a1a1a 135deg,
+ #0f0f0f 180deg,
+ #1a1a1a 225deg,
+ #0f0f0f 270deg,
+ #1a1a1a 315deg,
+ #0f0f0f 360deg
+ );
+ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
+ z-index: 1;
+ transition: transform 0.3s ease;
+ }
+
+ .vinyl-record::before {
+ content: "";
+ position: absolute;
+ width: 35%;
+ height: 35%;
+ border-radius: 50%;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ background: radial-gradient(
+ circle,
+ #000 0%,
+ #ff4444 10%,
+ #cc0000 50%,
+ #1a1a1a 50%,
+ #0f0f0f 100%
+ );
+ }
+
+ .vinyl-record::after {
+ content: "";
+ position: absolute;
+ transform: translateX(-50%);
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+ background: repeating-radial-gradient(
+ circle at center,
+ transparent 0px,
+ transparent 2px,
+ rgba(255, 255, 255, 0.03) 2px,
+ rgba(255, 255, 255, 0.03) 3px
+ );
+ }
+
+ .record-slot:hover .vinyl-record {
+ transform: translateX(20%);
+ }
+
+ .record-slot:hover .sleeve-front {
+ transform: translateX(-10%);
+ }
}
}
@@ -28,6 +196,11 @@
height: 40%;
width: 50%;
z-index: 2;
+
+ @include media-down(lg) {
+ width: 100%;
+ left: 0;
+ }
}
}
diff --git a/assets/sass/partials/_neon-sign.scss b/assets/sass/partials/_neon-sign.scss
index 8d68b94..c5fd8ba 100644
--- a/assets/sass/partials/_neon-sign.scss
+++ b/assets/sass/partials/_neon-sign.scss
@@ -5,24 +5,34 @@
left: 60%;
transform: translateX(-50%) rotate(-10deg);
z-index: 1;
+ text-align: center;
+ line-height: 5rem;
> .neon-text {
font-family: "Neonderthaw", cursive;
font-size: 7rem;
color: #fff;
- text-shadow:
- /* White core */
- 0 0 5px #fff,
- 0 0 5px #fff,
- /* Bright green inner glow */ 0 0 21px #0f0,
- 0 0 42px #0f0,
- 0 0 82px #0f0,
- /* Outer green glow */ 0 0 92px #0f0,
- 0 0 142px #0f0,
- 0 0 181px #0f0;
+ text-shadow: neon-glow(#0f0);
animation:
neon-flicker 10s infinite alternate,
neon-pulse 3s ease-in-out infinite;
+
+ &.purple {
+ text-shadow: neon-glow(#f0f);
+ animation:
+ neon-flicker 10s infinite alternate,
+ neon-pulse-purple 3s ease-in-out infinite;
+ animation-delay: 1.2s;
+
+ > span {
+ color: #fff;
+ text-shadow: neon-glow(#0ff);
+ animation:
+ neon-flicker 10s infinite alternate,
+ neon-pulse-cyan 3s ease-in-out infinite;
+ animation-delay: 0.5s;
+ }
+ }
}
[role="navigation"] & {
@@ -32,48 +42,62 @@
left: 10px;
transform: translateX(0) rotate(-10deg);
z-index: 9999;
+
> .neon-text {
font-size: 2rem;
text-shadow:
- /* White core */
0 0 5px #fff,
0 0 5px #fff,
- /* Bright green inner glow */ 0 0 11px #0f0,
+ 0 0 11px #0f0,
0 0 22px #0f0,
0 0 42px #0f0,
- /* Outer green glow */ 0 0 22px #0f0,
+ 0 0 22px #0f0,
0 0 42px #0f0,
0 0 81px #0f0;
}
}
}
-@keyframes neon-pulse {
- 0%,
- 100% {
- text-shadow:
- 0 0 7px #fff,
- 0 0 10px #fff,
- 0 0 21px #0f0,
- 0 0 42px #0f0,
- 0 0 82px #0f0,
- 0 0 92px #0f0,
- 0 0 102px #0f0,
- 0 0 151px #0f0;
- }
- 50% {
- text-shadow:
- 0 0 4px #fff,
- 0 0 7px #fff,
- 0 0 15px #0f0,
- 0 0 30px #0f0,
- 0 0 60px #0f0,
- 0 0 70px #0f0,
- 0 0 80px #0f0,
- 0 0 120px #0f0;
+// Function for standard neon glow effect
+@function neon-glow($color) {
+ @return 0 0 5px #fff, 0 0 5px #fff, 0 0 21px $color, 0 0 42px $color,
+ 0 0 82px $color, 0 0 92px $color, 0 0 142px $color, 0 0 181px $color;
+}
+
+// Mixin for pulse animation - generates keyframes for any color
+@mixin neon-pulse-animation($name, $color) {
+ @keyframes #{$name} {
+ 0%,
+ 100% {
+ text-shadow:
+ 0 0 7px #fff,
+ 0 0 10px #fff,
+ 0 0 21px $color,
+ 0 0 42px $color,
+ 0 0 82px $color,
+ 0 0 92px $color,
+ 0 0 102px $color,
+ 0 0 151px $color;
+ }
+ 50% {
+ text-shadow:
+ 0 0 4px #fff,
+ 0 0 7px #fff,
+ 0 0 15px $color,
+ 0 0 30px $color,
+ 0 0 60px $color,
+ 0 0 70px $color,
+ 0 0 80px $color,
+ 0 0 120px $color;
+ }
}
}
+// Generate all three pulse animations
+@include neon-pulse-animation(neon-pulse, #0f0);
+@include neon-pulse-animation(neon-pulse-purple, #f0f);
+@include neon-pulse-animation(neon-pulse-cyan, #0ff);
+
@keyframes neon-flicker {
0%,
19%,
diff --git a/assets/sass/style.scss b/assets/sass/style.scss
index 78da401..9083129 100644
--- a/assets/sass/style.scss
+++ b/assets/sass/style.scss
@@ -1633,7 +1633,7 @@ body {
position: relative;
}
- > .time-display {
+ .time-display {
width: 150px;
z-index: 30;
padding: 0.5em;
diff --git a/config.yml b/config.yml
index d4821ca..9001229 100644
--- a/config.yml
+++ b/config.yml
@@ -6,7 +6,6 @@ buildFuture: false
buildExpired: false
enableEmoji: true
-# Fixed: Changed from 'paginate: 5' to pagination block
pagination:
pagerSize: 5
@@ -14,6 +13,8 @@ minify:
disableXML: true
minifyOutput: true
+enableGitInfo: true
+
frontmatter:
lastmod:
- lastmod
@@ -21,6 +22,9 @@ frontmatter:
- date
- publishDate
+disableKinds: ["taxonomy", "term"]
+taxonomies: {}
+
params:
env: production
@@ -30,35 +34,6 @@ params:
iconImageHeight: 35
iconHeight: 70
- profileMode:
- enabled: false
- title: ExampleSite
- subtitle: "This is subtitle"
- imageUrl: "
"
- imageWidth: 120
- imageHeight: 120
- imageTitle: my image
- buttons:
- - name: Posts
- url: posts
- - name: Tags
- url: tags
-
- socialIcons:
- - name: instagram
- url: "https://www.instagram.com/ritualphotos"
- - name: mastodon
- url: "https://dice.camp/@ritual"
- - name: github
- url: "https://github.com/unbolt"
- - name: lastfm
- url: "https://www.last.fm/user/ritualplays"
-
- cover:
- hidden: false
- hiddenInList: true
- hiddenInSingle: false
-
fuseOpts:
isCaseSensitive: false
shouldSort: true
@@ -88,8 +63,6 @@ menu:
url: /tags/
weight: 20
-pygmentsUseClasses: true
-
markup:
highlight:
noClasses: false
@@ -97,7 +70,3 @@ markup:
goldmark:
renderer:
unsafe: true
-
-module:
- imports:
- - path: github.com/hugo-mods/lazyimg
diff --git a/content/audio/_index.md b/content/audio/_index.md
index 0e9b486..9d6440e 100644
--- a/content/audio/_index.md
+++ b/content/audio/_index.md
@@ -5,4 +5,4 @@ date: 2025-12-10
comments: false
---
-This page is coming soon. 11
+This page is coming soon.
diff --git a/content/audio/fiio-ft1.md b/content/audio/fiio-ft1.md
deleted file mode 100644
index 0bb3587..0000000
--- a/content/audio/fiio-ft1.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title: Fiio FT-1
-author: Dan
-date: 2025-12-11
-comments: false
-draft: true
----
-
-Hello, this is a post!
diff --git a/content/gear/fiio-ft-1/index.md b/content/gear/fiio-ft-1/index.md
new file mode 100644
index 0000000..e2c868c
--- /dev/null
+++ b/content/gear/fiio-ft-1/index.md
@@ -0,0 +1,7 @@
+---
+title: "Fiio FT-1"
+date: 2025-12-08
+tags: ["audio", "headphones"]
+description: ""
+icon: 🎧
+---
diff --git a/content/gear/hiby-r4-eva/index.md b/content/gear/hiby-r4-eva/index.md
new file mode 100644
index 0000000..d9b5520
--- /dev/null
+++ b/content/gear/hiby-r4-eva/index.md
@@ -0,0 +1,7 @@
+---
+title: "Hiby R4 EVA"
+date: 2025-12-10
+tags: ["audio", "dap"]
+description: ""
+icon: 🎵
+---
diff --git a/content/gear/ipod-video-5th-generation-upgraded/index.md b/content/gear/ipod-video-5th-generation-upgraded/index.md
new file mode 100644
index 0000000..e42fc4e
--- /dev/null
+++ b/content/gear/ipod-video-5th-generation-upgraded/index.md
@@ -0,0 +1,7 @@
+---
+title: "iPod Video 5th Generation - Upgraded"
+date: 2025-12-11
+tags: ["audio", "dap"]
+description: ""
+icon: 🎵
+---
diff --git a/content/media/neon-odin-allfather/cover.jpg b/content/media/neon-odin-allfather/cover.jpg
new file mode 100644
index 0000000..9667526
Binary files /dev/null and b/content/media/neon-odin-allfather/cover.jpg differ
diff --git a/content/media/neon-odin-allfather/index.md b/content/media/neon-odin-allfather/index.md
new file mode 100644
index 0000000..41bc8d8
--- /dev/null
+++ b/content/media/neon-odin-allfather/index.md
@@ -0,0 +1,7 @@
+---
+title: "Neon Odin - Allfather"
+date: 2025-12-12
+tags: ["album"]
+description: ""
+cover: "cover.jpg"
+---
diff --git a/content/media/ninajirachi-i-love-my-computer/cover.jpg b/content/media/ninajirachi-i-love-my-computer/cover.jpg
new file mode 100644
index 0000000..9fae65b
Binary files /dev/null and b/content/media/ninajirachi-i-love-my-computer/cover.jpg differ
diff --git a/content/media/ninajirachi-i-love-my-computer/index.md b/content/media/ninajirachi-i-love-my-computer/index.md
new file mode 100644
index 0000000..2840928
--- /dev/null
+++ b/content/media/ninajirachi-i-love-my-computer/index.md
@@ -0,0 +1,7 @@
+---
+title: "Ninajirachi - I Love My Computer"
+date: 2025-12-12
+tags: ["album"]
+description: ""
+cover: "cover.jpg"
+---
diff --git a/layouts/audio/list.html b/layouts/audio/list.html
index c6773c8..d449a5f 100644
--- a/layouts/audio/list.html
+++ b/layouts/audio/list.html
@@ -11,22 +11,65 @@
-
LIST
-
Music & Audio Gear
-
Music & Audio Gear
-
Music & Audio Gear
-
Music & Audio Gear
-
Music & Audio Gear
-
Music & Audio Gear
-
Music & Audio Gear
-
Music & Audio Gear
-
Music & Audio Gear
-
Music & Audio Gear
-
Music & Audio Gear
-
Music & Audio Gear
-
Music & Audio Gear
-
Music & Audio Gear
-
Music & Audio Gear
+
+
+
+
+
+ {{ partial "elements/ipod.html" . }}
+ {{ $posts := where site.RegularPages "Type" "gear" }}
+ {{ $posts = where $posts "Params.tags" "intersect" (slice "audio") }}
+
+ {{ range first 5 $posts }}
+
{{ .Title }}
+ {{ with .Params.icon }}
+
{{ . }}
+ {{ end }}
+
Read more
+ {{ end }}
+
+
+ {{ if gt (len $posts) 5 }}
+
+ View all {{ len $posts }} posts →
+
+ {{ end }}
{{ end }}
diff --git a/layouts/index.html b/layouts/index.html
index f79b4dd..48df6ed 100644
--- a/layouts/index.html
+++ b/layouts/index.html
@@ -122,7 +122,7 @@
> updates -lah
- {{ range first 5 (sort .Site.Pages "Lastmod" "desc") }} [
] -
{{ .Title }}
{{ end }}
@@ -265,10 +265,15 @@
-
- {{ partial "elements/lcd-screen.html" (dict "text" "12:03:31" "placeholder"
- "00:00:00") }}
+
+
diff --git a/new.sh b/new.sh
new file mode 100755
index 0000000..31a86d5
--- /dev/null
+++ b/new.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+# Script to create new Hugo content w/ filename sanitization
+# Usage: ./new.sh
+
+set -e
+
+# Check if required arguments are provided
+if [ $# -lt 2 ]; then
+ echo "Usage: $0 "
+ echo "Example: $0 blog 'My Awesome Post'"
+ exit 1
+fi
+
+TYPE="$1"
+shift
+TITLE="$*"
+
+SAFE_TITLE=$(echo "$TITLE" | \
+ tr '[:upper:]' '[:lower:]' | \
+ sed 's/ /-/g' | \
+ sed 's/\//-/g' | \
+ sed 's/[^a-z0-9_-]//g' | \
+ sed 's/-\+/-/g' | \
+ sed 's/^-//;s/-$//')
+
+# Construct the filename with date
+FILENAME="${SAFE_TITLE}/"
+
+# Construct the full path
+CONTENT_PATH="${TYPE}/${FILENAME}"
+
+# Create the content using hugo
+echo "Creating new content: content/${CONTENT_PATH}"
+hugo new "${CONTENT_PATH}"
+
+echo "Content created successfully!"
+echo "File: ${CONTENT_PATH}"
\ No newline at end of file