summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyren223 <contact@kyren.codes>2026-10-09 17:42:43 +0300
committerKyren223 <contact@kyren.codes>2026-10-09 17:42:43 +0300
commit26ac862befb195a9e03e0d554dbe1480d2e55775 (patch)
tree98b1d08c1718759cb6c9522b547f8dd5fc998263
parenta7ecfccc8a5f1bb8d0d3ae03dc125672b428f31f (diff)
Foobar
-rw-r--r--public/scrollbar.js24
-rw-r--r--public/style.css923
-rw-r--r--website.go163
-rw-r--r--website.templ416
-rw-r--r--website_templ.go2632
5 files changed, 911 insertions, 3247 deletions
diff --git a/public/scrollbar.js b/public/scrollbar.js
index da6aded..2218b55 100644
--- a/public/scrollbar.js
+++ b/public/scrollbar.js
@@ -50,3 +50,27 @@ function initScrollbox(box) {
}
document.querySelectorAll("[data-scrollbox]").forEach(initScrollbox);
+
+// Vim style j/k scrolling
+document.addEventListener("keydown", (e) => {
+ // Don't scroll in input elements
+ const tag = document.activeElement.tagName;
+ if (
+ ["INPUT", "TEXTAREA", "SELECT"].includes(tag) ||
+ document.activeElement.isContentEditable
+ ) {
+ return;
+ }
+
+ // Only work for "j" and "k", no ctrl/alt/shift
+ if (e.ctrlKey || e.altKey || e.metaKey) return;
+
+ const dir = key === "j" ? step : -step;
+ const scrollTarget = document.scrollingElement || document.documentElement;
+ const scrollAmount = 100; // in pixels
+ if (scrollTarget && scrollTarget.scrollHeight > scrollTarget.clientHeight) {
+ scrollTarget.scrollBy({ top: dir, behavior: "auto" });
+ } else {
+ window.scrollBy({ top: dir, behavior: "auto" });
+ }
+});
diff --git a/public/style.css b/public/style.css
index 684c599..11879d3 100644
--- a/public/style.css
+++ b/public/style.css
@@ -28,8 +28,6 @@
--text-sm--line-height: calc(1.25 / 0.875);
--text-2xl: 1.5rem;
--text-2xl--line-height: calc(2 / 1.5);
- --text-3xl: 1.875rem;
- --text-3xl--line-height: calc(2.25 / 1.875);
--font-weight-normal: 400;
--font-weight-bold: 700;
--tracking-wider: 0.05em;
@@ -211,9 +209,6 @@
.inset-x-\[0\.3rem\] {
inset-inline: 0.3rem;
}
- .top-1 {
- top: var(--spacing);
- }
.top-1\/2 {
top: calc(1 / 2 * 100%);
}
@@ -232,21 +227,9 @@
.right-full {
right: 100%;
}
- .bottom-\[-0\.5rem\] {
- bottom: -0.5rem;
- }
.bottom-\[-0\.7em\] {
bottom: -0.7em;
}
- .bottom-\[-0\.30rem\] {
- bottom: -0.30rem;
- }
- .bottom-\[-0\.35rem\] {
- bottom: -0.35rem;
- }
- .bottom-\[-0\.45rem\] {
- bottom: -0.45rem;
- }
.bottom-\[-0\.55rem\] {
bottom: -0.55rem;
}
@@ -262,9 +245,6 @@
.col-span-2 {
grid-column: span 2 / span 2;
}
- .col-span-3 {
- grid-column: span 3 / span 3;
- }
.-m-\[0\.4rem\] {
margin: calc(0.4rem * -1);
}
@@ -283,39 +263,9 @@
.mx-\[1vw\] {
margin-inline: 1vw;
}
- .my-0 {
- margin-block: 0px;
- }
- .my-\[-0\.5rem\] {
- margin-block: -0.5rem;
- }
- .my-\[-0\.10rem\] {
- margin-block: -0.10rem;
- }
.my-\[-0\.15rem\] {
margin-block: -0.15rem;
}
- .my-\[-0\.20rem\] {
- margin-block: -0.20rem;
- }
- .my-\[-0\.25\] {
- margin-block: -0.25;
- }
- .my-\[-0\.25rem\] {
- margin-block: -0.25rem;
- }
- .my-\[-0\.30rem\] {
- margin-block: -0.30rem;
- }
- .my-\[-0\.50rem\] {
- margin-block: -0.50rem;
- }
- .my-\[-0\.rem\] {
- margin-block: -0.rem;
- }
- .my-\[0\.0rem\] {
- margin-block: 0.0rem;
- }
.my-\[0\.625vw\] {
margin-block: 0.625vw;
}
@@ -328,21 +278,12 @@
.my-\[5vw\] {
margin-block: 5vw;
}
- .mt-0 {
- margin-top: 0px;
- }
- .mt-\[0\.0rem\] {
- margin-top: 0.0rem;
- }
.mt-\[0\.5rem\] {
margin-top: 0.5rem;
}
.mt-\[0\.625vw\] {
margin-top: 0.625vw;
}
- .mt-\[0\.rem\] {
- margin-top: 0.rem;
- }
.mt-\[1vw\] {
margin-top: 1vw;
}
@@ -364,30 +305,9 @@
.mb-0 {
margin-bottom: 0px;
}
- .mb-2 {
- margin-bottom: calc(var(--spacing) * 2);
- }
- .mb-4 {
- margin-bottom: calc(var(--spacing) * 4);
- }
.mb-6 {
margin-bottom: calc(var(--spacing) * 6);
}
- .mb-10 {
- margin-bottom: calc(var(--spacing) * 10);
- }
- .mb-12 {
- margin-bottom: calc(var(--spacing) * 12);
- }
- .mb-\[0\.0rem\] {
- margin-bottom: 0.0rem;
- }
- .mb-\[0\.1rem\] {
- margin-bottom: 0.1rem;
- }
- .mb-\[0\.5rem\] {
- margin-bottom: 0.5rem;
- }
.mb-\[0\.30rem\] {
margin-bottom: 0.30rem;
}
@@ -400,9 +320,6 @@
.mb-\[1rem\] {
margin-bottom: 1rem;
}
- .mb-\[2rem\] {
- margin-bottom: 2rem;
- }
.mb-\[5vw\] {
margin-bottom: 5vw;
}
@@ -418,12 +335,6 @@
.ml-auto {
margin-left: auto;
}
- .line-clamp-2 {
- overflow: hidden;
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 2;
- }
.block {
display: block;
}
@@ -448,15 +359,9 @@
.h-0 {
height: 0px;
}
- .h-2 {
- height: calc(var(--spacing) * 2);
- }
.h-38 {
height: calc(var(--spacing) * 38);
}
- .h-\[0\.1rem\] {
- height: 0.1rem;
- }
.h-\[9\.5vw\] {
height: 9.5vw;
}
@@ -466,9 +371,6 @@
.h-\[62\%\] {
height: 62%;
}
- .h-\[80\%\] {
- height: 80%;
- }
.h-\[80svh\] {
height: 80svh;
}
@@ -493,27 +395,12 @@
.w-0 {
width: 0px;
}
- .w-2 {
- width: calc(var(--spacing) * 2);
- }
.w-8 {
width: calc(var(--spacing) * 8);
}
- .w-\[\%\] {
- width: %;
- }
- .w-\[0\%\] {
- width: 0%;
- }
- .w-\[0\.625rem\] {
- width: 0.625rem;
- }
.w-\[30\%\] {
width: 30%;
}
- .w-\[50\%\] {
- width: 50%;
- }
.w-\[67\%\] {
width: 67%;
}
@@ -523,9 +410,6 @@
.w-\[75rem\] {
width: 75rem;
}
- .w-\[80\%\] {
- width: 80%;
- }
.w-\[95vw\] {
width: 95vw;
}
@@ -544,25 +428,12 @@
.min-w-0 {
min-width: 0px;
}
- .min-w-\[260px\] {
- min-width: 260px;
- }
.flex-1 {
flex: 1;
}
- .flex-shrink {
- flex-shrink: 1;
- }
.shrink-0 {
flex-shrink: 0;
}
- .border-collapse {
- border-collapse: collapse;
- }
- .-translate-y-1 {
- --tw-translate-y: calc(var(--spacing) * -1);
- translate: var(--tw-translate-x) var(--tw-translate-y);
- }
.-translate-y-1\/2 {
--tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
translate: var(--tw-translate-x) var(--tw-translate-y);
@@ -570,9 +441,6 @@
.transform {
transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
}
- .animate-pulse {
- animation: var(--animate-pulse);
- }
.cursor-grab {
cursor: grab;
}
@@ -588,9 +456,6 @@
.\[scrollbar-width\:none\] {
scrollbar-width: none;
}
- .grid-cols-1 {
- grid-template-columns: repeat(1, minmax(0, 1fr));
- }
.grid-cols-2 {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
@@ -615,21 +480,9 @@
.items-center {
align-items: center;
}
- .items-end {
- align-items: flex-end;
- }
.justify-between {
justify-content: space-between;
}
- .gap-1 {
- gap: var(--spacing);
- }
- .gap-2 {
- gap: calc(var(--spacing) * 2);
- }
- .gap-3 {
- gap: calc(var(--spacing) * 3);
- }
.gap-4 {
gap: calc(var(--spacing) * 4);
}
@@ -642,15 +495,9 @@
.gap-16 {
gap: calc(var(--spacing) * 16);
}
- .gap-\[0\.5ch\] {
- gap: 0.5ch;
- }
.gap-\[0\.5rem\] {
gap: 0.5rem;
}
- .gap-\[0\.25rem\] {
- gap: 0.25rem;
- }
.gap-\[0\.0625rem\] {
gap: 0.0625rem;
}
@@ -660,12 +507,6 @@
.gap-\[1ch\] {
gap: 1ch;
}
- .gap-\[1rem\] {
- gap: 1rem;
- }
- .gap-\[2rem\] {
- gap: 2rem;
- }
.gap-x-4 {
column-gap: calc(var(--spacing) * 4);
}
@@ -675,12 +516,6 @@
.gap-x-\[1ch\] {
column-gap: 1ch;
}
- .gap-x-\[1rem\] {
- column-gap: 1rem;
- }
- .gap-x-\[2\.5rem\] {
- column-gap: 2.5rem;
- }
.gap-x-\[2rem\] {
column-gap: 2rem;
}
@@ -701,28 +536,6 @@
.gap-y-\[0\.4rem\] {
row-gap: 0.4rem;
}
- .gap-y-\[0\.5rem\] {
- row-gap: 0.5rem;
- }
- .gap-y-\[0\.75rem\] {
- row-gap: 0.75rem;
- }
- :where(.divide-y > :not(:last-child)) {
- --tw-divide-y-reverse: 0;
- border-bottom-style: var(--tw-border-style);
- border-top-style: var(--tw-border-style);
- border-top-width: calc(1px * var(--tw-divide-y-reverse));
- border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
- }
- :where(.divide-white > :not(:last-child)) {
- border-color: var(--color-white);
- }
- :where(.divide-white\/5 > :not(:last-child)) {
- border-color: color-mix(in srgb, #fff 5%, transparent);
- @supports (color: color-mix(in lab, red, red)) {
- border-color: color-mix(in oklab, var(--color-white) 5%, transparent);
- }
- }
.self-center {
align-self: center;
}
@@ -746,33 +559,16 @@
.overflow-y-auto {
overflow-y: auto;
}
- .rounded {
- border-radius: 0.25rem;
- }
- .rounded-\[0\.2rem\] {
- border-radius: 0.2rem;
- }
.rounded-\[0\.3rem\] {
border-radius: 0.3rem;
}
.rounded-\[0\.4rem\] {
border-radius: 0.4rem;
}
- .rounded-full {
- border-radius: calc(infinity * 1px);
- }
.border {
border-style: var(--tw-border-style);
border-width: 1px;
}
- .border-1 {
- border-style: var(--tw-border-style);
- border-width: 1px;
- }
- .border-2 {
- border-style: var(--tw-border-style);
- border-width: 2px;
- }
.border-\[0\.01rem\] {
border-style: var(--tw-border-style);
border-width: 0.01rem;
@@ -789,30 +585,10 @@
border-style: var(--tw-border-style);
border-width: 0.2rem;
}
- .border-\[0\.03rem\] {
- border-style: var(--tw-border-style);
- border-width: 0.03rem;
- }
.border-\[0\.05rem\] {
border-style: var(--tw-border-style);
border-width: 0.05rem;
}
- .border-\[0\.06rem\] {
- border-style: var(--tw-border-style);
- border-width: 0.06rem;
- }
- .border-\[0\.13rem\] {
- border-style: var(--tw-border-style);
- border-width: 0.13rem;
- }
- .border-\[0\.16rem\] {
- border-style: var(--tw-border-style);
- border-width: 0.16rem;
- }
- .border-\[0\.25rem\] {
- border-style: var(--tw-border-style);
- border-width: 0.25rem;
- }
.border-\[0\.25vh\] {
border-style: var(--tw-border-style);
border-width: 0.25vh;
@@ -821,30 +597,6 @@
border-style: var(--tw-border-style);
border-width: 0.125rem;
}
- .border-\[0\.0625rem\] {
- border-style: var(--tw-border-style);
- border-width: 0.0625rem;
- }
- .border-\[0\.03125rem\] {
- border-style: var(--tw-border-style);
- border-width: 0.03125rem;
- }
- .border-\[1rem\] {
- border-style: var(--tw-border-style);
- border-width: 1rem;
- }
- .border-x-\[0\.1rem\] {
- border-inline-style: var(--tw-border-style);
- border-inline-width: 0.1rem;
- }
- .border-t {
- border-top-style: var(--tw-border-style);
- border-top-width: 1px;
- }
- .border-b {
- border-bottom-style: var(--tw-border-style);
- border-bottom-width: 1px;
- }
.border-solid {
--tw-border-style: solid;
border-style: solid;
@@ -852,18 +604,9 @@
.border-\(--accent\)\! {
border-color: var(--accent) !important;
}
- .border-\(--accent\)\/50 {
- border-color: var(--accent);
- @supports (color: color-mix(in lab, red, red)) {
- border-color: color-mix(in oklab, var(--accent) 50%, transparent);
- }
- }
.border-\(--alt\) {
border-color: var(--alt);
}
- .border-\(--primary\)\! {
- border-color: var(--primary) !important;
- }
.border-\(--secondary\)\/60 {
border-color: var(--secondary);
@supports (color: color-mix(in lab, red, red)) {
@@ -873,54 +616,12 @@
.border-\(--text\) {
border-color: var(--text);
}
- .border-\[--text\] {
- border-color: --text;
- }
.border-\[color\:var\(--alt\)\] {
border-color: var(--alt);
}
.border-\[var\(--alt\)\] {
border-color: var(--alt);
}
- .border-\[var\(--primary\)\]\/40 {
- border-color: var(--primary);
- @supports (color: color-mix(in lab, red, red)) {
- border-color: color-mix(in oklab, var(--primary) 40%, transparent);
- }
- }
- .border-emerald-800 {
- border-color: var(--color-emerald-800);
- }
- .border-emerald-800\/30 {
- border-color: color-mix(in srgb, oklch(43.2% 0.095 166.913) 30%, transparent);
- @supports (color: color-mix(in lab, red, red)) {
- border-color: color-mix(in oklab, var(--color-emerald-800) 30%, transparent);
- }
- }
- .border-red-800 {
- border-color: var(--color-red-800);
- }
- .border-red-800\/30 {
- border-color: color-mix(in srgb, oklch(44.4% 0.177 26.899) 30%, transparent);
- @supports (color: color-mix(in lab, red, red)) {
- border-color: color-mix(in oklab, var(--color-red-800) 30%, transparent);
- }
- }
- .border-white {
- border-color: var(--color-white);
- }
- .border-white\/5 {
- border-color: color-mix(in srgb, #fff 5%, transparent);
- @supports (color: color-mix(in lab, red, red)) {
- border-color: color-mix(in oklab, var(--color-white) 5%, transparent);
- }
- }
- .border-white\/10 {
- border-color: color-mix(in srgb, #fff 10%, transparent);
- @supports (color: color-mix(in lab, red, red)) {
- border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
- }
- }
.bg-\(--alt\)\/25 {
background-color: var(--alt);
@supports (color: color-mix(in lab, red, red)) {
@@ -930,24 +631,6 @@
.bg-\(--background\) {
background-color: var(--background);
}
- .bg-\(--extra\)\/0 {
- background-color: var(--extra);
- @supports (color: color-mix(in lab, red, red)) {
- background-color: color-mix(in oklab, var(--extra) 0%, transparent);
- }
- }
- .bg-\(--extra\)\/25 {
- background-color: var(--extra);
- @supports (color: color-mix(in lab, red, red)) {
- background-color: color-mix(in oklab, var(--extra) 25%, transparent);
- }
- }
- .bg-\(--extra\)\/50 {
- background-color: var(--extra);
- @supports (color: color-mix(in lab, red, red)) {
- background-color: color-mix(in oklab, var(--extra) 50%, transparent);
- }
- }
.bg-\(--extra\)\/70 {
background-color: var(--extra);
@supports (color: color-mix(in lab, red, red)) {
@@ -957,27 +640,12 @@
.bg-\(--secondary\) {
background-color: var(--secondary);
}
- .bg-\(--text\) {
- background-color: var(--text);
- }
- .bg-\(--var\) {
- background-color: var(--var);
- }
- .bg-\[color\:var\(--alt\)\] {
- background-color: var(--alt);
- }
- .bg-\[var\(--\)\] {
- background-color: var(--);
- }
.bg-\[var\(--background\)\] {
background-color: var(--background);
}
.bg-\[var\(--text\)\] {
background-color: var(--text);
}
- .bg-black {
- background-color: var(--color-black);
- }
.bg-black\/20 {
background-color: color-mix(in srgb, #000 20%, transparent);
@supports (color: color-mix(in lab, red, red)) {
@@ -990,51 +658,6 @@
background-color: color-mix(in oklab, var(--color-black) 30%, transparent);
}
}
- .bg-emerald-400 {
- background-color: var(--color-emerald-400);
- }
- .bg-emerald-950 {
- background-color: var(--color-emerald-950);
- }
- .bg-emerald-950\/40 {
- background-color: color-mix(in srgb, oklch(26.2% 0.051 172.552) 40%, transparent);
- @supports (color: color-mix(in lab, red, red)) {
- background-color: color-mix(in oklab, var(--color-emerald-950) 40%, transparent);
- }
- }
- .bg-red-950 {
- background-color: var(--color-red-950);
- }
- .bg-red-950\/40 {
- background-color: color-mix(in srgb, oklch(25.8% 0.092 26.042) 40%, transparent);
- @supports (color: color-mix(in lab, red, red)) {
- background-color: color-mix(in oklab, var(--color-red-950) 40%, transparent);
- }
- }
- .bg-transparent {
- background-color: transparent;
- }
- .bg-white {
- background-color: var(--color-white);
- }
- .bg-white\/5 {
- background-color: color-mix(in srgb, #fff 5%, transparent);
- @supports (color: color-mix(in lab, red, red)) {
- background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
- }
- }
- .bg-white\/\[0\.01\] {
- background-color: color-mix(in srgb, #fff 1%, transparent);
- @supports (color: color-mix(in lab, red, red)) {
- background-color: color-mix(in oklab, var(--color-white) 1%, transparent);
- }
- }
- .bg-white\/\[0\.02\] {
- background-color: color-mix(in srgb, #fff 2%, transparent);
- @supports (color: color-mix(in lab, red, red)) {
- background-color: color-mix(in oklab, var(--color-white) 2%, transparent);
- }
- }
.bg-white\/\[0\.03\] {
background-color: color-mix(in srgb, #fff 3%, transparent);
@supports (color: color-mix(in lab, red, red)) {
@@ -1044,39 +667,9 @@
.bg-\[linear-gradient\(to_bottom\,\#181825\,var\(--background\)\)\] {
background-image: linear-gradient(to bottom,#181825,var(--background));
}
- .bg-\[linear-gradient\(to_bottom\,\,var\(--background\)\)\] {
- background-image: linear-gradient(to bottom,,var(--background));
- }
- .bg-\[linear-gradient\(to_bottom\,var\(\)\,var\(--background\)\)\] {
- background-image: linear-gradient(to bottom,var(),var(--background));
- }
- .bg-\[linear-gradient\(to_bottom\,var\(--backgrou\)\,var\(--background\)\)\] {
- background-image: linear-gradient(to bottom,var(--backgrou),var(--background));
- }
- .bg-\[linear-gradient\(to_bottom\,var\(--background\)\,var\(--background\)\)\] {
- background-image: linear-gradient(to bottom,var(--background),var(--background));
- }
.bg-\[linear-gradient\(to_bottom\,var\(--background\)\,var\(--cmp-bg\,transparent\)\)\] {
background-image: linear-gradient(to bottom,var(--background),var(--cmp-bg,transparent));
}
- .bg-\[linear-gradient\(to_bottom\,var\(--cmp-bg\,\)\,var\(--background\)\)\] {
- background-image: linear-gradient(to bottom,var(--cmp-bg,),var(--background));
- }
- .bg-\[linear-gradient\(to_bottom\,var\(--cmp-bg\,black\)\,var\(--background\)\)\] {
- background-image: linear-gradient(to bottom,var(--cmp-bg,black),var(--background));
- }
- .bg-\[linear-gradient\(to_bottom\,var\(--cmp-bg\,transparent\)\,var\(--background\)\)\] {
- background-image: linear-gradient(to bottom,var(--cmp-bg,transparent),var(--background));
- }
- .bg-\[linear-gradient\(to_bottom\,var\(--cmp-bg\,white\)\,var\(--background\)\)\] {
- background-image: linear-gradient(to bottom,var(--cmp-bg,white),var(--background));
- }
- .bg-\[linear-gradient\(to_bottom\,var\(--text\)\,var\(--background\)\)\] {
- background-image: linear-gradient(to bottom,var(--text),var(--background));
- }
- .bg-\[linear-gradient\(to_bottom\,var\(white\)\,var\(--background\)\)\] {
- background-image: linear-gradient(to bottom,var(white),var(--background));
- }
.fill-\[\#7ed4fb\]\/50 {
fill: color-mix(in oklab, #7ed4fb 50%, transparent);
}
@@ -1092,21 +685,9 @@
.p-0 {
padding: 0px;
}
- .p-3 {
- padding: calc(var(--spacing) * 3);
- }
- .p-3\.5 {
- padding: calc(var(--spacing) * 3.5);
- }
.p-4 {
padding: calc(var(--spacing) * 4);
}
- .p-5 {
- padding: calc(var(--spacing) * 5);
- }
- .p-6 {
- padding: calc(var(--spacing) * 6);
- }
.p-8 {
padding: calc(var(--spacing) * 8);
}
@@ -1128,54 +709,27 @@
.p-\[3vw\] {
padding: 3vw;
}
- .px-1 {
- padding-inline: var(--spacing);
- }
- .px-1\.5 {
- padding-inline: calc(var(--spacing) * 1.5);
- }
- .px-2 {
- padding-inline: calc(var(--spacing) * 2);
- }
- .px-3 {
- padding-inline: calc(var(--spacing) * 3);
- }
.px-3\.5 {
padding-inline: calc(var(--spacing) * 3.5);
}
.px-\[0\.1vw\] {
padding-inline: 0.1vw;
}
- .px-\[0\.2rem\] {
- padding-inline: 0.2rem;
- }
.px-\[0\.4rem\] {
padding-inline: 0.4rem;
}
.px-\[0\.5em\] {
padding-inline: 0.5em;
}
- .px-\[0\.5rem\] {
- padding-inline: 0.5rem;
- }
.px-\[0\.6rem\] {
padding-inline: 0.6rem;
}
- .px-\[0\.8rem\] {
- padding-inline: 0.8rem;
- }
.px-\[0\.625rem\] {
padding-inline: 0.625rem;
}
.py-\(--ypad\) {
padding-block: var(--ypad);
}
- .py-0 {
- padding-block: 0px;
- }
- .py-0\.5 {
- padding-block: calc(var(--spacing) * 0.5);
- }
.py-2 {
padding-block: calc(var(--spacing) * 2);
}
@@ -1185,30 +739,15 @@
.py-\[0\.1rem\] {
padding-block: 0.1rem;
}
- .py-\[0\.3rem\] {
- padding-block: 0.3rem;
- }
- .py-\[0\.25rem\] {
- padding-block: 0.25rem;
- }
.py-\[0\.625vw\] {
padding-block: 0.625vw;
}
- .py-\[var\(--border-py\,0\.875rem\)\] {
- padding-block: var(--border-py,0.875rem);
- }
.pt-3 {
padding-top: calc(var(--spacing) * 3);
}
- .pt-4 {
- padding-top: calc(var(--spacing) * 4);
- }
.pt-\[1\.0625em\] {
padding-top: 1.0625em;
}
- .pt-\[1rem\] {
- padding-top: 1rem;
- }
.pt-\[1vw\] {
padding-top: 1vw;
}
@@ -1221,15 +760,6 @@
.pr-\[1\.25vw\] {
padding-right: 1.25vw;
}
- .pb-2 {
- padding-bottom: calc(var(--spacing) * 2);
- }
- .pb-3 {
- padding-bottom: calc(var(--spacing) * 3);
- }
- .pb-4 {
- padding-bottom: calc(var(--spacing) * 4);
- }
.text-left {
text-align: left;
}
@@ -1242,45 +772,18 @@
.font-mono {
font-family: var(--font-mono);
}
- .text-2xl {
- font-size: var(--text-2xl);
- line-height: var(--tw-leading, var(--text-2xl--line-height));
- }
- .text-sm {
- font-size: var(--text-sm);
- line-height: var(--tw-leading, var(--text-sm--line-height));
- }
- .text-xs {
- font-size: var(--text-xs);
- line-height: var(--tw-leading, var(--text-xs--line-height));
- }
- .text-\[0\%\] {
- font-size: 0%;
- }
- .text-\[0\.5rem\] {
- font-size: 0.5rem;
- }
.text-\[0\.6rem\] {
font-size: 0.6rem;
}
- .text-\[0\.7rem\] {
- font-size: 0.7rem;
- }
.text-\[0\.8rem\] {
font-size: 0.8rem;
}
- .text-\[0\.75rem\] {
- font-size: 0.75rem;
- }
.text-\[0\.96vw\] {
font-size: 0.96vw;
}
.text-\[0\.675rem\] {
font-size: 0.675rem;
}
- .text-\[1\.6rem\] {
- font-size: 1.6rem;
- }
.text-\[1\.125rem\] {
font-size: 1.125rem;
}
@@ -1299,30 +802,12 @@
.text-\[3vw\] {
font-size: 3vw;
}
- .text-\[5\%\] {
- font-size: 5%;
- }
.text-\[5vw\] {
font-size: 5vw;
}
- .text-\[7\%\] {
- font-size: 7%;
- }
- .text-\[10px\] {
- font-size: 10px;
- }
- .text-\[11px\] {
- font-size: 11px;
- }
- .text-\[50\%\] {
- font-size: 50%;
- }
.text-\[60\%\] {
font-size: 60%;
}
- .text-\[70\%\] {
- font-size: 70%;
- }
.text-\[75\%\] {
font-size: 75%;
}
@@ -1338,18 +823,12 @@
.text-\[95\%\] {
font-size: 95%;
}
- .text-\[100\%\] {
- font-size: 100%;
- }
.text-\[110\%\] {
font-size: 110%;
}
.text-\[130\%\] {
font-size: 130%;
}
- .text-\[150\%\] {
- font-size: 150%;
- }
.text-\[170\%\] {
font-size: 170%;
}
@@ -1357,30 +836,10 @@
--tw-leading: normal;
line-height: normal;
}
- .leading-none {
- --tw-leading: 1;
- line-height: 1;
- }
.leading-relaxed {
--tw-leading: var(--leading-relaxed);
line-height: var(--leading-relaxed);
}
- .font-\[50\%\] {
- --tw-font-weight: 50%;
- font-weight: 50%;
- }
- .font-\[80\%\] {
- --tw-font-weight: 80%;
- font-weight: 80%;
- }
- .font-\[85\%\] {
- --tw-font-weight: 85%;
- font-weight: 85%;
- }
- .font-\[150\%\] {
- --tw-font-weight: 150%;
- font-weight: 150%;
- }
.font-bold {
--tw-font-weight: var(--font-weight-bold);
font-weight: var(--font-weight-bold);
@@ -1389,10 +848,6 @@
--tw-font-weight: var(--font-weight-normal);
font-weight: var(--font-weight-normal);
}
- .tracking-wider {
- --tw-tracking: var(--tracking-wider);
- letter-spacing: var(--tracking-wider);
- }
.wrap-anywhere {
overflow-wrap: anywhere;
}
@@ -1408,111 +863,117 @@
.text-\(--background\) {
color: var(--background);
}
- .text-\(--bg\) {
- color: var(--bg);
- }
- .text-\(--extra\) {
- color: var(--extra);
- }
.text-\(--primary\) {
color: var(--primary);
}
.text-\(--secondary\) {
color: var(--secondary);
}
- .text-\(--text\) {
- color: var(--text);
+ .text-\[\#00ADD7\] {
+ color: #00ADD7;
}
.text-\[\#00f1ff\] {
color: #00f1ff;
}
+ .text-\[\#5C6CC1\] {
+ color: #5C6CC1;
+ }
+ .text-\[\#8eb0c8\] {
+ color: #8eb0c8;
+ }
+ .text-\[\#9A38F4\] {
+ color: #9A38F4;
+ }
+ .text-\[\#9e55e1\] {
+ color: #9e55e1;
+ }
.text-\[\#46d46c\] {
color: #46d46c;
}
.text-\[\#54D7A9\] {
color: #54D7A9;
}
+ .text-\[\#739ebb\] {
+ color: #739ebb;
+ }
+ .text-\[\#897ccb\] {
+ color: #897ccb;
+ }
+ .text-\[\#5079DB\] {
+ color: #5079DB;
+ }
+ .text-\[\#5487ac\] {
+ color: #5487ac;
+ }
.text-\[\#5874FF\] {
color: #5874FF;
}
+ .text-\[\#5947B4\] {
+ color: #5947B4;
+ }
+ .text-\[\#7847D1\] {
+ color: #7847D1;
+ }
+ .text-\[\#487494\] {
+ color: #487494;
+ }
+ .text-\[\#BDC3C7\] {
+ color: #BDC3C7;
+ }
+ .text-\[\#C7727F\] {
+ color: #C7727F;
+ }
.text-\[\#D8C44B\] {
color: #D8C44B;
}
+ .text-\[\#D27D9B\] {
+ color: #D27D9B;
+ }
+ .text-\[\#DD6718\] {
+ color: #DD6718;
+ }
+ .text-\[\#ED532D\] {
+ color: #ED532D;
+ }
.text-\[\#F5A670\] {
color: #F5A670;
}
+ .text-\[\#F9B010\] {
+ color: #F9B010;
+ }
.text-\[\#F16265\] {
color: #F16265;
}
- .text-\[\#FF0000\] {
- color: #FF0000;
+ .text-\[\#FF8019\] {
+ color: #FF8019;
}
.text-\[\#FFFFFF\] {
color: #FFFFFF;
}
- .text-\[\#\] {
- color: #;
+ .text-\[\#a34eeb\] {
+ color: #a34eeb;
+ }
+ .text-\[\#ad72c7\] {
+ color: #ad72c7;
}
- .text-\[\#ffffff\] {
- color: #ffffff;
+ .text-\[\#b56df7\] {
+ color: #b56df7;
}
.text-\[\%v\] {
color: %v;
}
- .text-\[--\] {
- color: --;
- }
- .text-\[--accent\] {
- color: --accent;
- }
- .text-\[--extra\] {
- color: --extra;
- }
- .text-\[--secondary\] {
- color: --secondary;
- }
- .text-\[0\.rem\] {
- color: 0.rem;
- }
.text-\[color\:var\(--alt\)\] {
color: var(--alt);
}
.text-\[var\(--accent\)\] {
color: var(--accent);
}
- .text-\[var\(--primary\)\] {
- color: var(--primary);
- }
.text-\[var\(--secondary\)\] {
color: var(--secondary);
}
- .text-emerald-400 {
- color: var(--color-emerald-400);
- }
- .text-red-400 {
- color: var(--color-red-400);
- }
- .text-zinc-200 {
- color: var(--color-zinc-200);
- }
- .text-zinc-300 {
- color: var(--color-zinc-300);
- }
- .text-zinc-400 {
- color: var(--color-zinc-400);
- }
- .text-zinc-500 {
- color: var(--color-zinc-500);
- }
- .uppercase {
- text-transform: uppercase;
- }
.no-underline {
text-decoration-line: none;
}
- .underline {
- text-decoration-line: underline;
- }
.opacity-0 {
opacity: 0%;
}
@@ -1523,39 +984,11 @@
}
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
- .shadow-\[0_0_1\.5rem_color-mix\(in_srgb\,var\(--primary\)_25\%\,transparent\)\] {
- --tw-shadow: 0 0 1.5rem var(--tw-shadow-color, var(--primary));
- @supports (color: color-mix(in lab, red, red)) {
- --tw-shadow: 0 0 1.5rem var(--tw-shadow-color, color-mix(in srgb,var(--primary) 25%,transparent));
- }
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
- }
- .shadow-\[0_0_15px_rgba\(0\,0\,0\,0\.3\)\] {
- --tw-shadow: 0 0 15px var(--tw-shadow-color, rgba(0,0,0,0.3));
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
- }
- .outline {
- outline-style: var(--tw-outline-style);
- outline-width: 1px;
- }
- .filter {
- filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
- }
- .transition-all {
- transition-property: all;
- transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
- transition-duration: var(--tw-duration, var(--default-transition-duration));
- }
.transition-colors {
transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
transition-duration: var(--tw-duration, var(--default-transition-duration));
}
- .transition-transform {
- transition-property: transform, translate, scale, rotate;
- transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
- transition-duration: var(--tw-duration, var(--default-transition-duration));
- }
.duration-150 {
--tw-duration: 150ms;
transition-duration: 150ms;
@@ -1564,15 +997,6 @@
-webkit-user-select: text;
user-select: text;
}
- .\[--border-py\:0\.0rem\] {
- --border-py: 0.0rem;
- }
- .\[--border-py\:0\.2rem\] {
- --border-py: 0.2rem;
- }
- .\[--border-py\:0\.3rem\] {
- --border-py: 0.3rem;
- }
.\[--border-py\:0\.5rem\] {
--border-py: 0.5rem;
}
@@ -1585,9 +1009,6 @@
.\[--border-py\:0\.875rem\] {
--border-py: 0.875rem;
}
- .\[--border-py\:0\.rem\] {
- --border-py: 0.rem;
- }
.\[--border-py\:1\.25rem\] {
--border-py: 1.25rem;
}
@@ -1595,9 +1016,6 @@
--ypad: var(--border-py,0.875rem);
}
@media (hover: hover) {
- .group-hover\:text-\[var\(--accent\)\]:is(:where(.group):hover *) {
- color: var(--accent);
- }
.group-hover\:text-\[var\(--alt\)\]:is(:where(.group):hover *) {
color: var(--alt);
}
@@ -1621,18 +1039,6 @@
}
}
@media (hover: hover) {
- .hover\:translate-x-1:hover {
- --tw-translate-x: var(--spacing);
- translate: var(--tw-translate-x) var(--tw-translate-y);
- }
- .hover\:border-white\/20:hover {
- border-color: color-mix(in srgb, #fff 20%, transparent);
- }
- @supports (color: color-mix(in lab, red, red)) {
- .hover\:border-white\/20:hover {
- border-color: color-mix(in oklab, var(--color-white) 20%, transparent);
- }
- }
.hover\:bg-\(--alt\)\/25:hover {
background-color: var(--alt);
}
@@ -1649,54 +1055,6 @@
background-color: color-mix(in oklab, var(--secondary) 15%, transparent);
}
}
- .hover\:bg-black\/0:hover {
- background-color: color-mix(in srgb, #000 0%, transparent);
- }
- @supports (color: color-mix(in lab, red, red)) {
- .hover\:bg-black\/0:hover {
- background-color: color-mix(in oklab, var(--color-black) 0%, transparent);
- }
- }
- .hover\:bg-black\/20:hover {
- background-color: color-mix(in srgb, #000 20%, transparent);
- }
- @supports (color: color-mix(in lab, red, red)) {
- .hover\:bg-black\/20:hover {
- background-color: color-mix(in oklab, var(--color-black) 20%, transparent);
- }
- }
- .hover\:bg-black\/50:hover {
- background-color: color-mix(in srgb, #000 50%, transparent);
- }
- @supports (color: color-mix(in lab, red, red)) {
- .hover\:bg-black\/50:hover {
- background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
- }
- }
- .hover\:bg-white\/0:hover {
- background-color: color-mix(in srgb, #fff 0%, transparent);
- }
- @supports (color: color-mix(in lab, red, red)) {
- .hover\:bg-white\/0:hover {
- background-color: color-mix(in oklab, var(--color-white) 0%, transparent);
- }
- }
- .hover\:bg-white\/1:hover {
- background-color: color-mix(in srgb, #fff 1%, transparent);
- }
- @supports (color: color-mix(in lab, red, red)) {
- .hover\:bg-white\/1:hover {
- background-color: color-mix(in oklab, var(--color-white) 1%, transparent);
- }
- }
- .hover\:bg-white\/2:hover {
- background-color: color-mix(in srgb, #fff 2%, transparent);
- }
- @supports (color: color-mix(in lab, red, red)) {
- .hover\:bg-white\/2:hover {
- background-color: color-mix(in oklab, var(--color-white) 2%, transparent);
- }
- }
.hover\:bg-white\/5:hover {
background-color: color-mix(in srgb, #fff 5%, transparent);
}
@@ -1705,78 +1063,24 @@
background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
}
}
- .hover\:bg-white\/10:hover {
- background-color: color-mix(in srgb, #fff 10%, transparent);
- }
- @supports (color: color-mix(in lab, red, red)) {
- .hover\:bg-white\/10:hover {
- background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
- }
- }
- .hover\:bg-white\/20:hover {
- background-color: color-mix(in srgb, #fff 20%, transparent);
- }
- @supports (color: color-mix(in lab, red, red)) {
- .hover\:bg-white\/20:hover {
- background-color: color-mix(in oklab, var(--color-white) 20%, transparent);
- }
- }
- .hover\:bg-white\/50:hover {
- background-color: color-mix(in srgb, #fff 50%, transparent);
- }
- @supports (color: color-mix(in lab, red, red)) {
- .hover\:bg-white\/50:hover {
- background-color: color-mix(in oklab, var(--color-white) 50%, transparent);
- }
- }
- .hover\:bg-white\/\[0\.04\]:hover {
- background-color: color-mix(in srgb, #fff 4%, transparent);
- }
- @supports (color: color-mix(in lab, red, red)) {
- .hover\:bg-white\/\[0\.04\]:hover {
- background-color: color-mix(in oklab, var(--color-white) 4%, transparent);
- }
- }
- .hover\:bg-white\/\[0\.05\]:hover {
- background-color: color-mix(in srgb, #fff 5%, transparent);
- }
- @supports (color: color-mix(in lab, red, red)) {
- .hover\:bg-white\/\[0\.05\]:hover {
- background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
- }
- }
.hover\:text-\(--accent\):hover {
color: var(--accent);
}
.hover\:text-\[var\(--alt\)\]:hover {
color: var(--alt);
}
- .hover\:text-\[var\(--primary\)\]:hover {
- color: var(--primary);
- }
.hover\:text-\[var\(--secondary\)\]:hover {
color: var(--secondary);
}
.hover\:text-gray-700:hover {
color: var(--color-gray-700);
}
- .hover\:text-white:hover {
- color: var(--color-white);
- }
.hover\:no-underline:hover {
text-decoration-line: none;
}
.hover\:underline:hover {
text-decoration-line: underline;
}
- .hover\:brightness-100:hover {
- --tw-brightness: brightness(100%);
- filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
- }
- .hover\:brightness-200:hover {
- --tw-brightness: brightness(200%);
- filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
- }
}
.data-copied\:animate-\[bump_0\.25s\][data-copied] {
animation: bump 0.25s;
@@ -1944,29 +1248,9 @@
}
}
@media (width >= 48rem) {
- .md\:col-span-2 {
- grid-column: span 2 / span 2;
- }
- .md\:col-span-3 {
- grid-column: span 3 / span 3;
- }
.md\:grid-cols-1 {
grid-template-columns: repeat(1, minmax(0, 1fr));
}
- .md\:grid-cols-6 {
- grid-template-columns: repeat(6, minmax(0, 1fr));
- }
- .md\:flex-row {
- flex-direction: row;
- }
- .md\:items-center {
- align-items: center;
- }
- }
- @media (width >= 64rem) {
- .lg\:flex {
- display: flex;
- }
}
.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar {
display: none;
@@ -2028,11 +1312,6 @@
inherits: false;
initial-value: 0;
}
-@property --tw-divide-y-reverse {
- syntax: "*";
- inherits: false;
- initial-value: 0;
-}
@property --tw-border-style {
syntax: "*";
inherits: false;
@@ -2046,10 +1325,6 @@
syntax: "*";
inherits: false;
}
-@property --tw-tracking {
- syntax: "*";
- inherits: false;
-}
@property --tw-shadow {
syntax: "*";
inherits: false;
@@ -2115,64 +1390,6 @@
inherits: false;
initial-value: 0 0 #0000;
}
-@property --tw-outline-style {
- syntax: "*";
- inherits: false;
- initial-value: solid;
-}
-@property --tw-blur {
- syntax: "*";
- inherits: false;
-}
-@property --tw-brightness {
- syntax: "*";
- inherits: false;
-}
-@property --tw-contrast {
- syntax: "*";
- inherits: false;
-}
-@property --tw-grayscale {
- syntax: "*";
- inherits: false;
-}
-@property --tw-hue-rotate {
- syntax: "*";
- inherits: false;
-}
-@property --tw-invert {
- syntax: "*";
- inherits: false;
-}
-@property --tw-opacity {
- syntax: "*";
- inherits: false;
-}
-@property --tw-saturate {
- syntax: "*";
- inherits: false;
-}
-@property --tw-sepia {
- syntax: "*";
- inherits: false;
-}
-@property --tw-drop-shadow {
- syntax: "*";
- inherits: false;
-}
-@property --tw-drop-shadow-color {
- syntax: "*";
- inherits: false;
-}
-@property --tw-drop-shadow-alpha {
- syntax: "<percentage>";
- inherits: false;
- initial-value: 100%;
-}
-@property --tw-drop-shadow-size {
- syntax: "*";
- inherits: false;
-}
@property --tw-duration {
syntax: "*";
inherits: false;
@@ -2194,11 +1411,9 @@
--tw-skew-x: initial;
--tw-skew-y: initial;
--tw-space-x-reverse: 0;
- --tw-divide-y-reverse: 0;
--tw-border-style: solid;
--tw-leading: initial;
--tw-font-weight: initial;
- --tw-tracking: initial;
--tw-shadow: 0 0 #0000;
--tw-shadow-color: initial;
--tw-shadow-alpha: 100%;
@@ -2213,20 +1428,6 @@
--tw-ring-offset-width: 0px;
--tw-ring-offset-color: #fff;
--tw-ring-offset-shadow: 0 0 #0000;
- --tw-outline-style: solid;
- --tw-blur: initial;
- --tw-brightness: initial;
- --tw-contrast: initial;
- --tw-grayscale: initial;
- --tw-hue-rotate: initial;
- --tw-invert: initial;
- --tw-opacity: initial;
- --tw-saturate: initial;
- --tw-sepia: initial;
- --tw-drop-shadow: initial;
- --tw-drop-shadow-color: initial;
- --tw-drop-shadow-alpha: 100%;
- --tw-drop-shadow-size: initial;
--tw-duration: initial;
}
}
diff --git a/website.go b/website.go
index 03b598a..d64eab5 100644
--- a/website.go
+++ b/website.go
@@ -264,53 +264,117 @@ func latestBlog(blogs []Blog) *Blog {
return &blogs[0]
}
-// type Project struct {
-// Name string
-// Type string
-// Desc []string
-// Cmd string
-// Link string
-// }
-//
-// var projects = []Project{
-// {
-// Name: "CPU vs AI",
-// Type: "Game (made with Zig)",
-// Desc: []string{
-// "A tower defense game where an AI chip on your motherboard",
-// "generates bugs! Place CPUs to destroy the bugs!",
-// "Don't let them corrupt your RAM!",
-// },
-// },
-// {
-// Name: "Eko",
-// Type: "Social Media Platform",
-// Desc: []string{
-// "A terminal-native alternative",
-// "to Discord for Terminal",
-// "nerds!",
-// },
-// },
-// {
-// Name: "Trident",
-// Type: "IntelliJ Plugin",
-// Desc: []string{
-// "A blazingly fast way to",
-// "Navigate to your mosta used",
-// "files. Minimize keystrokes",
-// "and maximize productivity!",
-// },
-// },
-// {
-// Name: "Dotfiles",
-// Type: "Configuration",
-// Desc: []string{
-// "My Linux configuration,",
-// "includes Neovim, tmux and",
-// "other programs.",
-// },
-// },
-// }
+var projects = []Project{
+ {
+ Slug: "krypton",
+ Title: "Krypton",
+ Category: "Programming Language Compiler",
+ Desc: "A modern Minecraft creator event. As a developer, I helped with minor improvements to the cosmetics system. ",
+ Icon: IconCpu("text-[#F5A670] self-center"),
+ // Icon: IconKrypton(),
+ Tags: []ProjectTag{
+ // {"Programming Language", Color("--extra")},
+ // {"Compiler", Color("--extra")},
+ {"C", Color("text-[#5C6CC1]")},
+ {"LLVM", Color("text-[#FFFFFF]")},
+ // {"Java", Color("#F5A670")},
+ },
+ Links: []ProjectLink{
+ {IconGit("text-[#F5A670]"), "Git", "https://"},
+ {IconGithub("text-(--secondary)"), "GitHub", "https://github.com/kyren223/"},
+ },
+ },
+
+ {
+ Slug: "cpu-vs-ai",
+ Title: "CPU vs AI",
+ Category: "Video Game",
+ Desc: "A tower defense game where an AI chip on your motherboard " +
+ "generates bugs! Place CPUs to destroy the bugs! " +
+ "Don't let them corrupt your RAM!",
+ Icon: IconCpu("text-[#F16265]"),
+ Tags: []ProjectTag{
+ {"Zig", Color("text-[#D8C44B]")},
+ },
+ Links: []ProjectLink{
+ {IconGit("text-[#F5A670]"), "Git", "https://git.kyren.codes/kyren/cpu-vs-ai.git"},
+ {IconGithub("text-(--secondary)"), "GitHub", "https://github.com/the-memory-managers/cpu-vs-ai"},
+ {IconVideo("text-[#F16265]"), "Showcase", "https://www.youtube.com/watch?v=_clLDGNlef0"},
+ },
+ },
+
+ {
+ Slug: "eko",
+ Title: "Eko",
+ Category: "Social Media Platform",
+ Desc: "A terminal-native alternative to Discord for Terminal nerds!",
+ Icon: IconEko("text-[#D27D9B]"),
+ Tags: []ProjectTag{
+ {"Golang", Color("text-[#00ADD7]")},
+ {"Sqlite", Color("text-[#BDC3C7]")},
+ {"Bubbletea", Color("text-[#C7727F]")},
+ {"Prometheus", Color("text-[#ED532D]")},
+ {"Grafana", Color("text-[#F9B010]")},
+ },
+ Links: []ProjectLink{
+ {IconGit("text-[#F5A670]"), "Git", "https://git.kyren.codes/kyren/eko.git"},
+ {IconGithub("text-(--secondary)"), "GitHub", "https://github.com/kyren223/eko"},
+ },
+ },
+
+ {
+ Slug: "trident",
+ Title: "Trident",
+ Category: "IntelliJ Plugin",
+ Desc: "A blazingly fast way to navigate to your most used files. Minimize keystrokes and maximize productivity!",
+ Icon: IconTrident("text-[#739ebb]"),
+ Tags: []ProjectTag{
+ // {"Kotlin", Color("text-[#897ccb]")},
+ {"Kotlin", Color("text-[#a34eeb]")},
+ {"JetBrains Plugin SDK", Color("text-[#FF8019]")},
+ },
+ Links: []ProjectLink{
+ {IconGit("text-[#F5A670]"), "Git", "https://git.kyren.codes/kyren/trident.git"},
+ {IconGithub("text-(--secondary)"), "GitHub", "https://github.com/kyren223/trident"},
+ {IconJetbrains("text-[#FF8019]"), "JetBrains Marketplace", "https://plugins.jetbrains.com/plugin/23818-trident"},
+ },
+ },
+
+ {
+ Slug: "dotfiles",
+ Title: "Dotfiles",
+ Category: "Configuration",
+ Desc: "My Linux configuration, includes Neovim, tmux and other programs.",
+ Icon: IconDotfiles("text-[#5874FF]"),
+ Tags: []ProjectTag{
+ {"Neovim", Color("text-[#46d46c]")},
+ {"Scripts", Color("text-[#D8C44B]")},
+ {"Git", Color("text-[#F5A670]")},
+ },
+ Links: []ProjectLink{
+ {IconGit("text-[#F5A670]"), "Git", "https://git.kyren.codes/kyren/dotfiles.git/"},
+ {IconGithub("text-(--secondary)"), "GitHub", "https://github.com/kyren223/dotfiles"},
+ },
+ },
+}
+
+var flagship FlagshipInfo = FlagshipInfo{
+ Version: "Sprout.0 2026-08-13",
+ Downloads: []Download{
+ {"linux-amd64", "https://foobar", "23 MB"},
+ // {"linux-arm64", "https://foobar", "52 MB"},
+ // {"macos-arm64", "https://fooshit", "47 MB"},
+ {"windows-amd64", "https://fooshit", "65.7 MB"},
+ },
+ // Stats: []Stat{{"lines of code", "18.7k"}},
+ Snippet: `
+io :: import "core/io";
+
+main :: proc() {
+ io.printf("Hello, %s", "world");
+}
+`,
+}
func styleHandler(cookie string, lookup func(string) (map[string]string, bool)) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
@@ -482,12 +546,11 @@ func main() {
HomePage(currentStyle(r), latestBlog(getBlogs())).Render(r.Context(), w)
})
- mux.HandleFunc("GET /skills", func(w http.ResponseWriter, r *http.Request) {
- SkillsPage(currentStyle(r)).Render(r.Context(), w)
+ mux.HandleFunc("GET /info", func(w http.ResponseWriter, r *http.Request) {
+ InfoPage(currentStyle(r)).Render(r.Context(), w)
})
mux.HandleFunc("GET /projects", func(w http.ResponseWriter, r *http.Request) {
- projects := []Project{p, p, p, p, p, p, p, p}
ProjectsPage(currentStyle(r), projects, 2).Render(r.Context(), w)
})
diff --git a/website.templ b/website.templ
index bec1453..53992f7 100644
--- a/website.templ
+++ b/website.templ
@@ -1,7 +1,5 @@
package main
-import "flag"
-
templ HeadComponent(title string, description string) {
<head>
<meta charset="UTF-8"/>
@@ -142,7 +140,7 @@ templ Nav(path string) {
<span>{ path }</span>
<span class="flex gap-[1ch]">
@NavLink("/", "home")
- for _, dir := range []string{"skills", "projects", "blogs"} {
+ for _, dir := range []string{"projects", "info", "blogs"} {
@NavLink("/"+dir, dir)
}
@NavLink("/shell", "shell")
@@ -250,8 +248,8 @@ func footerClass(connected bool) string {
return style
}
-templ SkillsPage(style Style) {
- @TerminalLayout(style, "/home/kyren/skills.md") {
+templ InfoPage(style Style) {
+ @TerminalLayout(style, "/home/kyren/info.md") {
@TerminalStack(false, "") {
@TerminalBorder("Info", "", "") {
<span>
@@ -264,15 +262,13 @@ templ SkillsPage(style Style) {
}
type Project struct {
- Slug string // e.g. "my-game"
- Title string // e.g. "MyGame"
- Category string // e.g. "Game written in Zig"
- Desc string // 1-2 line description/pitch
- Tags []ProjectTag // ["Zig", "OpenGL", "Linux"]
- Status string
- Icon templ.Component
- CgitURL string // e.g. "https://cgit.yourdomain.com/my-game"
- GithubURL string // Fallback mirror link
+ Slug string
+ Title string
+ Category string
+ Desc string
+ Icon templ.Component
+ Tags []ProjectTag
+ Links []ProjectLink
}
type ProjectTag struct {
@@ -281,8 +277,9 @@ type ProjectTag struct {
}
type ProjectLink struct {
- URL string
- Icon templ.Component
+ Icon templ.Component
+ Label string
+ URL string
}
type FlagshipInfo struct {
@@ -303,43 +300,6 @@ type Stat struct {
Value string
}
-var p Project = Project{
- Slug: "krypton",
- Title: "Krypton",
- Category: "Programming Language Compiler",
- Desc: "A modern Minecraft creator event. As a developer, I helped with minor improvements to the cosmetics system. ",
- Icon: IconCpu("text-[#F5A670] self-center"),
- // Icon: IconKrypton(),
- Status: "ON",
- Tags: []ProjectTag{
- // {"Programming Language", Color("--extra")},
- // {"Compiler", Color("--extra")},
- {"C", Color("text-[#5874FF]")},
- {"LLVM", Color("text-[#FFFFFF]")},
- // {"Java", Color("#F5A670")},
- },
- CgitURL: "https://whatever",
- GithubURL: "",
-}
-
-var flagship FlagshipInfo = FlagshipInfo{
- Version: "Sprout.0 2026-08-13",
- Downloads: []Download{
- {"linux-amd64", "https://foobar", "23 MB"},
- // {"linux-arm64", "https://foobar", "52 MB"},
- // {"macos-arm64", "https://fooshit", "47 MB"},
- {"windows-amd64", "https://fooshit", "65.7 MB"},
- },
- // Stats: []Stat{{"lines of code", "18.7k"}},
- Snippet: `
-io :: import "core/io";
-
-main :: proc() {
- io.printf("Hello, %s", "world");
-}
-`,
-}
-
var versionBeforeDownloads = false
const flagshipClasses = "[--border-py:1.25rem] border-(--accent)! bg-white/[0.03] shadow-[0_0_1.5rem_color-mix(in_srgb,var(--accent)_25%,transparent)]"
@@ -356,14 +316,10 @@ templ FlagshipProject(project Project, extra string) {
<code class={ "text-[75%] px-[0.4rem] inline-block rounded-[0.3rem] border-[0.01rem] bg-(--alt)/25" + " " + tag.Color }>{ tag.Name }</code>
}
<span class="ml-auto flex items-center self-center">
- @IconLink("https://git.example.com/foo", "git", "") {
- @IconGit("text-(--primary)")
- }
- @IconLink("https://github.com/foo", "github", "") {
- @IconGithub("text-(--secondary)")
- }
- @IconLink("https://example.com", "website", "") {
- @IconExternal("text-(--accent)")
+ for _, link := range project.Links {
+ @IconLink(link.URL, link.Label, "") {
+ @link.Icon
+ }
}
</span>
</div>
@@ -431,271 +387,6 @@ templ IconArchive(color string) {
}
}
-const flagshipClassesV4 = "[--border-py:1.25rem] border-(--accent)! bg-white/[0.03] shadow-[0_0_1.5rem_color-mix(in_srgb,var(--accent)_25%,transparent)]"
-
-templ FlagshipProjectV4(project Project, extra string) {
- @TerminalBorder("", "", flagshipClasses+" "+extra) {
- <div class="flex gap-[2rem] w-full">
- <div class="flex flex-col gap-[1rem] flex-1 min-w-0">
- <div class="flex flex-wrap items-baseline gap-x-[1ch] gap-y-[0.4rem]">
- @project.Icon
- <a href={ templ.SafeURL("/projects/" + project.Slug) } class="text-[170%] font-bold text-(--accent) hover:underline">{ project.Title }</a>
- <span class="text-[85%] text-(--primary)">{ project.Category }</span>
- for _, tag := range project.Tags {
- <code class={ "text-[75%] px-[0.4rem] inline-block rounded-[0.3rem] border-[0.01rem] bg-(--alt)/25" + " " + tag.Color }>{ tag.Name }</code>
- }
- <span class="ml-auto flex items-center self-center">
- @IconLink("https://git.example.com/foo", "git", "") {
- @IconGit("text-(--primary)")
- }
- @IconLink("https://github.com/foo", "github", "") {
- @IconGithub("text-(--secondary)")
- }
- @IconLink("https://example.com", "website", "") {
- @IconExternal("text-(--accent)")
- }
- </span>
- </div>
- <p class="leading-relaxed max-w-3xl">{ project.Desc }</p>
- if len(project.Downloads) > 0 || project.Version != "" {
- <div class="flex flex-wrap items-center gap-x-[1rem] gap-y-[0.5rem]">
- for _, d := range project.Downloads {
- @DownloadButton(d)
- }
- if project.Version != "" {
- <code class="text-[85%] text-(--alt)">{ project.Version }</code>
- }
- </div>
- }
- if len(project.Stats) > 0 {
- <div class="flex flex-wrap gap-x-[2rem] gap-y-[0.4rem] text-[85%]">
- for _, stat := range project.Stats {
- <span class="flex gap-[1ch]">
- <span class="font-bold text-(--primary)">{ stat.Value }</span>
- <span class="text-(--alt)">{ stat.Label }</span>
- </span>
- }
- </div>
- }
- </div>
- if project.Snippet != "" {
- <div class="shrink-0 self-start flex flex-col gap-[0.5rem] p-[1rem] rounded-[0.4rem] bg-black/30">
- <span class="text-[75%] text-(--alt)">example</span>
- @CopyPre(project.Snippet, "text-[80%] leading-[normal]") {
- { project.Snippet }
- }
- </div>
- }
- </div>
- }
-}
-
-templ DownloadButtonV4(d Download) {
- <a href={ templ.SafeURL(d.URL) } class="inline-flex items-center gap-[1ch] px-[0.8rem] py-[0.3rem] rounded-[0.4rem] border-[0.1rem] border-solid border-(--alt) text-(--primary) transition-colors hover:bg-(--alt)/25">
- @IconDownload("text-(--primary)")
- { d.Label }
- </a>
-}
-
-templ IconDownload(color string) {
- @Icon(color) {
- <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
- <polyline points="7 10 12 15 17 10"></polyline>
- <line x1="12" x2="12" y1="15" y2="3"></line>
- }
-}
-
-const flagshipClassesV3 = "[--border-py:1.25rem] border-(--primary)! bg-white/[0.03] shadow-[0_0_1.5rem_color-mix(in_srgb,var(--primary)_25%,transparent)]"
-
-templ FlagshipProjectV3(project Project, extra string) {
- @TerminalBorder("", "", flagshipClasses+" "+extra) {
- <div class="flex gap-[2rem] w-full">
- <div class="flex flex-col gap-[1rem] flex-1 min-w-0">
- <div class="flex flex-wrap items-baseline gap-x-[1ch] gap-y-[0.4rem]">
- @project.Icon
- <a href={ templ.SafeURL("/projects/" + project.Slug) } class="text-[170%] font-bold text-(--accent) hover:underline">{ project.Title }</a>
- <code class="px-[0.5rem] rounded-[0.3rem] border-[0.1rem] border-(--accent)/50 text-[85%] text-(--accent)">{ project.Version }</code>
- <span class="text-[85%] text-(--primary)">{ project.Category }</span>
- for _, tag := range project.Tags {
- <code class={ "text-[75%] px-[0.4rem] inline-block rounded-[0.3rem] border-[0.01rem] bg-(--alt)/25" + " " + tag.Color }>{ tag.Name }</code>
- }
- <span class="ml-auto flex items-center self-center">
- @IconLink("https://git.example.com/foo", "git", "") {
- @IconGit("text-(--primary)")
- }
- @IconLink("https://github.com/foo", "github", "") {
- @IconGithub("text-(--secondary)")
- }
- @IconLink("https://example.com", "website", "") {
- @IconExternal("text-(--accent)")
- }
- </span>
- </div>
- <p class="leading-relaxed max-w-3xl">{ project.Desc }</p>
- if project.Install != "" {
- @CopyPre(project.Install, "text-[85%] leading-[normal]") {
- { "$ " + project.Install }
- }
- }
- if project.Devlog != nil {
- <a href={ templ.SafeURL("/blogs/" + project.Devlog.Slug) } class="text-[85%] text-(--secondary) hover:underline">
- { "latest devlog: " + project.Devlog.Title }
- </a>
- }
- </div>
- if project.Snippet != "" {
- <div class="shrink-0 self-start flex flex-col gap-[0.5rem] p-[1rem] rounded-[0.4rem] bg-black/30">
- <span class="text-[75%] text-(--alt)">example</span>
- @CopyPre(project.Snippet, "text-[80%] leading-[normal]") {
- { project.Snippet }
- }
- </div>
- }
- </div>
- }
-}
-
-templ FlagshipProjectV2(project Project, extra string) {
- @TerminalBorder(project.Version, "", flagshipClasses+" "+extra) {
- <div class="flex gap-[2rem] w-full">
- <div class="flex flex-col gap-[1rem] flex-1 min-w-0">
- <div class="flex flex-wrap items-baseline gap-x-[1ch] gap-y-[0.4rem]">
- @project.Icon
- <a href={ templ.SafeURL("/projects/" + project.Slug) } class="text-[170%] font-bold text-(--primary) hover:underline">{ project.Title }</a>
- <span class="text-[85%] text-(--secondary)">{ project.Category }</span>
- for _, tag := range project.Tags {
- <code class={ "text-[75%] px-[0.4rem] inline-block rounded-[0.3rem] border-[0.01rem] bg-(--alt)/25" + " " + tag.Color }>{ tag.Name }</code>
- }
- <span class="ml-auto flex items-center self-center">
- @IconLink("https://git.example.com/foo", "git", "") {
- @IconGit("text-(--primary)")
- }
- @IconLink("https://github.com/foo", "github", "") {
- @IconGithub("text-(--secondary)")
- }
- @IconLink("https://example.com", "website", "") {
- @IconExternal("text-(--accent)")
- }
- </span>
- </div>
- <p class="leading-relaxed max-w-3xl">{ project.Desc }</p>
- <div class="flex flex-wrap items-center gap-[0.5ch] pt-[1rem] border-t border-white/10 text-[85%]">
- for i, stage := range project.Pipeline {
- if i > 0 {
- <span class="text-(--alt)">→</span>
- }
- <code class="px-[0.4rem] rounded-[0.3rem] bg-(--alt)/25 text-(--accent)">{ stage }</code>
- }
- </div>
- <div class="flex flex-wrap gap-x-[2.5rem] gap-y-[0.75rem]">
- for _, stat := range project.Stats {
- <div class="flex flex-col">
- <span class="text-[150%] font-bold text-(--primary)">{ stat.Value }</span>
- <span class="text-[75%] text-(--alt)">{ stat.Label }</span>
- </div>
- }
- </div>
- </div>
- if project.Snippet != "" {
- <div class="shrink-0 self-start flex flex-col gap-[0.5rem] p-[1rem] rounded-[0.4rem] bg-black/30">
- <span class="text-[75%] text-(--alt)">example</span>
- @CopyPre(project.Snippet, "text-[80%] leading-[normal]") {
- { project.Snippet }
- }
- </div>
- }
- </div>
- }
-}
-
-templ FlagshipProjectV1(project Project) {
- <div class="relative border border-[var(--primary)]/40 rounded bg-white/[0.03] p-6 mb-10 shadow-[0_0_15px_rgba(0,0,0,0.3)]">
- <!-- Header Bar -->
- <div class="flex items-center justify-between pb-3 mb-4 border-b border-white/10 font-mono text-xs">
- <div class="flex items-center gap-2">
- <span class="w-2 h-2 rounded-full bg-emerald-400 animate-pulse"></span>
- <span class="text-[var(--accent)] font-bold">FLAGSHIP BUILD</span>
- <span class="text-zinc-500">|</span>
- <span class="text-zinc-400">{ project.Status }</span>
- </div>
- <div class="flex gap-3 text-zinc-400">
- if project.CgitURL != "" {
- <a href={ templ.URL(project.CgitURL) } target="_blank" class="hover:text-[var(--primary)] transition-colors">[cgit]</a>
- }
- if project.GithubURL != "" {
- <a href={ templ.URL(project.GithubURL) } target="_blank" class="hover:text-[var(--primary)] transition-colors">[github]</a>
- }
- </div>
- </div>
- <!-- Title & Category Line -->
- <div class="flex items-baseline gap-3 mb-2">
- <h2 class="text-2xl font-bold text-[var(--primary)]">
- <a href={ templ.URL("/projects/" + project.Slug) } class="hover:underline">{ project.Title }</a>
- </h2>
- <span class="text-sm text-zinc-400 font-mono">{ project.Category }</span>
- </div>
- <!-- 1-2 Line Pitch -->
- <p class="text-zinc-300 text-sm leading-relaxed mb-6 max-w-3xl">{ project.Desc }</p>
- <!-- Tech Tags & Detail Link -->
- <div class="flex flex-wrap items-center justify-between gap-4 pt-4 border-t border-white/5 font-mono text-xs">
- <div class="flex flex-wrap gap-2">
- for _, tag := range project.Tags {
- <span class="px-2 py-0.5 rounded bg-white/5 border border-white/10 text-zinc-300">{ tag.Name }</span>
- }
- </div>
- <a href={ templ.URL("/projects/" + project.Slug) } class="text-[var(--primary)] hover:translate-x-1 transition-transform inline-flex items-center gap-1">
- View Project Details &rarr;
- </a>
- </div>
- </div>
-}
-
-templ PinnedGrid(projects []Project) {
- <div class="mb-12">
- <div class="text-xs font-mono text-zinc-500 uppercase tracking-wider mb-4">
- // Notable Projects</div>
- <div class="grid grid-cols-1 md:grid-cols-6 gap-4">
- for i, project := range projects {
- <!-- Top 2 items take col-span-3 (50%), Bottom 3 items take col-span-2 (33%) -->
- <div
- class={ "group border border-white/10 rounded bg-white/[0.02] hover:bg-white/[0.05] hover:border-white/20 transition-all p-5 flex flex-col justify-between",
- templ.KV("md:col-span-3", i < 2),
- templ.KV("md:col-span-2", i >= 2) }
- >
- <div>
- <!-- Title + Description/Type Line -->
- <div class="flex items-baseline justify-between gap-2 mb-2">
- <h3 class="font-bold text-[var(--primary)] group-hover:text-[var(--accent)] transition-colors">
- <a href={ templ.URL("/projects/" + project.Slug) } class="hover:underline">{ project.Title }</a>
- </h3>
- <span class="text-xs text-zinc-400 font-mono shrink-0">{ project.Category }</span>
- </div>
- <!-- Pitch -->
- <p class="text-xs text-zinc-300 mb-4 line-clamp-2 leading-relaxed">{ project.Desc }</p>
- </div>
- <!-- Footer: Tags & Outbound Links -->
- <div class="flex items-center justify-between pt-3 border-t border-white/5 text-[11px] font-mono">
- <div class="flex flex-wrap gap-1">
- for _, tag := range project.Tags {
- <span class="text-zinc-400 bg-white/5 px-1.5 py-0.5 rounded border border-white/5">{ tag.Name }</span>
- }
- </div>
- <div class="flex gap-2 text-zinc-400">
- if project.CgitURL != "" {
- <a href={ templ.URL(project.CgitURL) } target="_blank" class="hover:text-white">[cgit]</a>
- }
- if project.GithubURL != "" {
- <a href={ templ.URL(project.GithubURL) } target="_blank" class="hover:text-white">[gh]</a>
- }
- </div>
- </div>
- </div>
- }
- </div>
- </div>
- </div>
-}
-
templ IconLink(href string, label string, extra string) {
<a href={ templ.SafeURL(href) } target="_blank" rel="noopener noreferrer" aria-label={ label } title={ label } class={ "text-[90%] block p-[0.2rem] rounded-[0.4rem] transition-colors hover:bg-(--alt)/25" + " " + extra }>
{ children... }
@@ -748,14 +439,10 @@ templ ProjectItem(project Project, extra string) {
// <code class="text-[75%] px-[0.4rem] inline-block rounded-[0.3rem] bg-(--extra)/70 text-(--background)">{ tag }</code>
// }
<span class="ml-auto flex items-center self-center">
- @IconLink("https://git.example.com/foo", "git", "") {
- @IconGit("text-(--primary)")
- }
- @IconLink("https://github.com/foo", "github", "") {
- @IconGithub("text-(--secondary)")
- }
- @IconLink("https://example.com", "website", "") {
- @IconExternal("text-(--accent)")
+ for _, link := range project.Links {
+ @IconLink(link.URL, link.Label, "") {
+ @link.Icon
+ }
}
</span>
</div>
@@ -790,7 +477,7 @@ templ ProjectsPage(style Style, projects []Project, pinned int) {
}
templ NotFoundPage(style Style, path string) {
- @TerminalLayout(style, "404") {
+ @TerminalLayout(style, path) {
@TerminalStack(true, "") {
@TerminalBorder("Shell", "", "") {
<span>
@@ -920,18 +607,63 @@ templ IconUptime(color string) {
}
}
+templ IconEko(color string) {
+ @Icon(color) {
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-wifi preview-icon"><path d="M12 20h.01"></path><path d="M2 8.82a15 15 0 0 1 20 0"></path><path d="M5 12.859a10 10 0 0 1 14 0"></path><path d="M8.5 16.429a5 5 0 0 1 7 0"></path></svg>
+ }
+}
+
+templ IconTrident(color string) {
+ @Icon(color) {
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide preview-icon">
+ <path d="m16 2-2.3 2.3a3 3 0 0 0 0 4.2l1.8 1.8a3 3 0 0 0 4.2 0L22 8"></path>
+ <path d="M19 5 2.1 21.9"></path>
+ </svg>
+ }
+}
+
+templ IconDotfiles(color string) {
+ @Icon(color) {
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings preview-icon"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg>
+ }
+}
+
+templ IconVideo(color string) {
+ @Icon(color) {
+ // <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-play preview-icon"><path d="M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z"></path><circle cx="12" cy="12" r="10"></circle></svg>
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-monitor-play preview-icon"><path d="M15.033 9.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56V7.648a.645.645 0 0 1 .967-.56z"></path><path d="M12 17v4"></path><path d="M8 21h8"></path><rect x="2" y="3" width="20" height="14" rx="2"></rect></svg>
+ }
+}
+
+templ IconJetbrains(color string) {
+ @Icon(color) {
+ <svg fill="none" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient id="_R_34j5_" x1="0.85" x2="62.62" y1="62.72" y2="1.81" gradientUnits="userSpaceOnUse">
+ <stop stop-color="#FF9419"></stop>
+ <stop offset="0.43" stop-color="#FF021D"></stop>
+ <stop offset="0.99" stop-color="#E600FF"></stop>
+ </linearGradient>
+ </defs>
+ <path fill="url(#_R_34j5_)" d="M20.34 3.66 3.66 20.34A12.5 12.5 0 0 0 0 29.18V59c0 2.76 2.24 5 5 5h29.82c3.32 0 6.49-1.32 8.84-3.66l16.68-16.68c2.34-2.34 3.66-5.52 3.66-8.84V5c0-2.76-2.24-5-5-5H29.18c-3.32 0-6.49 1.32-8.84 3.66"></path>
+ <path fill="#000" d="M48 16H8v40h40z"></path>
+ <path fill="#fff" d="M30 47H13v4h17z"></path>
+ </svg>
+ }
+}
+
func row(icon func(color string) templ.Component, color, label, value string) FetchRow {
return FetchRow{Icon: icon(color), Color: color, Label: label, Value: value}
}
var fetchRows = []FetchRow{
// row(IconTerminal, "text-(--secondary)", "Terminal", "Ghostty & Zsh"),
- row(IconCode, "--accent", "Main Language", "C"),
- row(IconScriptLang, "--accent", "Scripting Langs", "Go and Python"),
- row(IconDebugger, "#F16265", "Debugger", "Raddebugger"),
- row(IconMonitor, "#54D7A9", "Operating System", "Fedora KDE Linux"),
- row(IconEditor, "#54D7A9", "Text Editor", "Neovim"),
- row(IconUptime, "#D8C44B", "Uptime", "Asleep"),
+ row(IconCode, "text-(--accent)", "Main Language", "C"),
+ row(IconScriptLang, "text-(--accent)", "Scripting Langs", "Go and Python"),
+ row(IconDebugger, "text-[#F16265]", "Debugger", "Raddebugger"),
+ row(IconMonitor, "text-[#54D7A9]", "Operating System", "Fedora KDE Linux"),
+ row(IconEditor, "text-[#54D7A9]", "Text Editor", "Neovim"),
+ row(IconUptime, "text-[#D8C44B]", "Uptime", "Asleep"),
// row(IconCpu, "--extra", "Hardware", "..."),
}
@@ -968,7 +700,7 @@ templ Fastfetch(rows []FetchRow) {
}
templ Icon(color string) {
- <svg width="1.1em" height="1.1em" class={ "shrink-0", Color(color) } viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
+ <svg width="1.1em" height="1.1em" class={ "shrink-0", Color(color), "self-center" } viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
{ children... }
</svg>
}
diff --git a/website_templ.go b/website_templ.go
index 177aa0d..2d834a2 100644
--- a/website_templ.go
+++ b/website_templ.go
@@ -8,8 +8,6 @@ package main
import "github.com/a-h/templ"
import templruntime "github.com/a-h/templ/runtime"
-import "flag"
-
func HeadComponent(title string, description string) templ.Component {
return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
@@ -38,7 +36,7 @@ func HeadComponent(title string, description string) templ.Component {
var templ_7745c5c3_Var2 string
templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.ResolveAttributeValue(description)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 15, Col: 48}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 13, Col: 48}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var2)
if templ_7745c5c3_Err != nil {
@@ -51,7 +49,7 @@ func HeadComponent(title string, description string) templ.Component {
var templ_7745c5c3_Var3 string
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(title)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 16, Col: 16}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 14, Col: 16}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
if templ_7745c5c3_Err != nil {
@@ -64,7 +62,7 @@ func HeadComponent(title string, description string) templ.Component {
var templ_7745c5c3_Var4 string
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.ResolveAttributeValue(title)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 17, Col: 43}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 15, Col: 43}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var4)
if templ_7745c5c3_Err != nil {
@@ -77,7 +75,7 @@ func HeadComponent(title string, description string) templ.Component {
var templ_7745c5c3_Var5 string
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.ResolveAttributeValue(description)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 18, Col: 55}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 16, Col: 55}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var5)
if templ_7745c5c3_Err != nil {
@@ -147,7 +145,7 @@ func BlogItem(header string, blog Blog, extra string) templ.Component {
var templ_7745c5c3_Var8 templ.SafeURL
templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL("/blogs/" + blog.Slug))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 44, Col: 49}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 42, Col: 49}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
if templ_7745c5c3_Err != nil {
@@ -160,7 +158,7 @@ func BlogItem(header string, blog Blog, extra string) templ.Component {
var templ_7745c5c3_Var9 string
templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(blog.Title)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 46, Col: 17}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 44, Col: 17}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9))
if templ_7745c5c3_Err != nil {
@@ -173,7 +171,7 @@ func BlogItem(header string, blog Blog, extra string) templ.Component {
var templ_7745c5c3_Var10 string
templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(blog.Desc)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 48, Col: 45}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 46, Col: 45}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
if templ_7745c5c3_Err != nil {
@@ -221,7 +219,7 @@ func Link(href string, newTab bool) templ.Component {
var templ_7745c5c3_Var12 templ.SafeURL
templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(href))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 56, Col: 28}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 54, Col: 28}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12))
if templ_7745c5c3_Err != nil {
@@ -355,7 +353,7 @@ func TerminalBorderForBlog(header string, footer string, extra string, enable bo
var templ_7745c5c3_Var19 string
templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(header)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 75, Col: 132}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 73, Col: 132}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19))
if templ_7745c5c3_Err != nil {
@@ -368,7 +366,7 @@ func TerminalBorderForBlog(header string, footer string, extra string, enable bo
var templ_7745c5c3_Var20 string
templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.JoinStringErrs(footer)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 76, Col: 149}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 74, Col: 149}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var20))
if templ_7745c5c3_Err != nil {
@@ -460,7 +458,7 @@ func TerminalBorder(header string, footer string, extra string) templ.Component
var templ_7745c5c3_Var25 string
templ_7745c5c3_Var25, templ_7745c5c3_Err = templ.JoinStringErrs(header)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 93, Col: 137}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 91, Col: 137}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var25))
if templ_7745c5c3_Err != nil {
@@ -473,7 +471,7 @@ func TerminalBorder(header string, footer string, extra string) templ.Component
var templ_7745c5c3_Var26 string
templ_7745c5c3_Var26, templ_7745c5c3_Err = templ.JoinStringErrs(footer)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 94, Col: 140}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 92, Col: 140}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var26))
if templ_7745c5c3_Err != nil {
@@ -569,7 +567,7 @@ func TerminalBorderWithCopy(header string, footer string, extra string, text str
var templ_7745c5c3_Var30 templ.SafeURL
templ_7745c5c3_Var30, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(href))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 107, Col: 33}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 105, Col: 33}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var30))
if templ_7745c5c3_Err != nil {
@@ -595,7 +593,7 @@ func TerminalBorderWithCopy(header string, footer string, extra string, text str
var templ_7745c5c3_Var31 string
templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.ResolveAttributeValue(text)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 111, Col: 26}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 109, Col: 26}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var31)
if templ_7745c5c3_Err != nil {
@@ -631,7 +629,7 @@ func TerminalBorderWithCopy(header string, footer string, extra string, text str
var templ_7745c5c3_Var32 string
templ_7745c5c3_Var32, templ_7745c5c3_Err = templ.ResolveAttributeValue(text)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 119, Col: 42}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 117, Col: 42}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var32)
if templ_7745c5c3_Err != nil {
@@ -687,7 +685,7 @@ func CopyPre(text string, preClass string) templ.Component {
var templ_7745c5c3_Var34 string
templ_7745c5c3_Var34, templ_7745c5c3_Err = templ.ResolveAttributeValue(text)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 128, Col: 39}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 126, Col: 39}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var34)
if templ_7745c5c3_Err != nil {
@@ -759,7 +757,7 @@ func NavLink(href string, label string) templ.Component {
var templ_7745c5c3_Var38 templ.SafeURL
templ_7745c5c3_Var38, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(href))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 137, Col: 30}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 135, Col: 30}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var38))
if templ_7745c5c3_Err != nil {
@@ -772,7 +770,7 @@ func NavLink(href string, label string) templ.Component {
var templ_7745c5c3_Var39 string
templ_7745c5c3_Var39, templ_7745c5c3_Err = templ.JoinStringErrs(label)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 137, Col: 87}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 135, Col: 87}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var39))
if templ_7745c5c3_Err != nil {
@@ -814,7 +812,7 @@ func Nav(path string) templ.Component {
var templ_7745c5c3_Var41 string
templ_7745c5c3_Var41, templ_7745c5c3_Err = templ.JoinStringErrs(path)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 142, Col: 14}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 140, Col: 14}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var41))
if templ_7745c5c3_Err != nil {
@@ -828,7 +826,7 @@ func Nav(path string) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- for _, dir := range []string{"skills", "projects", "blogs"} {
+ for _, dir := range []string{"projects", "info", "blogs"} {
templ_7745c5c3_Err = NavLink("/"+dir, dir).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
@@ -874,7 +872,7 @@ func TerminalLayout(style Style, path string) templ.Component {
var templ_7745c5c3_Var43 string
templ_7745c5c3_Var43, templ_7745c5c3_Err = templruntime.SanitizeStyleAttributeValues(styleToCss(style))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 155, Col: 42}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 153, Col: 42}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var43))
if templ_7745c5c3_Err != nil {
@@ -1037,7 +1035,7 @@ func HomePage(style Style, latestBlog *Blog) templ.Component {
var templ_7745c5c3_Var52 string
templ_7745c5c3_Var52, templ_7745c5c3_Err = templ.JoinStringErrs(fingerprint)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 190, Col: 21}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 188, Col: 21}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var52))
if templ_7745c5c3_Err != nil {
@@ -1304,7 +1302,7 @@ func HomePage(style Style, latestBlog *Blog) templ.Component {
var templ_7745c5c3_Var64 string
templ_7745c5c3_Var64, templ_7745c5c3_Err = templ.JoinStringErrs(sshKey)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 239, Col: 12}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 237, Col: 12}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var64))
if templ_7745c5c3_Err != nil {
@@ -1338,7 +1336,7 @@ func footerClass(connected bool) string {
return style
}
-func SkillsPage(style Style) templ.Component {
+func InfoPage(style Style) templ.Component {
return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
@@ -1421,7 +1419,7 @@ func SkillsPage(style Style) templ.Component {
}
return nil
})
- templ_7745c5c3_Err = TerminalLayout(style, "/home/kyren/skills.md").Render(templ.WithChildren(ctx, templ_7745c5c3_Var66), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = TerminalLayout(style, "/home/kyren/info.md").Render(templ.WithChildren(ctx, templ_7745c5c3_Var66), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -1430,15 +1428,13 @@ func SkillsPage(style Style) templ.Component {
}
type Project struct {
- Slug string // e.g. "my-game"
- Title string // e.g. "MyGame"
- Category string // e.g. "Game written in Zig"
- Desc string // 1-2 line description/pitch
- Tags []ProjectTag // ["Zig", "OpenGL", "Linux"]
- Status string
- Icon templ.Component
- CgitURL string // e.g. "https://cgit.yourdomain.com/my-game"
- GithubURL string // Fallback mirror link
+ Slug string
+ Title string
+ Category string
+ Desc string
+ Icon templ.Component
+ Tags []ProjectTag
+ Links []ProjectLink
}
type ProjectTag struct {
@@ -1447,8 +1443,9 @@ type ProjectTag struct {
}
type ProjectLink struct {
- URL string
- Icon templ.Component
+ Icon templ.Component
+ Label string
+ URL string
}
type FlagshipInfo struct {
@@ -1469,43 +1466,6 @@ type Stat struct {
Value string
}
-var p Project = Project{
- Slug: "krypton",
- Title: "Krypton",
- Category: "Programming Language Compiler",
- Desc: "A modern Minecraft creator event. As a developer, I helped with minor improvements to the cosmetics system. ",
- Icon: IconCpu("text-[#F5A670] self-center"),
- // Icon: IconKrypton(),
- Status: "ON",
- Tags: []ProjectTag{
- // {"Programming Language", Color("--extra")},
- // {"Compiler", Color("--extra")},
- {"C", Color("text-[#5874FF]")},
- {"LLVM", Color("text-[#FFFFFF]")},
- // {"Java", Color("#F5A670")},
- },
- CgitURL: "https://whatever",
- GithubURL: "",
-}
-
-var flagship FlagshipInfo = FlagshipInfo{
- Version: "Sprout.0 2026-08-13",
- Downloads: []Download{
- {"linux-amd64", "https://foobar", "23 MB"},
- // {"linux-arm64", "https://foobar", "52 MB"},
- // {"macos-arm64", "https://fooshit", "47 MB"},
- {"windows-amd64", "https://fooshit", "65.7 MB"},
- },
- // Stats: []Stat{{"lines of code", "18.7k"}},
- Snippet: `
-io :: import "core/io";
-
-main :: proc() {
- io.printf("Hello, %s", "world");
-}
-`,
-}
-
var versionBeforeDownloads = false
const flagshipClasses = "[--border-py:1.25rem] border-(--accent)! bg-white/[0.03] shadow-[0_0_1.5rem_color-mix(in_srgb,var(--accent)_25%,transparent)]"
@@ -1558,7 +1518,7 @@ func FlagshipProject(project Project, extra string) templ.Component {
var templ_7745c5c3_Var71 templ.SafeURL
templ_7745c5c3_Var71, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL("/projects/" + project.Slug))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 353, Col: 57}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 313, Col: 57}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var71))
if templ_7745c5c3_Err != nil {
@@ -1571,7 +1531,7 @@ func FlagshipProject(project Project, extra string) templ.Component {
var templ_7745c5c3_Var72 string
templ_7745c5c3_Var72, templ_7745c5c3_Err = templ.JoinStringErrs(project.Title)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 353, Col: 137}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 313, Col: 137}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var72))
if templ_7745c5c3_Err != nil {
@@ -1584,7 +1544,7 @@ func FlagshipProject(project Project, extra string) templ.Component {
var templ_7745c5c3_Var73 string
templ_7745c5c3_Var73, templ_7745c5c3_Err = templ.JoinStringErrs(project.Category)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 354, Col: 65}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 314, Col: 65}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var73))
if templ_7745c5c3_Err != nil {
@@ -1620,7 +1580,7 @@ func FlagshipProject(project Project, extra string) templ.Component {
var templ_7745c5c3_Var76 string
templ_7745c5c3_Var76, templ_7745c5c3_Err = templ.JoinStringErrs(tag.Name)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 356, Col: 136}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 316, Col: 136}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var76))
if templ_7745c5c3_Err != nil {
@@ -1635,82 +1595,40 @@ func FlagshipProject(project Project, extra string) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Var77 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = IconGit("text-(--primary)").Render(ctx, templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
- templ_7745c5c3_Err = IconLink("https://git.example.com/foo", "git", "").Render(templ.WithChildren(ctx, templ_7745c5c3_Var77), templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Var78 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = IconGithub("text-(--secondary)").Render(ctx, templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
- templ_7745c5c3_Err = IconLink("https://github.com/foo", "github", "").Render(templ.WithChildren(ctx, templ_7745c5c3_Var78), templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Var79 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = IconExternal("text-(--accent)").Render(ctx, templ_7745c5c3_Buffer)
+ for _, link := range project.Links {
+ templ_7745c5c3_Var77 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Err = link.Icon.Render(ctx, templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+ templ_7745c5c3_Err = IconLink(link.URL, link.Label, "").Render(templ.WithChildren(ctx, templ_7745c5c3_Var77), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- return nil
- })
- templ_7745c5c3_Err = IconLink("https://example.com", "website", "").Render(templ.WithChildren(ctx, templ_7745c5c3_Var79), templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 84, "</span></div><p class=\"leading-relaxed max-w-3xl\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var80 string
- templ_7745c5c3_Var80, templ_7745c5c3_Err = templ.JoinStringErrs(project.Desc)
+ var templ_7745c5c3_Var78 string
+ templ_7745c5c3_Var78, templ_7745c5c3_Err = templ.JoinStringErrs(project.Desc)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 370, Col: 55}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 326, Col: 55}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var80))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var78))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -1756,12 +1674,12 @@ func FlagshipProject(project Project, extra string) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var81 string
- templ_7745c5c3_Var81, templ_7745c5c3_Err = templ.JoinStringErrs(stat.Value)
+ var templ_7745c5c3_Var79 string
+ templ_7745c5c3_Var79, templ_7745c5c3_Err = templ.JoinStringErrs(stat.Value)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 388, Col: 61}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 344, Col: 61}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var81))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var79))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -1769,12 +1687,12 @@ func FlagshipProject(project Project, extra string) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var82 string
- templ_7745c5c3_Var82, templ_7745c5c3_Err = templ.JoinStringErrs(stat.Label)
+ var templ_7745c5c3_Var80 string
+ templ_7745c5c3_Var80, templ_7745c5c3_Err = templ.JoinStringErrs(stat.Label)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 389, Col: 47}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 345, Col: 47}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var82))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var80))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -1797,7 +1715,7 @@ func FlagshipProject(project Project, extra string) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Var83 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var81 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -1809,18 +1727,18 @@ func FlagshipProject(project Project, extra string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- var templ_7745c5c3_Var84 string
- templ_7745c5c3_Var84, templ_7745c5c3_Err = templ.JoinStringErrs(flagship.Snippet)
+ var templ_7745c5c3_Var82 string
+ templ_7745c5c3_Var82, templ_7745c5c3_Err = templ.JoinStringErrs(flagship.Snippet)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 399, Col: 24}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 355, Col: 24}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var84))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var82))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = CopyPre(flagship.Snippet, "text-[80%] leading-[normal]").Render(templ.WithChildren(ctx, templ_7745c5c3_Var83), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = CopyPre(flagship.Snippet, "text-[80%] leading-[normal]").Render(templ.WithChildren(ctx, templ_7745c5c3_Var81), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -1859,9 +1777,9 @@ func VersionTag(project Project) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var85 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var85 == nil {
- templ_7745c5c3_Var85 = templ.NopComponent
+ templ_7745c5c3_Var83 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var83 == nil {
+ templ_7745c5c3_Var83 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
if flagship.Version != "" {
@@ -1869,12 +1787,12 @@ func VersionTag(project Project) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var86 string
- templ_7745c5c3_Var86, templ_7745c5c3_Err = templ.JoinStringErrs(flagship.Version)
+ var templ_7745c5c3_Var84 string
+ templ_7745c5c3_Var84, templ_7745c5c3_Err = templ.JoinStringErrs(flagship.Version)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 410, Col: 50}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 366, Col: 50}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var86))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var84))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -1903,21 +1821,21 @@ func DownloadButton(d Download) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var87 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var87 == nil {
- templ_7745c5c3_Var87 = templ.NopComponent
+ templ_7745c5c3_Var85 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var85 == nil {
+ templ_7745c5c3_Var85 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 99, "<a href=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var88 templ.SafeURL
- templ_7745c5c3_Var88, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(d.URL))
+ var templ_7745c5c3_Var86 templ.SafeURL
+ templ_7745c5c3_Var86, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(d.URL))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 417, Col: 31}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 373, Col: 31}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var88))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var86))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -1933,12 +1851,12 @@ func DownloadButton(d Download) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var89 string
- templ_7745c5c3_Var89, templ_7745c5c3_Err = templ.JoinStringErrs(d.Label)
+ var templ_7745c5c3_Var87 string
+ templ_7745c5c3_Var87, templ_7745c5c3_Err = templ.JoinStringErrs(d.Label)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 419, Col: 17}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 375, Col: 17}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var89))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var87))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -1951,12 +1869,12 @@ func DownloadButton(d Download) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var90 string
- templ_7745c5c3_Var90, templ_7745c5c3_Err = templ.JoinStringErrs(d.Size)
+ var templ_7745c5c3_Var88 string
+ templ_7745c5c3_Var88, templ_7745c5c3_Err = templ.JoinStringErrs(d.Size)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 421, Col: 38}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 377, Col: 38}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var90))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var88))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -1989,12 +1907,12 @@ func IconArchive(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var91 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var91 == nil {
- templ_7745c5c3_Var91 = templ.NopComponent
+ templ_7745c5c3_Var89 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var89 == nil {
+ templ_7745c5c3_Var89 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Var92 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var90 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -2012,1474 +1930,7 @@ func IconArchive(color string) templ.Component {
}
return nil
})
- templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var92), templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
-}
-
-const flagshipClassesV4 = "[--border-py:1.25rem] border-(--accent)! bg-white/[0.03] shadow-[0_0_1.5rem_color-mix(in_srgb,var(--accent)_25%,transparent)]"
-
-func FlagshipProjectV4(project Project, extra string) templ.Component {
- return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
- return templ_7745c5c3_CtxErr
- }
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var93 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var93 == nil {
- templ_7745c5c3_Var93 = templ.NopComponent
- }
- ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Var94 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 107, "<div class=\"flex gap-[2rem] w-full\"><div class=\"flex flex-col gap-[1rem] flex-1 min-w-0\"><div class=\"flex flex-wrap items-baseline gap-x-[1ch] gap-y-[0.4rem]\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = project.Icon.Render(ctx, templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 108, "<a href=\"")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var95 templ.SafeURL
- templ_7745c5c3_Var95, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL("/projects/" + project.Slug))
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 442, Col: 57}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var95))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 109, "\" class=\"text-[170%] font-bold text-(--accent) hover:underline\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var96 string
- templ_7745c5c3_Var96, templ_7745c5c3_Err = templ.JoinStringErrs(project.Title)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 442, Col: 137}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var96))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 110, "</a> <span class=\"text-[85%] text-(--primary)\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var97 string
- templ_7745c5c3_Var97, templ_7745c5c3_Err = templ.JoinStringErrs(project.Category)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 443, Col: 65}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var97))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 111, "</span> ")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- for _, tag := range project.Tags {
- var templ_7745c5c3_Var98 = []any{"text-[75%] px-[0.4rem] inline-block rounded-[0.3rem] border-[0.01rem] bg-(--alt)/25" + " " + tag.Color}
- templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var98...)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 112, "<code class=\"")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var99 string
- templ_7745c5c3_Var99, templ_7745c5c3_Err = templ.ResolveAttributeValue(templ.CSSClasses(templ_7745c5c3_Var98).String())
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 1, Col: 0}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var99)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 113, "\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var100 string
- templ_7745c5c3_Var100, templ_7745c5c3_Err = templ.JoinStringErrs(tag.Name)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 445, Col: 136}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var100))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 114, "</code> ")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 115, "<span class=\"ml-auto flex items-center self-center\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Var101 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = IconGit("text-(--primary)").Render(ctx, templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
- templ_7745c5c3_Err = IconLink("https://git.example.com/foo", "git", "").Render(templ.WithChildren(ctx, templ_7745c5c3_Var101), templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Var102 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = IconGithub("text-(--secondary)").Render(ctx, templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
- templ_7745c5c3_Err = IconLink("https://github.com/foo", "github", "").Render(templ.WithChildren(ctx, templ_7745c5c3_Var102), templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Var103 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = IconExternal("text-(--accent)").Render(ctx, templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
- templ_7745c5c3_Err = IconLink("https://example.com", "website", "").Render(templ.WithChildren(ctx, templ_7745c5c3_Var103), templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 116, "</span></div><p class=\"leading-relaxed max-w-3xl\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var104 string
- templ_7745c5c3_Var104, templ_7745c5c3_Err = templ.JoinStringErrs(project.Desc)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 459, Col: 55}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var104))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 117, "</p>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- if len(project.Downloads) > 0 || project.Version != "" {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 118, "<div class=\"flex flex-wrap items-center gap-x-[1rem] gap-y-[0.5rem]\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- for _, d := range project.Downloads {
- templ_7745c5c3_Err = DownloadButton(d).Render(ctx, templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- }
- if project.Version != "" {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 119, "<code class=\"text-[85%] text-(--alt)\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var105 string
- templ_7745c5c3_Var105, templ_7745c5c3_Err = templ.JoinStringErrs(project.Version)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 466, Col: 62}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var105))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 120, "</code>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 121, "</div>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- }
- if len(project.Stats) > 0 {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 122, "<div class=\"flex flex-wrap gap-x-[2rem] gap-y-[0.4rem] text-[85%]\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- for _, stat := range project.Stats {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 123, "<span class=\"flex gap-[1ch]\"><span class=\"font-bold text-(--primary)\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var106 string
- templ_7745c5c3_Var106, templ_7745c5c3_Err = templ.JoinStringErrs(stat.Value)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 474, Col: 61}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var106))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 124, "</span> <span class=\"text-(--alt)\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var107 string
- templ_7745c5c3_Var107, templ_7745c5c3_Err = templ.JoinStringErrs(stat.Label)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 475, Col: 47}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var107))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 125, "</span></span>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 126, "</div>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 127, "</div>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- if project.Snippet != "" {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 128, "<div class=\"shrink-0 self-start flex flex-col gap-[0.5rem] p-[1rem] rounded-[0.4rem] bg-black/30\"><span class=\"text-[75%] text-(--alt)\">example</span>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Var108 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- var templ_7745c5c3_Var109 string
- templ_7745c5c3_Var109, templ_7745c5c3_Err = templ.JoinStringErrs(project.Snippet)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 485, Col: 23}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var109))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
- templ_7745c5c3_Err = CopyPre(project.Snippet, "text-[80%] leading-[normal]").Render(templ.WithChildren(ctx, templ_7745c5c3_Var108), templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 129, "</div>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 130, "</div>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
- templ_7745c5c3_Err = TerminalBorder("", "", flagshipClasses+" "+extra).Render(templ.WithChildren(ctx, templ_7745c5c3_Var94), templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
-}
-
-func DownloadButtonV4(d Download) templ.Component {
- return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
- return templ_7745c5c3_CtxErr
- }
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var110 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var110 == nil {
- templ_7745c5c3_Var110 = templ.NopComponent
- }
- ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 131, "<a href=\"")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var111 templ.SafeURL
- templ_7745c5c3_Var111, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(d.URL))
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 494, Col: 31}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var111))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 132, "\" class=\"inline-flex items-center gap-[1ch] px-[0.8rem] py-[0.3rem] rounded-[0.4rem] border-[0.1rem] border-solid border-(--alt) text-(--primary) transition-colors hover:bg-(--alt)/25\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = IconDownload("text-(--primary)").Render(ctx, templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 133, " ")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var112 string
- templ_7745c5c3_Var112, templ_7745c5c3_Err = templ.JoinStringErrs(d.Label)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 496, Col: 11}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var112))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 134, "</a>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
-}
-
-func IconDownload(color string) templ.Component {
- return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
- return templ_7745c5c3_CtxErr
- }
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var113 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var113 == nil {
- templ_7745c5c3_Var113 = templ.NopComponent
- }
- ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Var114 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 135, "<path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"></path> <polyline points=\"7 10 12 15 17 10\"></polyline> <line x1=\"12\" x2=\"12\" y1=\"15\" y2=\"3\"></line>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
- templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var114), templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
-}
-
-const flagshipClassesV3 = "[--border-py:1.25rem] border-(--primary)! bg-white/[0.03] shadow-[0_0_1.5rem_color-mix(in_srgb,var(--primary)_25%,transparent)]"
-
-func FlagshipProjectV3(project Project, extra string) templ.Component {
- return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
- return templ_7745c5c3_CtxErr
- }
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var115 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var115 == nil {
- templ_7745c5c3_Var115 = templ.NopComponent
- }
- ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Var116 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 136, "<div class=\"flex gap-[2rem] w-full\"><div class=\"flex flex-col gap-[1rem] flex-1 min-w-0\"><div class=\"flex flex-wrap items-baseline gap-x-[1ch] gap-y-[0.4rem]\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = project.Icon.Render(ctx, templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 137, "<a href=\"")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var117 templ.SafeURL
- templ_7745c5c3_Var117, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL("/projects/" + project.Slug))
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 516, Col: 57}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var117))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 138, "\" class=\"text-[170%] font-bold text-(--accent) hover:underline\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var118 string
- templ_7745c5c3_Var118, templ_7745c5c3_Err = templ.JoinStringErrs(project.Title)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 516, Col: 137}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var118))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 139, "</a> <code class=\"px-[0.5rem] rounded-[0.3rem] border-[0.1rem] border-(--accent)/50 text-[85%] text-(--accent)\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var119 string
- templ_7745c5c3_Var119, templ_7745c5c3_Err = templ.JoinStringErrs(project.Version)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 517, Col: 129}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var119))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 140, "</code> <span class=\"text-[85%] text-(--primary)\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var120 string
- templ_7745c5c3_Var120, templ_7745c5c3_Err = templ.JoinStringErrs(project.Category)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 518, Col: 65}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var120))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 141, "</span> ")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- for _, tag := range project.Tags {
- var templ_7745c5c3_Var121 = []any{"text-[75%] px-[0.4rem] inline-block rounded-[0.3rem] border-[0.01rem] bg-(--alt)/25" + " " + tag.Color}
- templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var121...)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 142, "<code class=\"")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var122 string
- templ_7745c5c3_Var122, templ_7745c5c3_Err = templ.ResolveAttributeValue(templ.CSSClasses(templ_7745c5c3_Var121).String())
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 1, Col: 0}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var122)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 143, "\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var123 string
- templ_7745c5c3_Var123, templ_7745c5c3_Err = templ.JoinStringErrs(tag.Name)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 520, Col: 136}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var123))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 144, "</code> ")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 145, "<span class=\"ml-auto flex items-center self-center\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Var124 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = IconGit("text-(--primary)").Render(ctx, templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
- templ_7745c5c3_Err = IconLink("https://git.example.com/foo", "git", "").Render(templ.WithChildren(ctx, templ_7745c5c3_Var124), templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Var125 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = IconGithub("text-(--secondary)").Render(ctx, templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
- templ_7745c5c3_Err = IconLink("https://github.com/foo", "github", "").Render(templ.WithChildren(ctx, templ_7745c5c3_Var125), templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Var126 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = IconExternal("text-(--accent)").Render(ctx, templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
- templ_7745c5c3_Err = IconLink("https://example.com", "website", "").Render(templ.WithChildren(ctx, templ_7745c5c3_Var126), templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 146, "</span></div><p class=\"leading-relaxed max-w-3xl\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var127 string
- templ_7745c5c3_Var127, templ_7745c5c3_Err = templ.JoinStringErrs(project.Desc)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 534, Col: 55}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var127))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 147, "</p>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- if project.Install != "" {
- templ_7745c5c3_Var128 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- var templ_7745c5c3_Var129 string
- templ_7745c5c3_Var129, templ_7745c5c3_Err = templ.JoinStringErrs("$ " + project.Install)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 537, Col: 30}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var129))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
- templ_7745c5c3_Err = CopyPre(project.Install, "text-[85%] leading-[normal]").Render(templ.WithChildren(ctx, templ_7745c5c3_Var128), templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- }
- if project.Devlog != nil {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 148, "<a href=\"")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var130 templ.SafeURL
- templ_7745c5c3_Var130, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL("/blogs/" + project.Devlog.Slug))
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 541, Col: 61}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var130))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 149, "\" class=\"text-[85%] text-(--secondary) hover:underline\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var131 string
- templ_7745c5c3_Var131, templ_7745c5c3_Err = templ.JoinStringErrs("latest devlog: " + project.Devlog.Title)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 542, Col: 48}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var131))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 150, "</a>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 151, "</div>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- if project.Snippet != "" {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 152, "<div class=\"shrink-0 self-start flex flex-col gap-[0.5rem] p-[1rem] rounded-[0.4rem] bg-black/30\"><span class=\"text-[75%] text-(--alt)\">example</span>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Var132 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- var templ_7745c5c3_Var133 string
- templ_7745c5c3_Var133, templ_7745c5c3_Err = templ.JoinStringErrs(project.Snippet)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 550, Col: 23}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var133))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
- templ_7745c5c3_Err = CopyPre(project.Snippet, "text-[80%] leading-[normal]").Render(templ.WithChildren(ctx, templ_7745c5c3_Var132), templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 153, "</div>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 154, "</div>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
- templ_7745c5c3_Err = TerminalBorder("", "", flagshipClasses+" "+extra).Render(templ.WithChildren(ctx, templ_7745c5c3_Var116), templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
-}
-
-func FlagshipProjectV2(project Project, extra string) templ.Component {
- return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
- return templ_7745c5c3_CtxErr
- }
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var134 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var134 == nil {
- templ_7745c5c3_Var134 = templ.NopComponent
- }
- ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Var135 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 155, "<div class=\"flex gap-[2rem] w-full\"><div class=\"flex flex-col gap-[1rem] flex-1 min-w-0\"><div class=\"flex flex-wrap items-baseline gap-x-[1ch] gap-y-[0.4rem]\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = project.Icon.Render(ctx, templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 156, "<a href=\"")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var136 templ.SafeURL
- templ_7745c5c3_Var136, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL("/projects/" + project.Slug))
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 564, Col: 57}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var136))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 157, "\" class=\"text-[170%] font-bold text-(--primary) hover:underline\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var137 string
- templ_7745c5c3_Var137, templ_7745c5c3_Err = templ.JoinStringErrs(project.Title)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 564, Col: 138}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var137))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 158, "</a> <span class=\"text-[85%] text-(--secondary)\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var138 string
- templ_7745c5c3_Var138, templ_7745c5c3_Err = templ.JoinStringErrs(project.Category)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 565, Col: 67}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var138))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 159, "</span> ")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- for _, tag := range project.Tags {
- var templ_7745c5c3_Var139 = []any{"text-[75%] px-[0.4rem] inline-block rounded-[0.3rem] border-[0.01rem] bg-(--alt)/25" + " " + tag.Color}
- templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var139...)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 160, "<code class=\"")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var140 string
- templ_7745c5c3_Var140, templ_7745c5c3_Err = templ.ResolveAttributeValue(templ.CSSClasses(templ_7745c5c3_Var139).String())
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 1, Col: 0}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var140)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 161, "\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var141 string
- templ_7745c5c3_Var141, templ_7745c5c3_Err = templ.JoinStringErrs(tag.Name)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 567, Col: 136}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var141))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 162, "</code> ")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 163, "<span class=\"ml-auto flex items-center self-center\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Var142 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = IconGit("text-(--primary)").Render(ctx, templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
- templ_7745c5c3_Err = IconLink("https://git.example.com/foo", "git", "").Render(templ.WithChildren(ctx, templ_7745c5c3_Var142), templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Var143 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = IconGithub("text-(--secondary)").Render(ctx, templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
- templ_7745c5c3_Err = IconLink("https://github.com/foo", "github", "").Render(templ.WithChildren(ctx, templ_7745c5c3_Var143), templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Var144 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = IconExternal("text-(--accent)").Render(ctx, templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
- templ_7745c5c3_Err = IconLink("https://example.com", "website", "").Render(templ.WithChildren(ctx, templ_7745c5c3_Var144), templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 164, "</span></div><p class=\"leading-relaxed max-w-3xl\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var145 string
- templ_7745c5c3_Var145, templ_7745c5c3_Err = templ.JoinStringErrs(project.Desc)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 581, Col: 55}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var145))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 165, "</p><div class=\"flex flex-wrap items-center gap-[0.5ch] pt-[1rem] border-t border-white/10 text-[85%]\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- for i, stage := range project.Pipeline {
- if i > 0 {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 166, "<span class=\"text-(--alt)\">→</span>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 167, " <code class=\"px-[0.4rem] rounded-[0.3rem] bg-(--alt)/25 text-(--accent)\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var146 string
- templ_7745c5c3_Var146, templ_7745c5c3_Err = templ.JoinStringErrs(stage)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 587, Col: 86}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var146))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 168, "</code>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 169, "</div><div class=\"flex flex-wrap gap-x-[2.5rem] gap-y-[0.75rem]\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- for _, stat := range project.Stats {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 170, "<div class=\"flex flex-col\"><span class=\"text-[150%] font-bold text-(--primary)\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var147 string
- templ_7745c5c3_Var147, templ_7745c5c3_Err = templ.JoinStringErrs(stat.Value)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 593, Col: 72}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var147))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 171, "</span> <span class=\"text-[75%] text-(--alt)\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var148 string
- templ_7745c5c3_Var148, templ_7745c5c3_Err = templ.JoinStringErrs(stat.Label)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 594, Col: 57}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var148))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 172, "</span></div>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 173, "</div></div>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- if project.Snippet != "" {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 174, "<div class=\"shrink-0 self-start flex flex-col gap-[0.5rem] p-[1rem] rounded-[0.4rem] bg-black/30\"><span class=\"text-[75%] text-(--alt)\">example</span>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Var149 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- var templ_7745c5c3_Var150 string
- templ_7745c5c3_Var150, templ_7745c5c3_Err = templ.JoinStringErrs(project.Snippet)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 603, Col: 23}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var150))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
- templ_7745c5c3_Err = CopyPre(project.Snippet, "text-[80%] leading-[normal]").Render(templ.WithChildren(ctx, templ_7745c5c3_Var149), templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 175, "</div>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 176, "</div>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
- templ_7745c5c3_Err = TerminalBorder(project.Version, "", flagshipClasses+" "+extra).Render(templ.WithChildren(ctx, templ_7745c5c3_Var135), templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
-}
-
-func FlagshipProjectV1(project Project) templ.Component {
- return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
- return templ_7745c5c3_CtxErr
- }
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var151 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var151 == nil {
- templ_7745c5c3_Var151 = templ.NopComponent
- }
- ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 177, "<div class=\"relative border border-[var(--primary)]/40 rounded bg-white/[0.03] p-6 mb-10 shadow-[0_0_15px_rgba(0,0,0,0.3)]\"><!-- Header Bar --><div class=\"flex items-center justify-between pb-3 mb-4 border-b border-white/10 font-mono text-xs\"><div class=\"flex items-center gap-2\"><span class=\"w-2 h-2 rounded-full bg-emerald-400 animate-pulse\"></span> <span class=\"text-[var(--accent)] font-bold\">FLAGSHIP BUILD</span> <span class=\"text-zinc-500\">|</span> <span class=\"text-zinc-400\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var152 string
- templ_7745c5c3_Var152, templ_7745c5c3_Err = templ.JoinStringErrs(project.Status)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 619, Col: 48}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var152))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 178, "</span></div><div class=\"flex gap-3 text-zinc-400\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- if project.CgitURL != "" {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 179, "<a href=\"")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var153 templ.SafeURL
- templ_7745c5c3_Var153, templ_7745c5c3_Err = templ.JoinURLErrs(templ.URL(project.CgitURL))
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 623, Col: 41}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var153))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 180, "\" target=\"_blank\" class=\"hover:text-[var(--primary)] transition-colors\">[cgit]</a> ")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- }
- if project.GithubURL != "" {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 181, "<a href=\"")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var154 templ.SafeURL
- templ_7745c5c3_Var154, templ_7745c5c3_Err = templ.JoinURLErrs(templ.URL(project.GithubURL))
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 626, Col: 43}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var154))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 182, "\" target=\"_blank\" class=\"hover:text-[var(--primary)] transition-colors\">[github]</a>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 183, "</div></div><!-- Title & Category Line --><div class=\"flex items-baseline gap-3 mb-2\"><h2 class=\"text-2xl font-bold text-[var(--primary)]\"><a href=\"")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var155 templ.SafeURL
- templ_7745c5c3_Var155, templ_7745c5c3_Err = templ.JoinURLErrs(templ.URL("/projects/" + project.Slug))
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 633, Col: 52}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var155))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 184, "\" class=\"hover:underline\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var156 string
- templ_7745c5c3_Var156, templ_7745c5c3_Err = templ.JoinStringErrs(project.Title)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 633, Col: 94}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var156))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 185, "</a></h2><span class=\"text-sm text-zinc-400 font-mono\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var157 string
- templ_7745c5c3_Var157, templ_7745c5c3_Err = templ.JoinStringErrs(project.Category)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 635, Col: 67}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var157))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 186, "</span></div><!-- 1-2 Line Pitch --><p class=\"text-zinc-300 text-sm leading-relaxed mb-6 max-w-3xl\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var158 string
- templ_7745c5c3_Var158, templ_7745c5c3_Err = templ.JoinStringErrs(project.Desc)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 638, Col: 80}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var158))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 187, "</p><!-- Tech Tags & Detail Link --><div class=\"flex flex-wrap items-center justify-between gap-4 pt-4 border-t border-white/5 font-mono text-xs\"><div class=\"flex flex-wrap gap-2\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- for _, tag := range project.Tags {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 188, "<span class=\"px-2 py-0.5 rounded bg-white/5 border border-white/10 text-zinc-300\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var159 string
- templ_7745c5c3_Var159, templ_7745c5c3_Err = templ.JoinStringErrs(tag.Name)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 643, Col: 97}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var159))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 189, "</span>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 190, "</div><a href=\"")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var160 templ.SafeURL
- templ_7745c5c3_Var160, templ_7745c5c3_Err = templ.JoinURLErrs(templ.URL("/projects/" + project.Slug))
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 646, Col: 51}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var160))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 191, "\" class=\"text-[var(--primary)] hover:translate-x-1 transition-transform inline-flex items-center gap-1\">View Project Details &rarr;</a></div></div>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
-}
-
-func PinnedGrid(projects []Project) templ.Component {
- return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
- return templ_7745c5c3_CtxErr
- }
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var161 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var161 == nil {
- templ_7745c5c3_Var161 = templ.NopComponent
- }
- ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 192, "<div class=\"mb-12\"><div class=\"text-xs font-mono text-zinc-500 uppercase tracking-wider mb-4\"><div class=\"grid grid-cols-1 md:grid-cols-6 gap-4\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- for i, project := range projects {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 193, "<!-- Top 2 items take col-span-3 (50%), Bottom 3 items take col-span-2 (33%) --> ")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var162 = []any{"group border border-white/10 rounded bg-white/[0.02] hover:bg-white/[0.05] hover:border-white/20 transition-all p-5 flex flex-col justify-between",
- templ.KV("md:col-span-3", i < 2),
- templ.KV("md:col-span-2", i >= 2)}
- templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var162...)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 194, "<div class=\"")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var163 string
- templ_7745c5c3_Var163, templ_7745c5c3_Err = templ.ResolveAttributeValue(templ.CSSClasses(templ_7745c5c3_Var162).String())
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 1, Col: 0}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var163)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 195, "\"><div><!-- Title + Description/Type Line --><div class=\"flex items-baseline justify-between gap-2 mb-2\"><h3 class=\"font-bold text-[var(--primary)] group-hover:text-[var(--accent)] transition-colors\"><a href=\"")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var164 templ.SafeURL
- templ_7745c5c3_Var164, templ_7745c5c3_Err = templ.JoinURLErrs(templ.URL("/projects/" + project.Slug))
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 669, Col: 57}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var164))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 196, "\" class=\"hover:underline\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var165 string
- templ_7745c5c3_Var165, templ_7745c5c3_Err = templ.JoinStringErrs(project.Title)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 669, Col: 99}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var165))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 197, "</a></h3><span class=\"text-xs text-zinc-400 font-mono shrink-0\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var166 string
- templ_7745c5c3_Var166, templ_7745c5c3_Err = templ.JoinStringErrs(project.Category)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 671, Col: 81}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var166))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 198, "</span></div><!-- Pitch --><p class=\"text-xs text-zinc-300 mb-4 line-clamp-2 leading-relaxed\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var167 string
- templ_7745c5c3_Var167, templ_7745c5c3_Err = templ.JoinStringErrs(project.Desc)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 674, Col: 88}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var167))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 199, "</p></div><!-- Footer: Tags & Outbound Links --><div class=\"flex items-center justify-between pt-3 border-t border-white/5 text-[11px] font-mono\"><div class=\"flex flex-wrap gap-1\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- for _, tag := range project.Tags {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 200, "<span class=\"text-zinc-400 bg-white/5 px-1.5 py-0.5 rounded border border-white/5\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var168 string
- templ_7745c5c3_Var168, templ_7745c5c3_Err = templ.JoinStringErrs(tag.Name)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 680, Col: 102}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var168))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 201, "</span>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 202, "</div><div class=\"flex gap-2 text-zinc-400\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- if project.CgitURL != "" {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 203, "<a href=\"")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var169 templ.SafeURL
- templ_7745c5c3_Var169, templ_7745c5c3_Err = templ.JoinURLErrs(templ.URL(project.CgitURL))
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 685, Col: 45}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var169))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 204, "\" target=\"_blank\" class=\"hover:text-white\">[cgit]</a> ")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- }
- if project.GithubURL != "" {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 205, "<a href=\"")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var170 templ.SafeURL
- templ_7745c5c3_Var170, templ_7745c5c3_Err = templ.JoinURLErrs(templ.URL(project.GithubURL))
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 688, Col: 47}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var170))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 206, "\" target=\"_blank\" class=\"hover:text-white\">[gh]</a>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 207, "</div></div></div>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 208, "</div></div></div>")
+ templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var90), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -3503,77 +1954,77 @@ func IconLink(href string, label string, extra string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var171 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var171 == nil {
- templ_7745c5c3_Var171 = templ.NopComponent
+ templ_7745c5c3_Var91 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var91 == nil {
+ templ_7745c5c3_Var91 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- var templ_7745c5c3_Var172 = []any{"text-[90%] block p-[0.2rem] rounded-[0.4rem] transition-colors hover:bg-(--alt)/25" + " " + extra}
- templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var172...)
+ var templ_7745c5c3_Var92 = []any{"text-[90%] block p-[0.2rem] rounded-[0.4rem] transition-colors hover:bg-(--alt)/25" + " " + extra}
+ templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var92...)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 209, "<a href=\"")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 107, "<a href=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var173 templ.SafeURL
- templ_7745c5c3_Var173, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(href))
+ var templ_7745c5c3_Var93 templ.SafeURL
+ templ_7745c5c3_Var93, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(href))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 700, Col: 30}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 391, Col: 30}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var173))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var93))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 210, "\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 108, "\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var174 string
- templ_7745c5c3_Var174, templ_7745c5c3_Err = templ.ResolveAttributeValue(label)
+ var templ_7745c5c3_Var94 string
+ templ_7745c5c3_Var94, templ_7745c5c3_Err = templ.ResolveAttributeValue(label)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 700, Col: 93}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 391, Col: 93}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var174)
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var94)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 211, "\" title=\"")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 109, "\" title=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var175 string
- templ_7745c5c3_Var175, templ_7745c5c3_Err = templ.ResolveAttributeValue(label)
+ var templ_7745c5c3_Var95 string
+ templ_7745c5c3_Var95, templ_7745c5c3_Err = templ.ResolveAttributeValue(label)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 700, Col: 109}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 391, Col: 109}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var175)
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var95)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 212, "\" class=\"")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 110, "\" class=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var176 string
- templ_7745c5c3_Var176, templ_7745c5c3_Err = templ.ResolveAttributeValue(templ.CSSClasses(templ_7745c5c3_Var172).String())
+ var templ_7745c5c3_Var96 string
+ templ_7745c5c3_Var96, templ_7745c5c3_Err = templ.ResolveAttributeValue(templ.CSSClasses(templ_7745c5c3_Var92).String())
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 1, Col: 0}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var176)
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var96)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 213, "\">")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 111, "\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templ_7745c5c3_Var171.Render(ctx, templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = templ_7745c5c3_Var91.Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 214, "</a>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 112, "</a>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -3597,12 +2048,12 @@ func IconGit(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var177 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var177 == nil {
- templ_7745c5c3_Var177 = templ.NopComponent
+ templ_7745c5c3_Var97 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var97 == nil {
+ templ_7745c5c3_Var97 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Var178 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var98 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -3614,13 +2065,13 @@ func IconGit(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 215, "<line x1=\"6\" x2=\"6\" y1=\"3\" y2=\"15\"></line> <circle cx=\"18\" cy=\"6\" r=\"3\"></circle> <circle cx=\"6\" cy=\"18\" r=\"3\"></circle> <path d=\"M18 9a9 9 0 0 1-9 9\"></path>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 113, "<line x1=\"6\" x2=\"6\" y1=\"3\" y2=\"15\"></line> <circle cx=\"18\" cy=\"6\" r=\"3\"></circle> <circle cx=\"6\" cy=\"18\" r=\"3\"></circle> <path d=\"M18 9a9 9 0 0 1-9 9\"></path>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var178), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var98), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -3644,12 +2095,12 @@ func IconGithub(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var179 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var179 == nil {
- templ_7745c5c3_Var179 = templ.NopComponent
+ templ_7745c5c3_Var99 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var99 == nil {
+ templ_7745c5c3_Var99 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Var180 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var100 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -3661,13 +2112,13 @@ func IconGithub(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 216, "<path d=\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4\"></path> <path d=\"M9 18c-4.51 2-5-2-7-2\"></path>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 114, "<path d=\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4\"></path> <path d=\"M9 18c-4.51 2-5-2-7-2\"></path>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var180), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var100), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -3691,12 +2142,12 @@ func IconExternal(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var181 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var181 == nil {
- templ_7745c5c3_Var181 = templ.NopComponent
+ templ_7745c5c3_Var101 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var101 == nil {
+ templ_7745c5c3_Var101 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Var182 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var102 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -3708,13 +2159,13 @@ func IconExternal(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 217, "<path d=\"M15 3h6v6\"></path> <path d=\"M10 14 21 3\"></path> <path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 115, "<path d=\"M15 3h6v6\"></path> <path d=\"M10 14 21 3\"></path> <path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var182), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var102), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -3738,12 +2189,12 @@ func IconKrypton() templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var183 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var183 == nil {
- templ_7745c5c3_Var183 = templ.NopComponent
+ templ_7745c5c3_Var103 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var103 == nil {
+ templ_7745c5c3_Var103 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Var184 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var104 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -3755,13 +2206,13 @@ func IconKrypton() templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 218, "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-circle-dot preview-icon\"><circle cx=\"12\" cy=\"12\" r=\"1\"></circle><circle cx=\"12\" cy=\"12\" r=\"10\"></circle></svg>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 116, "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-circle-dot preview-icon\"><circle cx=\"12\" cy=\"12\" r=\"1\"></circle><circle cx=\"12\" cy=\"12\" r=\"10\"></circle></svg>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = Icon("text-[#00f1ff]").Render(templ.WithChildren(ctx, templ_7745c5c3_Var184), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = Icon("text-[#00f1ff]").Render(templ.WithChildren(ctx, templ_7745c5c3_Var104), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -3785,16 +2236,16 @@ func ProjectItem(project Project, extra string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var185 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var185 == nil {
- templ_7745c5c3_Var185 = templ.NopComponent
+ templ_7745c5c3_Var105 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var105 == nil {
+ templ_7745c5c3_Var105 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 219, "<div>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 117, "<div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Var186 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var106 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -3806,7 +2257,7 @@ func ProjectItem(project Project, extra string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 220, "<div class=\"flex flex-col gap-[0.0625rem] w-full\"><div class=\"flex flex-wrap items-baseline gap-x-[1ch] gap-y-[0.4rem]\">")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 118, "<div class=\"flex flex-col gap-[0.0625rem] w-full\"><div class=\"flex flex-wrap items-baseline gap-x-[1ch] gap-y-[0.4rem]\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -3814,180 +2265,138 @@ func ProjectItem(project Project, extra string) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 221, "<a href=\"")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 119, "<a href=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var187 templ.SafeURL
- templ_7745c5c3_Var187, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL("/projects/" + project.Slug))
+ var templ_7745c5c3_Var107 templ.SafeURL
+ templ_7745c5c3_Var107, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL("/projects/" + project.Slug))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 742, Col: 57}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 433, Col: 57}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var187))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var107))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 222, "\" class=\"text-[130%] font-bold text-(--accent)\">")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 120, "\" class=\"text-[130%] font-bold text-(--accent)\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var188 string
- templ_7745c5c3_Var188, templ_7745c5c3_Err = templ.JoinStringErrs(project.Title)
+ var templ_7745c5c3_Var108 string
+ templ_7745c5c3_Var108, templ_7745c5c3_Err = templ.JoinStringErrs(project.Title)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 742, Col: 121}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 433, Col: 121}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var188))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var108))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 223, "</a> <span class=\"text-[80%] text-(--primary)\">")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 121, "</a> <span class=\"text-[80%] text-(--primary)\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var189 string
- templ_7745c5c3_Var189, templ_7745c5c3_Err = templ.JoinStringErrs(project.Category)
+ var templ_7745c5c3_Var109 string
+ templ_7745c5c3_Var109, templ_7745c5c3_Err = templ.JoinStringErrs(project.Category)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 743, Col: 65}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 434, Col: 65}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var189))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var109))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 224, "</span> ")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 122, "</span> ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
for _, tag := range project.Tags {
- var templ_7745c5c3_Var190 = []any{"text-[75%] px-[0.4rem] inline-block rounded-[0.3rem] border-[0.01rem] bg-(--alt)/25" + " " + tag.Color}
- templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var190...)
+ var templ_7745c5c3_Var110 = []any{"text-[75%] px-[0.4rem] inline-block rounded-[0.3rem] border-[0.01rem] bg-(--alt)/25" + " " + tag.Color}
+ templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var110...)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 225, "<code class=\"")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 123, "<code class=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var191 string
- templ_7745c5c3_Var191, templ_7745c5c3_Err = templ.ResolveAttributeValue(templ.CSSClasses(templ_7745c5c3_Var190).String())
+ var templ_7745c5c3_Var111 string
+ templ_7745c5c3_Var111, templ_7745c5c3_Err = templ.ResolveAttributeValue(templ.CSSClasses(templ_7745c5c3_Var110).String())
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 1, Col: 0}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var191)
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var111)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 226, "\">")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 124, "\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var192 string
- templ_7745c5c3_Var192, templ_7745c5c3_Err = templ.JoinStringErrs(tag.Name)
+ var templ_7745c5c3_Var112 string
+ templ_7745c5c3_Var112, templ_7745c5c3_Err = templ.JoinStringErrs(tag.Name)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 745, Col: 136}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 436, Col: 136}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var192))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var112))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 227, "</code>")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 228, "<span class=\"ml-auto flex items-center self-center\">")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Var193 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = IconGit("text-(--primary)").Render(ctx, templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 125, "</code>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- return nil
- })
- templ_7745c5c3_Err = IconLink("https://git.example.com/foo", "git", "").Render(templ.WithChildren(ctx, templ_7745c5c3_Var193), templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
}
- templ_7745c5c3_Var194 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = IconGithub("text-(--secondary)").Render(ctx, templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- return nil
- })
- templ_7745c5c3_Err = IconLink("https://github.com/foo", "github", "").Render(templ.WithChildren(ctx, templ_7745c5c3_Var194), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 126, "<span class=\"ml-auto flex items-center self-center\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Var195 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
- templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
- templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
- if !templ_7745c5c3_IsBuffer {
- defer func() {
- templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err == nil {
- templ_7745c5c3_Err = templ_7745c5c3_BufErr
- }
- }()
- }
- ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = IconExternal("text-(--accent)").Render(ctx, templ_7745c5c3_Buffer)
+ for _, link := range project.Links {
+ templ_7745c5c3_Var113 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Err = link.Icon.Render(ctx, templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+ templ_7745c5c3_Err = IconLink(link.URL, link.Label, "").Render(templ.WithChildren(ctx, templ_7745c5c3_Var113), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- return nil
- })
- templ_7745c5c3_Err = IconLink("https://example.com", "website", "").Render(templ.WithChildren(ctx, templ_7745c5c3_Var195), templ_7745c5c3_Buffer)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 229, "</span></div><p class=\"text-[95%]\">")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 127, "</span></div><p class=\"text-[95%]\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var196 string
- templ_7745c5c3_Var196, templ_7745c5c3_Err = templ.JoinStringErrs(project.Desc)
+ var templ_7745c5c3_Var114 string
+ templ_7745c5c3_Var114, templ_7745c5c3_Err = templ.JoinStringErrs(project.Desc)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 762, Col: 40}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 449, Col: 40}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var196))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var114))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 230, "</p></div>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 128, "</p></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = TerminalBorder("", "", "[--border-py:0.25rem] py-2 text-[80%] bg-black/20 hover:bg-white/5 transition-colors duration-150"+" "+extra).Render(templ.WithChildren(ctx, templ_7745c5c3_Var186), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = TerminalBorder("", "", "[--border-py:0.25rem] py-2 text-[80%] bg-black/20 hover:bg-white/5 transition-colors duration-150"+" "+extra).Render(templ.WithChildren(ctx, templ_7745c5c3_Var106), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 231, "</div>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 129, "</div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -4016,12 +2425,12 @@ func ProjectsPage(style Style, projects []Project, pinned int) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var197 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var197 == nil {
- templ_7745c5c3_Var197 = templ.NopComponent
+ templ_7745c5c3_Var115 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var115 == nil {
+ templ_7745c5c3_Var115 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Var198 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var116 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -4037,7 +2446,7 @@ func ProjectsPage(style Style, projects []Project, pinned int) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Var199 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var117 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -4049,7 +2458,7 @@ func ProjectsPage(style Style, projects []Project, pinned int) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var200 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var118 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -4078,19 +2487,19 @@ func ProjectsPage(style Style, projects []Project, pinned int) templ.Component {
}
return nil
})
- templ_7745c5c3_Err = TerminalStack(false, "mt-[0.5rem]").Render(templ.WithChildren(ctx, templ_7745c5c3_Var200), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = TerminalStack(false, "mt-[0.5rem]").Render(templ.WithChildren(ctx, templ_7745c5c3_Var118), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = ScrollBox("").Render(templ.WithChildren(ctx, templ_7745c5c3_Var199), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = ScrollBox("").Render(templ.WithChildren(ctx, templ_7745c5c3_Var117), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = TerminalLayout(style, "/home/kyren/projects").Render(templ.WithChildren(ctx, templ_7745c5c3_Var198), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = TerminalLayout(style, "/home/kyren/projects").Render(templ.WithChildren(ctx, templ_7745c5c3_Var116), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -4114,12 +2523,12 @@ func NotFoundPage(style Style, path string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var201 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var201 == nil {
- templ_7745c5c3_Var201 = templ.NopComponent
+ templ_7745c5c3_Var119 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var119 == nil {
+ templ_7745c5c3_Var119 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Var202 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var120 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -4131,7 +2540,7 @@ func NotFoundPage(style Style, path string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var203 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var121 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -4143,7 +2552,7 @@ func NotFoundPage(style Style, path string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var204 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var122 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -4155,43 +2564,43 @@ func NotFoundPage(style Style, path string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 232, "<span><p>$ cd ~")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 130, "<span><p>$ cd ~")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var205 string
- templ_7745c5c3_Var205, templ_7745c5c3_Err = templ.JoinStringErrs(path)
+ var templ_7745c5c3_Var123 string
+ templ_7745c5c3_Var123, templ_7745c5c3_Err = templ.JoinStringErrs(path)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 797, Col: 20}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 484, Col: 20}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var205))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var123))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 233, "</p><p class=\"pt-3\">\"")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 131, "</p><p class=\"pt-3\">\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var206 string
- templ_7745c5c3_Var206, templ_7745c5c3_Err = templ.JoinStringErrs(path[1:])
+ var templ_7745c5c3_Var124 string
+ templ_7745c5c3_Var124, templ_7745c5c3_Err = templ.JoinStringErrs(path[1:])
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 798, Col: 32}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 485, Col: 32}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var206))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var124))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 234, "\": No such file or directory (os error 2) </p></span>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 132, "\": No such file or directory (os error 2) </p></span>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = TerminalBorder("Shell", "", "").Render(templ.WithChildren(ctx, templ_7745c5c3_Var204), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = TerminalBorder("Shell", "", "").Render(templ.WithChildren(ctx, templ_7745c5c3_Var122), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Var207 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var125 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -4203,24 +2612,24 @@ func NotFoundPage(style Style, path string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 235, "<span><div class=\"gap-[1ch]\"><span>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 133, "<span><div class=\"gap-[1ch]\"><span>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var208 string
- templ_7745c5c3_Var208, templ_7745c5c3_Err = templ.JoinStringErrs(">")
+ var templ_7745c5c3_Var126 string
+ templ_7745c5c3_Var126, templ_7745c5c3_Err = templ.JoinStringErrs(">")
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 804, Col: 17}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 491, Col: 17}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var208))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var126))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 236, "</span> <span class=\"text-(--secondary)\">")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 134, "</span> <span class=\"text-(--secondary)\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Var209 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var127 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -4232,39 +2641,39 @@ func NotFoundPage(style Style, path string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- var templ_7745c5c3_Var210 string
- templ_7745c5c3_Var210, templ_7745c5c3_Err = templ.JoinStringErrs("cd -")
+ var templ_7745c5c3_Var128 string
+ templ_7745c5c3_Var128, templ_7745c5c3_Err = templ.JoinStringErrs("cd -")
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 807, Col: 16}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 494, Col: 16}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var210))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var128))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = Link("javascript:history.back()", false).Render(templ.WithChildren(ctx, templ_7745c5c3_Var209), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = Link("javascript:history.back()", false).Render(templ.WithChildren(ctx, templ_7745c5c3_Var127), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 237, "</span> <span class=\"text-(--alt)\"># Previous page</span></div><div class=\"gap-[1ch]\"><span>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 135, "</span> <span class=\"text-(--alt)\"># Previous page</span></div><div class=\"gap-[1ch]\"><span>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var211 string
- templ_7745c5c3_Var211, templ_7745c5c3_Err = templ.JoinStringErrs(">")
+ var templ_7745c5c3_Var129 string
+ templ_7745c5c3_Var129, templ_7745c5c3_Err = templ.JoinStringErrs(">")
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 815, Col: 17}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 502, Col: 17}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var211))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var129))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 238, "</span> <span class=\"text-(--secondary)\">")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 136, "</span> <span class=\"text-(--secondary)\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Var212 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var130 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -4276,40 +2685,40 @@ func NotFoundPage(style Style, path string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- var templ_7745c5c3_Var213 string
- templ_7745c5c3_Var213, templ_7745c5c3_Err = templ.JoinStringErrs("cd $HOME")
+ var templ_7745c5c3_Var131 string
+ templ_7745c5c3_Var131, templ_7745c5c3_Err = templ.JoinStringErrs("cd $HOME")
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 818, Col: 20}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 505, Col: 20}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var213))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var131))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = Link("/", false).Render(templ.WithChildren(ctx, templ_7745c5c3_Var212), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = Link("/", false).Render(templ.WithChildren(ctx, templ_7745c5c3_Var130), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 239, "</span></div></span>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 137, "</span></div></span>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = TerminalBorder("", "", "").Render(templ.WithChildren(ctx, templ_7745c5c3_Var207), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = TerminalBorder("", "", "").Render(templ.WithChildren(ctx, templ_7745c5c3_Var125), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = TerminalStack(true, "").Render(templ.WithChildren(ctx, templ_7745c5c3_Var203), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = TerminalStack(true, "").Render(templ.WithChildren(ctx, templ_7745c5c3_Var121), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = TerminalLayout(style, "404").Render(templ.WithChildren(ctx, templ_7745c5c3_Var202), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = TerminalLayout(style, path).Render(templ.WithChildren(ctx, templ_7745c5c3_Var120), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -4333,38 +2742,38 @@ func ScrollBox(extra string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var214 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var214 == nil {
- templ_7745c5c3_Var214 = templ.NopComponent
+ templ_7745c5c3_Var132 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var132 == nil {
+ templ_7745c5c3_Var132 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- var templ_7745c5c3_Var215 = []any{"flex flex-1 min-h-0", extra}
- templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var215...)
+ var templ_7745c5c3_Var133 = []any{"flex flex-1 min-h-0", extra}
+ templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var133...)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 240, "<div data-scrollbox class=\"")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 138, "<div data-scrollbox class=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var216 string
- templ_7745c5c3_Var216, templ_7745c5c3_Err = templ.ResolveAttributeValue(templ.CSSClasses(templ_7745c5c3_Var215).String())
+ var templ_7745c5c3_Var134 string
+ templ_7745c5c3_Var134, templ_7745c5c3_Err = templ.ResolveAttributeValue(templ.CSSClasses(templ_7745c5c3_Var133).String())
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 1, Col: 0}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var216)
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var134)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 241, "\"><div data-scroll-area class=\"flex-1 min-w-0 overflow-y-auto border-[0.1rem] border-solid border-(--alt) p-[1rem] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden\">")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 139, "\"><div data-scroll-area class=\"flex-1 min-w-0 overflow-y-auto border-[0.1rem] border-solid border-(--alt) p-[1rem] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templ_7745c5c3_Var214.Render(ctx, templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = templ_7745c5c3_Var132.Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 242, "</div><div data-scroll-track class=\"relative w-8 -ml-[0.1rem] border-[0.1rem] border-solid border-(--alt)\"><div data-scroll-thumb class=\"absolute inset-x-[0.3rem] bg-(--secondary) cursor-grab touch-none\"></div></div></div>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 140, "</div><div data-scroll-track class=\"relative w-8 -ml-[0.1rem] border-[0.1rem] border-solid border-(--alt)\"><div data-scroll-thumb class=\"absolute inset-x-[0.3rem] bg-(--secondary) cursor-grab touch-none\"></div></div></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -4388,12 +2797,12 @@ func BlogsPage(style Style, blogs []Blog) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var217 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var217 == nil {
- templ_7745c5c3_Var217 = templ.NopComponent
+ templ_7745c5c3_Var135 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var135 == nil {
+ templ_7745c5c3_Var135 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Var218 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var136 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -4405,7 +2814,7 @@ func BlogsPage(style Style, blogs []Blog) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var219 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var137 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -4417,17 +2826,17 @@ func BlogsPage(style Style, blogs []Blog) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 243, "$ ls -lh ~/blogs")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 141, "$ ls -lh ~/blogs")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = TerminalBorder("Shell", "", "mb-[1rem]").Render(templ.WithChildren(ctx, templ_7745c5c3_Var219), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = TerminalBorder("Shell", "", "mb-[1rem]").Render(templ.WithChildren(ctx, templ_7745c5c3_Var137), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Var220 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var138 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -4439,7 +2848,7 @@ func BlogsPage(style Style, blogs []Blog) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var221 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var139 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -4461,19 +2870,19 @@ func BlogsPage(style Style, blogs []Blog) templ.Component {
}
return nil
})
- templ_7745c5c3_Err = TerminalStack(false, "mt-[0.5rem]").Render(templ.WithChildren(ctx, templ_7745c5c3_Var221), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = TerminalStack(false, "mt-[0.5rem]").Render(templ.WithChildren(ctx, templ_7745c5c3_Var139), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = ScrollBox("").Render(templ.WithChildren(ctx, templ_7745c5c3_Var220), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = ScrollBox("").Render(templ.WithChildren(ctx, templ_7745c5c3_Var138), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = TerminalLayout(style, "blogs").Render(templ.WithChildren(ctx, templ_7745c5c3_Var218), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = TerminalLayout(style, "blogs").Render(templ.WithChildren(ctx, templ_7745c5c3_Var136), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -4504,12 +2913,12 @@ func IconMonitor(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var222 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var222 == nil {
- templ_7745c5c3_Var222 = templ.NopComponent
+ templ_7745c5c3_Var140 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var140 == nil {
+ templ_7745c5c3_Var140 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Var223 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var141 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -4521,13 +2930,13 @@ func IconMonitor(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 244, "<rect width=\"20\" height=\"14\" x=\"2\" y=\"3\" rx=\"2\"></rect> <line x1=\"8\" x2=\"16\" y1=\"21\" y2=\"21\"></line> <line x1=\"12\" x2=\"12\" y1=\"17\" y2=\"21\"></line>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 142, "<rect width=\"20\" height=\"14\" x=\"2\" y=\"3\" rx=\"2\"></rect> <line x1=\"8\" x2=\"16\" y1=\"21\" y2=\"21\"></line> <line x1=\"12\" x2=\"12\" y1=\"17\" y2=\"21\"></line>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var223), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var141), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -4551,12 +2960,12 @@ func IconTerminal(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var224 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var224 == nil {
- templ_7745c5c3_Var224 = templ.NopComponent
+ templ_7745c5c3_Var142 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var142 == nil {
+ templ_7745c5c3_Var142 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Var225 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var143 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -4568,13 +2977,13 @@ func IconTerminal(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 245, "<polyline points=\"4 17 10 11 4 5\"></polyline> <line x1=\"12\" x2=\"20\" y1=\"19\" y2=\"19\"></line>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 143, "<polyline points=\"4 17 10 11 4 5\"></polyline> <line x1=\"12\" x2=\"20\" y1=\"19\" y2=\"19\"></line>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var225), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var143), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -4598,12 +3007,12 @@ func IconCode(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var226 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var226 == nil {
- templ_7745c5c3_Var226 = templ.NopComponent
+ templ_7745c5c3_Var144 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var144 == nil {
+ templ_7745c5c3_Var144 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Var227 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var145 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -4615,13 +3024,13 @@ func IconCode(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 246, "<polyline points=\"16 18 22 12 16 6\"></polyline> <polyline points=\"8 6 2 12 8 18\"></polyline>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 144, "<polyline points=\"16 18 22 12 16 6\"></polyline> <polyline points=\"8 6 2 12 8 18\"></polyline>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var227), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var145), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -4645,12 +3054,12 @@ func IconCpu(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var228 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var228 == nil {
- templ_7745c5c3_Var228 = templ.NopComponent
+ templ_7745c5c3_Var146 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var146 == nil {
+ templ_7745c5c3_Var146 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Var229 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var147 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -4662,13 +3071,13 @@ func IconCpu(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 247, "<rect width=\"16\" height=\"16\" x=\"4\" y=\"4\" rx=\"2\"></rect> <rect width=\"6\" height=\"6\" x=\"9\" y=\"9\" rx=\"1\"></rect> <path d=\"M15 2v2M15 20v2M2 15h2M2 9h2M20 15h2M20 9h2M9 2v2M9 20v2\"></path>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 145, "<rect width=\"16\" height=\"16\" x=\"4\" y=\"4\" rx=\"2\"></rect> <rect width=\"6\" height=\"6\" x=\"9\" y=\"9\" rx=\"1\"></rect> <path d=\"M15 2v2M15 20v2M2 15h2M2 9h2M20 15h2M20 9h2M9 2v2M9 20v2\"></path>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var229), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var147), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -4692,12 +3101,12 @@ func IconScriptLang(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var230 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var230 == nil {
- templ_7745c5c3_Var230 = templ.NopComponent
+ templ_7745c5c3_Var148 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var148 == nil {
+ templ_7745c5c3_Var148 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Var231 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var149 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -4709,13 +3118,13 @@ func IconScriptLang(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 248, "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-file-terminal preview-icon\"><path d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"></path><path d=\"M14 2v5a1 1 0 0 0 1 1h5\"></path><path d=\"m8 16 2-2-2-2\"></path><path d=\"M12 18h4\"></path></svg>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 146, "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-file-terminal preview-icon\"><path d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"></path><path d=\"M14 2v5a1 1 0 0 0 1 1h5\"></path><path d=\"m8 16 2-2-2-2\"></path><path d=\"M12 18h4\"></path></svg>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var231), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var149), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -4739,12 +3148,12 @@ func IconEditor(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var232 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var232 == nil {
- templ_7745c5c3_Var232 = templ.NopComponent
+ templ_7745c5c3_Var150 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var150 == nil {
+ templ_7745c5c3_Var150 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Var233 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var151 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -4756,13 +3165,13 @@ func IconEditor(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 249, "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-square-pen preview-icon\"><path d=\"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"></path><path d=\"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z\"></path></svg>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 147, "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-square-pen preview-icon\"><path d=\"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"></path><path d=\"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z\"></path></svg>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var233), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var151), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -4786,12 +3195,12 @@ func IconDebugger(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var234 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var234 == nil {
- templ_7745c5c3_Var234 = templ.NopComponent
+ templ_7745c5c3_Var152 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var152 == nil {
+ templ_7745c5c3_Var152 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Var235 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var153 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -4803,13 +3212,13 @@ func IconDebugger(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 250, "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-bug-off preview-icon\"><path d=\"M12 20v-8\"></path><path d=\"M12.656 7H14a4 4 0 0 1 4 4v1.344\"></path><path d=\"M14.12 3.88 16 2\"></path><path d=\"M17.123 17.123A6 6 0 0 1 6 14v-3a4 4 0 0 1 1.72-3.287\"></path><path d=\"m2 2 20 20\"></path><path d=\"M21 5a4 4 0 0 1-3.55 3.97\"></path><path d=\"M22 13h-3.344\"></path><path d=\"M3 21a4 4 0 0 1 3.81-4\"></path><path d=\"M3 5a4 4 0 0 0 3.55 3.97\"></path><path d=\"M6 13H2\"></path><path d=\"m8 2 1.88 1.88\"></path><path d=\"M9.712 4.06A3 3 0 0 1 15 6v1.13\"></path></svg>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 148, "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-bug-off preview-icon\"><path d=\"M12 20v-8\"></path><path d=\"M12.656 7H14a4 4 0 0 1 4 4v1.344\"></path><path d=\"M14.12 3.88 16 2\"></path><path d=\"M17.123 17.123A6 6 0 0 1 6 14v-3a4 4 0 0 1 1.72-3.287\"></path><path d=\"m2 2 20 20\"></path><path d=\"M21 5a4 4 0 0 1-3.55 3.97\"></path><path d=\"M22 13h-3.344\"></path><path d=\"M3 21a4 4 0 0 1 3.81-4\"></path><path d=\"M3 5a4 4 0 0 0 3.55 3.97\"></path><path d=\"M6 13H2\"></path><path d=\"m8 2 1.88 1.88\"></path><path d=\"M9.712 4.06A3 3 0 0 1 15 6v1.13\"></path></svg>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var235), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var153), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -4833,12 +3242,12 @@ func IconKeyboard(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var236 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var236 == nil {
- templ_7745c5c3_Var236 = templ.NopComponent
+ templ_7745c5c3_Var154 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var154 == nil {
+ templ_7745c5c3_Var154 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Var237 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var155 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -4850,13 +3259,13 @@ func IconKeyboard(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 251, "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-keyboard preview-icon\"><path d=\"M10 8h.01\"></path><path d=\"M12 12h.01\"></path><path d=\"M14 8h.01\"></path><path d=\"M16 12h.01\"></path><path d=\"M18 8h.01\"></path><path d=\"M6 8h.01\"></path><path d=\"M7 16h10\"></path><path d=\"M8 12h.01\"></path><rect width=\"20\" height=\"16\" x=\"2\" y=\"4\" rx=\"2\"></rect></svg>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 149, "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-keyboard preview-icon\"><path d=\"M10 8h.01\"></path><path d=\"M12 12h.01\"></path><path d=\"M14 8h.01\"></path><path d=\"M16 12h.01\"></path><path d=\"M18 8h.01\"></path><path d=\"M6 8h.01\"></path><path d=\"M7 16h10\"></path><path d=\"M8 12h.01\"></path><rect width=\"20\" height=\"16\" x=\"2\" y=\"4\" rx=\"2\"></rect></svg>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var237), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var155), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -4880,12 +3289,247 @@ func IconUptime(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var238 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var238 == nil {
- templ_7745c5c3_Var238 = templ.NopComponent
+ templ_7745c5c3_Var156 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var156 == nil {
+ templ_7745c5c3_Var156 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Var157 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 150, "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-clock preview-icon\"><circle cx=\"12\" cy=\"12\" r=\"10\"></circle><path d=\"M12 6v6l4 2\"></path></svg>")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+ templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var157), templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+func IconEko(color string) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var158 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var158 == nil {
+ templ_7745c5c3_Var158 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Var159 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 151, "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-wifi preview-icon\"><path d=\"M12 20h.01\"></path><path d=\"M2 8.82a15 15 0 0 1 20 0\"></path><path d=\"M5 12.859a10 10 0 0 1 14 0\"></path><path d=\"M8.5 16.429a5 5 0 0 1 7 0\"></path></svg>")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+ templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var159), templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+func IconTrident(color string) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var160 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var160 == nil {
+ templ_7745c5c3_Var160 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Var161 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 152, "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide preview-icon\"><path d=\"m16 2-2.3 2.3a3 3 0 0 0 0 4.2l1.8 1.8a3 3 0 0 0 4.2 0L22 8\"></path> <path d=\"M19 5 2.1 21.9\"></path></svg>")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+ templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var161), templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+func IconDotfiles(color string) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var162 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var162 == nil {
+ templ_7745c5c3_Var162 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Var163 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 153, "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-settings preview-icon\"><path d=\"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915\"></path><circle cx=\"12\" cy=\"12\" r=\"3\"></circle></svg>")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+ templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var163), templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+func IconVideo(color string) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var164 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var164 == nil {
+ templ_7745c5c3_Var164 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Var165 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 154, " <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-monitor-play preview-icon\"><path d=\"M15.033 9.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56V7.648a.645.645 0 0 1 .967-.56z\"></path><path d=\"M12 17v4\"></path><path d=\"M8 21h8\"></path><rect x=\"2\" y=\"3\" width=\"20\" height=\"14\" rx=\"2\"></rect></svg>")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+ templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var165), templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
+func IconJetbrains(color string) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var166 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var166 == nil {
+ templ_7745c5c3_Var166 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Var239 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Var167 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
@@ -4897,13 +3541,13 @@ func IconUptime(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 252, "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"lucide lucide-clock preview-icon\"><circle cx=\"12\" cy=\"12\" r=\"10\"></circle><path d=\"M12 6v6l4 2\"></path></svg>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 155, "<svg fill=\"none\" viewBox=\"0 0 64 64\" xmlns=\"http://www.w3.org/2000/svg\"><defs><linearGradient id=\"_R_34j5_\" x1=\"0.85\" x2=\"62.62\" y1=\"62.72\" y2=\"1.81\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#FF9419\"></stop> <stop offset=\"0.43\" stop-color=\"#FF021D\"></stop> <stop offset=\"0.99\" stop-color=\"#E600FF\"></stop></linearGradient></defs> <path fill=\"url(#_R_34j5_)\" d=\"M20.34 3.66 3.66 20.34A12.5 12.5 0 0 0 0 29.18V59c0 2.76 2.24 5 5 5h29.82c3.32 0 6.49-1.32 8.84-3.66l16.68-16.68c2.34-2.34 3.66-5.52 3.66-8.84V5c0-2.76-2.24-5-5-5H29.18c-3.32 0-6.49 1.32-8.84 3.66\"></path> <path fill=\"#000\" d=\"M48 16H8v40h40z\"></path> <path fill=\"#fff\" d=\"M30 47H13v4h17z\"></path></svg>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return nil
})
- templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var239), templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = Icon(color).Render(templ.WithChildren(ctx, templ_7745c5c3_Var167), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -4917,12 +3561,12 @@ func row(icon func(color string) templ.Component, color, label, value string) Fe
var fetchRows = []FetchRow{
// row(IconTerminal, "text-(--secondary)", "Terminal", "Ghostty & Zsh"),
- row(IconCode, "--accent", "Main Language", "C"),
- row(IconScriptLang, "--accent", "Scripting Langs", "Go and Python"),
- row(IconDebugger, "#F16265", "Debugger", "Raddebugger"),
- row(IconMonitor, "#54D7A9", "Operating System", "Fedora KDE Linux"),
- row(IconEditor, "#54D7A9", "Text Editor", "Neovim"),
- row(IconUptime, "#D8C44B", "Uptime", "Asleep"),
+ row(IconCode, "text-(--accent)", "Main Language", "C"),
+ row(IconScriptLang, "text-(--accent)", "Scripting Langs", "Go and Python"),
+ row(IconDebugger, "text-[#F16265]", "Debugger", "Raddebugger"),
+ row(IconMonitor, "text-[#54D7A9]", "Operating System", "Fedora KDE Linux"),
+ row(IconEditor, "text-[#54D7A9]", "Text Editor", "Neovim"),
+ row(IconUptime, "text-[#D8C44B]", "Uptime", "Asleep"),
// row(IconCpu, "--extra", "Hardware", "..."),
}
@@ -4955,30 +3599,30 @@ func Fastfetch(rows []FetchRow) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var240 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var240 == nil {
- templ_7745c5c3_Var240 = templ.NopComponent
+ templ_7745c5c3_Var168 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var168 == nil {
+ templ_7745c5c3_Var168 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 253, "<div style=\"\n\t\tdisplay: grid;\n\t\tgrid-template-columns: auto auto auto 1fr;\n\t\talign-items: center;\n\t\tcolumn-gap: 1ch;\n\t\tline-height: normal;\n\t\">")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 156, "<div style=\"\n\t\tdisplay: grid;\n\t\tgrid-template-columns: auto auto auto 1fr;\n\t\talign-items: center;\n\t\tcolumn-gap: 1ch;\n\t\tline-height: normal;\n\t\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
for i, row := range rows {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 254, "<span class=\"text-(--alt)\">")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 157, "<span class=\"text-(--alt)\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var241 string
- templ_7745c5c3_Var241, templ_7745c5c3_Err = templ.JoinStringErrs(branch(i, len(rows)))
+ var templ_7745c5c3_Var169 string
+ templ_7745c5c3_Var169, templ_7745c5c3_Err = templ.JoinStringErrs(branch(i, len(rows)))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 962, Col: 52}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 694, Col: 52}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var241))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var169))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 255, "</span>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 158, "</span>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -4986,69 +3630,69 @@ func Fastfetch(rows []FetchRow) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var242 = []any{row.Color, "font-bold"}
- templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var242...)
+ var templ_7745c5c3_Var170 = []any{row.Color, "font-bold"}
+ templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var170...)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 256, "<span class=\"")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 159, "<span class=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var243 string
- templ_7745c5c3_Var243, templ_7745c5c3_Err = templ.ResolveAttributeValue(templ.CSSClasses(templ_7745c5c3_Var242).String())
+ var templ_7745c5c3_Var171 string
+ templ_7745c5c3_Var171, templ_7745c5c3_Err = templ.ResolveAttributeValue(templ.CSSClasses(templ_7745c5c3_Var170).String())
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 1, Col: 0}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var243)
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var171)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 257, "\">")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 160, "\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var244 string
- templ_7745c5c3_Var244, templ_7745c5c3_Err = templ.JoinStringErrs(row.Label)
+ var templ_7745c5c3_Var172 string
+ templ_7745c5c3_Var172, templ_7745c5c3_Err = templ.JoinStringErrs(row.Label)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 964, Col: 53}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 696, Col: 53}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var244))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var172))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 258, "</span> <span id=\"")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 161, "</span> <span id=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var245 string
- templ_7745c5c3_Var245, templ_7745c5c3_Err = templ.ResolveAttributeValue(row.Label)
+ var templ_7745c5c3_Var173 string
+ templ_7745c5c3_Var173, templ_7745c5c3_Err = templ.ResolveAttributeValue(row.Label)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 965, Col: 23}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 697, Col: 23}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var245)
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var173)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 259, "\">")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 162, "\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var246 string
- templ_7745c5c3_Var246, templ_7745c5c3_Err = templ.JoinStringErrs(row.Value)
+ var templ_7745c5c3_Var174 string
+ templ_7745c5c3_Var174, templ_7745c5c3_Err = templ.JoinStringErrs(row.Value)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 965, Col: 37}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 697, Col: 37}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var246))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var174))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 260, "</span>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 163, "</span>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 261, "</div>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 164, "</div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -5072,38 +3716,38 @@ func Icon(color string) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var247 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var247 == nil {
- templ_7745c5c3_Var247 = templ.NopComponent
+ templ_7745c5c3_Var175 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var175 == nil {
+ templ_7745c5c3_Var175 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- var templ_7745c5c3_Var248 = []any{"shrink-0", Color(color)}
- templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var248...)
+ var templ_7745c5c3_Var176 = []any{"shrink-0", Color(color), "self-center"}
+ templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var176...)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 262, "<svg width=\"1.1em\" height=\"1.1em\" class=\"")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 165, "<svg width=\"1.1em\" height=\"1.1em\" class=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var249 string
- templ_7745c5c3_Var249, templ_7745c5c3_Err = templ.ResolveAttributeValue(templ.CSSClasses(templ_7745c5c3_Var248).String())
+ var templ_7745c5c3_Var177 string
+ templ_7745c5c3_Var177, templ_7745c5c3_Err = templ.ResolveAttributeValue(templ.CSSClasses(templ_7745c5c3_Var176).String())
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `website.templ`, Line: 1, Col: 0}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var249)
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var177)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 263, "\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 166, "\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templ_7745c5c3_Var247.Render(ctx, templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = templ_7745c5c3_Var175.Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 264, "</svg>")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 167, "</svg>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}