Plugin erweitert

Ich setze hier für Emoticons (Smilies) das Plugin Font Empticons ein, welches diese schlichten Grinsezeichen in ebenso schlichte, grafische Grinser übersetzt. Und die haben den Vorteil, dass sie das Zeilenbild nicht zerstören, da sie sich auf Zeilenhöhe beschränken.

Ich setze hier für Emoticons (Smilies) das Plugin Font Emoticons ein, welches diese schlichten Grinsezeichen in ebenso schlichte, grafische Grinser übersetzt. Und die haben den Vorteil, dass sie das Zeilenbild nicht zerstören, da sie sich auf Zeilenhöhe beschränken.

Die einzige Unzulänglichkeit des Plugins, die mir aufgefallen ist: Es werden nur Emoticons in den Artikeln und in Seiten ersetzt, nicht aber in den Kommentaren. Nachdem ich mir die Datei font-emoticons.php genauer angesehen habe, war die Lösung recht einfach:

In dieser Datei findet sich ab Zeile 71 das Array mit den zu ersetzenden Zeichenfolgen, hier kann man möglicherweise auch noch andere Kürzel einsetzen. Direkt darunter, in Zeile 96 findet sich der Filter, der die Ersetzung in Posts und Pages erledigt:

96
add_filter('the_content', array($this, 'replace_emots'), 500);

Ich habe diese Zeile kopiert und unmittelbar darunter nochmal eingesetzt, dabei habe ich dann den angesprochenen Hook ersetzt, weil ich die Smilies ja in die Kommentare bringen will:

97
add_filter('comment_text', array($this, 'replace_emots'), 500);

Fertig. Mehr ist das nicht. Die geänderte Datei noch ins Plugin-Verzeichnis hochladen, dabei die Original-Datei überschreiben, und schon stehen die grafischen Smilies auch über dieses Plugin den Kommentaren zur Verfügung.

Neues Handy steht an

Bei mir steht in den nächsten Tagen der Kauf eines neuen Handys an, und es wird wohl ein HTC Desire. Ich habe mich schon im Vorfeld schlau gemacht, wie es mit der Zusammenarbeit mit dem Pinguin ausschaut.
Die einfachste Lösung dafür wird dann die sein, die ich dann auch nutzen werde: Synchronisation über mein Google-Konto.

Bei mir steht in den nächsten Tagen der Kauf eines neuen Handys an, und es wird wohl ein HTC Desire. Ich habe mich schon im Vorfeld schlau gemacht, wie es mit der Zusammenarbeit mit dem Pinguin ausschaut.

Die einfachste Lösung dafür wird dann die sein, die ich dann auch nutzen werde: Synchronisation über mein Google-Konto.

Da das Desire ja mit Android als Betriebssystem läuft, welches bekanntlich von Google stammt, ist die Verwendung des Google-Kontos hier gleich eingebaut. So werde ich dann das Adressbuch mit Google Contacts und den Kalender mit dem Google Calendar abgleichen können, Mails sind über IMAP eh schon synchron gehalten.

Auf dem PC und dem Netbook, und jeweils in der Windows- und der Linuxinstallation, nutze ich Thunderbird für den Mailverkehr, und mit der Lightning-Erweiterung auch als Terminkalender. Hier habe ich schon lange auch die Extension „Provider for Google Calendar” im Einsatz, um den Onlinekalender aus meinem Google-Konto in Thunderbird einzubinden. Und das geht in beide Richtungen, sowohl lesend, als auch schreibend.

Gestern Abend dann habe ich die Erweiterung „Zindus” installiert, die das Adressbuch mit Google Contact abgleicht. Dadurch habe ich natürlich erst mal ein großes Durcheinander im Adressbuch, da ich Google Contacts kaum gepflegt habe. Somit standen da ne Haufen Mailadressen drin, mit denen ich irgendwann mal Kontakt hatte, und die stehen nun auch im Thunderbird-Adressbuch. Und sind etliche Dopplungen bei, die zuvor schon lokal sauber und Ordentlich mit Namen, Telefon-Nummern und Postadressen ausgefüllt waren.

Der Vorteil: Ich halte auch automatisch die Adressbücher auf allen Rechnern synchron. Dass ich die E-Mails auch hier über IMAP abrufe, brauche ich ja nicht zu erwähnen. Somit sind diese automatisch synchron gehalten.

Jetzt steht die Bereinigung des recht umfangreichen Adressbuches an, damit ich den doppelten Müll nicht auf das neue Handy ziehe. Das werde ich Montag oder Dienstag bekommen, wie es im Moment ausschaut, und dann will ich soweit vorbereitet sein.

