Rotierender Composer-Platzhalter

||||\n-|-|-|\n:discourse2: | Zusammenfassung | Rotating Composer Placeholder fügt dem Discourse-Komponisten dynamischen, rotierenden Platzhaltertext hinzu, der bei jedem Öffnen des Komponisten eine andere Eingabeaufforderung anzeigt.\n:hammer_and_wrench: | Repository-Link | \u003chttps://github.com/Ethsim12/discourse-rotating-composer-placeholder\u003e\n:open_book: | Neu bei Discourse-Themes? | Anfängerleitfaden zur Verwendung von Discourse-Themes\n\n[wrap=theme-install-button repoUrl="https://github.com/Ethsim12/discourse-rotating-composer-placeholder/tree/main\" repoName="Rotating Composer Placeholder"]\nInstallieren Sie diese Theme-Komponente\n[/wrap]\n\n[quote]\nDa dies eine inoffizielle Theme-Komponente ist, die von mir gepflegt wird, können \n#support, Bug, UX und #feature-anfragen in diesem Thema hier auf Meta gestellt werden.\n\n[/quote]\n\n—\n\n### Funktionen\n\n- Rotiert den Platzhaltertext des Komponisten bei jedem Öffnen des Komponisten\n- Funktioniert für:\n - Antworten\n - Neuen Themen-Komponisten\n- Vollständig konfigurierbar über Theme-Komponenten-Einstellungen\n- Kein Plugin erforderlich\n- Nur Client-seitig (sicher und leichtgewichtig)\n- Verwendet moderne api-initializers\n\n—\n\n## Installation\n\n1. Gehen Sie in der Discourse-Administration zu: \n Admin → Erscheinungsbild → Themes & Komponenten → Komponenten → 3 Punkte\n\n2. Klicken Sie auf Installieren.\n\n3. Wählen Sie Aus einem Git-Repository.\n\n4. Fügen Sie diese Repository-URL ein und klicken Sie auf Installieren.\n\n—\n\n## Aktivieren Sie die Theme-Komponente\n\nDie Installation einer Theme-Komponente aktiviert sie nicht automatisch. \nSie müssen sie einem Theme zuordnen.\n\n1. Gehen Sie zu: \n Admin → Erscheinungsbild → Themes & Komponenten → Komponenten → Rotating Composer Placeholder\n\n2. Klicken Sie auf Ihr aktives Theme \n (zum Beispiel: „Standard“, „Desktop“ oder Ihr benutzerdefiniertes Theme).\n\n3. Drücken Sie die grüne Häkchen-Box.\n\n4. Aktualisieren Sie Ihren Browser.\n\nSobald sie aktiviert ist, wird die Komponente sofort auf dieses Theme angewendet.\n\n—\n\n## Konfigurieren Sie die Komponente\n\n1. Immer noch auf der Seite der Theme-Komponente.\n\n2. Bearbeiten Sie die Liste rotating_placeholders.\n\nBeispielwerte:\n\n- Was haben Sie versucht? Fügen Sie Schritte zur Reproduktion hinzu.\n- Eine Idee pro Antwort. Wenn es sich um ein neues Problem handelt, starten Sie ein neues Thema.\n- Bitte geben Sie an: erwartetes Ergebnis, tatsächliches Ergebnis und alle Fehler.\n- Tipp: Fügen Sie Protokolle in ```dreifache Backticks``` ein.\n\nAnmerkungen:\n\n- Jeder Listeneintrag wird zu einem möglichen Platzhalter.\n- Leere Einträge werden ignoriert.\n- Wenn die Liste leer ist, wird ein Standard-Platzhalter verwendet.\n\n—\n\n### Bekannte Einschränkungen\n\n- Nur UI-Verbesserung\n- Hat keinen Einfluss auf den Post-Inhalt\n- Der Platzhalter rotiert, wenn der Komponist geöffnet wird\n- Zukünftige Komponisten-Refactorings erfordern möglicherweise geringfügige Selektor-Updates\n\n—\n\n### Kompatibilität\n\n- Entwickelt für moderne Discourse-Versionen\n- Empfohlenes Minimum: Discourse 3.2+\n- Verwendet nur unterstützte Theme-APIs\n\n\u003cbr\u003e\n\n\u003e:discourse2: Gehostet von discourse.org? \nTheme-Komponenten sind in den Plänen Discourse Standard, Business und Enterprise verfügbar.\n\n-------------------------"

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.