d39cb3f3d4
Website: - Add persistent top nav across all pages - Add skip-to-content links, focus-visible styles, ARIA on audio player - Fix text contrast for WCAG AA compliance - Add 600px breakpoint, mobile typography scaling - Extract shared footer.js, player.js, episode.js components - Episode pagination (10 + Load More), featured clip dedup - Worker meta injection for social crawler OG tags - Unify Plausible analytics proxy across all pages - Sanitize innerHTML for XSS safety - Custom 404 page, enhanced llms.txt, fix sitemap - Bump cache versions to v=4 Reaper: - Add dual silence threshold: 2.5s for speaker transitions, 6s for same-speaker gaps Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
84 lines
3.3 KiB
HTML
84 lines
3.3 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Clips — Luke at the Roost</title>
|
|
<meta name="description" content="The best moments from Luke at the Roost — watch clips from the AI call-in comedy podcast.">
|
|
<meta name="theme-color" content="#1a1209">
|
|
<link rel="canonical" href="https://lukeattheroost.com/clips">
|
|
|
|
<meta property="og:site_name" content="Luke at the Roost">
|
|
<meta property="og:title" content="Clips — Luke at the Roost">
|
|
<meta property="og:description" content="The best moments from Luke at the Roost — watch clips from the AI call-in comedy podcast.">
|
|
<meta property="og:image" content="https://cdn.lukeattheroost.com/media/podcasts/LukeAtTheRoost/cover_feed.png?v=3">
|
|
<meta property="og:url" content="https://lukeattheroost.com/clips">
|
|
<meta property="og:type" content="website">
|
|
<meta name="twitter:card" content="summary_large_image">
|
|
<meta name="twitter:title" content="Clips — Luke at the Roost">
|
|
<meta name="twitter:description" content="The best moments from Luke at the Roost — watch clips from the AI call-in comedy podcast.">
|
|
<meta name="twitter:image" content="https://cdn.lukeattheroost.com/media/podcasts/LukeAtTheRoost/cover_feed.png?v=3">
|
|
|
|
<link rel="icon" href="favicon.ico" sizes="48x48">
|
|
<link rel="icon" type="image/svg+xml" href="favicon.svg">
|
|
<link rel="icon" type="image/png" sizes="192x192" href="favicon-192.png">
|
|
<link rel="icon" type="image/png" sizes="48x48" href="favicon-48.png">
|
|
<link rel="icon" type="image/png" sizes="32x32" href="favicon-32.png">
|
|
<link rel="icon" type="image/png" sizes="16x16" href="favicon-16.png">
|
|
<link rel="apple-touch-icon" href="apple-touch-icon.png">
|
|
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "BreadcrumbList",
|
|
"itemListElement": [
|
|
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://lukeattheroost.com" },
|
|
{ "@type": "ListItem", "position": 2, "name": "Clips" }
|
|
]
|
|
}
|
|
</script>
|
|
|
|
<link rel="alternate" type="application/rss+xml" title="Luke at the Roost RSS Feed" href="https://podcast.macneilmediagroup.com/@LukeAtTheRoost/feed.xml">
|
|
<link rel="stylesheet" href="css/style.css?v=4">
|
|
<script defer data-domain="lukeattheroost.com" data-api="/p/event" src="/p/script"></script>
|
|
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
|
|
</head>
|
|
<body>
|
|
|
|
<a href="#main-content" class="skip-link">Skip to content</a>
|
|
|
|
<nav class="site-nav">
|
|
<a href="/" class="site-nav-brand">Luke at the Roost</a>
|
|
<div class="site-nav-links">
|
|
<a href="/how-it-works">How It Works</a>
|
|
<a href="/clips" aria-current="page">Clips</a>
|
|
<a href="/stats">Stats</a>
|
|
</div>
|
|
</nav>
|
|
|
|
<main id="main-content">
|
|
|
|
<section class="page-header">
|
|
<h1>Clips</h1>
|
|
<p class="page-subtitle">The best moments from the show</p>
|
|
</section>
|
|
|
|
<div class="clips-section-header">
|
|
<h2>Featured</h2>
|
|
</div>
|
|
<section class="clips-featured"></section>
|
|
|
|
<div class="clips-section-header">
|
|
<h2>All Clips</h2>
|
|
</div>
|
|
<section class="clips-grid"></section>
|
|
|
|
</main>
|
|
|
|
<footer class="footer"></footer>
|
|
|
|
<script src="js/footer.js"></script>
|
|
<script src="js/clips.js"></script>
|
|
</body>
|
|
</html>
|