「MediaWiki:Gadget-PrettyDiff.js」の版間の差分
版間の差分をdiff-match-patchで表示する |
編集の要約なし |
||
| (他の1人の利用者による、間の1版が非表示) | |||
| 1行目: | 1行目: | ||
var DMP_JS_URL = ' | var DMP_JS_URL = 'https://cdnjs.cloudflare.com/ajax/libs/diff_match_patch/20121119/diff_match_patch.js'; | ||
function diff_prettyHtml(a) { | function diff_prettyHtml(a) { | ||
| 25行目: | 25行目: | ||
function prettyDiff() { | function prettyDiff() { | ||
var $table = $(this); | var $table = $(this); | ||
if ($table. | if ($table.find('> tbody > tr.pretty-diff').length > 0) return; | ||
var dmp = new diff_match_patch(); | var dmp = new diff_match_patch(); | ||
var $lineno = $table.find('> tbody > tr:has(.diff-lineno)'); | var $lineno = $table.find('> tbody > tr:has(.diff-lineno)'); | ||
| 37行目: | 36行目: | ||
.map(function() { return $(this).text(); }).get().join('\n'); | .map(function() { return $(this).text(); }).get().join('\n'); | ||
$('<tr/>') | $('<tr class="pretty-diff"/>') | ||
.append('<td colspan="4" style="border: 1px solid #e6e6e6;">' + | .append('<td colspan="4" style="border: 1px solid #e6e6e6;">' + | ||
diff_prettyHtml(dmp.diff_main(oldStr, newStr)) + | diff_prettyHtml(dmp.diff_main(oldStr, newStr)) + | ||