Rocking Blogroll

Ich wurde per Mail gefragt, wie ich die Blogroll hier in Cowboy´s Linux-Blog zusammengeschraubt habe, und da gebe ich gerne Auskunft drüber:
Zunächst mal gebe ich die Links im Backend ein, wie jeder andere es wohl auch machen würde. Also wird Name, URL und Beschreibung angegeben, die Kategorie ausgewählt und ggf. noch irgendwelche Beziehungsdaten (XFN) angeklickt.

Ich wurde per Mail gefragt, wie ich die Blogroll hier in Cowboy´s Linux-Blog zusammengeschraubt habe, und da gebe ich gerne Auskunft drüber:

Zunächst mal gebe ich die Links im Backend ein, wie jeder andere es wohl auch machen würde. Also wird Name, URL und Beschreibung angegeben, die Kategorie ausgewählt und ggf. noch irgendwelche Beziehungsdaten (XFN) angeklickt. Dazu kommt die Feed-Adresse des Blogs, und eine Bild-Adresse.

Für das Bild habe ich mir eine Hierarchie ausgedacht, wo die herkommen:

  1. Gravatar: Entweder finde ich im Impressum eine Mailadresse, mit der ich nach einem Gravatar suche, oder der Blogger hat hier schonmal kommentiert, und ein Gravatar dagelassen.
  2. Favicon: Finde ich kein Gravatar, schaue ich nach, ob das Blog ein Favicon, oder besser noch ein Apple Touch Icon hat. Letzteres ist größer, und daher besser geeignet. Denn ein 16x16px kleines Favicon sieht auf 50x50px aufgebläht auch nicht mehr wirklich schön aus.
  3. Standard-Grafik: In diesem Fall das blaue Gravatar-Logo. Das wird entweder für eine im Impressum gefundene Mailadresse zurückgegeben, oder aber für die von mir pauschal eingesetzte „kontakt@domain.de”.

Für die Ausgabe der Blogroll ist dann die „Rocking Blogroll” vom Crazy Girl zuständig. Zunächst mal gibt es von ihr das Plugin „Blogroll with RSS-Widget, welches jedoch sehr speicherlastig ist und manches Blog in die Knie zwingt. So auch meine Blogs. Denn bei jedem Abruf der Blogroll werden die RSS-Feeds aller Links eingelesen.

Die „Rocking Blogroll” geht einen anderen Weg, arbeitet mit Cronjob und Datenbank. Das alles muss aber manuell eingerichtet und angepasst werden. In die Tabelle wp_links werden 5 zusätzliche Felder eingefügt, und im Cron-Script muss der absolute Pfad zur wp-blog-header.php angegeben werden. Das Cronscript ist eine PHP-Datei, die dann über einen Cronjob regelmäßig aufgerufen wird (hier stündlich), die Feeds einliest, und in die Datenbank schreibt. Zu guter letzt gibt es noch die Funktion, die das alles aus der Datenbank ausliest und auf den Bildschirm zaubert. Die kommt in die function.php des Themes. Tanja verwendet hier standardmäßig eine Liste (<ul>), ich habe das auf <div> geändert.

Dieser Container bekommt bei mir die CSS-Klasse „bookmark”, und wird entsprechend über das Stylesheet formatiert. Fertig.

Optional kann ich noch einstellen, ob ich das eigene Bild aus der Datenbank, oder einen Screenshot, oder aber gar kein Bild anzeigen will. Und wie alt der letzte Artikel maximal sein darf, damit der Link hier in der Blogroll erscheint. Default steht das auf 48 Stunden, ich habe das mal auf 9999 Stunden erhöht. Wer aber in der Seite nicht mehr erscheint, in der Blogroll rechts in der Sidebar aber schon, sollte mal seinen Feed überprüfen, ob der korrekt funktioniert. Denn fehlerhafte oder gar fehlende Feeds werden nicht eingelesen, ist ja klar

Bleibt noch zu erwähnen, dass es die „Rocking Blogroll” nicht zum Download gibt. Wenn man Tanja aber lieb bittet, wird sie sie Euch zukommen lassen. In diesem ZIP-File ist auch eine ausführliche und gute Anleitung enthalten. Wenn man also ein bisschen was von PHP und MySQL versteht, sollte die Integration der „Rocking Blogroll” keine Schwierigkeiten bereiten.

Autoren-Infos aus der Datenbank

Ich habe kürzlich in meinem Hauptblog beschrieben, wie die Infobox mit den Autoren-Kurzinfos unter die Artikel kommt. Hier setzte ich exakt die gleiche Methode ein, habe aber die angezeigten Kontaktmöglichkeiten abgeändert. Wie das geht, sollte klar sein
Hier im Linux-Blog gibts nun die Situation, dass hier mehrere Autoren schreiben.

