15.10.09: Twitter ins Blog integrieren
Twitter hat eine gut dokumentierte, REST-basierte API,
die die Einbindung auf der eigenen Webseite zu einem Kinderspiel macht. Weiterhin gibt es mit
python-twitter sowie einem
Template-Tag
für Django verschiedene Optionen, um die Integration schnell abzuschließen. Ich habe den Template-Tag
an meine Bedürfnisse angepasst.
Zunächst einmal habe ich die Anzahl der Tweets auf fünf beschränkt (einfach “?count=5” an die Twitter-URL anhängen). Außerdem habe ich zusätzlichen Code eingebaut, um die Tweets sinnvoller darzustellen:
import re def linkify_tweet(tweet): # URLs, zumindest einige ;) tweet = re.sub(r'(https?://[^ ]+)', r'<a href="\1" target="_blank">\1</a>', tweet) # Usernamen tweet = re.sub(r'(\A|\s)@(\w+)', r'\1@<a href="http://twitter.com/\2" target="_blank">\2</a>', tweet) # Hashtags return re.sub(r'(\A|\s)#(\w+)', r'\1<a href="http://search.twitter.com/search?q=%23\2" target="_blank" class="hashtag">#\2</a>', tweet)
Der Kern sind die drei relativ einfachen regulären Ausdrücke, um Twitter-Usernamen, Links und Hashtags (#Suchbegriff) zu erkennen und diese mit Links zu erweitern. Durch die CSS-Klasse bekommen die Hashtags eine eigene, graue Farbe, wie das auch bei Tweetie der Fall ist. :) Wichtig dabei ist, die Link-Erkennung als Erstes durchzuführen, da sonst die wegen Usernamen und Hashtags eingefügten URLs nochmals erkannt und umgewandelt werden.