Artikel mit Tag reallivecomment
Livecomment: URL-Button
Ich möchte kurz die Aufmerksamkeit auf das Kommentarfeld lenken. Dort sollte ein grüner Erdball erscheinen, der als URL-Button fungiert. Um markierten Text wird also der nötige Code hinzugefügt, so kann man einfach einen Link in den Kommentar einzubauen.
Das ist wahrscheinlich der wichtigste Helfer. Ob die entsprechenden Stellen nun kursiv oder fett sind oder nicht ist nicht wirklich wichtig. Dass ein Link als echter klickbarer Link und im Idealfall samt ordentlichem Namen angezeigt wird dagegen schon, in einem Blog. Dass dies nicht so gemacht wird sieht man in Blogkommentaren wirklich oft: Meist ist der Link einfach nur Text, manchmal per Wordpress-Funktion zumindest klickbar gemacht. Aber nur selten ist das so formatiert, wie man es machen würde, wenn man die Syntax nur kennen würde.
Da hier im Blog alle Hilfetexte versteckt werden ist diese Hilfe natürlich besonders angebracht. Unter anderem wegen der Linkformatierungsmöglichkeit ist in den Kommentaren nicht mehr s9y-markup, sondern Markdown aktiviert. Dafür wäre ohne das Plugin ein Link auf die Syntax wirklich nötig. Andererseits will man das ja nicht lesen, nur um einen Kommentar abzuschicken.
Versteht man, dass die Weltkugel für Links zuständig ist? Ich habe das ein paarmal so gesehen, empfinde es aber nicht als so zwingend wie das dicke B für "fett". Existieren da bessere Grafiken, die das eindeutiger vermitteln?
Testdownload: serendipity_event_livecomment-2.5.tar.gz
livecomment 2.4: Kleine Verbesserungen und elastischer Kommentarbereich
Die neue Version beinhaltet nicht zu viele, aber teils wichtige Änderungen
- Funktion:
- Mittels des Elastic-Plugins kann das Kommentareingabefeld vergrößerbar gemacht werden. Wird der Kommentar länger wird das Feld größer - in der Beschreibung steht, das sei von Facebook inspiriert. Standardmäßig aus, weil es Probleme mit Opera hat, und auch weil verbunden mit der Vorschau ziemlich viel Bewegung entsteht.
- Zweite Funktion ist ein Knopf für Kursiv. Sieht man hier im Blog nicht, weil s9y-Markup das scheinbar nicht kann, aber bei markdown, textile und bb ist es dabei.
- Verbesserungen:
- Markiert man ein Wort mittels der Buttons wird die Vorschau direkt aktualisiert.
- Nach einem Klick wird das Eingabefeld fokussiert.
- Wenn der Kommentar länger ist und elastic nicht aktiviert, sodass ein Scrollbalken angezeigt wird, bleibt dessen Position erhalten.
- Bugfix: Der Pfad zur den Buttons war falsch.
Danke an Konrad für das Feedback, dem die Verbesserungen entstammen.
Download: serendipity_event_livecomment-2.4.tar.gz, es ist auch schon in Spartacus hochgeladen, "Erweiterter Kommentarbereich" der Name.
"Live-Vorschau" wird zu "Erweiterter Kommentarbereich": livecomment 2.3
Das hier bereits vorgestellte Markup-Plugin wurde mit dem existierenden livecomment-plugin verschmolzen. Es bietet jetzt also nicht nur eine Vorschau, sondern auch eine einfache Formatierung der Kommentare an.
Dabei wurden auch die bisherigen Funktionen verbessert. Es läuft nun wieder mit Opera und die Animationen sind konfigurierbar:
Screenshot ist zwar von der englischen Übersetzung, die deutsche ist aber komplett.
Die Version 2.3 ist per Spartacus verfügbar.
Vorsicht: Spartacus setzt das benötigte jQuery-Plugin hinter das Plugin, es muss aber zuerst geladen werden.
Anmerkungen zu Serendipity (1.4)
Serendipity 1.4 enthält viele kleine Verbesserungen. Die Bugfixes sind natürlich toll, die Nutzbarkeitsverbesserungen angenehm. So hat jedes Seitenleistenplugin direkt einen "Bearbeiten"-Link.
Es fehlen etwas die großen Neuerungen. Das ist nicht schlimm, serendipity muss sich ja nicht verkaufen. Aber so wird klar, warum Garvin so explizit the future of serendipity erfragen muss. Der neue Stil des Adminbereichs taugt als große Neuerung nicht wirklich, soweit ich das sehe ist es nämlich wirklich nur ein neues Styling, kein neues Design. Gefällt mir nicht wirklich, wirkt aber nicht so dröge wie der jetzige Standard.
Das RSS-Syndication-Plugin, also die Anzeige der RSS-Links in der Seitenleiste, wird drei neue Optionen bekommen: zwei, um die Bezeichnung der Links zu ändern (bei deutschen Spracheinstellungen derzeit "feed" und "Kommentare"), die dritte Option erlaubt das Einbinden eines Bildes noch vor der Anzeige der Links, wobei das Bild selbst den RSS 2.0-Feed verlinkt. Das eine solche Anpassung an internen Plugins so problemlos durchgeht hätte ich nicht erwartet. Hat mich sehr gefreut.
Beim livecomment-Plugin sind die kommenden Änderungen an der Oberfläche etwas kleiner. Stellt man den Blog auf englisch, wird der Titel "Live Vorschau" nun mit übersetzt. Die Geschwindigkeit des Ein- und Ausblendens wurde verändert (beschleunigt) und die Vorschau wird nun etwas durchsichtig (zu 0.75), wenn das Eingabefeld den Fokus verliert. Letzteres soll es nochmal erleichtern, Vorschau und Kommentare zu trennen.
Intern ändert sich etwas mehr, weil die Javascript-Variablen nicht mehr einfach in den head geschrieben werden, sondern per Ajax-Request abgefragt. Die Performance wird dadurch leider etwas schlechter. Dafür ist das eine gute Grundlage, um beim nächsten Update z.B. die Einblendeffekte optional bzw. einstellbar zu machen.
Serendipity: reallivecomment per Spartacus
Das reallivecomment-Plugin wurde von Garvin mit dem existierenden (Ajax-)livecomment-Plugin verschmolzen. Es ist jetzt also per Spartacus beziehbar. In den Optionen des livecomment-Plugins kann man zwischen den beiden Methoden wählen.
Auch die Ajax-Variante wurde verbessert, nämlich so fertiggestellt, dass nun auch sie eine echte Live-Vorschau während des Tippens anbietet. Ich konnte also wirklich was bewegen.
Das Update wird seit heute morgen von Spartacus angeboten. Eine schönere Einladung zum Testen kann es kaum geben.
Update: Der Bug, der den Kommentarfeed lahmlegte, wurde gefixt. Die gepatchte Version ist schon im Spartacus angekommen.
Serendipity: reallivecomment 0.2.5
Der Scheideweg: Sollen die Kommentare gleich an die richtige Position gebracht werden, inklusive Einrückung? Oder ist es sinnvoller, sie immer nahe des Eingabefelds darzustellen?
Die erste Variante ist schwer zu implementieren. Und wenn viele Kommentare vorhanden sind, sieht man beim Tippen die Live-Vorschau nicht. Dann besser gleich auf "Preview" klicken, statt die Kommentare zu durchsuchen. Eine direkte Vorschau macht also nur Sinn, wenn man sie gleich sieht.
Deswegen geht diese Version den zweiten Weg. Der Abschnitt "Live-Vorschau" wird nach einem Klick auf das Kommentareingabefeld sanft eingeblendet und zeigt den formatierten Kommentar an. Die Box übernimmt das Design des Blogs. Testen kann man die neue Version, wie immer, direkt hier in den Kommentaren.
Meinungen?
Short english introduction: The plugin now equals the Wordpress Live Comment Preview, as a javascript-parser formats the preview and it is instant shown above the comment-textbox. If you want to try it: it's activated. Simply try to write a comment to see the effect.
Serendipity: reallivecomment 0.2.1
Diese Version behebt einen Bug: Die vorherige Version schrieb Javascript-Variablen auch in den RSS-Feed der Kommentare und machte ihn so unlesbar.
Serendipity: reallivecomment 0.2
Die neue Version des Plugins zur Vorschau der Kommentare formatiert die Ausgabe nun gemäß der für die Kommentare aktivierten Plugins. Die Formatierung erfolgt nicht über Serendipity, sondern per Javascript. Daher müssen die Ausgaben nicht immer übereinstimmen, insbesondere weil die Javascript-Parser nicht alle ausgereift sind und die Aktivierungsreihenfolge nicht beachtet wird.
Vorteil des Javascript, statt den Text per Ajax an Serendipity zum Formatieren zu senden, ist die bessere Performance. Passt man das existierende Plugin serendipity_event_livecomment so an, dass es den Kommentar direkt formatiert und nicht erst bei einem Klick, dauert es eine ganze Weile und das Kommentarfeld beginnt zu flackern.
Changelog:
- Formatierungssupport eingefügt für:
- BBCode, basierend auf diesem Codeschnipsel (erweitert)
- rudimenär: s9ymarkup
- Textile, basierend auf der Live Textile Preview
- Markdown, basierend auf showdown
- nl2br
Echte Livevorschau der Kommentare
Es gibt eine Sache, die ich an Serendipity komisch finde: Das Live-Commentpreview-Plugin. Funktioniert das bei irgendwem? Eine Live-Vorschau stellt das Plugin zumindest nicht bereit. Ich konnte auch sonst keinen Effekt feststellen, außer dass die Zielanzeige grün wird und der Kommentar nicht da angezeigt wird, wo er hin soll - teilweise konnte ich das Ziel auch nicht mehr richtig auswählen. Es scheint leicht verbuggt.
Der Quellcode bestätigt das: Einige lose Enden und explizite IE-Bezüge wirken nicht ausgereift - fertigstellen kann ich das mit meinen begrenzten Fähigkeiten nicht.
Deswegen stelle ich hier ein neues Plugin vor, das einem anderen Ansatz folgt: Der Idee von Karl Swedberg, vorgestellt auf learningjquery.com. Dabei wird naheliegenderweise jQuery genutzt, um das Kommentareingabefeld abzugreifen und den Text an einer anderen Stelle formatiert darzustellen - eine Live-Vorschau eben. Ich habe das etwas ergänzt und auf Serendipity gemünzt. Details im Folgenden, Download unten, für eine Testvorführung einfach hier kommentieren ;)
Bisherige Funktionsweise
Der Kommentar wird live aktualisiert. Dafür wird unter den existierenden Kommentaren ein div-Container erstellt, sobald das Kommentarfeld fokussiert wird. Dort hinein kommt dann der Text. Wurde auf "Vorschau" gedrückt, wird der Container von Serendipity positioniert, vom Plugin danach weiter dort hinein geschrieben.
Bestehende Mankos
Bei der ersten Containerinitialisierung werden noch nicht die Daten richtig gesetzt - also Datum, die Positionsangabe, überhaupt die Position stimmt nicht. Auch stimmt die Formatierung nicht automatisch mit Serendipity überein: Es wird schlicht nach html formatiert, nicht nach den für Kommentare aktivierten Markups. Erst ein Druck auf "Vorschau"stellt den richtigen Zustand her, weiteres Tippen zerstört dann nur noch die Formatierung. Nach dem Speichern stimmt dann natürlich wieder alles.
Im Internen halte ich es für unschön, die jquery.js direkt mitzuliefern - wollte ein anderes Plugin diese ebenfalls nutzen, müsste es sie ebenfalls selbst bereitstellen. Hier wäre ein Abhängigkeitssystem wie bei dpkg schöner. Geht sowas?
Lösungsansätze
Idee 1: serendipity_event_reallivecomment.php könnte im frontend_header-event abfragen, welche Kommentar-Markups aktiviert sind. Diese müssten dann zwischengespeichert werden (globale javascript-Variablen? Oder in eine Datei speichern und die dann per java-applet auslesen?), sodass serendipity_event_reallivecomment.js entsprechend reagieren kann - also die Formatierung selbst vornehmen.
Vielleicht könnte serendipity_event_reallivecomment.js diese Liste direkt selbst abfragen?
Idee 2: Bei jedem mal Tippen einen Event auslösen oder es sonstwie an Serendipitys Formatierungsskripts übergen. Wäre das (ohne Nachladen) möglich, wäre das sicher schon gemacht worden - es wäre aber eine schöne Lösung.
Vielleicht hat ja jemand, der das hier liest, eine bessere Idee oder kann diese sinnvoll verbinden.
Download
serendipity_event_reallivecomment-0.1.tar.gz, als frühe Version mit Vorsicht zu genießen. jQuery ist in der aktuellen Version 1.2.6 enthalten und wird automatisch eingebunden. Das Plugin sollte von daher direkt nach dem Aktivieren funktionieren.
Update: Version 0.2 fügt Formatierungsunterstützung hinzu. Eine Liste unterstützter Markups gibt es hier.