blob: 80b87d0d8e622e542af0386cdbedf649e01b60d5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
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.
|