<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>XiaoMo · ブログ</title><description>XiaoMo の個人サイト：記事、ミニゲーム、ブラウザツール。</description><link>https://www.moiu.cn/</link><language>ja</language><item><title>なぜまた個人サイトを作ったのか</title><link>https://www.moiu.cn/ja/blog/hello-world/</link><guid isPermaLink="true">https://www.moiu.cn/ja/blog/hello-world/</guid><description>書く場所がなかったわけではなく、記事とゲームとツールを同じ場所に置けなかったから。</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate><category>サイト制作</category><category>Astro</category></item><item><title>静的サイトの公開は「フォルダを上げる」だけではない：キャッシュ、圧縮、正直な 404</title><link>https://www.moiu.cn/ja/blog/static-hosting-nginx/</link><guid isPermaLink="true">https://www.moiu.cn/ja/blog/static-hosting-nginx/</guid><description>静的ホスティングの罠はほぼ全部レスポンスヘッダーにあります。永久にキャッシュしてよいファイル、絶対にしてはいけないファイル、そして静的サイトが SPA 式フォールバックを使ってはいけない理由。</description><pubDate>Tue, 22 Sep 2026 00:00:00 GMT</pubDate><category>サイト制作</category><category>パフォーマンス</category></item><item><title>Astro islands で初回 JS をゼロに近づける</title><link>https://www.moiu.cn/ja/blog/astro-islands/</link><guid isPermaLink="true">https://www.moiu.cn/ja/blog/astro-islands/</guid><description>「非同期読み込み」を「必要な時だけハイドレート」まで分解し、3層の遅延読み込みがそれぞれ何を解決するのかを実コードで説明します。</description><pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate><category>Astro</category><category>パフォーマンス</category><category>Vue</category></item><item><title>321 件のアサーション、テストフレームワークなし：純粋なロジックを import ゼロに保つ</title><link>https://www.moiu.cn/ja/blog/zero-import-selftest/</link><guid isPermaLink="true">https://www.moiu.cn/ja/blog/zero-import-selftest/</guid><description>このサイトの自検は node scripts/selftest.ts を直接実行するだけ。フレームワークも依存もありません。代償は検証対象のモジュールが相対 import を 1 つも持てないこと、そしてその代償はコードの形を買いました。</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate><category>Astro</category><category>サイト制作</category></item><item><title>静的サイトの全文検索：索引はビルド時に、実行時にサーバーなし</title><link>https://www.moiu.cn/ja/blog/pagefind-search/</link><guid isPermaLink="true">https://www.moiu.cn/ja/blog/pagefind-search/</guid><description>静的サイトの検索は Algolia を繋がなくても作れます。索引をビルド時に生成し、検索は完全にブラウザ内で実行する——代償はビルドが数秒伸びるだけです。</description><pubDate>Tue, 08 Sep 2026 00:00:00 GMT</pubDate><category>サイト制作</category><category>パフォーマンス</category></item><item><title>孔版印刷の制約をデザイントークンに翻訳する</title><link>https://www.moiu.cn/ja/blog/riso-ui/</link><guid isPermaLink="true">https://www.moiu.cn/ja/blog/riso-ui/</guid><description>このサイトの視覚方向は孔版印刷（リソ）です。実際にやったのは印刷の物理的な制約をトークンに書き出すことで、おかげで見た目を変えても触ったのは 2 ファイルだけ、コンポーネントは 1 行も直していません。</description><pubDate>Tue, 01 Sep 2026 00:00:00 GMT</pubDate><category>デザイン</category><category>CSS</category></item><item><title>手書き i18n：3 言語サイトでルーティングを自作する代償</title><link>https://www.moiu.cn/ja/blog/manual-i18n/</link><guid isPermaLink="true">https://www.moiu.cn/ja/blog/manual-i18n/</guid><description>このサイトの i18n は Astro 組み込みの設定を使わず自作しました。その理由と、代償が実際に現れた場所——2 回の 404 と、半分しか翻訳されていなかったブログについて書きます。</description><pubDate>Mon, 24 Aug 2026 00:00:00 GMT</pubDate><category>サイト制作</category><category>デザイン</category></item><item><title>デザイントークン：1ファイルでサイト全体を統制する</title><link>https://www.moiu.cn/ja/blog/design-tokens/</link><guid isPermaLink="true">https://www.moiu.cn/ja/blog/design-tokens/</guid><description>色・余白・角丸をすべて _tokens.scss に集約した理由と、ビジュアル方針の変更が2ファイルの書き換えだけで済んだ話。</description><pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate><category>CSS</category><category>デザイン</category></item></channel></rss>