User:Þjarkur/CleanDiffURLs.js

/* Gives clean diff URLs Turns this: /w/index.php?title=Main_Page&diff=864711889&oldid=864629150&diffmode=source Into this: /wiki/Special:Diff/864629150/864711889 (function {  setTimeout(function  { // Timeout to remove "&diffmode=source" which is added later var url = new URL(window.location.href) var oldid = url.searchParams.get("oldid") var diff = url.searchParams.get("diff") var hash = window.location.hash.substr(1) ? '#'+window.location.hash.substr(1) : '' var output

if (oldid && !diff) { output = 'Special:Permalink/' + oldid } else if (oldid && diff === 'prev') { output = 'Special:Diff/' + oldid } else if (diff && oldid) { output = 'Special:Diff/' + oldid + '/' + diff }

if (output) { window.history.replaceState({}, '', '/wiki/' + output + hash) } }, 50) })