Feeds
Lamb publishes its content as both an Atom feed and a JSON Feed (v1.1). Readers and indieweb tools can pick whichever format they prefer.
Available endpoints
| Path | Format |
|---|---|
/feed | Atom |
/feed.json | JSON Feed |
/tag/<tag>/feed | Atom (single tag) |
/tag/<tag>/feed.json | JSON Feed (single tag) |
Both formats are autodiscoverable via <link rel="alternate"> tags in the HTML <head>, so a feed reader given the site URL will find them automatically.
Titleless posts
Status-style posts without a title produce a feed entry with an empty <title> (Atom) or no title field at all (JSON Feed). This follows the micro.blog convention so timeline-style readers can render them as short notes rather than empty-titled articles.
Feed icon and logo
The Atom feed can advertise an avatar and a banner image. Feed readers such as micro.blog render the icon as the feed’s avatar in their timeline.
These are sourced by convention from the web root (next to index.php) — no configuration is needed:
| File | Atom element | Aspect ratio (RFC 4287) |
|---|---|---|
favicon.png | <icon> | 1:1 — small square avatar (§4.2.5) |
logo.png | <logo> | 2:1 — twice as wide as tall (§4.2.8) |
The RFC recommends these aspect ratios but does not mandate pixel sizes. Drop either file into the src/ directory (the web root). Each element is only included when its file exists, so the feed never points at a missing image.
Real-time push (WebSub)
Feed readers normally poll for changes. With WebSub, subscribers can instead be pushed new posts the moment you publish.
Set one or more hubs (comma-separated) in the site configuration:
websub_hubs = https://hub.example.com/
With a hub configured, Lamb:
- advertises it in the Atom feed (
<link rel="hub">) and the JSON Feed (hubsfield), so WebSub-aware readers subscribe automatically; - pings the hub whenever a post is published or updated (from the web interface or via Micropub), so it fetches the updated
/feedand/feed.jsonand pushes them to subscribers.
Any public hub works — the IndieWeb wiki keeps a list of hubs to choose from. Drafts, scheduled posts, and cross-posted feed items do not trigger pings.
Related
- Cross-posting From Feeds — consuming external feeds into Lamb
- Site Configuration — the
websub_hubssetting - Themes — overriding
feed.php/feed_json.phpin a custom theme