Für viele Artikel (wie zum Beispiel diesen hier ;) ist es praktisch die Ausgabe von Shellcommandos sauber formatiert auf der Webseite darstellen zu können. Man könnte natürlich Screenshots machen, aber die JPEGs sind verwaschen, verschwenden Bandbreite und sind für Suchmaschienen nicht interpretierbar.
Viel besser ist es den Text schön mit HTML Tags formatiert darzustellen. Allerdings wird es auf Dauer etwas anstrengend die Ausgaben per Hand mit HTML Tags zu formatieren. Ein Weg zur automatisierten Umwandlung von Bash Escape Codes in HTML Tags muss also her ;)
Um das Ganze hinzukriegen habe ich zwei Skripte geschrieben:
Eines um die Ausgaben eines Kommandos inklusive der Bash Escape Codes in eine Datei zu loggen und ein zweites um diese in HTML Tags zu übersetzen.
Das Loggen der Ausgabe wird vom record-Skript ausgeführt, da ein direktes Umleiten in eine Datei die nötigen Bash Escape Codes wegfiltern würde (nur eine Shell bekommt die Escape Codes wirklich zur Anzeige übermittelt).
Die Übersetzung der Escape Codes in HTML Tags wird von bash2html ausgeführt, was eigentlich nur ein nettes Wrapper Skript für einen sed-Aufruf darstellt. Alle Ersetzungsoperationen werden im zugehörigen sed-Skript bash2html.sed vorgenommen.
Der gesamte Block wird in <pre class=”console”></pre> Tags eingeschlossen und kann per CSS formatiert werden. Einzelne Textteile erhalten ihre Vorder- bzw. Hintergrundfarbe über <span style=”color: foo; background-color: bar;”></span> Tags, wobei bei schwarzem Hintergrund in der Konsole keine background-color im style-Tag definiert wird.
