====== RSS and Atom by Hand ====== Feeds are just XML files on your site. Tools generate them, but hand-writing one is 20 lines and teaches you the format. ===== Minimal Atom Feed ===== ''feed.xml'': ~you's log 2026-10-05T12:00:00Z https://tilde.town/~you/blog/ Post title https://tilde.town/~you/blog/post-title.html 2026-10-05T12:00:00Z First line or summary. Rules that matter: '''' must be unique and stable (the post URL works), '''' in RFC3339/ISO8601 with timezone, newest entries first. Fifteen entries is plenty. ===== Minimal RSS 2.0 ===== ''rss.xml'': ~you's log https://tilde.town/~you/blog/ notes Post title https://tilde.town/~you/blog/post-title.html https://tilde.town/~you/blog/post-title.html Sun, 05 Oct 2026 12:00:00 +0000 First line or summary. RSS dates are RFC822 format; Atom uses ISO8601. Atom is the simpler format, and every reader reads it. ===== Advertise It ===== In '''', which is what readers and browsers autodiscover: ===== Generating It ===== When hand-editing gets old, posts as ''title|date|url'' lines become entries: { printf '\n\n' printf 'site%s%s\n' \ "$base" "$(date -u +%FT%TZ)" while IFS='|' read -r title url when; do printf '%s%s%s\n' \ "$title" "$url" "$url" "$when" done < posts.txt printf '\n' } > feed.xml [[indieweb:bashblog|bashblog]], saait, and ssg all generate feeds for you. See [[indieweb:tiny_ssg|Minimal Static Site Generators]]. ===== Validate ===== xmllint --noout feed.xml # well-formed XML (libxml2-utils) curl -sI https://host/~you/feed.xml | head -1 # served? (200 + type) ===== Readers ===== * ''newsboat'': terminal reader, very tilde * ''miniflux'' if you self-host; ''liferea'' for GUI * FreshRSS: the homelab instance. See [[folkzone:services:freshrss|FreshRSS]]. ===== twtxt ===== The bare-bones alternative: a ''twtxt.txt'', one ''ISO8601text'' per line, posted in your public dir. saait emits one; some tildes crawl them. See [[protocols:smallweb:twtxt|twtxt]]. ===== See Also ===== * [[indieweb:bashblog|bashblog]] * [[indieweb:tiny_ssg|Minimal Static Site Generators]] * [[tilde:publishing|Publishing on a Pubnix]] * [[indieweb:start|IndieWeb Index]] * [[start|Return to wiki home]]