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.

Add post to: Delicious Reddit Slashdot Digg Technorati Google