私は、テキストの変更だけでなく、HTML 構造の変更も強調する新しい diffing gem を見つけるか書きたいと思っていました。これが私の言いたいことの簡単な例です。
現在、ほとんどの diffing gem や algos は次のようなものになります:
a = "<p>I am some text</p>"
b = "<p>I was some text</p>"
MyDiffer.diff(a,b)
=> "<p>I <del>am</del><ins>was</ins> some text</p>"
ただし、HTML タグがスローされると、それらのほとんどは適切に考慮されません。私はこのようなものを見たいです:
a = "<p>I am <strong>some</strong> text</p>"
b = "<p>I was some text</p>"
MyDiffer.diff(a,b)
=> "<p>I <del>am</del><ins>was</ins> <del class='htmlchange'><strong>some</strong></del><ins class="htmlchange">some</ins></p>"
a = "<p>I am a sentence. I am another sentence.</p>"
b = "<p>I am a sentence.</p><p>I am another sentence.</p>"
MyDiffer.diff(a,b)
=> "<p>I am a sentence.<del class="htmlchange">I am another sentence</del></p><ins class="htmlchange"><p>I am another sentence</p></ins>"
このようなものがそこに存在しますか?そうでない場合、これらの線に沿って何かを構築する方法が完全にはわかりません. どんな助けでも大歓迎です。