htmldiff.rb
HTML ファイル同士を、行毎でなくワード毎に比較して、HTML で(ins, del タグを使って) 出力したかった。ので作った。
htmldiff.rb:
#!/usr/bin/env ruby require 'hiki/util' include Hiki::Util def usage STDERR.puts "Usage: #{$0} before.html after.html" end if __FILE__ == $0 if ARGV.size != 2 usage exit 1 end before = File.read ARGV.shift after = File.read ARGV.shift diff = word_diff_text(before, after) diff.gsub!(/(\[-)(.*?)(-\])/) { %Q|<del>#{$2}</del>| } diff.gsub!(/(\{\+)(.*?)(\+\})/) { %Q|<ins>#{$2}</ins>| } puts diff end
Hiki ラブ。 DocDiff ラブ。
hisashim さん ごめんなさい。奥まで見てなかったwww
こんな感じ
$ cat before.html <html> <body> <h1>Before</h1> text teXt text </body> </html> $ cat after.html <html> <body> <h1>After</h1> text teSt text </body> </html> $ ruby -I./hiki htmldiff.rb before.html after.html <html> <body> <del><h1>Before</h1></del><ins><h1>After</h1></ins> text <del>teXt </del><ins>teSt </ins>text </body> </html>
h1 タグのトコは見なかったことにする。