Wir prüfen Discourse definitiv als Alternative zu unserer aktuellen Forensoftware – aus verschiedenen Gründen. Eine der größten Herausforderungen, die wir lösen müssen, ist der Umgang mit all dem BBCode, den wir auf unserer Seite unterstützen. Das lässt sich hier einsehen: Tutorial - RpNation - BBcode Guide | RpNation und hier: Tutorial - RpNation - BBCode+ Guide | RpNation
Wenn wir den vBulletin-BBCode-Plugin als Referenz betrachten, scheint es nicht allzu schwierig zu sein, Unterstützung für das, was wir bereits bieten, einfach hinzuzufügen. Wie in den Anleitungen zu sehen ist, verfügen wir über eine Vielzahl von benutzerdefiniertem BBCode – von einfachen Tags bis hin zu einem benutzerdefinierten div-BBCode, der es Nutzern im Wesentlichen ermöglicht, in sicherer Weise HTML zu verwenden. Dabei wird ein benutzerdefinierter ID-Selektor für den Beitrag generiert, und Nutzer können nichts außerhalb des Beitragscontainers ansprechen.
Dies hat es Nutzern über die Jahre ermöglicht, wirklich fantastische Beiträge zu erstellen. Hier ist ein kurzes Beispiel, das ich nur durch einen flüchtigen Blick gefunden habe:
Meine Frage ist also: Sollen wir dies als BBCode-Plugin umsetzen oder versuchen, eine sichere Methode zu entwickeln, mit der wir HTML-Selektoren wie bei unserem BBCode in Beiträgen isoliert halten können? Anschließend könnten wir diese Methode untersuchen und stattdessen anbieten.
Obwohl ich bei der Vorstellung, Nutzern die Verwendung von HTML zu erlauben, zusammenzucke.
Wir möchten den Nutzern die Möglichkeit geben, ihre Beiträge weiterhin formatieren zu können, gleichzeitig aber sicherstellen, dass alles sicher bleibt.
Ich bin überzeugt, dass sich alle deine benutzerdefinierten Stile wie Zeitung, Herausforderung und Seiten mit Generic bbcode wrapper for theme components und CSS umsetzen lassen.
Vieles davon ist in Discourse bereits integriert, etwa Code-Hervorhebung, Hoch- und Tiefstellung, zentrierte Blöcke, Tabellen, Zitate, Inline-Spoiler, Trennlinien, Überschriften und Medien-Einbettungen.
Oh nein. Das klingt furchtbar. Wir nutzen Cloudflare plus einen ordentlich leistungsstarken AMD Ryzen-Server. Für mich dauert das Laden aller Assets ohne Anmeldung etwa 2 Sekunden.
Das prüfen wir definitiv. Können wir also im Wesentlichen beliebiges HTML/CSS in einer Theme-Komponente hinzufügen und es dann über einen benutzerdefinierten BBCode-Tag aufrufen? [blah]Inhalt[/blah]?
In diesem Fall könnten wir also einige unserer Elemente mit folgendem Code nachbilden:
[wrap=bg bg=blue] oder [wrap=random-name newspaper=1]
Vielleicht ist es dennoch am besten, ein Format wie das des Plugins zu verwenden, damit eine große Menge an Inhalt nicht ihre Formatierung verliert. Außerdem wären mehrere optionale Argumente wünschenswert.
Vielleicht schaust du mal hier vorbei: Discourse BBCode. Ich denke, es sollte relativ einfach sein, Unterstützung für andere Codes hinzuzufügen (obwohl ich, ehrlich gesagt, Schwierigkeiten hatte, herauszufinden, wie man das macht…).
Hättest du nicht den gesamten Leitfaden in einen einzigen Beitrag packen und zu einem Wiki machen können, sobald du Lust hattest, etwas hinzuzufügen? Dass er auf mehrere Beiträge verteilt ist, macht ihn meiner Meinung nach viel schwerer zu lesen und zu verstehen und verschwendet zudem viel Platz.
Beachten Sie auch, dass Discourse standardmäßig einige eingeschränkte HTML-Tags überall im Beitragsinhalt unterstützt, nicht nur innerhalb eines speziellen Wrapper-Elements. Dieser Beitrag ist beispielsweise in einem <div align=justify> eingebettet. Leider beeinträchtigt dies einige der Inline-Formatierungen, sodass für jedes Element im Absatz HTML verwendet werden muss.
Dieser BBCode-Leitfaden befindet sich in einer anderen Forum-Software, die keine Wiki-Beiträge unterstützt.
Toll. Ich denke jedoch, wir bevorzugen es, es als BBCode zu belassen, den wir über die Erweiterung dieses einen Plugins hinzufügen, anstatt einen Weg zu finden, allen mehr HTML zu geben, das wir absichern müssen.
Wir haben festgestellt, dass das offizielle Discourse BBCode-Plugin schwieriger zu modifizieren war (aufgrund unserer geringen Fähigkeiten als Discourse-Plugin-Entwickler) als dieses hier:
[quote=“neounix, Beitrag: 10, Thema: 148941”]
Mein Vorschlag an alle ( @TheDarkWizard ), die benutzerdefinierte BBCodes erstellen möchten, ist, mit dem „Awesome BBCodes Plugin