c.stupid.cat/music/index.html

155 lines
7.6 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 (presence + now-playing + lyrics) -->
<link rel="preconnect" href="https://restful.doughmination.uk" crossorigin>
<link rel="dns-prefetch" href="https://restful.doughmination.uk">
<link rel="preconnect" href="https://i.scdn.co">
<link rel="dns-prefetch" href="https://i.scdn.co">
<link rel="preconnect" href="https://ws.audioscrobbler.com" crossorigin>
<link rel="dns-prefetch" href="https://ws.audioscrobbler.com">
<link rel="preconnect" href="https://lyrics.lanyard.cafe" crossorigin>
<link rel="dns-prefetch" href="https://lyrics.lanyard.cafe">
<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 is listening to — live now-playing track, synced lyrics, and recent plays from Last.fm.">
<meta name="keywords" content="Clove Twilight, c.stupid.cat, music, now playing, Last.fm, lyrics, scrobbles">
<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/music">
<!-- Alternate for mobile -->
<link rel="alternate" media="only screen and (max-width: 640px)" href="https://c.stupid.cat/music">
<!-- 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 is listening to — live now-playing track, synced lyrics, and recent plays from Last.fm.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://c.stupid.cat/music">
<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 is listening to — live now-playing track, synced lyrics, and recent plays from Last.fm.">
<!-- Prefetch other pages for faster navigation -->
<link rel="prefetch" href="/">
<link rel="prefetch" href="/cool-people">
<link rel="prefetch" href="/dev-info">
<link rel="prefetch" href="/discord">
<link rel="prefetch" href="/projects">
<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" 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 selected" 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="music-wrap" id="music">
<header class="music-head">
<h1>Music</h1>
<p>What I'm listening to, with lyrics that follow along.</p>
</header>
<!-- now playing -->
<a class="mdc" id="dc-link">
<img class="mdc-art" id="dc-art" alt=""
src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7">
<div class="mdc-meta">
<span class="mdc-state" id="dc-state">Connecting…</span>
<span class="mdc-title" id="dc-title"></span>
<span class="mdc-artist" id="dc-artist"></span>
<span class="mdc-album" id="dc-album"></span>
<div class="mdc-progress" id="dc-progress" hidden>
<span class="mdc-time" id="dc-cur">0:00</span>
<span class="mdc-bar"><span class="mdc-fill" id="dc-fill"></span></span>
<span class="mdc-time" id="dc-dur">0:00</span>
</div>
</div>
</a>
<!-- lyrics -->
<div class="sec-row" id="lyrics-section">
<h2 class="sec-title">Lyrics</h2>
<button class="ly-lock is-locked" id="ly-lock" type="button" aria-pressed="true" hidden><span
class="ly-bars" aria-hidden="true"><i></i><i></i><i></i><i></i></span><span
class="ly-lock-label">Synced</span></button>
</div>
<div class="lyrics is-empty" id="lyrics">
<p class="ly-note">Waiting for a track…</p>
</div>
<!-- current obsessions -->
<h2 class="sec-title" id="current-obsessions">Current Obsessions</h2>
<div class="obsessions" id="obsessions">
<iframe class="obsession-embed" style="border-radius:12px"
src="https://open.spotify.com/embed/track/6vmtWuZN1IbDPhVshbeD22?utm_source=generator" width="100%"
height="152" frameborder="0" allowfullscreen=""
allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture"
loading="lazy"></iframe>
<iframe class="obsession-embed" style="border-radius:12px"
src="https://open.spotify.com/embed/track/3s44Qv8x974tm0ueLexMWN?utm_source=generator" width="100%"
height="152" frameborder="0" allowfullscreen=""
allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture"
loading="lazy"></iframe>
<iframe class="obsession-embed" style="border-radius:12px"
src="https://open.spotify.com/embed/track/4ujxDgeTs9YpwMKHSmZ4qc?utm_source=generator" width="100%"
height="152" frameborder="0" allowfullscreen=""
allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture"
loading="lazy"></iframe>
<iframe class="obsession-embed" style="border-radius:12px"
src="https://open.spotify.com/embed/track/7ipaq31bGwoqfcv1cSFuJO?utm_source=generator" width="100%"
height="152" frameborder="0" allowfullscreen=""
allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture"
loading="lazy"></iframe>
</div>
<!-- recently played -->
<h2 class="sec-title" id="recently-played">Recently played</h2>
<ul class="recent" id="recent"></ul>
<!-- top artists (hidden until Last.fm data arrives) -->
<div id="top" hidden></div>
</main>
<script src="/js/core.js" data-cat="/assets/oneko/classics/classic.png"></script>
<script src="/js/music.js"></script>
</body>
</html>