Skip to content

Meine Plugins für Wordpress

Nachdem ich meine Erfahrungen mit Serendipity-Plugins schon geschildert habe, nun eine kurze Darstellung der Wordpress-Plugins, die ich nutze. Da der Markt dort - im Gegensatz zur Lage bei Serendipity - praktisch unüberschaubar ist und ich noch kein besonders erfahrener Wordpress-Nutzer bin, freue ich mich hier natürlich besonders über wertvolle Kommentare und Ergänzungen.

“Meine” Wordpress-Plugins

  • Jetpack von WordPress.com
    Ich glaube, zu Jetpack muss man nicht mehr viel sagen: eine Sammlung gebräuchlicher und weit verbreiteter Plugins.

  • Akismet
    Akismet schützt vor Spam (und dürfte gleichfalls weit verbreitet sein).

  • WP-Optimize
    Das Plug verspricht “Optimierungen” namentlich der Datenbank.

  • Wordfence Security
    Sicherheit soll dieses Plugin bieten; zudem implementiert es einen Caching-Mechanismus.

  • WordPress SEO
    Das Plugin bietet verschiedenste Möglichkeiten zur Search Engine Optimization, bspw. durch Zusammenfassungen für die description im HTML-Header des jeweiligen Blogbeitrags, unter Berücksichtigung dessen, was über Googles Algorithmen bekannt ist.

  • Google XML Sitemaps
    Dieses Plugin erstellt automatisch Sitemaps (also eine Liste aller verfügbaren Seiten und Beiträge), um das Blog für den Google-Bot besser durchsuchbar zu machen.

  • Google Analytics by Yoast
    Eine Schnittstelle zu Google Analytics, die auch die notwendigen Javascript-Schnippsel in die erzeugten Seiten einfügt.

  • NextScripts: Social Networks Auto-Poster
    Dieses Plugin ermöglicht die Ankündigung von Beiträgen bei Twitter, Facebook und Co.

  • Breadcrumb Trail
    “Brotkrumen-Navigation” für Wordpress

  • dejure.org-Rechtsvernetzung
    Die Dejure.org Rechtvernetzung ist ein externes Plugin, das automatisch Paragraphen und Gesetze sowie Fundstellen von Entscheidungen mit Links in das Angebot von dejure.org versieht. ALternativ kann man auch das Blog-Plugin von buzer.de verwenden, das nicht nur einige der gebräuchlicheren, sondern praktisch alle deutschen Gesetze erkennt, aber dafür keine Entscheidungen verlinken kann.

  • Contact Form 7
    Ein immens mächtiges Plugin zur Erzeugung von Kontaktformularen mit verschiedenen Feldern pp.

  • footnotes
    Nicht jeder wird so lange Beiträge schreiben, dass er dazu ein Plugin zur Verwaltung von Fußnoten benötigt, aber vielleicht ist dieses Plugin doch dem einen oder anderen “Science-Blogger” hilfreich.

  • VG Wort
    Auch dies sicherlich eher ein Nischenprodukt, aber sehr praktisch, ermöglicht es doch auf recht einfache Weise die Erfassung und Verwaltung von “Zählpixeln” der VG Wort im Rahmen des METIS (Meldesystem für Texte auf Internetseiten), und setzt diese Zählpixel vor allem automatisch in Beiträge oberhalb der erforderlichen Mindestlänge ein. Außerdem unterstützt es die Meldung der Beiträge an die VG Wort.

Über die Notwendigkeit von WP JV Custom Email Settings und Set email sender habe ich schon anderweitig berichtet.

Wordpress: Korrekte E-Mails generieren

Blogsysteme müssen regelmäßig E-Mails generieren, sei es an den Blogbetreiber, sei es an Kommentatoren: Informationen über neue Kommentare oder Beiträge, mögliche Updates usw. usf. Das erfordert natürlich das Vorhandensein einer (gültigen) E-Mail-Adresse, die als Absender solcher Mails eingesetzt werden kann.

Serendipity macht es sich einfach und überlässt dem Nutzer die Wahl: die “E-Mail-Adresse des Blogs”, blogMail, ist entsprechend in der Konfiguration zu setzen. Das erlaubt dem Nutzer die freie Wahl, erfordert aber umgekehrt natürlich, dass der Nutzer sich darüber Gedanken macht - andererseits: wie soll das anders gehen?

Die Antwort darauf liefert der Konkurrent WordPress, und sie überzeugt mich nicht: auch WordPress verlangt zwar die Angabe einer E-Mail-Adresse “zu administrativen Zwecke”, setzt standardmäßig als Absender aber die Adresse wordpress@example.com, wobei statt example.com die Domain des Blogs steht. Großartig, wenn eine solche Absenderadresse dann nicht existiert. Außerdem setzt WordPress offensichtlich standardmäßig keinen Envelope-Sender, so dass in der Regel der Benutzer, unter dem der Webserver-Prozess läuft, als solcher eingesetzt wird. Auch an diesen “Absender” in der Form www-data@yourhost.example.com kann man allerdings regelmäßig keine Mail schicken …

