Philipp Trommlers Blog

I've Made A Thing: yafg

Unzufrieden mit den bestehenden Lösungen habe ich mein eigenes Markdown-Plugin geschrieben, um <figure>- und <figcaption>-Tags für Bilder zu erstellen: yafg. Um das wie und warum soll es hier gehen.

Veröffentlicht am von Philipp Trommler. Dieser Beitrag wurde außerdem übersetzt nach: en.

Wie ich bereits im ersten Beitrag in meinem neuen Blog erwähnt habe, konnte ich kein für mich funktionierendes Markdown-Plugin finden, das korrekte <figure>- und <figcaption>-Tags um meine Bilder einfügt. Eines hatte eine seltsame Syntax, ein anderes nutzte das alt-Attribut zum Erstellen der Bildunterschrift (dazu später mehr) und ein drittes war zusätzlich so kaputt, dass es nicht mit mehrzeiligen Bildunterschriften umgehen konnte.

Alles in allem eine unbefriedigende Situation, insbesondere da ich denke, dass semantische HTML-Tags wie <figure> oder <figcaption> im Hinblick auf die Barrierefreiheit (Accessibility) wichtig sind. Diese ist im Übrigen auch der Grund, warum die Verwendung des alt-Attributs für die Bildunterschrift schlecht ist. Das alt ist als alternative (daher der Name) Beschreibung desjenigen Elements gedacht, das das Attribut trägt, um es denen zugänglich machen zu können, die ansonsten aus dem ein oder anderen Grund nicht darauf zugreifen könnten. Wie es der HTML-Standard ausdrückt:

"One way to think of alternative text is to think about how you would read the page containing the image to someone over the phone, without mentioning that there is an image present. Whatever you say instead of the image is typically a good start for writing the alternative text."

[Eine Möglichkeit, sich dem Alternativtext zu nähern, ist es, sich vorzustellen, wie man die Seite, die das Bild enthält, jemandem über das Telefon vorlesen würde, ohne zu erwähnen, dass dort ein Bild ist. Was auch immer man anstelle des Bildes sagt, ist typischerweise ein guter Start beim Schreiben des Alternativtextes.]

(so zumindest für die inhaltlich prominentesten Bilder, die wahrscheinlich genau diejenigen sind, die mit <figure>-Tags umschlossen werden sollen). Eine Bildunterschrift hingegen ist eher wie eine Zusammenfassung, die vielleicht zusätzliche Quellen benennt und zitiert oder eine Interpretation liefert (nach meinem Verständnis). Das title-Attribute wiederum hat keine wirkliche Bedeutung, lediglich die etwas vage Beschreibung von "[…] information […] appropriate for a tooltip" [Informationen, die für einen Tooltip passen], und von seiner Verwendung wird abgeraten. Somit ist es ein idealer Container für die Bildunterschrift.

Und hier kommt yafg ins Spiel: Es umgibt alle freistehenden Bilder mit <figure>-Tags und verwendet die title der Bilder, um eine passende Bildunterschrift zu erzeugen. Natürlich unterstützt es mehrzeilige Beschriftungen, sodass die Markdown-Dateien wie gewünscht formatiert werden können. Außerdem kann das title-Attribute auch automatisch von den Bildern entfernt werden, wenn man es sonst auch nicht verwenden würde. Hierfür implementiert es einen Markdown Treeprocessor anstelle der weniger robusten Regular Expressions.

Eine kleine Erweiterung, die ich noch für die Zukunft geplant habe, ist, dass sowohl zu den <figure>- wie auch zu den <figcaption>-Tags benutzerdefinierte Klassen zu Styling- und Scripting-Zwecken hinzugefügt werden können. Aber das muss vorerst noch warten, wahrscheinlich genau so lange, bis ich es selbst brauche 😉.

Wenn du yafg selbst ausprobieren möchtest, kannst du es über PyPI installieren. Ein paar kurze Hinweise zur Verwendung in Python wie auch als Pelican-Plugin finden sich im README. Viel Glück, Feedback ist willkommen!

Abgelegt unter I've Made A Thing. Tags: python, markdown, yafg.

Willst du diesen Beitrag kommentieren? Schreib mir an blog [at] philipp-trommler [dot] me!

Beiträge von Blogs, denen ich folge

Our Ethics, Not Yours
via /dev/lawyer, September 28, 2019

I like Matt Asay, but his open source is very different from mine. In a recent post, Matt offers a bald rebuke of developers yanking code or changing license terms to protest organizations doing things they abhor, like the United States’ Immigrations and …

Our ignorance about gravity
via Aeon, September 27, 2019

Isaac Newton’s law of universal gravitation is many things – revolutionary, elegant, mysterious – but, as it turns out, one thing we know for sure is that it’s not, well, universal. On the scale of our solar system, Newton’s observation – that objects att…

A command-line "Countdown" (UK) companion
via BASHing data, September 27, 2019

Fast solver for anagram puzzles, and a puzzle generator

Generiert mit openring