Springe zum Hauptinhalt

Mastodon-Tröts mit Nikola einbetten

Beim Lesen des Artikels Mastodon Embed Shortcode for hugo dachte ich neidisch 'Wir Nikola-Nutzer könnten sowas auch gebrauchen'. Im Nikola-Handbuch gibt man freimütig zu, dieses Feature sowieso von Hugo entlehnt zu haben, wie kompliziert kann es also sein?

Hier sind drei Arten, mit reStructuredText Tröts in eine Nikola-Seite einzubinden.

Die raw-Directive

Diese Directive ermöglicht es, Inhalt ohne Verarbeitung an die Ausgabe weiterzureichen, siehe auch reStructuredText Directives documentation.

raw.txt (Source)

.. raw:: html

    <iframe src="https://mastodon.social/@kevingimbel/100745593232538751/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="600" height="333"</iframe>

Der raw-Shortcode

Dieser Shortcode ist standardmäßig verfügbar. Er funktioniert genau wie die Directive, der Inhalt muss nur zwischen Shortcode-Tags platziert werden.

raw.txt (Source)

{{% raw %}}
<iframe src="https://mastodon.social/@kevingimbel/100745593232538751/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="600" height="333"</iframe>
{{% /raw %}}

Mach dir deinen eigenen Shortcode

Mittels vorlagenbasierten Shortcodes kann man einfach individuelle Shortcodes erstellen.

Dafür muss man eine Vorlage namens your_shortcode_name.tmpl erstellen und im shortcodes-Ordner der Nikola-Seite speichern. Wenn noch keine eigenen Shortcodes verwendet werden, muss der Ordner höchstwahrscheinlich noch angelegt werden.

Abhängig von der verwendeten Template-Engine, die das aktuell verwendete Theme nutzt, muss der Shortcode in Jinja2 oder Mako geschrieben werden:

Der Shortcode kann nun wie ursprünglich genutzt werden, es muss ein Link zum Status angegeben werden, optional noch Höhe und/oder Breite des Elements.

raw.txt (Source)

{{% mastodon status=https://mastodon.social/@kevingimbel/100745593232538751 %}}
{{% mastodon status=https://mastodon.social/@kevingimbel/100745593232538751 width=300 height=600 %}}

Diese Lösungen funktionieren für mich. Falls nicht, wird die Nutzung der Shortcode-Role empfohlen (siehe Handbuch):

raw.txt (Source)

:sc:`{{% mastodon status=https://mastodon.social/@kevingimbel/100745593232538751 %}}`

Man kann auch Pixelfed-Posts einbinden.

Kommentare

Comments powered by Disqus