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