Rotierender Komponisten-Platzhalter

| |
|—|—|—|
| :discourse2: | Zusammenfassung | Rotating Composer Placeholder fügt dynamischen, rotierenden Platzhaltertext in den Discourse-Composer ein und zeigt jedes Mal, wenn der Composer geöffnet wird, eine andere Aufforderung an.
| :hammer_and_wrench: | Repository-Link | https://github.com/Ethsim12/discourse-rotating-composer-placeholder
| :open_book: | Neu bei Discourse-Themen? | Anfängerleitfaden zur Verwendung von Discourse-Themen

Dieses Theme-Komponente installieren

Funktionen

  • Rotiert den Platzhaltertext des Compoers jedes Mal, wenn der Composer geöffnet wird
  • Funktioniert für:
    • Antworten
    • Composer für neue Themen
  • Vollständig konfigurierbar über Theme-Komponenteneinstellungen
  • Kein Plugin erforderlich
  • Nur clientseitig (sicher und leichtgewichtig)
  • Verwendet moderne api-initializers

Installation

  1. Gehen Sie in der Discourse-Administration zu:
    Admin → Erscheinungsbild → Themen & Komponenten → Komponenten → 3 Punkte

  2. Klicken Sie auf Installieren.

  3. Wählen Sie Aus einem Git-Repository.

  4. Fügen Sie diese Repository-URL ein und klicken Sie auf Installieren.

Aktivieren der Theme-Komponente

Das Installieren einer Theme-Komponente aktiviert sie nicht automatisch.
Sie müssen sie an ein Thema anhängen.

  1. Gehen Sie zu:
    Admin → Erscheinungsbild → Themen & Komponenten → Komponenten → Rotating Composer Placeholder

  2. Klicken Sie auf Ihr aktives Thema
    (z. B. „Standard“, „Desktop“ oder Ihr benutzerdefiniertes Thema).

  3. Drücken Sie das grüne Häkchen.

  4. Aktualisieren Sie Ihren Browser.

Sobald aktiviert, wird die Komponente sofort auf dieses Thema angewendet.

Konfigurieren der Komponente

  1. Bleiben Sie auf der Seite der Theme-Komponente.

  2. Bearbeiten Sie die Liste rotating_placeholders.

Beispielwerte:

  • „Was haben Sie versucht? Fügen Sie Schritte zur Reproduktion hinzu.“
  • „Eine Idee pro Antwort. Wenn es sich um ein neues Problem handelt, starten Sie ein neues Thema.“
  • „Bitte angeben: erwartetes Ergebnis, tatsächliches Ergebnis und alle Fehler.“
  • „Tipp: Fügen Sie Protokolle in drei Backticks ein.“

Hinweise:

  • Jeder Listeneintrag wird zu einem möglichen Platzhalter.
  • Leere Einträge werden ignoriert.
  • Ist die Liste leer, wird ein Standardplatzhalter verwendet.

Bekannte Einschränkungen

  • Nur UI-Verbesserung
  • Beeinflusst nicht den Beitragsinhalt
  • Der Platzhalter rotiert beim Öffnen des Compoers
  • Zukünftige Refaktorierungen des Compoers erfordern möglicherweise kleinere Anpassungen der Selektoren

Kompatibilität

  • Entwickelt für moderne Discourse-Versionen
  • Empfohlenes Minimum: Discourse 3.2+
  • Verwendet nur unterstützte Theme-APIs
4 „Gefällt mir“

Können Sie Anwendungsfallbeispiele teilen?

1 „Gefällt mir“

Ich denke, die Beispiele demonstrieren den Anwendungsfall gut. Es gibt viele Dinge zu beachten, wenn man eine Nachricht zusammenstellt. Wenn Sie nur eine einfügen, wird sie bald ignoriert. Wenn Sie alle einfügen, wird niemand eine davon lesen. Jedes Mal eine andere einzufügen, erhöht die Wahrscheinlichkeit, dass jemand eine davon liest und berücksichtigt.

Sie könnten auch lustige Ostereier einbauen.

4 „Gefällt mir“

