Skip to content
Snippets Groups Projects
Verified Commit 677f85e1 authored by Jake's avatar Jake :speech_balloon:
Browse files

added meta to blocks

parent a6ff6843
No related branches found
No related tags found
No related merge requests found
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
{#- Siehe https://gitlab.gwdg.de/GAUMI-fginfo/fg-website/-/blob/better-content-renderer/docs/content.md -#} {#- Siehe https://gitlab.gwdg.de/GAUMI-fginfo/fg-website/-/blob/better-content-renderer/docs/content.md -#}
{%- macro render_content(content, lang) -%} {%- macro render_content(content, lang) -%}
{{ render_blocks(content, lang) }} {%- set meta = namespace() -%}
{{ render_blocks(content, lang, meta) }}
{%- endmacro -%} {%- endmacro -%}
{%- macro render_link(link, content, lang, attr = None, title = None) -%} {%- macro render_link(link, content, lang, attr = None, title = None) -%}
...@@ -14,7 +15,7 @@ ...@@ -14,7 +15,7 @@
{{ common.softbreak_span(obj.title) }} {{ common.softbreak_span(obj.title) }}
{%- endif -%} {%- endif -%}
{%- else -%} {%- else -%}
{{ render_blocks_or_inlines(content, lang) }} {{ render_inlines(content, lang) }}
{%- endif -%} {%- endif -%}
{%- endcall -%} {%- endcall -%}
{%- endmacro -%} {%- endmacro -%}
...@@ -56,63 +57,46 @@ ...@@ -56,63 +57,46 @@
{%- endcall -%} {%- endcall -%}
{%- endmacro -%} {%- endmacro -%}
{%- macro render_blocks_or_inlines(bsois, lang) -%}
{%- for boi in bsois -%}
{{ render_block_or_inline(boi, lang) }}
{%- endfor -%}
{%- endmacro -%}
{%- macro render_block_or_inline(boi, lang) -%}
{%- set eclass = boi['eclass'] -%}
{%- if eclass == "block" -%}
{{ render_block(boi,lang) }}
{%- elif eclass == "inline" -%}
{{ render_inline(boi,lang) }}
{%- else -%}
<br><strong>ERROR: Cannot render block or inline: '{{ boi|e }}'</strong><br>
{%- endif -%}
{%- endmacro -%}
{#- ############################ BLOCKS ################################### -#} {#- ############################ BLOCKS ################################### -#}
{%- macro render_blocks(blocks, lang) -%} {%- macro render_blocks(blocks, lang, meta) -%}
{%- for block in blocks -%} {%- for block in blocks -%}
{{ render_block(block,lang) }} {{ render_block(block, lang, meta) }}
{%- endfor -%} {%- endfor -%}
{%- endmacro -%} {%- endmacro -%}
{%- macro render_block(block, lang) -%} {%- macro render_block(block, lang, meta) -%}
{%- set etype = block['etype'] -%} {%- set etype = block['etype'] -%}
{%- if etype == "header" -%} {%- if etype == "header" -%}
{{ render_block_header(block, lang) }} {{ render_block_header(block, lang, meta) }}
{%- elif etype == "paragraph" -%} {%- elif etype == "paragraph" -%}
{{ render_block_paragraph(block, lang) }} {{ render_block_paragraph(block, lang, meta) }}
{%- elif etype == "bulletlist" -%} {%- elif etype == "bulletlist" -%}
{{ render_block_bulletlist(block, lang) }} {{ render_block_bulletlist(block, lang, meta) }}
{%- elif etype == "plain" -%} {%- elif etype == "plain" -%}
{{ render_block_plain(block, lang) }} {{ render_block_plain(block, lang, meta) }}
{%- elif etype == "codeblock" -%} {%- elif etype == "codeblock" -%}
{{ render_block_codeblock(block, lang) }} {{ render_block_codeblock(block, lang, meta) }}
{%- elif etype == "blockquote" -%} {%- elif etype == "blockquote" -%}
{{ render_block_blockquote(block, lang) }} {{ render_block_blockquote(block, lang, meta) }}
{%- elif etype == "blockcontainer" -%} {%- elif etype == "blockcontainer" -%}
{{ render_block_blockcontainer(block, lang) }} {{ render_block_blockcontainer(block, lang, meta) }}
{%- elif etype == "horizontalrule" -%} {%- elif etype == "horizontalrule" -%}
{{ render_block_horizontalrule(block, lang) }} {{ render_block_horizontalrule(block, lang, meta) }}
{%- elif etype == "rawblock" -%} {%- elif etype == "rawblock" -%}
{{ render_block_rawblock(block, lang) }} {{ render_block_rawblock(block, lang, meta) }}
{%- elif etype == "orderedlist" -%} {%- elif etype == "orderedlist" -%}
{{ render_block_orderedlist(block, lang) }} {{ render_block_orderedlist(block, lang, meta) }}
{%- elif etype == "table" -%} {%- elif etype == "table" -%}
{{ render_block_table(block, lang) }} {{ render_block_table(block, lang, meta) }}
{%- elif etype == "definitionlist" -%} {%- elif etype == "definitionlist" -%}
{{ render_block_definitionlist(block, lang) }} {{ render_block_definitionlist(block, lang, meta) }}
{%- else -%} {%- else -%}
<br><strong>ERROR: Unhandled block type: '{{ etype|e }}'</strong><br> <br><strong>ERROR: Unhandled block type: '{{ etype|e }}'</strong><br>
{%- endif -%} {%- endif -%}
{%- endmacro -%} {%- endmacro -%}
{%- macro render_block_header(block, lang) -%} {%- macro render_block_header(block, lang, meta) -%}
{%- set level = block['level'] -%} {%- set level = block['level'] -%}
{%- set attr = block['attr'] -%} {%- set attr = block['attr'] -%}
{%- set content = block['content'] -%} {%- set content = block['content'] -%}
...@@ -120,53 +104,53 @@ ...@@ -120,53 +104,53 @@
{{ render_header(content, level, attr, lang) }} {{ render_header(content, level, attr, lang) }}
{%- endmacro -%} {%- endmacro -%}
{%- macro render_block_paragraph(block, lang) -%} {%- macro render_block_paragraph(block, lang, meta) -%}
{%- set content = block['content'] -%} {%- set content = block['content'] -%}
<p>{{ render_inlines(content, lang) }}</p> <p>{{ render_inlines(content, lang) }}</p>
{%- endmacro -%} {%- endmacro -%}
{%- macro render_block_bulletlist(block, lang) -%} {%- macro render_block_bulletlist(block, lang, meta) -%}
{%- set items = block['items'] -%} {%- set items = block['items'] -%}
{%- set count = block['count'] -%} {%- set count = block['count'] -%}
<ul> <ul>
{%- for item in items -%} {%- for item in items -%}
<li>{{ render_blocks(item, lang) }}</li> <li>{{ render_blocks(item, lang, meta) }}</li>
{%- endfor -%} {%- endfor -%}
</ul> </ul>
{%- endmacro -%} {%- endmacro -%}
{%- macro render_block_plain(block, lang) -%} {%- macro render_block_plain(block, lang, meta) -%}
{%- set content = block['content'] -%} {%- set content = block['content'] -%}
{{ render_inlines(content, lang) }} {{ render_inlines(content, lang) }}
{%- endmacro -%} {%- endmacro -%}
{%- macro render_block_codeblock(block, lang) -%} {%- macro render_block_codeblock(block, lang, meta) -%}
{%- set attr = block['attr'] -%} {%- set attr = block['attr'] -%}
{%- set code = block['code'] -%} {%- set code = block['code'] -%}
{%- set code_lines = block['code_lines'] -%} {%- set code_lines = block['code_lines'] -%}
<pre {{ common.render_attr(attr, lang, extra_classes=["codeblock"]) }}>{{ code|e }}</pre> <pre {{ common.render_attr(attr, lang, extra_classes=["codeblock"]) }}>{{ code|e }}</pre>
{%- endmacro -%} {%- endmacro -%}
{%- macro render_block_blockquote(block, lang) -%} {%- macro render_block_blockquote(block, lang, meta) -%}
{%- set content = block['content'] -%} {%- set content = block['content'] -%}
<blockquote> <blockquote>
{{ render_blocks(content, lang) }} {{ render_blocks(content, lang, meta) }}
</blockquote> </blockquote>
{%- endmacro -%} {%- endmacro -%}
{%- macro render_block_blockcontainer(block, lang) -%} {%- macro render_block_blockcontainer(block, lang, meta) -%}
{%- set attr = block['attr'] -%} {%- set attr = block['attr'] -%}
{%- set content = block['content'] -%} {%- set content = block['content'] -%}
<div {{ common.render_attr(attr, lang) }}> <div {{ common.render_attr(attr, lang) }}>
{{ render_blocks(content, lang) }} {{ render_blocks(content, lang, meta) }}
</div> </div>
{%- endmacro -%} {%- endmacro -%}
{%- macro render_block_horizontalrule(block, lang) -%} {%- macro render_block_horizontalrule(block, lang, meta) -%}
<hr> <hr>
{%- endmacro -%} {%- endmacro -%}
{%- macro render_block_rawblock(block, lang) -%} {%- macro render_block_rawblock(block, lang, meta) -%}
{%- set format = block['format'] -%} {%- set format = block['format'] -%}
{%- set raw = block['raw'] -%} {%- set raw = block['raw'] -%}
{%- if format == "html" -%} {%- if format == "html" -%}
...@@ -203,7 +187,7 @@ ...@@ -203,7 +187,7 @@
{%- endif -%} {%- endif -%}
<{% if is_header %}th{% else %}td{% endif %} {{ common.render_attr(attr, lang, extra_classes=ns.classes, extra={"rowspan": row_span, "colspan": column_span}, extra_style=ns.extra_style) }}> <{% if is_header %}th{% else %}td{% endif %} {{ common.render_attr(attr, lang, extra_classes=ns.classes, extra={"rowspan": row_span, "colspan": column_span}, extra_style=ns.extra_style) }}>
{{ render_blocks(content, lang) }} {{ render_blocks(content, lang, meta) }}
</{% if is_header %}th{% else %}td{% endif %}> </{% if is_header %}th{% else %}td{% endif %}>
{%- endmacro -%} {%- endmacro -%}
...@@ -227,7 +211,7 @@ ...@@ -227,7 +211,7 @@
</tr> </tr>
{%- endmacro -%} {%- endmacro -%}
{%- macro render_block_table(block, lang) -%} {%- macro render_block_table(block, lang, meta) -%}
{#- https://developer.mozilla.org/en-US/docs/Web/HTML/Element/table -#} {#- https://developer.mozilla.org/en-US/docs/Web/HTML/Element/table -#}
{%- set attr = block['attr'] -%} {%- set attr = block['attr'] -%}
{%- set caption = block['caption'] -%} {%- set caption = block['caption'] -%}
...@@ -238,7 +222,7 @@ ...@@ -238,7 +222,7 @@
<table> <table>
{%- if caption|length -%} {%- if caption|length -%}
<caption>{{ render_blocks(caption, lang) }}</caption> <caption>{{ render_blocks(caption, lang, meta) }}</caption>
{%- endif -%} {%- endif -%}
{#- TODO: Maybe add colgroup? -#} {#- TODO: Maybe add colgroup? -#}
...@@ -267,7 +251,7 @@ ...@@ -267,7 +251,7 @@
</table> </table>
{%- endmacro -%} {%- endmacro -%}
{%- macro render_block_orderedlist(block, lang) -%} {%- macro render_block_orderedlist(block, lang, meta) -%}
{%- set items = block['items'] -%} {%- set items = block['items'] -%}
{%- set count = block['count'] -%} {%- set count = block['count'] -%}
{%- set start = block['start'] -%} {%- set start = block['start'] -%}
...@@ -276,12 +260,12 @@ ...@@ -276,12 +260,12 @@
{#- ol start="{{ start|e }}" style="list-style-type: {{ render_orderedlist_type(style, delim) }};" -#} {#- ol start="{{ start|e }}" style="list-style-type: {{ render_orderedlist_type(style, delim) }};" -#}
<ol start="{{ start|e }}" type="{{ render_orderedlist_type(style, delim) }}"> <ol start="{{ start|e }}" type="{{ render_orderedlist_type(style, delim) }}">
{%- for item in items -%} {%- for item in items -%}
<li>{{ render_blocks(item, lang) }}</li> <li>{{ render_blocks(item, lang, meta) }}</li>
{%- endfor -%} {%- endfor -%}
</ol> </ol>
{%- endmacro -%} {%- endmacro -%}
{%- macro render_block_definitionlist(block, lang) -%} {%- macro render_block_definitionlist(block, lang, meta) -%}
{%- set items = block['items'] -%} {%- set items = block['items'] -%}
<dl> <dl>
{%- for item in items -%} {%- for item in items -%}
...@@ -289,7 +273,7 @@ ...@@ -289,7 +273,7 @@
{%- set definitions = item['definitions'] -%} {%- set definitions = item['definitions'] -%}
<dt>{{ render_inlines(term, lang) }}</dt> <dt>{{ render_inlines(term, lang) }}</dt>
{%- for def in definitions -%} {%- for def in definitions -%}
<dd>{{ render_blocks(def, lang) }}</dd> <dd>{{ render_blocks(def, lang, meta) }}</dd>
{%- endfor -%} {%- endfor -%}
{%- endfor -%} {%- endfor -%}
</dl> </dl>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment