RSS Feeds
A site can publish one RSS 2.0 feed for each locale variant. The feed carries that variant's published, discoverable pages and orders them newest first by the date field the site type displays. It is a feed for the site, not a selected section.
Configure a feed
Set web.feed globally or under a site's web block in codocation.yml:
web:
feed:
enabled: true
limit: 20
fullText: false
enabled turns the feed on for a site. limit caps the number of items and defaults to 20;
fullText defaults to false, so items carry the page annotation rather than the full body.
There is no feed-specific title setting: each feed uses the title of its own locale variant.
Set publicUrl to an absolute URL with both a scheme and a host so the feed can be written and its
pages can announce it; without one, no feed is written for that site, none of its pages announce
one, and CFG_028 reports the missing URL as a warning. A bare http:// has a scheme but no host
and does not satisfy this requirement.
Publications and updates
On a blog, the feed is a publication stream. An item carries the date its post was published, and editing the post does not move it.
On a docs site, the feed is an update stream. An edited page reappears because being edited is the event the feed reports. A docs feed is not a changelog or a stream of new pages.
These dates have two direct consequences. A docs page reappears whenever anything moves its
updated date, including the commit that first publishes it and the commit that renames its
file when either commit lands on a later day than its last updated day. A blog post that sat
unpublished keeps the published date its history resolves to, so it may land below the limit
on the day it goes live.
By default, the channel description repeats this distinction in the variant's resolved site
language: a blog channel says {title} is a publication stream. and a docs channel says
{title} is an update stream. The locale's content/<locale>/site-strings.yml supplies the
localized wording.
Item identity
An item is identified by the page's own URL in its locale variant. If that URL changes because the page is renamed, re-slugged, or moved, it is a different item afterwards; a reader holding the old item may show both.
A change that rewrites every URL at once does this to the whole feed in one step. Examples are
a new base path, a new publicUrl, or toggling cleanUrls.
RSS guarantees nothing about what a reader does with an item it already holds. Whether changed content or a changed date marks that item unread again is the reader's decision, so no Codocation surface promises that an update is quiet.
