Ich habe kürzlich mein eigenes Discourse-Forum eingerichtet: https://crucible.hubbe.net/. Insgesamt bin ich sehr zufrieden damit. Die Community dreht sich um eine Arduino-ähnliche Platine, die hauptsächlich von Prop-Herstellern verwendet wird. Daher nutzen wir sehr viel vorlagenbasierten C+±Code. Insbesondere verwenden wir etwas, das wir „Style
Ich möchte auch darauf hinweisen, dass es bei großen Codeblöcken, die Benutzer manchmal einfügen, sehr schwierig sein kann, festzustellen, dass Teile in der Mitte fehlen. Zumindest wäre es besser, wenn unbekannte Tags in blinkende Warnzeichen oder eine ähnliche Anzeige umgewandelt würden, die den Nutzer darauf hinweist, dass etwas Unerwartetes passiert ist.
Weil ich bessere Dinge zu tun habe, als Katzen zu jagen?
Wenn es einen einfachen und einen richtigen Weg gibt, Dinge zu erledigen, werden die Leute immer den einfachen Weg wählen. Ich nehme an, wenn ich verhindern könnte, dass Leute StylePtr<>-Templates außerhalb von vorformatiertem Text verwenden, wären sie gezwungen, das Richtige zu tun. Aber wie mache ich das? (Außerdem fühlt sich das wie eine sehr drastische Lösung an, da sie auch völlig legitime Möglichkeiten, über StylePtr<>-Templates zu sprechen, verhindern könnte.)
Meine aktuelle Lösung, um StylePtr<>-Templates mit linkify zu verlinken, funktioniert auch nicht in vorformatiertem Text, da das DOM sehr unterschiedlich ist. Das ist jedoch ein kleines Problem, das ich wahrscheinlich mit ein wenig Programmierung beheben kann.
Vielleicht. Ich denke, ich würde dieses Muster verwenden, um automatisch Backticks hinzuzufügen, falls sie fehlen, und dann einen Post-Cooking-Callback für die Verlinkung nutzen. Soweit ich weiß, gibt es keine andere Möglichkeit, einen Link mitten in vorformatierten Text einzufügen.
Es ist die beste Lösung, Benutzer zu ermutigen, Backticks für Inline-Code und drei Backticks für Code-Blöcke zu verwenden. Vielleicht erstellen Sie dazu ein angeheftetes Thema in Ihrem Forum?
Das Theme-Komponente für die Erkennung von nicht formatiertem Code wirkt vielversprechend. Dann muss ich nur noch eine Theme-Komponente erstellen, die das Verlinken innerhalb von vorformatiertem Code übernimmt – was ich ohnehin vorhatte. Ich werde das definitiv ausprobieren.
Es stellt sich heraus, dass ich nur die Unterstützung für reguläre Ausdrücke über mehrere Zeilen im Linkify-Modul aktivieren musste, damit es so funktioniert, wie ich es mir gewünscht habe. Ich denke also, dass alles in Ordnung ist, vorausgesetzt, die Leute achten tatsächlich auf den Detektor für nicht formatierten Code.