Dieser Artikel erschien ursprünglich in meinem ersten Weblog das Netzbuch, das von Mai 2002 bis November 2006 aktiv war, und wurde hier aus blognostalgischen Gründen archiviert. Aktuellere Artikel hat der Uninformat im Angebot.
Techkram Perennen

Blogroll aus OPML generieren

Inspiriert von Martins “Weblogs, die ich lese”-Seite habe ich nun auch meine RSS-Feeds als “Blogroll Nummero Zwo” zugänglich gemacht. Dazu habe ich meine RSS-Feeds aus NetNewsWire als OPML-Datei exportiert und über eine geschwind programmierte PHP-Funktion (basierend auf einem “Code-Brocken”, den man auf “The Tao of Mac” finden kann) umgewandelt und in die Seite eingebunden.


Wie das hier im Netzbuch so gute Sitte ist ;-), steht diese Funktion zur freien Verwendung zur Verfügung. Die OPML-Datei aus NetNewsWire funktioniert problemlos, auch die von mir testweise verwendete OPML-Datei von Martin, mit dem SharpReader erzeugt, funktionierte klaglos.

Den Code findet Ihr hier: OPML-Blogroll. Diesen speichert Ihr als “opml-blogroll.php” ab und “loadet” sie auf Euren Webserver “up”. pMachine-UserInnen haben es gut, sie brauchen diese Datei nur in das pm/scripts-Verzeichnis zu werfen und haben die Funktion dann automatisch verfügbar, alle anderen müssen die Datei mit include("opml-blogroll.php") in ihre Seite einbinden. Als nächstes exportiert Ihr die OPML-Datei aus Eurem Feedreader und ladet sie ebenfalls auf Euren Webserver hoch. Aufgerufen wird die OPML-Blogroll dann mit:


opml2html($opmlfile,$myFeedSymbol);


$opmlfile steht für den Pfad oder die URL zu Eurer OPML-Datei, der optionale zweite Parameter $myFeedSymbol definiert ein Symbol für den Link zum RSS-Feed. Das kann einfach ein Text sein wie “XML”, aber auch ein HTML-Code-Brocken der ein Bildchen referenziert, prinzipiell alles was man halt so als Link verwenden darf. Wird der zweite Parameter weglassen, wird als Voreinstellung “[XML]” für den Link zum RSS-Feed verwendet.


Die Funktion erstellt eine alphabetisch sortierte “unordered list”, die Ihr mit einem div drum herum und CSS-Selektoren nach eigenen Wünschen formatieren könnt.


Die Funktion erfordert ein PHP mit der expat-Library für die XML-Funktionen auf Eurem Webserver. Wenn es Probleme gibt mit einer OPML-Datei, einfach lamentierend kommentieren. ;-)


Verwendung natürlich nur auf eigenes Risiko, sollte Euer Server explodieren oder sich sonstiges Unheil ereignen bin ich unschuldig! ;-)