diff options
| author | alex <alex@pdp7.net> | 2026-01-25 20:38:31 +0100 |
|---|---|---|
| committer | alexpdp7 <alex@corcoles.net> | 2026-01-25 19:43:24 +0000 |
| commit | 1fc83c64825483e36f766f8fc7f927f3ca68afa5 (patch) | |
| tree | d91a8eb7db864ac8ba4b75b09ca216f3f3d0d208 | |
| parent | e29bfa08d726c48c4e711aab4addbd8eaa8b059d (diff) | |
Add feed link
| -rw-r--r-- | blog_v2/src/blog/__init__.py | 3 | ||||
| -rw-r--r-- | blog_v2/src/blog/gemtext.py | 15 |
2 files changed, 15 insertions, 3 deletions
diff --git a/blog_v2/src/blog/__init__.py b/blog_v2/src/blog/__init__.py index 0073160..80ccb5b 100644 --- a/blog_v2/src/blog/__init__.py +++ b/blog_v2/src/blog/__init__.py @@ -103,8 +103,7 @@ def build(from_: pathlib.Path, to: pathlib.Path): subject = gmi.read_text().splitlines()[3] assert subject.startswith("Subject: "), subject title = subject.removeprefix("Subject: ") - html.write_text(gemtext.convert(gmi.read_text(), title)) - + html.write_text(gemtext.convert(gmi.read_text(), title, ("feed/", TITLE) if gmi.relative_to(to) == pathlib.Path("index.gmi") else None)) # Generate RSS fg = feed.FeedGenerator() diff --git a/blog_v2/src/blog/gemtext.py b/blog_v2/src/blog/gemtext.py index 0298657..3fe293a 100644 --- a/blog_v2/src/blog/gemtext.py +++ b/blog_v2/src/blog/gemtext.py @@ -228,7 +228,7 @@ class Pre: content: str -def convert(gemtext, title=None): +def convert(gemtext, title=None, feed=None): content = parse(gemtext) if not title: title = content[0] @@ -236,6 +236,18 @@ def convert(gemtext, title=None): assert title.level == 1 title = title.text + if feed: + href, title = feed + feed = [ + h.LINK( + rel="alternate", + type="application/rss+xml", + title=title, + href=href, + ), + ] + else: + feed = [] return pretty.pretty_html( h.render( h.HTML( @@ -260,6 +272,7 @@ def convert(gemtext, title=None): } """).lstrip() ), + *feed, ), h.BODY( *gemini_to_html(content), |
