Search, Feeds, and Metadata =========================== The application exposes several distribution surfaces in addition to HTML pages. These endpoints help readers, search clients, crawlers, and social previews consume the site. Search ------ The search index endpoint lives at ``src/app/(main)/api/search/route.ts`` and is served from ``/api/search``. It is intended for the Fumadocs search UI and should return normalized, public, published content only. Feeds ----- The feed route lives at ``src/app/(main)/rss.xml/route.ts`` and is exposed as ``/rss.xml``. Keep this canonical path consistent in page metadata, sitemap configuration, and external documentation. Open Graph Images ----------------- Dynamic image generation is implemented under: * ``src/app/(main)/banner.png`` for site-level banner output; * ``src/app/(main)/og/[...slug]`` for post-specific Open Graph output. The font JSON assets in these folders support image rendering. Treat them as runtime assets for the route handlers. Metadata -------- Metadata helpers live in ``src/lib/metadata.ts`` and page-level JSON-LD rendering is handled by ``src/components/json-ld.tsx``. New public routes should define metadata intentionally instead of relying on generic defaults. Sitemap ------- ``next-sitemap.config.cjs`` controls sitemap generation after application builds. Generated ``public/robots.txt`` and ``public/sitemap*.xml`` are ignored by Git and should be regenerated by the build pipeline.