Asciinema in Markdown

vorhergehende Artikel in: Markup Git(lab|hub)
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 Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Monte Carlo im Dungeon

    30.07.2017

    Der von mir neulich vorgestellte Dungeon-Generator war nur ein Schritt auf dem Weg: Ich wollte meine Studentenzeit aufleben lassen und einen Simulator bauen, in dem ich Monte-Carlo-Lokalisierung ausprobieren konnte...

    Weiterlesen...

Neueste Artikel

  • OpenSource - lieben, hassen - oder beides?

    Ich habe neulich zwei verschiedene Ideen verfolgt, die mich beide dazu brachten, OpenSource-Projekte mit meinem Input zu veredeln. Dabei sah ich, was schlecht an OpenSource-Projekten ist und warum deren Existenz trotzdem eine richtig gute Sache ist!

    Weiterlesen...
  • Links zu SNMP, Telegraf unf Grafana

    Nachdem die letzten Linksammlungen eher immer wilde Zusammenstellungen waren, die alle möglichen und unmöglichen Themen umfassten, hier nun eine thematisch eher enger begrenzte...

    Weiterlesen...
  • LinkCollections 2022 VIII

    Nach der letzten losen Zusammenstellung (für mich) interessanter Links aus den Tiefen des Internet für dieses Jahr folgt hier nunmehr die nächste:

    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, muß 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 GitHub-Repositories findet man hier.