Über dieses Blog

Blogstatistiken

Für den Monat Mai 2017:

Besucher3935
Seitenaufrufe7526
Fotoaufrufe28694
Durchschnittliche Verweildauer6 Minuten und 45 Sekunden
Seitenaufrufe pro Besuch1,91
Absprungrate70%

Für das Jahr 2016:

Besucher32280
Seitenaufrufe64512
Fotoaufrufe209656
Durchschnittliche Verweildauer6 Minuten und 36 Sekunden
Seitenaufrufe pro Besuch2,00
Absprungrate72%

Technik

Nachdem ich bereits mit mehreren Blogs Erfahrungen in den verschiedensten Content Management Systemen sammeln konnte, hatte ich irgendwann genug von diesen überladenen und trägen Monstern, die alles können, aber nichts richtig. Also war es an der Zeit, eine eigene Software für den neuen Blog zu entwickeln.

Für den serverseitigen Teil dieses Blogs entschied ich mich für eine Umsetzung inNode.js®.

Auf eine Datenbank verzichtete ich komplett, stattdessen wird jeder Artikel des Blogs in einem separaten Verzeichnis auf dem Filesystem abgelegt. Der Inhalt des Artikels wird in einerMarkdown-Datei abgelegt. Metadaten werden in einerJSON-Datei gespeichert. Das Titelbild des Artikels trägt den Namen `cover.jpg` und alle Fotos, die später in der Fotogalerie am Ende des Artikels angezeigt werden, befinden sich in einem Unterordner `gallery`.

Die Verzeichnisstruktur eines typischen Blogartikels sieht dementsprechend folgendermaßen aus:

content.md
meta.json
gallery/
  foto01.jpg
  foto02.jpg

Diese Dateien werden über Hooks mit einem Git-Repository synchronisiert. Mithilfe von SparkleShare synchronisiere ich dieses Git-Repository mit meinem PC und meinem Notebook, so kann ich die Daten bequem lokal bearbeiten. Nach jeder Änderung synchronisiert SparkleShare sie automatisch mit dem Git-Repository und die Blogsoftware lädt sie neu.

Für das Responsive-Design werden alle Fotos mithilfe von ImageMagick® in verschiedene Größen (aktuell 480px, 768px, 992px, 1200px und 1600px Breite) konvertiert und zur „Auslieferung“ in einem temporären Ordner abgelegt. jpegoptim sorgt anschließend dafür, dass sämtliche unnötigen Daten von den Fotos entfernt werden und so Bandbreite eingespart wird.

Das Design wurde mit Bootstrap verwirklicht und baut auf dem Clean Blog Template von Start Bootstrap auf.

Clientseitig wird jQuery als Javascript-Framework genutzt.