site/blog: surface the existing Atom feed#2682
Merged
Merged
Conversation
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>
Contributor
There was a problem hiding this comment.
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.xmlso it resolves correctly on blog/post/news pages (../blog/feed.xml) and the changelist (blog/feed.xml). - Append a visible inline
RSSanchor to the blog index intro paragraph linking tofeed.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.
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
site/blog/build_blog.pyalready emits a complete Atom feed atsite/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.xmlfor blog/post pages andblog/feed.xmlfor the changelist.site/blog/build_blog.py(render_index) — appends an inlineRSStext 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.htmlshows the auto-discovery<link>on each, with the right relative pathgrep RSS site/blog/index.htmlshows the visible linkpages.ymldeploys, https://daslang.io/blog/ shows theRSSlink, and a feed reader pointed at https://daslang.io/blog/ auto-discovers https://daslang.io/blog/feed.xml🤖 Generated with Claude Code