Asciinema in Markdown

vorhergehende Artikel in: OpenSource Markup
20.12.2021

Mein Static Site Generator kann ja bereits seit einiger Zeit mit Asciinema-Dateien umgehen und diese einbinden - ich war aber auf der Suche, diese Einbindung auch in Gitlab und/oder Github nutzen zu können...

Ein Beispiel für die Einbindung in meine Heimatseite ist hier zu sehen.

Ich habe in letzter Zeit hin und wieder darüber nachgedacht, dass so etwas in Open-Source-Projekten auf Github oder Gitlab ebenfalls nützlich sein könnte - speziell wenn man es gleich in die Readme.md einbinden könnte, besonders, weil man die eingegebenen Terminal-Kommandos dann gleich daraus kopieren könnte.

Leider ist die direkte Einbindung auf beiden Plattformen derzeit nicht möglich - man kann aber ein Bild (sozusagen einen Screenshot) aus der Animation erzeugen und diesen als Bild in die Readme.md einfügen und als Link zur eigentlichen Animation ausprägen.

Das reichte mir aber nicht - dann stolperte ich über ein Projekt, das aus den Asciinema-Dateien animierte SVG-Graphiken erzeugen kann. Damit wird aus dieser Animation dieses Bild:

Screenshot Asciinema-Animation als SVG

Der Nachteil dabei ist natürlich, dass das dann kein interaktiver Player mehr ist, dessen Wiedergabe man beliebig pausieren kann und - was noch wichtiger erscheint - man kann auch nicht mehr Kommandos aus dem Player heraus kopieren, wie es eines der hervorstechendsten Merkmale des Originals ist. Aus meiner Sicht sollte man also auf jeden Fall auch eine so erzeugte Graphik unbedingt mit einem Link zum echten Asciinema-Player hinterlegen!

Darüber hinaus existieren auch verschiedene Projekte, die eine Asciinema-Animation in ein Anim-Gif verwandeln.

Möchte man (bei lokal gehosteten Asciinema-Animationen) ein einzelnes Frame extrahieren, das als Bild für einen Verweis auf die Animation dienen soll, kann man das mittels folgenden Kommandos erreichen (nutzt man das Cloud-Angebot, ist die Erstellung eines solchen Bildes bereits inklusive):

xterm -e asciinema play globe.js& export APP_PID=$! && sleep 10 && xwd -id $(xdotool search --pid $APP_PID) | convert xwd:- image.png

Der Wert hinter sleep sollte mindestens 1 betragen, da sonst unter umständen das Terminal noch nicht geöffnet ist - mit ihm kann man auch einige Sekunden überspringen, wenn man den Screenshot nicht gleich zu Beginn der Animation erzeugen möchte...

Alle Artikel rss Wochenübersicht Monatsübersicht Codeberg Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • The Things (Network) Stack v3

    19.09.2021

    Ich berichtete vor einiger Zeit über meine ersten Versuche der Beschäftigung mit LoRaWAN und The Things Netzwork.

    Weiterlesen

Neueste Artikel

  • Docker Upgrade Fail 2026

    Gerade habe ich Urlaub - und Urlaub bei mir heißt auch immer Maintenance im Heimlabor. Das wiederum heißt Updates und Upgrades für die verschiedenen Server, Dienste und Virtualisierungsplattformen. Und natürlich geht auch immer etwas schief - auch dieses Mal...

    Weiterlesen
  • Flaggen-Emojis aus ISO3166-1 Country Codes

    Ich fand neulich diesen interessanten Link, der beschreibt, wie man die Flaggenicons für alle Länder der Erde mit einem simplen Unicode-Feature erzeugen kann und dachte: "Das will ich auch ausprobieren!". Wieder etwas, das ich noch nicht über Unicode wusste...

    Weiterlesen
  • Cryptpad neu im Docker Zoo

    Ich habe nochmal versucht, Cryptpad als self-hosted Variante in meinen Docker-Zoo aufzunehmen - dieses Mal war ich erfolgreich...

    Weiterlesen

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen Codeberg-Repositories findet man hier.