Macros
getters.html
{%- import 'macros/getters.html' as get with context -%}
Mit diesen Macros können Informationen abgefragt werden.
category_by_name(catname, ignore_native = False)
Argumente:
-
catname
(String): Der Name der Kategorie. -
ignore_native
(Boolean): Setzt den ersten und dritten Rückgabewert zuNone
. (Verkürzt die Laufzeit dieser Funktion.)
Rückgabewerte:
- (Category): Die native Kategorie.
- (Dict): Der Eintrag zu der Kategorie aus der config.json-Datei aus dem Inhaltsrepo.
- (List<Article>): Die Artikel in der Kategorie.
Beispiel Aufruf:
{%- call(nativecat, sccat, catarticles) get.category_by_name(article.category.name) -%}
<ul>
<li>Kategorie: {{ nativecat.name }}</li>
<li>Farbe: {{ sccat.color }}</li>
<li>Anzahl Artikel: {{ catarticles|length }}</li>
</ul>
{%- endcall -%}
tag_by_name(tagname)
Argumente:
-
catname
(String): Der Name des Tags.
Rückgabewerte:
- (Tag): Der native Tag.
- (Dict): Falls der Tag gleichnamig zu einer Kategorie ist, dann der Eintrag zu der Kategorie aus der config.json-Datei aus dem Inhaltsrepo, sonst
None
. - (List<Article>): Die Artikel die diesen Tag haben.
Beispiel Aufruf:
{%- call(nativetag, sccat, tagarticles) get.tag_by_name("event") -%}
<ul>
<li>Tag: {{ nativetag.name }}</li>
<li>Farbe: {% if sccat %}{{ sccat.color }}{% else %}Dieser Tag ist nicht gleichnamig zu einer Kategorie und hat deshalb keine Farbe.{% endif %}</li>
<li>Anzahl Artikel mit diesem Tag: {{ tagarticles|length }}</li>
</ul>
{%- endcall -%}
article_by_slug(slug, lang)
Argumente:
-
slug
(String): Der Slug von dem Artikel. -
lang
(String): Die Sprache von dem Artikel.
Rückgabewerte:
- (Article): Der Artikel.
page_by_slug(slug, lang)
Argumente:
-
slug
(String): Der Slug von der Seite. -
lang
(String): Die Sprache von der Seite.
Rückgabewerte:
- (Page): Die Seite.
article_or_page_by_slug(slug, lang)
Argumente:
-
slug
(String): Der Slug von dem Artikel oder der Seite. -
lang
(String): Die Sprache von dem Artikel oder der Seite.
Rückgabewerte:
- (Article | Page): Der Artikel oder die Seite.
- (String): "article" falls es ein Artikel ist. "page" falls es eine Seite ist.
cards.html
{%- import 'macros/cards.html' as cards with context -%}
Mit diesen Macros können Kachelblöcke erstellt werden.
In einem Kachelblock dürfen nur Kacheln sein und sonst nichts!
Beispiel:
{{ cards.open() }}
{%- for article in all_articles -%}
{{ cards.card_from_article_or_page(article) }}
{%- endfor -%}
{{ cards.card(title="Dies ist auch eine Kachel", url="https://www.youtube.com/watch?v=dQw4w9WgXcQ", catcolor="green") }}
{{ cards.close() }}
open(id = None, classes = None)
Beginnt einen Kachelblock.
Argumente:
-
id
(String): Die ID von dem Kachelblock. -
classes
(List<String>): Zusätzliche Klassen für den Kachelblock.
close()
Schließt einen Kachelblock.
card(title, url, catcolor, escape_title = True, is_url_external = True)
Erstellt eine Kachel.
Argumente:
-
title
(String): Der Titel. -
url
(String): Der URL. -
catcolor
(String): Die Farbe. -
escape_title
(Boolean): Obtitle
escaped werden soll. -
is_url_external
(Boolean): Oburl
auf eine externe Resource zeigt, oder als relativen Link interpretiert werden soll.
card_from_article_or_page(aop)
Erstellt eine Kachel von einem Artikel oder einer Seite.
Argumente:
cards_from_articles_or_pages(asops, max = None, standalone = True)
Erstellt mehrere Kacheln oder einen vollständigen Kachelblock von mehreren Artikeln oder Seiten.
Argumente:
-
asops
(List<Article | Page>): Die Artikel oder Seiten. Kann auch gemischt sein. -
max
(Int | None): Falls vorhanden werden maximalmax
Kacheln gerendert. -
standalone
(Boolean): Obopen()
undclose()
automatisch mit ausgeführt werden soll.
Beispiel Aufruf:
{{ cards_from_articles_or_pages(all_articles, max=5) }}
renderers.html
{%- import 'macros/renderers.html' as render with context -%}
**TODO: ** Die Dokumentation für diese Macros ist abhängig von der Dokumentation von der config.json-Datei im Inhaltsrepo.