WP-Plugin: MacroMaker

16. Juni 2006

Die Wikipedia sagt zum Thema Macros:

Makro stammt aus dem griechischen und bedeutet groß oder weit.Ein Makro in der Programmierung ist eine Art Textbaustein, also ein kleines Stück Programmcode, das von einem Interpreter oder Präprozessor durch ein größeres Stück Programmcode ersetzt wird. Damit ist es möglich oft wiederkehrende Programmstrukturen durch Kürzel zu vereinfachen oder literale Konstanten durch semantische Bezeichnungen zu ersetzen.Wikipedia

Der Mensch ist faul, von Geburt an. Das war wohl der Grund warum ich mir dieses Plugin geschrieben habe. Denn jedesmal wenn ich ein Video oder ein Bild in einem Posting einbauen will, schreibe ich dazu mehr oder minder den gleichen HTML-Code.
Viele Dienste wie z.B. YouTube bieten zwar vorgefertigte HTML-Codes an, doch da gibt es zwei Probleme: Erstens passt der HTML-Code nicht immer und ich muss ihn von Hand anpassen. Zweitens ist Wordpress bekanntermaßen recht zickig. Vor allem dann, wenn man, so wie ich, ganz gerne den WYSIWYG-Modus benutzt. Ich bin halt faul.

Update:
Es gibt nun eine kleine Doku zum Plugin und ein kleines Update des Plugins.

Für alle die, die immer noch nicht wissen was ich meine, eine kurze Erklärung. Angenommen man schreibt eine kleine Serie von Artikeln zu einen bestimmten Artikel. Um das ganze optisch ein wenig aufzupeppen, hat man sich dazu ein Logo gebastelt welches immer oben rechts im Artikel erscheinen soll.
Normalerweise würde man u.U. dann am Anfang seines Posting in etwa folgendes schreiben:

< img style=float:right xsrc=logo.gif />

Man könnte aber auch schlicht und ergreifend nur [ logo ] schreiben und das Logo würde automatisch oben rechts eingefügt werden. Nun hört sich das noch nicht so dramatisch an. Schließlich kann man das gleiche Ergebnis in Wordpress auch mit ein paar Mausklicks erreichen.
Doch wie sieht es z.B. mit einer etwas längeren und etwas komplizierteren Signatur aus? Anstatt jedesmal

 
Alles Scheisse, deine Elli. Trotzdem viele liebe Grüße aus diesem meinem Blog & hearts;

zu schreiben, wäre es doch einen Tick effektiver einfach nur [ signatur ] zu schreiben und gut.

Genau das war meine Überlegung als ich mir ein kleines Plugin geschrieben habe, welches den passenden HTML-Code für YouTube-Videos automatisch ins Blog schreibt. Das Plugin war eigentlich recht praktisch. Ich musste nur ein Macro schreiben und den zum Video dazugehörigen Link notieren. Das Plugin hat dann den Link in den HTML-Code übernommen und diesen dann automatisch ins Posting geschrieben.
Nun wollte ich nicht nur YouTube-Videos posten. Sondern auch Google- und SevenLoad-Videos. Und ab und zu auch mal ein Bild von Flickr, welches bei mir einen gänzlich anderen HTML-Code benötigt als von Flickr angeboten wird.

Also schrieb ich noch eine kleine Datenbankschnittstelle dazu und eine Routine die die Macros inkl. der dazugehörigen Variablen/Werte aus dem Posting fischt um das Macro dann durch einen entsprechenden HTML-Code ersetzt.
Anstatt nun mit HTML-Tags rumzufuchteln und mich über das zickige Wordpress zu ärgern, schreibe ich einfach

[ mama name="YTVideo"] link=”http://www.youtube.com/LINK_ZUM_VIDEO” [ /mama]

Das klappt auch mit Google-Videos, SevenLoad-Videos, Flickr-Bilder und vielem mehr. Der Phantasie sind da kaum Grenzen gesetzt.

Das Plugin ist recht einfach zu bedienen. Zip-Datei downloaden, entpacken und den Ordner 912_macromaker komplett ins Plugin-Verzeichnis hochladen. Danach in der Admin-Oberfläche unter “Plugins” das Plugin aktivieren und fertig ist die Installation. Das Installations-Script richtet alle benötigten Datenbanken usw. selbstständig ein.
Danach findet man in der Admin-Oberfläche unter “Verwalten” den Punkt “MacroMaker”. Das erste Macro (YTVideo für YouTube-Videos) wurde als Beispiel von dem Installations-Script bereits angelegt.
Nun kann man direkt loslegen und sein erstes eigene Macro anlegen. Dazu klickt man auf “Neues Macro” und sieht die Eingabemaske für neue Macros (was sonst?).
Hier gibt man einen knackigen Namen für sein Macro ein. Zum Beispiel “GoogleVideo“. Danach benötigt man noch den Teil, der für das Macro im Posting eingesetzt werden soll. Diesen gibt man im Feld “Macro-Code” ein. Bei video.google.com findet man rechts neben den Videofenster eine kleine Box die den von uns (in diesem Beispiel) benötigten HTML-Code enthält.

 
Adblock

