08.08.12 Ein eigenes Blog

Hier nun der erste Eintrag in meinem persönlichen Blog. Als Software-Entwickler konnte ich es mir einfach nicht verkneifen, die Software für dieses Blog selbst zu schreiben. Und schon habe ich ein erstes Thema ;-)

Implementiert ist das Blog in Ruby. Nach einiger vertaner Zeit mit der Suche nach geeigneter Software, die nicht zu komplex ist und vor allem nicht in PHP geschrieben ist, fing ich an zu überlegen, welchen Aufwand es denn bedeuten würde, so etwas selbst zu schreiben:

  • "Vernünftiges" Layout
  • Statischer Inhalt, wie Begrüßung und Impressum etc.
  • Anzeige von Blog-Inhalten
  • Pflegen von Blog-Inhalten
  • Gästebuch

"Vernünftiges" Layout

Zum Glück ist das Netz voll mit Beispielen von Blogs. Die Vorlage für das Design dieser Seite habe ich bei openwebdesign.org gefunden. Ein Dank an den Kollegen! (Am Ende der Seite findet man ganz unten einen Link zum Autoren des Designs [wahrscheinlich Finne]; das Logo hat MaYa Birken entwickelt.)

Statischer Inhalt, Pflege von Blog-Inhalten

Erzeugt werden muss schlussendlich HTML, was liegt also näher, als die Inhalte gleich in HTML zu pflegen? Vielleicht nicht so ganz nacktes HTML, sondern um ERB tags angereichertes HTML. ERB ist eine Ruby Standard Library, die Texte nimmt und in den Text eingefügte Ruby-Schnipsel ersetzt. Der Link auf den HTML-Eintrag in der Wikipedia sieht im Quellcode dieses Beitrags z.B. so aus:

<%= wiki_link 'HTML' %>

<%= und %> sind spezielle Marker, die ERB durch den zwischen den Markern stehenden Ausdruck ersetzt. Im Beispiel mit dem Wiki-Link ist dies das Ergebnis des Aufrufs der Funktion 'wiki_link' mit dem Text 'HTML'. Das Ergebnis ist dann der HTML-Text mit dem Link. 'wiki_link' selbst ist ein Einzeiler:

def wiki_link entry, name = entry
  "<a href=\"http://de.wikipedia.org/wiki/#{name}\">#{entry}>/a>"
end

Von diesen Einzeilern entstehen so beim Schreiben immer mehr, zum Setzen von Links, zum Erzeugen der Überschrift mit Datum, zum Zitieren von Quellcode usw..

Um einen neuen Blog-Eintrag zu schreiben, nehme ich also jetzt einen Text-Editor meiner Wahl, erstelle lokal auf meinem Laptop im Projekt-Verzeichnis eine neue Text-Datei. Der Name der Text-Datei legt den Titel des Eintrags fest (es werden dazu alle Unterstriche durch Leerzeichen ersetzt; dies hier ist z.B. Ein_eigener_Blog.txt). Der Zeitstempel der Datei legt das Datum des Eintrags fest. Um den neuen Eintrag zu veröffentlichen, genügt dann ein Kommando (rake upload) und alle Dateien der Web-Seite werden auf den Server kopiert. Zusätzlich ein "git commit" und die Inhalte sind gesichert.

Anzeige von Blog-Inhalten

Zur Erzeugung der Liste der Blog-Einträge (hier auf der rechten Seite unter "Einträge"), werden alle Dateien mit Blockeinträgen gesucht, dessen Namen zu Titeln gemacht (Unterstriche durch Leerzeichen ersetzt), und zeitlich sortiert. Enthält die angewählte URL einen gültigen Dateinamen für einen Blog-Eintrag, wird dieser gelesen, formatiert und in die Seite eingesetzt. (Ja, probiert es ruhig, es werden wirklich nur vorhandene Dateien mit Blog-Einträgen angezeigt ;-)

Gästebuch

Spannend fände ich ja die Meinungen Anderer zu dem, was ich hier so schreibe. In naher Zukunft werden ich von daher also die Möglichkeit einbauen, meine Einträge zu kommentieren. Bis ich dazu komme, kann man mich gerne per Mail kontaktieren: Kontakt

Fazit

Selbstschreiben war eine gute Entscheidung. Dieser Blog hier läuft mit weniger als 300 Zeilen Code und hat unwesentlich länger als einen Sonntag gedauert. Auswahl, Konfiguration und Erlernen einer anderen Software hätte wahrscheinlich nicht weniger Zeit in Anspruch genommen.