Oh, stimmt, ich habe die Beispiele gar nicht gesehen.

Game of Thrones: The Walk of Shame

3 „Gefällt mir“

Danke! Ein netter Bonus, den ich festgestellt habe, ist, dass die Komponente auch sauber mit dem Rich-Text-Composer funktioniert – der Platzhalter rotiert dort immer noch korrekt.

Da sie sich in den Composer-Lebenszyklus und nicht in editor-spezifische Interna einklinkt, ist sie nicht auf Markdown-spezifische Selektoren angewiesen, was die Kompatibilität über die Composer-Modi hinweg gewährleistet.

Sollte Discourse den Editor in Zukunft erneut umstrukturieren, sollte dies hoffentlich die Angriffsfläche für Fehler recht klein halten.

1 „Gefällt mir“

Eigentlich möchte ich das verwenden, um sie in einem meiner Foren ALLE lustig zu machen…

“WAS IST LOS MIT DIR? KANNST DU NICHT LESEN???”
“Was ist der Unterschied zwischen jemandem, der nicht sucht, bevor er postet, und einem faulen Arsch?”
“Wenn Sie einen Fehler melden, stellen Sie bitte zuerst sicher, dass es sich nicht um eine Spinne handelt.”
“Was ist die Fluggeschwindigkeit einer unbeladenen Schwalbe?”

5 „Gefällt mir“

Gern geschehen! :slightly_smiling_face:

Kategoriespezifische Platzhalter sind eine wirklich schöne Idee – ich kann mir vorstellen, dass sie besonders nützlich für die Kategorien „Support / Bug“ im Vergleich zu „Allgemeiner Chat“ sind, bei denen die Aufforderungen, die Benutzer sehen sollen, völlig unterschiedlich sind.

Implementierungstechnisch liefert der Composer-Kontext normalerweise genügend Signale, um dies sauber umzusetzen:

  • Neues Thema: Schlüsselung basierend auf der ausgewählten categoryId im Composer-Modell
  • Antwort: Ableitung der Kategorie aus dem Themenkontext

Ein möglicher v1 könnte also so aussehen:

  • Eine Theme-Einstellung, die category_id auf eine Platzhalterliste abbildet
  • Rückgriff auf die globalen rotating_placeholders, wenn keine Kategorieübereinstimmung gefunden wird

Wenn Sie sich an die bestehende Komponente erinnern, an die Sie gedacht haben, würde ich mich über einen Link freuen – ansonsten füge ich dies gerne hier als Funktionsanfrage hinzu und prüfe das Interesse (und vermeide Doppelarbeit, falls es bereits existiert).

Außerdem ist Ihre „ALLE lustig“-Liste genau die Art von chaotisch gut, die ich im Sinn hatte :joy:

(Ich würde wahrscheinlich trotzdem ein paar ernste hinzufügen, damit sich ab und zu eine nützliche Erinnerung einschleicht!)

Es gibt Topic Template Placeholder Text theme component, wo Sie die Kategorievorlage als Platzhalter verwenden können

2 „Gefällt mir“

Danke! Das ist ein wirklich hilfreicher Link.

Diese Komponente („Topic Template Placeholder Text“) macht etwas anderes als diese hier: Sie verwendet die Kategorie-Themenvorlage als Platzhalter (der Platzhalter ist also kategoriespezifisch, aber es ist im Wesentlichen der Inhalt der Vorlage).

Diese Theme-Komponente durchläuft jedes Mal, wenn der Composer geöffnet wird, eine Liste kurzer Eingabeaufforderungen (und sie gilt sowohl für Antworten als auch für neue Themen). „Kategoriespezifische Platzhalter“ könnten hier also immer noch eine nützliche Ergänzung sein, wenn wir rotierende Listen pro Kategorie mit einem Fallback auf die globale Liste wünschen – insbesondere für „Support/Bug“ im Vergleich zu „Allgemeiner Chat“.

Aber wenn das Ziel jemandem speziell „meine Kategorievorlage als Platzhalter anzeigen“ ist, löst diese andere TC das bereits schön.