<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://willamette.earth/wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AHigh-use</id>
	<title>Module:High-use - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://willamette.earth/wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AHigh-use"/>
	<link rel="alternate" type="text/html" href="https://willamette.earth/wiki/index.php?title=Module:High-use&amp;action=history"/>
	<updated>2026-04-03T20:33:33Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://willamette.earth/wiki/index.php?title=Module:High-use&amp;diff=238&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://willamette.earth/wiki/index.php?title=Module:High-use&amp;diff=238&amp;oldid=prev"/>
		<updated>2025-01-06T03:11:23Z</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 23:11, 5 January 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>Admin</name></author>
	</entry>
	<entry>
		<id>https://willamette.earth/wiki/index.php?title=Module:High-use&amp;diff=237&amp;oldid=prev</id>
		<title>Wikipedia&gt;Ahecht: Fix fetch=no and no-percent=yes</title>
		<link rel="alternate" type="text/html" href="https://willamette.earth/wiki/index.php?title=Module:High-use&amp;diff=237&amp;oldid=prev"/>
		<updated>2024-12-17T19:28:55Z</updated>

		<summary type="html">&lt;p&gt;Fix fetch=no and no-percent=yes&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
&lt;br /&gt;
-- _fetch looks at the &amp;quot;demo&amp;quot; argument.&lt;br /&gt;
local _fetch = require(&amp;#039;Module:Transclusion_count&amp;#039;)._fetch&lt;br /&gt;
local yesno = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
function p._num(args, count, no_percent)&lt;br /&gt;
	if count == nil then&lt;br /&gt;
		if yesno(args[&amp;#039;fetch&amp;#039;]) == false then&lt;br /&gt;
			if (args[1] or &amp;#039;&amp;#039;) ~= &amp;#039;&amp;#039; then count = tonumber(args[1]) end&lt;br /&gt;
		else&lt;br /&gt;
			count = _fetch(args)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Build output string&lt;br /&gt;
	local return_value = &amp;quot;&amp;quot;&lt;br /&gt;
	if count == nil then&lt;br /&gt;
		if args[1] == &amp;quot;risk&amp;quot; then&lt;br /&gt;
			return &amp;quot;a very large number of&amp;quot;&lt;br /&gt;
		else&lt;br /&gt;
			return &amp;quot;many&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		-- Use 2 significant figures for smaller numbers and 3 for larger ones&lt;br /&gt;
		local sigfig = 2&lt;br /&gt;
		if count &amp;gt;= 100000 then&lt;br /&gt;
			sigfig = 3&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Prepare to round to appropriate number of sigfigs&lt;br /&gt;
		local f = math.floor(math.log10(count)) - sigfig + 1&lt;br /&gt;
		&lt;br /&gt;
		-- Round and insert &amp;quot;approximately&amp;quot; or &amp;quot;+&amp;quot; when appropriate&lt;br /&gt;
		if (args[2] == &amp;quot;yes&amp;quot;) or (type(args[1]) == &amp;#039;string&amp;#039; and (mw.ustring.sub(args[1],-1) == &amp;quot;+&amp;quot;)) then&lt;br /&gt;
			-- Round down&lt;br /&gt;
			return_value = string.format(&amp;quot;%s+&amp;quot;, mw.getContentLanguage():formatNum(math.floor( (count / 10^(f)) ) * (10^(f))) )&lt;br /&gt;
		else&lt;br /&gt;
			-- Round to nearest&lt;br /&gt;
			return_value = string.format(&amp;quot;approximately&amp;amp;#x20;%s&amp;quot;, mw.getContentLanguage():formatNum(math.floor( (count / 10^(f)) + 0.5) * (10^(f))) )&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		-- Insert percentage of pages if that is likely to be &amp;gt;= 1% and when |no-percent= not set to yes&lt;br /&gt;
		no_percent = no_percent or args[&amp;#039;no-percent&amp;#039;]&lt;br /&gt;
		if count and count &amp;gt; 250000 and not yesno (no_percent) then&lt;br /&gt;
			local numpages = mw.getCurrentFrame():callParserFunction(&amp;#039;NUMBEROFPAGES&amp;#039;, &amp;#039;R&amp;#039;)&lt;br /&gt;
			local percent = math.floor( ( ( count/numpages ) * 100) + 0.5)&lt;br /&gt;
			if percent &amp;gt;= 1 then&lt;br /&gt;
				return_value = string.format(&amp;quot;%s&amp;amp;#x20;pages, or roughly %s%% of all&amp;quot;, return_value, percent)&lt;br /&gt;
			end&lt;br /&gt;
		end	&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return return_value&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.num(frame, count)&lt;br /&gt;
	return p._num(getArgs(frame), count)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Actions if there is a large (greater than or equal to 100,000) transclusion count&lt;br /&gt;
function p._risk(args)&lt;br /&gt;
	if args[1] == &amp;quot;risk&amp;quot; then&lt;br /&gt;
		return &amp;quot;risk&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		local count = _fetch(args)&lt;br /&gt;
		if count and count &amp;gt;= 100000 then&lt;br /&gt;
			return &amp;quot;risk&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;quot;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.risk(frame)&lt;br /&gt;
	return p._risk(getArgs(frame))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._text(args, count)&lt;br /&gt;
	-- Only show the information about how this template gets updated if someone&lt;br /&gt;
	-- is actually editing the page and maybe trying to update the count.&lt;br /&gt;
	local bot_text = (mw.getCurrentFrame():preprocess(&amp;quot;{{REVISIONID}}&amp;quot;) == &amp;quot;&amp;quot;) and &amp;quot;\n\n----\n&amp;#039;&amp;#039;&amp;#039;Preview message&amp;#039;&amp;#039;&amp;#039;: Transclusion count updated automatically ([[Template:High-use/doc#Technical details|see documentation]]).&amp;quot; or &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	if count == nil then&lt;br /&gt;
		if yesno(args[&amp;#039;fetch&amp;#039;]) == false then&lt;br /&gt;
			if (args[1] or &amp;#039;&amp;#039;) ~= &amp;#039;&amp;#039; then count = tonumber(args[1]) end&lt;br /&gt;
		else&lt;br /&gt;
			count = _fetch(args)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local title = mw.title.getCurrentTitle()&lt;br /&gt;
	if ( (args.demo or &amp;#039;&amp;#039; ~= &amp;#039;&amp;#039;) and mw.title.new(args.demo, 10) ) then&lt;br /&gt;
		title = mw.title.new(args.demo, 10)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if title.subpageText == &amp;quot;doc&amp;quot; or title.subpageText == &amp;quot;sandbox&amp;quot; then&lt;br /&gt;
		title = title.basePageTitle&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local systemMessages = (args[&amp;#039;system&amp;#039;] or &amp;#039;&amp;#039;) ~= &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	-- This retrieves the project URL automatically to simplify localization.&lt;br /&gt;
	local templateCount = (&amp;#039;on [https://linkcount.toolforge.org/?project=%s&amp;amp;page=%s#transclusions %s pages]&amp;#039;):format(&lt;br /&gt;
		title:fullUrl():gsub(&amp;#039;//(.-)/.*&amp;#039;, &amp;#039;%1&amp;#039;),&lt;br /&gt;
		mw.uri.encode(title.fullText), p._num(args, count))&lt;br /&gt;
	local used_on_text = &amp;quot;&amp;#039;&amp;#039;&amp;#039;This &amp;quot; .. (title.namespace == 828 and &amp;quot;Lua module&amp;quot; or &amp;quot;template&amp;quot;) .. &amp;#039; is used &amp;#039;;&lt;br /&gt;
	if systemMessages then&lt;br /&gt;
		used_on_text = used_on_text .. args[&amp;#039;system&amp;#039;] ..&lt;br /&gt;
			((count and count &amp;gt; 2000) and (&amp;quot;&amp;#039;&amp;#039;&amp;#039;, and &amp;quot; .. templateCount) or (&amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;quot;))&lt;br /&gt;
	else&lt;br /&gt;
		used_on_text = used_on_text .. templateCount .. &amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	local sandbox_text =  (&amp;quot;%s&amp;#039;s [[%s/sandbox|/sandbox]] or [[%s/testcases|/testcases]] subpages, or in your own [[%s]]. &amp;quot;):format(&lt;br /&gt;
		(title.namespace == 828 and &amp;quot;module&amp;quot; or &amp;quot;template&amp;quot;),&lt;br /&gt;
		title.fullText, title.fullText,&lt;br /&gt;
		title.namespace == 828 and &amp;quot;Module:Sandbox|module sandbox&amp;quot; or &amp;quot;Wikipedia:User pages#SUB|user subpage&amp;quot;&lt;br /&gt;
	)&lt;br /&gt;
	&lt;br /&gt;
	local infoArg = args[&amp;quot;info&amp;quot;] ~= &amp;quot;&amp;quot; and args[&amp;quot;info&amp;quot;]&lt;br /&gt;
	if (systemMessages or args[1] == &amp;quot;risk&amp;quot; or (count and count &amp;gt;= 100000) ) then&lt;br /&gt;
		local info = systemMessages and &amp;#039;.&amp;lt;br/&amp;gt;Changes to it can cause immediate changes to the Wikipedia user interface.&amp;#039; or &amp;#039;.&amp;#039;&lt;br /&gt;
		if infoArg then&lt;br /&gt;
			info = info .. &amp;quot;&amp;lt;br /&amp;gt;&amp;quot; .. infoArg&lt;br /&gt;
		end&lt;br /&gt;
		sandbox_text = info .. &amp;#039;&amp;lt;br /&amp;gt; To avoid major disruption&amp;#039; ..&lt;br /&gt;
			(count and count &amp;gt;= 100000 and &amp;#039; and server load&amp;#039; or &amp;#039;&amp;#039;) ..&lt;br /&gt;
			&amp;#039;, any changes should be tested in the &amp;#039; .. sandbox_text ..&lt;br /&gt;
			&amp;#039;The tested changes can be added to this page in a single edit. &amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		sandbox_text = (infoArg and (&amp;#039;.&amp;lt;br /&amp;gt;&amp;#039; .. infoArg .. &amp;#039; C&amp;#039;) or &amp;#039; and c&amp;#039;) ..&lt;br /&gt;
			&amp;#039;hanges may be widely noticed. Test changes in the &amp;#039; .. sandbox_text&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	local discussion_text = systemMessages and &amp;#039;Please discuss changes &amp;#039; or &amp;#039;Consider discussing changes &amp;#039;&lt;br /&gt;
	if args[&amp;quot;2&amp;quot;] and args[&amp;quot;2&amp;quot;] ~= &amp;quot;&amp;quot; and args[&amp;quot;2&amp;quot;] ~= &amp;quot;yes&amp;quot; then&lt;br /&gt;
		discussion_text = string.format(&amp;quot;%sat [[%s]]&amp;quot;, discussion_text, args[&amp;quot;2&amp;quot;])&lt;br /&gt;
	else&lt;br /&gt;
		discussion_text = string.format(&amp;quot;%son the [[%s|talk page]]&amp;quot;, discussion_text, title.talkPageTitle.fullText )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return used_on_text .. sandbox_text .. discussion_text .. &amp;quot; before implementing them.&amp;quot; .. bot_text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.text(frame, count)&lt;br /&gt;
	return p._text(getArgs(frame), count)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(args, nocat)&lt;br /&gt;
	local count = nil&lt;br /&gt;
	if yesno(args[&amp;#039;fetch&amp;#039;]) == false then&lt;br /&gt;
		if (args[1] or &amp;#039;&amp;#039;) ~= &amp;#039;&amp;#039; then count = tonumber(args[1]) end&lt;br /&gt;
	else&lt;br /&gt;
		count = _fetch(args)&lt;br /&gt;
	end&lt;br /&gt;
	local image = &amp;quot;[[File:Ambox warning yellow.svg|40px|alt=Warning|link=]]&amp;quot;&lt;br /&gt;
	local type_param = &amp;quot;style&amp;quot;&lt;br /&gt;
	local epilogue = &amp;#039;&amp;#039;&lt;br /&gt;
	if args[&amp;#039;system&amp;#039;] and args[&amp;#039;system&amp;#039;] ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		image = &amp;quot;[[File:Ambox important.svg|40px|alt=Warning|link=]]&amp;quot;&lt;br /&gt;
		type_param = &amp;quot;content&amp;quot;&lt;br /&gt;
		nocat = nocat or args[&amp;#039;nocat&amp;#039;]&lt;br /&gt;
		local categorise = (nocat == &amp;#039;&amp;#039; or not yesno(nocat))&lt;br /&gt;
		if categorise and not mw.title.getCurrentTitle().isRedirect then&lt;br /&gt;
			epilogue = mw.getCurrentFrame():preprocess(&amp;#039;{{Sandbox other||{{#switch:{{#invoke:Effective protection level|{{#switch:{{NAMESPACE}}|File=upload|#default=edit}}|{{FULLPAGENAME}}}}|sysop|templateeditor|interfaceadmin=|#default=[[Category:Pages used in system messages needing protection]]}}}}&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
	elseif (args[1] == &amp;quot;risk&amp;quot; or (count and count &amp;gt;= 100000)) then&lt;br /&gt;
		image = &amp;quot;[[File:Ambox warning orange.svg|40px|alt=Warning|link=]]&amp;quot;&lt;br /&gt;
		type_param = &amp;quot;content&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args[&amp;quot;form&amp;quot;] == &amp;quot;editnotice&amp;quot; then&lt;br /&gt;
		return mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
				title = &amp;#039;editnotice&amp;#039;,&lt;br /&gt;
				args = {&lt;br /&gt;
						[&amp;quot;image&amp;quot;] = image,&lt;br /&gt;
						[&amp;quot;text&amp;quot;] = p._text(args, count),&lt;br /&gt;
						[&amp;quot;expiry&amp;quot;] = (args[&amp;quot;expiry&amp;quot;] or &amp;quot;&amp;quot;)&lt;br /&gt;
				}&lt;br /&gt;
		} .. epilogue&lt;br /&gt;
	else&lt;br /&gt;
		return require(&amp;#039;Module:Message box&amp;#039;).main(&amp;#039;ombox&amp;#039;, {&lt;br /&gt;
			type = type_param,&lt;br /&gt;
			image = image,&lt;br /&gt;
			text = p._text(args, count),&lt;br /&gt;
			expiry = (args[&amp;quot;expiry&amp;quot;] or &amp;quot;&amp;quot;)&lt;br /&gt;
		}) .. epilogue&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	return p._main(getArgs(frame))&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Wikipedia&gt;Ahecht</name></author>
	</entry>
</feed>