Compare commits

...

2 Commits

Author SHA1 Message Date
Brian S. Stephan 63a263724c
simplify the expected feed structure
I don't think there's any need for a million directories, on second
thought, so just put YYMMDD prefixed files in the feed/ directory

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2023-12-30 22:17:28 -06:00
Brian S. Stephan 02c2176c4f
link to the Atom and RSS feeds in the template
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2023-12-30 22:09:58 -06:00
2 changed files with 5 additions and 3 deletions

View File

@ -1,8 +1,8 @@
"""Generate Atom and RSS feeds based on content in a blog-ish location.
This parses a special root directory, feed/, for feed/YYYY/MM/DD/file files,
This parses a special root directory, feed/, for YYYYMMDD-foo.md files,
and combines them into an Atom or RSS feed. These files *should* be symlinks
to the real pages, which may mirror the same YYYY/MM/DD/file naming scheme
to the real pages, which may mirror the same YYYYMMDD-foo.md file naming scheme
under pages/ (which may make sense for a blog) if they want, but could just
as well be pages/foo content.
@ -68,6 +68,6 @@ def serve_feed(feed_type):
def _generate_feed_id(feed_entry_path):
"""For a relative file path, generate the Atom/RSS feed ID for it."""
date = re.sub(r'.*/(\d+)/(\d+)/(\d+).*', r'\1-\2-\3', feed_entry_path)
date = re.sub(r'.*(\d{4})(\d{2})(\d{2}).*', r'\1-\2-\3', feed_entry_path)
cleaned = feed_entry_path.replace('#', '/').replace('feed/', '', 1).replace(app.instance_path, '')
return f'tag:{app.config["DOMAIN_NAME"]},{date}:{cleaned}'

View File

@ -9,6 +9,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="{{ user_style }}">
<link rel="icon" href="{% if config.FAVICON %}{{ config.FAVICON }}{% else %}{{ url_for('static', filename='img/favicon.png') }}{% endif %}">
<link rel="alternate" type="application/atom+xml" href="/feed/atom" />
<link rel="alternate" type="application/rss+xml" href="/feed/rss" />
<div {% block site_class %}class="site-wrap site-wrap-normal-width"{% endblock %}>
{% block header %}