<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://70.231.62.181/index.php?action=history&amp;feed=atom&amp;title=MyWiki%3AWikiProject_User_scripts%2FScripts%2FSingle_column_diffs</id>
	<title>MyWiki:WikiProject User scripts/Scripts/Single column diffs - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://70.231.62.181/index.php?action=history&amp;feed=atom&amp;title=MyWiki%3AWikiProject_User_scripts%2FScripts%2FSingle_column_diffs"/>
	<link rel="alternate" type="text/html" href="http://70.231.62.181/index.php?title=MyWiki:WikiProject_User_scripts/Scripts/Single_column_diffs&amp;action=history"/>
	<updated>2026-04-22T14:50:56Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>http://70.231.62.181/index.php?title=MyWiki:WikiProject_User_scripts/Scripts/Single_column_diffs&amp;diff=6018920&amp;oldid=prev</id>
		<title>imported&gt;Flyguy649: Protected Wikipedia:WikiProject User scripts/Scripts/Single column diffs: javascript page outside user space [edit=sysop:move=sysop]</title>
		<link rel="alternate" type="text/html" href="http://70.231.62.181/index.php?title=MyWiki:WikiProject_User_scripts/Scripts/Single_column_diffs&amp;diff=6018920&amp;oldid=prev"/>
		<updated>2007-10-25T18:24:13Z</updated>

		<summary type="html">&lt;p&gt;Protected Wikipedia:WikiProject User scripts/Scripts/Single column diffs: javascript page outside user space [edit=sysop:move=sysop]&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;//&amp;lt;pre&amp;gt;&lt;br /&gt;
// By User:Pile0nades.&lt;br /&gt;
// Makes the diff page display as a single column, instead of two.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook(function(){&lt;br /&gt;
// ==UserScript==&lt;br /&gt;
// @name           Wikipedia single column diffs&lt;br /&gt;
// @namespace      http://mywebsite.com/myscripts&lt;br /&gt;
// @description    Make Wikipedia diff pages read like patch-format diffs, only one column needed&lt;br /&gt;
// @include        http://en.wikipedia.org/w/index.php?*&amp;amp;diff=*&lt;br /&gt;
// ==/UserScript==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// remove the header for the previous revision, and add the next/prev links to the second header&lt;br /&gt;
var prevHeader = get(&amp;quot;//table[@class=&amp;#039;diff&amp;#039;][1]/tbody/tr[1]/td[@class=&amp;#039;diff-otitle&amp;#039;]&amp;quot;);&lt;br /&gt;
var nextHeader = get(&amp;quot;//table[@class=&amp;#039;diff&amp;#039;][1]/tbody/tr[1]/td[@class=&amp;#039;diff-ntitle&amp;#039;]&amp;quot;);&lt;br /&gt;
var oldedit = get(&amp;quot;//table[@class=&amp;#039;diff&amp;#039;][1]/tbody/tr[1]/td[@class=&amp;#039;diff-otitle&amp;#039;]/a[@id=&amp;#039;differences-prevlink&amp;#039;]&amp;quot;);&lt;br /&gt;
var newedit = get(&amp;quot;//table[@class=&amp;#039;diff&amp;#039;][1]/tbody/tr[1]/td[@class=&amp;#039;diff-ntitle&amp;#039;]/a[@id=&amp;#039;differences-nextlink&amp;#039;]&amp;quot;);&lt;br /&gt;
for(var i = 0; i &amp;lt; prevHeader.snapshotLength; i++) {&lt;br /&gt;
  if(oldedit.snapshotLength != 0) {&lt;br /&gt;
    nextHeader.snapshotItem(i).appendChild(oldedit.snapshotItem(0));&lt;br /&gt;
  }&lt;br /&gt;
  if(oldedit.snapshotLength != 0 &amp;amp;&amp;amp; newedit.snapshotLength != 0) {&lt;br /&gt;
    nextHeader.snapshotItem(i).appendChild(document.createTextNode(&amp;quot; | &amp;quot;));&lt;br /&gt;
  }&lt;br /&gt;
  if(newedit.snapshotLength != 0) {&lt;br /&gt;
    nextHeader.snapshotItem(i).appendChild(newedit.snapshotItem(0));&lt;br /&gt;
  }&lt;br /&gt;
  remove(prevHeader.snapshotItem(i));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// clone rows where the line changed but wasn&amp;#039;t added/deleted, and delete where appropriate&lt;br /&gt;
var changedLines = get(&amp;quot;//table[@class=&amp;#039;diff&amp;#039;][1]/tbody/tr/td[@class=&amp;#039;diff-addedline&amp;#039; and position()=4]/../td[@class=&amp;#039;diff-deletedline&amp;#039; and position()=2]&amp;quot;)&lt;br /&gt;
for(var i = 0; i &amp;lt; changedLines.snapshotLength; i++) {&lt;br /&gt;
  var cell = changedLines.snapshotItem(i);&lt;br /&gt;
&lt;br /&gt;
  cell.parentNode.parentNode.insertBefore(&lt;br /&gt;
    cell.parentNode.cloneNode(true),&lt;br /&gt;
    cell.parentNode&lt;br /&gt;
  );&lt;br /&gt;
&lt;br /&gt;
  remove(cell.previousSibling.previousSibling);&lt;br /&gt;
  remove(cell);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// delete blank cells in the first column to move the added lines into the first column&lt;br /&gt;
var blankcells = get(&amp;quot;//table[@class=&amp;#039;diff&amp;#039;][1]/tbody/tr/td[1]&amp;quot;);&lt;br /&gt;
for(var i = 0; i &amp;lt; blankcells.snapshotLength; i++) {&lt;br /&gt;
  if(blankcells.snapshotItem(i).innerHTML == &amp;quot;&amp;amp;nbsp;&amp;quot;) {&lt;br /&gt;
    remove(blankcells.snapshotItem(i));&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// delete everything past the second td in each column&lt;br /&gt;
var waste = get(&amp;quot;//table[@class=&amp;#039;diff&amp;#039;][1]/tbody/tr/td[2]&amp;quot;);&lt;br /&gt;
for(var i = 0; i &amp;lt; waste.snapshotLength; i++) {&lt;br /&gt;
  while(waste.snapshotItem(i).nextSibling) {&lt;br /&gt;
    remove(waste.snapshotItem(i).nextSibling);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// delete the 2nd line number cell in each column&lt;br /&gt;
var line = get(&amp;quot;//table[@class=&amp;#039;diff&amp;#039;][1]/tbody/tr/td[@class=&amp;#039;diff-lineno&amp;#039;][1]&amp;quot;);&lt;br /&gt;
for(var i = 0; i &amp;lt; line.snapshotLength; i++) {&lt;br /&gt;
  remove(line.snapshotItem(i));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// delete the extra cols&lt;br /&gt;
var cols = get(&amp;quot;//table[@class=&amp;#039;diff&amp;#039;][1]/col&amp;quot;);&lt;br /&gt;
for(var i = 0; i &amp;lt; cols.snapshotLength; i++) {&lt;br /&gt;
  var col = cols.snapshotItem(i);&lt;br /&gt;
  if(col.className == &amp;quot;diff-content&amp;quot;) {&lt;br /&gt;
    col.style.width = &amp;quot;98%&amp;quot;;&lt;br /&gt;
    col.removeAttribute(&amp;quot;class&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  if(i &amp;gt; 1) remove(col);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// shorthand function to remove nodes&lt;br /&gt;
function remove(node) {&lt;br /&gt;
  node.parentNode.removeChild(node);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// xpath function&lt;br /&gt;
function get(query) {&lt;br /&gt;
  return document.evaluate(&lt;br /&gt;
    query,&lt;br /&gt;
    document,&lt;br /&gt;
    null,&lt;br /&gt;
    XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,&lt;br /&gt;
    null&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
});&lt;br /&gt;
//&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>imported&gt;Flyguy649</name></author>
	</entry>
</feed>