Abgesehen davon, dass daraus Probleme mit der Auslieferung der E-Mails entstehen können (Stichworte “Verifikation von Absenderadressen” und “Spamfilter”), ist das auch einfach technisch unschön. Wie also lässt sich das abstellen?

  1. Der Mailserver muss dem PHP-Prozess zunächst einmal erlauben, einen Envelope-From (bspw. via sendmail -f blog@example.com) zu setzen.
    Wenn man - wie ich - Exim einsetzt, muss der entsprechende Benutzer, unter dem der Webserver läuft, zu trusted_users hinzugefügt werden. Man kann sich dabei stundenlanges Debugging sparen, wenn man rechtzeitig daran denkt, dass man via mod_suphp (oder auf ähnliche Art und Weise) PHP-Scripts nicht unter der User-ID des Webservers, sondern unter derjenigen des Benutzers laufen lässt. Dieser Benutzer - und nicht www-data o.ä. - muss dann auch in trusted_users.

  2. Danach muss man WordPress davon überzeugen, den passenden From:-Header zu setzen.
    Das geht über manuelle Änderungen von Konfigurationsdateien oder - einfacher und m.E. auch besser - durch Installation eines passenden Plugins, von denen es eine ganze Reihe gibt. Ich nutze dazu WP JV Custom Email Settings, das mir leichtgewichtig genug erscheint. Stattdessen kann man natürlich auch WP Simple Mail Sender, Personal Email oder etwas ähnliches verwenden, im Extremfall etwas wie WP Mail Options, das den Zugriff auf alle Einstellungen von PHPMailer, dem verwendeten PHP-Modul, eröffnet und insbesondere auch Test-E-Mails generieren kann, was zum Testen ganz praktisch sein mag.

  3. Schließlich muss man in WordPress auch den Envelope-Sender korrekt setzen.
    Das kann, soweit ich sehe, nur das Plugin Set email sender.

Danach funktioniert dann auch in WordPress alles so, wie man sich das eigentlich von Anfang an gedacht hätte.

Meine Plugins für Serendipity

Ich hatte in die Runde gefragt, welche Plugins für Serendipity zu empfehlen sind - und möchte darauf natürlich auch selbst antworten.

Besonders wichtig sind mir folgende (Ereignis-)Plugins:

  • Statische Seiten,
  • Freie Artikel-Tags,
  • Dejure.org-Rechtvernetzung,
  • Textformatierung: GeSHi,
  • Textformatierung: Markdown,
  • Erweiterte Eigenschaften von Artikeln,
  • Microblogging (Twitter,Identica),
  • Avatar
  • und natürlich die diversen Spamschutz-Plugins.
"Meine Plugins für Serendipity" vollständig lesen

Plugins für Wordpress und Serendipity

Blogsysteme wie Wordpress oder das hier installierte und von mir sehr geschätzte Serendipity bringen von Haus aus bereits einen großen Funktionsumfang mit, der die Basisfunktionalitäten eines Blogs gut abdeckt. Ein wichtiger Grund dafür, das Bloggen nicht neu zu erfinden und ein eigenes Blogsystem zu schreiben, ist aber die große Zahl der verfügbaren Erweiterungen, die vielfältige neue Möglichkeiten bieten, Widgets in Seitenspalten zu plazieren, das Blog ans “Web 2.0” anzubinden, die eine Spamfilterung oder neue Ein- und Ausgabeformate ermöglichen oder ganz neue Funktionen wie Formulare, Foren, Fotoalben etc. pp. in das Blogsystem integrieren und es damit zu einer Art “CMS light” ausbauen.

Der große, manchmal kaum überschaubare Umfang der Plugin-Welt, die zudem in Bewegung ist und ständig größer wird oder auch an anderer Stelle (durch nicht mehr gepflegte Plugins) wieder schrumpft, birgt natürlich die Gefahr in sich, das ultimative Plugin zu übersehen, das man sich für das eigene Blog schon immer gewünscht hätte. Manchmal denkt man auch gar nicht an bestimmte Funktionen, stößt man aber anderswo darauf, hätte man sie auch gerne selbst zur Verfügung.

Daher die Frage in die Runde: Welche Plugins nutzt ihr in eurem Blog, sei es Wordpress, sei es Serendipity? Und, sinnvoller und wichtiger als bloße - oft endlose - Listen installierter Plugins, welche Erweiterungen findet ihr besonders wichtig, welche sind besonders neu oder vielleicht auch noch ziemlich unbekannt? Welche(s) Plugin(s) würdet ihr empfehlen, um mal etwas neues auszuprobieren, welches Plugin sollte bekanter werden?

Auf eure Empfehlungen und Erfahrungen bin ich erneut gespannt , gerne als Kommentar, gerne aber auch als eigener Beitrag mit Trackback nach hier.

Themes für Wordpress

Vor anderthalb Monaten hatte ich gefragt, welche Themes und Templates für s9y oder Wordpress wohl empfehlenswert sein könnten. Die Resonanz war sehr gering; das mag aber daran gelegen haben, dass es für Serendipity derzeit außer dem aktuellen Standard-Theme 2k11 wohl keine sehenswerte, moderne Alternative für ein “allgemeines” Blog gibt (oder?), und dass die Leserschaft hier, soweit sie bloggt, vermutlich eher Serendipity als Wordpress verwendet.

Daher möchte ich hier noch ein paar Beispiele für schöne - oder zumindest schön abzuwandelnde :-) - Wordpress -Themes nachliefern:

  • Twenty Fourteen
    Das aktuelle (2014er) Standard-Template für Wordpress-Installationen - durchaus elegant, aber auf größeren (breiteren) Bildschirmen bleibt am rechten Rand unschöner Weißraum.

  • Decode - Beispiel-Blog: Beyond The Code
    Ein angenehm minimalistisches, aufgeräumtes Theme ohne viel Schnickschnack - aber auch ohne große Interaktionsmöglichkeiten. Themenzentriert eben. - Es erscheint mir persönlich aber eher für eine Homepage o.ä. geeignet als für ein Blog, weil Dinge wie Kategorien, letzte Beiträge pp. standardmäßig ausgeblendet sind.

  • Required - Beispiel-Blog: Strafakte
    Ebenfalls sehr minimalistisch, aber - wie das Beispiel-Blog zeigt - durchaus ausbaufähig.

  • Blaskan
    Im Gegensatz zu den beiden vorigen Beispielen bietet dieses Theme eine Menge Möglichkeiten für Spielereien und Funktionen, beginnend schon mit der Option, zwei Randspalten einzubauen. Es zentriert sich bei größeren Bildschirmen in der Mitte der Seite, d.h. es bleibt nicht einseitig ein großer Rand, sondern beidseitig.

Hat die werte Leserschaft weitere Empfehlungen für Themes, die man gesehen haben sollte, gleich für welche Blog-Engine?

Todoist: weitere Funktionen

Todoist, die von mir verwendete Aufgabenliste, bietet eine ganze Reihe Funktionen, die in der Hilfe auch schön erläutert sind. Nicht alle Features der Premium-Version finden sich aber dort (oder ich finde sie jedenfalls dort nicht), und auch die Werbeseite für Todoist Premium zählt Features wie “E-Mails als Aufgaben hinzufügen” oder “Projektvorlagen” zwar auf, beschreibt sie aber nicht.

Dennoch gibt es die Dokumentation, und über Google ist sie auch zu finden, nämlich hier:

Außerdem gibt es noch einmal eine Einführung, wenn man “Aufgaben per E-Mail an dieses Projekt senden” auswählt:

Dokumentation zum Hinzufügen von Aufgaben per E-Mail

Hilfreich ist es, sich jedenfalls die zum Ordner Eingang gehörende E-Mail-Adresse zu speichern; so kann man einfach und schnell dort Aufgaben hinzufügen und sie dann später im richtigen Projekt ablegen. Natürlich kann man - wenn man möchte - sich auch die E-Mail-Adressen verschiedener Projekte ablegen, um die neuen Aufgaben per Mail direkt an der richtigen Stelle einzufügen.

Ein weiterer Tip:

Standardmäßig sortiert Todoist die hinzugefügten Tasks nach der Reihenfolge des Hinzufügens, und bei einer Ansicht nach Fälligkeitszeitraum (nicht nach Projekt) werden sie mit höherer Priorität noch nach ihrer … nun ja, Priorität sortiert. So bekommt man die Aufgaben in der Reihenfolge Prio 1, Prio 2, … angezeigt, und innerhalb der Prioritäten werden sie nach der Reihenfolge des Hinzufügens geordnet. Man kann sie aber stattdessen auch von Hand durch “drag and drop” so anordnen, wie man das haben möchte. So kann man seine Aufgaben dann auch der Reihe nach abarbeiten.

Vielleicht hilft das alles ja dem einen oder anderen. :-)

Alternativer Android-Kalender: aCalendar+

Wie ich berichtet hatte, kann mich die neue Google-Calendar-App gar nicht überzeugen.

Auf Empfehlung u.a. von Dirk habe ich jetzt einmal aCalendar+ ausprobiert. Und, was soll ich sagen? Eine sehr schöne Lösung! Ich kann das jedem Android-Nutzer nur empfehlen.

Das einzige, was mir noch fehlt, ist die Darstellung eines Zeitrasters in der Wochenübersicht. aCalender+ zeigt ein typisches “Kalenderblatt” aus einem Wochenkalender und stellt die Termine dort zwar dar, bietet aber keine Darstellung eines Zeitrasters und damit auch keine einfach optisch erfassbare Dauer der Termine dar. Das ist schade, hat man doch so auf einen Blick direkt eine Übersicht darüber, wie “voll” die Woche wirklich ist. Denn selbst wenn sich an jedem Tag zwei Termine von einer Stunde Dauer finden, ist das weniger Zeit als drei vierstündige Termine …

Die neue Google-Calendar-App

Google hat - u.a. - den Google-Kalender und auch die damit verbundene Android-App “hübscher” gemacht.

Sagen wir so: Es ist jetzt alles ziemlich bunt, aber dieses Update war keine Verbesserung. Am schlimmsten ist, dass die Schrift (und alle Elemente) ein gutes Stück größer geworden sind und man zudem auch nicht mehr die Kalender”höhe” durch eine Zwei-Finger-Geste ändern, also v.a. verkleinern, kann. Selbst nach dem Deaktivieren der für Grafiken ohne konkreten Nutzwert neu eingerichteten Kopfzeile bleibt auf dem Tablet deutlich weniger Platz und Übersicht (ganz abgesehen davon, dass man die neue Schrift und die Farben mögen muss).

Katastrophal ist das User-Interface dann aber auf einem Smartphone (hier: Nexus 5): es passen nur noch fünf Wochentage auf das Display, und dank der “fetten” Schrift für die Termine passt nur noch so wenig Text in das Kästchen, dass oft gar nicht mehr richtig erkennbar ist, um welchen Termin es geht.

Kris Köhntopp stellt das Problem textuell und graphisch an einem Beispiel dar: Whitespace, low information density and no way to shrink the hours

Er hat auch noch weitere Kommentare zu dem Thema, auch zum neuen Google Maps:

Mehr kann man dazu kaum sagen, außer: Google, so geht das nicht.

Hat jemand Vorschläge für eine andere Kalender-App?

Aufgabenverwaltung (To-Do-Listen)

Vor einige Zeit hatte ich über meine Suche nach einem brauchbaren Kalender berichtet. Im Zusammenhang damit steht auch eine Aufgabenverwaltung bzw. To-Do-Liste oder neudeutsch task manager (nicht umsonst bieten viele Applikationen beides an) - und solche habe ich auch bereits ausprobiert. Gerne habe ich Listen geschrieben (und hier liegen immer noch Listen mit unerledigten Aufgaben von vor 10 und vor 15 Jahren), diese immer mal wieder neu sortiert und strukturiert, auch mal “getting things done” (GTD) gelesen, aber bisher nicht umgesetzt, die elektronische Variante des “Listen-Zettelkastens” in Form von Listen in einem Wiki ausprobiert, und natürlich auch schon einmal auf Apps gesetzt.

Vor einigen Jahren hatte ich sogar verschiedene solche ausprobiert; mal Webapplikationen wie “Remember the Milk” oder “Hiveminder”, dann auch einige Zeit lang (weil ich damals Webapplikationen noch grundsätzlich ungeeignet fand ein herunterladbares Programm, das sich sogar - aber nur kompliziert - mit meinem Smartphone synchronisieren ließ und dessen Namen ich so gründlich vergessen habe, dass ich es gar nicht mehr wiederfinde … Ich habe viel probiert, der Funke ist allerdings nie so richtig übergesprungen. Immer war die Eingabe zu kompliziert, die Übersicht zu gering, und/oder ich habe das System einfach nicht richtig genutzt.

Heute liegen hier immer noch Notizzettel, gerade für größere Projekte, die ich “irgendwann” einmal angehen möchte; ich habe mich aber vor einigen Wochen entschlossen, den “elektronischen” Aufgabenverwaltungen noch einmal eine Chance zu geben, und mich nach etwas Google-Suche an ein System erinnert, das ich schon einmal einigermaßen erfolgreich in Betrieb, dann aber wieder aufgegeben hatte: Todoist

Todoist

Todoist bietet mir - in der kostenpflichtigen Premium-Version - tatsächlich alles, was ich momentan in dieser Hinsicht benötige: verschiedene Themenbereiche oder “Projekt”, die jeweils (wohl sogar gestaffelt) Unterprojekte erlauben, in denen jeweils Aufgaben angelegt werden können (die auch Unteraufgaben erlauben). Diesen Aufgaben können dann - neben einem Fälligkeitsdatum, das auch Wiederholungen ermöglicht - noch Prioritäten und “Tags” zugeordnet werden. Gebräuchliche Fälligkeitszeiträume - namentlich “heute”, “morgen”, “nächste Woche” sind vordefiniert und erlauben auch ein schnelles Verschieben von Aufgaben, wenn Prioritäten sich ändern oder ein Backlog für die kommende Woche neu sortiert werden soll. Zugriff ist möglich über die Web-Applikation und Apps für Smartphones und Tablets, außerdem gibt es Plugins zumindest für Outlook und Thunderbird. Schließlich ist auch noch ein “Karma”-System implementiert, das für das Eintragen und Erledigen von Aufgaben Punkte vergibt (und für lange überfällige Aufgaben Punkte abzieht) und in regelmäßigen Abstände zu einer “Beförderung” auf eine neue “Fähigkeitsstufe” führt - ein wenig Gamification, so habe ich festgestellt, schadet gar nicht.

Bislang komme ich damit sehr gut klar - vor allem vergesse ich nicht ständig Kleinigkeiten, die ich noch erledigen wollte, weil ich einfach alles (und sei es “Spülmaschine anstellen” oder “Geburtstagsglückwünsche schreiben”) dort notiere, mag die Aufgabe noch so klein sein. Und es hilft mir, einen Überblick über die anstehenden Aufgaben zu haben, so dass ich mir entweder den am dringendsten anstehenden Task oder eine Aufgabe auswählen kann, der ich mich eher gewachsen fühle. Und, schließlich, es hilft, den Kopf freier zu bekommen und nicht immer daran zu denken, was man unbedingt noch erledigen muss und nicht vergessen darf.

Den Schritt zum umfassenden “GTD” habe ich noch nicht gemacht, aber immerhin schon angefangen, einige Prinzipien zu übernehmen, so bspw. Kontexte (“im Büro”, “zuhause” oder “Telefon”, “E-Mail”) oder den “Eingang”, den Todoist selbst vorsieht. Vielleicht schaffe ich es schrittweise, wirklich alle anstehenden Themen in dieses Tool hineinzupacken, “next actions” zu definieren und was dieser Dinge mehr sind … Bis dahin habe ich aber immerhin das Gefühl, meine Abläufe zumindest ein kleines wenig besser im Griff zu haben (und nicht zuletzt auch meinen Kalender von “Terminen” zu entlasten, die in Wahrheit gar keine sind, sondern vielmehr Erinnerungen an anstehende Aufgaben).

"Aufgabenverwaltung (To-Do-Listen)" vollständig lesen

Welche Templates nutzt ihr für euer Blog?

Das Auge isst mit”, so heißt es, und für mich gilt das definitiv. Zwar gilt gerade im Web insoweit oft “weniger ist mehr” und fehlende Inhalte lassen sich nicht durch optischen Putz überdecken, aber ich finde, dass ein guter Text durch eine hübsche Verpackung viel gewinnen kann. Sehr angenehm auch, wenn Webseiten im Zeitalter der mobilen Endgeräte “responsive” sind, sich also möglichst gut den jeweils gebotenen Bildschirmdimensionen anpassen und nicht “für eine Auflösung von … optimiert” sind.

Dementsprechend ist die Auswahl an Themes oder Templates für die verschiedenen Blogsysteme groß (Serendipity) oder gar völlig unüberschaubar (Wordpress). Vor der Qual der Wahl stellt sich aber zumindest für diejenigen, die neben einem Blog auch noch eine eigene Website - oder andere Webangebote - betreiben, die Frage, ob - und inwieweit - das Blog in die Struktur des restlichen Webangebots eingepasst und/oder an dessen Design angepasst sein soll. Das erfordert dann nämlich - nicht selten umfangreiche - Anpassungen an den fertigen Themes (hoffentlich nur im CSS) und schränkt möglicherweise die Auswahl dann auch nicht unerheblich ein.

Mich hat das aktuelle Serendipity-Standard-Theme “2k11” überzeugt: responsive, schick, leicht anzupassen (wie man an diesem Blog sieht - wobei “leicht” immer relativ ist).

Welche(s) Template(s) nutzt ihr, für Wordpress oder Serendipity? Passt ihr das Aussehen eures Blogs an eure übrigen Webseiten optisch an oder verzichtet ihr - zur Vermeidung des Aufwands, zur auch optischen Trennung oder aufgrund des angenehmeren Designs - darauf?

Welche Themes könnt ihr empfehlen, oder welche Blogs erscheinen euch optisch oder vom Design her besonders gelungen?

Auf eure Empfehlungen und Erfahrungen bin ich gespannt .

Fußnoten von MultiMarkDown zu Wordpress konvertieren (und zurück)

Wir Juristen lieben Fußnoten … oder verwenden sie jedenfalls mit Vorliebe und in großer Zahl und Länge - eine juristische Arbeit ist nur echt, wenn mindestens ein Drittel, besser die Hälfte der jeweiligen Seite oder mehr von einem Fußnotenapparat in Anspruch genommen wird. :-)

Dieses Feeling will man natürlich auch beim Web-Publishing nicht vermissen; hier kommt Wordpress zu Hilfe, gibt es doch verschiedene Plugins für eine Fußnotenverwaltung, von denen mir bisher footnotes am besten gefällt. Man kann seine Fußnoten einfach im Fließtext an der passenden Stelle ergänzen, entweder in eckigen Klammern: ((...)) oder in Tags wie <fn>...</fn> oder ganz anders. Am einfachsten erscheint mir dabei die erstgenannte Möglichkeit, und da das Plugin umfangreiche Anpassungen auch des CSS direkt in der Konfiguration erlaubt, funktioniert das auch recht gut.

Nun schreibe ich meine Blogbeiträge in der Regel in Markdown, und auch das kann Wordpress natürlich verarbeiten. Was liegt also näher, als Blogbeiträge erst in einem Markdown-Editor vorzubereiten und dann am Ende in Wordpress (oder Serenidpity, natürlich) einzufügen? Umso mehr, als auch Scrivener als ein mögliches Ausgabeformat MultiMarkdown kennt?

Das Problem dabei ist allersings, dass Fußnoten zwar in MultiMarkdown (wenn auch nicht in “purem” Markdown) unterstützt werden, das Format da aber anders aussieht; dort ist nämlich an der Stelle, wo das Fußnotenzeichen im Text stehen soll, nicht etwa - wie bei den Wordpress-Plugins - der gesamte Fußnotentext einzufügen, sondern nur ein Platzhalter in der Form [^x], wobei x für eine beliebige Zeichenfolge steht. Die Fußnoten werden dann - wie im Ausgabeformat ja auch - am Ende des Textes in der Form [^x]: ... eingefügt. Das hat zwar den Nachteil, dass man einen Zähler hochzählen muss und Schwierigkeiten bekommt, wenn man eine Fußnoten “zwischendrin” einfügen will, ist aber besser lesbar - und für die Einfügerei hat man ja Tools wie Scrivener, die das bei der Ausgabe automatisch richtig machen.

Nur: wie bekommt man die Fußnoten im MultiMarkdown-Format dann in Wordpress, oder einen Text aus Wordpress wieder in einem verständlichen Format in den Markdown-Editor? Die ersten beiden Male habe ich das von Hand gemacht … Das geht. Aber es dauert. Und dauert. Und spaßig ist auch anders. Und: wozu gibt es Computer?

Also habe ich nach ein paar Versuchen - und einigen Blicken ins Perl-Kochbuch, das passenderweise ausgerechnet ein Dickhorn-Schaf auf dem Cover hat! - ein kurzes Script zusammengehackt, das erst die vergleichsweise einfache Aufgabe der Konvertierung des Wordpress-Formats ins MultiMarkdown-Format übernommen hat und dann um die Konvertierung in umgekehrter Richtung erweitert wurde, die eigentlich auch gar nicht so richtig komplex ist. Das funktioniert unter Linux wie auch - mit Activestate-Perl - unter Windows und tut seinen Zweck, auch wenn man das Problem sicherlich noch eleganter lösen könnte und es an jeder Fehlerbehandlung (und an Dokumentation bisher auch …) fehlt.

Wer auch vor diesem Konvertierungsproblem steht und wen der noch rohe Zustand des Scripts nicht abschreckt, der kann sich gerne im Git-Repository bedienen.

Struktur im Blog: Kategorien und/oder Tags?

Die meisten Blogsysteme bieten dem Benutzer zwei Möglichkeiten, seine Inhalte zu strukturieren und zu systematisieren: Kategorien und Tags (Schlagworte). Zumindest die Kategorien können dabei regelmäßig eine Gliederung abbilden, d.h. Unterkategorien enthalten. Üblicherweise können einem Eintrag beliebig viele Tags, zumeist aber auch mehrere bzw. beliebig viele Kategorien zugewiesen werden.

Diese Optionen bieten nun eine Vielzahl von möglichen Wegen zur Strukturierung des eigenen Blogs. So kann man gänzlich auf Kategorien verzichten und die Einträge nur verschlagworten, entweder systematisch mit einem begrenzten Vorrat an Schlagworten, die möglichst häufig verwendet werden, oder als “stream of consciousness” die Kernthemen des jeweiligen Beitrags aufnehmen. Das andere Extrem wäre der Verzicht auf Tags zugunsten von Kategorien, mit denen die einzelnen Themen logisch gruppiert werden, wobei grundsätzlich durchaus überlappende Kategorisierungssysteme möglich sind, bei denen jedem Beitrag zwei oder mehr Kategorien - aus unterschiedlichen Taxonomien - zugewiesen werden. Schließlich ergeben sich vermittelnde Möglichkeiten. Die jeweiligen Vorgehensweise hängt dabei neben dem persönlichen Stil sicherlich auch in nicht geringem Maße von Art und Inhalts des Blogs ab.

Wer in seinem Blog bspw. den ganzen Bereich seines persönlichen und beruflichen Lebens sowie verschiedener Hobbys abbildet, wird Kategorien oft schon deshalb benötigen, um die völlig disjunkten Themenbereiche voneinander zu trennen. Finden sich bspw. Einträge zur Freizeit- und Urlaubsgestaltung - die insbesondere von Bekannten, Freunden und Familie gelesen werden - neben Beiträgen zum Geocaching - die andere Geocacher sehr, lebensältere Onkel und Tanten aber nun gar nicht interessieren - und fachlichen Beiträgen zur beruflichen Tätigkeit, bspw. als Systemadministrator oder Entwickler, und damit zusammenhängenden Freizeitprojekten, bietet es sich an, Kategorien wie Privates, Geocaching und Softwareentwicklung einzurichten und die letztgenannte bspw. noch mit den Unterkategorien Releases und Debian zu versehen. So können die Onkel und Tanten die Kategorie Privates abonnieren und die neuesten Fotos der Großnichten bewundern, Geocacher sich ihren Themenkanal suchen und die mehr am Bereich der Entwicklung interessierten Leser sich entscheiden, ob sie alles - die gesamte Kategorie mit allen Unterkategorien - mitbekommen möchten oder nur Ankündigungen neuer Versionen; zudem lassen sich Beiträge zu bestimmten Projekten - hier im Beispiel “Debian” - gesondert abrufen und auf diese Weise in einem Aggregator (”Planet”) zusammenfassen. Feinere Unterteilungen einzelner Bereiche machen das System dann aber bald unübersichtlich; verschachtelte Unterkategorien lassen irgendwann den Wald in lauter Einzelbäumen untergehen. Ist ein Blog hingegen “monothematisch”, können schon Kategorien auch eine feinere Unterteilung ermöglichen. Wer nur über “Software” schreibt, kann bspw. die Unterkategorien aus dem vorigen Beispiel als Hauptkategorien nehmen und sie für Ausnahmefälle noch um eine Kategorie für anderes oder privates ergänzen.

Wer so mit Kategorien arbeitet, wird irgendwann auch einmal vor dem Problem stehen, dass sich verschiedene divergente Sortierkriterien ergeben. Wollte man im obigen Beispiel den Bereich “Software” bspw. noch in “Webapplikationen” und “Shellscripts” oder nach der verwendeten Programmiersprache unterteilen, ergeben sich Überschneidungen zu den schon vorhandenen Kategorien. Hier würden dann sich überlappende Kategorisierungssysteme greifen, in denen Beiträgen bspw. sowohl die Kategorie “Debian” als auch die Kategorie “Webapplikation” zugewiesen werden, oder man delegiert die feinere Unterteilung an Tags. Das gleiche gilt für bestehende Reihen oder Serien, wie bspw. einen wöchentlichen “Linkdump”, der sich möglicherweise auch thematisch einordnen lässt, oder einen regelmäßige Reihe “Best practices”.

Wie arbeitet ihr in euren Blogs? Nutzt ihr Kategorien oder Tags, oder beides? Wie? Habt ihr euch ein ausgefeiltes System ausgedacht, oder ist das alles “dynamisch gewachsen”?

Über Antworten und Kommentare würde ich mich freuen.

Wie macht man heute Webstatistik?

Ich erinnere mich noch, wie ich vor vielen Jahren - rund anderthalb Jahrzehnten - das Interesse an damals von mir zum Download bereitgestellten Dateien gemessen habe: Jeden Monat lud ich mir von meinem Webspaceanbieter die dort generierten Logfiles herunter, ließ auf meinem heimischen Rechner ein Auswertungsprogramm laufen und ergänzte liebevoll die Anzahl der jeweiligen Downloads im vergangenen Monat in Klammern hinter dem Namen der Datei. Anfangs fand ich das total spannend, nach einiger Zeit ziemlich nervig, und später bin ich dann auf ein Zählscript umgestiegen (Umleitung des Dateiabrufs über ein PHP-Script, das eine Datenbank fütterte).

