Simon Szustkowski

Ein Blog über alles, was mir gerade so durch den Kopf geht

Apr 28, 2012

Picasa for Octopress

Bei dem Umstieg von WordPress auf Octopress blieb für mich bis jetzt eine Frage offen, wie ich denn am besten meine Picasa-Gallerien im Blog einbinden konnte. Für WordPress hatte ich ein Plugin, was mir alle Picasa-Galerien auflistete, und ich dann eine Galerie auswählen konnte. Das Plugin hat dann für jedes Bild einen tollen IMG-Tag erzeugt, mit Unterstützung von jegicher Form des Lightbox-Plugins und quadratischen Thumbnails. Es hieß, glaube ich, WP-Picasa oder so.

So eine Funktionalität wollte ich auch für Octopress nicht missen. Allerdings fehlt mir hier natürlich das Admin-Interface, also musste ich es über ein Octopress-Plugin realisieren.

Ich habe gegooglet, und einige Plugins gefunden, die diese Funktionalität für Jekyll bereitstellen. Da Octopress ja auf Jekyll basiert, war es kein allzugroßes Problem, eins davon einzubinden. Das Problem war viel eher, dass dieses Plugin keine wirklichen Thumbnails generiert, sondern in der Übersicht nur die Originalbilder runterskaliert darstellt. Auch war da noch keine Lightbox-Unterstützung gegeben. Die Nutzung des Plugins überzeugte aber schon. Man erstellt einen Liquid Tag, und übergibt ihm die RSS-URL des Albums, und das Plugin liest die dazugehörige XML dann aus, und generiert die Galerie.

Ich habe mich dann etwas mehr mit Picasa beschäftigt, und gemerkt, dass es von Haus aus schon quadratische Thumbnails erstellt. Ich musste nur noch das XML parsen, und entsprechend die Bilder einbauen. Und da war der Knackpunkt. Damit Picasa-URLs pseudoprivat sind, generiert Google den URL-Path mit Hilfe von mehreren Hashes. Und das Ergebnis war ein XML, wo zu 95% irgendwelche Hashes drin standen, und irgendwo dann das Bild an sich, auch nur durch den Zusatz .jpg zu erkennen.

Nunja. Quadratische Thumbnails waren also eingebaut, Lightbox-Unterstützung war auch keine schwere Sache (klappt natürlich nur, wenn das Blog die Lightbox.js schon irgendwo sourced).

Wer jetzt also auch unbedigt das Plugin installieren will, sollte diesen Gist nehmen, und im Octopress-Verzeichnis unter plugins/picasa_album.rb speichern. Das Plugin benötigt das Nokogiri-Gem, was im originalen Octopress-Gemfile vermutlich nicht mit drin ist. Es müsste also noch nachgetragen werden, und der Bundler einmal durchlaufen.
Die Nutzung ist denkbar einfach. Einfach folgenden Liquid Tag da hinschreiben, wo man die Galerie haben will:

{% picasa_album Alben-RSS-Feed-URL %}

Viel Spaß. ;)