Jan

06

Posted by : Florian Löffler | On : 06.01.2008


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.

Continue Reading

Jan

02

Posted by : Florian Löffler | On : 02.01.2008

Die Portage Paketverwaltung gefällt mir persönlich sehr gut. Das sehr zuverlässige Auflösen aller Abhängigkeiten ist mir dabei neben Transparenz und Flexibilität in der Anwendung am wichtigsten. Leider gibt es einen Haken, um den man sich noch per Hand kümmern muss: blocked packages

Kurz erklärt können zwei Pakete, welche dieselbe oder sich überschneidende Funktionen anbieten meist nicht parallel installiert sein, sie schließen sich also gegenseitig aus. Im Beispiel weiter unten blockt der bereits installierte SimpleSMTP (ssmtp) Mail Transfer Agent die Installation des Qmail MTA, welcher gleiches (und noch mehr) leisten würde wie der ssmtp.

Continue Reading

Jan

01

Posted by : Florian Löffler | On : 01.01.2008

Silvester
Gutes Neues !!
Hoffe euer Kater hällt sich in Grenzen und alle hatten nen guten Rutsch ;)