370 lines
20 KiB
HTML
370 lines
20 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
<!-- Warm up the origins this page's JS fetches on load (heatmap + WakaTime stats) -->
|
|
<link rel="preconnect" href="https://contrib.doughmination.uk" crossorigin>
|
|
<link rel="dns-prefetch" href="https://contrib.doughmination.uk">
|
|
<link rel="preconnect" href="https://wakatime.com">
|
|
<link rel="dns-prefetch" href="https://wakatime.com">
|
|
|
|
<title>Clove Twilight</title>
|
|
<link rel="stylesheet" href="/css/main.css">
|
|
<script>try { var f = localStorage.getItem('ctpFlavor'); document.documentElement.setAttribute('data-flavor', ['mocha', 'macchiato', 'frappe', 'latte'].indexOf(f) >= 0 ? f : 'mocha'); } catch (e) { document.documentElement.setAttribute('data-flavor', 'mocha'); }</script>
|
|
<link rel="icon" type="image/svg+xml" href="/assets/favicon/favicon.svg">
|
|
|
|
<!-- SEO Meta Tags -->
|
|
<meta name="description"
|
|
content="What Clove Twilight has been coding lately — a live contribution heatmap and WakaTime coding stats.">
|
|
<meta name="keywords"
|
|
content="Clove Twilight, c.stupid.cat, dev info, coding stats, WakaTime, contributions, developer">
|
|
<meta name="author" content="doughmination">
|
|
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
|
|
|
|
<!-- Canonical URL -->
|
|
<link rel="canonical" href="https://c.stupid.cat/dev-info">
|
|
|
|
<!-- Alternate for mobile -->
|
|
<link rel="alternate" media="only screen and (max-width: 640px)" href="https://c.stupid.cat/dev-info">
|
|
|
|
<!-- Theme Color -->
|
|
<meta name="theme-color" content="#f5c2e7">
|
|
|
|
<!-- Open Graph / Discord / Facebook -->
|
|
<meta property="og:image" content="https://c.stupid.cat/assets/favicon/favicon.png">
|
|
<meta property="og:site_name" content="c.stupid.cat">
|
|
<meta property="og:title" content="Clove Twilight">
|
|
<meta property="og:description"
|
|
content="What Clove Twilight has been coding lately — a live contribution heatmap and WakaTime coding stats.">
|
|
<meta property="og:type" content="website">
|
|
<meta property="og:url" content="https://c.stupid.cat/dev-info">
|
|
<meta property="og:locale" content="en_GB">
|
|
|
|
<!-- Twitter Card -->
|
|
<meta name="twitter:image" content="https://c.stupid.cat/assets/favicon/favicon.png">
|
|
<meta name="twitter:card" content="summary">
|
|
<meta name="twitter:title" content="Clove Twilight">
|
|
<meta name="twitter:description"
|
|
content="What Clove Twilight has been coding lately — a live contribution heatmap and WakaTime coding stats.">
|
|
|
|
<!-- Prefetch other pages for faster navigation -->
|
|
<link rel="prefetch" href="/">
|
|
<link rel="prefetch" href="/cool-people">
|
|
<link rel="prefetch" href="/discord">
|
|
<link rel="prefetch" href="/projects">
|
|
<link rel="prefetch" href="/music">
|
|
<link rel="prefetch" href="/88x31">
|
|
<link rel="prefetch" href="/guestbook">
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<header class="nav">
|
|
<nav class="nav-links">
|
|
<a class="nav-link" data-href="/">Home</a>
|
|
<a class="nav-link" data-href="/cool-people">Cool People</a>
|
|
<a class="nav-link selected" data-href="/dev-info">Dev Info</a>
|
|
<a class="nav-link" data-href="/discord">Discord</a>
|
|
<a class="nav-link" data-href="/projects">Projects</a>
|
|
<a class="nav-link" data-href="/music">Music</a>
|
|
<a class="nav-link" data-href="/88x31">88x31</a>
|
|
<a class="nav-link" data-href="/guestbook">Guestbook</a>
|
|
<a class="nav-link" data-href="/ascii">ASCII</a>
|
|
</nav>
|
|
</header>
|
|
|
|
<main class="waka">
|
|
|
|
<header class="hub-header">
|
|
<img class="pfp" src="/assets/favicon/avatar.png" alt="Clove Twilight avatar">
|
|
<h1>Clove Twilight</h1>
|
|
<h2 class="pronouns">(fae/faer)</h2>
|
|
<p class="tagline">Dev Info</p>
|
|
<p class="waka-meta" id="waka-meta" hidden></p>
|
|
</header>
|
|
|
|
<details class="waka-section tech-stack" id="tech-stack">
|
|
<summary class="section-title">Tech Stack</summary>
|
|
<div class="dev-info" role="region" aria-label="Tech stack">
|
|
<!-- Languages -->
|
|
<span class="tech-icon red" style="--si:url('https://cdn.simpleicons.org/python')" role="img"
|
|
aria-label="Python"></span>
|
|
<span class="tech-icon mauve" style="--si:url('https://cdn.simpleicons.org/openjdk')" role="img"
|
|
aria-label="Java"></span>
|
|
<span class="tech-icon pink" style="--si:url('https://cdn.simpleicons.org/javascript')" role="img"
|
|
aria-label="JavaScript"></span>
|
|
<span class="tech-icon peach" style="--si:url('https://cdn.simpleicons.org/typescript')" role="img"
|
|
aria-label="TypeScript"></span>
|
|
<span class="tech-icon yellow" style="--si:url('https://cdn.simpleicons.org/gnubash')" role="img"
|
|
aria-label="Bash Script"></span>
|
|
|
|
<!-- Markup, Styling & Docs -->
|
|
<span class="tech-icon lavender" style="--si:url('https://cdn.simpleicons.org/html5')" role="img"
|
|
aria-label="HTML5"></span>
|
|
<span class="tech-icon teal" style="--si:url('https://cdn.simpleicons.org/css')" role="img"
|
|
aria-label="CSS"></span>
|
|
<span class="tech-icon blue" style="--si:url('https://cdn.simpleicons.org/markdown')" role="img"
|
|
aria-label="Markdown"></span>
|
|
<span class="tech-icon teal" style="--si:url('https://cdn.simpleicons.org/latex')" role="img"
|
|
aria-label="LaTeX"></span>
|
|
|
|
<!-- Frontend — Frameworks & Libraries -->
|
|
<span class="tech-icon blue" style="--si:url('https://cdn.simpleicons.org/react')" role="img"
|
|
aria-label="React"></span>
|
|
<span class="tech-icon sapphire" style="--si:url('https://cdn.simpleicons.org/vuedotjs')" role="img"
|
|
aria-label="Vue.js"></span>
|
|
<span class="tech-icon rosewater" style="--si:url('https://cdn.simpleicons.org/nextdotjs')" role="img"
|
|
aria-label="Next JS"></span>
|
|
<span class="tech-icon blue" style="--si:url('https://cdn.simpleicons.org/ejs')" role="img"
|
|
aria-label="EJS"></span>
|
|
<span class="tech-icon teal" style="--si:url('https://cdn.simpleicons.org/electron')" role="img"
|
|
aria-label="Electron.js"></span>
|
|
|
|
<!-- Frontend — Styling -->
|
|
<span class="tech-icon red" style="--si:url('https://cdn.simpleicons.org/tailwindcss')" role="img"
|
|
aria-label="TailwindCSS"></span>
|
|
<span class="tech-icon lavender" style="--si:url('https://cdn.simpleicons.org/bootstrap')" role="img"
|
|
aria-label="Bootstrap"></span>
|
|
|
|
<!-- Backend -->
|
|
<span class="tech-icon pink" style="--si:url('https://cdn.simpleicons.org/nodedotjs')" role="img"
|
|
aria-label="NodeJS"></span>
|
|
<span class="tech-icon green" style="--si:url('https://cdn.simpleicons.org/express')" role="img"
|
|
aria-label="Express.js"></span>
|
|
<span class="tech-icon peach" style="--si:url('https://cdn.simpleicons.org/fastapi')" role="img"
|
|
aria-label="FastAPI"></span>
|
|
<span class="tech-icon maroon" style="--si:url('https://cdn.simpleicons.org/jsonwebtokens')" role="img"
|
|
aria-label="JWT"></span>
|
|
<span class="tech-icon rosewater" style="--si:url('https://cdn.simpleicons.org/wordpress')" role="img"
|
|
aria-label="WordPress"></span>
|
|
|
|
<!-- Databases -->
|
|
<span class="tech-icon teal" style="--si:url('https://cdn.simpleicons.org/postgresql')" role="img"
|
|
aria-label="Postgres"></span>
|
|
<span class="tech-icon lavender" style="--si:url('https://cdn.simpleicons.org/mysql')" role="img"
|
|
aria-label="MySQL"></span>
|
|
<span class="tech-icon blue" style="--si:url('https://cdn.simpleicons.org/sqlite')" role="img"
|
|
aria-label="SQLite"></span>
|
|
<span class="tech-icon green" style="--si:url('https://cdn.simpleicons.org/redis')" role="img"
|
|
aria-label="Redis"></span>
|
|
|
|
<!-- Package Managers & Build Tools -->
|
|
<span class="tech-icon sapphire" style="--si:url('https://cdn.simpleicons.org/npm')" role="img"
|
|
aria-label="NPM"></span>
|
|
<span class="tech-icon lavender" style="--si:url('https://cdn.simpleicons.org/pnpm')" role="img"
|
|
aria-label="PNPM"></span>
|
|
<span class="tech-icon maroon" style="--si:url('https://cdn.simpleicons.org/vite')" role="img"
|
|
aria-label="Vite"></span>
|
|
<span class="tech-icon mauve" style="--si:url('https://cdn.simpleicons.org/nodemon')" role="img"
|
|
aria-label="Nodemon"></span>
|
|
<span class="tech-icon green" style="--si:url('https://cdn.simpleicons.org/gradle')" role="img"
|
|
aria-label="Gradle"></span>
|
|
<span class="tech-icon blue" style="--si:url('https://cdn.simpleicons.org/eslint')" role="img"
|
|
aria-label="ESLint"></span>
|
|
|
|
<!-- Version Control & CI/CD -->
|
|
<span class="tech-icon sapphire" style="--si:url('https://cdn.simpleicons.org/git')" role="img"
|
|
aria-label="Git"></span>
|
|
<span class="tech-icon sky" style="--si:url('https://cdn.simpleicons.org/github')" role="img"
|
|
aria-label="GitHub"></span>
|
|
<span class="tech-icon maroon" style="--si:url('https://cdn.simpleicons.org/githubactions')" role="img"
|
|
aria-label="GitHub Actions"></span>
|
|
<span class="tech-icon rosewater" style="--si:url('https://cdn.simpleicons.org/gitea')" role="img"
|
|
aria-label="Gitea"></span>
|
|
|
|
<!-- Infrastructure & Deployment -->
|
|
<span class="tech-icon lavender" style="--si:url('https://cdn.simpleicons.org/docker')" role="img"
|
|
aria-label="Docker"></span>
|
|
<span class="tech-icon mauve" style="--si:url('https://cdn.simpleicons.org/nginx')" role="img"
|
|
aria-label="Nginx"></span>
|
|
<span class="tech-icon sapphire" style="--si:url('https://cdn.simpleicons.org/cloudflare')" role="img"
|
|
aria-label="Cloudflare"></span>
|
|
<span class="tech-icon mauve" style="--si:url('https://cdn.simpleicons.org/vercel')" role="img"
|
|
aria-label="Vercel"></span>
|
|
|
|
<!-- Dev Tools & Utilities -->
|
|
<span class="tech-icon blue" style="--si:url('https://cdn.simpleicons.org/vscodium')" role="img"
|
|
aria-label="VSCodium"></span>
|
|
<span class="tech-icon red" style="--si:url('https://cdn.simpleicons.org/insomnia')" role="img"
|
|
aria-label="Insomnia"></span>
|
|
<span class="tech-icon teal" style="--si:url('https://cdn.simpleicons.org/ffmpeg')" role="img"
|
|
aria-label="FFmpeg"></span>
|
|
<span class="tech-icon red" style="--si:url('https://cdn.simpleicons.org/inkscape')" role="img"
|
|
aria-label="Inkscape"></span>
|
|
|
|
<!-- Hardware / IoT -->
|
|
<span class="tech-icon pink" style="--si:url('https://cdn.simpleicons.org/arduino')" role="img"
|
|
aria-label="Arduino"></span>
|
|
<span class="tech-icon red" style="--si:url('https://cdn.simpleicons.org/raspberrypi')" role="img"
|
|
aria-label="Raspberry Pi"></span>
|
|
</div>
|
|
</details>
|
|
|
|
<details class="waka-section hardware" id="waka-section-hardware">
|
|
<summary class="section-title">Hardware</summary>
|
|
<p class="hw-intro">This is the beast setup I daily-drive. ✨</p>
|
|
<dl class="hw-list">
|
|
<div class="hw-row">
|
|
<dt>CPU</dt>
|
|
<dd><a class="hw-item"
|
|
href="https://uk.pcpartpicker.com/product/Pk62FT/amd-ryzen-9-9950x3d-43-ghz-16-core-processor-100-100000719wof">AMD
|
|
Ryzen 9 9950x3d 4.3 GHz 16-Core Processor</a></dd>
|
|
</div>
|
|
<div class="hw-row">
|
|
<dt>GPU</dt>
|
|
<dd><a class="hw-item"
|
|
href="https://uk.pcpartpicker.com/product/GtXJ7P/xfx-speedster-merc-310-black-edition-radeon-rx-7900-xtx-24-gb-video-card-rx-79xmercb9">XFX
|
|
Speedster MERC 310 Black Edition Radeon RX 7900 XTX 24 GB Video Card</a></dd>
|
|
</div>
|
|
<div class="hw-row">
|
|
<dt>RAM</dt>
|
|
<dd><a class="hw-item"
|
|
href="https://uk.pcpartpicker.com/product/LWVmP6/corsair-vengeance-64-gb-2-x-32-gb-ddr5-6000-cl40-memory-cmk64gx5m2b6000z40">Corsair
|
|
Vengeance 64 GB (2 x 32 GB) DDR5-6000 CL40 Memory</a></dd>
|
|
</div>
|
|
<div class="hw-row">
|
|
<dt>Storage</dt>
|
|
<dd><a class="hw-item"
|
|
href="https://uk.pcpartpicker.com/product/YPKscf/acer-predator-gm7-1-tb-m2-2280-pcie-40-x4-nvme-solid-state-drive-bl9bwwr118">2x
|
|
1TB NVMe</a> + <a class="hw-item"
|
|
href="https://uk.pcpartpicker.com/product/fmfhP6/seagate-exos-x14-12-tb-35-7200-rpm-internal-hard-drive-st12000nm0008">10TB
|
|
HDD</a></dd>
|
|
</div>
|
|
<div class="hw-row">
|
|
<dt>Motherboard</dt>
|
|
<dd><a class="hw-item"
|
|
href="https://uk.pcpartpicker.com/product/Q8KnTW/gigabyte-b850m-aorus-elite-wifi6e-ice-micro-atx-am5-motherboard-b850m-aorus-elite-wifi6e-ice">Gigabyte
|
|
B850M AORUS ELITE WIFI6E ICE Micro ATX AM5 Motherboard</a></dd>
|
|
</div>
|
|
<div class="hw-row">
|
|
<dt>Cooling</dt>
|
|
<dd><a class="hw-item"
|
|
href="https://uk.pcpartpicker.com/product/YXFmP6/thermalright-aqua-elite-v3-6617-cfm-liquid-cpu-cooler-aqua-elite-360-white-v3">Thermalright
|
|
Aqua Elite V3 66.17 CFM Liquid CPU Cooler</a></dd>
|
|
</div>
|
|
<div class="hw-row">
|
|
<dt>Keyboard</dt>
|
|
<dd><a class="hw-item"
|
|
href="https://en.akkogear.com/product/sakura-miku-5108b-plus-mechanical-keyboard/">Akko
|
|
Sakura Miku 5108B Plus</a></dd>
|
|
</div>
|
|
<div class="hw-row">
|
|
<dt>Mouse</dt>
|
|
<dd><a class="hw-item"
|
|
href="https://www.logitechg.com/en-gb/shop/p/g502-x-plus-wireless-lightforce.910-006163">Logitech
|
|
G502 X Gaming Lightspeed Wireless</a></dd>
|
|
</div>
|
|
<div class="hw-row">
|
|
<dt>Monitor(s)</dt>
|
|
<dd><a class="hw-item"
|
|
href="https://uk.pcpartpicker.com/product/XpVfrH/gigabyte-g34wqcp-340-3440-x-1440-180-hz-curved-monitor-g34wqcp">Gigabyte
|
|
G34WQCP 34.0" 3440 x 1440 180 Hz Curved Monitor</a></dd>
|
|
</div>
|
|
<div class="hw-row">
|
|
<dt>Headphones</dt>
|
|
<dd><a class="hw-item" href="https://m.yowu.com/product/detail?sku=3588">Yowu Cat Ear Headphones
|
|
Hatsune Miku NX</a></dd>
|
|
</div>
|
|
<div class="hw-row">
|
|
<dt>Microphone</dt>
|
|
<dd><a class="hw-item" href="https://amzn.eu/d/00FjYEzR">Aokeo AK-60 USB Microphone</a></dd>
|
|
</div>
|
|
<div class="hw-row">
|
|
<dt>OS</dt>
|
|
<dd><a class="hw-item" href="https://archlinux.org/download/">Arch Linux</a> | <a class="hw-item"
|
|
href="https://www.microsoft.com/en-us/software-download/windows11">Windows 11</a></dd>
|
|
</div>
|
|
</dl>
|
|
</details>
|
|
|
|
<details class="waka-section about-setup" id="about-setup">
|
|
<summary class="section-title">Setup & Badges</summary>
|
|
<p class="hw-intro">The little flags I used to fly in the corner — now with the context behind them. ✨</p>
|
|
<div class="about-badges">
|
|
<span class="badge">
|
|
<img class="badge-icon" src="/assets/misc/amd.svg" alt="">
|
|
AMD Purist
|
|
</span>
|
|
<span class="badge">
|
|
<img class="badge-icon" src="/assets/misc/arch.svg" alt="">
|
|
I use arch btw
|
|
</span>
|
|
<span class="badge">
|
|
<img class="badge-icon" src="/assets/misc/debian.svg" alt="">
|
|
Debian Professional
|
|
</span>
|
|
<span class="badge">
|
|
<img class="badge-icon" src="/assets/misc/apple.svg" alt="">
|
|
Apple Ecosystem Enthusiast
|
|
</span>
|
|
</div>
|
|
<dl class="hw-list about-list">
|
|
<div class="hw-row">
|
|
<dt>AMD Purist</dt>
|
|
<dd>Team Red top to bottom — Ryzen on the CPU, Radeon on the GPU. No green or blue in this rig.</dd>
|
|
</div>
|
|
<div class="hw-row">
|
|
<dt>Arch btw</dt>
|
|
<dd>Daily driver is Arch Linux: rolling release, built up from the ground exactly how I like it.
|
|
</dd>
|
|
</div>
|
|
<div class="hw-row">
|
|
<dt>Debian Pro</dt>
|
|
<dd>Where stability matters — servers and bots — Debian does the heavy lifting.</dd>
|
|
</div>
|
|
<div class="hw-row">
|
|
<dt>Apple Ecosystem</dt>
|
|
<dd>The phone/tablet/watch side of life lives on Apple, so the whole stack stays in sync.</dd>
|
|
</div>
|
|
</dl>
|
|
<!-- hidden pokéball: find & click it to unlock the Pokémon cats -->
|
|
<img id="pokeball-secret" src="/assets/misc/pokeball.svg" alt="" aria-hidden="true">
|
|
</details>
|
|
|
|
<div id="contrib"></div>
|
|
|
|
<div id="waka-content" hidden>
|
|
|
|
<div class="waka-section waka-total" id="waka-total">
|
|
<div class="waka-total-num" id="waka-total-val">—</div>
|
|
<div class="waka-total-sub" id="waka-total-sub">total coding time</div>
|
|
<div class="waka-week" id="waka-week"></div>
|
|
</div>
|
|
|
|
<details class="waka-section" id="waka-section-languages" hidden>
|
|
<summary class="section-title">Languages</summary>
|
|
<div class="waka-bars" id="waka-languages"></div>
|
|
</details>
|
|
|
|
<details class="waka-section" id="waka-section-categories" hidden>
|
|
<summary class="section-title">Categories</summary>
|
|
<div class="waka-bars" id="waka-categories"></div>
|
|
</details>
|
|
|
|
<div class="waka-grid2">
|
|
<details class="waka-section" id="waka-section-editors" hidden>
|
|
<summary class="section-title">Editors</summary>
|
|
<div class="waka-bars" id="waka-editors"></div>
|
|
</details>
|
|
|
|
<details class="waka-section" id="waka-section-os" hidden>
|
|
<summary class="section-title">Operating Systems</summary>
|
|
<div class="waka-bars" id="waka-os"></div>
|
|
</details>
|
|
</div>
|
|
|
|
<p class="waka-credit">Tracked automatically with <a href="https://wakatime.com" target="_blank"
|
|
rel="noopener">wakatime</a>.</p>
|
|
</div>
|
|
</main>
|
|
|
|
<script src="/js/core.js" data-cat="/assets/oneko/classics/classic.png"></script>
|
|
<script src="/js/dev-info.js"></script>
|
|
<script src="/js/heatmap.js"></script>
|
|
<script>ContribHeatmap.render("#contrib", { theme: "trans" });</script>
|
|
</body>
|
|
|
|
</html> |