<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.digitalcellulose.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3ADocumentation</id>
	<title>Module:Documentation - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://www.digitalcellulose.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3ADocumentation"/>
	<link rel="alternate" type="text/html" href="http://www.digitalcellulose.com/wiki/index.php?title=Module:Documentation&amp;action=history"/>
	<updated>2026-05-09T22:17:25Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>http://www.digitalcellulose.com/wiki/index.php?title=Module:Documentation&amp;diff=98348&amp;oldid=prev</id>
		<title>Adminsuzy: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://www.digitalcellulose.com/wiki/index.php?title=Module:Documentation&amp;diff=98348&amp;oldid=prev"/>
		<updated>2018-08-28T03:02:54Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&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: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 03:02, 28 August 2018&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>Adminsuzy</name></author>
		
	</entry>
	<entry>
		<id>http://www.digitalcellulose.com/wiki/index.php?title=Module:Documentation&amp;diff=98177&amp;oldid=prev</id>
		<title>Adminsuzy: Created page with &quot;local export = {}  -- it is either here, or in Module:ugly hacks, and it is not in ugly hacks. function export.CONTENTMODEL() 	return mw.title.getCurrentTitle().contentMod...&quot;</title>
		<link rel="alternate" type="text/html" href="http://www.digitalcellulose.com/wiki/index.php?title=Module:Documentation&amp;diff=98177&amp;oldid=prev"/>
		<updated>2018-08-27T19:33:47Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local export = {}  -- it is either here, or in &lt;a href=&quot;/wiki/index.php/Module:Ugly_hacks&quot; title=&quot;Module:Ugly hacks&quot;&gt;Module:ugly hacks&lt;/a&gt;, and it is not in ugly hacks. function export.CONTENTMODEL() 	return mw.title.getCurrentTitle().contentMod...&amp;quot;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&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: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 19:33, 27 August 2018&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>Adminsuzy</name></author>
		
	</entry>
	<entry>
		<id>http://www.digitalcellulose.com/wiki/index.php?title=Module:Documentation&amp;diff=98347&amp;oldid=prev</id>
		<title>Gadget&gt;Erutuon: same for modules such as Module:Unicode data/images/000</title>
		<link rel="alternate" type="text/html" href="http://www.digitalcellulose.com/wiki/index.php?title=Module:Documentation&amp;diff=98347&amp;oldid=prev"/>
		<updated>2018-04-10T22:03:28Z</updated>

		<summary type="html">&lt;p&gt;same for modules such as &lt;a href=&quot;/wiki/index.php?title=Module:Unicode_data/images/000&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Module:Unicode data/images/000 (page does not exist)&quot;&gt;Module:Unicode data/images/000&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local export = {}&lt;br /&gt;
