Static site generators have quietly become one of the largest sources of new feed infrastructure on the open web — not through any coordinated push, but because RSS output ships as a near-default in the tools millions of developers now reach for first.

What Each Generator Actually Does

Hugo, the Go-based generator maintained by the Hugo authors and widely used for documentation and personal publishing, ships with a built-in RSS 2.0 template. No plugin required: run hugo, and an index.xml appears at the site root, serialising every content item in the default section. The built-in template has shipped with Hugo since its earliest releases and conforms to the RSS 2.0 specification. Publishers who want Atom instead, or who need to reshape item fields, override the template in their own layouts directory — Hugo's cascade means the override wins automatically.

Small self-hosted server on a home-office shelf with ethernet cables routed neatly, indicator lights lit
Miniflux and FreshRSS will run on hardware of this order. That is the whole argument for hosting a reader yourself.Photo: panumas nikhomkhai / Pexels
Terminal window on a dark monitor showing a raw Atom feed in XML, angle brackets and namespaces visible, person's hands on keyboard
A feed is a text file sitting on a server. Between the publisher and the reader there is a fetch, and nothing else.Photo: Tima Miroshnichenko / Pexels

Jekyll, the Ruby generator that GitHub Pages adopted as its native build tool, takes a plugin approach. The official jekyll-feed gem, maintained under the jekyll organisation on GitHub, generates an Atom feed at /feed.xml by default. Because GitHub Pages whitelists jekyll-feed as a safe plugin, any repository published through Pages gets an Atom feed without touching a server or CI pipeline. The practical consequence is that a substantial share of personal and project sites on the open web carry valid Atom output because their authors clicked "publish to GitHub Pages" and never thought about it again.

Eleventy, the JavaScript generator created by Zach Leatherman and stewarded independently, does not bundle a feed template by default — but its official starter projects and documentation provide a ready-made Atom or JSON Feed template that drops directly into a project's _includes folder. Because Eleventy's templating is format-agnostic, the same data pipeline that builds HTML pages builds the feed: no separate feed-generation pass, no synchronisation risk between post list and feed items.

From the record

Key facts by generator

  • Hugobuilt-in RSS 2.0 template, ships at index.xml, no plugin needed; override via layouts cascade
  • Jekylljekyll-feed gem produces Atom at /feed.xml; whitelisted on GitHub Pages, making it near-automatic for millions of repos
  • Eleventyno bundled feed template; official starter provides Atom or JSON Feed as a drop-in include

Why This Matters for the Feed Ecosystem

The shift toward static generation has expanded the feed-publishing base in a way that the newsletter pivot and platform consolidation have not reversed. A static site emits its feed from a file written at build time and served from a CDN — there is no database query, no plugin call at request time, no feed-specific server process to maintain. The feed is as durable as the HTML. For publishers who care about POSSE — treating the personal domain as canonical and syndicating outward — static generators are a natural fit: the feed is simply another build artifact, sitting beside index.html with the same caching headers and the same longevity.

None of this was announced. It accumulated: one repository, one default template, one GitHub Pages deploy at a time.