Kommentarformat-Unterstützung
Sie können Ihrem Kommentar verschiedene Inhalte hinzufügen, einschließlich erweiterter Markdown-Syntax und HTML-Tags.
Format-Unterstützung
Wir unterstützen die vollständige CommonMark (Standard-Markdown-Syntax) zusammen mit den folgenden Erweiterungen:
- GFM-Stil-Tabelle
- GFM-Stil durchgestrichen
- Tiefgestellt und hochgestellt
- Emoji
- Codeblock-Hervorhebung
-Formel
GFM
Github Flavored Markdown
In der Zwischenzeit können Sie jeden HTML-Inhalt frei einbetten, ohne den Schutzmechanismus auszulösen.
Eingeschränkte Vorschau-Unterstützung
Um die Größe des Clients zu kontrollieren, platzieren wir nur einen kleinen Markdown-Parser im offiziellen Client @waline/client, was dazu führt, dass viele Grammatiken im Vorschaufenster nicht korrekt angezeigt werden (sie können im Kommentarbereich korrekt gerendert werden).
Dies umfasst die folgenden Einschränkungen:
Standard-Emoji-Syntax (z. B. 🎉
:tada:) wird nicht korrekt gerendertDie oberen und unteren Indizes (z. B.:
H~2~O,x^2^) können nicht korrekt gerendert werden -Syntax, d. h. mathematische Formeln (z. B.:$a = 1$) können standardmäßig nicht gerendert werden.Bei Verwendung des offiziellen Clients können Sie das
-Rendering in der Vorschau anpassen, indem Sie die OptiontexRendererfestlegen. Siehe Kochbuch → Verwenden Sie einen benutzerdefinierten -Renderer.Unter dem Standard-Highlighter werden Codeblöcke mit zufälligen Farben mit spezifischen Trennzeichen hervorgehoben.
Bei Verwendung des offiziellen Clients können Sie die Code-Hervorhebung bei der Vorschau anpassen, indem Sie die Option
highlighterfestlegen. Siehe Kochbuch → Benutzerdefinierte Code-Hervorhebung.
Mehr
Prinzip
Der Client verwendet
markedzum Rendern unter Berücksichtigung der Paketgröße und verwendet standardmäßig einen < 1kb Highlighter zum Hervorheben und enthält keinen -Renderer, was zu den oben genannten Einschränkungen führt.Wenn ein Benutzer einen Kommentar sendet, bettet der Client ein benutzerdefiniertes Emoji-Bild ein und sendet den ursprünglichen Kommentar an den Server.
Der Server empfängt den Originaltext, verwendet
markdown-it, um Markdown mit relevanten Plugins korrekt zu rendern, verwendetprismjs, um Codeblöcke gemäß der Sprache hervorzuheben, und führt -Rendering gemäß den Benutzereinstellungen durch und führt schließlich eine XSS-Verarbeitung durch.Nach Abschluss der Verarbeitung speichert der Server den korrekten Rendering-Inhalt und gibt ihn bei Bedarf an den Client zurück, um die normale Anzeige des Kommentarbereichs sicherzustellen.