Unabhängig davon ist es natürlich weiterhin interessant, wie intensiv die eigene Website von anderen genutzt wird. Insbesondere die Abrufe und Besuche - für diese Metriken gibt es natürlich vielfältige Definitionen - insgesamt, welche Seiten oder Dateien besonders oft aufgerufen werden, welche Suchbegriffe auf die eigenen Seiten führen (auch wenn Google das leider erschwert hat) und - für jede Seite oder Datei - wo diese verlinkt sind (Referrer-Auswertung). Zu diesem Zweck hat man früher [tm] einfach die Logs des Webservers ausgewertet, bspw. mit Webalizer oder AWStats. Heute - eigentlich schon seit vielen Jahren - liest man stattdessen von Google Analytics und Piwik (und den damit verbundenen Datenschutzproblemen).

Weil ich mit der Zeit gehen will, habe ich mir auch einmal Piwik installiert und nutze es bislang im Logdatei-Auswertungs-Modus. Das hat mich allerdings bislang nicht besonders überzeugt; es dauert teilweise gefühlt ewig, bis eine Auswertung vorliegt, und für mich interessante Statistiken - bpsw. die Referrerstatistik: von wo wurden bestimmte Seiten aufgerufen? - habe ich bislang zumindest nicht gefunden. Vielleicht ist das auch einfach der falsche Weg, mit Piwik umzugehen …

Daher die Frage in die Runde und an die geschätzte Leserschaft: Was benutzt der Blogger oder Webpublizist von heute zur Auswertung der Seitenaufrufe? Eher eine Auswertung der Logfiles? Oder eher einen Livedienst wie Google Anlaytics? Was genau benutzt ihr? Wie sind eure Erfahrungen?

Bonusfrage: Wie haltet ihr es mit Datenschutzerwägungen?

Hilfsweise: Welche Newsgroup, welches Forum ist die oder das richtige für solche Fragen?

Über Antworten und Kommentare würde ich mich freuen.

Generatoren für statische Websites

Ganz früher bestand eine Homepage, bestanden Webseiten allgemein im wesentlichen aus HTML-Dokumenten. Auf dem Weg zum Web 2.0 kamen zunächst CGI-Scripts für bestimmte Anwendungen auf; insbesondere aber mit der Verbreitung von PHP wurden Webseiten deutlich interaktiver. Blogs, Gästebücher, Kontaktformulare wären anders auch kaum vorstellbar. Nicht immer aber ist Interaktivität wirklich erforderlich. Manche eigentlich statische Seite wird nur deshalb dynamisch via PHP - oder auf vergleichbare Weise - erzeugt, weil es so bequem ist, die Erstellung einer Navigation und der Grundstruktur der Seiten zu automatisieren und Änderungen nur an einer Stelle vornehmen zu müssen. Das kann durch Installation eines CMS - oder eines dafür “zweckentfremdeten” Blogs oder Wikis - erfolgen; man kann auch wie ich schlicht die bisherigen HTML-Dokumente durch PHP-Scripts ersetzen, die im wesentlichen nichts anderes tun als vorgefertigte Funktionen für die Generierung des Seitengerüsts und der Navigation aufzurufen und ansonsten praktisch nur aus HTML bestehen. Meistens wäre es aber eigentlich gar nicht erforderlich, die Webseiten für jeden Aufruf neu zu generieren, weil sie sich nicht oder doch nur selten ändern. Ausreichend wäre es vielmehr, die Erstellung der an und für sich statischen Seiten aus Vorlagen - Templates - zu automatisieren und dabei ggf. auch automatisch die nötige Navigation zu erstellen.

Das leisten - in verschiedensten Variationen - static site generators, also Scripts oder Programmpakete, die man mit Schablonen (Templates) und Inhalten füttert und die daraus - ergänzt um eigene Programmschnipsel - die fertige Website erstellen. Vorteilhaft daran ist, dass die Webpräsenz im wesentlichen aus statischen HTML-Seiten bestehen kann, nur dort durch Scripts ergänzt, wo das auch tatsächlich für Interaktivität notwendig ist. Auf dem Webserver wird die Last deutlich verringert, weil nicht für jeden Seitenaufruf ein PHP-Interpreter gestartet werden muss; auch bestehen weniger Angriffsmöglichkeiten, weil kein ausführbarer Code mehr “live” auf dem Webserver laufen muss. Eine gewisse Interaktivität lässt sich auch durch tägliche, halbtägliche oder sogar stündliche Neuerzeugung der Webseiten erreichen; das macht für ein Forum oder auch ein Blog mit Kommentaren sicher wenig Sinn, aber wenn “nur” ein RSS-Feed oder die aktuellsten Tweets eingeblendet werden sollen, reicht das oft aus. Zudem lassen sich bspw. Kommentare auch durch externe Systeme wie Disqus vermittels Javascript einbinden.

Das Angebot an solchen Generatoren ist - wie bei Blogs, Wikis, CMS, Bugtrackern usw. - einigermaßen unüberschaubar geworden, wie man einer beliebigen Liste von Static Site Generators entnehmen kann. Gute Erfahrungen habe ich mit nanoc gemacht, mit dem auch der CCCS seine Website generiert; Jekyll wird bspw. bei GitHub genutzt, um dort Webseiten - direkt aus Git heraus - zu generieren. Der einzige Nachteil bei beiden ist ggf., dass sie in Ruby geschrieben sind und daher eigene Scripts und Erweiterungen sinnvollerweise ebenfalls in dieser Sprache zu halten sind. :-)

