From 7b5a290c90b804e5c2f3c789af0ca6fcfcb50c6b Mon Sep 17 00:00:00 2001
From: Jake <j.vondoemming@stud.uni-goettingen.de>
Date: Sun, 2 Oct 2022 22:25:11 +0200
Subject: [PATCH] refactored headers

---
 theme/templates/index.html                   |  6 ++----
 theme/templates/macros/common.html           |  9 ++++++++-
 theme/templates/macros/content_renderer.html | 12 ++++++------
 theme/templates/page.html                    |  4 +---
 4 files changed, 17 insertions(+), 14 deletions(-)

diff --git a/theme/templates/index.html b/theme/templates/index.html
index 6a7e4d6..8ec6205 100644
--- a/theme/templates/index.html
+++ b/theme/templates/index.html
@@ -6,10 +6,8 @@
 {% endblock breadcrumb %}
 
 {% block page_header %}
-<header class="visuallyhidden">
-	<h1>{{ common.softbreak_span(page.title) }}</h1>
-</header>
-<hr>
+	{{ common.render_header(page.title, 1, {"classes": ["visuallyhidden"]}, lang) }}
+	<hr>
 {% endblock %}
 
 {% block page_footer %}
diff --git a/theme/templates/macros/common.html b/theme/templates/macros/common.html
index ef9c188..30d4a5c 100644
--- a/theme/templates/macros/common.html
+++ b/theme/templates/macros/common.html
@@ -63,8 +63,15 @@
 {#- ############################# HEADER ################################## -#}
 
 {%- macro render_header(content, level, attr, lang) -%}
+	{%- call render_header_raw(content, level, attr, lang) -%}
+		{{ softbreak_span(content) }}
+	{%- endcall -%}
+{%- endmacro -%}
+
+
+{%- macro render_header_raw(content, level, attr, lang) -%}
 	<header {{ render_attr(attr, lang) }}>
-		<h{{ level }}>{{ render_inlines(content, lang) }}</h{{ level }}>
+		<h{{ level }}>{{ caller() }}</h{{ level }}>
 	</header>
 {%- endmacro -%}
 
diff --git a/theme/templates/macros/content_renderer.html b/theme/templates/macros/content_renderer.html
index 53f2b50..286921a 100644
--- a/theme/templates/macros/content_renderer.html
+++ b/theme/templates/macros/content_renderer.html
@@ -20,11 +20,12 @@
 {%- endmacro -%}
 
 {%- macro render_header(content, level, attr, lang) -%}
-	<header {{ common.render_attr(attr, lang) }}>
-		<h{{ level }}>{{ render_inlines(content, lang) }}</h{{ level }}>
-	</header>
+	{%- call common.render_header_raw(content, level, attr, lang) -%}
+		{{ render_inlines(content, lang) }}
+	{%- endcall -%}
 {%- endmacro -%}
 
+
 {%- macro render_orderedlist_type(style, delim) -%}
 	{#- TODO also use delim: default | period | one_parenthesis | two_parentheses -#}
 	{%-   if style == "default" -%}1
@@ -115,9 +116,8 @@
 	{%- set level = block['level'] -%}
 	{%- set attr = block['attr'] -%}
 	{%- set content = block['content'] -%}
-	<header {{ common.render_attr(attr, lang) }}>
-		<h{{ level }}>{{ render_inlines(content, lang) }}</h{{ level }}>
-	</header>
+
+	{{ render_header(content, level, attr, lang) }}
 {%- endmacro -%}
 
 {%- macro render_block_paragraph(block, lang) -%}
diff --git a/theme/templates/page.html b/theme/templates/page.html
index c3f34a4..8e0b53a 100644
--- a/theme/templates/page.html
+++ b/theme/templates/page.html
@@ -12,9 +12,7 @@
 {% block main %}
 	<article>
 		{% block page_header %}
-		<header>
-			<h1>{{ common.softbreak_span(page.title) }}</h1>
-		</header>
+			{{ common.render_header(page.title, 1, None, lang) }}
 		{% endblock %}
 		{% block page_content %}
 			{%- if 'before' in page.metadata -%}
-- 
GitLab