It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: https://xraypod.com

  1. <!doctype html>
  2. <html lang="en" dir="ltr">
  3. <head>
  4.  <!-- ========== Base Meta ========== -->
  5.  <meta charset="utf-8" />
  6.  <meta name="viewport" content="width=device-width, initial-scale=1" />
  7.  <title>XRAY Podcast Network — Music, Community, Culture</title>
  8.  <meta name="description" content="XRAY Podcast Network unifies voices in Portland and beyond—local music, community playlists, PSA’s, and interviews that matter." />
  9.  <link rel="canonical" href="https://xraypod.com/" />
  10.  
  11.  <!-- ========== App / Security ========== -->
  12.  <meta name="csrf-token" content="nB09ZLNMpnkBekE8mQaNOJhjlpFEd1et2j40YAQD" />
  13.  <meta name="fragment" content="!" />
  14.  
  15.  <!-- ========== Theming ========== -->
  16.  <meta name="theme-color" content="#111827" />
  17.  <meta name="color-scheme" content="dark light" />
  18.  
  19.  <!-- ========== Open Graph ========== -->
  20.  <meta property="og:site_name" content="XRAY Podcast Network" />
  21.  <meta property="og:type" content="website" />
  22.  <meta property="og:url" content="https://xraypod.com/" />
  23.  <meta property="og:title" content="XRAY Podcast Network — Music, Community, Culture" />
  24.  <meta property="og:description" content="Local artists, community playlists, culture-forward PSAs & interviews—tuning Portland to the world." />
  25.  <meta property="og:image" content="https://cdn.xray.fm/sites/domains/xray_content_68C30AA4-6138-4663-B04E-8A04A47DB392.jpg" />
  26.  <meta property="og:image:width" content="1200" />
  27.  <meta property="og:image:height" content="630" />
  28.  <meta property="og:image:type" content="image/jpeg" />
  29.  
  30.  <!-- ========== Twitter Cards ========== -->
  31.  <meta name="twitter:card" content="summary_large_image" />
  32.  <meta name="twitter:site" content="@xrayfm" />
  33.  <meta name="twitter:creator" content="@xrayfm" />
  34.  <meta name="twitter:title" content="XRAY Podcast Network — Music, Community, Culture" />
  35.  <meta name="twitter:description" content="Local artists, community playlists, culture-forward PSAs & interviews—tuning Portland to the world." />
  36.  <meta name="twitter:image" content="https://cdn.xray.fm/sites/domains/xray_content_68C30AA4-6138-4663-B04E-8A04A47DB392.jpg" />
  37.  
  38.  <!-- ========== Preconnect / Prefetch ========== -->
  39.  <link rel="preconnect" href="https://fonts.googleapis.com" />
  40.  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
  41.  <link rel="preconnect" href="https://xrayfm.sfo2.digitaloceanspaces.com" crossorigin />
  42.  <link rel="preconnect" href="https://xray-fm-cdn.nyc3.digitaloceanspaces.com" crossorigin />
  43.  <link rel="preconnect" href="https://streaming.xray.fm" crossorigin />
  44.  
  45.  <!-- ========== Fonts ========== -->
  46.  <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" rel="stylesheet" />
  47.  <link rel="preload" href="/fonts/leaguespartan-bold.woff" as="font" type="font/woff" crossorigin />
  48.  
  49.  <!-- ========== Icons ========== -->
  50.  <link rel="icon" href="/sites/domain/1/xray_content_7A0DAC7E-67DC-464D-8E53-0CF5826D55F1.ico" sizes="any" />
  51.  <link rel="apple-touch-icon" href="/apple-touch-icon.png" />
  52.  <link rel="manifest" href="/site.webmanifest" />
  53.  
  54.  <!-- ========== Styles ========== -->
  55.  <!-- Preload LCP hero image for faster first paint -->
  56.  <link rel="preload" as="image" href="https://cdn.xray.fm/sites/domains/xray_content_68C30AA4-6138-4663-B04E-8A04A47DB392.jpg" imagesrcset="https://cdn.xray.fm/sites/domains/xray_content_68C30AA4-6138-4663-B04E-8A04A47DB392.jpg 1200w" imagesizes="100vw" />
  57.  
  58.  <!-- Inline critical CSS (above-the-fold) -->
  59.  <style id="critical-css">
  60.    /* --- CSS Reset (tiny) --- */
  61.    *,*::before,*::after{box-sizing:border-box}
  62.    html:focus-within{scroll-behavior:smooth}
  63.    body{margin:0;font-family:Roboto,system-ui,-apple-system,Segoe UI,Ubuntu,Cantarell,\"Helvetica Neue\",Arial,sans-serif;background:#0b0e14;color:#e5e7eb;-webkit-font-smoothing:antialiased;}
  64.  
  65.    /* --- Layout Shell --- */
  66.    .main-container{min-height:100vh;display:flex;flex-direction:column}
  67.    .content{flex:1}
  68.  
  69.    /* --- Header (placeholder; matches expected app layout) --- */
  70.    .site-header{position:sticky;top:0;z-index:40;background:rgba(11,14,20,.7);backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}
  71.    .site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;max-width:1200px;margin:0 auto}
  72.    .site-logo{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:inherit}
  73.    .site-logo img{height:32px;width:auto;display:block}
  74.  
  75.    /* --- Hero (LCP) --- */
  76.    .hero{position:relative;isolation:isolate;background:#0b0e14}
  77.    .hero__media{position:absolute;inset:0;z-index:-1;overflow:hidden}
  78.    .hero__media img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(1.05) contrast(1.05)}
  79.    .hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.75))}
  80.    .hero__inner{max-width:1100px;margin:0 auto;padding:72px 20px 56px}
  81.    .hero__eyebrow{letter-spacing:.12em;text-transform:uppercase;font-weight:500;opacity:.85}
  82.    .hero__title{margin:.25rem 0 .5rem;font-weight:700;line-height:1.1;font-size:clamp(28px,4.5vw,52px)}
  83.    .hero__subtitle{max-width:70ch;margin:0 0 1rem;font-size:clamp(14px,1.8vw,18px);opacity:.88}
  84.    .btn{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1rem;border-radius:999px;border:1px solid rgba(255,255,255,.14);text-decoration:none;color:#0b0e14;background:#fcd34d;font-weight:600}
  85.    .btn--ghost{background:transparent;color:#e5e7eb}
  86.  
  87.    /* --- Responsive tweaks --- */
  88.    @media (min-width:768px){.hero__inner{padding:96px 24px 72px}.btn{padding:.8rem 1.1rem}}
  89.  $1
  90.  
  91.  <!-- ======= Styles for header/player/hero (critical) ======= -->
  92.  <style>
  93.    .playerbar{position:sticky;top:0;background:#0b0e14;border-bottom:1px solid rgba(255,255,255,.08);z-index:50}
  94.    .playerbar__inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:auto 1fr 1fr auto;gap:.75rem;align-items:center;padding:.5rem 1rem}
  95.    .playerbar__controls{display:flex;gap:.5rem}
  96.    .icon-btn{background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:.3rem .5rem;line-height:1;color:#fff;cursor:pointer}
  97.    .playerbar__meta{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.9}
  98.    .playerbar__progress{height:4px;background:rgba(255,255,255,.14);border-radius:2px;overflow:hidden}
  99.    .playerbar__progress span{display:block;height:100%;background:#e5e7eb}
  100.    .playerbar__time{font-size:.8rem;opacity:.8}
  101.  
  102.    .site-header{background:#0b0e14}
  103.    .site-header .wrap{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:.85rem 1rem}
  104.    .site-nav{display:flex;align-items:center;gap:1.2rem}
  105.    .site-nav a{color:#e5e7eb;text-decoration:none;font-weight:700;letter-spacing:.02em}
  106.    .btn--donate{background:#10b981;border-color:#10b981;color:#0b0e14;font-weight:800;padding:.5rem .9rem}
  107.  
  108.    .hero--red .hero__shade{background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.85))}
  109.    .hero--red .hero__media img{filter:hue-rotate(-10deg) saturate(1.2) brightness(.7)}
  110.    .hero__title{font-size:clamp(32px,6vw,64px);letter-spacing:.02em}
  111.  </style>
  112.  <link rel="stylesheet" href="/css/app_id-3ffe904870336dd45d89-sdds.css" />
  113.  
  114.  <!-- ========== SEO Structured Data ========== -->
  115.  <script type="application/ld+json">
  116.  {
  117.    "@context": "https://schema.org",
  118.    "@type": "Organization",
  119.    "name": "XRAY Podcast Network",
  120.    "url": "https://xraypod.com/",
  121.    "logo": "https://cdn.xray.fm/sites/domain/1/xray_content_22552A4B-659C-4418-896B-6B8BA87B1472.svg",
  122.    "sameAs": [
  123.      "https://x.com/xrayfm",
  124.      "https://www.instagram.com/xrayfm/",
  125.      "https://www.facebook.com/xrayfm/"
  126.    ]
  127.  }
  128.  </script>
  129.  <script type="application/ld+json">
  130.  {
  131.    "@context": "https://schema.org",
  132.    "@type": "WebSite",
  133.    "name": "XRAY Podcast Network",
  134.    "url": "https://xraypod.com/",
  135.    "potentialAction": {
  136.      "@type": "SearchAction",
  137.      "target": "https://xraypod.com/search?q={query}",
  138.      "query-input": "required name=query"
  139.    }
  140.  }
  141.  </script>
  142.  
  143.  <!-- ========== Analytics (kept as provided) ========== -->
  144.  <meta name="google-analytics" content="UA-132777548-1" />
  145. </head>
  146. <body>
  147.  <noscript>
  148.    <div style="padding:1rem; background:#111; color:#fff; text-align:center;">
  149.      XRAY Podcast Network requires JavaScript to run. Please enable JavaScript to enjoy the site.
  150.    </div>
  151.  </noscript>
  152.  
  153.  <!-- ======= Top Player Bar (static demo) ======= -->
  154.  <div class="playerbar">
  155.    <div class="playerbar__inner">
  156.      <div class="playerbar__controls">
  157.        <button aria-label="Previous" class="icon-btn">⏮</button>
  158.        <button aria-label="Play/Pause" class="icon-btn">▶</button>
  159.        <button aria-label="Next" class="icon-btn">⏭</button>
  160.      </div>
  161.      <div class="playerbar__meta">World of Noise - Episode 017: Yuvees | Patricia Wolf</div>
  162.      <div class="playerbar__progress"><span style="width:22%"></span></div>
  163.      <div class="playerbar__time">00:00 | 00:00</div>
  164.    </div>
  165.  </div>
  166.  
  167.  <!-- ======= Header Nav ======= -->
  168.  <header class="site-header">
  169.    <div class="wrap">
  170.      <a class="site-logo" href="/">
  171.        <img src="/sites/domain/1/xray_content_22552A4B-659C-4418-896B-6B8BA87B1472.svg" alt="XRAYPOD" />
  172.      </a>
  173.      <nav class="site-nav" aria-label="Primary">
  174.        <a href="/shows">PODCASTS</a>
  175.        <a href="/news">NEWS</a>
  176.        <a href="/about">ABOUT</a>
  177.        <button class="icon-btn" aria-label="Search">🔍</button>
  178.        <a class="btn btn--donate" href="https://xray.fm/donate">DONATE</a>
  179.      </nav>
  180.    </div>
  181.  </header>
  182.  
  183.  <!-- ======= Hero Section (like screenshot) ======= -->
  184.  <section class="hero hero--red">
  185.    <div class="hero__media">
  186.      <img fetchpriority="high" decoding="async" width="1600" height="900"
  187.           src="https://cdn.xray.fm/sites/domains/xray_content_68C30AA4-6138-4663-B04E-8A04A47DB392.jpg"
  188.           alt="XRAY mixing board" />
  189.      <div class="hero__shade"></div>
  190.    </div>
  191.    <div class="hero__inner">
  192.      <div class="hero__eyebrow">CURRENT EPISODE: MORE MAYORAL RACE DRAMA; SENATOR KIM THATCHER</div>
  193.      <h1 class="hero__title">THE LOCAL</h1>
  194.      <p class="hero__subtitle">Your daily dose of local news and democracy with a focus on Portland, Oregon. The Local is a production of XRAY FM as part of its mission to amplify the voices of its community and deliver locally-sourced, independent journalism.</p>
  195.      <a class="btn btn--ghost" href="/show/world-of-noise">Browse All Episodes »</a>
  196.    </div>
  197.  </section>
  198.  
  199.  <div id="app" class="main-container">
  200.    <div class="content">
  201.      <app></app>
  202.    </div>
  203.  </div>
  204.  
  205.  <script>
  206.    window.prerenderReady = false;
  207.    window.domain = 1;
  208.    window.routes = [
  209.      {"path":"/","name":"page.index","display":false,"component":"Page","props":false},
  210.      {"path":"/show/:podcast","name":"podcasts.show","display":false,"component":"PodcastShow","props":true},
  211.      {"path":"/show/:podcast/:episode","name":"episodes.show","display":false,"component":"PodcastEpisodeDetail","props":true},
  212.      {"path":"/post/:post","name":"posts.show","display":false,"component":"PostShow","props":true},
  213.      {"path":"/shows","name":"podcasts.index","display":"Podcasts","component":"PodcastIndex","props":false},
  214.      {"path":"/news","name":"posts.index","display":"News","component":"PostIndex","props":false},
  215.      {"path":"/about","name":"page.about","display":"About","component":"Page","props":false},
  216.      {"path":"https://xray.fm/donate","name":"page.donate","display":false,"component":"Page","props":false}
  217.    ];
  218.  
  219.    window.footer_menu = {
  220.      "Main Menu": [
  221.        {"path":"/shows","name":"page.podcasts","display":"Podcasts","component":"Page","props":false},
  222.        {"path":"/news","name":"page.news","display":"News","component":"Page","props":false},
  223.        {"path":"/about","name":"page.about","display":"About","component":"Page","props":false}
  224.      ],
  225.      "Social": [
  226.        {"path":"https://www.facebook.com/xrayfm/","name":"page.facebook","display":"Facebook","component":"Page","props":false},
  227.        {"path":"https://www.instagram.com/xrayfm/","name":"page.instagram","display":"Instagram","component":"Page","props":false},
  228.        {"path":"https://twitter.com/xrayfm","name":"page.twitter","display":"Twitter","component":"Page","props":false}
  229.      ]
  230.    };
  231.  
  232.    window.domain_logo = "/sites/domain/1/xray_content_22552A4B-659C-4418-896B-6B8BA87B1472.svg";
  233.    window.domain_settings = {
  234.      "unfurl": "https://cdn.xray.fm/sites/domains/xray_content_68C30AA4-6138-4663-B04E-8A04A47DB392.jpg",
  235.      "show_header": true,
  236.      "google_analytics": "UA-132777548-1"
  237.    };
  238.  
  239.    window.domains = [
  240.      {"domain":"https://xray.fm","title":"XRAY.FM","logo":"https://cdn.xray.fm/sites/domain/3/xray_content_9AE5B651-7B51-48E4-9ADC-5E0701653647.svg"},
  241.      {"domain":"https://thenumberz.fm","title":"THENUMBERZ.FM","logo":"https://cdn.xray.fm/sites/domain/2/xray_content_B47A02C0-52E1-44BF-AA86-974A22990E02.svg"},
  242.      {"domain":"https://xraypod.com","title":"XRAY PODCAST NETWORK","logo":"https://cdn.xray.fm/sites/domain/1/xray_content_22552A4B-659C-4418-896B-6B8BA87B1472.svg"}
  243.    ];
  244.  
  245.    window.playlist = [
  246.      {"name":"World of Noise - Episode 017: Yuvees | Patricia Wolf","url":"https://streaming.xray.fm/track/podcasts/52/2660/World%20of%20Noise%20Episode%20017.mp3"}
  247.    ];
  248.  
  249.    window.default_player_metadata = {
  250.      "name":"Episode 017: Yuvees | Patricia Wolf",
  251.      "id":2660,
  252.      "podcast_name":"World of Noise",
  253.      "podcast_and_show_name":"World of Noise - Episode 017: Yuvees | Patricia Wolf",
  254.      "slug":"/show/world-of-noise/episode-017-yuvees-patricia-wolf",
  255.      "link":"show/world-of-noise",
  256.      "description":"On this week's show, the members of post-punk band Yuvees choose songs important to them, including Captain Beefheart, Brainiac, and Lithics; plus electronic musician/sound artist Patricia Wolf.",
  257.      "episode_number":17,
  258.      "preheader":"CURRENT EPISODE",
  259.      "more_info_links":{
  260.        "Listen":"https://streaming.xray.fm/track/podcasts/52/2660/World%20of%20Noise%20Episode%20017.mp3",
  261.        "Episode Page":"/show/world-of-noise/episode-017-yuvees-patricia-wolf",
  262.        "Podcast Website":"https://xraypod.com/show/world-of-noise"
  263.      },
  264.      "image":"https://cdn.xray.fm/sites/podcasts/episode/xray_content_6F57DE6E-3BEC-4569-8277-B2882462FBA8.jpg"
  265.    };
  266.  
  267.    window.analytics = "UA-132777548-1";
  268.  </script>
  269. </body>
  270. </html>
  271.  
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda