Related documentation
Feeds
Roe automatically generates RSS and Atom feeds for your published posts. These are ready to use from day one — no configuration needed.
Feed URLs
| Format | URL |
|---|---|
| RSS 2.0 |
/feed.xml or /feed
|
| Atom | /feed.atom |
Both feeds include the 20 most recent published posts, ordered by date.
What’s Included
Feeds include all published posts with published_to: site or published_to: both. Posts set to published_to: newsletter only (or status: draft / status: unlisted) are excluded.
Each feed entry includes:
-
Title — from
title - Link — the post’s public URL
-
Description — resolved in this order:
-
excerptif set -
subtitleif set (no excerpt) - First paragraph of the post content, truncated to 200 characters
-
-
Date — from
date -
Author — from
author(if set on the post) - GUID — the post’s full URL (permanent link)
Feed Metadata
The feed’s channel-level title, description, link, and author come from your site settings: Admin → Settings → site.yml.
| Feed field | Source |
|---|---|
| Channel title |
title in site.yml |
| Channel description |
description in site.yml |
| Channel link |
url in site.yml |
| Managing editor |
author in site.yml |
Custom Feeds
The /feed above covers every post. To publish a narrower feed — one post type, one tag, a curated set — turn on custom feeds and define them.
Enable the feature from Admin → Settings with Enable Custom Feeds. That creates site/system/features/feeds.yml (seeded with one example) and adds a feeds.yml editor under Features. Each entry is a collection query — the same fields you write in a collection block — plus a title:
articles:
title: "Articles"
description: "Long-form pieces"
source: posts
post_type: article
order: date
limit: 20
audience: free
music:
title: "Music"
source: posts
tags: music
Each feed is served at two URLs, using its key from the file:
| Format | URL |
|---|---|
| RSS 2.0 | /feed/<name>.xml |
| Atom | /feed/<name>.atom |
So the articles feed above is at /feed/articles.xml.
Fields
| Field | Purpose |
|---|---|
title |
The feed’s channel title (defaults to the site title) |
description |
The feed’s channel description |
source |
Where items come from: posts (default), pages, documentation, products
|
post_type |
Limit posts to one type, e.g. article
|
tags |
Include by tag; prefix with - to exclude, e.g. music, -draft
|
order |
date (default), date-asc, title, or an explicit list of url_names |
limit |
How many items to include (default 20) |
audience |
free (default) or paid
|
Free and paid feeds
A free feed is public and never includes paid content, even if your site shows paid teasers on the page. A paid feed is private: it includes everything, but a reader must supply a paid member’s access token (the same token that unlocks a private podcast feed), so it’s only served to paying members. If you build a static site, free feeds are written out as files; paid feeds are not, since a static file couldn’t enforce the token.
Named feeds are for standard content. A podcast needs its own feed with enclosures and iTunes tags — see below.
Podcast Feeds
Podcast episodes have their own dedicated RSS feeds with full iTunes/Apple Podcasts support. These are separate from the main blog feed.
See Podcast Feeds & Tags for full details on podcast feed URLs, paid/private feeds, and the iTunes tags Roe generates.
Auto-Discovery
Roe injects <link rel="alternate"> tags into every public page’s <head> so feed readers can auto-discover your feeds. Podcast episode pages also include a feed discovery link pointing at that podcast’s RSS feed.
Notes
- The RSS feed uses
pubDate(RFC 822 format); the Atom feed usesupdated(ISO 8601). - Card blocks and collection blocks are stripped from post content before generating feed descriptions.
- Paid posts (audience: paid) are not included in the public blog feed. They appear in podcast feeds only when a member accesses their private feed URL.