diff --git a/assets/sass/pages/resources.scss b/assets/sass/pages/resources.scss index fd17440..06ec85d 100644 --- a/assets/sass/pages/resources.scss +++ b/assets/sass/pages/resources.scss @@ -26,12 +26,12 @@ 0 0; &::before { - content: "TEST 19"; + content: "TEST 06"; position: absolute; top: 55%; right: 8%; transform: translateY(-50%); - font-family: Verdana, "Trebuchet MS", Tahoma, sans-serif; + font-family: "Barlow Condensed", sans-serif; font-size: 6rem; font-weight: 700; color: rgba(255, 255, 255, 0.3); @@ -301,16 +301,124 @@ } } -.whiteboard { +.portal-sign { position: relative; padding: 3rem 2rem; + border: 10px solid black; + background: white; + + max-width: 900px; + margin: auto; + + box-shadow: + 0 8px 24px rgba(0, 0, 0, 0.6), + 0 0 40px rgba(0, 0, 0, 0.6); + @include media-up(md) { padding: 4rem 3rem; } + + .portal-sign-decor { + border-top: 10px solid black; + border-bottom: 10px solid black; + margin-left: 6rem; + position: relative; + + @include media-down(lg) { + margin-left: auto; + } + + .portal-sign-text { + p { + margin-bottom: 1rem; + } + + font-family: "caveat", cursive; + font-size: 1.5rem; + position: absolute; + text-align: right; + right: 0; + top: 50px; + width: 50%; + transform: rotate(10deg); + + @include media-down(md) { + position: relative; + transform: none; + top: auto; + left: auto; + width: 100%; + text-align: left; + margin-top: 1em; + } + } + + .portal-sign-number { + position: relative; + font-family: "Barlow Condensed", sans-serif; + font-size: 30rem; + + @include media-down(md) { + display: none; + } + } + + .portal-sign-sub { + font-family: "Barlow Condensed", sans-serif; + font-size: 3rem; + font-weight: bold; + + @include media-down(md) { + display: none; + } + } + } + + .portal-sign-lines { + margin-left: 6rem; + margin-top: 1rem; + padding-bottom: 5rem; + display: block; + position: relative; + border-bottom: 10px solid black; + + @include media-down(md) { + display: none; + } + + @include media-down(lg) { + margin-left: auto; + } + + &::before { + content: ""; + height: 50px; + width: 10px; + background-color: black; + display: block; + + /* repeat the line 5 more times */ + box-shadow: + 20px 0 0 black, + 40px 0 0 black, + 60px 0 0 black, + 80px 0 0 black, + 100px 0 0 black; + } + } + + .portal-sign-content { + margin-left: 6rem; + margin-top: 1rem; + + @include media-down(lg) { + margin-left: auto; + } + } } -.whiteboard-header { +.portal-header { text-align: center; margin-bottom: 4rem; position: relative; @@ -323,215 +431,58 @@ font-weight: 700; text-shadow: 0 0 20px rgba(0, 150, 255, 0.6); } - - .whiteboard-description { - font-family: Verdana, "Trebuchet MS", Tahoma, sans-serif; - font-size: 1.1rem; - font-weight: 400; - color: rgba(255, 255, 255, 0.9); - max-width: 700px; - margin: 0 auto; - line-height: 1.7; - text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); - - p { - color: rgba(255, 255, 255, 0.85); - margin: 0.5rem 0; - } - } } -.whiteboard-pins { +.portal-sign-items { display: grid; - grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); - gap: 3rem; - position: relative; - z-index: 1; - - @include media-up(lg) { - grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); - } + grid-template-columns: 1fr 1fr 1fr; + gap: 1em; } -// Resource Pin (Post-it note style) -.resource-pin { - position: relative; - transform: rotate(0deg); - transition: - transform 0.3s ease, - box-shadow 0.3s ease; - - // Random slight rotations for pins - &:nth-child(3n + 1) { - transform: rotate(-1deg); - } - - &:nth-child(3n + 2) { - transform: rotate(1deg); - } - - &:nth-child(3n + 3) { - transform: rotate(-0.5deg); - } - - &:hover { - transform: rotate(0deg) translateY(-5px) !important; - box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2); - z-index: 10; - - .pin-tack { - transform: translateY(-2px); - } - } +.resource-pin a { + color: #000; } -// Aperture Science indicator at the top -.pin-tack { - position: absolute; - top: -20px; - left: 50%; - transform: translateX(-50%); - width: 30px; - height: 30px; - background: radial-gradient( - circle at center, - rgba(255, 255, 255, 0.1) 0%, - rgba(255, 255, 255, 0.05) 50%, - transparent 100% - ); - border-radius: 50%; - border: 2px solid rgba(255, 255, 255, 0.3); - z-index: 2; - transition: all 0.3s ease; - - // Aperture Science logo segments - &::before { - content: ""; - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - width: 14px; - height: 14px; - border-radius: 50%; - border: 2px solid rgba(255, 255, 255, 0.6); - border-top-color: transparent; - border-left-color: transparent; - } - - &::after { - content: ""; - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - width: 6px; - height: 6px; - background: rgba(255, 255, 255, 0.8); - border-radius: 50%; - } -} - -// Resource panel (Aperture Science test chamber panel) .resource-card { - background: linear-gradient( - 145deg, - rgba(255, 255, 255, 0.95) 0%, - rgba(240, 245, 250, 0.9) 100% - ); padding: 2rem 1.5rem 1.5rem; - border-radius: 8px; - box-shadow: - 0 8px 24px rgba(0, 0, 0, 0.2), - inset 0 1px 0 rgba(255, 255, 255, 0.9), - 0 0 40px rgba(0, 0, 0, 0.1); - min-height: 280px; + aspect-ratio: 1/1; display: flex; flex-direction: column; gap: 1rem; border: 3px solid; position: relative; - backdrop-filter: blur(10px); + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; - // Vary border colors with Portal theme - .resource-pin:nth-child(4n + 1) & { - border-color: rgba(0, 150, 255, 0.5); - box-shadow: - 0 8px 24px rgba(0, 0, 0, 0.2), - 0 0 30px rgba(0, 150, 255, 0.3), - inset 0 1px 0 rgba(255, 255, 255, 0.9); - - &::before { - background: linear-gradient(180deg, rgba(0, 150, 255, 0.15) 0%, transparent 100%); - } - } - - .resource-pin:nth-child(4n + 2) & { - border-color: rgba(255, 120, 0, 0.5); - box-shadow: - 0 8px 24px rgba(0, 0, 0, 0.2), - 0 0 30px rgba(255, 120, 0, 0.3), - inset 0 1px 0 rgba(255, 255, 255, 0.9); - - &::before { - background: linear-gradient(180deg, rgba(255, 120, 0, 0.15) 0%, transparent 100%); - } - } - - .resource-pin:nth-child(4n + 3) & { - border-color: rgba(0, 150, 255, 0.6); - box-shadow: - 0 8px 24px rgba(0, 0, 0, 0.2), - 0 0 35px rgba(0, 150, 255, 0.35), - inset 0 1px 0 rgba(255, 255, 255, 0.9); - - &::before { - background: linear-gradient(180deg, rgba(0, 150, 255, 0.18) 0%, transparent 100%); - } - } - - .resource-pin:nth-child(4n + 4) & { - border-color: rgba(255, 120, 0, 0.6); - box-shadow: - 0 8px 24px rgba(0, 0, 0, 0.2), - 0 0 35px rgba(255, 120, 0, 0.35), - inset 0 1px 0 rgba(255, 255, 255, 0.9); - - &::before { - background: linear-gradient(180deg, rgba(255, 120, 0, 0.18) 0%, transparent 100%); - } - } - - // Subtle gradient overlay - &::before { - content: ""; + .resource-info { position: absolute; top: 0; left: 0; right: 0; - height: 60%; - pointer-events: none; - border-radius: 6px 6px 0 0; - } + bottom: 0; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; - // Tech panel grid pattern - &::after { - content: ""; - position: absolute; - inset: 0; - background-image: - linear-gradient(rgba(0, 0, 0, 0.02) 1px, transparent 1px), - linear-gradient(90deg, rgba(0, 0, 0, 0.02) 1px, transparent 1px); - background-size: 20px 20px; - pointer-events: none; - border-radius: 8px; - opacity: 0.5; + background: rgba(255, 255, 255, 0.6); + font-size: 2rem; + text-align: center; + font-family: "caveat", cursive; + + opacity: 0; + + &:hover { + opacity: 1; + } } } .resource-icon { - width: 80px; - height: 80px; + width: 100px; + height: 100px; margin: 0 auto 1rem; position: relative; @@ -541,13 +492,12 @@ 180deg, transparent 0%, transparent 20%, - #9333ea 20%, - #7c3aed 100% + #000 20%, + #000 100% ); border-radius: 10px 10px 40px 40px; - border: 3px solid #6b21a8; + border: 3px solid #000; position: relative; - box-shadow: inset 0 0 20px rgba(147, 51, 234, 0.3); // Lamp base &::before { @@ -556,7 +506,7 @@ bottom: -8px; left: 50%; transform: translateX(-50%); - width: 90%; + width: 70%; height: 12px; background: #1f2937; border-radius: 4px; @@ -570,16 +520,15 @@ left: 30%; width: 25px; height: 30px; - background: radial-gradient(circle, #ec4899 0%, #db2777 100%); + background: #fff; border-radius: 50% 50% 40% 60%; - opacity: 0.9; animation: float-blob 4s ease-in-out infinite; } } // Last.fm stats icon &.lastfm-stats { - background: linear-gradient(135deg, #d32323 0%, #b71c1c 100%); + background: black; border-radius: 8px; display: flex; align-items: center; @@ -612,44 +561,6 @@ } } -// Additional lava blob for lavalamp -.resource-icon.lavalamp { - & > span { - position: absolute; - top: 50%; - right: 25%; - width: 20px; - height: 25px; - background: radial-gradient(circle, #f97316 0%, #ea580c 100%); - border-radius: 60% 40% 50% 50%; - opacity: 0.85; - animation: float-blob-2 3.5s ease-in-out infinite; - } - - // Create the blob with a pseudo-element instead - &:not(:empty)::before { - // Override for when we add content - animation: float-blob 4s ease-in-out infinite; - } -} - -// Last.fm additional bars -.resource-icon.lastfm-stats { - & > span { - position: absolute; - bottom: 15px; - width: 8px; - background: #fff; - border-radius: 2px; - - &:nth-child(1) { - left: 50px; - height: 30px; - animation: equalizer-3 0.8s ease-in-out infinite 0.4s; - } - } -} - @keyframes float-blob { 0%, 100% { @@ -660,16 +571,6 @@ } } -@keyframes float-blob-2 { - 0%, - 100% { - transform: translateY(0) scale(1); - } - 50% { - transform: translateY(-20px) scale(0.9); - } -} - @keyframes equalizer-1 { 0%, 100% { @@ -690,153 +591,6 @@ } } -@keyframes equalizer-3 { - 0%, - 100% { - height: 30px; - } - 50% { - height: 15px; - } -} - -.resource-info { - flex: 1; - display: flex; - flex-direction: column; - position: relative; - z-index: 2; - - h2 { - font-size: 1.4rem; - margin: 0 0 0.5rem 0; - color: #1a1a1a; - font-weight: 700; - font-family: Verdana, "Trebuchet MS", Tahoma, sans-serif; - text-transform: uppercase; - letter-spacing: 0.08em; - - a { - color: inherit; - text-decoration: none; - transition: all 0.3s ease; - - &:hover { - color: #0096ff; - text-shadow: 0 0 15px rgba(0, 150, 255, 0.5); - } - } - } -} - -.resource-description { - color: #2c3e50; - font-size: 0.95rem; - line-height: 1.6; - margin: 0 0 1rem 0; - flex: 1; - font-family: Verdana, "Trebuchet MS", Tahoma, sans-serif; - position: relative; - z-index: 2; -} - -.resource-tags { - display: flex; - flex-wrap: wrap; - gap: 0.5rem; - margin-bottom: 1rem; - position: relative; - z-index: 2; - - .tag { - background: linear-gradient(135deg, rgba(0, 150, 255, 0.2) 0%, rgba(0, 120, 200, 0.15) 100%); - padding: 0.35rem 0.9rem; - border-radius: 4px; - font-size: 0.7rem; - color: #0080dd; - text-decoration: none; - transition: all 0.3s ease; - border: 2px solid rgba(0, 150, 255, 0.4); - text-transform: uppercase; - letter-spacing: 0.08em; - font-weight: 700; - font-family: Verdana, "Trebuchet MS", Tahoma, sans-serif; - - &:hover { - background: linear-gradient(135deg, rgba(0, 150, 255, 0.3) 0%, rgba(255, 120, 0, 0.2) 100%); - border-color: rgba(0, 150, 255, 0.6); - color: #0096ff; - box-shadow: 0 0 15px rgba(0, 150, 255, 0.3); - transform: translateY(-1px); - } - } -} - -.resource-links { - display: flex; - gap: 0.75rem; - margin-top: auto; - position: relative; - z-index: 2; - - .resource-link { - flex: 1; - padding: 0.7rem 1.3rem; - text-align: center; - text-decoration: none; - border-radius: 6px; - font-weight: 700; - font-size: 0.8rem; - transition: all 0.3s ease; - text-transform: uppercase; - letter-spacing: 0.1em; - font-family: Verdana, "Trebuchet MS", Tahoma, sans-serif; - border: 3px solid; - - &.demo { - background: linear-gradient(135deg, #0096ff 0%, #0075cc 100%); - color: #fff; - border-color: #0096ff; - box-shadow: - 0 4px 12px rgba(0, 150, 255, 0.4), - inset 0 1px 0 rgba(255, 255, 255, 0.3); - - &:hover { - background: linear-gradient(135deg, #00aaff 0%, #0096ff 100%); - transform: translateY(-3px); - box-shadow: - 0 8px 20px rgba(0, 150, 255, 0.5), - 0 0 30px rgba(0, 150, 255, 0.4), - inset 0 1px 0 rgba(255, 255, 255, 0.4); - border-color: #66ccff; - } - } - - &.source { - background: linear-gradient(135deg, #ff7800 0%, #dd6600 100%); - color: #fff; - border-color: #ff7800; - box-shadow: - 0 4px 12px rgba(255, 120, 0, 0.4), - inset 0 1px 0 rgba(255, 255, 255, 0.3); - - &:hover { - background: linear-gradient(135deg, #ff8800 0%, #ff7800 100%); - transform: translateY(-3px); - box-shadow: - 0 8px 20px rgba(255, 120, 0, 0.5), - 0 0 30px rgba(255, 120, 0, 0.4), - inset 0 1px 0 rgba(255, 255, 255, 0.4); - border-color: #ffaa66; - } - } - - &:active { - transform: translateY(0); - } - } -} - // Single Resource Page .resource-single { margin: 0 auto; diff --git a/assets/sass/style.scss b/assets/sass/style.scss index bdde189..b5a53f8 100644 --- a/assets/sass/style.scss +++ b/assets/sass/style.scss @@ -26,7 +26,7 @@ @import "pages/media"; @import "pages/resources"; -@import url("https://fonts.bunny.net/css2?family=Caveat:wght@400..700&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Neonderthaw&display=swap"); +@import url(https://fonts.bunny.net/css?family=abel:400|barlow-condensed:400,500|caveat:400|lato:300,300i,400,400i|neonderthaw:400); @font-face { font-family: "DSEG7-Classic"; diff --git a/content/resources/_index.md b/content/resources/_index.md index d4c4af7..28c733f 100644 --- a/content/resources/_index.md +++ b/content/resources/_index.md @@ -4,3 +4,5 @@ draft: false --- Welcome to my test chamber, here you'll find various experiements, tests and resources. Take a look around. + +The cake isn't a lie. diff --git a/content/resources/lastfm-stats/index.md b/content/resources/lastfm-stats/index.md index 3cdbb31..d4b199b 100644 --- a/content/resources/lastfm-stats/index.md +++ b/content/resources/lastfm-stats/index.md @@ -1,7 +1,6 @@ --- title: "Last.fm Weekly Stats" date: 2026-01-04 -tags: ["javascript", "api", "last.fm"] description: "Fetch and display your weekly listening stats from Last.fm" icon: "lastfm-stats" demo_url: "" diff --git a/content/resources/lavalamp/index.md b/content/resources/lavalamp/index.md index eba821c..e18dc73 100644 --- a/content/resources/lavalamp/index.md +++ b/content/resources/lavalamp/index.md @@ -1,7 +1,6 @@ --- title: "HTML/CSS Lavalamp" date: 2026-01-04 -tags: ["css", "html", "animation"] description: "A pure CSS lavalamp animation with floating blobs" icon: "lavalamp" demo_url: "" diff --git a/layouts/resources/list.html b/layouts/resources/list.html index 02b5847..c33b3cf 100644 --- a/layouts/resources/list.html +++ b/layouts/resources/list.html @@ -12,13 +12,22 @@
-
-
-
{{ .Content }}
+
+
+
{{ .Content }}
+
06
+
06/19
+
-
- {{ range .Pages }} {{ .Render "summary" }} {{ end }} +
+
+
+
+ +
+ {{ range .Pages }} {{ .Render "summary" }} {{ end }} +
diff --git a/layouts/resources/summary.html b/layouts/resources/summary.html index 4962fdf..2896b2b 100644 --- a/layouts/resources/summary.html +++ b/layouts/resources/summary.html @@ -1,25 +1,8 @@
-
-
-
-
-

{{ .Title }}

-

{{ .Params.description }}

- {{ if .Params.tags }} -
- {{ range .Params.tags }} - {{ . }} - {{ end }} -
- {{ end }} - + +
+
+
{{ .Title }}
-
+