diff --git a/theme/templates/macros/renderers.html b/theme/templates/macros/renderers.html index 1e5d02271e29fdd5bc5775ccf1c13688d0876bdb..989a0f2d19f260f9f6fbbd085ff53b3dcae7e5e4 100644 --- a/theme/templates/macros/renderers.html +++ b/theme/templates/macros/renderers.html @@ -12,26 +12,51 @@ {%- endmacro -%} {%- macro section_tag(s, lang, header_level) -%} - {%- if s.title is not defined -%} - {{ common.render_header(s.tag.title, header_level, {"id": s.id}, lang) }} + {%- set title_mode = s.title_mode|d("normal") -%} + {%- if s.title is not defined and title_mode != "prevent" -%} + {{ common.render_header(s.tag.title, header_level, {"id": s.id}, lang, visuallyhidden=(title_mode == "hidden")) }} {%- endif -%} {{ cards.cards_from_pages(s.tag.pages, lang, max=s.num|d(None)) }} - + {%- if s.tag.page -%} + {%- if 'before' in s.tag.page.metadata -%} + {{ sections(s.tag.page.metadata.before, lang, header_level + 1) }} + {%- endif -%} {{ content_renderer.render_content(s.tag.page.content, lang, header_level - 1) }} + {%- if 'after' in s.tag.page.metadata -%} + {{ sections(s.tag.page.metadata.after, lang, header_level + 1) }} + {%- endif -%} + {%- endif -%} +{%- endmacro -%} + +{%- macro section_page(s, lang, header_level) -%} + {%- set title_mode = s.title_mode|d("normal") -%} + {%- if s.title is not defined and title_mode != "prevent" -%} + {{ common.render_header(s.page.title, header_level, {"id": s.id}, lang, visuallyhidden=(title_mode == "hidden")) }} + {%- endif -%} + + {%- if 'before' in s.page.metadata -%} + {{ sections(s.page.metadata.before, lang, header_level + 1) }} + {%- endif -%} + {{ content_renderer.render_content(s.page.content, lang, header_level - 1) }} + {%- if 'after' in s.page.metadata -%} + {{ sections(s.page.metadata.after, lang, header_level + 1) }} {%- endif -%} {%- endmacro -%} {%- macro section(s, lang, header_level) -%} - {%- if s.title is defined -%} - {{ common.render_header(s.title[lang], header_level, {"id": s.id}, lang) }} + {%- set title_mode = s.title_mode|d("normal") -%} + {%- if s.title is defined and title_mode != "prevent" -%} + {{ common.render_header(s.title[lang], header_level, {"id": s.id}, lang, visuallyhidden=(title_mode == "hidden")) }} {%- endif -%} - {%- if s.type == "news" -%} + {%- if s.type == "page" -%} + {{ section_page(s, lang, header_level) }} + {%- elif s.type == "tag" -%} + {{ section_tag(s, lang, header_level) }} + {%- elif s.type == "news" -%} {{ section_news(s, lang) }} {%- elif s.type == "iframe" -%} {{ section_iframe(s, lang) }} - {%- elif s.type == "tag" -%} - {{ section_tag(s, lang, header_level) }} {%- elif s.type == "relevant" -%} {{ section_relevant(s, lang) }} {%- else -%}