import { ProjectPluginStructure, UIDLBlogRssFeed } from '@teleporthq/teleport-types'; /** * Where the published site serves the blog's RSS feed — and, for every * language but the main one, at `//rss.xml`. * * ⛔ PAIRED with `BLOG_RSS_PATH` in the GUI's * `features/blog/constants/blog-rss.ts`, which shows the owner this address. */ export declare const BLOG_RSS_ROUTE = "/rss.xml"; /** How many posts the feed lists: the newest ones. */ export declare const BLOG_RSS_FEED_SIZE = 20; interface BlogRssPageParams { feed: UIDLBlogRssFeed; /** The `utils/data-sources/` module that reads the posts table. */ fetcherModule: string; /** The site's canonical origin, `null` when the pages carry none. */ siteUrl: string | null; title: string; description: string; } /** * `pages/rss.xml.js`: an RSS 2.0 document of the newest published posts, * written by `getServerSideProps` itself (the page renders nothing). * * The rows come from the blog's own generated fetcher, so every database the * blog can live in works, and a multi-language site answers `/es/rss.xml` with * the Spanish copy of each post. Fields are read under their transformed name * first and their column name second: only some fetchers transform the rows. * * More posts are read than listed, so the ones without an address of their * own (no slug, or a redirect elsewhere) can be left out, and a draft started * long ago but published today — ordered by `created_at` among the old ones — * still makes the cut once the feed orders by publication date. * * A database that cannot be read answers 503 with `Retry-After`: an empty * feed would tell readers every post was gone. */ export declare const generateBlogRssPageSource: (params: BlogRssPageParams) => string; /** * The `` every page carries, so browsers and feed * readers find the feed — the one in the language the page is in. */ export declare const generateBlogFeedLinkSource: (title: string) => string; /** * Emits the feed route and announces it from every page. Nothing is emitted * when the posts table has no fetcher to read it through. */ export declare const addBlogRssFeed: (structure: ProjectPluginStructure, feed: UIDLBlogRssFeed) => void; export {}; //# sourceMappingURL=rss-feed.d.ts.map