Prendi il seguente HTML: <ruby>振<rt>ふ</rt>り<rt></rt>仮<rt>が</rt>名<rt>な</rt></ruby>
振り仮名
L’elemento vuoto <rt></rt> è molto importante qui, poiché è ciò che garantisce il posizionamento corretto delle furigana sopra ogni carattere. L’elemento vuoto <rt></rt> dopo り indica di non posizionare alcuna furigana sopra questo carattere. Come puoi vedere sopra, questo funziona come previsto.
Tuttavia, quando cito quel testo (non una citazione completa del post), l’HTML risultante è questo: <ruby>振<rt>ふ</rt>り仮<rt>が</rt>名<rt>な</rt></ruby>
振り仮名
Poiché l’elemento vuoto <rt></rt> è stato rimosso, la furigana が appare ora sopra sia り che 仮 invece che solo sopra 仮 come nel testo originale. Questo accade perché il sistema pensa che が debba essere posizionato sopra tutti i caratteri precedenti dall’ultimo tag rt.
Se possibile, potresti aggiornare la gestione dei tag HTML rt nelle citazioni in modo che vengano copiati anche quando sono vuoti?
Sembra che la versione corretta della prima sia: <ruby><rb>振<rb><rt>ふ<rt>り<rb>仮<rb><rt>が<rb>名<rt>な</ruby>
振仮名
Rispetto a: <ruby>振<rt>ふ</rt>り<rt></rt>仮<rt>が</rt>名<rt>な</rt></ruby>
振り仮名
Quindi più o meno della stessa lunghezza. In realtà non ho mai visto l’approccio con rb nella prima versione. Non sono sicuro che le persone usino generalmente quella versione. Tuttavia, le virgolette vengono riportate correttamente. Sono comunque curioso: ci sono altri casi in cui i tag HTML vuoti vengono copiati durante la citazione?
Sto sviluppando un plugin per Discourse che incapsula un plugin markdown-it esistente per i tag ruby, e questi seguono l’approccio tradizionale con rt invece di quello con rb + rt. Purtroppo, questo significa che la citazione in questo caso specifico produrrebbe HTML non valido. Ovviamente può succedere se qualcuno ha scritto manualmente l’HTML ruby. L’ho notato proprio grazie al plugin.