<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://linguifex.com/w/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-DefinitionsAdder.js</id>
	<title>MediaWiki:Gadget-DefinitionsAdder.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://linguifex.com/w/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-DefinitionsAdder.js"/>
	<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=MediaWiki:Gadget-DefinitionsAdder.js&amp;action=history"/>
	<updated>2026-04-05T08:11:32Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://linguifex.com/w/index.php?title=MediaWiki:Gadget-DefinitionsAdder.js&amp;diff=475161&amp;oldid=prev</id>
		<title>Sware: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=MediaWiki:Gadget-DefinitionsAdder.js&amp;diff=475161&amp;oldid=prev"/>
		<updated>2025-11-04T17:55:21Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:55, 4 November 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Sware</name></author>
	</entry>
	<entry>
		<id>https://linguifex.com/w/index.php?title=MediaWiki:Gadget-DefinitionsAdder.js&amp;diff=475160&amp;oldid=prev</id>
		<title>wikt&gt;Surjection at 09:11, 12 September 2025</title>
		<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=MediaWiki:Gadget-DefinitionsAdder.js&amp;diff=475160&amp;oldid=prev"/>
		<updated>2025-09-12T09:11:56Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;// This script adds an &amp;quot;Add definition&amp;quot; button to the toolbox section of the sidebar.&lt;br /&gt;