Dies ist nur ein Gravatar

Ich habe kürzlich in meinem Hauptblog beschrieben, wie die Infobox mit den Autoren-Kurzinfos unter die Artikel kommt. Hier setzte ich exakt die gleiche Methode ein, habe aber die angezeigten Kontaktmöglichkeiten abgeändert. Wie das geht, sollte klar sein

Hier im Linux-Blog gibts nun die Situation, dass hier mehrere Autoren schreiben. Also haut die bisher vorhandene „Über mich”-Seite nicht mehr so wirklich hin. Ich habe die Seite „Wer schreibt?” mit dem gleichen System wie die Infobox gestaltet.

Will heißen, ich habe für jeden Autoren eine Infobox in die Seite gesetzt. Das Plugin „Exec-PHP” ermöglicht mir dabei die Ausführung des PHP-Codes in Seiten und Artikeln.

Nur, wie bekomme ich die Informationen der anderen Autoren in die Seite? Normalerweise werden doch die Infos des Artikel- oder Seitenautors angezeigt. Nun, das ist simpel: Man setzt einfach die ID des gewünschten Autors als zweiten Parameter ein.

<?php the_author_meta('description',3); ?>

Im Beispiel würde nun die Kurzbeschreibung des Users mit der ID 3 angezeigt.

Da nun nicht jeder Autor alle Kontaktmöglichkeiten nutzt, kann man die Auswahl für jeden Autoren einzeln anpassen. Das ist der Vorteil an der aufwändigen Sache mit einer eigenen Box für jeden Autor.

Google-Reader-Erweiterung

Bei Caschy bin ich eben auf eine sinnvolle Firefox-Erweiterung gestoßen. Also sinnvoll, wenn man den Google Reader zum Lesen der Feeds benutzt.
Bisher hatte ich immer einen Tab mit dem Google Reader geöffnet, wenn ich den Firefox bzw. Iceweasel offen hatte. Also eigentlich immer

Bei Caschy bin ich eben auf eine sinnvolle Firefox-Erweiterung gestoßen. Also sinnvoll, wenn man den Google Reader zum Lesen der Feeds benutzt.

Bisher hatte ich immer einen Tab mit dem Google Reader geöffnet, wenn ich den Firefox bzw. Iceweasel offen hatte. Also eigentlich immer

Jetzt habe ich in der Statusleiste ein kleines Icon, welches mit die Anzahl der ungelesenen Feeds zeigt. Ein Klick auf das Icon, und der Google Reader öffnet sich. Die Erweiterung „Google Reader Notifier“ ist dabei flexibel konfigurierbar: Der Aktualisierungs-Intervall lässt sich ebenso festlegen, wie Klickaktionen für die linke, mittlere und rechte Maustaste, oder ob der Reader sich im aktuellen oder einem neuen Tab oder gar einem neuen Fenster öffnen soll.

Die Default-Einstellungen sind soweit ganz OK: Alle 300 Sekunden aktualisieren, und in einem neuen Tab öffnen. Einzig die Art habe ich geändert. Per Default soll sich der neue Tab im Hintergrund öffnen, ich wollte ihn aber direkt im Vordergrund haben. Denn wenn ich auf das Icon klicke, will ich die Feeds auch lesen

Was neues für Euch

Ich habe in letzter Zeit öfter Mails erhalten, in denen das Fehlen eines Gästebuches angeprangert wurde. Nun gut, hier ist es: Das WP-Plugin „DMSGuestbook“ von Daniel Schurter ist im ACP sehr detailliert zu konfigurieren, und das Frontend ist multilingual. Im Gegensatz zu anderen Lösungen setzt es auf eine eigene Tabelle, statt die Kommentar-Funktion von WP zu verwenden. Zudem bringt es einen Spamschutz mit, und lässt mich alle Einträge vorab checken und dann freischalten.

Eine weitere Neuerung ist das Archiv. Dieses wird jetzt vom Plugin „Snazzy Archives“ aufgehübscht. Damit das korrekt funktioniert, muss der Flashplayer mindestens in Version 7 installiert sein. Es sieht etwa aus, wie eine TV-Zeitschrift. Aber schaut selber…

Neues Smilie-Plugin

Ich habe hier eben ein neues Plugin zum setzen von Smilies in Artikeln und Kommentaren integriert.

Bisher verwendete ich „LMB^Box Smileys“ , das es mir erlaubt, mehrere Smilie-Sets parallel zu nutzen. Hier im Linux-Blog habe ich das allerdings nicht benötigt, da habe ich immer nur ein Set eingesetzt. Im Kommentar-Formular ließen sich die Smilies anklickbar einfügen, im ACP ging das nicht. Da musste ich immer ein Popup-Fenster öffnen, wenn ich mal einen Code nicht wusste.

Bei Cindy wurde ich jetzt auf „Custom Smilies“ aufmerksam, das ich jetzt mal hier testweise einsetze. Das ist ebenso leicht zu integrieren, wie LMB, hat aber auch einige Nachteile.

So konnte ich bei LMB mehrere Codes für ein und das selbe Smilie vergeben, z.B. : -), : – -), : smile : (ohne Leerzeichen natürlich) für Das geht bei CS nicht, da kann man nur exakt einen Code je Smilie eingeben. Zudem hatten die Codes bei LMB noch einen Suffix, um die einzelnen Sets zu unterscheiden. Entweder, ich vergebe jetzt in den neuen Codes das gleiche Suffix, oder ich muss alle Artikel und Kommentare kontrollieren und ggf. korrigieren. :roll:

Aber dafür sind die Smilies nun anklickbar in die Schreiben-Seite im ACP eingebunden, was ich wiederum als Vorteil ansehe.

Also werde ich das Plugin wohl aktiv lassen, da es für dieses Blog ausreicht, und zudem leichtgewichtiger ist, als LMB

Interne Änderungen

Zunächst mal habe ich alle Links, soweit die nicht von irgendwelchen Plugins erzeugt werden, vom Parameter „rel="external"“ befreit, so dass die Links nicht mehr automatisch einen neuen Tab bzw. ein neues Fenster öffnen. Das Thema ist zur Zeit wieder in der Diskussion, und in meinem Country-Blog läuft seit gestern eine Umfrage zu diesem Thema.

Der nächste Punkt ist das Plugin „@ Reply“ . Ich habe in letzter Zeit mehrfach über Twitter und dessen Clients gebloggt, und dieses Plugin ergänzt die Kommentare mit einer Reply-Funktion, wie man sie eben auch aus Twitter kennt. Hinter dem Namen des Kommentators erscheit nun ein Pfeil, der diese Reply-Funktion auslöst. Im Kommentar-Feld erscheint dann das „@“-Symbol und der Name des Kommentators, verlinkt auf den Ursprungs-Kommentar. Gefunden habe ich das Plugin gestern bei Oliver.

Social Bookmarking

Was auch immer das heißen mag oder daran sozial ist, es ist jedenfalls in, seine Lesezeichen auf öffentlichen Servern zu speichern und der Allgemeinheit zugänglich zu machen :|

Nun denn, auf den von mir betriebenen bzw. betreuten Blogs gibt es dafür extra eine Icon-Leiste unter jedem Artikel, über die der Artikel schnell und bequem bei einem solchen Dienst ablegen kann. Und ganz neu jetzt ist das Twitter-Icon, worüber der Dienst TwitThis angesprochen wird, um den URL zum Artikel zu zwitschern

In meinem Country-Blog stellte ich letzte Tage die Frage, ob Funktionen in WordPress als Plugin realisiert werden, oder besser direkt in das Theme geschrieben werden sollen. Die Umfrage dort läuft noch. *mitdemzaunpfahlwink* Die Frage kam auf, da im Blog meiner Frau ein Plugin nicht funktionierte.

Aber dem vorläufigen Ergebnis folgend habe ich diese Social-Bookmarking-Leiste jetzt direkt in das Theme geschrieben und das zuvor benutzte Plugin entfernt. Das Plugin (Sociable von Joost de Valk) integrierte mir die Leiste als Liste, mit einem Aufzählungspunkt vor jedem Icon. Den bekam ich auch nicht weg, gleich was ich versuchte. Jetzt hat sich das Problem erledigt, da ich keine Liste mehr verwende.

Zudem belegte das Sociable-Plugin unnötig Speicherplatz auf dem Server, da es eine eigenes Verzeichnis mit sämtlichen Icons mitbrachte. Das ist jetzt auch nicht mehr erforderlich, da die Icons direkt von den verlinkten Diensten geladen werden. In den allermeisten Fällen handelt es sich dabei um das Favicon, das auch in der Adressleiste angezeigt wird. Besonders auffällig ist dabei das Google-Icon, da in der Iconsammlung des Plugins nur das „alte“ große „G“ enthalten war, und bei Google auch in Sachen Favicon das letzte Wort noch nicht gesprochen ist.

Mal sehen, was ich noch direkt einbauen kann… Da fällt mir schon noch was ein, denn die Plugin-Liste sollte mal entrümpelt werden