Schaut man sich nun diesen HTML-Code an, so sieht man das die Videos bei Google immer anhand einer “docid” identifiziert werden. Diese “docid” findet man auch in der Adresszeile des Browsers wieder. docid ist also der Teil, den wir irgendwie kenntlich machen müssen damit er ersetzt werden kann. Der Rest vom HTML-Code ist immer gleich.
Nachdem wir nun den HTML-Code von Google in unser Textfeld kopiert haben, gehen wir dahin wo die docid steht, und ersetzen diese durch %docid%.
Nun kann man im Feld “Beschreibung” noch ein paar kleine Notizen machen wozu dieses Macro gut ist und wie man es verwenden sollte. Recht nützlich wenn man in ein paar Wochen nicht mehr so recht weiß wie man das mal angelegt hatte.
Nachdem alle Felder nun ausgefüllt sind, müssen wir das Macro nur noch durch einen Klick auf “Speichern” sichern und können es gleich beim Verfassen von Postings verwenden.

Im Posting müssen wir nun also nur noch ein kurzes Macro notieren. Das hat immer folgendes Format:

[ mama name="name_des_macros"] variable=”wert” [ /mama]

(Ohne Leerzeichen zwischen [ und mama bzw. [ und /mama] !)

Für dieses Beispiel müssten wir also folgendes notieren:

[ mama name="GoogleVideo"] docid=”4358616154781404621″ [ /mama]

Na das sieht doch ein wenig übersichtlicher aus als dieses ganze Gedöns mit embed, src und den ganzen anderen Optionen. Wollen wir in Zukunft noch weitere Videos von Google veröffentlichen, müssen wir einfach nur noch die docid aus dem Link fischen und in unserem Macro einsetzen.

Dies kann man nun analog noch mit seinen ganzen anderen Lieblings-WEB2.0-Diensten machen und sich so eine Sammlung von Macros erstellen die das Bloggen ein wenig vereinfachen. Selbst wenn man mehr als eine Variable benötigt, z.B. ein Link, ein Text und die URL zu einem Bild, ist das kein Problem. Man kann beliebig viele Variablen einbauen. Das Prinzip ist immer das gleiche. Im Macro-Code wird an der Stelle wo %xyz% steht, der Wert der Variablen xyz aus dem Macro eingefügt.
Im Grunde genommen muss man nur darauf achten, dass man den Namen des Macros und die Werte der Variablen unbedingt in Anführungszeichen setzt. Ansonsten wird der Name bzw. die Werte der Variablen nicht erkannt.

Wer Interesse an dem Plugin hat, kann es sich downloaden und ausprobieren. Eine ausführliche Anleitung kommt die Tage noch, ich denke aber das es nicht ganz so schwer sein sollte mit dem Plugin seine eigenen Macros zu schreiben.
Ich habe das Plugin nun relativ intensiv getestet. Trotzdem sollte man bedenken das es die erste Version (0.7 alpha) ist und Fehler somit nicht ausgeschlossen sind. Vor allem im Zusammenspiel mit anderen Plugins kann es u.U. zu Problemen kommen. Auch Optisch habe ich in der Admin-Oberfläche noch nicht sehr viel Mühe und Zeit investiert. Da geht noch was. Für die Zukunft habe ich mir noch ein paar Funktionen überlegt (z.B. Im-/Export von Macros). Ausserdem kann am Code noch so einiges optimiert und entschlackt werden.

Anregungen, Tips, Kritik und alles was man zu dem Plugin los werden möchte, kann gerne in den Kommentaren abgeladen werden.

Ralf

Es existieren 4 Kommentare für diesen Eintrag:

1

[...] Einen vielversprechenden Erweiterung für Wordpress in Form des Plugins “MacroMaker” hat Ralf drüben bei neun12.de veröffentlicht: Der Mensch ist faul, von Geburt an. Das war wohl der Grund warum ich mir dieses Plugin geschrieben habe. Denn jedesmal wenn ich ein Video oder ein Bild in einem Posting einbauen will, schreibe ich dazu mehr oder minder den gleichen HTML-Code. [...]

2

[...] bei Toms Diner gibt es ein praktisches Plugin für Wordpress-Benutzer namens Macro Maker. Im Kern handelt es sich um einen BB-Code ähnlichen Ansatz, sich das Schreiben von komplexeren HTML-Tags im Artikeltext zu ersparen. [...]

3
gsyi schrieb:

Interessanter Plugin, gleichmal installiert :-)

4

Plugin für Faule Tipper…

Das Plugin MacroMaker nimmt dem Blogger die Arbeit ab, oft benötigte Codesgemente immer wieder von Hand zu tippen.
……