Skip to content

site/blog: surface the existing Atom feed#2682

Merged
borisbat merged 1 commit into
masterfrom
bbatkin/blog-rss-link
May 16, 2026
Merged

site/blog: surface the existing Atom feed#2682
borisbat merged 1 commit into
masterfrom
bbatkin/blog-rss-link

Conversation

@borisbat
Copy link
Copy Markdown
Collaborator

Summary

site/blog/build_blog.py already emits a complete Atom feed at site/blog/feed.xml (covering all 28 posts), but nothing pointed at it — no <link rel="alternate"> for reader auto-discovery, no visible link on the index. Both fixed:

  • site/blog/template.html — adds <link rel="alternate" type="application/atom+xml" title="Daslang blog" href="{{root}}blog/feed.xml" /> in <head>. Lands on every generated page (blog index, post pages, changelist, news pages); {{root}} resolves to ../blog/feed.xml for blog/post pages and blog/feed.xml for the changelist.
  • site/blog/build_blog.py (render_index) — appends an inline RSS text link to the blog-index intro paragraph. Reuses Forge link styling, no new CSS.

Browser RSS extensions (Feedly, NetNewsWire, etc.) auto-discover the feed from any page; humans can find it via the visible link on the blog index.

Test plan

  • python3 site/blog/build_blog.py --posts site/blog/_posts --news site/_news --template site/blog/template.html --out site/ builds clean (verified locally: 27 posts, 28 news entries)
  • grep -E "atom|feed" site/blog/index.html site/blog/the-3-horseman.html site/changelist.html shows the auto-discovery <link> on each, with the right relative path
  • grep RSS site/blog/index.html shows the visible link
  • After pages.yml deploys, https://daslang.io/blog/ shows the RSS link, and a feed reader pointed at https://daslang.io/blog/ auto-discovers https://daslang.io/blog/feed.xml

🤖 Generated with Claude Code

build_blog.py already emits site/blog/feed.xml with every post, but
nothing pointed at it — no <link rel="alternate"> for reader auto-
discovery, no visible link on the index. Adds both:

- <link rel="alternate" type="application/atom+xml"> in template.html
  <head>, so it lands on every generated page (blog index, post pages,
  changelist, news pages). {{root}} resolves to the right relative path
  for each.
- An inline "RSS" text link at the end of the blog index intro
  paragraph. Reuses Forge link styling, no new CSS.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 16, 2026 07:56
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Surfaces the existing Atom feed produced by build_blog.py by adding feed auto-discovery in the shared HTML template and a visible RSS link on the blog index intro paragraph.

Changes:

  • Add <link rel="alternate" type="application/atom+xml"> in the template <head> using {{root}}blog/feed.xml so it resolves correctly on blog/post/news pages (../blog/feed.xml) and the changelist (blog/feed.xml).
  • Append a visible inline RSS anchor to the blog index intro paragraph linking to feed.xml (relative to /blog/).

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
site/blog/template.html Adds Atom feed auto-discovery <link> in <head>.
site/blog/build_blog.py Appends a visible RSS link to the blog index intro paragraph.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@borisbat borisbat merged commit ee8411e into master May 16, 2026
32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants