From 1cfa8c27dbdd1cd37ab6065c81804c9ea11efdb6 Mon Sep 17 00:00:00 2001 From: Fabio Manganiello Date: Sun, 4 Dec 2022 15:14:37 +0100 Subject: [PATCH] Pages rendered in the RSS feed route shouldn't include the HTML head boilerplate --- madblog/app.py | 15 ++++++++++++--- madblog/routes.py | 2 +- madblog/templates/article.html | 15 ++++++++++----- 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/madblog/app.py b/madblog/app.py index 525dea7..0ba746b 100644 --- a/madblog/app.py +++ b/madblog/app.py @@ -97,7 +97,13 @@ class BlogApp(Flask): return metadata - def get_page(self, page: str, title: Optional[str] = None, skip_header: bool = False): + def get_page( + self, + page: str, + title: Optional[str] = None, + skip_header: bool = False, + skip_html_head: bool = False + ): if not page.endswith('.md'): page = page + '.md' @@ -127,13 +133,15 @@ class BlogApp(Flask): else None ), content=markdown(f.read(), extensions=['fenced_code', 'codehilite', MarkdownLatex()]), - skip_header=skip_header + skip_header=skip_header, + skip_html_head=skip_html_head, ) def get_pages( self, with_content: bool = False, skip_header: bool = False, + skip_html_head: bool = False, sorter: Type[PagesSorter] = PagesSortByTime, reverse: bool = True, ) -> List[Tuple[int, dict]]: @@ -145,7 +153,8 @@ class BlogApp(Flask): 'content': ( self.get_page( os.path.join(root, f), - skip_header=skip_header + skip_header=skip_header, + skip_html_head=skip_html_head, ) if with_content else '' ), diff --git a/madblog/routes.py b/madblog/routes.py index 55b6cf1..433ca1b 100644 --- a/madblog/routes.py +++ b/madblog/routes.py @@ -75,7 +75,7 @@ def article_route(article: str): @app.route('/rss', methods=['GET']) def rss_route(): - pages = app.get_pages(with_content=True, skip_header=True) + pages = app.get_pages(with_content=True, skip_header=True, skip_html_head=True) short_description = 'short' in request.args return Response(''' diff --git a/madblog/templates/article.html b/madblog/templates/article.html index a48d40b..cc62722 100644 --- a/madblog/templates/article.html +++ b/madblog/templates/article.html @@ -1,8 +1,11 @@ -{% with title=title, skip_header=skip_header or not config.header, styles=['/css/blog.css', '/css/code.css'] %} - {% include 'common-head.html' %} -{% endwith %} +{% if not skip_html_head %} + {% with title=title, skip_header=skip_header or not config.header, styles=['/css/blog.css', '/css/code.css'] %} + {% include 'common-head.html' %} + {% endwith %}
+{% endif %} +
{% if not skip_header %} {% if title %} @@ -48,6 +51,8 @@
{% include 'footer.html' %} -
-{% include 'common-tail.html' %} +{% if not skip_html_head %} + + {% include 'common-tail.html' %} +{% endif %}