window.bodyContent = document.getElementById(&amp;#039;bodyContent&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
if (mw.config.get(&amp;quot;wgNamespaceNumber&amp;quot;) === 0 &amp;amp;&amp;amp; mw.config.get(&amp;quot;wgCurRevisionId&amp;quot;) &amp;amp;&amp;amp; mw.config.get(&amp;quot;wgAction&amp;quot;) == &amp;quot;view&amp;quot; &amp;amp;&amp;amp; !/&amp;amp;printable=yes|&amp;amp;diff=|&amp;amp;oldid=/.test(window.location.search)) {&lt;br /&gt;
	$(function() {&lt;br /&gt;
		mw.util.addPortletLink(&amp;#039;p-tb&amp;#039;, &amp;#039;javascript:addDefinition()&amp;#039;, &amp;#039;Add definition&amp;#039;);&lt;br /&gt;
	});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var definitionHover, tempDefinitionText;&lt;br /&gt;
&lt;br /&gt;
window.setUpBoxToBeAdded = function() {&lt;br /&gt;
	bodyContent.appendChild(currentBoxToBeAdded);&lt;br /&gt;
	document.onmousemove =&lt;br /&gt;
		function(e) {&lt;br /&gt;
			e = e || event;&lt;br /&gt;
			currentBoxToBeAdded.style.left = e.clientX + 2 + &amp;#039;px&amp;#039;;&lt;br /&gt;
			currentBoxToBeAdded.style.top = e.clientY + 2 + &amp;#039;px&amp;#039;;&lt;br /&gt;
		};&lt;br /&gt;
	document.body.style.cursor = &amp;#039;move&amp;#039;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
window.addDefinition = function() {&lt;br /&gt;
	var instructions = &amp;quot;Type in your definition, drag it to where it should be placed, and click there to place it.&amp;quot;,&lt;br /&gt;
		temp;&lt;br /&gt;
&lt;br /&gt;
	window.currentBoxToBeAdded = $(&amp;#039;&amp;lt;input&amp;gt;&amp;#039;, {&lt;br /&gt;
			size: 100&lt;br /&gt;
		})&lt;br /&gt;
		.on(&amp;quot;blur&amp;quot;, function() {&lt;br /&gt;
			if (definitionHover) {&lt;br /&gt;
				addDefinition2(definitionHover, currentBoxToBeAdded.lastChild.lastChild.value.replace(instructions, &amp;#039;&amp;#039;));&lt;br /&gt;
			} else {&lt;br /&gt;
				tempDefinitionText = currentBoxToBeAdded.lastChild.lastChild.value.replace(instructions, &amp;#039;&amp;#039;);&lt;br /&gt;
			}&lt;br /&gt;
			bodyContent.removeChild(currentBoxToBeAdded);&lt;br /&gt;
			document.onmousemove = null;&lt;br /&gt;
			document.body.style.cursor = &amp;#039;&amp;#039;;&lt;br /&gt;
			for (var ols = document.getElementsByTagName(&amp;#039;ol&amp;#039;), i = 0; i &amp;lt; ols.length; i++) {&lt;br /&gt;
				for (var lis = ols[i].getElementsByTagName(&amp;#039;li&amp;#039;), ii = 0; ii &amp;lt; lis.length; ii++) {&lt;br /&gt;
					if (lis[ii].parentNode == ols[i]) {&lt;br /&gt;
						lis[ii].onmouseover = lis[ii].onmouseout = null;&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}).val(tempDefinitionText || &amp;quot;&amp;quot;)&lt;br /&gt;
		.appendTo($(&amp;quot;&amp;lt;nobr&amp;gt;Definition: &amp;lt;/nobr&amp;gt;&amp;quot;)).parent()&lt;br /&gt;
		.appendTo($(&amp;#039;&amp;lt;div&amp;gt;&amp;#039;, {&lt;br /&gt;
			style: &amp;#039;border: 1px solid var(--wikt-palette-black,#000000);&amp;#039; +&lt;br /&gt;
				&amp;#039;position:fixed; left:200px; top:500px; z-index:5;&amp;#039; +&lt;br /&gt;
				&amp;#039;padding:10px; background-color:var(--wikt-palette-white,#FFFFFF);&amp;#039;&lt;br /&gt;
		})).parent()[0];&lt;br /&gt;
&lt;br /&gt;
	setUpBoxToBeAdded();&lt;br /&gt;
	temp = currentBoxToBeAdded.lastChild.lastChild;&lt;br /&gt;
	temp.focus();&lt;br /&gt;
	if (!temp.value) {&lt;br /&gt;
		temp.value = instructions;&lt;br /&gt;
		temp.style.color = &amp;quot;#AAA&amp;quot;;&lt;br /&gt;
		temp.onkeydown = function() {&lt;br /&gt;
			this.style.color = &amp;quot;#000&amp;quot;;&lt;br /&gt;
			this.value = &amp;#039;&amp;#039;;&lt;br /&gt;
			this.onkeydown = null;&lt;br /&gt;
		};&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	$(&amp;quot;#mw-content-text&amp;quot;).on(&amp;quot;mouseover&amp;quot;, &amp;quot;ol &amp;gt; li&amp;quot;, function() {&lt;br /&gt;
		this.style.borderBottom = &amp;#039;1px solid #000000&amp;#039;;&lt;br /&gt;
		definitionHover = this;&lt;br /&gt;
	});&lt;br /&gt;
	$(&amp;quot;#mw-content-text&amp;quot;).on(&amp;quot;mouseout&amp;quot;, &amp;quot;ol &amp;gt; li&amp;quot;, function() {&lt;br /&gt;
		this.style.borderBottom = this.style.borderTopStyle == &amp;quot;dashed&amp;quot; ? &amp;quot;2px #00FF00 dashed&amp;quot; : &amp;quot;&amp;quot;;&lt;br /&gt;
		definitionHover = null;&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
function addDefinition2(q, newdef) {&lt;br /&gt;
	q.style.borderBottom = q.style.borderTopStyle == &amp;quot;dashed&amp;quot; ? &amp;quot;2px #00FF00 dashed&amp;quot; : &amp;quot;&amp;quot;;&lt;br /&gt;
	definitionHover = tempDefinitionText = null;&lt;br /&gt;
&lt;br /&gt;
	var qq = $(&amp;#039;&amp;lt;li&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;)[0];&lt;br /&gt;
	new mw.Api().parse(newdef, {&lt;br /&gt;
		title: mw.config.get(&amp;quot;wgPageName&amp;quot;)&lt;br /&gt;
	}).done(function(res) {&lt;br /&gt;
		qq.lastChild.innerHTML = res;&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	function addDefinition3(wikitext) {&lt;br /&gt;
		var prevheader = q,&lt;br /&gt;
			prevols = 0,&lt;br /&gt;
			prevlis = 1;&lt;br /&gt;
		while (prevheader.previousSibling) {&lt;br /&gt;
			prevheader = prevheader.previousSibling;&lt;br /&gt;
			if (prevheader.nodeName.toLowerCase() == &amp;quot;li&amp;quot;) {&lt;br /&gt;
				prevlis++;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		prevheader = prevheader.parentNode;&lt;br /&gt;
		while (!/^h\d$/i.test(prevheader.nodeName)) {&lt;br /&gt;
			prevheader = prevheader.previousSibling;&lt;br /&gt;
			if (prevheader.nodeName.toLowerCase() == &amp;quot;ol&amp;quot;) {&lt;br /&gt;
				prevols++;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var findNumberOfHeaders =&lt;br /&gt;
			Number(prevheader.lastChild.getElementsByTagName(&amp;#039;a&amp;#039;)[0].href.match(/\d*$/));&lt;br /&gt;
		wikitext =&lt;br /&gt;
			(&lt;br /&gt;
				wikitext.replace(&lt;br /&gt;
					RegExp(&amp;quot;((?:(^|\n)=[\\s\\S]*?){&amp;quot; + findNumberOfHeaders + &amp;quot;}([\\s\\S]*?\n#[\\s\\S]*?\n(?!#)){&amp;quot; + prevols + &amp;quot;}([\\s\\S]*?\n#(?![#:\\*])){&amp;quot; + prevlis + &amp;quot;}[\\s\\S]*?)(\n(?!#[#:\\*])|$)&amp;quot;),&lt;br /&gt;
					&amp;#039;$1\n# &amp;#039; + newdef + &amp;#039;\n&amp;#039;&lt;br /&gt;
				)&lt;br /&gt;
			);&lt;br /&gt;
		ccc = wikitext;&lt;br /&gt;
		return ccc;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var updatecatscallback;&lt;br /&gt;
	var editor = new Editor();&lt;br /&gt;
	editor.addEdit({&lt;br /&gt;
		edit: addDefinition3,&lt;br /&gt;
		redo: function() {&lt;br /&gt;
			q.parentNode.insertBefore(qq, q.nextSibling);&lt;br /&gt;
			if (window.makedefsidebox &amp;amp;&amp;amp; qq.childNodes.length == 1 &amp;amp;&amp;amp; window.defsidebuttons &amp;amp;&amp;amp; defsidebuttons.length) {&lt;br /&gt;
				makedefsidebox(qq);&lt;br /&gt;
			} // User:Yair_rand/editor.js stuff&lt;br /&gt;
			if (window.updateCategories &amp;amp;&amp;amp; window.tabbedLanguages) {&lt;br /&gt;
				updatecatscallback = updateCategories((q.parentNode.parentNode.nodeName.toLowerCase() == &amp;quot;li&amp;quot; ? q.parentNode.parentNode : q).parentNode.parentNode, newdef);&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		undo: function() {&lt;br /&gt;
			q.parentNode.removeChild(qq);&lt;br /&gt;
			updatecatscallback &amp;amp;&amp;amp; updatecatscallback();&lt;br /&gt;
		},&lt;br /&gt;
		summary: &amp;quot;+def: &amp;quot; + newdef&lt;br /&gt;
	}, qq);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>wikt&gt;Surjection</name></author>
	</entry>
</feed>