<?xml version="1.0" encoding="UTF-8" ?>
  <rss version="2.0">
    <channel>
        <title>Ziyi Li's Blog</title>
        <link>https://www.ziyili.dev/</link>
        <description>RSS feed for Ziyi Li's Blog</description>
        <item>
          <title>Creating a Custom Vite Plugin with TypeScript Support to Automatically ZIP Build Artifacts at Build Time</title>
          <link>https://www.ziyili.dev//blog/custom-vite-plugin</link>
          <description>This blog walks through an example of creating a custom Vite plugin that automatically zips build artifacts at build time. It also includes TypeScript support for full type safety.</description>
          <pubDate>Fri, 01 Aug 2025 00:00:00 GMT</pubDate>
        </item>
<item>
          <title>Syncing LLM Streaming Text Across Clients Using Event-Driven Architecture and Redis Pub/Sub</title>
          <link>https://www.ziyili.dev//blog/syncing-llm-text-stream</link>
          <description>This blog walks through an example of how to stream real-time LLM responses and display them on multiple clients simultaneously, using Redis Pub/Sub for event publishing and subscription, and React Query for fetching the real-time stream.</description>
          <pubDate>Sun, 27 Jul 2025 00:00:00 GMT</pubDate>
        </item>
<item>
          <title>Type Casting and Compiling a C++ Algorithm into a WebAssembly Module for Execution in a Web Worker within a React Application</title>
          <link>https://www.ziyili.dev//blog/cpp-algo-wasm</link>
          <description>This blog walks through an example of how to properly compile a `C++` based algorithm into `WebAssembly` format, establish communication between a `React` application and the compiled `WebAssembly` module, and execute the `WebAssembly` code in a `Web Worker` without blocking the main thread.</description>
          <pubDate>Wed, 02 Jul 2025 00:00:00 GMT</pubDate>
        </item>
<item>
          <title>Handling Hover Interaction Styling on Touch Devices Using CSS Media Queries and Tailwind CSS Custom Variants</title>
          <link>https://www.ziyili.dev//blog/hover-touch-device</link>
          <description>A guide to handling the :hover pseudo-class on touch devices using CSS media queries and Tailwind CSS custom variants, with automatic detection of light and dark mode.</description>
          <pubDate>Tue, 10 Jun 2025 00:00:00 GMT</pubDate>
        </item>
<item>
          <title>Fixing Unexpected Caching Behavior Caused by Next.js's Full Route Cache During Soft Navigation via Link Components</title>
          <link>https://www.ziyili.dev//blog/fix-nextjs-caching-bug</link>
          <description>This blog covers a caching bug in Next.js App Router that causes stale content to appear during navigation. It compares two fixes: a client-side approach using router.refresh() and a more performant server-side solution using revalidatePath.</description>
          <pubDate>Sat, 24 May 2025 00:00:00 GMT</pubDate>
        </item>
<item>
          <title>Improving Canvas Animation and UI Interactivity with OffscreenCanvas and Web Workers</title>
          <link>https://www.ziyili.dev//blog/offscreen-canvas</link>
          <description>A walkthrough on improving canvas animation and UI interactivity using OffscreenCanvas and Web Workers in a React app.</description>
          <pubDate>Fri, 11 Apr 2025 00:00:00 GMT</pubDate>
        </item>
<item>
          <title>Implementing Canvas Hit Region Detection and Drag-to-Select Functionality with React</title>
          <link>https://www.ziyili.dev//blog/canvas-click-drag-to-select</link>
          <description>A concise implementation of Canvas hit region detection and drag-to-select functionality using React.</description>
          <pubDate>Sun, 09 Mar 2025 00:00:00 GMT</pubDate>
        </item>
<item>
          <title>Building and Optimizing an SVG Widget with Dragging and Clicking Support Using D3.js and React</title>
          <link>https://www.ziyili.dev//blog/optimized-d3-drag-click</link>
          <description>A concise implementation of drag-and-drop and click functionality with D3.js and SVG in React, featuring performance profiling and optimization.</description>
          <pubDate>Mon, 17 Feb 2025 00:00:00 GMT</pubDate>
        </item>
    </channel>
  </rss>