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

  • 8TB Raid5 mit Raspberry Pi

    25.04.2020

    Ich habe mir neulich überlegt, ob man einen Pi als Raid benutzen könnte - aber nicht mit dem ewig gleichen Setup mit 4 USB-Sticks...

    Weiterlesen...

Neueste Artikel

  • Watch David Byrne Lead a Massive Choir in Singing David Bowie’s “Heroes”

    Durch die Seite Open Culture bin ich auf diesen spektakulären Auftritt aufmerksam geworden:

    Weiterlesen
  • Zufälliges Füllen der Ebene

    Ich fand neulich einen sehr interessanten Artikel Zum Thema der algorithmischen Erzeugung von dekorativen (obwohl - das liegt im Auge des Betrachters) Bildern.

    Weiterlesen
  • Sicherheit beim Fernzugang per SSH

    Ich habe vor einiger Zeit bereits zwei Vorträge gestaltet und dafür meine Ideen zur unkomplizierten Erstellung von Präsentationen genutzt - nun ist ein weiterer hinzugekommen.

    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.