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!