&lt;br /&gt;
-- it is either here, or in [[Module:ugly hacks]], and it is not in ugly hacks.&lt;br /&gt;
function export.CONTENTMODEL()&lt;br /&gt;
	return mw.title.getCurrentTitle().contentModel	&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local skins = {&lt;br /&gt;
	[&amp;quot;common&amp;quot;     ] = &amp;quot;&amp;quot;;&lt;br /&gt;
	[&amp;quot;vector&amp;quot;     ] = &amp;quot;Vector&amp;quot;;&lt;br /&gt;
	[&amp;quot;monobook&amp;quot;   ] = &amp;quot;Monobook&amp;quot;;&lt;br /&gt;
	[&amp;quot;cologneblue&amp;quot;] = &amp;quot;Cologne Blue&amp;quot;;&lt;br /&gt;
	[&amp;quot;modern&amp;quot;     ] = &amp;quot;Modern&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- this is to automatically categorize data modules and prevent cluttering [[Cat:Uncategorized modules]]&lt;br /&gt;
local data_modules_regex_cats = {&lt;br /&gt;
	[&amp;quot;^Module:data tables/data..?.?.?$&amp;quot;] = &amp;quot;Reference module sharded data tables&amp;quot;,&lt;br /&gt;
	[&amp;quot;^Module:Quotations/...?.?.?.?.?.?$&amp;quot;] = &amp;quot;Quotation data modules&amp;quot;,&lt;br /&gt;
	[&amp;quot;^Module:zh/data/.+[a-zA-z0-9]$&amp;quot;] = &amp;quot;Chinese data modules&amp;quot;, -- capture submodules of zh/data that do not end with a hanzi in the title&lt;br /&gt;
	[&amp;quot;^Module:zh/data/dial%-pron/&amp;quot;] = &amp;quot;Chinese dialectal pronunciation data modules&amp;quot;,&lt;br /&gt;
	[&amp;quot;^Module:zh/data/dial%-syn/&amp;quot;] = &amp;quot;Chinese dialectal synonyms data modules&amp;quot;,&lt;br /&gt;
	[&amp;quot;^Module:zh/data/glyph%-data/&amp;quot;] = &amp;quot;Chinese historical character forms data modules&amp;quot;,&lt;br /&gt;
	[&amp;quot;^Module:zh/data/ltc%-pron/&amp;quot;] = &amp;quot;Middle Chinese pronunciation data modules&amp;quot;,&lt;br /&gt;
	[&amp;quot;^Module:zh/data/och%-pron%-BS/&amp;quot;] = &amp;quot;Old Chinese (Baxter-Sagart) pronunciation data modules&amp;quot;,&lt;br /&gt;
	[&amp;quot;^Module:zh/data/och%-pron%-ZS/&amp;quot;] = &amp;quot;Old Chinese (Zhengzhang) pronunciation data modules&amp;quot;,&lt;br /&gt;
	[&amp;quot;^Module:Unicode data&amp;quot;] = &amp;quot;Unicode data modules&amp;quot;,&lt;br /&gt;
	[&amp;quot;^Module:number list/data/&amp;quot;] = &amp;quot;Number data modules&amp;quot;,&lt;br /&gt;
	[&amp;quot;^Module:es%-conj/data/&amp;quot;] = &amp;quot;Spanish data modules&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function export.show(frame)&lt;br /&gt;
	local params = {&lt;br /&gt;
		[&amp;quot;hr&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;for&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;from&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;notsubpage&amp;quot;] = { type = &amp;quot;boolean&amp;quot;, default = false },&lt;br /&gt;
		[&amp;quot;nodoc&amp;quot;] = { type = &amp;quot;boolean&amp;quot;, default = false },&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	local args = require(&amp;quot;Module:parameters&amp;quot;).process(frame.args, params)&lt;br /&gt;
	&lt;br /&gt;
	local output = { '\n&amp;lt;div class=&amp;quot;documentation&amp;quot; style=&amp;quot;display:block; clear:both&amp;quot;&amp;gt;\n' }&lt;br /&gt;
	local cats = {}&lt;br /&gt;
	&lt;br /&gt;
	if (not args.hr) or (args.hr == &amp;quot;above&amp;quot;) then&lt;br /&gt;
		output[#output + 1] = &amp;quot;----\n&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local title = ((args['for'] ~= &amp;quot;&amp;quot;) and args['for']) and mw.title.new(args['for']) or mw.title.getCurrentTitle()&lt;br /&gt;
	local doc_title = mw.title.new((args['from'] ~= &amp;quot;&amp;quot;) and args['from'] or (title.fullText .. '/documentation'))&lt;br /&gt;
	local contentModel = title.contentModel&lt;br /&gt;
	&lt;br /&gt;
	local pagetype = mw.getContentLanguage():lcfirst(title.nsText) .. &amp;quot; page&amp;quot;&lt;br /&gt;
	local preload&lt;br /&gt;
&lt;br /&gt;
	local user_name, skin_name&lt;br /&gt;
	&lt;br /&gt;
	if contentModel == &amp;quot;javascript&amp;quot; then&lt;br /&gt;
		pagetype = &amp;quot;script&amp;quot;&lt;br /&gt;
		preload  = 'Template:documentation/preloadTemplate' -- XXX&lt;br /&gt;
		if title.nsText == 'User' then&lt;br /&gt;
			user_name = title.rootText	&lt;br /&gt;
		end&lt;br /&gt;
	elseif contentModel == &amp;quot;css&amp;quot; then&lt;br /&gt;
		pagetype = &amp;quot;style sheet&amp;quot;&lt;br /&gt;
		preload  = 'Template:documentation/preloadTemplate' -- XXX&lt;br /&gt;
		if title.nsText == 'User' then&lt;br /&gt;
			user_name = title.rootText	&lt;br /&gt;
		end&lt;br /&gt;
	elseif contentModel == &amp;quot;Scribunto&amp;quot; then&lt;br /&gt;
		pagetype = &amp;quot;module&amp;quot;&lt;br /&gt;
		user_name = title.rootText:match(&amp;quot;^User:(.+)&amp;quot;)&lt;br /&gt;
		if user_name then&lt;br /&gt;
			preload  = 'Template:documentation/preloadModuleSandbox'&lt;br /&gt;
		else&lt;br /&gt;
			preload  = 'Template:documentation/preloadModule'&lt;br /&gt;
		end&lt;br /&gt;
	elseif title.nsText == &amp;quot;Template&amp;quot; then&lt;br /&gt;
		pagetype = &amp;quot;template&amp;quot;&lt;br /&gt;
		preload  = 'Template:documentation/preloadTemplate'&lt;br /&gt;
	elseif title.nsText == &amp;quot;Wiktionary&amp;quot; then&lt;br /&gt;
		pagetype = &amp;quot;project page&amp;quot;&lt;br /&gt;
		preload  = 'Template:documentation/preloadTemplate' -- XXX&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local old_title&lt;br /&gt;
	if doc_title.isRedirect then&lt;br /&gt;
		old_title = doc_title&lt;br /&gt;
		doc_title = mw.title.new(string.match(doc_title:getContent(), &amp;quot;^#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*:?%s*%[%[([^%[%]]-)%]%]&amp;quot;))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local fallback_docs, doc_content&lt;br /&gt;
&lt;br /&gt;
	output[#output + 1] = &amp;quot;&amp;lt;dl class=\&amp;quot;plainlinks\&amp;quot; style=\&amp;quot;font-size: smaller;\&amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
	if doc_title.exists then&lt;br /&gt;
		output[#output + 1] =&lt;br /&gt;
			&amp;quot;&amp;lt;dd&amp;gt;&amp;lt;i style=\&amp;quot;font-size: larger;\&amp;quot;&amp;gt;The following &amp;quot; ..&lt;br /&gt;
			&amp;quot;[[Help:Documenting templates and modules|documentation]] is located at [[&amp;quot; ..&lt;br /&gt;
			doc_title.fullText .. &amp;quot;]]. &amp;quot; ..&lt;br /&gt;
			&amp;quot;&amp;lt;sup&amp;gt;[[&amp;quot; .. doc_title:fullUrl { action = 'edit' } .. &amp;quot; edit]]&amp;lt;/sup&amp;gt; &amp;lt;/i&amp;gt;&amp;lt;/dd&amp;gt;&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		if contentModel == &amp;quot;Scribunto&amp;quot; then&lt;br /&gt;
			local automatic_cat = &amp;quot;Uncategorized modules&amp;quot;&lt;br /&gt;
			if user_name then&lt;br /&gt;
				fallback_docs = 'documentation/fallback/user module'&lt;br /&gt;
				automatic_cat = &amp;quot;User sandbox modules&amp;quot;&lt;br /&gt;
			else&lt;br /&gt;
				for r, cat in pairs(data_modules_regex_cats) do &lt;br /&gt;
					if mw.ustring.match(title.fullText, r) then&lt;br /&gt;
						automatic_cat = cat;&lt;br /&gt;
						break&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
				if mw.ustring.match(title.fullText, &amp;quot;^Module:zh/data/ltc%-pron/&amp;quot;)&lt;br /&gt;
						or mw.ustring.match(title.fullText, &amp;quot;^Module:zh/data/och%-pron%-BS/&amp;quot;)&lt;br /&gt;
						or mw.ustring.match(title.fullText, &amp;quot;^Module:zh/data/och%-pron%-ZS/&amp;quot;) then&lt;br /&gt;
					require('Module:zh-track').track_data_module(title.fullText)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			cats[#cats + 1] = automatic_cat&lt;br /&gt;
			&lt;br /&gt;
			if title.fullText:find(&amp;quot;^Module:Unicode data/&amp;quot;) then&lt;br /&gt;
				local subpage = title.fullText:match(&amp;quot;/([^/]+)&amp;quot;)&lt;br /&gt;
				if subpage == &amp;quot;names&amp;quot; or subpage == &amp;quot;images&amp;quot; then&lt;br /&gt;
					local hexnum = title.fullText:match(&amp;quot;/[^/]+/(%x%x%x)$&amp;quot;)&lt;br /&gt;
					if not hexnum then&lt;br /&gt;
						error(&amp;quot;???&amp;quot;)&lt;br /&gt;
					end&lt;br /&gt;
					local low, high = tonumber(hexnum .. &amp;quot;000&amp;quot;, 16), tonumber(hexnum .. &amp;quot;FFF&amp;quot;, 16)&lt;br /&gt;
					local datum = subpage == &amp;quot;images&amp;quot; and &amp;quot;the pagenames of images&amp;quot;&lt;br /&gt;
						or &amp;quot;the names&amp;quot;&lt;br /&gt;
					doc_content = string.format(&lt;br /&gt;
						&amp;quot;This data module contains &amp;quot; .. datum .. &amp;quot; of &amp;quot; .. &lt;br /&gt;
						&amp;quot;[[Appendix:Unicode|Unicode]] codepoints within the range U+%X to U+%X.&amp;quot;,&lt;br /&gt;
						low, high)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			-- meaning module is not in user's sandbox or one of many datamodule boring series&lt;br /&gt;
			if automatic_cat == &amp;quot;Uncategorized modules&amp;quot; and not fallback_docs then&lt;br /&gt;
				cats[#cats + 1] = &amp;quot;Templates and modules needing documentation&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
		elseif title.nsText == &amp;quot;Template&amp;quot; then&lt;br /&gt;
			--cats[#cats + 1] = &amp;quot;Uncategorized templates&amp;quot;&lt;br /&gt;
&lt;br /&gt;
			if not ( fallback_docs or args.nodoc ) then&lt;br /&gt;
				cats[#cats + 1] = &amp;quot;Templates and modules needing documentation&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
		elseif (contentModel == &amp;quot;css&amp;quot;) or (contentModel == &amp;quot;javascript&amp;quot;) then&lt;br /&gt;
			if user_name then&lt;br /&gt;
				skin_name = skins[title.text:sub(#title.rootText + 1):match(&amp;quot;^/([a-z]+)%.[jc]ss?$&amp;quot;)]&lt;br /&gt;
				if skin_name then&lt;br /&gt;
					fallback_docs = 'documentation/fallback/user ' .. contentModel&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if doc_content then&lt;br /&gt;
			output[#output + 1] =&lt;br /&gt;
				&amp;quot;&amp;lt;dd&amp;gt;&amp;lt;i style=\&amp;quot;font-size: larger;\&amp;quot;&amp;gt;The following &amp;quot; ..&lt;br /&gt;
				&amp;quot;[[Help:Documenting templates and modules|documentation]] is &amp;quot; ..&lt;br /&gt;
				&amp;quot;generated by [[Module:documentation]]. &amp;lt;sup&amp;gt;[[&amp;quot; ..&lt;br /&gt;
				mw.title.new(&amp;quot;Module:documentation&amp;quot;):fullUrl { action = 'edit' } ..&lt;br /&gt;
				&amp;quot; edit]]&amp;lt;/sup&amp;gt; &amp;lt;/i&amp;gt;&amp;lt;/dd&amp;gt;&amp;quot;&lt;br /&gt;
		elseif not args.nodoc then&lt;br /&gt;
			output[#output + 1] =&lt;br /&gt;
				&amp;quot;&amp;lt;dd&amp;gt;&amp;lt;i style=\&amp;quot;font-size: larger;\&amp;quot;&amp;gt;This &amp;quot; .. pagetype ..&lt;br /&gt;
				&amp;quot; lacks a [[Help:Documenting templates and modules|documentation subpage]]. &amp;quot; ..&lt;br /&gt;
				(fallback_docs and &amp;quot;You may &amp;quot; or &amp;quot;Please &amp;quot;) ..&lt;br /&gt;
				&amp;quot;[&amp;quot; .. doc_title:fullUrl { action = 'edit', preload = preload } .. &amp;quot; create it].&amp;lt;/i&amp;gt;&amp;lt;/dd&amp;gt;\n&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if title.fullText:match(&amp;quot;^MediaWiki:Gadget%-&amp;quot;) then&lt;br /&gt;
		local is_gadget = false&lt;br /&gt;
		local gadget_list = mw.title.new(&amp;quot;MediaWiki:Gadgets-definition&amp;quot;):getContent()&lt;br /&gt;
		&lt;br /&gt;
		for line in mw.text.gsplit(gadget_list, &amp;quot;\n&amp;quot;) do&lt;br /&gt;
			local gadget, opts, items = line:match(&amp;quot;^%*%s*([A-Za-z][A-Za-z0-9_%-]*)%[(.-)%]|(.+)$&amp;quot;) -- opts is unused&lt;br /&gt;
			if not gadget then&lt;br /&gt;
				gadget, items = line:match(&amp;quot;^%*%s*([A-Za-z][A-Za-z0-9_%-]*)|(.+)$&amp;quot;)&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			if gadget then&lt;br /&gt;
				items = mw.text.split(items, &amp;quot;|&amp;quot;)&lt;br /&gt;
				for i, item in ipairs(items) do&lt;br /&gt;
					if title.fullText == (&amp;quot;MediaWiki:Gadget-&amp;quot; .. item) then&lt;br /&gt;
						is_gadget = true&lt;br /&gt;
&lt;br /&gt;
						output[#output + 1] = &amp;quot;&amp;lt;dd&amp;gt; ''This script is a part of the &amp;lt;code&amp;gt;&amp;quot;&lt;br /&gt;
						output[#output + 1] = gadget&lt;br /&gt;
						output[#output + 1] = &amp;quot;&amp;lt;/code&amp;gt; gadget ([&amp;quot;&lt;br /&gt;
						output[#output + 1] = tostring(mw.uri.fullUrl('MediaWiki:Gadgets-definition', 'action=edit'))&lt;br /&gt;
						output[#output + 1] = &amp;quot; edit definitions])'' &amp;lt;dl&amp;gt;&amp;quot;&lt;br /&gt;
						&lt;br /&gt;
						output[#output + 1] = &amp;quot;&amp;lt;dd&amp;gt; ''Description ([&amp;quot;&lt;br /&gt;
						output[#output + 1] = tostring(mw.uri.fullUrl('MediaWiki:Gadget-' .. gadget, 'action=edit'))&lt;br /&gt;
						output[#output + 1] = &amp;quot; edit])'': &amp;quot;&lt;br /&gt;
						output[#output + 1] = mw.message.new('Gadget-' .. gadget):plain()&lt;br /&gt;
						output[#output + 1] = &amp;quot; &amp;lt;/dd&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
						table.remove(items, i)&lt;br /&gt;
						if #items &amp;gt; 0 then&lt;br /&gt;
							for j, item in ipairs(items) do&lt;br /&gt;
								items[j] = '[[MediaWiki:Gadget-' .. item .. '|' .. item .. ']]'&lt;br /&gt;
							end&lt;br /&gt;
							output[#output + 1] = &amp;quot;&amp;lt;dd&amp;gt; ''Other parts'': &amp;quot;&lt;br /&gt;
							output[#output + 1] = mw.text.listToText(items)&lt;br /&gt;
							output[#output + 1] = &amp;quot;&amp;lt;/dd&amp;gt;&amp;quot;&lt;br /&gt;
						end&lt;br /&gt;
&lt;br /&gt;
						output[#output + 1] = &amp;quot;&amp;lt;/dl&amp;gt;&amp;lt;/dd&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
						break&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not is_gadget then&lt;br /&gt;
			output[#output + 1] = &amp;quot;&amp;lt;dd&amp;gt; ''This script is not a part of any [&amp;quot;&lt;br /&gt;
			output[#output + 1] = tostring(mw.uri.fullUrl('Special:Gadgets', 'uselang=en'))&lt;br /&gt;
			output[#output + 1] = ' gadget] (['&lt;br /&gt;
			output[#output + 1] = tostring(mw.uri.fullUrl('MediaWiki:Gadgets-definition', 'action=edit'))&lt;br /&gt;
			output[#output + 1] = ' edit definitions]).&amp;lt;/dd&amp;gt;'&lt;br /&gt;
		--else&lt;br /&gt;
		--	cats[#cats + 1] = &amp;quot;Wiktionary gadgets&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end	&lt;br /&gt;
	&lt;br /&gt;
	if old_title then&lt;br /&gt;
		output[#output + 1] = &amp;quot;&amp;lt;dd&amp;gt; ''Redirected from'' [&amp;quot;&lt;br /&gt;
		output[#output + 1] = old_title:fullUrl { redirect = 'no' }&lt;br /&gt;
		output[#output + 1] = &amp;quot; &amp;quot;&lt;br /&gt;
		output[#output + 1] = old_title.fullText&lt;br /&gt;
		output[#output + 1] = &amp;quot;] ([&amp;quot;&lt;br /&gt;
		output[#output + 1] = old_title:fullUrl { action = 'edit' }&lt;br /&gt;
		output[#output + 1] = &amp;quot; edit]).&amp;lt;/dd&amp;gt;\n&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local links = {}&lt;br /&gt;
	&lt;br /&gt;
	if title.isSubpage and not args.notsubpage then&lt;br /&gt;
		links[#links + 1] = &amp;quot;[[:&amp;quot; .. title.nsText .. &amp;quot;:&amp;quot; .. title.rootText .. &amp;quot;|root page]]&amp;quot;&lt;br /&gt;
		links[#links + 1] = &amp;quot;[[Special:PrefixIndex/&amp;quot; .. title.nsText .. &amp;quot;:&amp;quot; .. title.rootText .. &amp;quot;/|root page's subpages]]&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		links[#links + 1] = &amp;quot;[[Special:PrefixIndex/&amp;quot; .. title.fullText .. &amp;quot;/|subpage list]]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if (contentModel == &amp;quot;javascript&amp;quot;) or (contentModel == &amp;quot;css&amp;quot;) then&lt;br /&gt;
		links[#links + 1] = &amp;quot;[[Special:WhatLinksHere/&amp;quot; .. title.fullText .. &amp;quot;|what links here]]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		if user_name then&lt;br /&gt;
			links[#links + 1] = &amp;quot;[[Special:MyPage&amp;quot; .. title.text:sub(#title.rootText + 1) .. &amp;quot;|your own]]&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		links[#links + 1] =&lt;br /&gt;
			'[' .. tostring(mw.uri.fullUrl('Special:WhatLinksHere/' .. title.fullText, 'hidelinks=1&amp;amp;hideredirs=1')) ..&lt;br /&gt;
			' transclusions]'&lt;br /&gt;
&lt;br /&gt;
		if contentModel ~= &amp;quot;Scribunto&amp;quot; then&lt;br /&gt;
			links[#links + 1] =&lt;br /&gt;
				'[' .. tostring(mw.uri.fullUrl('Special:WhatLinksHere/' .. title.fullText, 'hidelinks=1&amp;amp;hidetrans=1')) ..&lt;br /&gt;
				' redirects]'&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if contentModel == &amp;quot;Scribunto&amp;quot; then&lt;br /&gt;
		if title.isSubpage and (title.subpageText == &amp;quot;testcases&amp;quot;) then&lt;br /&gt;
			links[#links + 1] = &amp;quot;[[:&amp;quot; .. title.nsText .. &amp;quot;:&amp;quot; .. title.baseText .. &amp;quot;|tested module]]&amp;quot;&lt;br /&gt;
		else&lt;br /&gt;
			links[#links + 1] = &amp;quot;[[&amp;quot; .. title.fullText .. &amp;quot;/testcases|testcases]]&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if user_name then&lt;br /&gt;
			links[#links + 1] = &amp;quot;[[User:&amp;quot; .. user_name .. &amp;quot;|user page]]&amp;quot;&lt;br /&gt;
			links[#links + 1] = &amp;quot;[[User talk:&amp;quot; .. user_name .. &amp;quot;|user talk page]]&amp;quot;&lt;br /&gt;
			links[#links + 1] = &amp;quot;[[Special:PrefixIndex/User:&amp;quot; .. user_name .. &amp;quot;/|userspace]]&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if #links &amp;gt; 0 then&lt;br /&gt;
		output[#output + 1] =&lt;br /&gt;
			&amp;quot;&amp;lt;dd&amp;gt; ''Useful links'': &amp;quot; .. table.concat(links, &amp;quot; • &amp;quot;) .. &amp;quot;&amp;lt;/dd&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	output[#output + 1] = &amp;quot;&amp;lt;/dl&amp;gt;\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	if doc_title.exists then&lt;br /&gt;
		output[#output + 1] = frame:expandTemplate { title = doc_title.fullText }&lt;br /&gt;
	elseif doc_content then&lt;br /&gt;
		output[#output + 1] = doc_content&lt;br /&gt;
	elseif fallback_docs then&lt;br /&gt;
		output[#output + 1] = frame:expandTemplate {&lt;br /&gt;
			title = fallback_docs;&lt;br /&gt;
			args = {&lt;br /&gt;
				['user'] = user_name;&lt;br /&gt;
				['page'] = title.fullText;&lt;br /&gt;
				['skin name'] = skin_name;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if args.hr == &amp;quot;below&amp;quot; then&lt;br /&gt;
		output[#output + 1] = '\n&amp;lt;hr style=&amp;quot;clear: both;&amp;quot; /&amp;gt;'&lt;br /&gt;
	else&lt;br /&gt;
		output[#output + 1] = '\n&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;'&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	for _, cat in ipairs(cats) do&lt;br /&gt;
		output[#output + 1] = &amp;quot;[[Category:&amp;quot; .. cat .. &amp;quot;]]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	output[#output + 1] = &amp;quot;&amp;lt;/div&amp;gt;\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	return table.concat(output)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Used by {{translit module documentation}}.&lt;br /&gt;
function export.translitModuleLangList(frame)&lt;br /&gt;
	local pagename, subpage&lt;br /&gt;
	&lt;br /&gt;
	if frame.args[1] then&lt;br /&gt;
		pagename = frame.args[1]&lt;br /&gt;
	else&lt;br /&gt;
		local title = mw.title.getCurrentTitle()&lt;br /&gt;
		subpage = title.subpageText&lt;br /&gt;
		pagename = title.text&lt;br /&gt;
		&lt;br /&gt;
		if subpage ~= pagename then&lt;br /&gt;
			pagename = title.rootText&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local translitModule = pagename&lt;br /&gt;
	&lt;br /&gt;
	local languageObjects = require(&amp;quot;Module:languages/byTranslitModule&amp;quot;)(translitModule)&lt;br /&gt;
	local codeInPagename = pagename:match(&amp;quot;^(.-)%-translit&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	if not codeInPagename then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local langs = {}&lt;br /&gt;
	local codeInPagenameInList = false&lt;br /&gt;
	local category = &amp;quot;&amp;quot;&lt;br /&gt;
	if languageObjects[1] and subpage ~= &amp;quot;documentation&amp;quot; then&lt;br /&gt;
		local agreement = languageObjects[2] and &amp;quot;s&amp;quot; or &amp;quot;&amp;quot;&lt;br /&gt;
		category = &amp;quot;[[Category:Transliteration modules used by &amp;quot; ..&lt;br /&gt;
			#languageObjects .. &amp;quot; language&amp;quot; .. agreement .. &amp;quot;]]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	for i, lang in ipairs(languageObjects) do&lt;br /&gt;
		if lang:getCode() == codeInPagename then&lt;br /&gt;
			table.remove(languageObjects, i)&lt;br /&gt;
			codeInPagenameInList = true&lt;br /&gt;
			break&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local function link(lang)&lt;br /&gt;
		local canonicalName = lang:getCanonicalName()&lt;br /&gt;
		return &amp;quot;[[:Category:&amp;quot; .. canonicalName .. &amp;quot; language|&amp;quot; .. canonicalName ..&lt;br /&gt;
			&amp;quot;]] (&amp;lt;code&amp;gt;&amp;quot; .. lang:getCode() .. &amp;quot;&amp;lt;/code&amp;gt;)&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- TODO: Use serialCommaJoin in [[Module:table]].&lt;br /&gt;
	if not languageObjects[1] then&lt;br /&gt;
		return category or &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	table.sort(languageObjects,&lt;br /&gt;
		function(lang1, lang2)&lt;br /&gt;
			return lang1:getCode() &amp;lt; lang2:getCode()&lt;br /&gt;
		end)&lt;br /&gt;
	if languageObjects[3] then&lt;br /&gt;
		for i, lang in ipairs(languageObjects) do&lt;br /&gt;
			table.insert(langs, link(lang))&lt;br /&gt;
			if languageObjects[i + 2] then&lt;br /&gt;
				table.insert(langs, &amp;quot;, &amp;quot;)&lt;br /&gt;
			elseif languageObjects[i + 1] then&lt;br /&gt;
				table.insert(langs, '&amp;lt;span class=&amp;quot;serial-comma&amp;quot;&amp;gt;,&amp;lt;/span&amp;gt; and ')&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		for i, lang in ipairs(languageObjects) do&lt;br /&gt;
			table.insert(langs, link(lang))&lt;br /&gt;
			&lt;br /&gt;
			if languageObjects[i + 1] then&lt;br /&gt;
				table.insert(langs, &amp;quot; and &amp;quot;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	langs = table.concat(langs)&lt;br /&gt;
	&lt;br /&gt;
	return &amp;quot;It is &amp;quot; .. ( codeInPagenameInList and &amp;quot;also&amp;quot; or &amp;quot;&amp;quot; ) ..&lt;br /&gt;
		&amp;quot; used to transliterate &amp;quot; .. langs .. &amp;quot;.&amp;quot; .. category&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return export&lt;/div&gt;</summary>
		<author><name>Gadget&gt;Erutuon</name></author>
		
	</entry>
</feed>