{%- macro tag_by_name(tagname, lang) -%} {%- set ns = namespace(tagpage=None, tagcolor=config.theme.default_tag_color, tagtitle=tagname) -%} {%- set tagpageslug = ["tag", tagname]|join('-') -%} {%- if tagpageslug in pages[lang] -%} {%- set ns.tagpage = pages[lang][tagpageslug] -%} {%- set ns.tagtitle = ns.tagpage.title -%} {%- call(tagcolor) metadata_entry(tagpageslug, lang, 'color') -%} {%- set ns.tagcolor = tagcolor -%} {%- endcall -%} {%- endif -%} {{- caller(ns.tagtitle, ns.tagcolor, [lang, 'tag', tagname + '.html']|join('/') , ns.tagpage, tags[lang][tagname]) -}} {%- endmacro -%} {%- macro metadata_entry(slug, lang, key) -%} {%- if key in pages[lang][slug].metadata -%} {{- caller(pages[lang][slug].metadata[key]) -}} {%- elif key in pages[t.default][slug].metadata -%} {{- caller(pages[t.default][slug].metadata[key]) -}} {%- endif -%} {%- endmacro -%} {%- macro page_by_slug(slug, lang) -%} {{- caller(pages[lang][slug]) -}} {%- endmacro -%}