Das Grundprinzip ist bei allen Generatoren immer dasselbe: Es wird ein Grundgerüst für die Seiten in Form eines oder mehrerer Templates aufgebaut, gerne in HTML 5 und “responsive”, die dabei Platzhalter oder sogar entsprechend fortgeschrittenere Funktionen enthalten. Das Design erfolgt über CSS, wobei auch CSS-Präprozessoren wie LESS oder SASS zur Anwendung kommen können. Die einzelnen Webseiten schließlich können als HTML-Dokumente, aber besser noch in einfacheren Auszeichnungssprachen wie MarkDown, Textile, Asciidoc usw. angelegt werden. Dann gibt es in der Regel noch eine Konfigurationsdatei, aus der sich ergibt, wie die einzelnen Bausteine - Templates, CSS, Seiteninhalte - “bearbeitet” und zusammengefügt werden sollen. Aus diesen Anweisungen und Bausteinen generiert der Site Generator dann statische HTML-Dokumente (oder auch PHP-Scripts, oder Dokumente, die Javascript enthalten, oder …). In der Regel sind dabei eine Vielzahl von Filtern zur Interpretation von Markdown, LESS und Co. bereits enthalten; die eigenen Seiten und Designs lassen sich daher quasi aus einem Baukasten zusammensetzen, zumal als Basis für das Grundgerüst der Seiten auf Systeme wie Bootstrap oder HTML5 Boilerplate zurückgegriffen werden kann, die eigene Schriftarten, Icons und/oder Javascript direkt mitbringen oder zumindest entsprechende Anregungen enthalten. Mit verhältnismäßig wenig Aufwand lassen sich so die eigenen Inhalte hübsch, technisch modern und auf den verschiedensten Geräten vom Smartphone über das Tablet bis zum Laptop oder großen Desktopbildschirm ansehnlich darstellen.

Wenn man möchte, kann man auch die Quelldokumente in einem Versionsverwaltungssystem wie Git verwalten und bei jeder Änderung daraus automatisch eine neue Version der Webseiten erzeugen. Auf diese Weise ist ein Blogbeitrag, aber auch eine neue Seite der eigenen Homepage schnell in Markdown geschrieben, mit einem Vorspann - mit den notwendigen Informationen wie Titel, Autor, Erstellungsdatum, Typ pp., bspw. in YAML - versehen und im Git-Repository gespeichert; daraus erzeugt dann der Generator automatisch die neue Seite und passt - gleichfalls automatisch - alle davon betroffenen anderen Seiten (Inhaltsverzeichnis/Sitemap, Navigation, RSS-Feed, …) an und erzeugt sie, soweit nötig, neu.

Ich finde das sehr praktisch für alle Anwendungsfälle, die keine “Webapplikation” darstellen, sondern im wesentlichen statische Inhalte enthalten, die sich nicht minütlich oder stündlich, sondern eher täglich, wöchentlich oder auch nur alle Jubeljahre einmal ändern. Durchaus lässt sich aber auch ein Blog so betreiben, wenn man denn die interaktiven Elemente wie Kommentare pp. “outsourced”, bspw. an Anbieter wie Disqus. Mit ausreichend Zeit - ja, genau da liegt der Knackpunkt … :-) - plane ich, zumindest einige der von mir betreuten Webseiten in der Zukunft entsprechend umzustellen.

MarkdownPad

Über Markdown habe ich in diesem Blog schon mehrfach geschrieben. Ich nutze diese simple Auszeichnungssprache nicht nur für meine Blogbeiträge, sondern auch für FAQs, die sowohl als einfacher Text - bspw. für Postings im Usenet - als auch als HTML - bspw. im Web - veröffentlicht werden sollen, als Quelle für daraus generierte Webseiten oder bei Anbietern, die gleichfalls auf diese Auszeichnungssprache setzen, wie bspw. Github.

Bislang habe ich Markdown in meinem Standardeditor Sublime Edit 2 verfasst (oder ggf. in Notetab Pro), schließlich handelt es sich letztlich um einfachen Klartext, und den Text dann veröffentlicht und notfalls einmal nachbearbeitet. Wenn ich einmal wirklich eine Vorschau sehen wollte, habe ich einen der im Web vorhandenen Online-Konverter wie Markdown Live Preview benutzt, bei dem man links in ein Fenster seinen Text einfügen kann und der rechts daneben dann live die Umsetzung in HTML darstellt. Wenn man allerdings mit einer langsamen Internetanbindung irgendwo an der Küste sitzt - oder gar offline arbeiten möchte -, ist das kein optimaler Workflow. :-)

Daher bin ich jetzt - nach kurzer Suche über Google - auf den Markdown-Editor MarkdownPad 2 gestoßen, der einem im Prinzip das, was Markdown Live Preview online kann, offline bietet: links der Text in Markdown, rechts daneben das gerenderte HTML. Außerdem gibt es die bereits sattsam aus Web-Editoren wie in Wikis oder Blogs bekannten Buttons, mit denen man das entsprechende Markup generieren kann - eigentlich nicht nötig, weil das schöne an Markdown ja gerade ist, dass man es ganz natürlich tippen kann, aber mal ganz praktisch, wenn man nach einer Schaffenspause mal wieder ein spezielleres Markup vergessen hat und sich den Ausflug zu einer Syntaxübersicht sparen möchte. Außerdem kann man auf einfache Weise das generierte HTML direkt exportieren, wenn man das möchte.

MarkdownPad ist kostenlos; die 15 Dollar teure “Professional”-Version beherrscht u.a. Tabellen in Markdown Extra und den Export in ein PDF. Ich finde das sehr praktisch und werde dieses Tool zukünftig für meine Markdown-Texte verwenden.

tweetbackcheck