{# A page frame for printing: meta is (label, value) pairs; the content is the entries (<div class="ui-print-entry"><time>…</time><div>…</div></div>). #}
{% props title: String, exported_at: String, exported_by: String, subtitle: String = "", marking: String = "", meta: Vec<(String, String)> = Vec::new(), page: String = "", inner_block: Slot %}
<article class="ui-print">
{%- if !marking.is_empty() %}
<div class="ui-print-marking">{{ marking }}</div>
{%- end %}
<header class="ui-print-head">
<div><h1 class="ui-print-title">{{ title }}</h1>{% if !subtitle.is_empty() %}<p class="ui-print-sub">{{ subtitle }}</p>{% end %}</div>
<div>Exported {{ exported_at }}</div>
</header>
{%- if !meta.is_empty() %}
<dl class="ui-print-meta">{% for (term, value) in meta.iter() %}<div><dt>{{ term }}</dt><dd>{{ value }}</dd></div>{% end %}</dl>
{%- end %}
<div style="margin-top:12px">{{ inner_block }}</div>
<footer class="ui-print-foot"><span>{% if !marking.is_empty() %}{{ marking }} · {% end %}Exported by {{ exported_by }}</span>{% if !page.is_empty() %}<span>{{ page }}</span>{% end %}</footer>
</article>