<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Litro Blog</title>
    <link>https://litro.dev/blog</link>
    <description>Technical articles on web components, SSR, and standards-based development from the Litro team.</description>
    <language>en</language>
    <lastBuildDate>Mon, 20 Apr 2026 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://litro.dev/blog/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Web Components vs Next.js and Nuxt: A Real-App Benchmark</title>
      <link>https://litro.dev/blog/five-hn-clones-benchmark</link>
      <guid isPermaLink="true">https://litro.dev/blog/five-hn-clones-benchmark</guid>
      <description>We built the same Hacker News clone five times — Lit, FAST Element, Elena, Next.js 14, and Nuxt 3 — fed them through the same benchmark pipeline, and published the results. What we learned about web components, hydration-data cost, and the tradeoffs nobody advertises.</description>
      <pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Litro Goes Framework-Agnostic</title>
      <link>https://litro.dev/blog/framework-agnostic</link>
      <guid isPermaLink="true">https://litro.dev/blog/framework-agnostic</guid>
      <description>Litro now supports three web component frameworks — Lit, FAST Element, and Elena — through a pluggable adapter system. Here&apos;s why we built it, how it works, and what it means for your projects.</description>
      <pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>LitroRouter — A URLPattern Router for Web Components</title>
      <link>https://litro.dev/blog/litro-router-urlpattern</link>
      <guid isPermaLink="true">https://litro.dev/blog/litro-router-urlpattern</guid>
      <description>LitroRouter is a zero-dependency client-side router for Lit components built on the URLPattern API. This post covers the design decisions, the API, shadow DOM scroll-to-hash, and how to use it standalone without the full Litro framework.</description>
      <pubDate>Sun, 22 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>How Nitro&apos;s Deployment Adapters Work — and Why Litro Gets Them for Free</title>
      <link>https://litro.dev/blog/nitro-adapters</link>
      <guid isPermaLink="true">https://litro.dev/blog/nitro-adapters</guid>
      <description>Nitro powers both Nuxt.js and Litro. That means every Nitro deployment preset — Vercel, Cloudflare Workers, AWS Lambda, Deno Deploy — works in Litro without a single line of custom adapter code.</description>
      <pubDate>Sun, 22 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>File-Based Routing with Lit — A Next.js Developer&apos;s Guide</title>
      <link>https://litro.dev/blog/file-based-routing</link>
      <guid isPermaLink="true">https://litro.dev/blog/file-based-routing</guid>
      <description>Everything you know about file-based routing from Next.js applies to Litro. Here&apos;s how the page conventions map, how data fetching works, and how to navigate between routes in a Lit-based app.</description>
      <pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Building a Blog with Litro&apos;s Content Layer</title>
      <link>https://litro.dev/blog/litro-blog-tutorial</link>
      <guid isPermaLink="true">https://litro.dev/blog/litro-blog-tutorial</guid>
      <description>A step-by-step tutorial for building a Markdown blog with Litro&apos;s content layer — getPosts(), frontmatter, tag pages, static generation, and deploying to GitHub Pages.</description>
      <pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Streaming SSR with Declarative Shadow DOM — How It Works</title>
      <link>https://litro.dev/blog/streaming-ssr-dsd</link>
      <guid isPermaLink="true">https://litro.dev/blog/streaming-ssr-dsd</guid>
      <description>How Litro streams server-rendered Lit components to the browser using Declarative Shadow DOM, @lit-labs/ssr, and Nitro&apos;s sendStream(). What the wire format looks like, why it matters for Core Web Vitals, and how hydration works.</description>
      <pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Shadow DOM and SEO — The Problem and Litro&apos;s Solution</title>
      <link>https://litro.dev/blog/shadow-dom-seo</link>
      <guid isPermaLink="true">https://litro.dev/blog/shadow-dom-seo</guid>
      <description>Web components have an SEO problem — content inside Shadow DOM is invisible to crawlers. Here&apos;s why that happens, why it matters less than you think, and how Litro eliminates the issue entirely with server-side Declarative Shadow DOM.</description>
      <pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Why We Built Litro — The Case for Standards-Based Development</title>
      <link>https://litro.dev/blog/why-we-built-litro</link>
      <guid isPermaLink="true">https://litro.dev/blog/why-we-built-litro</guid>
      <description>React and Vue solved real problems in 2013. But the web platform has caught up. Here&apos;s why we think web components, URLPattern, and Declarative Shadow DOM are the right foundation for a modern fullstack framework.</description>
      <pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Welcome to Litro</title>
      <link>https://litro.dev/blog/welcome</link>
      <guid isPermaLink="true">https://litro.dev/blog/welcome</guid>
      <description>Introducing Litro — a fullstack web framework built on Lit, Nitro, and Vite.</description>
      <pubDate>Thu, 12 Mar 2026 00:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>