Nehmen Sie folgenden HTML-Code: <ruby>振<rt>ふ</rt>り<rt></rt>仮<rt>が</rt>名<rt>な</rt></ruby>
振り仮名
Das leere <rt></rt> ist hier sehr wichtig, da dies die korrekte Platzierung der Furigana über jedem Zeichen bewirkt. Das leere <rt></rt> nach り weist an, keine Furigana über dieses Zeichen zu setzen. Wie Sie oben sehen können, funktioniert dies wie erwartet.
Wenn ich diesen Text jedoch zitiere (nicht das vollständige Post-Zitat), lautet der resultierende HTML-Code: <ruby>振<rt>ふ</rt>り仮<rt>が</rt>名<rt>な</rt></ruby>
振り仮名
Da das leere <rt></rt> entfernt wurde, erscheint が nun über sowohl り als auch 仮, anstatt nur über 仮 wie im Originaltext. Das liegt daran, dass das System annimmt, が solle über alle vorhergehenden Zeichen seit dem letzten rt-Tag gesetzt werden.
Könnten Sie es, falls möglich, so aktualisieren, dass beim Zitieren rt-HTML-Tags auch dann kopiert werden, wenn sie leer sind?
Es sieht so aus, als wäre die korrekte Version der ersten Variante: <ruby><rb>振<rb><rt>ふ<rt>り<rb>仮<rb><rt>が<rb>名<rt>な</ruby>
振仮名
Im Vergleich zu: <ruby>振<rt>ふ</rt>り<rt></rt>仮<rt>が</rt>名<rt>な</rt></ruby>
振り仮名
Also ungefähr gleich lang. Ich habe den rb-Ansatz in der ersten Variante noch nie gesehen. Ich bin mir nicht sicher, ob diese Version allgemein verwendet wird. Sie wird jedoch korrekt zitiert. Trotzdem bin ich neugierig: Gibt es andere Fälle, in denen leere HTML-Tags beim Zitieren übernommen werden?
Ich baue ein Discourse-Plugin, das ein bestehendes markdown-it-Plugin für Ruby-Tags umschließt, und diese folgen dem traditionellen rt-Ansatz anstelle des rb + rt-Ansatzes. Leider führt das Zitieren in diesem einen speziellen Fall zu schlechtem HTML. Natürlich kann das passieren, wenn Leute das ruby-HTML manuell geschrieben haben. Ich bin nur zufällig durch das Plugin darauf aufmerksam geworden.