1<!DOCTYPE html><html lang="en" data-astro-cid-37fxchfa> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="icon" type="image/png" href="/images/mixtapekings-icon.png"><link rel="apple-touch-icon" href="/images/mixtapekings-icon.png"><meta name="generator" content="Astro v5.16.15"><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="animate">
1<script type="module" src="/_astro/ClientRouter.astro_astro_type_script_index_0_lang.CDGfc0hd.js"></script>
1<!-- Fonts: <link> in head so the request is discovered during HTML parse and 2 loads in parallel with global.css (a CSS @import serialized it behind 3 the stylesheet download). display=swap keeps text visible while loading. --><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;800&family=Lora:ital,wght@0,400;0,600;1,400&display=swap"><!-- Primary Meta Tags --><title>About | mixtapekings.com</title><meta name="description" content="Founded in 2002, mixtapekings.com bridges generations of hip-hop fans through mixtape culture. From DJ Clue classics to modern streaming projects, we celebrate the art form that shaped music history."><meta name="keywords" content="about mixtapekings, hip hop history, mixtape culture, mixtape community, hip hop since 2002"><link rel="canonical" href="https://mixtapekings.com/about/"><!-- Open Graph / Facebook --><meta property="og:type" content="website"><meta property="og:url" content="https://mixtapekings.com/about/"><meta property="og:site_name" content="mixtapekings.com"><meta property="og:title" content="About | mixtapekings.com"><meta property="og:description" content="Founded in 2002, mixtapekings.com bridges generations of hip-hop fans through mixtape culture. From DJ Clue classics to modern streaming projects, we celebrate the art form that shaped music history."><meta property="og:image" content="https://mixtapekings.com/images/og-image.jpg"><!-- Twitter --><meta property="twitter:card" content="summary_large_image"><meta property="twitter:url" content="https://mixtapekings.com/about/"><meta property="twitter:title" content="About | mixtapekings.com"><meta property="twitter:description" content="Founded in 2002, mixtapekings.com bridges generations of hip-hop fans through mixtape culture. From DJ Clue classics to modern streaming projects, we celebrate the art form that shaped music history."><meta property="twitter:image" content="https://mixtapekings.com/images/og-image.jpg"><!-- Theme Script - Runs before page render to prevent flash -->
3<script> 4 // Run immediately, before page render 5 const getTheme = () => { 6 if (typeof localStorage !== 'undefined' && localStorage.getItem('theme')) { 7 return localStorage.getItem('theme'); 8 } 9 return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'; 10 }; 11 12 const theme = getTheme(); 13 if (theme === 'dark') { 14 document.documentElement.classList.add('dark'); 15 } else { 16 document.documentElement.classList.remove('dark'); 17 } 18 19 // Make available globally 20 window.theme = { 21 current: theme, 22 toggle: function() { 23 const newTheme = this.current === 'dark' ? 'light' : 'dark'; 24 this.current = newTheme; 25 document.documentElement.classList.toggle('dark'); 26 localStorage.setItem('theme', newTheme); 27 // Dispatch event for components that need to react 28 window.dispatchEvent(new CustomEvent('themechange', { detail: { theme: newTheme } })); 29 } 30 }; 31 </script>
31<!-- Cookie Consent, Google Tags (GA4 + Google Ads) & Meta Pixel Management -->
31<script>(function(){const googleAdsId = "AW-1072181269"; 32 33 // Cookie consent management. Two categories, stored as JSON under one key: 34 // { v: 2, analytics: bool, advertising: bool } 35 // analytics -> GA4 36 // advertising -> Google Ads tag, Meta Pixel, Google Ad Manager (AdZone) 37 // Pre-v2 visitors stored a bare 'accepted' / 'rejected' string. 'accepted' 38 // keeps analytics on but leaves advertising unanswered (null), so the 39 // banner re-asks once; 'rejected' maps to both off. 40 // 41 // CCPA: advertising data flows (Meta Pixel, Google Ads, GAM) count as 42 // "sharing" for cross-context behavioral advertising. Unchecking 43 // Advertising is the opt-out, reachable any time via the footer's 44 // "Do Not Sell or Share" link ([data-consent-open]). A Global Privacy 45 // Control signal (navigator.globalPrivacyControl) is honored as an 46 // opt-out and always wins over the stored choice. 47 window.cookieConsent = { 48 STORAGE_KEY: 'mixtapekings_cookie_consent', 49 ANALYTICS_ID: 'G-CY6TE5CBYP', 50 GOOGLE_ADS_ID: googleAdsId || null, 51 52 getConsent: function() { 53 var raw; 54 try { raw = localStorage.getItem(this.STORAGE_KEY); } catch (e) { return null; } 55 if (!raw) return null; 56 if (raw === 'accepted') return { analytics: true, advertising: null }; 57 if (raw === 'rejected') return { analytics: false, advertising: false }; 58 try { 59 var parsed = JSON.parse(raw); 60 return parsed && typeof parsed === 'object' ? parsed : null; 61 } catch (e) { 62 return null; 63 } 64 }, 65 66 gpc: navigator.globalPrivacyControl === true, 67 68 has: function(category) { 69 if (category === 'advertising' && this.gpc) return false; 70 var consent = this.getConsent(); 71 return !!consent && consent[category] === true; 72 }, 73 74 setConsent: function(analytics, advertising) { 75 var consent = { v: 2, analytics: !!analytics, advertising: !!advertising && !this.gpc }; 76 try { localStorage.setItem(this.STORAGE_KEY, JSON.stringify(consent)); } catch (e) {} 77 return consent; 78 }, 79 80 // Loads Google's gtag.js runtime once, then configures GA4 (analytics 81 // consent) and Google Ads (advertising consent, if PUBLIC_GOOGLE_ADS_ID 82 // is set) on top of it â one script fetch, per Google's own guidance 83 // for sites that need more than one tag. Safe to call again after a 84 // consent change: each config only fires once. 85 loadGoogleTags: function() { 86 var wantAnalytics = this.has('analytics') && !this._analyticsConfigured; 87 var wantAds = this.has('advertising') && !!this.GOOGLE_ADS_ID && !this._adsConfigured; 88 if (!wantAnalytics && !wantAds) return; 89 90 if (!this._gtagLoaded) { 91 var script = document.createElement('script'); 92 script.async = true; 93 script.src = 'https://www.googletagmanager.com/gtag/js?id=' + 94 (wantAnalytics ? this.ANALYTICS_ID : this.GOOGLE_ADS_ID); 95 document.head.appendChild(script); 96 97 window.dataLayer = window.dataLayer || []; 98 // expose gtag globally so custom events (e.g. card click tracking) can fire to GA4/Ads 99 window.gtag = window.gtag || function(){ window.dataLayer.push(arguments); }; 100 window.gtag('js', new Date()); 101 this._gtagLoaded = true; 102 } 103 104 if (wantAnalytics) { 105 window.gtag('config', this.ANALYTICS_ID, { 106 'anonymize_ip': true, 107 'cookie_flags': 'SameSite=None;Secure' 108 }); 109 this._analyticsConfigured = true; 110 } 111 112 if (wantAds) { 113 window.gtag('config', this.GOOGLE_ADS_ID); 114 this._adsConfigured = true; 115 } 116 }, 117 118 // Overwritten below by the Meta Pixel block when PUBLIC_META_PIXEL_ID 119 // is set; stays a no-op otherwise so save() never throws. 120 loadMetaPixel: function() {}, 121 122 // Show the banner until both categories have an explicit answer.
123 // With GPC on, advertising is already answered (off). 124 needsAnswer: function() { 125 var consent = this.getConsent(); 126 return !consent || 127 typeof consent.analytics !== 'boolean' || 128 (typeof consent.advertising !== 'boolean' && !this.gpc); 129 }, 130 131 // Reflect the stored choice (default: both checked) and GPC in the banner. 132 syncCheckboxes: function() { 133 var consent = this.getConsent(); 134 var analytics = document.getElementById('consent-analytics'); 135 var advertising = document.getElementById('consent-advertising'); 136 var gpcNote = document.getElementById('consent-gpc-note'); 137 if (analytics) analytics.checked = !consent || consent.analytics !== false; 138 if (advertising) { 139 advertising.checked = !this.gpc && (!consent || consent.advertising !== false); 140 advertising.disabled = this.gpc; 141 } 142 if (gpcNote) gpcNote.classList.toggle('hidden', !this.gpc); 143 }, 144 145 showBanner: function() { 146 if (!this.needsAnswer()) return; 147 this.syncCheckboxes(); 148 var banner = document.getElementById('cookie-consent-banner'); 149 if (banner) banner.classList.remove('hidden'); 150 }, 151 152 // Footer "Do Not Sell or Share" / privacy page button: reopen the 153 // banner with the current choices, and return focus there on close. 154 openSettings: function(trigger) { 155 var banner = document.getElementById('cookie-consent-banner'); 156 if (!banner) return; 157 this.syncCheckboxes(); 158 banner.classList.remove('hidden'); 159 this._returnFocus = trigger || null; 160 var first = document.getElementById('consent-analytics'); 161 if (first) first.focus(); 162 }, 163 164 save: function(analytics, advertising) { 165 var wasAnalytics = this.has('analytics'); 166 var wasAdvertising = this.has('advertising'); 167 var consent = this.setConsent(analytics, advertising); 168 this.hideBanner(); 169 170 // Opting out after trackers already loaded: they can't be unloaded 171 // in place, so reload to honor the opt-out immediately. 172 var revokedAnalytics = wasAnalytics && !consent.analytics && this._analyticsConfigured; 173 var revokedAdvertising = wasAdvertising && !consent.advertising && 174 (this._adsConfigured || !!window.fbq || !!window.googletag); 175 if (revokedAnalytics || revokedAdvertising) { 176 window.location.reload(); 177 return; 178 } 179 180 this.loadGoogleTags(); 181 this.loadMetaPixel(); 182 // AdZone listens for this so an ad slot can upgrade without a reload. 183 window.dispatchEvent(new CustomEvent('mtk:consent', { detail: consent })); 184 }, 185 186 // "Accept Selected" â saves whatever the checkboxes say. 187 acceptSelected: function() { 188 var analytics = document.getElementById('consent-analytics'); 189 var advertising = document.getElementById('consent-advertising'); 190 this.save(!!(analytics && analytics.checked), !!(advertising && advertising.checked)); 191 }, 192 193 // "Reject All" â both categories off, regardless of the checkboxes. 194 rejectAll: function() { 195 this.save(false, false); 196 }, 197 198 hideBanner: function() { 199 var banner = document.getElementById('cookie-consent-banner'); 200 if (banner) banner.classList.add('hidden'); 201 if (this._returnFocus && this._returnFocus.isConnected) this._returnFocus.focus(); 202 this._returnFocus = null; 203 } 204 }; 205 206 // Delegated so it survives ClientRouter body swaps without re-binding. 207 document.addEventListener('click', function(e) { 208 if (!e.target.closest) return; 209 var opener = e.target.closest('[data-consent-open]'); 210 if (opener) { 211 e.preventDefault(); 212 window.cookieConsent.openSettings(opener); 213 return; 214 } 215 var btn = e.target.closest('[data-consent-action]'); 216 if (!btn) return; 217 if (btn.getAttribute('data-consent-action') === 'accept') window.cookieConsent.acceptSelected(); 218 else window.cookieConsent.rejectAll(); 219 }); 220 221 // Escape closes the banner only when it was reopened from a settings 222 // link (a first-visit visitor still has to answer). 223 document.addEventListener('keydown', function(e) { 224 if (e.key !== 'Escape' || !window.cookieConsent._returnFocus) return; 225 window.cookieConsent.hideBanner(); 226 }); 227 228 // Load Google tags if already consented (Meta Pixel's own block below 229 // does the equivalent for itself once loadMetaPixel is overwritten) 230 window.cookieConsent.loadGoogleTags(); 231 232 // Show banner if needed. astro:page-load fires on first load AND after 233 // every ClientRouter navigation (which swaps in a fresh, hidden banner). 234 document.addEventListener('astro:page-load', function() { 235 window.cookieConsent.showBanner(); 236 }); 237 })();</script>
237<script>(function(){const metaPixelId = "1748797076172373"; 238 239 // Meta Pixel â gated on the Advertising consent category (see cookieConsent above) 240 // (this codebase waits for cookie-banner acceptance before loading any 241 // tracking script; Meta's own boilerplate assumes eager, unconditional 242 // injection at first paint, which we deliberately diverge from here for 243 // architectural/privacy consistency). No <noscript> fallback pixel is 244 // included â that fallback can't be consent-gated in static HTML, so 245 // omitting it keeps the consent behavior clean at the cost of pixel 246 // data from the small JS-disabled visitor segment. 247 window.cookieConsent.loadMetaPixel = function() { 248 if (!this.has('advertising')) return; 249 if (window.fbq) return; // already loaded 250 251 !function(f,b,e,v,n,t,s) 252 {if(f.fbq)return;n=f.fbq=function(){n.callMethod? 253 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 254 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 255 n.queue=[];t=b.createElement(e);t.async=!0; 256 t.src=v;s=b.getElementsByTagName(e)[0]; 257 s.parentNode.insertBefore(t,s)}(window, document,'script', 258 'https://connect.facebook.net/en_US/fbevents.js'); 259 260 fbq('init', metaPixelId); 261 fbq('track', 'PageView'); 262 }; 263 264 // Fire immediately if consent was already granted on a previous visit 265 // (mirrors loadGoogleTags()'s own already-consented bootstrap above). 266 window.cookieConsent.loadMetaPixel(); 267 })();</script>
267<script>(function(){const posthogKey = "phc_yD6CrHEtOkCN0FrkEN0EWneMBilXjnxy6pLqzjLCm3Z"; 268const posthogHost = "https://us.i.posthog.com"; 269 270 !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="init capture register register_once register_for_session unregister unregister_for_session getFeatureFlag getFeatureFlagPayload isFeatureEnabled reloadFeatureFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSessionId getSurveys getActiveMatchingSurveys renderSurvey canRenderSurvey getNextSurveyStep identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException loadToolbar get_property getSessionProperty createPersonProfile opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing clear_opt_in_out_capturing debug".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]); 271 // defaults '2026-01-30' sets capture_pageview: 'history_change', which natively 272 // captures $pageview AND $pageleave on initial load and on every History API 273 // navigation (Astro ClientRouter uses pushState). No manual astro:page-load handler needed. 274 posthog.init(posthogKey, { api_host: '/ingest', ui_host: posthogHost, defaults: '2026-01-30' }); 275 })();</script>
275<link rel="stylesheet" href="/_astro/index.C_MGY5uG.css"> 276<link rel="stylesheet" href="/_astro/index.Dht-742i.css"> 277<link rel="stylesheet" href="/_astro/_slug_.DeuLkF44.css"><style>[data-astro-transition-scope="astro-2ez4dygu-1"] { view-transition-name: mk-audio-player; }@layer astro { ::view-transition-old(mk-audio-player) { 278 animation-duration: 180ms; 279 animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); 280 animation-fill-mode: both; 281 animation-name: astroFadeOut; }::view-transition-new(mk-audio-player) { 282 animation-duration: 180ms; 283 animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); 284 animation-fill-mode: both; 285 animation-name: astroFadeIn; }[data-astro-transition=back]::view-transition-old(mk-audio-player) { 286 animation-duration: 180ms; 287 animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); 288 animation-fill-mode: both; 289 animation-name: astroFadeOut; }[data-astro-transition=back]::view-transition-new(mk-audio-player) { 290 animation-duration: 180ms; 291 animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); 292 animation-fill-mode: both; 293 animation-name: astroFadeIn; } }[data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-2ez4dygu-1"], 294 [data-astro-transition-fallback="old"][data-astro-transition-scope="astro-2ez4dygu-1"] { 295 animation-duration: 180ms; 296 animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); 297 animation-fill-mode: both; 298 animation-name: astroFadeOut; }[data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-2ez4dygu-1"], 299 [data-astro-transition-fallback="new"][data-astro-transition-scope="astro-2ez4dygu-1"] { 300 animation-duration: 180ms; 301 animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); 302 animation-fill-mode: both; 303 animation-name: astroFadeIn; }[data-astro-transition=back][data-astro-transition-fallback="old"] [data-astro-transition-scope="astro-2ez4dygu-1"], 304 [data-astro-transition=back][data-astro-transition-fallback="old"][data-astro-transition-scope="astro-2ez4dygu-1"] { 305 animation-duration: 180ms; 306 animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); 307 animation-fill-mode: both; 308 animation-name: astroFadeOut; }[data-astro-transition=back][data-astro-transition-fallback="new"] [data-astro-transition-scope="astro-2ez4dygu-1"], 309 [data-astro-transition=back][data-astro-transition-fallback="new"][data-astro-transition-scope="astro-2ez4dygu-1"] { 310 animation-duration: 180ms; 311 animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1); 312 animation-fill-mode: both; 313 animation-name: astroFadeIn; }</style></head> <body data-astro-cid-37fxchfa> <a href="#main-content" class="skip-nav" data-astro-cid-37fxchfa>Skip to main content</a> <nav id="nav-main" class="nav-main interior" aria-label="Site navigation"> <a href="/" class="nav-logo" aria-label="mixtapekings.com â home"> <span class="nav-logo-mark"> <img src="/images/mixtapekings-logo.svg" alt="mixtapekings.com" width="5211" height="1930" class="nav-logo-img logo-dark"> <img src="/images/mixtapekings-logo-white.svg" alt="" aria-hidden="true" width="5211" height="1930" class="nav-logo-img logo-white"> <sup class="nav-logo-tm" aria-hidden="true">â¢</sup> </span> </a> <!-- Desktop inline nav links (hidden on mobile) --> <div class="nav-links"> <a href="/articles/" class="nav-link">Stories</a> <a href="/collector-spotlight/" class="nav-link">Collector Spotlight</a> <a href="/music/elis-rotation/" class="nav-link">Eli's Rotation</a> <a href="/music/mixtapes/" class="nav-link">Mixtapes</a> <a href="/visuals/" class="nav-link">Visuals</a> </div> <div class="nav-right"> <a href="https://shop.mixtapekings.com?utm_source=mixtapekings&utm_medium=nav&utm_campaign=shop" target="_blank" rel="noopener noreferrer" class="nav-shop-cta"> 314Shop 315</a> <a href="https://whatsgood.mixtapekings.com/subscribe?utm_source=mixtapekings&utm_medium=header&utm_campaign=early-access" target="_blank" rel="noopener noreferrer" class="nav-whats-good"> 316What's Good 317</a> <button type="button" class="nav-search-btn" data-search-trigger aria-label="Search" aria-expanded="false" aria-controls="search-overlay"> <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M15.5 14h-.79l-.28-.27A6.47 6.47 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"></path></svg> </button> <button id="nav-hamburger" class="nav-hamburger" aria-label="Open navigation menu" aria-expanded="false" aria-controls="nav-drawer"> <span></span> <span></span> <span></span> </button> </div> </nav>
317<script type="module">window.addEventListener("scroll",()=>{const n=document.getElementById("nav-main");n?.classList.contains("transparent")&&n.classList.toggle("scrolled",window.scrollY>80)},{passive:!0});document.addEventListener("astro:page-load",()=>{const n=document.getElementById("nav-main");n?.classList.contains("transparent")&&n.classList.toggle("scrolled",window.scrollY>80)});</script>
317 <!-- Cookie Consent Banner --> <div id="cookie-consent-banner" class="hidden fixed bottom-0 left-0 right-0 z-50 animate-slide-up" style="background: var(--color-molten); border-top: 2px solid var(--color-brick);" role="region" aria-label="Cookie consent" aria-live="polite" data-astro-cid-37fxchfa> <div class="max-w-7xl mx-auto px-6 py-4" data-astro-cid-37fxchfa> <div class="flex flex-col md:flex-row items-start md:items-center justify-between gap-4" data-astro-cid-37fxchfa> <div class="flex-1" data-astro-cid-37fxchfa> <p style="font-family: var(--font-body); font-size: 0.875rem; line-height: 1.6; color: rgba(245,245,245,0.75);" data-astro-cid-37fxchfa> 318We use cookies to analyze site traffic and to show and measure ads. 319 Choose what you're OK with, then click "Accept Selected". 320 Unchecking Advertising opts you out of the sale or sharing of your personal information. 321<a href="/privacy-policy/#california-privacy-rights" style="color: var(--color-brick); text-decoration: underline; text-underline-offset: 2px;" data-astro-cid-37fxchfa>Learn more</a> </p> <div class="consent-options flex flex-wrap gap-x-6 gap-y-2 mt-3" data-astro-cid-37fxchfa> <label class="consent-option" data-astro-cid-37fxchfa> <input type="checkbox" id="consent-analytics" checked data-astro-cid-37fxchfa> <span data-astro-cid-37fxchfa>Analytics</span> </label> <label class="consent-option" data-astro-cid-37fxchfa> <input type="checkbox" id="consent-advertising" checked data-astro-cid-37fxchfa> <span data-astro-cid-37fxchfa>Advertising</span> </label> </div> <p id="consent-gpc-note" class="hidden consent-gpc-note" data-astro-cid-37fxchfa> 322Advertising is off because your browser sent a Global Privacy Control signal. 323</p> </div> <div class="flex items-center gap-3 flex-shrink-0" data-astro-cid-37fxchfa> <button type="button" class="consent-btn consent-btn--reject" data-consent-action="reject" data-astro-cid-37fxchfa> 324Reject All 325</button> <button type="button" class="consent-btn consent-btn--accept" data-consent-action="accept" data-astro-cid-37fxchfa> 326Accept Selected 327</button> </div> </div> </div> </div> <!-- 328 Metadata is captured from the data-* attributes below via Pagefind's 329 `key[attribute]` form, NOT the inline `key:value` form. The inline form 330 splits on commas and colons, and our titles contain both ("We Got It 331 4 Cheap, Vol. 2", "From Shook Ones to Infinite: The Mobb Deep Story"), 332 which silently mangles every field into one string. 333 --> <div id="main-content" data-pagefind-body="true" data-pagefind-meta="title[data-search-title], type[data-search-type], image[data-search-image]" data-search-title="About" data-search-type="Page" data-search-image="/images/og-image.jpg" data-astro-cid-37fxchfa> <main style="background: var(--color-papaya); min-height: 100vh;" data-astro-cid-fwdcsva6> <!-- Page Header --> <section style="padding: 2.5rem 0 2rem; background: var(--color-papaya); border-bottom: 1px solid rgba(17,17,17,0.08);" data-astro-cid-fwdcsva6> <div class="container-custom" data-astro-cid-fwdcsva6> <div style="max-width: 72rem; margin: 0 auto;" data-astro-cid-fwdcsva6> <h1 style="font-family: var(--font-display); font-size: clamp(2rem, 5vw, 3.25rem); font-weight: 800; color: var(--color-molten); letter-spacing: 0.02em; margin: 0 0 0.5rem;" data-astro-cid-fwdcsva6>About</h1> <p style="font-family: var(--font-body); font-size: 1rem; color: var(--color-muted); margin: 0;" data-astro-cid-fwdcsva6>Preserving and pushing mixtape culture forward since 2002.</p> </div> </div> </section> <!-- Section 1: The Vision --> <section class="about-section" data-astro-cid-fwdcsva6> <div class="container-custom" data-astro-cid-fwdcsva6> <div class="about-text-block" data-astro-cid-fwdcsva6> <p class="section-label" data-astro-cid-fwdcsva6>The Vision</p> <h2 class="about-heading" data-astro-cid-fwdcsva6>The Mixtape Experience, Since 2002</h2> <div class="about-body" data-astro-cid-fwdcsva6> <p data-astro-cid-fwdcsva6>Founded in 2002, mixtapekings.com revolutionized how the world experienced mixtape culture, connecting DJ pioneers, artists, and fans to the heartbeat of hip-hop. Over two decades later, our mission remains unchanged: we're still dedicated to celebrating the art form that has shaped music history. But we're evolving with the times.</p> <p data-astro-cid-fwdcsva6>Today, mixtapes aren't just cassettes passed hand-to-hand on city blocks. They're playlist culture, SoundCloud drops, and collaborative projects that span continents. The medium has transformed, but the spirit remains: raw talent, creative freedom, and cultural authenticity.</p> </div> </div> </div> </section> <!-- Section 2: The Movement --> <section class="about-section" style="background: rgba(17,17,17,0.03);" data-astro-cid-fwdcsva6> <div class="container-custom" data-astro-cid-fwdcsva6> <div class="about-text-block" data-astro-cid-fwdcsva6> <p class="section-label" data-astro-cid-fwdcsva6>The Movement</p> <h2 class="about-heading" data-astro-cid-fwdcsva6>Bridging Generations</h2> <div class="about-body" data-astro-cid-fwdcsva6> <p data-astro-cid-fwdcsva6>We exist at the intersection of reverence and innovation. We educate new generations about the DJs and mixtapes that built hip-hop culture, while celebrating how today's artists carry that torch forward. Whether it's a 1990s DJ Clue classic or a 2025 streaming project, we recognize mixtape culture in all its forms.</p> <p data-astro-cid-fwdcsva6>The new generation discovers music differently, but the hunger for authenticity hasn't changed. We're here to show how the mixtape ethos, breaking new artists, creative mixing, and cultural commentary, lives on in modern music. From SoundCloud loosies to official playlist albums.</p> </div> </div> </div> </section> <!-- Section 3: The Community --> <section class="about-section" data-astro-cid-fwdcsva6> <div class="container-custom" data-astro-cid-fwdcsva6> <div class="about-text-block" data-astro-cid-fwdcsva6> <p class="section-label" data-astro-cid-fwdcsva6>The Community</p> <h2 class="about-heading" data-astro-cid-fwdcsva6>All Fans Welcome</h2> <div class="about-body" data-astro-cid-fwdcsva6> <p data-astro-cid-fwdcsva6>mixtapekings.com serves everyone who loves music and mixtape culture. We're not gatekeepers choosing between old heads and new school. We're the platform where both come together. If you collect physical mixtapes, we see you. If you curate digital playlists, we see you too.</p> </div> </div> <!-- Who We Serve â 3 callout boxes --> <div class="community-grid" data-astro-cid-fwdcsva6> <div class="community-card" data-astro-cid-fwdcsva6> <h3 class="community-card-title" data-astro-cid-fwdcsva6>DJs</h3> <p class="community-card-desc" data-astro-cid-fwdcsva6>The original architects. From mixtape tape-game legends to today's digital selectors, this is your archive and your platform.</p> </div> <div class="community-card" data-astro-cid-fwdcsva6> <h3 class="community-card-title" data-astro-cid-fwdcsva6>Collectors</h3> <p class="community-card-desc" data-astro-cid-fwdcsva6>Cassette hunters, cover art obsessives, and anyone who still has a crate in the closet. This space honors what you preserved.</p> </div> <div class="community-card" data-astro-cid-fwdcsva6> <h3 class="community-card-title" data-astro-cid-fwdcsva6>Fans</h3> <p class="community-card-desc" data-astro-cid-fwdcsva6>Old heads, new school, in-between. If you've ever pressed play and felt something shift, you belong here.</p> </div> </div> </div> </section> <!-- Section 4: Milestones --> <section class="about-section" style="background: rgba(17,17,17,0.03);" data-astro-cid-fwdcsva6> <div class="container-custom" data-astro-cid-fwdcsva6> <div class="about-text-block" data-astro-cid-fwdcsva6> <p class="section-label" data-astro-cid-fwdcsva6>Milestones</p> <h2 class="about-heading" data-astro-cid-fwdcsva6>Two Decades in the Culture</h2> </div> <div class="timeline" data-astro-cid-fwdcsva6> <div class="timeline-item" data-astro-cid-fwdcsva6> <div class="timeline-year" data-astro-cid-fwdcsva6>2002</div> <div class="timeline-content" data-astro-cid-fwdcsva6> <h3 class="timeline-title" data-astro-cid-fwdcsva6>Founded</h3> <p class="timeline-desc" data-astro-cid-fwdcsva6>
333mixtapekings.com launches out of New York City, built to connect DJs, artists, and fans to the heartbeat of hip-hop mixtape culture.</p> </div> </div> <div class="timeline-item" data-astro-cid-fwdcsva6> <div class="timeline-year" data-astro-cid-fwdcsva6>2003</div> <div class="timeline-content" data-astro-cid-fwdcsva6> <h3 class="timeline-title" data-astro-cid-fwdcsva6>The Village Voice â "Tales of the Tape"</h3> <p class="timeline-desc" data-astro-cid-fwdcsva6>One of New York's most respected publications features founder Diony C. in a landmark piece on the online mixtape business. Among the first major press hits for the site, just one year in.</p> <a href="/press/village-voice-2003/" class="timeline-item-link" aria-label="Read more about The Village Voice feature, Tales of the Tape" data-astro-cid-fwdcsva6>Read more</a> </div> </div> <div class="timeline-item" data-astro-cid-fwdcsva6> <div class="timeline-year" data-astro-cid-fwdcsva6>2005</div> <div class="timeline-content" data-astro-cid-fwdcsva6> <h3 class="timeline-title" data-astro-cid-fwdcsva6>MixtapeKings Countdown â Sirius Satellite Radio</h3> <p class="timeline-desc" data-astro-cid-fwdcsva6>mixtapekings.com lands a recurring show on Sirius Satellite Radio (Wax 42), running the MixtapeKings Countdown for two years and bringing the culture to listeners across the country.</p> <a href="/music/mixtapes/mixtapekings-radio-vol-1/" class="timeline-item-link" data-astro-cid-fwdcsva6>Listen to MixtapeKings Radio Vol. 1</a> </div> </div> <div class="timeline-item" data-astro-cid-fwdcsva6> <div class="timeline-year" data-astro-cid-fwdcsva6>2007</div> <div class="timeline-content" data-astro-cid-fwdcsva6> <h3 class="timeline-title" data-astro-cid-fwdcsva6>King of Remix â Canal Room, NYC</h3> <p class="timeline-desc" data-astro-cid-fwdcsva6>mixtapekings.com co-presents King of Remix at Canal Room in New York City, hosted by hip-hop pioneer DJ Kool Herc. The night is photographed by Johnny Nunez for WireImage/Getty Images â 71 photos on record.</p> <a href="https://www.gettyimages.de/detail/nachrichtenfoto/dayana-and-diony-concepcion-during-mixtapekings-com-nachrichtenfoto/452889497" target="_blank" rel="noopener noreferrer" class="timeline-item-link" aria-label="View King of Remix event photos on Getty Images (opens in new tab)" data-astro-cid-fwdcsva6>View photos on Getty Images</a> </div> </div> <div class="timeline-item" data-astro-cid-fwdcsva6> <div class="timeline-year" data-astro-cid-fwdcsva6>2007</div> <div class="timeline-content" data-astro-cid-fwdcsva6> <h3 class="timeline-title" data-astro-cid-fwdcsva6>Rolling Stone â "One of the Biggest Hip-Hop Stores Online"</h3> <p class="timeline-desc" data-astro-cid-fwdcsva6>Rolling Stone Magazine names mixtapekings.com one of the biggest hip-hop stores online in their November 2007 issue, page 86.</p> <a href="/press/rolling-stone-2007/" class="timeline-item-link" aria-label="Read more about Rolling Stone naming mixtapekings.com one of the biggest hip-hop stores online" data-astro-cid-fwdcsva6>Read more</a> </div> </div> <div class="timeline-item" data-astro-cid-fwdcsva6> <div class="timeline-year" data-astro-cid-fwdcsva6>2009</div> <div class="timeline-content" data-astro-cid-fwdcsva6> <h3 class="timeline-title" data-astro-cid-fwdcsva6>XXL Magazine â 100 Best Hip-Hop Web Sites</h3> <p class="timeline-desc" data-astro-cid-fwdcsva6>mixtapekings.com earns a spot on XXL's definitive ranking of the 100 best hip-hop web sites â one of the most widely read lists in the culture.</p> <a href="https://www.xxlmag.com/xxls-official-100-best-hip-hop-web-sites-pt-2-l-z/" target="_blank" rel="noopener noreferrer" class="timeline-item-link" aria-label="View XXL's 100 Best Hip-Hop Web Sites (opens in new tab)" data-astro-cid-fwdcsva6>View on XXL</a> </div> </div> </div> <div class="timeline-press-link" data-astro-cid-fwdcsva6> <a href="/press/" class="timeline-link" data-astro-cid-fwdcsva6>View full press coverage</a> </div> </div> </section> <!-- Section 5: Mission Statement â dark full-bleed --> <section class="mission-section" data-astro-cid-fwdcsva6> <div class="container-custom" data-astro-cid-fwdcsva6> <div class="mission-inner" data-astro-cid-fwdcsva6> <p class="section-label" style="color: var(--color-brick);" data-astro-cid-fwdcsva6>Our Mission</p> <blockquote class="mission-quote" data-astro-cid-fwdcsva6> 334mixtapekings.com is devoted to preserving and pushing mixtape culture forward. We provide a platform where DJs, artists, and creative gatekeepers can share their work in a nurturing environment that values artistic freedom and cultural authenticity. 335</blockquote> <p class="mission-sub" data-astro-cid-fwdcsva6> 336Hip-hop didn't start in the boardroom. It started on the streets, in the parks, on the tapes. We're here to make sure that spirit never dies. 337</p> </div> </div> </section> <!-- Section 6: Connect CTA --> <section class="about-section" data-astro-cid-fwdcsva6> <div class="container-custom" data-astro-cid-fwdcsva6> <div class="about-text-block" style="text-align: center;" data-astro-cid-fwdcsva6> <p class="section-label" style="text-align: center;" data-astro-cid-fwdcsva6>Stay Connected</p> <h2 class="about-heading" style="text-align: center;" data-astro-cid-fwdcsva6>Join the Movement</h2> <p class="about-body" style="text-align: center; max-width: 44rem; margin-left: auto; margin-right: auto;" data-astro-cid-fwdcsva6>Get the What's Good newsletter, weekly drops, culture, and the stories behind the music, delivered straight to your inbox.</p>
337 <a href="https://whatsgood.mixtapekings.com/subscribe?utm_source=mixtapekings&utm_medium=about&utm_campaign=early-access" target="_blank" rel="noopener noreferrer" class="about-cta" aria-label="Subscribe to What's Good newsletter (opens in new tab)" data-astro-cid-fwdcsva6> 338Subscribe to What's Good 339</a> <!-- Social row --> <div class="about-social" data-astro-cid-fwdcsva6> <a href="https://www.instagram.com/mixtapekings" target="_blank" rel="noopener noreferrer" aria-label="Follow us on Instagram" data-astro-cid-fwdcsva6> <svg width="22" height="22" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true" data-astro-cid-fwdcsva6><path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.44 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z" data-astro-cid-fwdcsva6></path></svg> </a> <a href="https://www.youtube.com/mixtapekings" target="_blank" rel="noopener noreferrer" aria-label="Subscribe on YouTube" data-astro-cid-fwdcsva6> <svg width="22" height="22" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true" data-astro-cid-fwdcsva6><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z" data-astro-cid-fwdcsva6></path></svg> </a> <a href="https://www.tiktok.com/@mixtapekings" target="_blank" rel="noopener noreferrer" aria-label="Follow us on TikTok" data-astro-cid-fwdcsva6> <svg width="22" height="22" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true" data-astro-cid-fwdcsva6><path d="M19.59 6.69a4.83 4.83 0 0 1-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 0 1-5.2 1.74 2.89 2.89 0 0 1 2.31-4.64 2.93 2.93 0 0 1 .88.13V9.4a6.84 6.84 0 0 0-1-.05A6.33 6.33 0 0 0 5 20.1a6.34 6.34 0 0 0 10.86-4.43v-7a8.16 8.16 0 0 0 4.77 1.52v-3.4a4.85 4.85 0 0 1-1-.1z" data-astro-cid-fwdcsva6></path></svg> </a> <a href="https://www.threads.com/@mixtapekings" target="_blank" rel="noopener noreferrer" aria-label="Follow us on Threads" data-astro-cid-fwdcsva6> <svg width="22" height="22" fill="currentColor" viewBox="0 0 878 1000" aria-hidden="true" data-astro-cid-fwdcsva6><path d="M446.7,1000h-0.3c-149.2-1-263.9-50.2-341-146.2C36.9,768.3,1.5,649.4,0.3,500.4v-0.7c1.2-149.1,36.6-267.9,105.2-353.4C182.5,50.2,297.3,1,446.4,0h0.3h0.3c114.4,0.8,210.1,30.2,284.4,87.4c69.9,53.8,119.1,130.4,146.2,227.8l-85,23.7c-46-165-162.4-249.3-346-250.6c-121.2,0.9-212.9,39-272.5,113.2C118.4,271,89.6,371.4,88.5,500c1.1,128.6,29.9,229,85.7,298.5c59.6,74.3,151.3,112.4,272.5,113.2c109.3-0.8,181.6-26.3,241.7-85.2c68.6-67.2,67.4-149.7,45.4-199.9c-12.9-29.6-36.4-54.2-68.1-72.9c-8,56.3-25.9,101.9-53.5,136.3c-36.9,45.9-89.2,71-155.4,74.6c-50.1,2.7-98.4-9.1-135.8-33.4c-44.3-28.7-70.2-72.5-73-123.5c-2.7-49.6,17-95.2,55.4-128.4c36.7-31.7,88.3-50.3,149.3-53.8c44.9-2.5,87-0.5,125.8,5.9c-5.2-30.9-15.6-55.5-31.2-73.2c-21.4-24.4-54.5-36.8-98.3-37.1c-0.4,0-0.8,0-1.2,0c-35.2,0-83,9.7-113.4,55L261.2,327c40.8-60.6,107-94,186.6-94c0.6,0,1.2,0,1.8,0c133.1,0.8,212.4,82.3,220.3,224.5c4.5,1.9,9,3.9,13.4,5.9c62.1,29.2,107.5,73.4,131.4,127.9c33.2,75.9,36.3,199.6-64.5,298.3C673.1,965,579.6,999.1,447,1000L446.7,1000L446.7,1000z M488.5,512.9c-10.1,0-20.3,0.3-30.8,0.9c-76.5,4.3-124.2,39.4-121.5,89.3c2.8,52.3,60.5,76.6,116,73.6c51-2.7,117.4-22.6,128.6-154.6C552.6,516,521.7,512.9,488.5,512.9z" data-astro-cid-fwdcsva6></path></svg> </a> <a href="https://www.facebook.com/mixtapekings" target="_blank" rel="noopener noreferrer" aria-label="Like us on Facebook" data-astro-cid-fwdcsva6> <svg width="22" height="22" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true" data-astro-cid-fwdcsva6><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z" data-astro-cid-fwdcsva6></path></svg> </a> </div> </div> </div> </section> </main> </div> <footer class="footer"> <div class="footer-inner"> <div class="footer-grid"> <!-- Column 1: Brand + Newsletter --> <div class="footer-col"> <h3 class="footer-heading">What's Good Newsletter</h3> <form id="footer-newsletter-form" class="footer-subscribe" novalidate> <!-- Honeypot --> <input type="text" name="website" id="footer-honeypot" autocomplete="off" tabindex="-1" aria-hidden="true" style="position:absolute;
339left:-9999px;width:1px;height:1px;opacity:0;"> <input type="email" id="footer-newsletter-email" name="email" placeholder="Your email" aria-label="Email address for newsletter" required> <button type="submit">JOIN</button> </form> <div id="footer-form-message" class="hidden" style="margin-top: 0.5rem; font-size: 0.75rem;"></div> <p class="footer-tagline" style="margin-top: 0.75rem; opacity: 0.6; font-size: 0.8rem;">Weekly drops, culture, and the stories behind the music.</p> </div> <!-- Column 2: Quick Links --> <div class="footer-col"> <h3 class="footer-heading">Quick Links</h3> <nav class="footer-nav" aria-label="Footer navigation"> <a href="https://shop.mixtapekings.com?utm_source=mixtapekings&utm_medium=footer&utm_campaign=shop" target="_blank" rel="noopener noreferrer" class="footer-link footer-link--shop">Shop the Archive</a> <a href="/articles/" class="footer-link">Stories</a> <a href="/collector-spotlight/" class="footer-link">Collector Spotlight</a> <a href="/music/mixtapes/" class="footer-link">Mixtapes</a> <a href="/music/elis-rotation/" class="footer-link">Eli's Rotation</a> <a href="/about/" class="footer-link">About</a> <a href="/press/" class="footer-link">Press</a> <a href="/contact/" class="footer-link">Contact</a> <a href="https://whatsgood.mixtapekings.com/subscribe?utm_source=mixtapekings&utm_medium=footer&utm_campaign=early-access" target="_blank" rel="noopener noreferrer" class="footer-link">What's Good Newsletter</a> </nav> </div> </div> <!-- Bottom bar. Mobile: stacked, centered (copyright, legal links, social). 340 Desktop: two rows, copyright left + social right, then the legal links 341 on their own row (the long CCPA link can't share one row with both). --> <div class="footer-bottom"> <span class="footer-copyright">© 2002â2026 mixtapekings.com<sup>â¢</sup> · MIXTAPEKINGS<sup>â¢</sup> & CO. · The Mixtape Experience</span> <div class="footer-bottom-links"> <a href="/privacy-policy/" class="footer-bottom-link">Privacy Policy</a> <a href="/terms-of-use/" class="footer-bottom-link">Terms of Use</a> <!-- CCPA opt-out: reopens the cookie banner (handled in BaseLayout) --> <button type="button" class="footer-bottom-link footer-bottom-link--button" data-consent-open>Do Not Sell or Share My Personal Information</button> <a href="/rss.xml" class="footer-bottom-link" aria-label="RSS Feed">RSS Feed</a> <a href="https://shop.mixtapekings.com?utm_source=mixtapekings&utm_medium=footer-bottom&utm_campaign=shop" target="_blank" rel="noopener noreferrer" class="footer-bottom-link footer-bottom-link--shop">Shop</a> </div> <div class="footer-social"> <a href="https://www.instagram.com/mixtapekings" target="_blank" rel="noopener noreferrer" aria-label="Follow us on Instagram"> <svg width="22" height="22" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"></path></svg> </a> <a href="https://www.youtube.com/mixtapekings" target="_blank" rel="noopener noreferrer" aria-label="Subscribe on YouTube"> <svg width="22" height="22" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true"><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"></path></svg> </a>
341 <a href="https://www.tiktok.com/@mixtapekings" target="_blank" rel="noopener noreferrer" aria-label="Follow us on TikTok"> <svg width="22" height="22" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true"><path d="M19.59 6.69a4.83 4.83 0 0 1-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 0 1-5.2 1.74 2.89 2.89 0 0 1 2.31-4.64 2.93 2.93 0 0 1 .88.13V9.4a6.84 6.84 0 0 0-1-.05A6.33 6.33 0 0 0 5 20.1a6.34 6.34 0 0 0 10.86-4.43v-7a8.16 8.16 0 0 0 4.77 1.52v-3.4a4.85 4.85 0 0 1-1-.1z"></path></svg> </a> <a href="https://www.threads.com/@mixtapekings" target="_blank" rel="noopener noreferrer" aria-label="Follow us on Threads"> <svg width="22" height="22" fill="currentColor" viewBox="0 0 878 1000" aria-hidden="true"><path d="M446.7,1000h-0.3c-149.2-1-263.9-50.2-341-146.2C36.9,768.3,1.5,649.4,0.3,500.4v-0.7c1.2-149.1,36.6-267.9,105.2-353.4C182.5,50.2,297.3,1,446.4,0h0.3h0.3c114.4,0.8,210.1,30.2,284.4,87.4c69.9,53.8,119.1,130.4,146.2,227.8l-85,23.7c-46-165-162.4-249.3-346-250.6c-121.2,0.9-212.9,39-272.5,113.2C118.4,271,89.6,371.4,88.5,500c1.1,128.6,29.9,229,85.7,298.5c59.6,74.3,151.3,112.4,272.5,113.2c109.3-0.8,181.6-26.3,241.7-85.2c68.6-67.2,67.4-149.7,45.4-199.9c-12.9-29.6-36.4-54.2-68.1-72.9c-8,56.3-25.9,101.9-53.5,136.3c-36.9,45.9-89.2,71-155.4,74.6c-50.1,2.7-98.4-9.1-135.8-33.4c-44.3-28.7-70.2-72.5-73-123.5c-2.7-49.6,17-95.2,55.4-128.4c36.7-31.7,88.3-50.3,149.3-53.8c44.9-2.5,87-0.5,125.8,5.9c-5.2-30.9-15.6-55.5-31.2-73.2c-21.4-24.4-54.5-36.8-98.3-37.1c-0.4,0-0.8,0-1.2,0c-35.2,0-83,9.7-113.4,55L261.2,327c40.8-60.6,107-94,186.6-94c0.6,0,1.2,0,1.8,0c133.1,0.8,212.4,82.3,220.3,224.5c4.5,1.9,9,3.9,13.4,5.9c62.1,29.2,107.5,73.4,131.4,127.9c33.2,75.9,36.3,199.6-64.5,298.3C673.1,965,579.6,999.1,447,1000L446.7,1000L446.7,1000z M488.5,512.9c-10.1,0-20.3,0.3-30.8,0.9c-76.5,4.3-124.2,39.4-121.5,89.3c2.8,52.3,60.5,76.6,116,73.6c51-2.7,117.4-22.6,128.6-154.6C552.6,516,521.7,512.9,488.5,512.9z"></path></svg> </a> <a href="https://www.facebook.com/mixtapekings" target="_blank" rel="noopener noreferrer" aria-label="Like us on Facebook"> <svg width="22" height="22" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path></svg> </a> </div> </div> </div> </footer> <!-- Back to Top Button --> <button id="backToTop" aria-label="Back to top" class="back-to-top"> <!-- Headphones icon --> <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"> <!-- Headband arc --> <path d="M3 14V12a9 9 0 0 1 18 0v2"></path> <!-- Left ear cup --> <rect x="2" y="14" width="4" height="6" rx="2"></rect> <!-- Right ear cup --> <rect x="18" y="14" width="4" height="6" rx="2"></rect> </svg> </button>
341<script type="module">window.addEventListener("scroll",()=>{document.getElementById("backToTop")?.classList.toggle("visible",window.pageYOffset>300)},{passive:!0});document.addEventListener("click",e=>{e.target?.closest("#backToTop")&&window.scrollTo({top:0,behavior:"smooth"})});</script>
341 <!-- Scrim overlay --><div class="drawer-scrim" id="drawer-scrim" aria-hidden="true"></div> <!-- Drawer panel --> <nav class="drawer-panel" id="nav-drawer" aria-label="Site navigation" aria-hidden="true"> <button class="drawer-close" id="drawer-close" aria-label="Close navigation menu"> <svg width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"> <line x1="1" y1="1" x2="17" y2="17"></line> <line x1="17" y1="1" x2="1" y2="17"></line> </svg> </button> <!-- SHOP â top of drawer, before everything else --> <a href="https://shop.mixtapekings.com?utm_source=mixtapekings&utm_medium=drawer&utm_campaign=shop" target="_blank" rel="noopener noreferrer" class="drawer-shop-cta"> 342Shop the Archive 343</a> <!-- CONNECT --> <span class="drawer-section-label">Connect</span> <div class="drawer-social"> <a href="https://www.instagram.com/mixtapekings" target="_blank" rel="noopener noreferrer" aria-label="Instagram"> <svg width="20" height="20" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"></path></svg> </a> <a href="https://www.youtube.com/mixtapekings" target="_blank" rel="noopener noreferrer" aria-label="YouTube"> <svg width="20" height="20" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true"><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"></path></svg> </a> <a href="https://www.tiktok.com/@mixtapekings" target="_blank" rel="noopener noreferrer" aria-label="TikTok"> <svg width="20" height="20" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true"><path d="M19.59 6.69a4.83 4.83 0 0 1-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 0 1-5.2 1.74 2.89 2.89 0 0 1 2.31-4.64 2.93 2.93 0 0 1 .88.13V9.4a6.84 6.84 0 0 0-1-.05A6.33 6.33 0 0 0 5 20.1a6.34 6.34 0 0 0 10.86-4.43v-7a8.16 8.16 0 0 0 4.77 1.52v-3.4a4.85 4.85 0 0 1-1-.1z"></path></svg> </a> <a href="https://www.threads.com/@mixtapekings" target="_blank" rel="noopener noreferrer" aria-label="Threads"> <svg width="20" height="20" fill="currentColor" viewBox="0 0 878 1000" aria-hidden="true"><path d="M446.7,1000h-0.3c-149.2-1-263.9-50.2-341-146.2C36.9,768.3,1.5,649.4,0.3,500.4v-0.7c1.2-149.1,36.6-267.9,105.2-353.4C182.5,50.2,297.3,1,446.4,0h0.3h0.3c114.4,0.8,210.1,30.2,284.4,87.4c69.9,53.8,119.1,130.4,146.2,227.8l-85,23.7c-46-165-162.4-249.3-346-250.6c-121.2,0.9-212.9,39-272.5,113.2C118.4,271,89.6,371.4,88.5,500c1.1,128.6,29.9,229,85.7,298.5c59.6,74.3,151.3,112.4,272.5,113.2c109.3-0.8,181.6-26.3,241.7-85.2c68.6-67.2,67.4-149.7,45.4-199.9c-12.9-29.6-36.4-54.2-68.1-72.9c-8,56.3-25.9,101.9-53.5,136.3c-36.9,45.9-89.2,71-155.4,74.6c-50.1,2.7-98.4-9.1-135.8-33.4c-44.3-28.7-70.2-72.5-73-123.5c-2.7-49.6,17-95.2,55.4-128.4c36.7-31.7,88.3-50.3,149.3-53.8c44.9-2.5,87-0.5,125.8,5.9c-5.2-30.9-15.6-55.5-31.2-73.2c-21.4-24.4-54.5-36.8-98.3-37.1c-0.4,0-0.8,0-1.2,0c-35.2,0-83,9.7-113.4,55L261.2,327c40.8-60.
3436,107-94,186.6-94c0.6,0,1.2,0,1.8,0c133.1,0.8,212.4,82.3,220.3,224.5c4.5,1.9,9,3.9,13.4,5.9c62.1,29.2,107.5,73.4,131.4,127.9c33.2,75.9,36.3,199.6-64.5,298.3C673.1,965,579.6,999.1,447,1000L446.7,1000L446.7,1000z M488.5,512.9c-10.1,0-20.3,0.3-30.8,0.9c-76.5,4.3-124.2,39.4-121.5,89.3c2.8,52.3,60.5,76.6,116,73.6c51-2.7,117.4-22.6,128.6-154.6C552.6,516,521.7,512.9,488.5,512.9z"></path></svg> </a> <a href="https://www.facebook.com/mixtapekings" target="_blank" rel="noopener noreferrer" aria-label="Facebook"> <svg width="20" height="20" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path></svg> </a> </div> <!-- EXPLORE --> <span class="drawer-section-label">Explore</span> <a href="/" class="drawer-link">Home</a> <a href="/articles/" class="drawer-link">Stories</a> <a href="/collector-spotlight/" class="drawer-link">Collector Spotlight</a> <a href="/visuals/" class="drawer-link">Visuals</a> <!-- MUSIC --> <span class="drawer-section-label">Music</span> <a href="/music/mixtapes/" class="drawer-link">Mixtapes</a> <a href="/music/elis-rotation/" class="drawer-link">Eli's Rotation</a> <!-- MORE --> <span class="drawer-section-label">More</span> <a href="/about/" class="drawer-link active">About</a> <a href="/press/" class="drawer-link">Press</a> <a href="/contact/" class="drawer-link">Contact</a> <!-- Newsletter CTA --> <div class="drawer-newsletter-cta"> <a href="https://whatsgood.mixtapekings.com/subscribe?utm_source=mixtapekings&utm_medium=drawer&utm_campaign=early-access" target="_blank" rel="noopener noreferrer"> 344Subscribe to Newsletter 345</a> </div> </nav>
345<script type="module">const c='a[href], button:not([disabled]), input, [tabindex]:not([tabindex="-1"])';function o(e){return Array.from(e.querySelectorAll(c))}function d(){const e=document.getElementById("nav-drawer"),t=document.getElementById("drawer-scrim"),n=document.getElementById("nav-hamburger");e?.classList.add("open"),t?.classList.add("open"),e?.setAttribute("aria-hidden","false"),n?.setAttribute("aria-expanded","true"),document.body.style.overflow="hidden",(e?o(e)[0]:null)?.focus()}function a(){const e=document.getElementById("nav-drawer"),t=document.getElementById("drawer-scrim"),n=document.getElementById("nav-hamburger");e?.classList.remove("open"),t?.classList.remove("open"),e?.setAttribute("aria-hidden","true"),n?.setAttribute("aria-expanded","false"),document.body.style.overflow="",n?.focus()}document.addEventListener("click",e=>{const t=e.target;t.closest("#nav-hamburger")&&d(),t.closest("#drawer-close")&&a(),t.closest("#drawer-scrim")&&a()});document.addEventListener("keydown",e=>{const t=document.getElementById("nav-drawer");if(!t?.classList.contains("open"))return;if(e.key==="Escape"){a();return}if(e.key!=="Tab")return;const n=o(t),r=n[0],s=n[n.length-1];e.shiftKey&&document.activeElement===r?(e.preventDefault(),s?.focus()):!e.shiftKey&&document.activeElement===s&&(e.preventDefault(),r?.focus())});</script>
345 <div id="search-overlay" class="search-overlay" role="dialog" aria-modal="true" aria-labelledby="search-heading" aria-hidden="true" hidden> <div class="search-panel"> <div class="search-bar"> <h2 id="search-heading" class="search-heading">Search</h2> <button id="search-close" class="search-close" aria-label="Close search"> <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg> </button> </div> <div class="search-input-wrap"> <svg class="search-input-icon" width="20" height="20" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M15.5 14h-.79l-.28-.27A6.47 6.47 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"></path></svg> <input id="search-input" type="search" class="search-input" placeholder="Search stories, mixtapes, tracksâ¦" autocomplete="off" spellcheck="false" aria-describedby="search-status"> </div> <p id="search-status" class="search-status" aria-live="polite" aria-atomic="true"></p> <div id="search-results" class="search-results"></div> <aside class="not-prose ad-zone ad-zone--native" aria-label="Advertisement" data-pagefind-ignore data-ad-zone="search_native" data-ad-unit="/3084174/mtk/search_native" data-ad-sizes="[[320,100]]" data-ad-mapping="[[[0,0],[[320,100]]]]" data-ad-targeting="{"section":"search"}" data-ad-slot-id="mtk-ad-search_native-icvkqc" data-ad-ondemand data-astro-cid-hkx7vzxb> <span class="ad-zone__label" data-astro-cid-hkx7vzxb>Featured</span> <div class="ad-zone__box" style="--r-sm:100px;--r-md:100px;--r-lg:100px" data-astro-cid-hkx7vzxb> <div class="ad-zone__slot" id="mtk-ad-search_native-icvkqc" data-astro-cid-hkx7vzxb></div> <a class="ad-zone__house ad-zone__house--card" href="https://shop.mixtapekings.com/collections/busta-rhymes-j-dilla?utm_source=mixtapekings&utm_medium=ad-search&utm_campaign=dillagence-2-launch" target="_blank" rel="noopener noreferrer" data-astro-cid-hkx7vzxb> <img src="/.netlify/images?url=/images/dillagence/busta-rhymes-dillagence-2-cover.webp&w=160&q=80" alt="" width="80" height="80" loading="lazy" decoding="async" data-astro-cid-hkx7vzxb> <span class="ad-zone__card-text" data-astro-cid-hkx7vzxb> <span class="ad-zone__card-title" data-astro-cid-hkx7vzxb>Dillagence II</span> <span class="ad-zone__card-sub" data-astro-cid-hkx7vzxb>Busta Rhymes x J Dilla. Pre-order on vinyl & CD.</span> </span> <span class="sr-only" data-astro-cid-hkx7vzxb>Pre-order Dillagence II by Busta Rhymes x J Dilla on vinyl and CD (opens in new tab)</span> </a> </div> </aside> </div> </div>
345<script type="module" src="/_astro/SearchOverlay.astro_astro_type_script_index_0_lang.Q4LAPHG0.js"></script>
345 <div id="mk-player" data-astro-transition-persist="mk-audio-player" style="display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 200;" aria-label="Music Player" role="region" data-astro-transition-scope="astro-2ez4dygu-1"> <div id="mk-bar" style="height: 60px; background: var(--color-molten); border-top: 2px solid var(--color-brick); display: flex; align-items: center; padding: 0 1rem; gap: 0.75rem;"> <!-- LEFT: Playback controls --> <div style="display: flex; align-items: center; gap: 0; flex-shrink: 0;"> <button id="mk-prev-btn" aria-label="Previous track" class="mk-ctrl-btn"> <!-- Skip previous --> <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M6 6h2v12H6zm3.5 6 8.5 6V6z"></path></svg> </button> <button id="mk-play-btn" aria-label="Play" aria-pressed="false" class="mk-ctrl-btn mk-play-btn-main"> <!-- Play (flat triangle) --> <svg id="mk-play-icon" width="28" height="28" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M8 5v14l11-7z"></path></svg> <!-- Pause (flat bars) --> <svg id="mk-pause-icon" width="28" height="28" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" style="display:none"><path d="M6 19h4V5H6v14zm8-14v14h4V5h-4z"></path></svg> <!-- Loading spinner --> <svg id="mk-loading-icon" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" style="display:none; animation: mk-spin 1s linear infinite;"><path d="M12 4V2A10 10 0 0 0 2 12h2a8 8 0 0 1 8-8z"></path></svg> </button> <button id="mk-next-btn" aria-label="Next track" class="mk-ctrl-btn"> <!-- Skip next --> <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M6 18l8.5-6L6 6v12zm10-12v12h2V6h-2z"></path></svg> </button> </div> <!-- CENTER: Timestamp + Seekbar + Timestamp + Volume --> <div style="flex: 1; display: flex; align-items: center; gap: 0.625rem; min-width: 0;"> <span id="mk-current-time" class="mk-timestamp" style="font-family: var(--font-display); font-size: 0.72rem; color: var(--color-steel); flex-shrink: 0; min-width: 2.5rem; text-align: right;">0:00</span> <!-- Progress bar wrapper â grows on hover, shows handle --> <div id="mk-progress-track" class="mk-seekbar" role="slider" tabindex="0" aria-label="Seek" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0" aria-valuetext="0:00 of 0:00"> <div id="mk-progress-fill" class="mk-seekbar-fill"></div> <div id="mk-progress-handle" class="mk-seekbar-handle"></div> </div> <span id="mk-duration" class="mk-timestamp" style="font-family: var(--font-display); font-size: 0.72rem; color: var(--color-steel); flex-shrink: 0; min-width: 2.5rem;">0:00</span> <!-- Volume --> <div class="mk-vol-wrap" style="display: flex; align-items: center; gap: 0.25rem; flex-shrink: 0;"> <button id="mk-mute-btn" aria-label="Mute" aria-pressed="false" class="mk-ctrl-btn mk-vol-btn"> <svg id="mk-vol-icon" width="17" height="17" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02z"></path></svg> <svg id="mk-mute-icon" width="17" height="17" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" style="display:none"><path d="M16.5 12c0-1.77-1.02-3.29-2.5-4.03v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51C20.63 14.91 21 13.5 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3 3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06c1.38-.31 2.63-.95 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4 9.91 6.09 12 8.18V4z"></path></svg> </button> <input id="mk-volume-slider" type="range" min="0" max="1" step="0.05" value="0.8" aria-label="Volume" style="width: 66px; accent-color: var(--color-brick); cursor: pointer;"> </div> </div> <!-- Screen reader live region for track changes --> <div id="mk-live-region" aria-live="polite" aria-atomic="true" style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;"></div> <!-- RIGHT: Cover art + track badge (SoundCloud playbackSoundBadge style) --> <div style="display: flex; align-items: center; gap: 0.625rem; flex-shrink: 0; max-width: 240px; min-width: 0;"> <img id="mk-cover" src="" alt="" aria-hidden="true" style="width: 40px; height: 40px; object-fit: cover; border-radius: 2px; flex-shrink: 0;"> <div style="min-width: 0; display: flex; flex-direction: column; gap: 1px;"> <p id="mk-track-artist" style="font-family: var(--font-display); font-size: 0.68rem; font-weight: 400; color: var(--color-steel); margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.3;"></p> <p id="mk-track-title" style="font-family: var(--font-display); font-size: 0.82rem; font-weight: 700; color: #ffffff; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.3;"></p> </div> <!-- More: share, sleep timer, keyboard shortcuts --> <div class="mk-menu-wrap" style="position: relative; flex-shrink: 0;"> <button id="mk-more-btn" type="button" class="mk-ctrl-btn" aria-label="More options" aria-haspopup="true" aria-expanded="false" aria-controls="mk-menu"> <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0 2a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm0 6a2 2 0 1 0 0 4 2 2 0 0 0 0-4z"></path></svg> </button> <div id="mk-menu" role="menu" aria-label="Player options" hidden data-view="menu"> <div class="mk-menu-main"> <button type="button" role="menuitem" id="mk-share-btn" class="mk-menu-item mk-menu-item-cta"> <svg width="15" height="15" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3
345-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92-1.31-2.92-2.92-2.92z"></path></svg> <span>Share this track</span> </button> <div class="mk-menu-sep" role="separator"></div> <p class="mk-menu-label" id="mk-sleep-label">Sleep timer: off</p> <button type="button" role="menuitemradio" class="mk-menu-item mk-sleep-opt" data-sleep="off" aria-checked="true">Off</button> <button type="button" role="menuitemradio" class="mk-menu-item mk-sleep-opt" data-sleep="track" aria-checked="false">End of track</button> <button type="button" role="menuitemradio" class="mk-menu-item mk-sleep-opt" data-sleep="15" aria-checked="false">15 minutes</button> <button type="button" role="menuitemradio" class="mk-menu-item mk-sleep-opt" data-sleep="30" aria-checked="false">30 minutes</button> <button type="button" role="menuitemradio" class="mk-menu-item mk-sleep-opt" data-sleep="60" aria-checked="false">60 minutes</button> <div class="mk-menu-sep" role="separator"></div> <p class="mk-menu-label mk-menu-shortcuts">Space play/pause · ← → seek 10s · M mute · N/P track</p> </div> <div class="mk-share-panel" role="group" aria-label="Share this track"> <button type="button" id="mk-share-back" class="mk-share-back" aria-label="Back to options"> <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z"></path></svg> <span>Back</span> </button> <p class="mk-share-context" id="mk-share-context"></p> <button type="button" id="mk-share-native" class="mk-share-cta" hidden>Share…</button> <input id="mk-share-url" class="mk-share-url" type="text" readonly value="" aria-label="Share link"> <button type="button" id="mk-share-copy" class="mk-share-cta mk-share-cta-secondary">Copy link</button> <p class="mk-share-status" id="mk-share-status" aria-live="polite"></p> </div> </div> </div> <!-- Dismiss: stops playback and hides the bar. Playing anything brings it back. --> <button id="mk-close-btn" aria-label="Close player and stop playback" class="mk-ctrl-btn mk-close-btn"> <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg> </button> </div> </div> </div>
345<script type="module" src="/_astro/AudioPlayer.astro_astro_type_script_index_0_lang.CETA1d9t.js"></script>
345 <div class="mtk-popup-backdrop" id="mtk-popup" aria-hidden="true"> <div class="mtk-popup-card" role="dialog" aria-modal="true" aria-labelledby="mtk-popup-heading" aria-describedby="mtk-popup-subheading"> <button class="mtk-popup-close" id="mtk-popup-close" type="button" aria-label="Close newsletter popup"> <svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"> <line x1="1" y1="1" x2="15" y2="15"></line> <line x1="15" y1="1" x2="1" y2="15"></line> </svg> </button> <!-- Form view --> <div class="mtk-popup-body" id="mtk-popup-form-view"> <span class="mtk-popup-eyebrow">Newsletter</span> <h2 class="mtk-popup-heading" id="mtk-popup-heading">Stay in the Loop.</h2> <p class="mtk-popup-subheading" id="mtk-popup-subheading"> 346What's Good every Tuesday. What's In the Crate every Thursday. 347</p> <form class="mtk-popup-form" id="mtk-popup-form" novalidate> <!-- Honeypot â hidden from humans, bots fill it out --> <input type="text" name="website" id="mtk-popup-honeypot" autocomplete="off" tabindex="-1" aria-hidden="true" style="position:absolute;left:-9999px;width:1px;height:1px;opacity:0;"> <label class="mtk-popup-visually-hidden" for="mtk-popup-email">Email address</label> <input type="email" name="email" id="mtk-popup-email" class="mtk-popup-input" placeholder="Enter your email" autocomplete="email" required> <div class="mtk-popup-error" id="mtk-popup-error" role="alert" aria-live="assertive" hidden></div> <button type="submit" class="mtk-popup-submit" id="mtk-popup-submit">Subscribe</button> <p class="mtk-popup-disclaimer">By subscribing you agree to receive marketing emails.</p> </form> </div> <!-- Success view --> <div class="mtk-popup-body mtk-popup-success" id="mtk-popup-success-view" role="status" aria-live="polite" hidden> <span class="mtk-popup-eyebrow">You're in</span> <h2 class="mtk-popup-heading">Welcome to the crate.</h2> <p class="mtk-popup-subheading"> 348You're in. What's Good every Tuesday, What's In the Crate every Thursday. 349</p> <button type="button" class="mtk-popup-submit" id="mtk-popup-success-close">Close</button> </div> </div> </div>
349<script type="module">const y="mtk_popup_dismissed";const S=["/subscribe","/unsubscribe"],v='a[href], button:not([disabled]), input:not([tabindex="-1"]), [tabindex]:not([tabindex="-1"])',k=/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/;let c=null,l=null,m=!1;function I(){try{const e=window.localStorage.getItem(y);return e?Date.now()-Number(e)<6048e5:!1}catch{return!1}}function L(){const e=window.location.pathname.replace(/\/+$/,"")||"/";return!!(S.some(t=>e===t||e.startsWith(t+"/"))||new URLSearchParams(window.location.search).get("ref")==="newsletter")}function E(){return!m&&!I()&&!L()}function b(){try{window.localStorage.setItem(y,String(Date.now()))}catch{}}function g(e){return Array.from(e.querySelectorAll(v)).filter(t=>t.offsetParent!==null||t===document.activeElement)}function h(){if(!E())return;const e=document.getElementById("mtk-popup"),t=e?.querySelector(".mtk-popup-card");if(!e||!t)return;m=!0,c&&(clearTimeout(c),c=null),l=document.activeElement,e.classList.add("open"),e.setAttribute("aria-hidden","false"),document.body.style.overflow="hidden";const o=g(t)[0];(document.getElementById("mtk-popup-email")??o)?.focus()}function d(){const e=document.getElementById("mtk-popup");if(!e||!e.classList.contains("open"))return;e.classList.remove("open"),e.setAttribute("aria-hidden","true"),document.body.style.overflow="",b();const t=l;l=null,t&&t!==document.body&&typeof t.focus=="function"?t.focus():document.activeElement?.blur?.()}function P(){c&&(clearTimeout(c),c=null),E()&&(c=setTimeout(h,1e4))}document.addEventListener("mouseleave",e=>{e.clientY>10||window.matchMedia("(hover: hover) and (pointer: fine)").matches&&h()});document.addEventListener("click",e=>{const t=e.target;if(t.closest("#mtk-popup-close")||t.closest("#mtk-popup-success-close")){d();return}t.id==="mtk-popup"&&!t.closest(".mtk-popup-card")&&d()});document.addEventListener("keydown",e=>{const t=document.getElementById("mtk-popup");if(!t?.classList.contains("open"))return;if(e.key==="Escape"){d();return}if(e.key!=="Tab")return;const o=t.querySelector(".mtk-popup-card");if(!o)return;const s=g(o);if(s.length===0)return;const r=s[0],n=s[s.length-1];e.shiftKey&&document.activeElement===r?(e.preventDefault(),n.focus()):!e.shiftKey&&document.activeElement===n&&(e.preventDefault(),r.focus())});document.addEventListener("submit",async e=>{const t=e.target;if(!(t instanceof HTMLFormElement)||t.id!=="mtk-popup-form")return;e.preventDefault();const o=document.getElementById("mtk-popup-email"),s=document.getElementById("mtk-popup-honeypot"),r=document.getElementById("mtk-popup-error"),n=document.getElementById("mtk-popup-submit");if(!o||!r||!n||s?.value)return;const i=o.value.trim(),a=u=>{r.textContent=u,r.hidden=!1};if(!i||!k.test(i)){a("Please enter a valid email address."),o.focus();return}r.hidden=!0,n.disabled=!0,n.textContent="Subscribing...";try{const u=await fetch("/.netlify/functions/subscribe",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:i})}),w=await u.json().catch(()=>({}));if(u.ok){b();const p=document.getElementById("mtk-popup-form-view"),f=document.getElementById("mtk-popup-success-view");p&&(p.hidden=!0),f&&(f.hidden=!1,document.getElementById("mtk-popup-success-close")?.focus())}else a(w.error||"Something went wrong. Please try again."),n.disabled=!1,n.textContent="Subscribe"}catch{a("An error occurred. Please try again."),n.disabled=!1,n.textContent="Subscribe"}},!0);document.addEventListener("astro:page-load",()=>{m=!1,document.body.style.overflow="",P()});</script>
349 <!-- Google Ad Manager: upgrades [data-ad-zone] house promos to GAM slots 350 (consent + production gated). See src/scripts/ads.ts -->
350<script type="module">function m(){const o=document.getElementById("footer-newsletter-form"),a=document.getElementById("footer-newsletter-email"),i=document.getElementById("footer-honeypot"),e=document.getElementById("footer-form-message");o&&o.addEventListener("submit",async d=>{d.preventDefault();const n=a?.value?.trim();if(!e||i?.value)return;if(!n||!/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/.test(n)){e.textContent="Please enter a valid email address.",e.className="mt-2 text-xs text-red-400",e.classList.remove("hidden");return}const t=o.querySelector('button[type="submit"]');t&&(t.textContent="..."),t?.setAttribute("disabled","true"),e.classList.add("hidden");try{const s=await fetch("/.netlify/functions/subscribe",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:n})}),r=await s.json();s.ok?(e.textContent=r.message||"You're in!",e.className="mt-2 text-xs font-medium",e.style.color="var(--color-brick)",e.classList.remove("hidden"),o.reset()):(e.textContent=r.error||"Something went wrong. Try again.",e.className="mt-2 text-xs text-red-400",e.classList.remove("hidden"))}catch{e.textContent="An error occurred. Please try again.",e.className="mt-2 text-xs text-red-400",e.classList.remove("hidden")}finally{t&&(t.textContent="JOIN",t.removeAttribute("disabled"))}})}document.addEventListener("astro:page-load",m);</script>
350 <!-- Footer Newsletter Form Handler (site-wide) -->
350<script type="module">function v(e){if(typeof window>"u")return!1;try{const t=window.cookieConsent;return!!t&&t.has(e)}catch{return!1}}const z=()=>v("advertising"),L=[4206993315],S=["mixtapekings.com","www.mixtapekings.com"],R="https://securepubads.g.doubleclick.net/tag/js/gpt.js",p="mtk_ads",o=new Map;let m=!1,h=!1,i=null;function l(){const e=window;return e.googletag=e.googletag||{cmd:[]},e.googletag}function T(){try{return new URLSearchParams(location.search).get(p)==="test"?(sessionStorage.setItem(p,"test"),!0):sessionStorage.getItem(p)==="test"}catch{return!1}}function y(){return z()?S.includes(location.hostname)||T():!1}function O(){const e=location.pathname.split("/").filter(Boolean);return{section:e.length===0?"home":e[0]==="articles"&&e[1]?"article":e[0]==="music"&&e[1]==="mixtapes"&&e[2]?"mixtape":e[0],slug:e[e.length-1]||"home",env:S.includes(location.hostname)?"prod":"preview"}}function k(){const e=l();if(!h){h=!0;const t=document.createElement("script");t.src=R,t.async=!0,document.head.appendChild(t)}m||(m=!0,e.cmd.push(()=>{const t=e.pubads();t.enableSingleRequest(),t.enableLazyLoad({fetchMarginPercent:200,renderMarginPercent:150,mobileScaling:2}),t.setCentering(!0),t.addEventListener("slotRenderEnded",n=>{const r=!n.isEmpty&&n.campaignId!=null&&L.includes(n.campaignId);for(const[a,u]of o){if(u!==n.slot)continue;const s=a.querySelector(".ad-zone__box"),c=a.getBoundingClientRect();!n.isEmpty&&s&&c.bottom>0&&c.top<innerHeight&&(s.style.minHeight=`${s.getBoundingClientRect().height}px`),a.classList.toggle("is-filled",!n.isEmpty),a.classList.toggle("is-house",r)}}),e.enableServices()}))}function b(){const e=l();e.cmd.push(()=>{const t=e.pubads();t.clearTargeting();for(const[n,r]of Object.entries(O()))t.setTargeting(n,r)})}function w(e){if(o.has(e)||e.dataset.adDefining)return;const t=e.dataset.adUnit,n=e.dataset.adSlotId;if(!t||!n)return;e.dataset.adDefining="1";let r=[],a=[],u={};try{r=JSON.parse(e.dataset.adSizes||"[]"),a=JSON.parse(e.dataset.adMapping||"[]"),u=JSON.parse(e.dataset.adTargeting||"{}")}catch{}k();const s=l();s.cmd.push(()=>{if(delete e.dataset.adDefining,!e.isConnected)return;const c=s.sizeMapping();for(const[g,f]of a)c.addSize(g,f);const d=s.defineSlot(t,r,n);if(d){d.defineSizeMapping(c.build());for(const[g,f]of Object.entries(u))d.setTargeting(g,f);d.addService(s.pubads()),o.set(e,d),s.display(n)}})}function C(e){const t=o.get(e);if(o.delete(e),e.classList.remove("is-filled","is-house"),e.querySelector(".ad-zone__box")?.style.removeProperty("min-height"),!t)return;const n=l();n.cmd.push(()=>n.destroySlots([t]))}function I(){if(i?.disconnect(),i=null,o.size===0)return;const e=[...o.values()];o.clear();const t=l();t.cmd.push(()=>t.destroySlots(e))}function E(){if(!y())return;const e=[...document.querySelectorAll("[data-ad-zone]:not([data-ad-ondemand])")];e.length!==0&&(b(),i?.disconnect(),i=new IntersectionObserver(t=>{t.some(n=>n.isIntersecting)&&(i?.disconnect(),i=null,e.forEach(w))},{rootMargin:"200% 0px"}),e.forEach(t=>i.observe(t)))}document.addEventListener("astro:page-load",E);document.addEventListener("astro:before-swap",I);window.addEventListener("mtk:consent",E);window.addEventListener("mtk:search-open",()=>{if(!y())return;const e=document.querySelector("[data-ad-zone][data-ad-ondemand]");e&&(b(),w(e))});window.addEventListener("mtk:search-close",()=>{const e=document.querySelector("[data-ad-zone][data-ad-ondemand]");e&&C(e)});</script>
350 <!-- ClickToShop: fires on any outbound click to the Shopify storefront, 351 across every link on the site (nav, footer, homepage CTAs, article 352 content) â a single delegated listener on `document` covers all 353 current and future links without hand-instrumenting each one. 354 `document` persists across Astro ClientRouter (View Transitions) 355 navigations, so this binds once and needs no astro:page-load re-bind 356 (unlike the footer form above, which looks up specific #id nodes 357 that get replaced on navigation â this listener queries nothing at 358 bind time and re-resolves e.target.closest(...) fresh on every click). 359 Each call is guarded like the site's existing track() helper 360 elsewhere, so pre-consent/rejected visitors just no-op on fbq/gtag; 361 PostHog is unconditional already (pre-existing, site-wide) so its 362 capture can fire even before the cookie banner is accepted. -->
362<script> 363 document.addEventListener('click', function(e) { 364 var link = e.target.closest && e.target.closest('a[href*="shop.mixtapekings.com"]'); 365 if (!link) return; 366 367 try { if (typeof window.fbq === 'function') window.fbq('trackCustom', 'ClickToShop'); } catch (err) {} 368 try { if (typeof window.gtag === 'function') window.gtag('event', 'click_to_shop'); } catch (err) {} 369 try { if (window.posthog && window.posthog.capture) window.posthog.capture('click_to_shop'); } catch (err) {} 370 }); 371 </script>
371 </body> </html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.