Pages rendered in the RSS feed route shouldn't include the HTML head boilerplate

This commit is contained in:
Fabio Manganiello 2022-12-04 15:14:37 +01:00
parent 88a21c7112
commit 1cfa8c27db
3 changed files with 23 additions and 9 deletions

View File

@ -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 ''
),

View File

@ -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('''<?xml version="1.0" encoding="UTF-8" ?>

View File

@ -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 %}
<main>
{% endif %}
<div class="container">
{% if not skip_header %}
{% if title %}
@ -48,6 +51,8 @@
</div>
{% include 'footer.html' %}
</main>
{% include 'common-tail.html' %}
{% if not skip_html_head %}
</main>
{% include 'common-tail.html' %}
{% endif %}