<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="/__sitemap__/style.xsl"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd http://www.google.com/schemas/sitemap-image/1.1 http://www.google.com/schemas/sitemap-image/1.1/sitemap-image.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
        <loc>https://caelum.moe/</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/1772709051246-z1cavw.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/49.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/48.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/46.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/45.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/44.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/about</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/1772709051246-z1cavw.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/49.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/48.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/46.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/45.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/44.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/links</loc>
        <image:image>
            <image:loc>https://www.kaitaku.xyz/assets/avatar.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://soft.moe/avatar/kun.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://api.kloudy.cn/img/icon.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://api-space.tnxg.top/avatar?s=qq</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://www.mias.moe/_astro/avatar.BYkgyyEt_ZIE92s.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://q2.qlogo.cn/headimg_dl?dst_uin=507249007&amp;amp;spec=640</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://wsrv.nl/?url=r2.sayoriqwq.com/blog/avatar.webp&amp;amp;w=256&amp;amp;q=75&amp;amp;we=1&amp;amp;maxage=31536000</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://bikari.top/image/avatar/maestrale.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://weavatar.com/avatar/e0bc851d0ad0c120ff604124bba77e19?s=256</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://avatars.githubusercontent.com/u/151366823?v=4</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://avatars.githubusercontent.com/u/46957197</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://static-r2.caelum.moe/greyflowers-nea.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://static-r2.caelum.moe/picals-logo.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://static-r2.caelum.moe/apiplayer-logo.svg</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://static-r2.caelum.moe/littlesharing-logo.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://static-r2.caelum.moe/hana-img-viewer-logo.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://static-r2.caelum.moe/campanula-logo.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://static-r2.caelum.moe/gallery-logo.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/recently</loc>
    </url>
    <url>
        <loc>https://caelum.moe/thoughts</loc>
    </url>
    <url>
        <loc>https://caelum.moe/articles/2026-01-01</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/48.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/access-vercel-in-china-mainland</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/13.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/archives</loc>
    </url>
    <url>
        <loc>https://caelum.moe/articles/axios-best-practices</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/43.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/basic-responsive-data</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/37.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/categories</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/categories/some-research.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/categories/daily-development.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/categories/projects-about.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/categories/nest-about.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/categories/react-notes.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/categories/projects.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/categories/vue-notes.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/categories/next-notes.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/circular-dependency-in-nest</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/19.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/class-inheritance-in-js</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/6.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/claude-code-linus-prompt</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/45.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/cookie-session-jwt</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/2.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/decorator-in-ts</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/21.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/deploy-nest-using-docker</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/12.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/dev-vue-lib-loss-style</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/49.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/dnd-kit-in-react</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/15.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/exceptions-in-nest</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/20.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/fetch-event-source</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/5.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/fetch-vs-axios</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/3.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/first-impression-view-transition</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/42.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/frontend-pdf-watermark</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/17.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/get-to-know-postgresql</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/4.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/get-to-know-prisma</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/10.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/interval-and-chord</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/38.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/ioc-and-di</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/22.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/javascript-tail-call-optimization</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/30.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/js-expression-and-js-code</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/24.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/js-ts-cursor-rules</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/46.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/linter-formatter-best-practices</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/41.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/littlesharing-about</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/18.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/mysql-typeorm-cascading-relationship</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/16.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/nest-prisma-integration</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/44.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/picals-introduction</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/28.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/react-18-core-difficulties</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/23.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/react-memo-begin</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/27.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/react-router-dom-begin</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/26.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/redux-begin</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/25.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/regular-expressions-in-js</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/8.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/responsive-data-plan-1</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/33.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/responsive-data-plan-2</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/34.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/responsive-data-plan-3</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/35.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/responsive-data-plan-4</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/36.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/rxjs</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/1.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/server-actions</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/11.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/serverless-fullstack-deployment</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/39.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/tags</loc>
    </url>
    <url>
        <loc>https://caelum.moe/articles/vite-dev-server-principle</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/40.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/vite-ssg-in-vue3</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/14.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/vue-responsive-system-1</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/31.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/vue-responsive-system-2</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/32.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/vue2-vs-vue3</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/9.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/webpack-vs-vite</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/7.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/what-is-rsc</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/1772709051246-z1cavw.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/win11-c-cpp-dev-debug</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/29.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85&amp;amp;s_96x96/images/avatar.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/categories/daily-development</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/48.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/46.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/45.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/44.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/43.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/17.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/categories/nest-about</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/19.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/20.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/categories/next-notes</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/1772709051246-z1cavw.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/11.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/categories/projects</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/28.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/categories/projects-about</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/18.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/categories/react-notes</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/23.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/27.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/24.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/26.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/25.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/categories/some-research</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/49.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/42.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/41.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/40.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/39.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/38.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/categories/vue-notes</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/37.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/36.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/35.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/34.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/33.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/32.webp</image:loc>
        </image:image>
    </url>
    <url>
        <loc>https://caelum.moe/articles/tags/filter</loc>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/1772709051246-z1cavw.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/49.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/48.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/46.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/45.webp</image:loc>
        </image:image>
        <image:image>
            <image:loc>https://caelum.moe/_ipx/q_85/https://blog-r2.caelum.moe/covers/44.webp</image:loc>
        </image:image>
    </url>
</urlset>
<!-- XML Sitemap generated by @nuxtjs/sitemap v8.0.9 at 2026-03-30T04:59:01.764Z -->