다음과 같은 HTML을 고려해 보세요: <ruby>振<rt>ふ</rt>り<rt></rt>仮<rt>が</rt>名<rt>な</rt></ruby>
振り仮名
여기서 빈 <rt></rt> 태그는 매우 중요합니다. 이를 통해 각 문자 위에 furigana(가나 음독 표기)가 올바르게 배치됩니다. り 뒤에 있는 빈 <rt></rt> 태그는 해당 문자 위에 furigana를 배치하지 말라는 의미입니다. 위에서 볼 수 있듯이 이는 예상대로 작동합니다.
하지만 해당 텍스트를 인용(전체 인용이 아닌 경우)하면 결과 HTML은 다음과 같습니다: <ruby>振<rt>ふ</rt>り仮<rt>が</rt>名<rt>な</rt></ruby>
振り仮名
빈 <rt></rt> 태그가 제거되었기 때문에, が는 원래 텍스트처럼 仮 위에만 표시되는 것이 아니라 り와 仮 모두 위에 표시됩니다. 이는 시스템이 가이(が)가 마지막 rt 태그 이후의 모든 앞선 문자 위에 배치되도록 의도된 것으로 간주하기 때문입니다.
가능하다면, rt HTML 태그가 비어 있더라도 인용 시에 복사되도록 업데이트해 주실 수 있을까요?
첫 번째 항목의 올바른 버전은 다음과 같아 보입니다: <ruby><rb>振<rb><rt>ふ<rt>り<rb>仮<rb><rt>가<rb>名<rt>나</ruby>
振仮名
다음과 비교해 보면: <ruby>振<rt>ふ</rt>り<rt></rt>仮<rt>が</rt>名<rt>な</rt></ruby>
振り仮名
즉, 길이는 거의 같습니다. 사실 첫 번째 항목에서 rb 방식을 사용한 것은 실제로 본 적이 없습니다. 사람들이 일반적으로 그 버전을 사용하는지 확신할 수 없습니다. 그래도 인용은 올바르게 처리됩니다. 하지만 여전히 궁금한 점이 있습니다. 인용 시 빈 HTML 태그가 복사되는 다른 경우가 있을까요?
저는 기존 markdown-it 플러그인을 감싸는 Discourse 플러그인을 개발하고 있는데, 이 플러그인은 rb + rt 방식 대신 전통적인 rt 방식을 따릅니다. 불행히도 이로 인해 이 특정 경우의 인용이 잘못된 HTML을 생성하게 됩니다. 물론 사람들이 ruby HTML을 수동으로 작성한 경우에도 발생할 수 있습니다. 플러그인에서 우연히 발견하게 된 것입니다.