<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.mechsploit.me/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MechsploWikiSysop</id>
	<title>Mechsploit.me Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mechsploit.me/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MechsploWikiSysop"/>
	<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php/Special:Contributions/MechsploWikiSysop"/>
	<updated>2026-04-05T21:23:09Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=MediaWiki:Licenses&amp;diff=3216</id>
		<title>MediaWiki:Licenses</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=MediaWiki:Licenses&amp;diff=3216"/>
		<updated>2025-09-04T07:37:45Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*subst:No license from license selector|Don&#039;t know|I do not know the license&lt;br /&gt;
*subst:No license from license selector|Somewebsite|Found the image somewhere&lt;br /&gt;
*subst:Permission from license selector|The copyright holder gave me permission to use this work only in Wiki.Mechsploit.me articles&lt;br /&gt;
*subst:Non-commercial from license selector|The copyright holder only allows this work to be used for non-commercial and/or educational purposes&lt;br /&gt;
* Your own work:&lt;br /&gt;
** Allow non-commercial use, commercial use, and modifications as long as others credit you and share alike:&lt;br /&gt;
*** cc-by-sa-4.0|Own work, Creative Commons Attribution-Share Alike 4.0&lt;br /&gt;
*** self|cc-by-sa-4.0,3.0,2.5,2.0,1.0|Own work, multi-license with CC-BY-SA-4.0 and older&lt;br /&gt;
*** self|cc-by-sa-4.0|GFDL|migration=not-eligible|Own work, multi-license with CC-BY-SA-4.0 and GFDL&lt;br /&gt;
** Allow non-commercial use, commercial use, and modifications as long as others credit you:&lt;br /&gt;
*** self|cc-by-4.0|Own work, Creative Commons Attribution 4.0&lt;br /&gt;
** Reserve no rights:&lt;br /&gt;
*** self|cc-zero|Own work, release into public domain under the CC-Zero license&lt;br /&gt;
* Freely licensed:&lt;br /&gt;
** cc-by-sa-4.0|Creative Commons Attribution-Share Alike 4.0&lt;br /&gt;
** cc-by-4.0|Creative Commons Attribution 4.0&lt;br /&gt;
** cc-by-sa-2.0|Creative Commons Attribution-Share Alike 2.0&lt;br /&gt;
** cc-by-2.0|Creative Commons Attribution 2.0&lt;br /&gt;
** Wiki.Mechsploit.me-screenshot|Wiki.Mechsploit.me web page screenshot&lt;br /&gt;
* Public domain:&lt;br /&gt;
** Copyright expired:&lt;br /&gt;
*** PD-old|Author died more than 100 years ago&lt;br /&gt;
*** PD-art|- Photo of a two-dimensional work whose author died more than 100 years ago&lt;br /&gt;
*** PD-US-expired|First published in the United States before January 1, 1930&lt;br /&gt;
** Not covered by copyright:&lt;br /&gt;
*** PD-USGov|Work of a U.S. government agency&lt;br /&gt;
*** PD-text|Simple typefaces, individual words or geometric shapes&lt;br /&gt;
*** PD-textlogo|Logos with only simple typefaces, individual words or geometric shapes&lt;br /&gt;
* Unacceptable fair use:&lt;br /&gt;
**subst:rfu|Fair use image of a living person&lt;br /&gt;
**subst:rfu|Fair use image of an existing building&lt;br /&gt;
* Non-free / fair use - read WP:NONFREE before using any of the following tags:&lt;br /&gt;
** Non-free 2D art|Two-dimensional art&lt;br /&gt;
** Non-free 3D art|Three-dimensional art&lt;br /&gt;
** Non-free computer icon|Computer icon&lt;br /&gt;
** Non-free currency|Currency that may be copyrighted&lt;br /&gt;
** Non-free biog-pic|Deceased person&lt;br /&gt;
** Non-free logo|Logo&lt;br /&gt;
** Non-free audio sample|Music sample&lt;br /&gt;
** Non-free promotional|Promotional material&lt;br /&gt;
** Non-free stamp|Postage stamp, where copyright depends on the country&lt;br /&gt;
*** Non-free USGov-USPS stamp|- U.S. postage stamp from 1978 or later&lt;br /&gt;
** Non-free historic image|Historically significant event&lt;br /&gt;
** Covers:&lt;br /&gt;
*** Non-free album cover|Album or single cover&lt;br /&gt;
*** Non-free board game cover|Board game cover&lt;br /&gt;
*** Non-free book cover|Book cover&lt;br /&gt;
*** Non-free comic|Comic book stuff&lt;br /&gt;
*** Non-free video cover|DVD, Blu-Ray Disc, videotape, etc. cover&lt;br /&gt;
*** Non-free game cover|Video game cover&lt;br /&gt;
*** Non-free magazine cover|Magazine cover (can only be used in the article about the magazine)&lt;br /&gt;
*** Non-free newspaper image|Newspaper cover&lt;br /&gt;
** Posters:&lt;br /&gt;
*** Non-free poster|Any kind of poster&lt;br /&gt;
** Screenshots:&lt;br /&gt;
*** Non-free film screenshot|Movie screenshot&lt;br /&gt;
*** Non-free television screenshot|TV screenshot&lt;br /&gt;
*** Non-free title-card|Title card of a movie or TV series&lt;br /&gt;
*** Non-free game screenshot|Computer game or video game screenshot&lt;br /&gt;
*** Non-free music video screenshot|Music video or music promo screenshot&lt;br /&gt;
*** Non-free software screenshot|Software screenshot&lt;br /&gt;
**** Non-free Microsoft screenshot|- Screenshot of a Microsoft product&lt;br /&gt;
**** Non-free software screenshot|Screenshots of Windows software|- Windows software screenshot&lt;br /&gt;
**** Non-free software screenshot|Screenshots of Mac software|- Mac OS software screenshot&lt;br /&gt;
**** Non-free software screenshot|Screenshots of Linux software|- Linux software screenshot&lt;br /&gt;
*** Non-free web screenshot|Website layout screenshot&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:TableTools&amp;diff=3213</id>
		<title>Module:TableTools</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:TableTools&amp;diff=3213"/>
		<updated>2025-09-04T07:24:57Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;------------------------------------------------------------------------------------&lt;br /&gt;
--                                   TableTools                                   --&lt;br /&gt;
--                                                                                --&lt;br /&gt;
-- This module includes a number of functions for dealing with Lua tables.        --&lt;br /&gt;
-- It is a meta-module, meant to be called from other Lua modules, and should not --&lt;br /&gt;
-- be called directly from #invoke.                                               --&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local libraryUtil = require(&#039;libraryUtil&#039;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
-- Define often-used variables and functions.&lt;br /&gt;
local floor = math.floor&lt;br /&gt;
local infinity = math.huge&lt;br /&gt;
local checkType = libraryUtil.checkType&lt;br /&gt;
local checkTypeMulti = libraryUtil.checkTypeMulti&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- isPositiveInteger&lt;br /&gt;
--&lt;br /&gt;
-- This function returns true if the given value is a positive integer, and false&lt;br /&gt;
-- if not. Although it doesn&#039;t operate on tables, it is included here as it is&lt;br /&gt;
-- useful for determining whether a given table key is in the array part or the&lt;br /&gt;
-- hash part of a table.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
function p.isPositiveInteger(v)&lt;br /&gt;
	return type(v) == &#039;number&#039; and v &amp;gt;= 1 and floor(v) == v and v &amp;lt; infinity&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- isNan&lt;br /&gt;
--&lt;br /&gt;
-- This function returns true if the given number is a NaN value, and false if&lt;br /&gt;
-- not. Although it doesn&#039;t operate on tables, it is included here as it is useful&lt;br /&gt;
-- for determining whether a value can be a valid table key. Lua will generate an&lt;br /&gt;
-- error if a NaN is used as a table key.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
function p.isNan(v)&lt;br /&gt;
	return type(v) == &#039;number&#039; and v ~= v&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- shallowClone&lt;br /&gt;
--&lt;br /&gt;
-- This returns a clone of a table. The value returned is a new table, but all&lt;br /&gt;
-- subtables and functions are shared. Metamethods are respected, but the returned&lt;br /&gt;
-- table will have no metatable of its own.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
function p.shallowClone(t)&lt;br /&gt;
	checkType(&#039;shallowClone&#039;, 1, t, &#039;table&#039;)&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	for k, v in pairs(t) do&lt;br /&gt;
		ret[k] = v&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- removeDuplicates&lt;br /&gt;
--&lt;br /&gt;
-- This removes duplicate values from an array. Non-positive-integer keys are&lt;br /&gt;
-- ignored. The earliest value is kept, and all subsequent duplicate values are&lt;br /&gt;
-- removed, but otherwise the array order is unchanged.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
function p.removeDuplicates(arr)&lt;br /&gt;
	checkType(&#039;removeDuplicates&#039;, 1, arr, &#039;table&#039;)&lt;br /&gt;
	local isNan = p.isNan&lt;br /&gt;
	local ret, exists = {}, {}&lt;br /&gt;
	for _, v in ipairs(arr) do&lt;br /&gt;
		if isNan(v) then&lt;br /&gt;
			-- NaNs can&#039;t be table keys, and they are also unique, so we don&#039;t need to check existence.&lt;br /&gt;
			ret[#ret + 1] = v&lt;br /&gt;
		elseif not exists[v] then&lt;br /&gt;
			ret[#ret + 1] = v&lt;br /&gt;
			exists[v] = true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- numKeys&lt;br /&gt;
--&lt;br /&gt;
-- This takes a table and returns an array containing the numbers of any numerical&lt;br /&gt;
-- keys that have non-nil values, sorted in numerical order.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
function p.numKeys(t)&lt;br /&gt;
	checkType(&#039;numKeys&#039;, 1, t, &#039;table&#039;)&lt;br /&gt;
	local isPositiveInteger = p.isPositiveInteger&lt;br /&gt;
	local nums = {}&lt;br /&gt;
	for k in pairs(t) do&lt;br /&gt;
		if isPositiveInteger(k) then&lt;br /&gt;
			nums[#nums + 1] = k&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(nums)&lt;br /&gt;
	return nums&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- affixNums&lt;br /&gt;
--&lt;br /&gt;
-- This takes a table and returns an array containing the numbers of keys with the&lt;br /&gt;
-- specified prefix and suffix. For example, for the table&lt;br /&gt;
-- {a1 = &#039;foo&#039;, a3 = &#039;bar&#039;, a6 = &#039;baz&#039;} and the prefix &amp;quot;a&amp;quot;, affixNums will return&lt;br /&gt;
-- {1, 3, 6}.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
function p.affixNums(t, prefix, suffix)&lt;br /&gt;
	checkType(&#039;affixNums&#039;, 1, t, &#039;table&#039;)&lt;br /&gt;
	checkType(&#039;affixNums&#039;, 2, prefix, &#039;string&#039;, true)&lt;br /&gt;
	checkType(&#039;affixNums&#039;, 3, suffix, &#039;string&#039;, true)&lt;br /&gt;
&lt;br /&gt;
	local function cleanPattern(s)&lt;br /&gt;
		-- Cleans a pattern so that the magic characters ()%.[]*+-?^$ are interpreted literally.&lt;br /&gt;
		return s:gsub(&#039;([%(%)%%%.%[%]%*%+%-%?%^%$])&#039;, &#039;%%%1&#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	prefix = prefix or &#039;&#039;&lt;br /&gt;
	suffix = suffix or &#039;&#039;&lt;br /&gt;
	prefix = cleanPattern(prefix)&lt;br /&gt;
	suffix = cleanPattern(suffix)&lt;br /&gt;
	local pattern = &#039;^&#039; .. prefix .. &#039;([1-9]%d*)&#039; .. suffix .. &#039;$&#039;&lt;br /&gt;
&lt;br /&gt;
	local nums = {}&lt;br /&gt;
	for k in pairs(t) do&lt;br /&gt;
		if type(k) == &#039;string&#039; then&lt;br /&gt;
			local num = mw.ustring.match(k, pattern)&lt;br /&gt;
			if num then&lt;br /&gt;
				nums[#nums + 1] = tonumber(num)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(nums)&lt;br /&gt;
	return nums&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- numData&lt;br /&gt;
--&lt;br /&gt;
-- Given a table with keys like {&amp;quot;foo1&amp;quot;, &amp;quot;bar1&amp;quot;, &amp;quot;foo2&amp;quot;, &amp;quot;baz2&amp;quot;}, returns a table&lt;br /&gt;
-- of subtables in the format&lt;br /&gt;
-- {[1] = {foo = &#039;text&#039;, bar = &#039;text&#039;}, [2] = {foo = &#039;text&#039;, baz = &#039;text&#039;}}.&lt;br /&gt;
-- Keys that don&#039;t end with an integer are stored in a subtable named &amp;quot;other&amp;quot;. The&lt;br /&gt;
-- compress option compresses the table so that it can be iterated over with&lt;br /&gt;
-- ipairs.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
function p.numData(t, compress)&lt;br /&gt;
	checkType(&#039;numData&#039;, 1, t, &#039;table&#039;)&lt;br /&gt;
	checkType(&#039;numData&#039;, 2, compress, &#039;boolean&#039;, true)&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	for k, v in pairs(t) do&lt;br /&gt;
		local prefix, num = mw.ustring.match(tostring(k), &#039;^([^0-9]*)([1-9][0-9]*)$&#039;)&lt;br /&gt;
		if num then&lt;br /&gt;
			num = tonumber(num)&lt;br /&gt;
			local subtable = ret[num] or {}&lt;br /&gt;
			if prefix == &#039;&#039; then&lt;br /&gt;
				-- Positional parameters match the blank string; put them at the start of the subtable instead.&lt;br /&gt;
				prefix = 1&lt;br /&gt;
			end&lt;br /&gt;
			subtable[prefix] = v&lt;br /&gt;
			ret[num] = subtable&lt;br /&gt;
		else&lt;br /&gt;
			local subtable = ret.other or {}&lt;br /&gt;
			subtable[k] = v&lt;br /&gt;
			ret.other = subtable&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if compress then&lt;br /&gt;
		local other = ret.other&lt;br /&gt;
		ret = p.compressSparseArray(ret)&lt;br /&gt;
		ret.other = other&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- compressSparseArray&lt;br /&gt;
--&lt;br /&gt;
-- This takes an array with one or more nil values, and removes the nil values&lt;br /&gt;
-- while preserving the order, so that the array can be safely traversed with&lt;br /&gt;
-- ipairs.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
function p.compressSparseArray(t)&lt;br /&gt;
	checkType(&#039;compressSparseArray&#039;, 1, t, &#039;table&#039;)&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	local nums = p.numKeys(t)&lt;br /&gt;
	for _, num in ipairs(nums) do&lt;br /&gt;
		ret[#ret + 1] = t[num]&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- sparseIpairs&lt;br /&gt;
--&lt;br /&gt;
-- This is an iterator for sparse arrays. It can be used like ipairs, but can&lt;br /&gt;
-- handle nil values.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
function p.sparseIpairs(t)&lt;br /&gt;
	checkType(&#039;sparseIpairs&#039;, 1, t, &#039;table&#039;)&lt;br /&gt;
	local nums = p.numKeys(t)&lt;br /&gt;
	local i = 0&lt;br /&gt;
	local lim = #nums&lt;br /&gt;
	return function ()&lt;br /&gt;
		i = i + 1&lt;br /&gt;
		if i &amp;lt;= lim then&lt;br /&gt;
			local key = nums[i]&lt;br /&gt;
			return key, t[key]&lt;br /&gt;
		else&lt;br /&gt;
			return nil, nil&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- size&lt;br /&gt;
--&lt;br /&gt;
-- This returns the size of a key/value pair table. It will also work on arrays,&lt;br /&gt;
-- but for arrays it is more efficient to use the # operator.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
function p.size(t)&lt;br /&gt;
	checkType(&#039;size&#039;, 1, t, &#039;table&#039;)&lt;br /&gt;
	local i = 0&lt;br /&gt;
	for _ in pairs(t) do&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	end&lt;br /&gt;
	return i&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function defaultKeySort(item1, item2)&lt;br /&gt;
	-- &amp;quot;number&amp;quot; &amp;lt; &amp;quot;string&amp;quot;, so numbers will be sorted before strings.&lt;br /&gt;
	local type1, type2 = type(item1), type(item2)&lt;br /&gt;
	if type1 ~= type2 then&lt;br /&gt;
		return type1 &amp;lt; type2&lt;br /&gt;
	elseif type1 == &#039;table&#039; or type1 == &#039;boolean&#039; or type1 == &#039;function&#039; then&lt;br /&gt;
		return tostring(item1) &amp;lt; tostring(item2)&lt;br /&gt;
	else&lt;br /&gt;
		return item1 &amp;lt; item2&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- keysToList&lt;br /&gt;
--&lt;br /&gt;
-- Returns an array of the keys in a table, sorted using either a default&lt;br /&gt;
-- comparison function or a custom keySort function.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
function p.keysToList(t, keySort, checked)&lt;br /&gt;
	if not checked then&lt;br /&gt;
		checkType(&#039;keysToList&#039;, 1, t, &#039;table&#039;)&lt;br /&gt;
		checkTypeMulti(&#039;keysToList&#039;, 2, keySort, {&#039;function&#039;, &#039;boolean&#039;, &#039;nil&#039;})&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local arr = {}&lt;br /&gt;
	local index = 1&lt;br /&gt;
	for k in pairs(t) do&lt;br /&gt;
		arr[index] = k&lt;br /&gt;
		index = index + 1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if keySort ~= false then&lt;br /&gt;
		keySort = type(keySort) == &#039;function&#039; and keySort or defaultKeySort&lt;br /&gt;
		table.sort(arr, keySort)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return arr&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- sortedPairs&lt;br /&gt;
--&lt;br /&gt;
-- Iterates through a table, with the keys sorted using the keysToList function.&lt;br /&gt;
-- If there are only numerical keys, sparseIpairs is probably more efficient.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
function p.sortedPairs(t, keySort)&lt;br /&gt;
	checkType(&#039;sortedPairs&#039;, 1, t, &#039;table&#039;)&lt;br /&gt;
	checkType(&#039;sortedPairs&#039;, 2, keySort, &#039;function&#039;, true)&lt;br /&gt;
&lt;br /&gt;
	local arr = p.keysToList(t, keySort, true)&lt;br /&gt;
&lt;br /&gt;
	local i = 0&lt;br /&gt;
	return function ()&lt;br /&gt;
		i = i + 1&lt;br /&gt;
		local key = arr[i]&lt;br /&gt;
		if key ~= nil then&lt;br /&gt;
			return key, t[key]&lt;br /&gt;
		else&lt;br /&gt;
			return nil, nil&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- isArray&lt;br /&gt;
--&lt;br /&gt;
-- Returns true if the given value is a table and all keys are consecutive&lt;br /&gt;
-- integers starting at 1.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
function p.isArray(v)&lt;br /&gt;
	if type(v) ~= &#039;table&#039; then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	local i = 0&lt;br /&gt;
	for _ in pairs(v) do&lt;br /&gt;
		i = i + 1&lt;br /&gt;
		if v[i] == nil then&lt;br /&gt;
			return false&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return true&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- isArrayLike&lt;br /&gt;
--&lt;br /&gt;
-- Returns true if the given value is iterable and all keys are consecutive&lt;br /&gt;
-- integers starting at 1.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
function p.isArrayLike(v)&lt;br /&gt;
	if not pcall(pairs, v) then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	local i = 0&lt;br /&gt;
	for _ in pairs(v) do&lt;br /&gt;
		i = i + 1&lt;br /&gt;
		if v[i] == nil then&lt;br /&gt;
			return false&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return true&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- invert&lt;br /&gt;
--&lt;br /&gt;
-- Transposes the keys and values in an array. For example, {&amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, &amp;quot;c&amp;quot;} -&amp;gt;&lt;br /&gt;
-- {a = 1, b = 2, c = 3}. Duplicates are not supported (result values refer to&lt;br /&gt;
-- the index of the last duplicate) and NaN values are ignored.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
function p.invert(arr)&lt;br /&gt;
	checkType(&amp;quot;invert&amp;quot;, 1, arr, &amp;quot;table&amp;quot;)&lt;br /&gt;
	local isNan = p.isNan&lt;br /&gt;
	local map = {}&lt;br /&gt;
	for i, v in ipairs(arr) do&lt;br /&gt;
		if not isNan(v) then&lt;br /&gt;
			map[v] = i&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return map&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- listToSet&lt;br /&gt;
--&lt;br /&gt;
-- Creates a set from the array part of the table. Indexing the set by any of the&lt;br /&gt;
-- values of the array returns true. For example, {&amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, &amp;quot;c&amp;quot;} -&amp;gt;&lt;br /&gt;
-- {a = true, b = true, c = true}. NaN values are ignored as Lua considers them&lt;br /&gt;
-- never equal to any value (including other NaNs or even themselves).&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
function p.listToSet(arr)&lt;br /&gt;
	checkType(&amp;quot;listToSet&amp;quot;, 1, arr, &amp;quot;table&amp;quot;)&lt;br /&gt;
	local isNan = p.isNan&lt;br /&gt;
	local set = {}&lt;br /&gt;
	for _, v in ipairs(arr) do&lt;br /&gt;
		if not isNan(v) then&lt;br /&gt;
			set[v] = true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return set&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- deepCopy&lt;br /&gt;
--&lt;br /&gt;
-- Recursive deep copy function. Preserves identities of subtables.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
local function _deepCopy(orig, includeMetatable, already_seen)&lt;br /&gt;
	if type(orig) ~= &amp;quot;table&amp;quot; then&lt;br /&gt;
		return orig&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- already_seen stores copies of tables indexed by the original table.&lt;br /&gt;
	local copy = already_seen[orig]&lt;br /&gt;
	if copy ~= nil then&lt;br /&gt;
		return copy&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	copy = {}&lt;br /&gt;
	already_seen[orig] = copy -- memoize before any recursion, to avoid infinite loops&lt;br /&gt;
	&lt;br /&gt;
	for orig_key, orig_value in pairs(orig) do&lt;br /&gt;
		copy[_deepCopy(orig_key, includeMetatable, already_seen)] = _deepCopy(orig_value, includeMetatable, already_seen)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if includeMetatable then&lt;br /&gt;
		local mt = getmetatable(orig)&lt;br /&gt;
		if mt ~= nil then&lt;br /&gt;
			setmetatable(copy, _deepCopy(mt, true, already_seen))&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return copy&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.deepCopy(orig, noMetatable, already_seen)&lt;br /&gt;
	checkType(&amp;quot;deepCopy&amp;quot;, 3, already_seen, &amp;quot;table&amp;quot;, true)&lt;br /&gt;
	return _deepCopy(orig, not noMetatable, already_seen or {})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- sparseConcat&lt;br /&gt;
--&lt;br /&gt;
-- Concatenates all values in the table that are indexed by a number, in order.&lt;br /&gt;
-- sparseConcat{a, nil, c, d}  =&amp;gt;  &amp;quot;acd&amp;quot;&lt;br /&gt;
-- sparseConcat{nil, b, c, d}  =&amp;gt;  &amp;quot;bcd&amp;quot;&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
function p.sparseConcat(t, sep, i, j)&lt;br /&gt;
	local arr = {}&lt;br /&gt;
&lt;br /&gt;
	local arr_i = 0&lt;br /&gt;
	for _, v in p.sparseIpairs(t) do&lt;br /&gt;
		arr_i = arr_i + 1&lt;br /&gt;
		arr[arr_i] = v&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return table.concat(arr, sep, i, j)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- length&lt;br /&gt;
--&lt;br /&gt;
-- Finds the length of an array, or of a quasi-array with keys such as &amp;quot;data1&amp;quot;,&lt;br /&gt;
-- &amp;quot;data2&amp;quot;, etc., using an exponential search algorithm. It is similar to the&lt;br /&gt;
-- operator #, but may return a different value when there are gaps in the array&lt;br /&gt;
-- portion of the table. Intended to be used on data loaded with mw.loadData. For&lt;br /&gt;
-- other tables, use #.&lt;br /&gt;
-- Note: #frame.args in frame object always be set to 0, regardless of  the number&lt;br /&gt;
-- of unnamed template parameters, so use this function for frame.args.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
function p.length(t, prefix)&lt;br /&gt;
	-- requiring module inline so that [[Module:Exponential search]] which is&lt;br /&gt;
	-- only needed by this one function doesn&#039;t get millions of transclusions&lt;br /&gt;
	local expSearch = require(&amp;quot;Module:Exponential search&amp;quot;)&lt;br /&gt;
	checkType(&#039;length&#039;, 1, t, &#039;table&#039;)&lt;br /&gt;
	checkType(&#039;length&#039;, 2, prefix, &#039;string&#039;, true)&lt;br /&gt;
	return expSearch(function (i)&lt;br /&gt;
		local key&lt;br /&gt;
		if prefix then&lt;br /&gt;
			key = prefix .. tostring(i)&lt;br /&gt;
		else&lt;br /&gt;
			key = i&lt;br /&gt;
		end&lt;br /&gt;
		return t[key] ~= nil&lt;br /&gt;
	end) or 0&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- inArray&lt;br /&gt;
--&lt;br /&gt;
-- Returns true if searchElement is a member of the array, and false otherwise.&lt;br /&gt;
-- Equivalent to JavaScript array.includes(searchElement) or&lt;br /&gt;
-- array.includes(searchElement, fromIndex), except fromIndex is 1 indexed&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
function p.inArray(array, searchElement, fromIndex)&lt;br /&gt;
	checkType(&amp;quot;inArray&amp;quot;, 1, array, &amp;quot;table&amp;quot;)&lt;br /&gt;
	-- if searchElement is nil, error?&lt;br /&gt;
&lt;br /&gt;
	fromIndex = tonumber(fromIndex)&lt;br /&gt;
	if fromIndex then&lt;br /&gt;
		if (fromIndex &amp;lt; 0) then&lt;br /&gt;
			fromIndex = #array + fromIndex + 1&lt;br /&gt;
		end&lt;br /&gt;
		if fromIndex &amp;lt; 1 then fromIndex = 1 end&lt;br /&gt;
		for _, v in ipairs({unpack(array, fromIndex)}) do&lt;br /&gt;
			if v == searchElement then&lt;br /&gt;
				return true&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		for _, v in pairs(array) do&lt;br /&gt;
			if v == searchElement then&lt;br /&gt;
				return true&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- merge&lt;br /&gt;
--&lt;br /&gt;
-- Given the arrays, returns an array containing the elements of each input array&lt;br /&gt;
-- in sequence.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
function p.merge(...)&lt;br /&gt;
	local arrays = {...}&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	for i, arr in ipairs(arrays) do&lt;br /&gt;
		checkType(&#039;merge&#039;, i, arr, &#039;table&#039;)&lt;br /&gt;
		for _, v in ipairs(arr) do&lt;br /&gt;
			ret[#ret + 1] = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- extend&lt;br /&gt;
--&lt;br /&gt;
-- Extends the first array in place by appending all elements from the second&lt;br /&gt;
-- array.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
function p.extend(arr1, arr2)&lt;br /&gt;
	checkType(&#039;extend&#039;, 1, arr1, &#039;table&#039;)&lt;br /&gt;
	checkType(&#039;extend&#039;, 2, arr2, &#039;table&#039;)&lt;br /&gt;
&lt;br /&gt;
	for _, v in ipairs(arr2) do&lt;br /&gt;
		arr1[#arr1 + 1] = v&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:List&amp;diff=3211</id>
		<title>Module:List</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:List&amp;diff=3211"/>
		<updated>2025-09-04T07:24:57Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local libUtil = require(&#039;libraryUtil&#039;)&lt;br /&gt;
local checkType = libUtil.checkType&lt;br /&gt;
local mTableTools = require(&#039;Module:TableTools&#039;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local listTypes = {&lt;br /&gt;
	[&#039;bulleted&#039;] = true,&lt;br /&gt;
	[&#039;unbulleted&#039;] = true,&lt;br /&gt;
	[&#039;horizontal&#039;] = true,&lt;br /&gt;
	[&#039;ordered&#039;] = true,&lt;br /&gt;
	[&#039;horizontal_ordered&#039;] = true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function p.makeListData(listType, args)&lt;br /&gt;
	-- Constructs a data table to be passed to p.renderList.&lt;br /&gt;
	local data = {}&lt;br /&gt;
&lt;br /&gt;
	-- Classes and TemplateStyles&lt;br /&gt;
	data.classes = {}&lt;br /&gt;
	data.templatestyles = &#039;&#039;&lt;br /&gt;
	if listType == &#039;horizontal&#039; or listType == &#039;horizontal_ordered&#039; then&lt;br /&gt;
		table.insert(data.classes, &#039;hlist&#039;)&lt;br /&gt;
		data.templatestyles = mw.getCurrentFrame():extensionTag{&lt;br /&gt;
			name = &#039;templatestyles&#039;, args = { src = &#039;Hlist/styles.css&#039; }&lt;br /&gt;
		}&lt;br /&gt;
	elseif listType == &#039;unbulleted&#039; then&lt;br /&gt;
		table.insert(data.classes, &#039;plainlist&#039;)&lt;br /&gt;
		data.templatestyles = mw.getCurrentFrame():extensionTag{&lt;br /&gt;
			name = &#039;templatestyles&#039;, args = { src = &#039;Plainlist/styles.css&#039; }&lt;br /&gt;
		}&lt;br /&gt;
	end&lt;br /&gt;
	table.insert(data.classes, args.class)&lt;br /&gt;
&lt;br /&gt;
	-- Main div style&lt;br /&gt;
	data.style = args.style&lt;br /&gt;
&lt;br /&gt;
	-- Indent for horizontal lists&lt;br /&gt;
	if listType == &#039;horizontal&#039; or listType == &#039;horizontal_ordered&#039; then&lt;br /&gt;
		local indent = tonumber(args.indent)&lt;br /&gt;
		indent = indent and indent * 1.6 or 0&lt;br /&gt;
		if indent &amp;gt; 0 then&lt;br /&gt;
			data.marginLeft = indent .. &#039;em&#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- List style types for ordered lists&lt;br /&gt;
	-- This could be &amp;quot;1, 2, 3&amp;quot;, &amp;quot;a, b, c&amp;quot;, or a number of others. The list style&lt;br /&gt;
	-- type is either set by the &amp;quot;type&amp;quot; attribute or the &amp;quot;list-style-type&amp;quot; CSS&lt;br /&gt;
	-- property.&lt;br /&gt;
	if listType == &#039;ordered&#039; or listType == &#039;horizontal_ordered&#039; then &lt;br /&gt;
		data.listStyleType = args.list_style_type or args[&#039;list-style-type&#039;]&lt;br /&gt;
		data.type = args[&#039;type&#039;]&lt;br /&gt;
&lt;br /&gt;
		-- Detect invalid type attributes and attempt to convert them to&lt;br /&gt;
		-- list-style-type CSS properties.&lt;br /&gt;
		if data.type &lt;br /&gt;
			and not data.listStyleType&lt;br /&gt;
			and not tostring(data.type):find(&#039;^%s*[1AaIi]%s*$&#039;)&lt;br /&gt;
		then&lt;br /&gt;
			data.listStyleType = data.type&lt;br /&gt;
			data.type = nil&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- List tag type&lt;br /&gt;
	if listType == &#039;ordered&#039; or listType == &#039;horizontal_ordered&#039; then&lt;br /&gt;
		data.listTag = &#039;ol&#039;&lt;br /&gt;
	else&lt;br /&gt;
		data.listTag = &#039;ul&#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Start number for ordered lists&lt;br /&gt;
	data.start = args.start&lt;br /&gt;
	if listType == &#039;horizontal_ordered&#039; then&lt;br /&gt;
		-- Apply fix to get start numbers working with horizontal ordered lists.&lt;br /&gt;
		local startNum = tonumber(data.start)&lt;br /&gt;
		if startNum then&lt;br /&gt;
			data.counterReset = &#039;listitem &#039; .. tostring(startNum - 1)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- List style&lt;br /&gt;
	 -- ul_style and ol_style are included for backwards compatibility. No&lt;br /&gt;
	 -- distinction is made for ordered or unordered lists.&lt;br /&gt;
	data.listStyle = args.list_style&lt;br /&gt;
&lt;br /&gt;
	-- List items&lt;br /&gt;
	-- li_style is included for backwards compatibility. item_style was included&lt;br /&gt;
	-- to be easier to understand for non-coders.&lt;br /&gt;
	data.itemStyle = args.item_style or args.li_style&lt;br /&gt;
	data.items = {}&lt;br /&gt;
	for _, num in ipairs(mTableTools.numKeys(args)) do&lt;br /&gt;
		local item = {}&lt;br /&gt;
		item.content = args[num]&lt;br /&gt;
		item.style = args[&#039;item&#039; .. tostring(num) .. &#039;_style&#039;]&lt;br /&gt;
			or args[&#039;item_style&#039; .. tostring(num)]&lt;br /&gt;
		item.value = args[&#039;item&#039; .. tostring(num) .. &#039;_value&#039;]&lt;br /&gt;
			or args[&#039;item_value&#039; .. tostring(num)]&lt;br /&gt;
		table.insert(data.items, item)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return data&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.renderList(data)&lt;br /&gt;
	-- Renders the list HTML.&lt;br /&gt;
	&lt;br /&gt;
	-- Return the blank string if there are no list items.&lt;br /&gt;
	if type(data.items) ~= &#039;table&#039; or #data.items &amp;lt; 1 then&lt;br /&gt;
		return &#039;&#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Render the main div tag.&lt;br /&gt;
	local root = mw.html.create(&#039;div&#039;)&lt;br /&gt;
	for _, class in ipairs(data.classes or {}) do&lt;br /&gt;
		root:addClass(class)&lt;br /&gt;
	end&lt;br /&gt;
	root:css{[&#039;margin-left&#039;] = data.marginLeft}&lt;br /&gt;
	if data.style then&lt;br /&gt;
		root:cssText(data.style)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Render the list tag.&lt;br /&gt;
	local list = root:tag(data.listTag or &#039;ul&#039;)&lt;br /&gt;
	list&lt;br /&gt;
		:attr{start = data.start, type = data.type}&lt;br /&gt;
		:css{&lt;br /&gt;
			[&#039;counter-reset&#039;] = data.counterReset,&lt;br /&gt;
			[&#039;list-style-type&#039;] = data.listStyleType&lt;br /&gt;
		}&lt;br /&gt;
	if data.listStyle then&lt;br /&gt;
		list:cssText(data.listStyle)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Render the list items&lt;br /&gt;
	for _, t in ipairs(data.items or {}) do&lt;br /&gt;
		local item = list:tag(&#039;li&#039;)&lt;br /&gt;
		if data.itemStyle then&lt;br /&gt;
			item:cssText(data.itemStyle)&lt;br /&gt;
		end&lt;br /&gt;
		if t.style then&lt;br /&gt;
			item:cssText(t.style)&lt;br /&gt;
		end&lt;br /&gt;
		item&lt;br /&gt;
			:attr{value = t.value}&lt;br /&gt;
			:wikitext(t.content)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return data.templatestyles .. tostring(root)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.renderTrackingCategories(args)&lt;br /&gt;
	local isDeprecated = false -- Tracks deprecated parameters.&lt;br /&gt;
	for k, v in pairs(args) do&lt;br /&gt;
		k = tostring(k)&lt;br /&gt;
		if k:find(&#039;^item_style%d+$&#039;) or k:find(&#039;^item_value%d+$&#039;) then&lt;br /&gt;
			isDeprecated = true&lt;br /&gt;
			break&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local ret = &#039;&#039;&lt;br /&gt;
	if isDeprecated then&lt;br /&gt;
		ret = ret .. &#039;[[Category:List templates with deprecated parameters]]&#039;&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeList(listType, args)&lt;br /&gt;
	if not listType or not listTypes[listType] then&lt;br /&gt;
		error(string.format(&lt;br /&gt;
			&amp;quot;bad argument #1 to &#039;makeList&#039; (&#039;%s&#039; is not a valid list type)&amp;quot;,&lt;br /&gt;
			tostring(listType)&lt;br /&gt;
		), 2)&lt;br /&gt;
	end&lt;br /&gt;
	checkType(&#039;makeList&#039;, 2, args, &#039;table&#039;)&lt;br /&gt;
	local data = p.makeListData(listType, args)&lt;br /&gt;
	local list = p.renderList(data)&lt;br /&gt;
	local trackingCategories = p.renderTrackingCategories(args)&lt;br /&gt;
	return list .. trackingCategories&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
for listType in pairs(listTypes) do&lt;br /&gt;
	p[listType] = function (frame)&lt;br /&gt;
		local mArguments = require(&#039;Module:Arguments&#039;)&lt;br /&gt;
		local origArgs = mArguments.getArgs(frame, {&lt;br /&gt;
			frameOnly = ((frame and frame.args and frame.args.frameonly or &#039;&#039;) ~= &#039;&#039;),&lt;br /&gt;
			valueFunc = function (key, value)&lt;br /&gt;
			if not value or not mw.ustring.find(value, &#039;%S&#039;) then return nil end&lt;br /&gt;
			if mw.ustring.find(value, &#039;^%s*[%*#;:]&#039;) then&lt;br /&gt;
				return value&lt;br /&gt;
			else&lt;br /&gt;
				return value:match(&#039;^%s*(.-)%s*$&#039;)&lt;br /&gt;
			end&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
		})&lt;br /&gt;
		-- Copy all the arguments to a new table, for faster indexing.&lt;br /&gt;
		local args = {}&lt;br /&gt;
		for k, v in pairs(origArgs) do&lt;br /&gt;
			args[k] = v&lt;br /&gt;
		end&lt;br /&gt;
		return p.makeList(listType, args)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Template:Sandbox_other&amp;diff=3209</id>
		<title>Template:Sandbox other</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Template:Sandbox_other&amp;diff=3209"/>
		<updated>2025-09-04T07:24:56Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;onlyinclude&amp;gt;{{safesubst:&amp;lt;noinclude/&amp;gt;#if:{{safesubst:&amp;lt;noinclude/&amp;gt;#ifeq:{{safesubst:&amp;lt;noinclude/&amp;gt;#invoke:String|sublength|s={{safesubst:&amp;lt;noinclude/&amp;gt;SUBPAGENAME}}|i=0|len=7}}|sandbox|1}}{{safesubst:&amp;lt;noinclude/&amp;gt;#ifeq:{{safesubst:&amp;lt;noinclude/&amp;gt;SUBPAGENAME}}|doc|1}}{{safesubst:&amp;lt;noinclude/&amp;gt;#invoke:String|match|{{safesubst:&amp;lt;noinclude/&amp;gt;PAGENAME}}|/sandbox/styles.css$|plain=false|nomatch=}}|{{{1|}}}|{{{2|}}}}}&amp;lt;/onlyinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{documentation}}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Template:Yesno&amp;diff=3207</id>
		<title>Template:Yesno</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Template:Yesno&amp;diff=3207"/>
		<updated>2025-09-04T07:24:56Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&amp;lt;includeonly&amp;gt;safesubst:&amp;lt;/includeonly&amp;gt;#switch: {{&amp;lt;includeonly&amp;gt;safesubst:&amp;lt;/includeonly&amp;gt;lc: {{{1|¬}}} }}&lt;br /&gt;
 |no&lt;br /&gt;
 |n&lt;br /&gt;
 |f&lt;br /&gt;
 |false&lt;br /&gt;
 |off&lt;br /&gt;
 |0        = {{{no|&amp;lt;!-- null --&amp;gt;}}}&lt;br /&gt;
 |         = {{{blank|{{{no|&amp;lt;!-- null --&amp;gt;}}}}}}&lt;br /&gt;
 |¬        = {{{¬|}}}&lt;br /&gt;
 |yes&lt;br /&gt;
 |y&lt;br /&gt;
 |t&lt;br /&gt;
 |true&lt;br /&gt;
 |on&lt;br /&gt;
 |1        = {{{yes|yes}}}&lt;br /&gt;
 |#default = {{{def|{{{yes|yes}}}}}}&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Template:IsDocSubpage&amp;diff=3205</id>
		<title>Template:IsDocSubpage</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Template:IsDocSubpage&amp;diff=3205"/>
		<updated>2025-09-04T07:24:56Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;onlyinclude&amp;gt;&amp;lt;includeonly&amp;gt;{{#ifexpr: (&lt;br /&gt;
	{{#ifeq:{{lc:{{SUBPAGENAME}}}}|{{lc:{{{override|doc}}}}}|1|0}} or (&lt;br /&gt;
		{{#ifeq:{{lc:{{#titleparts:{{FULLPAGENAME}}|-1|-2}}}}|{{lc:{{{override|doc}}}}}|1|0}}&lt;br /&gt;
		and {{#if:{{#translation:}}|1|0}}&lt;br /&gt;
	)&lt;br /&gt;
)&amp;lt;!--&lt;br /&gt;
	--&amp;gt;|{{{true|1}}}&amp;lt;!--&lt;br /&gt;
	--&amp;gt;|{{{false|}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;}}&amp;lt;/includeonly&amp;gt;&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;!-- Add categories to the /doc subpage and interwikis in Wikidata, not here! --&amp;gt;&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Template:Translatable/en&amp;diff=3203</id>
		<title>Template:Translatable/en</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Template:Translatable/en&amp;diff=3203"/>
		<updated>2025-09-04T07:24:55Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;languages /&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;{{#ifeq:{{pagelang|{{{1|{{FULLPAGENAME}}}}}}}|&lt;br /&gt;
|{{{1|{{FULLPAGENAME}}}}}&lt;br /&gt;
|{{#invoke:String|sub|{{{1|{{FULLPAGENAME}}}}}&lt;br /&gt;
  |1&lt;br /&gt;
  |{{#expr:{{#invoke:String|len|{{{1|{{FULLPAGENAME}}}}}}}-{{#invoke:String|len|{{pagelang|{{{1|{{FULLPAGENAME}}}}}}}}}-1}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation|content=&lt;br /&gt;
{{Lua|Module:String}}&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
* {{tlx|translatable}}&lt;br /&gt;
{{translatable}}&lt;br /&gt;
* {{tlx|translatable|2=Page name}}&lt;br /&gt;
{{translatable|1=Page name}}&lt;br /&gt;
* {{tlx|translatable|2=Page name/{{PAGELANGUAGE}} }}&lt;br /&gt;
{{translatable|1=Page name/{{PAGELANGUAGE}} }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Internationalization templates{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:String&amp;diff=3201</id>
		<title>Module:String</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:String&amp;diff=3201"/>
		<updated>2025-09-04T07:24:54Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--[[&lt;br /&gt;
&lt;br /&gt;
This module is intended to provide access to basic string functions.&lt;br /&gt;
&lt;br /&gt;
Most of the functions provided here can be invoked with named parameters,&lt;br /&gt;
unnamed parameters, or a mixture.  If named parameters are used, Mediawiki will&lt;br /&gt;
automatically remove any leading or trailing whitespace from the parameter.&lt;br /&gt;
Depending on the intended use, it may be advantageous to either preserve or&lt;br /&gt;
remove such whitespace.&lt;br /&gt;
&lt;br /&gt;
Global options&lt;br /&gt;
    ignore_errors: If set to &#039;true&#039; or 1, any error condition will result in&lt;br /&gt;
        an empty string being returned rather than an error message.&lt;br /&gt;
&lt;br /&gt;
    error_category: If an error occurs, specifies the name of a category to&lt;br /&gt;
        include with the error message.  The default category is&lt;br /&gt;
        [Category:Errors reported by Module String].&lt;br /&gt;
&lt;br /&gt;
    no_category: If set to &#039;true&#039; or 1, no category will be added if an error&lt;br /&gt;
        is generated.&lt;br /&gt;
&lt;br /&gt;
Unit tests for this module are available at Module:String/tests.&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local str = {}&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
len&lt;br /&gt;
&lt;br /&gt;
This function returns the length of the target string.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|len|target_string|}}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:String|len|s=target_string}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    s: The string whose length to report&lt;br /&gt;
&lt;br /&gt;
If invoked using named parameters, Mediawiki will automatically remove any leading or&lt;br /&gt;
trailing whitespace from the target string.&lt;br /&gt;
]]&lt;br /&gt;
function str.len( frame )&lt;br /&gt;
	local new_args = str._getParameters( frame.args, {&#039;s&#039;} )&lt;br /&gt;
	local s = new_args[&#039;s&#039;] or &#039;&#039;&lt;br /&gt;
	return mw.ustring.len( s )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
sub&lt;br /&gt;
&lt;br /&gt;
This function returns a substring of the target string at specified indices.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|sub|target_string|start_index|end_index}}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:String|sub|s=target_string|i=start_index|j=end_index}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    s: The string to return a subset of&lt;br /&gt;
    i: The first index of the substring to return, defaults to 1.&lt;br /&gt;
    j: The last index of the string to return, defaults to the last character.&lt;br /&gt;
&lt;br /&gt;
The first character of the string is assigned an index of 1.  If either i or j&lt;br /&gt;
is a negative value, it is interpreted the same as selecting a character by&lt;br /&gt;
counting from the end of the string.  Hence, a value of -1 is the same as&lt;br /&gt;
selecting the last character of the string.&lt;br /&gt;
&lt;br /&gt;
If the requested indices are out of range for the given string, an error is&lt;br /&gt;
reported.&lt;br /&gt;
]]&lt;br /&gt;
function str.sub( frame )&lt;br /&gt;
	local new_args = str._getParameters( frame.args, { &#039;s&#039;, &#039;i&#039;, &#039;j&#039; } )&lt;br /&gt;
	local s = new_args[&#039;s&#039;] or &#039;&#039;&lt;br /&gt;
	local i = tonumber( new_args[&#039;i&#039;] ) or 1&lt;br /&gt;
	local j = tonumber( new_args[&#039;j&#039;] ) or -1&lt;br /&gt;
&lt;br /&gt;
	local len = mw.ustring.len( s )&lt;br /&gt;
&lt;br /&gt;
	-- Convert negatives for range checking&lt;br /&gt;
	if i &amp;lt; 0 then&lt;br /&gt;
		i = len + i + 1&lt;br /&gt;
	end&lt;br /&gt;
	if j &amp;lt; 0 then&lt;br /&gt;
		j = len + j + 1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if i &amp;gt; len or j &amp;gt; len or i &amp;lt; 1 or j &amp;lt; 1 then&lt;br /&gt;
		return str._error( &#039;String subset index out of range&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	if j &amp;lt; i then&lt;br /&gt;
		return str._error( &#039;String subset indices out of order&#039; )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return mw.ustring.sub( s, i, j )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
This function implements that features of {{str sub old}} and is kept in order&lt;br /&gt;
to maintain these older templates.&lt;br /&gt;
]]&lt;br /&gt;
function str.sublength( frame )&lt;br /&gt;
	local i = tonumber( frame.args.i ) or 0&lt;br /&gt;
	local len = tonumber( frame.args.len )&lt;br /&gt;
	return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
_match&lt;br /&gt;
&lt;br /&gt;
This function returns a substring from the source string that matches a&lt;br /&gt;
specified pattern. It is exported for use in other modules&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
strmatch = require(&amp;quot;Module:String&amp;quot;)._match&lt;br /&gt;
sresult = strmatch( s, pattern, start, match, plain, nomatch )&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    s: The string to search&lt;br /&gt;
    pattern: The pattern or string to find within the string&lt;br /&gt;
    start: The index within the source string to start the search.  The first&lt;br /&gt;
        character of the string has index 1.  Defaults to 1.&lt;br /&gt;
    match: In some cases it may be possible to make multiple matches on a single&lt;br /&gt;
        string.  This specifies which match to return, where the first match is&lt;br /&gt;
        match= 1.  If a negative number is specified then a match is returned&lt;br /&gt;
        counting from the last match.  Hence match = -1 is the same as requesting&lt;br /&gt;
        the last match.  Defaults to 1.&lt;br /&gt;
    plain: A flag indicating that the pattern should be understood as plain&lt;br /&gt;
        text.  Defaults to false.&lt;br /&gt;
    nomatch: If no match is found, output the &amp;quot;nomatch&amp;quot; value rather than an error.&lt;br /&gt;
&lt;br /&gt;
For information on constructing Lua patterns, a form of [regular expression], see:&lt;br /&gt;
&lt;br /&gt;
* http://www.lua.org/manual/5.1/manual.html#5.4.1&lt;br /&gt;
* http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns&lt;br /&gt;
* http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
-- This sub-routine is exported for use in other modules&lt;br /&gt;
function str._match( s, pattern, start, match_index, plain_flag, nomatch )&lt;br /&gt;
	if s == &#039;&#039; then&lt;br /&gt;
		return str._error( &#039;Target string is empty&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	if pattern == &#039;&#039; then&lt;br /&gt;
		return str._error( &#039;Pattern string is empty&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	start = tonumber(start) or 1&lt;br /&gt;
	if math.abs(start) &amp;lt; 1 or math.abs(start) &amp;gt; mw.ustring.len( s ) then&lt;br /&gt;
		return str._error( &#039;Requested start is out of range&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	if match_index == 0 then&lt;br /&gt;
		return str._error( &#039;Match index is out of range&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	if plain_flag then&lt;br /&gt;
		pattern = str._escapePattern( pattern )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local result&lt;br /&gt;
	if match_index == 1 then&lt;br /&gt;
		-- Find first match is simple case&lt;br /&gt;
		result = mw.ustring.match( s, pattern, start )&lt;br /&gt;
	else&lt;br /&gt;
		if start &amp;gt; 1 then&lt;br /&gt;
			s = mw.ustring.sub( s, start )&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		local iterator = mw.ustring.gmatch(s, pattern)&lt;br /&gt;
		if match_index &amp;gt; 0 then&lt;br /&gt;
			-- Forward search&lt;br /&gt;
			for w in iterator do&lt;br /&gt;
				match_index = match_index - 1&lt;br /&gt;
				if match_index == 0 then&lt;br /&gt;
					result = w&lt;br /&gt;
					break&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			-- Reverse search&lt;br /&gt;
			local result_table = {}&lt;br /&gt;
			local count = 1&lt;br /&gt;
			for w in iterator do&lt;br /&gt;
				result_table[count] = w&lt;br /&gt;
				count = count + 1&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
			result = result_table[ count + match_index ]&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if result == nil then&lt;br /&gt;
		if nomatch == nil then&lt;br /&gt;
			return str._error( &#039;Match not found&#039; )&lt;br /&gt;
		else&lt;br /&gt;
			return nomatch&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return result&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
match&lt;br /&gt;
&lt;br /&gt;
This function returns a substring from the source string that matches a&lt;br /&gt;
specified pattern.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:String|match|s=source_string|pattern=pattern_string|start=start_index&lt;br /&gt;
    |match=match_number|plain=plain_flag|nomatch=nomatch_output}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    s: The string to search&lt;br /&gt;
    pattern: The pattern or string to find within the string&lt;br /&gt;
    start: The index within the source string to start the search.  The first&lt;br /&gt;
        character of the string has index 1.  Defaults to 1.&lt;br /&gt;
    match: In some cases it may be possible to make multiple matches on a single&lt;br /&gt;
        string.  This specifies which match to return, where the first match is&lt;br /&gt;
        match= 1.  If a negative number is specified then a match is returned&lt;br /&gt;
        counting from the last match.  Hence match = -1 is the same as requesting&lt;br /&gt;
        the last match.  Defaults to 1.&lt;br /&gt;
    plain: A flag indicating that the pattern should be understood as plain&lt;br /&gt;
        text.  Defaults to false.&lt;br /&gt;
    nomatch: If no match is found, output the &amp;quot;nomatch&amp;quot; value rather than an error.&lt;br /&gt;
&lt;br /&gt;
If invoked using named parameters, Mediawiki will automatically remove any leading or&lt;br /&gt;
trailing whitespace from each string.  In some circumstances this is desirable, in&lt;br /&gt;
other cases one may want to preserve the whitespace.&lt;br /&gt;
&lt;br /&gt;
If the match_number or start_index are out of range for the string being queried, then&lt;br /&gt;
this function generates an error.  An error is also generated if no match is found.&lt;br /&gt;
If one adds the parameter ignore_errors=true, then the error will be suppressed and&lt;br /&gt;
an empty string will be returned on any failure.&lt;br /&gt;
&lt;br /&gt;
For information on constructing Lua patterns, a form of [regular expression], see:&lt;br /&gt;
&lt;br /&gt;
* http://www.lua.org/manual/5.1/manual.html#5.4.1&lt;br /&gt;
* http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns&lt;br /&gt;
* http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
-- This is the entry point for #invoke:String|match&lt;br /&gt;
function str.match( frame )&lt;br /&gt;
	local new_args = str._getParameters( frame.args, {&#039;s&#039;, &#039;pattern&#039;, &#039;start&#039;, &#039;match&#039;, &#039;plain&#039;, &#039;nomatch&#039;} )&lt;br /&gt;
	local s = new_args[&#039;s&#039;] or &#039;&#039;&lt;br /&gt;
	local start = tonumber( new_args[&#039;start&#039;] ) or 1&lt;br /&gt;
	local plain_flag = str._getBoolean( new_args[&#039;plain&#039;] or false )&lt;br /&gt;
	local pattern = new_args[&#039;pattern&#039;] or &#039;&#039;&lt;br /&gt;
	local match_index = math.floor( tonumber(new_args[&#039;match&#039;]) or 1 )&lt;br /&gt;
	local nomatch = new_args[&#039;nomatch&#039;]&lt;br /&gt;
&lt;br /&gt;
	return str._match( s, pattern, start, match_index, plain_flag, nomatch )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
pos&lt;br /&gt;
&lt;br /&gt;
This function returns a single character from the target string at position pos.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|pos|target_string|index_value}}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:String|pos|target=target_string|pos=index_value}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    target: The string to search&lt;br /&gt;
    pos: The index for the character to return&lt;br /&gt;
&lt;br /&gt;
If invoked using named parameters, Mediawiki will automatically remove any leading or&lt;br /&gt;
trailing whitespace from the target string.  In some circumstances this is desirable, in&lt;br /&gt;
other cases one may want to preserve the whitespace.&lt;br /&gt;
&lt;br /&gt;
The first character has an index value of 1.&lt;br /&gt;
&lt;br /&gt;
If one requests a negative value, this function will select a character by counting backwards&lt;br /&gt;
from the end of the string.  In other words pos = -1 is the same as asking for the last character.&lt;br /&gt;
&lt;br /&gt;
A requested value of zero, or a value greater than the length of the string returns an error.&lt;br /&gt;
]]&lt;br /&gt;
function str.pos( frame )&lt;br /&gt;
	local new_args = str._getParameters( frame.args, {&#039;target&#039;, &#039;pos&#039;} )&lt;br /&gt;
	local target_str = new_args[&#039;target&#039;] or &#039;&#039;&lt;br /&gt;
	local pos = tonumber( new_args[&#039;pos&#039;] ) or 0&lt;br /&gt;
&lt;br /&gt;
	if pos == 0 or math.abs(pos) &amp;gt; mw.ustring.len( target_str ) then&lt;br /&gt;
		return str._error( &#039;String index out of range&#039; )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return mw.ustring.sub( target_str, pos, pos )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
str_find&lt;br /&gt;
&lt;br /&gt;
This function duplicates the behavior of {{str_find}}, including all of its quirks.&lt;br /&gt;
This is provided in order to support existing templates, but is NOT RECOMMENDED for&lt;br /&gt;
new code and templates.  New code is recommended to use the &amp;quot;find&amp;quot; function instead.&lt;br /&gt;
&lt;br /&gt;
Returns the first index in &amp;quot;source&amp;quot; that is a match to &amp;quot;target&amp;quot;.  Indexing is 1-based,&lt;br /&gt;
and the function returns -1 if the &amp;quot;target&amp;quot; string is not present in &amp;quot;source&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Important Note: If the &amp;quot;target&amp;quot; string is empty / missing, this function returns a&lt;br /&gt;
value of &amp;quot;1&amp;quot;, which is generally unexpected behavior, and must be accounted for&lt;br /&gt;
separatetly.&lt;br /&gt;
]]&lt;br /&gt;
function str.str_find( frame )&lt;br /&gt;
	local new_args = str._getParameters( frame.args, {&#039;source&#039;, &#039;target&#039;} )&lt;br /&gt;
	local source_str = new_args[&#039;source&#039;] or &#039;&#039;&lt;br /&gt;
	local target_str = new_args[&#039;target&#039;] or &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
	if target_str == &#039;&#039; then&lt;br /&gt;
		return 1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local start = mw.ustring.find( source_str, target_str, 1, true )&lt;br /&gt;
	if start == nil then&lt;br /&gt;
		start = -1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return start&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
find&lt;br /&gt;
&lt;br /&gt;
This function allows one to search for a target string or pattern within another&lt;br /&gt;
string.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|find|source_str|target_string|start_index|plain_flag}}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    source: The string to search&lt;br /&gt;
    target: The string or pattern to find within source&lt;br /&gt;
    start: The index within the source string to start the search, defaults to 1&lt;br /&gt;
    plain: Boolean flag indicating that target should be understood as plain&lt;br /&gt;
        text and not as a Lua style regular expression, defaults to true&lt;br /&gt;
&lt;br /&gt;
If invoked using named parameters, Mediawiki will automatically remove any leading or&lt;br /&gt;
trailing whitespace from the parameter.  In some circumstances this is desirable, in&lt;br /&gt;
other cases one may want to preserve the whitespace.&lt;br /&gt;
&lt;br /&gt;
This function returns the first index &amp;gt;= &amp;quot;start&amp;quot; where &amp;quot;target&amp;quot; can be found&lt;br /&gt;
within &amp;quot;source&amp;quot;.  Indices are 1-based.  If &amp;quot;target&amp;quot; is not found, then this&lt;br /&gt;
function returns 0.  If either &amp;quot;source&amp;quot; or &amp;quot;target&amp;quot; are missing / empty, this&lt;br /&gt;
function also returns 0.&lt;br /&gt;
&lt;br /&gt;
This function should be safe for UTF-8 strings.&lt;br /&gt;
]]&lt;br /&gt;
function str.find( frame )&lt;br /&gt;
	local new_args = str._getParameters( frame.args, {&#039;source&#039;, &#039;target&#039;, &#039;start&#039;, &#039;plain&#039; } )&lt;br /&gt;
	local source_str = new_args[&#039;source&#039;] or &#039;&#039;&lt;br /&gt;
	local pattern = new_args[&#039;target&#039;] or &#039;&#039;&lt;br /&gt;
	local start_pos = tonumber(new_args[&#039;start&#039;]) or 1&lt;br /&gt;
	local plain = new_args[&#039;plain&#039;] or true&lt;br /&gt;
&lt;br /&gt;
	if source_str == &#039;&#039; or pattern == &#039;&#039; then&lt;br /&gt;
		return 0&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	plain = str._getBoolean( plain )&lt;br /&gt;
&lt;br /&gt;
	local start = mw.ustring.find( source_str, pattern, start_pos, plain )&lt;br /&gt;
	if start == nil then&lt;br /&gt;
		start = 0&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return start&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
replace&lt;br /&gt;
&lt;br /&gt;
This function allows one to replace a target string or pattern within another&lt;br /&gt;
string.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}}&lt;br /&gt;
OR&lt;br /&gt;
{{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string|&lt;br /&gt;
   count=replacement_count|plain=plain_flag}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    source: The string to search&lt;br /&gt;
    pattern: The string or pattern to find within source&lt;br /&gt;
    replace: The replacement text&lt;br /&gt;
    count: The number of occurences to replace, defaults to all.&lt;br /&gt;
    plain: Boolean flag indicating that pattern should be understood as plain&lt;br /&gt;
        text and not as a Lua style regular expression, defaults to true&lt;br /&gt;
]]&lt;br /&gt;
function str.replace( frame )&lt;br /&gt;
	local new_args = str._getParameters( frame.args, {&#039;source&#039;, &#039;pattern&#039;, &#039;replace&#039;, &#039;count&#039;, &#039;plain&#039; } )&lt;br /&gt;
	local source_str = new_args[&#039;source&#039;] or &#039;&#039;&lt;br /&gt;
	local pattern = new_args[&#039;pattern&#039;] or &#039;&#039;&lt;br /&gt;
	local replace = new_args[&#039;replace&#039;] or &#039;&#039;&lt;br /&gt;
	local count = tonumber( new_args[&#039;count&#039;] )&lt;br /&gt;
	local plain = new_args[&#039;plain&#039;] or true&lt;br /&gt;
&lt;br /&gt;
	if source_str == &#039;&#039; or pattern == &#039;&#039; then&lt;br /&gt;
		return source_str&lt;br /&gt;
	end&lt;br /&gt;
	plain = str._getBoolean( plain )&lt;br /&gt;
&lt;br /&gt;
	if plain then&lt;br /&gt;
		pattern = str._escapePattern( pattern )&lt;br /&gt;
		replace = string.gsub( replace, &amp;quot;%%&amp;quot;, &amp;quot;%%%%&amp;quot; ) --Only need to escape replacement sequences.&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local result&lt;br /&gt;
&lt;br /&gt;
	if count ~= nil then&lt;br /&gt;
		result = mw.ustring.gsub( source_str, pattern, replace, count )&lt;br /&gt;
	else&lt;br /&gt;
		result = mw.ustring.gsub( source_str, pattern, replace )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
    simple function to pipe string.rep to templates.&lt;br /&gt;
]]&lt;br /&gt;
function str.rep( frame )&lt;br /&gt;
	local repetitions = tonumber( frame.args[2] )&lt;br /&gt;
	if not repetitions then&lt;br /&gt;
		return str._error( &#039;function rep expects a number as second parameter, received &amp;quot;&#039; .. ( frame.args[2] or &#039;&#039; ) .. &#039;&amp;quot;&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	return string.rep( frame.args[1] or &#039;&#039;, repetitions )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
escapePattern&lt;br /&gt;
&lt;br /&gt;
This function escapes special characters from a Lua string pattern. See [1]&lt;br /&gt;
for details on how patterns work.&lt;br /&gt;
&lt;br /&gt;
[1] https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|escapePattern|pattern_string}}&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
    pattern_string: The pattern string to escape.&lt;br /&gt;
]]&lt;br /&gt;
function str.escapePattern( frame )&lt;br /&gt;
	local pattern_str = frame.args[1]&lt;br /&gt;
	if not pattern_str then&lt;br /&gt;
		return str._error( &#039;No pattern string specified&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	local result = str._escapePattern( pattern_str )&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
count&lt;br /&gt;
This function counts the number of occurrences of one string in another.&lt;br /&gt;
]]&lt;br /&gt;
function str.count(frame)&lt;br /&gt;
	local args = str._getParameters(frame.args, {&#039;source&#039;, &#039;pattern&#039;, &#039;plain&#039;})&lt;br /&gt;
	local source = args.source or &#039;&#039;&lt;br /&gt;
	local pattern = args.pattern or &#039;&#039;&lt;br /&gt;
	local plain = str._getBoolean(args.plain or true)&lt;br /&gt;
	if plain then&lt;br /&gt;
		pattern = str._escapePattern(pattern)&lt;br /&gt;
	end&lt;br /&gt;
	local _, count = mw.ustring.gsub(source, pattern, &#039;&#039;)&lt;br /&gt;
	return count&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
endswith&lt;br /&gt;
This function determines whether a string ends with another string.&lt;br /&gt;
]]&lt;br /&gt;
function str.endswith(frame)&lt;br /&gt;
	local args = str._getParameters(frame.args, {&#039;source&#039;, &#039;pattern&#039;})&lt;br /&gt;
	local source = args.source or &#039;&#039;&lt;br /&gt;
	local pattern = args.pattern or &#039;&#039;&lt;br /&gt;
	if pattern == &#039;&#039; then&lt;br /&gt;
		-- All strings end with the empty string.&lt;br /&gt;
		return &amp;quot;yes&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if mw.ustring.sub(source, -mw.ustring.len(pattern), -1) == pattern then&lt;br /&gt;
		return &amp;quot;yes&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
join&lt;br /&gt;
&lt;br /&gt;
Join all non empty arguments together; the first argument is the separator.&lt;br /&gt;
Usage:&lt;br /&gt;
{{#invoke:String|join|sep|one|two|three}}&lt;br /&gt;
]]&lt;br /&gt;
function str.join(frame)&lt;br /&gt;
	local args = {}&lt;br /&gt;
	local sep&lt;br /&gt;
	for _, v in ipairs( frame.args ) do&lt;br /&gt;
		if sep then&lt;br /&gt;
			if v ~= &#039;&#039; then&lt;br /&gt;
				table.insert(args, v)&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			sep = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat( args, sep or &#039;&#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- findpagetext returns the position of a piece of text in a page&lt;br /&gt;
-- First positional parameter or |text is the search text&lt;br /&gt;
-- Optional parameter |title is the page title, defaults to current page&lt;br /&gt;
-- Optional parameter |plain is either true for plain search (default) or false for Lua pattern search&lt;br /&gt;
-- Optional parameter |nomatch is the return value when no match is found; default is nil&lt;br /&gt;
function str._findpagetext(args)&lt;br /&gt;
	-- process parameters&lt;br /&gt;
	local nomatch = args.nomatch or &amp;quot;&amp;quot;&lt;br /&gt;
	if nomatch == &amp;quot;&amp;quot; then nomatch = nil end&lt;br /&gt;
	--&lt;br /&gt;
	local text = mw.text.trim(args[1] or args.text or &amp;quot;&amp;quot;)&lt;br /&gt;
	if text == &amp;quot;&amp;quot; then return nil end&lt;br /&gt;
	--&lt;br /&gt;
	local title = args.title or &amp;quot;&amp;quot;&lt;br /&gt;
	local titleobj&lt;br /&gt;
	if title == &amp;quot;&amp;quot; then&lt;br /&gt;
		titleobj = mw.title.getCurrentTitle()&lt;br /&gt;
	else&lt;br /&gt;
		titleobj = mw.title.new(title)&lt;br /&gt;
	end&lt;br /&gt;
	--&lt;br /&gt;
	local plain = args.plain or &amp;quot;&amp;quot;&lt;br /&gt;
	if plain:sub(1, 1) == &amp;quot;f&amp;quot; then plain = false else plain = true end&lt;br /&gt;
	-- get the page content and look for &#039;text&#039; - return position or nomatch&lt;br /&gt;
	local content = titleobj and titleobj:getContent()&lt;br /&gt;
	return content and mw.ustring.find(content, text, 1, plain) or nomatch&lt;br /&gt;
end&lt;br /&gt;
function str.findpagetext(frame)&lt;br /&gt;
	local args = frame.args&lt;br /&gt;
	local pargs = frame:getParent().args&lt;br /&gt;
	for k, v in pairs(pargs) do&lt;br /&gt;
		args[k] = v&lt;br /&gt;
	end&lt;br /&gt;
	if not (args[1] or args.text) then return nil end&lt;br /&gt;
	-- just the first value&lt;br /&gt;
	return (str._findpagetext(args))&lt;br /&gt;
end&lt;br /&gt;
--[[&lt;br /&gt;
Helper function that populates the argument list given that user may need to use a mix of&lt;br /&gt;
named and unnamed parameters.  This is relevant because named parameters are not&lt;br /&gt;
identical to unnamed parameters due to string trimming, and when dealing with strings&lt;br /&gt;
we sometimes want to either preserve or remove that whitespace depending on the application.&lt;br /&gt;
]]&lt;br /&gt;
function str._getParameters( frame_args, arg_list )&lt;br /&gt;
	local new_args = {}&lt;br /&gt;
	local index = 1&lt;br /&gt;
	local value&lt;br /&gt;
&lt;br /&gt;
	for _, arg in ipairs( arg_list ) do&lt;br /&gt;
		value = frame_args[arg]&lt;br /&gt;
		if value == nil then&lt;br /&gt;
			value = frame_args[index]&lt;br /&gt;
			index = index + 1&lt;br /&gt;
		end&lt;br /&gt;
		new_args[arg] = value&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return new_args&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Helper function to handle error messages.&lt;br /&gt;
]]&lt;br /&gt;
function str._error( error_str )&lt;br /&gt;
	local frame = mw.getCurrentFrame()&lt;br /&gt;
	local error_category = frame.args.error_category or &#039;Errors reported by Module String&#039;&lt;br /&gt;
	local ignore_errors = frame.args.ignore_errors or false&lt;br /&gt;
	local no_category = frame.args.no_category or false&lt;br /&gt;
&lt;br /&gt;
	if str._getBoolean(ignore_errors) then&lt;br /&gt;
		return &#039;&#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local error_str = &#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;String Module Error: &#039; .. error_str .. &#039;&amp;lt;/strong&amp;gt;&#039;&lt;br /&gt;
	if error_category ~= &#039;&#039; and not str._getBoolean( no_category ) then&lt;br /&gt;
		error_str = &#039;[[Category:&#039; .. error_category .. &#039;]]&#039; .. error_str&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return error_str&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Helper Function to interpret boolean strings&lt;br /&gt;
]]&lt;br /&gt;
function str._getBoolean( boolean_str )&lt;br /&gt;
	local boolean_value&lt;br /&gt;
&lt;br /&gt;
	if type( boolean_str ) == &#039;string&#039; then&lt;br /&gt;
		boolean_str = boolean_str:lower()&lt;br /&gt;
		if boolean_str == &#039;false&#039; or boolean_str == &#039;no&#039; or boolean_str == &#039;0&#039;&lt;br /&gt;
				or boolean_str == &#039;&#039; then&lt;br /&gt;
			boolean_value = false&lt;br /&gt;
		else&lt;br /&gt;
			boolean_value = true&lt;br /&gt;
		end&lt;br /&gt;
	elseif type( boolean_str ) == &#039;boolean&#039; then&lt;br /&gt;
		boolean_value = boolean_str&lt;br /&gt;
	else&lt;br /&gt;
		error( &#039;No boolean value found&#039; )&lt;br /&gt;
	end&lt;br /&gt;
	return boolean_value&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Helper function that escapes all pattern characters so that they will be treated&lt;br /&gt;
as plain text.&lt;br /&gt;
]]&lt;br /&gt;
function str._escapePattern( pattern_str )&lt;br /&gt;
	return ( string.gsub( pattern_str, &amp;quot;[%(%)%.%%%+%-%*%?%[%^%$%]]&amp;quot;, &amp;quot;%%%0&amp;quot; ) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return str&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Template:Collapse_bottom&amp;diff=3199</id>
		<title>Template:Collapse bottom</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Template:Collapse_bottom&amp;diff=3199"/>
		<updated>2025-09-04T07:24:54Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Collapse top}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;!-- PLEASE ADD THIS TEMPLATE&#039;S CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Template:Dir&amp;diff=3197</id>
		<title>Template:Dir</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Template:Dir&amp;diff=3197"/>
		<updated>2025-09-04T07:24:53Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq:{{#dir:{{{lang|{{{1|{{int:lang}}}}}}}}}}|rtl|{{{2|{{{rtl|rtl}}}}}}|{{{3|{{{ltr|ltr}}}}}}}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Template:Collapse_top&amp;diff=3195</id>
		<title>Template:Collapse top</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Template:Collapse_top&amp;diff=3195"/>
		<updated>2025-09-04T07:24:53Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;div style=&amp;quot;display:{{{display|block}}};margin-{{dir|{{pagelang}}|right|left}}:{{{indent|0}}};{{{extrastyle|}}}&amp;quot;&amp;gt;&amp;lt;!-- NOTE: width renders incorrectly if added to main STYLE section&lt;br /&gt;
  --&amp;gt;&amp;lt;table class=&amp;quot;mw-collapsible {{#if:{{{expand|}}}|| mw-collapsed}}&amp;quot; style=&amp;quot;margin-top:.2em; border:{{{border|1px}}} solid {{{b-color|silver}}};text-align:{{dir|{{pagelang}}|right|left}}; width: {{{width|100%}}};&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;th style=&amp;quot;font-size:{{{title-font-size|112%}}};background:{{{bg|var(--background-color-neutral-subtle, #f8f9fa)}}};color:{{{fc|inherit}}};text-align:{{#if:{{{left|}}}&lt;br /&gt;
  | {{dir|{{pagelang}}|right|left}}&lt;br /&gt;
  | center&lt;br /&gt;
  }}&amp;quot;&amp;gt;{{{1|{{{title|{{{reason|{{{header|{{{heading|&amp;lt;translate&amp;gt;&amp;lt;!--T:1--&amp;gt; Extended content&amp;lt;/translate&amp;gt;}}}}}}}}}}}}}}}&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;!--&lt;br /&gt;
  --&amp;gt;{{#if:{{{warning|{{{2|}}}}}}&lt;br /&gt;
  | &amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;text-align:center;font-style:italic&amp;quot;&amp;gt;{{#if:{{{2|}}}|{{{2}}}|&amp;lt;translate&amp;gt;&amp;lt;!--T:2--&amp;gt; The following is a closed debate.&amp;lt;/translate&amp;gt; {{Strong&lt;br /&gt;
    |style=color:var(--color-error, #bf3c2c)&lt;br /&gt;
    |1=&amp;lt;translate&amp;gt;&amp;lt;!--T:3--&amp;gt; Please do not modify it.&amp;lt;/translate&amp;gt;&lt;br /&gt;
    }}&amp;lt;!--/Strong--&amp;gt;}}&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
  }}&amp;lt;!--&lt;br /&gt;
  --&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;font-size:{{{font-size|112%}}};background:{{{bg2|var(--background-color-base, #fff)}}};color:{{{fc2|inherit}}};border:solid {{{border2|1px silver}}};padding:{{{padding|8px}}}&amp;quot;&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;text-align:center&amp;quot;&amp;gt;&#039;&#039;&amp;lt;translate&amp;gt;&amp;lt;!--T:4--&amp;gt; The following content has been placed in a collapsed box for improved usability.&amp;lt;/translate&amp;gt;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
{{Collapse bottom}}&lt;br /&gt;
{{Documentation|content=&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
The &amp;lt;tvar name=1&amp;gt;{{Tlx|Collapse top}}&amp;lt;/tvar&amp;gt; template, and its paired template &amp;lt;tvar name=2&amp;gt;{{Tlx|Collapse bottom}}&amp;lt;/tvar&amp;gt;, are used for placing a collapse box around a talk page discussion.&lt;br /&gt;
&lt;br /&gt;
== Usage == &amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:13--&amp;gt; Place &amp;lt;tvar name=1&amp;gt;{{Tlx|Collapse top}}&amp;lt;/tvar&amp;gt; and &amp;lt;tvar name=2&amp;gt;{{Tlx|Collapse bottom}}&amp;lt;/tvar&amp;gt; around the text to be collapsed.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:14--&amp;gt; For example:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;wikitext&amp;quot;&amp;gt;&lt;br /&gt;
{{Collapse top|title=&amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:79--&amp;gt; This is the title text&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
&amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:80--&amp;gt; Sample contents text&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{Collapse bottom}}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
produces:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Collapse top|title=&amp;lt;translate&amp;gt;&amp;lt;!--T:77--&amp;gt; This is the title text&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:78--&amp;gt; Sample contents text&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{Collapse bottom}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
&amp;lt;tvar name=1&amp;gt;{{Tlx|Collapse bottom}}&amp;lt;/tvar&amp;gt; should always be placed on its own line.&lt;br /&gt;
&lt;br /&gt;
== Parameters == &amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:17--&amp;gt; This template takes the following parameters, all of which are optional.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:18--&amp;gt; They are case-sensitive.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:19--&amp;gt; Those that take CSS measurements require them in CSS format (e.g. &amp;lt;tvar name=1&amp;gt;&amp;lt;code style=&amp;quot;color: #006400&amp;quot;&amp;gt;1em&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; not &amp;lt;tvar name=2&amp;gt;&amp;lt;code style=&amp;quot;color:#8B0000&amp;quot;&amp;gt;1&amp;amp;nbsp;em&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; {{Para|1}} &amp;lt;span style=&amp;quot;font-weight:normal&amp;quot;&amp;gt;&amp;lt;translate&amp;gt;&amp;lt;!--T:20--&amp;gt; (or first unnamed parameter)&amp;lt;/translate&amp;gt;&amp;lt;/span&amp;gt;, {{Para|title}}, {{Para|reason}}, {{Para|header}}, {{Para|heading}}&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:21--&amp;gt; Will give the collapsed box a title, which occurs on the same line as the &#039;&#039;show&#039;&#039; link and is always visible.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:22--&amp;gt; It defaults to &amp;quot;Extended content&amp;quot;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:23--&amp;gt; For example, &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Collapse top|title=This is the title text}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; or &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Collapse top|This is the title text}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:24--&amp;gt; Note: The shorter, unnamed markup will not work if the title value contain an equals (&amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;=&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;) character.&amp;lt;/translate&amp;gt;&lt;br /&gt;
; {{Para|warning|yes}}&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:25--&amp;gt; Will display a default warning line under the main title which reads &amp;quot;The following is a closed debate. {{&amp;lt;tvar name=1&amp;gt;Strong|style=color:red&amp;lt;/tvar&amp;gt;|Please do not modify it.}}&amp;quot;&amp;lt;/translate&amp;gt;&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:27--&amp;gt; Any non-empty value supplied to this parameter will have this effect (i.e. &amp;lt;tvar name=1&amp;gt;{{Para|warning|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;no&amp;lt;/span&amp;gt;}}&amp;lt;/tvar&amp;gt; will not work as expected).&amp;lt;/translate&amp;gt;&lt;br /&gt;
; {{Para|2}} &amp;lt;span style=&amp;quot;font-weight:normal&amp;quot;&amp;gt;&amp;lt;translate&amp;gt;&amp;lt;!--T:28--&amp;gt; (or second unnamed parameter)&amp;lt;/translate&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:29--&amp;gt; This is optional warning-line text.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:30--&amp;gt; It will override the standard warning line above; it is not necessary to also use &amp;lt;tvar name=1&amp;gt;{{Para|warning|yes}}&amp;lt;/tvar&amp;gt; in this case, though doing so is harmless.&amp;lt;/translate&amp;gt;&lt;br /&gt;
; {{Para|left|yes}}&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:31--&amp;gt; Will align the title along the left margin (in RTL languages, along the right margin instead).&amp;lt;/translate&amp;gt;&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:32--&amp;gt; By default, text is centered, specifically between the left edge of the green box and the left edge of the &amp;quot;show&amp;quot; link.&amp;lt;/translate&amp;gt;&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:33--&amp;gt; Any non-empty value supplied to this parameter will have this effect (i.e. &amp;lt;tvar name=1&amp;gt;{{Para|left|&amp;lt;span style=&amp;quot;color:#8B0000&amp;quot;&amp;gt;no&amp;lt;/span&amp;gt;}}&amp;lt;/tvar&amp;gt; will not work as expected).&amp;lt;/translate&amp;gt;&lt;br /&gt;
; {{Para|expand|yes}}&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:34--&amp;gt; Will leave the material uncollapsed with the border and coloring.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:35--&amp;gt; Default is to collapse the material.&amp;lt;/translate&amp;gt;&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:36--&amp;gt; Any non-empty value supplied to this parameter will have this effect (i.e. &amp;lt;tvar name=1&amp;gt;{{Para|expand|&amp;lt;span style=&amp;quot;color:#8B0000&amp;quot;&amp;gt;no&amp;lt;/span&amp;gt;}}&amp;lt;/tvar&amp;gt; will not work as expected).&amp;lt;/translate&amp;gt;&lt;br /&gt;
; {{Para|bg}}&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:37--&amp;gt; Sets the background color of the title of the collapsible bar.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:38--&amp;gt; Defaults to &amp;quot;&amp;lt;tvar name=1&amp;gt;#F8FCFF&amp;lt;/tvar&amp;gt;&amp;quot;, a whitish color.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:39--&amp;gt; Named colors are listed at [[List of colors]].&amp;lt;/translate&amp;gt;&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:40--&amp;gt; For example, &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Collapse top|This is the title text|bg=#008000}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; or &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Collapse top|This is the title text|bg=green}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; (numeric HTML color codes require the leading &amp;lt;tvar name=H&amp;gt;&amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;).&amp;lt;/translate&amp;gt;&lt;br /&gt;
; {{Para|fc}}&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:41--&amp;gt; Sets the font color of the title of the collapsible bar.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:42--&amp;gt; Defaults to &amp;quot;&amp;lt;tvar name=1&amp;gt;black&amp;lt;/tvar&amp;gt;&amp;quot;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:43--&amp;gt; See &amp;lt;tvar name=bg&amp;gt;{{Para|bg}}&amp;lt;/tvar&amp;gt;, above, for details on color options.&amp;lt;/translate&amp;gt;&lt;br /&gt;
; {{Para|border}}&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:44--&amp;gt; Sets the width of the border line on the collapsed material.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:45--&amp;gt; Defaults to &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;1px&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:46--&amp;gt; For example, &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Collapse top|border=2px}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;; going much thicker than this is not very useful.&amp;lt;/translate&amp;gt;&lt;br /&gt;
; {{Para|b-color}}&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:47--&amp;gt; Sets the border color.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:48--&amp;gt; Defaults to &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;silver&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; (&amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;#C0C0C0&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;).&amp;lt;/translate&amp;gt;&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:49--&amp;gt; See &amp;lt;tvar name=bg&amp;gt;{{Para|bg}}&amp;lt;/tvar&amp;gt;, above, for details on color options.&amp;lt;/translate&amp;gt;&lt;br /&gt;
; {{Para|padding}}&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:50--&amp;gt; Sets the padding (distance from borders) on the collapsed material inside the colored area.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:51--&amp;gt; Defaults to &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;8px&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
; {{Para|width}}&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:52--&amp;gt; Sets the width of the overall template relative to the page (or a block element containing the collapse box).&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:53--&amp;gt; This should virtually always be given as a percentage, e.g. &amp;lt;tvar name=1&amp;gt;{{Para|width|50%}}&amp;lt;/tvar&amp;gt;, or in relative &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;em&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; units, e.g. &amp;lt;tvar name=3&amp;gt;{{Para|width|30em}}&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:54--&amp;gt; Pixel-based values should be avoided, as they are effectively meaningless – the result will be different depending on each user&#039;s browser and local CSS settings (which browser and operating system it is, zoom level, font sizes, etc.).&amp;lt;/translate&amp;gt;&lt;br /&gt;
; {{Para|border2}}&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:55--&amp;gt; Sets the properties of the border of the box that appears when template is expanded.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:56--&amp;gt; Defaults to &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;1px silver&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; (there is no provision to change from a solid line).&amp;lt;/translate&amp;gt;&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:57--&amp;gt; For example, &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Collapse top|border2=2px}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; (only width or color will be changed if only one value is supplied).&amp;lt;/translate&amp;gt;&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:58--&amp;gt; See &amp;lt;tvar name=bg&amp;gt;{{Para|bg}}&amp;lt;/tvar&amp;gt;, above, for details on color options.&amp;lt;/translate&amp;gt;&lt;br /&gt;
; {{Para|bg2}}&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:59--&amp;gt; Sets the background color of the box that appears when template is expanded; defaults to &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;white&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; (&amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;#FFF&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;).&amp;lt;/translate&amp;gt;&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:60--&amp;gt; See &amp;lt;tvar name=bg&amp;gt;{{Para|bg}}&amp;lt;/tvar&amp;gt;, above, for details on color options.&amp;lt;/translate&amp;gt;&lt;br /&gt;
; {{Para|indent}}&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:61--&amp;gt; Indents the box from the left of the page.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:62--&amp;gt; Defaults to no indentation.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:63--&amp;gt; Each &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; in talk page markup is approximately equivalent to &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;1.6em&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; of indent (e.g., to match &amp;lt;tvar name=3&amp;gt;&amp;lt;code&amp;gt;::::&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; indentation level, use &amp;lt;tvar name=4&amp;gt;{{Para|indent|6.4em}}&amp;lt;/tvar&amp;gt;).&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:64--&amp;gt; You can also use a percentage value.&amp;lt;/translate&amp;gt;&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:65--&amp;gt; Pixel-based values should be avoided (see &amp;lt;tvar name=1&amp;gt;{{Para|width}}&amp;lt;/tvar&amp;gt;, above, for the reason).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Examples == &amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:66--&amp;gt; Adding a box title (if omitted, default is &amp;quot;Extended content&amp;quot;)&amp;lt;/translate&amp;gt; – &amp;lt;syntaxhighlight lang=&amp;quot;wikitext&amp;quot; inline&amp;gt;{{Collapse top|This is the title text}}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Collapse top|This is the title text}}&lt;br /&gt;
{{Lorem ipsum}}&lt;br /&gt;
{{Collapse bottom}}&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:67--&amp;gt; Adding a standard warning line&amp;lt;/translate&amp;gt; – &amp;lt;syntaxhighlight lang=&amp;quot;wikitext&amp;quot; inline&amp;gt;{{Collapse top|This is the title text|warning=true}}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Collapse top|This is the title text|warning=true}}&lt;br /&gt;
{{Lorem ipsum}}&lt;br /&gt;
{{Collapse bottom}}&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:68--&amp;gt; Adding a custom warning line&amp;lt;/translate&amp;gt; – &amp;lt;syntaxhighlight lang=&amp;quot;wikitext&amp;quot; inline&amp;gt;{{Collapse top|This is the title text|This is a custom warning line}}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Collapse top|This is the title text|This is a custom warning line}}&lt;br /&gt;
{{Lorem ipsum}}&lt;br /&gt;
{{Collapse bottom}}&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:69--&amp;gt; Aligning box title along left margin&amp;lt;/translate&amp;gt; – &amp;lt;syntaxhighlight lang=&amp;quot;wikitext&amp;quot; inline&amp;gt;{{Collapse top|left=true}}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Collapse top|left=true}}&lt;br /&gt;
{{Lorem ipsum}}&lt;br /&gt;
{{Collapse bottom}}&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:70--&amp;gt; Changing background color&amp;lt;/translate&amp;gt; – &amp;lt;syntaxhighlight lang=&amp;quot;wikitext&amp;quot; inline&amp;gt;{{Collapse top|bg=#F0F2F5}}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Collapse top|bg=#F0F2F5}}&lt;br /&gt;
{{Lorem ipsum}}&lt;br /&gt;
{{Collapse bottom}}&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:71--&amp;gt; Adding extra padding&amp;lt;/translate&amp;gt; – &amp;lt;syntaxhighlight lang=&amp;quot;wikitext&amp;quot; inline&amp;gt;{{Collapse top|padding=5em}}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Collapse top|padding=5em}}&lt;br /&gt;
{{Lorem ipsum}}&lt;br /&gt;
{{Collapse bottom}}&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:72--&amp;gt; Archiving a section&amp;lt;/translate&amp;gt; – &amp;lt;translate&amp;gt;&amp;lt;!--T:73--&amp;gt; The markup below:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;wikitext&amp;quot;&amp;gt;{{Collapse top}}&lt;br /&gt;
== Section header ==&lt;br /&gt;
Sample contents text&lt;br /&gt;
{{Collapse bottom}}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:74--&amp;gt;&lt;br /&gt;
must be rewritten as:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;wikitext&amp;quot;&amp;gt;{{Collapse top|Section header}}&lt;br /&gt;
Sample contents text&lt;br /&gt;
{{Collapse bottom}}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:75--&amp;gt;&lt;br /&gt;
The end result:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Collapse top|Section header}}&lt;br /&gt;
Sample contents text&lt;br /&gt;
{{Collapse bottom}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== TemplateData == &amp;lt;!--T:76--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{Collapse top/doc}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== See also == &amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
* {{Tl|Collapse bottom}}&lt;br /&gt;
* {{Tl|Hidden archive top}} {{int|and}} {{Tl|Hidden archive bottom}}&lt;br /&gt;
* {{Tl|Hidden begin}} {{int|and}} {{Tl|Hidden end}}&lt;br /&gt;
* {{Tl|Hidden}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Formatting templates{{#translation:}}]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Template:Localized_link&amp;diff=3193</id>
		<title>Template:Localized link</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Template:Localized_link&amp;diff=3193"/>
		<updated>2025-09-04T07:24:50Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{FULLPAGENAME:{{{1}}}}}|{{FULLPAGENAME:{{translatable}}}}&amp;lt;!--self link (including translation pages)--&amp;gt;&lt;br /&gt;
  |&amp;lt;b&amp;gt;&lt;br /&gt;
}}&amp;lt;!----&amp;gt;[[Special:MyLanguage/{{{1}}}|{{#if:{{{2|}}}&lt;br /&gt;
|{{{2}}}&lt;br /&gt;
|{{{2|{{#ifexist:Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page display title/{{PAGELANGUAGE}}&amp;lt;!--if the source page, PAGELANGUAGE returns en--&amp;gt;&lt;br /&gt;
  |{{#ifexpr:{{#if:{{{nsp|}}}|1|0}} and {{NAMESPACENUMBER:{{{1}}}}}!=0&lt;br /&gt;
    |{{#ifeq:{{PAGELANGUAGE}}|en&lt;br /&gt;
      |{{PAGENAME:{{{1}}}}}&lt;br /&gt;
      |&amp;lt;!-- check whether the string is not empty --&amp;gt;&amp;lt;!--&lt;br /&gt;
    --&amp;gt;{{#if:{{PAGENAME:{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} }} }}&lt;br /&gt;
         |{{#ifeq:{{#invoke:string|find|{{PAGENAME:{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} }} }}|:}}|0&lt;br /&gt;
           |{{PAGENAME:{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} }} }}&lt;br /&gt;
           | {{#invoke:string|match|{{PAGENAME:{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} }} }}|:(.*)}}&lt;br /&gt;
         }}&lt;br /&gt;
         |&amp;lt;!-- pass parameter to, e.g., &amp;quot;Template:LC zh&amp;quot;; check whether the string is not empty --&amp;gt;&amp;lt;!--&lt;br /&gt;
       --&amp;gt;{{#if:{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} | nsp = 0 }}&lt;br /&gt;
           |{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} | nsp = 0 }}&lt;br /&gt;
           |{{{1}}}&lt;br /&gt;
        }}&lt;br /&gt;
      }}&lt;br /&gt;
    }}&lt;br /&gt;
    |{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} }}&lt;br /&gt;
  }}&lt;br /&gt;
  &amp;lt;!--if the translation page does not exist (or called from the source page), output as is--&amp;gt;&lt;br /&gt;
  |{{#if:{{{nsp|}}}&lt;br /&gt;
    |{{#if:{{PAGENAME:{{{1}}}}}&lt;br /&gt;
      |{{PAGENAME:{{{1}}}}}&lt;br /&gt;
      |{{{1}}}&lt;br /&gt;
    }}&lt;br /&gt;
    |{{{1}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&amp;lt;!--#ifexist--&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;}}}&amp;lt;!--{{{2|--&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;}}&amp;lt;!--#if:{{{2|}}}--&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;]]&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{FULLPAGENAME:{{{1}}}}}|{{FULLPAGENAME:{{translatable}}}}&amp;lt;!--self link (including translation pages)--&amp;gt;&lt;br /&gt;
  |&amp;lt;/b&amp;gt;&lt;br /&gt;
}}&amp;lt;span style=&amp;quot;display:none&amp;quot;&amp;gt;[[:{{{1}}}| ]]&amp;lt;/span&amp;gt;&amp;lt;!-- T63547 --&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation|content=&lt;br /&gt;
&lt;br /&gt;
{{tsh|ll|LL}}&lt;br /&gt;
{{High-use|35000}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Purpose == &amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:8--&amp;gt; This helper template can be used to link to [[&amp;lt;tvar name=1&amp;gt;Special:LanguageStats&amp;lt;/tvar&amp;gt;|translatable pages]] in the user&#039;s language.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:9--&amp;gt; It uses the special page prefix &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;Special:MyLanguage/&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;, which checks if there is a translated version of a page in the user&#039;s language, and links to it if there is one, and links to a fallback language where available, or the default wiki language version (English in MediaWiki) if there isn&#039;t.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
It should be used in translated pages, so that they link to the right page even if there is no translated page in that language.&lt;br /&gt;
&lt;br /&gt;
== Usage == &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{Localized link/doc}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
If the &amp;quot;&amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;nsp&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;quot; parameter is not defined, as link text this displays the full pagename (including the namespace); otherwise — if the &amp;quot;&amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;nsp&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;quot; parameter is defined to any value the link text displays the short pagename (without the namespace).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
When linking to a section within a page, the section is not displayed in the link text.&lt;br /&gt;
&lt;br /&gt;
=== Examples of simple usage === &amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{(}}{{!}} class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! &amp;lt;translate&amp;gt;&amp;lt;!--T:4--&amp;gt; Use&amp;lt;/translate&amp;gt;&lt;br /&gt;
! &amp;lt;translate&amp;gt;&amp;lt;!--T:5--&amp;gt; Becomes&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} {{Tlx|ll|Communication}}&lt;br /&gt;
{{!}} {{ll|Communication}}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} {{Tlx|ll|Communication|コミュニケーション}}&lt;br /&gt;
{{!}} {{ll|Communication|コミュニケーション}}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} {{Tlx|ll|Project:About}}&lt;br /&gt;
{{!}} {{ll|Project:About}}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} {{Tlx|ll|Project:About#See_also}}&lt;br /&gt;
{{!}} {{ll|Project:About#See_also}}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} {{Tlx|ll|Project:About|nsp{{=}}0}}&lt;br /&gt;
{{!}} {{ll|Project:About|nsp=0}}&lt;br /&gt;
{{!}}{{)}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Usage in translatable pages == &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
On pages prepared for translation with the &amp;lt;tvar name=1&amp;gt;{{ll|Extension:Translate|nsp=0}}&amp;lt;/tvar&amp;gt; extension, this template may be used in three ways.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;translate&amp;gt;&amp;lt;!--T:13--&amp;gt; Substitute this template, then embed the wikilink target in a &amp;lt;tvar name=1&amp;gt;{{#tag:syntaxhighlight|{{^(}}tvar name=id{{)^}}...{{^(}}/tvar{{)^}}|lang=html|inline=1}}&amp;lt;/tvar&amp;gt;, separate from the translatable text of the link.&amp;lt;/translate&amp;gt;&lt;br /&gt;
#: &amp;lt;translate&amp;gt;&amp;lt;!--T:26--&amp;gt; For example:&amp;lt;/translate&amp;gt; {{#tag:syntaxhighlight|Learn more {{{{^(}}tvar name=1{{)^}}ll|Communication{{^(}}/tvar{{)^}}|about communication}}.|lang=html|inline=1}}&lt;br /&gt;
# &amp;lt;translate&amp;gt;&amp;lt;!--T:16--&amp;gt; If link text is the same as the name of the target page, all of the code could also be embedded into &amp;lt;tvar name=1&amp;gt;{{tag|tvar|open}}&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
#: &amp;lt;translate&amp;gt;&amp;lt;!--T:27--&amp;gt; For example:&amp;lt;/translate&amp;gt; {{#tag:syntaxhighlight|Learn more about {{^(}}tvar name=1{{)^}}&amp;lt;nowiki&amp;gt;{{ll|Communication}}&amp;lt;/nowiki&amp;gt;{{^(}}/tvar{{)^}}.|lang=html|inline=1}}&lt;br /&gt;
# &amp;lt;translate&amp;gt;&amp;lt;!--T:28--&amp;gt; For standalone links, such as in a list or table, translate only the link text if it differs from the name of the target page.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:15--&amp;gt; This is useful for bulleted lists of links, e.g. in the &amp;quot;See also:&amp;quot; sections.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:29--&amp;gt; Make sure to include the parameter name when adding translate tags inside template syntax.&amp;lt;/translate&amp;gt;&lt;br /&gt;
#: &amp;lt;translate&amp;gt;&amp;lt;!--T:30--&amp;gt; For example:&amp;lt;/translate&amp;gt;&lt;br /&gt;
::: {{#tag:syntaxhighlight|* {{((}}ll{{!}}Project:About{{))}}|lang=html|inline=1}}&lt;br /&gt;
::: {{#tag:syntaxhighlight|* {{((}}ll{{!}}Communication{{!}}2={{^(}}translate{{)^}}About communication{{^(}}/translate{{)^}}{{))}}|lang=html|inline=1}}&lt;br /&gt;
&lt;br /&gt;
== Test cases ==&lt;br /&gt;
{{Localized link/testcases}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== See also == &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
* [[Template:Localized link/messagedoc]] — &amp;lt;translate&amp;gt;&amp;lt;!--T:17--&amp;gt; should be used for message documentation in translatable pages that use this template.&amp;lt;/translate&amp;gt;&lt;br /&gt;
* {{tl|Translatable template}} - &amp;lt;translate&amp;gt;&amp;lt;!--T:18--&amp;gt; alias &amp;lt;tvar name=1&amp;gt;{{tl|TNT}}&amp;lt;/tvar&amp;gt; or &amp;lt;tvar name=2&amp;gt;{{tl|tnt}}&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* {{tl|Translatable template name}} - &amp;lt;translate&amp;gt;&amp;lt;!--T:19--&amp;gt; alias &amp;lt;tvar name=1&amp;gt;{{tl|TNTN}}&amp;lt;/tvar&amp;gt; or &amp;lt;tvar name=2&amp;gt;{{tl|tntn}}&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* {{tl|Page language link}} - &amp;lt;translate&amp;gt;&amp;lt;!--T:20--&amp;gt; alias &amp;lt;tvar name=1&amp;gt;{{tl|pll}}&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt; - &amp;lt;translate&amp;gt;&amp;lt;!--T:21--&amp;gt; add a link from a translatable page to another translatable page in the same language&amp;lt;/translate&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
[[Category:Internationalization templates{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Template:Ll&amp;diff=3191</id>
		<title>Template:Ll</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Template:Ll&amp;diff=3191"/>
		<updated>2025-09-04T07:24:49Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Template:Localized link]]&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Template:Pagelang&amp;diff=3189</id>
		<title>Template:Pagelang</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Template:Pagelang&amp;diff=3189"/>
		<updated>2025-09-04T07:24:49Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq:{{#invoke:Template translation|getLanguageSubpage|{{{1|}}}}}|en&lt;br /&gt;
|{{#ifeq:{{#titleparts:{{{1|{{PAGENAME}}}}}||-1}}|en&lt;br /&gt;
  |{{#invoke:Template translation|getLanguageSubpage|{{{1|}}}}}&lt;br /&gt;
  }}&lt;br /&gt;
|{{#invoke:Template translation|getLanguageSubpage|{{{1|}}}}}&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Template:Translatable&amp;diff=3187</id>
		<title>Template:Translatable</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Template:Translatable&amp;diff=3187"/>
		<updated>2025-09-04T07:24:48Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;languages /&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;{{#ifeq:{{pagelang|{{{1|{{FULLPAGENAME}}}}}}}|&lt;br /&gt;
|{{{1|{{FULLPAGENAME}}}}}&lt;br /&gt;
|{{#invoke:String|sub|{{{1|{{FULLPAGENAME}}}}}&lt;br /&gt;
  |1&lt;br /&gt;
  |{{#expr:{{#invoke:String|len|{{{1|{{FULLPAGENAME}}}}}}}-{{#invoke:String|len|{{pagelang|{{{1|{{FULLPAGENAME}}}}}}}}}-1}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation|content=&lt;br /&gt;
{{Lua|Module:String}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Examples == &amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
* {{tlx|translatable}}&lt;br /&gt;
{{translatable}}&lt;br /&gt;
* {{tlx|translatable|2=&amp;lt;translate&amp;gt;&amp;lt;!--T:2--&amp;gt; Page name&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
{{translatable|1=&amp;lt;translate&amp;gt;&amp;lt;!--T:3--&amp;gt; Page name&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
* {{tlx|translatable|2=&amp;lt;translate&amp;gt;&amp;lt;!--T:4--&amp;gt; Page name&amp;lt;/translate&amp;gt;/{{PAGELANGUAGE}} }}&lt;br /&gt;
{{translatable|1=&amp;lt;translate&amp;gt;&amp;lt;!--T:5--&amp;gt; Page name&amp;lt;/translate&amp;gt;/{{PAGELANGUAGE}} }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Internationalization templates{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Yesno/tr/doc&amp;diff=3185</id>
		<title>Module:Yesno/tr/doc</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Yesno/tr/doc&amp;diff=3185"/>
		<updated>2025-09-04T07:24:47Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Module:Yesno/doc/tr]]&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Yesno/sandbox&amp;diff=3183</id>
		<title>Module:Yesno/sandbox</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Yesno/sandbox&amp;diff=3183"/>
		<updated>2025-09-04T07:24:47Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--[[&lt;br /&gt;
   Add your experimental module code here.&lt;br /&gt;
--]]&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Yesno/doc/tr&amp;diff=3181</id>
		<title>Module:Yesno/doc/tr</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Yesno/doc/tr&amp;diff=3181"/>
		<updated>2025-09-04T07:24:46Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#switch:&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Languages|Module:Yesno/doc}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
{{Shared Template Warning}}&lt;br /&gt;
{{high-risk}}&lt;br /&gt;
{{used in system}}&lt;br /&gt;
{{Module rating|release}}&lt;br /&gt;
{{Module rating|protected}}&lt;br /&gt;
Bu modül, boole veya boole tarzı dize girdisini işlemek için tutarlı bir arabirim sağlar.&lt;br /&gt;
Lua, &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; ve &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; boole değerlerine izin verirken, vikikodu şablonları boole değerlerini yalnızca &amp;quot;1&amp;quot;, &amp;quot;0&amp;quot;, &amp;quot;yes&amp;quot;, &amp;quot;no&amp;quot; vb. gibi dizeler aracılığıyla ifade edebilir.&lt;br /&gt;
Bu modül, bu tür dizeleri işler ve Lua&#039;nın işlemesi için bunları mantıksal girdiye dönüştürür.&lt;br /&gt;
Ayrıca &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; ve &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; arasındaki ayrımlara izin vermek için &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; olarak &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; değerlerini döndürür.&lt;br /&gt;
Modül ayrıca diğer Lua yapılarını girdi olarak kabul eder, yani boole&#039;lar, sayılar, tablolar ve işlevler.&lt;br /&gt;
Boole veya &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; olarak tanımadığı bir girdi iletilirse, döndürülecek varsayılan bir değer belirtmek mümkündür.&lt;br /&gt;
&amp;lt;span id=&amp;quot;Module_Quality&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Modül Kalitesi ==&lt;br /&gt;
{{ModuleQuality}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;Syntax&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Sözdizimi ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
yesno(value, default)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; test edilecek değerdir.&lt;br /&gt;
Boole girişi veya boole tarzı giriş (aşağıya bakın) her zaman &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; veya &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; olarak değerlendirilir ve &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; her zaman &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; olarak değerlendirilir.&lt;br /&gt;
Diğer değerler &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt; olarak değerlendirilir.&lt;br /&gt;
&amp;lt;span id=&amp;quot;Usage&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Kullanım ==&lt;br /&gt;
İlk önce modülü yükleyin. Yalnızca diğer Lua modüllerinden yüklenebileceğini, normal viki sayfalarından yüklenemeyeceğini unutmayın.&lt;br /&gt;
Normal viki sayfaları için bunun yerine {{tlx|yesno}} kullanabilirsiniz.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local yesno = require(&#039;Module:Yesno&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bazı giriş değerleri her zaman &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; döndürür ve bazıları her zaman &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; döndürür.&lt;br /&gt;
&amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; değerleri her zaman &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; döndürür.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Bunlar her zaman true döndürür:&lt;br /&gt;
yesno(&#039;yes&#039;)&lt;br /&gt;
yesno(&#039;y&#039;)&lt;br /&gt;
yesno(&#039;true&#039;)&lt;br /&gt;
yesno(&#039;t&#039;)&lt;br /&gt;
yesno(&#039;1&#039;)&lt;br /&gt;
yesno(1)&lt;br /&gt;
yesno(true)&lt;br /&gt;
&lt;br /&gt;
-- Bunlar her zaman false döndürür:&lt;br /&gt;
yesno(&#039;no&#039;)&lt;br /&gt;
yesno(&#039;n&#039;)&lt;br /&gt;
yesno(&#039;false&#039;)&lt;br /&gt;
yesno(&#039;f&#039;)&lt;br /&gt;
yesno(&#039;0&#039;)&lt;br /&gt;
yesno(0)&lt;br /&gt;
yesno(false)&lt;br /&gt;
&lt;br /&gt;
-- Bir nil değeri her zaman nil döndürür:&lt;br /&gt;
yesno(nil)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dize değerleri eşleşmeden önce küçük harfe dönüştürülür:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Bunlar her zaman true döndürür:&lt;br /&gt;
yesno(&#039;Yes&#039;)&lt;br /&gt;
yesno(&#039;YES&#039;)&lt;br /&gt;
yesno(&#039;yEs&#039;)&lt;br /&gt;
yesno(&#039;Y&#039;)&lt;br /&gt;
yesno(&#039;tRuE&#039;)&lt;br /&gt;
&lt;br /&gt;
-- Bunlar her zaman false döndürür:&lt;br /&gt;
yesno(&#039;No&#039;)&lt;br /&gt;
yesno(&#039;NO&#039;)&lt;br /&gt;
yesno(&#039;nO&#039;)&lt;br /&gt;
yesno(&#039;N&#039;)&lt;br /&gt;
yesno(&#039;fALsE&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;yesno&amp;lt;/code&amp;gt; yukarıda listelenenden farklı bir girdi alırsa varsayılan bir değer belirtebilirsiniz.&lt;br /&gt;
Bir varsayılan sağlamazsanız, modül bu girişler için &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; döndürür.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Bunlar nil döndürür:&lt;br /&gt;
yesno(&#039;foo&#039;)&lt;br /&gt;
yesno({})&lt;br /&gt;
yesno(5)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end)&lt;br /&gt;
&lt;br /&gt;
-- Bunlar true döndürür:&lt;br /&gt;
yesno(&#039;foo&#039;, true)&lt;br /&gt;
yesno({}, true)&lt;br /&gt;
yesno(5, true)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end, true)&lt;br /&gt;
&lt;br /&gt;
-- Bunlar &amp;quot;bar&amp;quot; döndürür:&lt;br /&gt;
yesno(&#039;foo&#039;, &#039;bar&#039;)&lt;br /&gt;
yesno({}, &#039;bar&#039;)&lt;br /&gt;
yesno(5, &#039;bar&#039;)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end, &#039;bar&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Boş dizenin de şu şekilde çalıştığını unutmayın:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
yesno(&#039;&#039;)        -- nil döndürür.&lt;br /&gt;
yesno(&#039;&#039;, true)  -- true döndürür.&lt;br /&gt;
yesno(&#039;&#039;, &#039;bar&#039;) -- &amp;quot;bar&amp;quot; döndürür.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Boş dizge genellikle vikimetinde &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; olarak değerlendirilse de, Lua&#039;da &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; olarak değerlendirilir.&lt;br /&gt;
Bu modül, vikimetin davranışı yerine Lua davranışını tercih eder.&lt;br /&gt;
Boş dizeyi &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; olarak ele almak modülünüz için önemliyse, işlemin daha önceki bir aşamasında boş bağımsız değişkenleri kaldırmanız gerekecektir.&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:Yesno/doc|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Yesno/doc/pt&amp;diff=3179</id>
		<title>Module:Yesno/doc/pt</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Yesno/doc/pt&amp;diff=3179"/>
		<updated>2025-09-04T07:24:45Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#switch:&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Languages|Module:Yesno/doc}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
{{Shared Template Warning}}&lt;br /&gt;
{{high-risk}}&lt;br /&gt;
{{used in system}}&lt;br /&gt;
{{Module rating|release}}&lt;br /&gt;
{{Module rating|protected}}&lt;br /&gt;
Este módulo fornece uma interface consistente para o processamento de booliano e da entrada de &#039;&#039;string&#039;&#039; ao estilo de boolinao.&lt;br /&gt;
Enquanto Lua permite os valores boolianos &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;, os modelos do código wiki só podem expressar os valores boolianos através de &#039;&#039;strings&#039;&#039;, tais como &amp;quot;1&amp;quot;, &amp;quot;0&amp;quot;, &amp;quot;yes&amp;quot;, &amp;quot;no&amp;quot;, etc.&lt;br /&gt;
Este módulo processa estes tipos de &#039;&#039;strings&#039;&#039; e transforma-as numa entrada booliana para Lua processar.&lt;br /&gt;
Este também devolve valores &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; como &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;, para permitir distinções entre &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
Este módulo aceita outras estruturas de Lua como entrada, por exemplo, boolianos, números, tabelas, e funções.&lt;br /&gt;
Se for passada uma entrada que não reconhece como booliano ou &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;, é possível especificar um valor predefinido para devolver.&lt;br /&gt;
&amp;lt;span id=&amp;quot;Module_Quality&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Qualidade do Módulo ==&lt;br /&gt;
{{ModuleQuality}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;Syntax&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Sintaxe ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
yesno(value, default)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; é o valor a ser testado.&lt;br /&gt;
A entrada booliana ou entrada no estilo booliano (veja em baixo) aponta sempre para &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;, e &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; aponta sempre para &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;.&lt;br /&gt;
Outros valores apontam para &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;span id=&amp;quot;Usage&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Utilização ==&lt;br /&gt;
Primeiro, carregue o módulo. Note que este só pode ser carregado de outros módulos de Lua, não das páginas wiki normais.&lt;br /&gt;
Em vez disso, para as páginas wiki normais pode utilizar {{tlx|yesno}}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local yesno = require(&#039;Module:Yesno&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alguns valores de entrada devolvem sempre &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, e alguns devolvem sempre &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
Valores &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; devolvem sempre &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Estes devolvem sempre true:&lt;br /&gt;
yesno(&#039;yes&#039;)&lt;br /&gt;
yesno(&#039;y&#039;)&lt;br /&gt;
yesno(&#039;true&#039;)&lt;br /&gt;
yesno(&#039;t&#039;)&lt;br /&gt;
yesno(&#039;1&#039;)&lt;br /&gt;
yesno(1)&lt;br /&gt;
yesno(true)&lt;br /&gt;
&lt;br /&gt;
-- Estes devolvem sempre false:&lt;br /&gt;
yesno(&#039;no&#039;)&lt;br /&gt;
yesno(&#039;n&#039;)&lt;br /&gt;
yesno(&#039;false&#039;)&lt;br /&gt;
yesno(&#039;f&#039;)&lt;br /&gt;
yesno(&#039;0&#039;)&lt;br /&gt;
yesno(0)&lt;br /&gt;
yesno(false)&lt;br /&gt;
&lt;br /&gt;
-- Um valor nil devolve sempre nil:&lt;br /&gt;
yesno(nil)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Os valores da &#039;&#039;string&#039;&#039; são convertidos para letras minúsculas antes de serem correspondidas:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Estes devolvem sempre true:&lt;br /&gt;
yesno(&#039;Yes&#039;)&lt;br /&gt;
yesno(&#039;YES&#039;)&lt;br /&gt;
yesno(&#039;yEs&#039;)&lt;br /&gt;
yesno(&#039;Y&#039;)&lt;br /&gt;
yesno(&#039;tRuE&#039;)&lt;br /&gt;
&lt;br /&gt;
-- Estes devolvem sempre false:&lt;br /&gt;
yesno(&#039;No&#039;)&lt;br /&gt;
yesno(&#039;NO&#039;)&lt;br /&gt;
yesno(&#039;nO&#039;)&lt;br /&gt;
yesno(&#039;N&#039;)&lt;br /&gt;
yesno(&#039;fALsE&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pode especificar um valor predefinido se &amp;lt;code&amp;gt;yesno&amp;lt;/code&amp;gt; recebe entrada diferente da listada em cima.&lt;br /&gt;
Se não fornecer uma predefinição , o módulo devolverá &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; para essas entradas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Estes devolvem nil:&lt;br /&gt;
yesno(&#039;foo&#039;)&lt;br /&gt;
yesno({})&lt;br /&gt;
yesno(5)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end)&lt;br /&gt;
&lt;br /&gt;
-- Estes devolvem true:&lt;br /&gt;
yesno(&#039;foo&#039;, true)&lt;br /&gt;
yesno({}, true)&lt;br /&gt;
yesno(5, true)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end, true)&lt;br /&gt;
&lt;br /&gt;
-- Estes devolvem &amp;quot;bar&amp;quot;:&lt;br /&gt;
yesno(&#039;foo&#039;, &#039;bar&#039;)&lt;br /&gt;
yesno({}, &#039;bar&#039;)&lt;br /&gt;
yesno(5, &#039;bar&#039;)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end, &#039;bar&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
NOTE que UMA &#039;&#039;string&#039;&#039; em branco também funciona desta forma:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
yesno(&#039;&#039;)        -- Devolve nil.&lt;br /&gt;
yesno(&#039;&#039;, true)  -- Devolve true.&lt;br /&gt;
yesno(&#039;&#039;, &#039;bar&#039;) -- Devolve &amp;quot;bar&amp;quot;.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Embora a &#039;&#039;string&#039;&#039; em branco geralmente seja apontada para &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; no texto wiki, ela é apontada para &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; na Lua.&lt;br /&gt;
Este módulo prefere o comportamento de Lua ao comportamento do texto wiki.&lt;br /&gt;
Se tratar a &#039;&#039;string&#039;&#039; em branco como &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; é importante para o seu módulo, terá de remover os argumentos em branco numa fase anterior do processamento.&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:Yesno/doc|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Yesno/doc/pl&amp;diff=3177</id>
		<title>Module:Yesno/doc/pl</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Yesno/doc/pl&amp;diff=3177"/>
		<updated>2025-09-04T07:24:45Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#switch:&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Languages|Module:Yesno/doc}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
{{Shared Template Warning}}&lt;br /&gt;
{{high-risk}}&lt;br /&gt;
{{used in system}}&lt;br /&gt;
{{Module rating|release}}&lt;br /&gt;
{{Module rating|protected}}&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;This module provides a consistent interface for processing boolean or boolean-style string input.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;While Lua allows the &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; boolean values, wikicode templates can only express boolean values through strings such as &amp;quot;1&amp;quot;, &amp;quot;0&amp;quot;, &amp;quot;yes&amp;quot;, &amp;quot;no&amp;quot;, etc.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;This module processes these kinds of strings and turns them into boolean input for Lua to process.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;It also returns &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; values as &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;, to allow for distinctions between &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;The module also accepts other Lua structures as input, i.e. booleans, numbers, tables, and functions.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;If it is passed input that it does not recognise as boolean or &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;, it is possible to specify a default value to return.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
== Module Quality ==&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{ModuleQuality}}&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
== Syntax ==&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
yesno(value, default)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; is the value to be tested.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Boolean input or boolean-style input (see below) always evaluates to either &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; always evaluates to &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Other values evaluate to &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;Usage&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Użycie ==&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;First, load the module. Note that it can only be loaded from other Lua modules, not from normal wiki pages.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For normal wiki pages you can use {{tlx|yesno}} instead.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local yesno = require(&#039;Module:Yesno&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Some input values always return &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, and some always return &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; values always return &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- These always return true:&lt;br /&gt;
yesno(&#039;yes&#039;)&lt;br /&gt;
yesno(&#039;y&#039;)&lt;br /&gt;
yesno(&#039;true&#039;)&lt;br /&gt;
yesno(&#039;t&#039;)&lt;br /&gt;
yesno(&#039;1&#039;)&lt;br /&gt;
yesno(1)&lt;br /&gt;
yesno(true)&lt;br /&gt;
&lt;br /&gt;
-- These always return false:&lt;br /&gt;
yesno(&#039;no&#039;)&lt;br /&gt;
yesno(&#039;n&#039;)&lt;br /&gt;
yesno(&#039;false&#039;)&lt;br /&gt;
yesno(&#039;f&#039;)&lt;br /&gt;
yesno(&#039;0&#039;)&lt;br /&gt;
yesno(0)&lt;br /&gt;
yesno(false)&lt;br /&gt;
&lt;br /&gt;
-- A nil value always returns nil:&lt;br /&gt;
yesno(nil)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
String values are converted to lower case before they are matched:&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- These always return true:&lt;br /&gt;
yesno(&#039;Yes&#039;)&lt;br /&gt;
yesno(&#039;YES&#039;)&lt;br /&gt;
yesno(&#039;yEs&#039;)&lt;br /&gt;
yesno(&#039;Y&#039;)&lt;br /&gt;
yesno(&#039;tRuE&#039;)&lt;br /&gt;
&lt;br /&gt;
-- These always return false:&lt;br /&gt;
yesno(&#039;No&#039;)&lt;br /&gt;
yesno(&#039;NO&#039;)&lt;br /&gt;
yesno(&#039;nO&#039;)&lt;br /&gt;
yesno(&#039;N&#039;)&lt;br /&gt;
yesno(&#039;fALsE&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;You can specify a default value if &amp;lt;code&amp;gt;yesno&amp;lt;/code&amp;gt; receives input other than that listed above.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;If you don&#039;t supply a default, the module will return &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; for these inputs.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- These return nil:&lt;br /&gt;
yesno(&#039;foo&#039;)&lt;br /&gt;
yesno({})&lt;br /&gt;
yesno(5)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end)&lt;br /&gt;
&lt;br /&gt;
-- These return true:&lt;br /&gt;
yesno(&#039;foo&#039;, true)&lt;br /&gt;
yesno({}, true)&lt;br /&gt;
yesno(5, true)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end, true)&lt;br /&gt;
&lt;br /&gt;
-- These return &amp;quot;bar&amp;quot;:&lt;br /&gt;
yesno(&#039;foo&#039;, &#039;bar&#039;)&lt;br /&gt;
yesno({}, &#039;bar&#039;)&lt;br /&gt;
yesno(5, &#039;bar&#039;)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end, &#039;bar&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
Note that the blank string also functions this way:&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
yesno(&#039;&#039;)        -- Zwraca nil.&lt;br /&gt;
yesno(&#039;&#039;, true)  -- Zwraca true.&lt;br /&gt;
yesno(&#039;&#039;, &#039;bar&#039;) -- Zwraca &amp;quot;bar&amp;quot;.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Although the blank string usually evaluates to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; in wikitext, it evaluates to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; in Lua.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;This module prefers the Lua behaviour over the wikitext behaviour.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;If treating the blank string as &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; is important for your module, you will need to remove blank arguments at an earlier stage of processing.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:Yesno/doc|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Yesno/doc/ja&amp;diff=3175</id>
		<title>Module:Yesno/doc/ja</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Yesno/doc/ja&amp;diff=3175"/>
		<updated>2025-09-04T07:24:44Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#switch:&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Languages|Module:Yesno/doc}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
{{Shared Template Warning}}&lt;br /&gt;
{{high-risk}}&lt;br /&gt;
{{used in system}}&lt;br /&gt;
{{Module rating|release}}&lt;br /&gt;
{{Module rating|protected}}&lt;br /&gt;
このモジュールは、真偽値または真偽値スタイルの文字列入力を処理するための一貫したインターフェイスを提供します。&lt;br /&gt;
Lua では &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; と &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; の真偽値を使用できますが、ウィキコード テンプレートでは &amp;quot;1&amp;quot;、&amp;quot;0&amp;quot;、&amp;quot;yes&amp;quot;、&amp;quot;no&amp;quot; などの文字列でしか真偽値を表現できません。&lt;br /&gt;
このモジュールは、このような種類の文字列を処理して、Lua が処理できる真偽値の入力に変えます。&lt;br /&gt;
また、&amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; の値を &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; として返すことで、&amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; と &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; の区別ができるようにします。&lt;br /&gt;
このモジュールは、真偽値、数値、テーブル、関数など、他の Lua 構造も入力として受け付けます。&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;If it is passed input that it does not recognise as boolean or &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;, it is possible to specify a default value to return.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
== Module Quality ==&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{ModuleQuality}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;Syntax&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 構文 ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
yesno(value, default)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; is the value to be tested.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Boolean input or boolean-style input (see below) always evaluates to either &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; always evaluates to &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Other values evaluate to &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;Usage&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 使用法 ==&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;First, load the module. Note that it can only be loaded from other Lua modules, not from normal wiki pages.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For normal wiki pages you can use {{tlx|yesno}} instead.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local yesno = require(&#039;Module:Yesno&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Some input values always return &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, and some always return &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; values always return &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- These always return true:&lt;br /&gt;
yesno(&#039;yes&#039;)&lt;br /&gt;
yesno(&#039;y&#039;)&lt;br /&gt;
yesno(&#039;true&#039;)&lt;br /&gt;
yesno(&#039;t&#039;)&lt;br /&gt;
yesno(&#039;1&#039;)&lt;br /&gt;
yesno(1)&lt;br /&gt;
yesno(true)&lt;br /&gt;
&lt;br /&gt;
-- These always return false:&lt;br /&gt;
yesno(&#039;no&#039;)&lt;br /&gt;
yesno(&#039;n&#039;)&lt;br /&gt;
yesno(&#039;false&#039;)&lt;br /&gt;
yesno(&#039;f&#039;)&lt;br /&gt;
yesno(&#039;0&#039;)&lt;br /&gt;
yesno(0)&lt;br /&gt;
yesno(false)&lt;br /&gt;
&lt;br /&gt;
-- A nil value always returns nil:&lt;br /&gt;
yesno(nil)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
String values are converted to lower case before they are matched:&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- These always return true:&lt;br /&gt;
yesno(&#039;Yes&#039;)&lt;br /&gt;
yesno(&#039;YES&#039;)&lt;br /&gt;
yesno(&#039;yEs&#039;)&lt;br /&gt;
yesno(&#039;Y&#039;)&lt;br /&gt;
yesno(&#039;tRuE&#039;)&lt;br /&gt;
&lt;br /&gt;
-- These always return false:&lt;br /&gt;
yesno(&#039;No&#039;)&lt;br /&gt;
yesno(&#039;NO&#039;)&lt;br /&gt;
yesno(&#039;nO&#039;)&lt;br /&gt;
yesno(&#039;N&#039;)&lt;br /&gt;
yesno(&#039;fALsE&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;You can specify a default value if &amp;lt;code&amp;gt;yesno&amp;lt;/code&amp;gt; receives input other than that listed above.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;If you don&#039;t supply a default, the module will return &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; for these inputs.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- These return nil:&lt;br /&gt;
yesno(&#039;foo&#039;)&lt;br /&gt;
yesno({})&lt;br /&gt;
yesno(5)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end)&lt;br /&gt;
&lt;br /&gt;
-- These return true:&lt;br /&gt;
yesno(&#039;foo&#039;, true)&lt;br /&gt;
yesno({}, true)&lt;br /&gt;
yesno(5, true)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end, true)&lt;br /&gt;
&lt;br /&gt;
-- These return &amp;quot;bar&amp;quot;:&lt;br /&gt;
yesno(&#039;foo&#039;, &#039;bar&#039;)&lt;br /&gt;
yesno({}, &#039;bar&#039;)&lt;br /&gt;
yesno(5, &#039;bar&#039;)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end, &#039;bar&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
Note that the blank string also functions this way:&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
yesno(&#039;&#039;)        -- Returns nil.&lt;br /&gt;
yesno(&#039;&#039;, true)  -- Returns true.&lt;br /&gt;
yesno(&#039;&#039;, &#039;bar&#039;) -- Returns &amp;quot;bar&amp;quot;.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Although the blank string usually evaluates to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; in wikitext, it evaluates to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; in Lua.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;This module prefers the Lua behaviour over the wikitext behaviour.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;If treating the blank string as &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; is important for your module, you will need to remove blank arguments at an earlier stage of processing.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:Yesno/doc|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Yesno/doc/fr&amp;diff=3173</id>
		<title>Module:Yesno/doc/fr</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Yesno/doc/fr&amp;diff=3173"/>
		<updated>2025-09-04T07:24:43Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#switch:&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Languages|Module:Yesno/doc}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
{{Shared Template Warning}}&lt;br /&gt;
{{high-risk}}&lt;br /&gt;
{{used in system}}&lt;br /&gt;
{{Module rating|release}}&lt;br /&gt;
{{Module rating|protected}}&lt;br /&gt;
Ce module fournit une interface cohérente pour traiter les entrées booléennes ou des chaînes de ce style.&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;While Lua allows the &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; boolean values, wikicode templates can only express boolean values through strings such as &amp;quot;1&amp;quot;, &amp;quot;0&amp;quot;, &amp;quot;yes&amp;quot;, &amp;quot;no&amp;quot;, etc.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;This module processes these kinds of strings and turns them into boolean input for Lua to process.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;It also returns &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; values as &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;, to allow for distinctions between &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;The module also accepts other Lua structures as input, i.e. booleans, numbers, tables, and functions.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;If it is passed input that it does not recognise as boolean or &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;, it is possible to specify a default value to return.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;Module_Quality&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Qualité du module ==&lt;br /&gt;
{{ModuleQuality}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;Syntax&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Syntaxe ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
yesno(value, default)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; est la valeur à tester.&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Boolean input or boolean-style input (see below) always evaluates to either &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; always evaluates to &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Other values evaluate to &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;Usage&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Utilisation ==&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;First, load the module. Note that it can only be loaded from other Lua modules, not from normal wiki pages.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For normal wiki pages you can use {{tlx|yesno}} instead.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local yesno = require(&#039;Module:Yesno&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Some input values always return &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, and some always return &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; values always return &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- These always return true:&lt;br /&gt;
yesno(&#039;yes&#039;)&lt;br /&gt;
yesno(&#039;y&#039;)&lt;br /&gt;
yesno(&#039;true&#039;)&lt;br /&gt;
yesno(&#039;t&#039;)&lt;br /&gt;
yesno(&#039;1&#039;)&lt;br /&gt;
yesno(1)&lt;br /&gt;
yesno(true)&lt;br /&gt;
&lt;br /&gt;
-- These always return false:&lt;br /&gt;
yesno(&#039;no&#039;)&lt;br /&gt;
yesno(&#039;n&#039;)&lt;br /&gt;
yesno(&#039;false&#039;)&lt;br /&gt;
yesno(&#039;f&#039;)&lt;br /&gt;
yesno(&#039;0&#039;)&lt;br /&gt;
yesno(0)&lt;br /&gt;
yesno(false)&lt;br /&gt;
&lt;br /&gt;
-- A nil value always returns nil:&lt;br /&gt;
yesno(nil)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
String values are converted to lower case before they are matched:&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- These always return true:&lt;br /&gt;
yesno(&#039;Yes&#039;)&lt;br /&gt;
yesno(&#039;YES&#039;)&lt;br /&gt;
yesno(&#039;yEs&#039;)&lt;br /&gt;
yesno(&#039;Y&#039;)&lt;br /&gt;
yesno(&#039;tRuE&#039;)&lt;br /&gt;
&lt;br /&gt;
-- These always return false:&lt;br /&gt;
yesno(&#039;No&#039;)&lt;br /&gt;
yesno(&#039;NO&#039;)&lt;br /&gt;
yesno(&#039;nO&#039;)&lt;br /&gt;
yesno(&#039;N&#039;)&lt;br /&gt;
yesno(&#039;fALsE&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;You can specify a default value if &amp;lt;code&amp;gt;yesno&amp;lt;/code&amp;gt; receives input other than that listed above.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;If you don&#039;t supply a default, the module will return &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; for these inputs.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- These return nil:&lt;br /&gt;
yesno(&#039;foo&#039;)&lt;br /&gt;
yesno({})&lt;br /&gt;
yesno(5)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end)&lt;br /&gt;
&lt;br /&gt;
-- These return true:&lt;br /&gt;
yesno(&#039;foo&#039;, true)&lt;br /&gt;
yesno({}, true)&lt;br /&gt;
yesno(5, true)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end, true)&lt;br /&gt;
&lt;br /&gt;
-- These return &amp;quot;bar&amp;quot;:&lt;br /&gt;
yesno(&#039;foo&#039;, &#039;bar&#039;)&lt;br /&gt;
yesno({}, &#039;bar&#039;)&lt;br /&gt;
yesno(5, &#039;bar&#039;)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end, &#039;bar&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
Note that the blank string also functions this way:&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
yesno(&#039;&#039;)        -- Returns nil.&lt;br /&gt;
yesno(&#039;&#039;, true)  -- Returns true.&lt;br /&gt;
yesno(&#039;&#039;, &#039;bar&#039;) -- Returns &amp;quot;bar&amp;quot;.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Although the blank string usually evaluates to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; in wikitext, it evaluates to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; in Lua.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;This module prefers the Lua behaviour over the wikitext behaviour.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;If treating the blank string as &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; is important for your module, you will need to remove blank arguments at an earlier stage of processing.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:Yesno/doc|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Yesno/doc/en&amp;diff=3171</id>
		<title>Module:Yesno/doc/en</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Yesno/doc/en&amp;diff=3171"/>
		<updated>2025-09-04T07:24:43Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#switch:&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Languages|Module:Yesno/doc}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
{{Shared Template Warning}}&lt;br /&gt;
{{high-risk}}&lt;br /&gt;
{{used in system}}&lt;br /&gt;
{{Module rating|release}}&lt;br /&gt;
{{Module rating|protected}}&lt;br /&gt;
This module provides a consistent interface for processing boolean or boolean-style string input.&lt;br /&gt;
While Lua allows the &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; boolean values, wikicode templates can only express boolean values through strings such as &amp;quot;1&amp;quot;, &amp;quot;0&amp;quot;, &amp;quot;yes&amp;quot;, &amp;quot;no&amp;quot;, etc.&lt;br /&gt;
This module processes these kinds of strings and turns them into boolean input for Lua to process.&lt;br /&gt;
It also returns &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; values as &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;, to allow for distinctions between &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
The module also accepts other Lua structures as input, i.e. booleans, numbers, tables, and functions.&lt;br /&gt;
If it is passed input that it does not recognise as boolean or &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;, it is possible to specify a default value to return.&lt;br /&gt;
== Module Quality ==&lt;br /&gt;
{{ModuleQuality}}&lt;br /&gt;
== Syntax ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
yesno(value, default)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; is the value to be tested.&lt;br /&gt;
Boolean input or boolean-style input (see below) always evaluates to either &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; always evaluates to &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;.&lt;br /&gt;
Other values evaluate to &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt;.&lt;br /&gt;
== Usage ==&lt;br /&gt;
First, load the module. Note that it can only be loaded from other Lua modules, not from normal wiki pages.&lt;br /&gt;
For normal wiki pages you can use {{tlx|yesno}} instead.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local yesno = require(&#039;Module:Yesno&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some input values always return &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, and some always return &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; values always return &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- These always return true:&lt;br /&gt;
yesno(&#039;yes&#039;)&lt;br /&gt;
yesno(&#039;y&#039;)&lt;br /&gt;
yesno(&#039;true&#039;)&lt;br /&gt;
yesno(&#039;t&#039;)&lt;br /&gt;
yesno(&#039;1&#039;)&lt;br /&gt;
yesno(1)&lt;br /&gt;
yesno(true)&lt;br /&gt;
&lt;br /&gt;
-- These always return false:&lt;br /&gt;
yesno(&#039;no&#039;)&lt;br /&gt;
yesno(&#039;n&#039;)&lt;br /&gt;
yesno(&#039;false&#039;)&lt;br /&gt;
yesno(&#039;f&#039;)&lt;br /&gt;
yesno(&#039;0&#039;)&lt;br /&gt;
yesno(0)&lt;br /&gt;
yesno(false)&lt;br /&gt;
&lt;br /&gt;
-- A nil value always returns nil:&lt;br /&gt;
yesno(nil)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
String values are converted to lower case before they are matched:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- These always return true:&lt;br /&gt;
yesno(&#039;Yes&#039;)&lt;br /&gt;
yesno(&#039;YES&#039;)&lt;br /&gt;
yesno(&#039;yEs&#039;)&lt;br /&gt;
yesno(&#039;Y&#039;)&lt;br /&gt;
yesno(&#039;tRuE&#039;)&lt;br /&gt;
&lt;br /&gt;
-- These always return false:&lt;br /&gt;
yesno(&#039;No&#039;)&lt;br /&gt;
yesno(&#039;NO&#039;)&lt;br /&gt;
yesno(&#039;nO&#039;)&lt;br /&gt;
yesno(&#039;N&#039;)&lt;br /&gt;
yesno(&#039;fALsE&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can specify a default value if &amp;lt;code&amp;gt;yesno&amp;lt;/code&amp;gt; receives input other than that listed above.&lt;br /&gt;
If you don&#039;t supply a default, the module will return &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; for these inputs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- These return nil:&lt;br /&gt;
yesno(&#039;foo&#039;)&lt;br /&gt;
yesno({})&lt;br /&gt;
yesno(5)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end)&lt;br /&gt;
&lt;br /&gt;
-- These return true:&lt;br /&gt;
yesno(&#039;foo&#039;, true)&lt;br /&gt;
yesno({}, true)&lt;br /&gt;
yesno(5, true)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end, true)&lt;br /&gt;
&lt;br /&gt;
-- These return &amp;quot;bar&amp;quot;:&lt;br /&gt;
yesno(&#039;foo&#039;, &#039;bar&#039;)&lt;br /&gt;
yesno({}, &#039;bar&#039;)&lt;br /&gt;
yesno(5, &#039;bar&#039;)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end, &#039;bar&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Note that the blank string also functions this way:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
yesno(&#039;&#039;)        -- Returns nil.&lt;br /&gt;
yesno(&#039;&#039;, true)  -- Returns true.&lt;br /&gt;
yesno(&#039;&#039;, &#039;bar&#039;) -- Returns &amp;quot;bar&amp;quot;.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Although the blank string usually evaluates to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; in wikitext, it evaluates to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; in Lua.&lt;br /&gt;
This module prefers the Lua behaviour over the wikitext behaviour.&lt;br /&gt;
If treating the blank string as &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; is important for your module, you will need to remove blank arguments at an earlier stage of processing.&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:Yesno/doc|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Yesno/doc/de&amp;diff=3169</id>
		<title>Module:Yesno/doc/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Yesno/doc/de&amp;diff=3169"/>
		<updated>2025-09-04T07:24:42Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#switch:&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Languages|Module:Yesno/doc}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
{{Shared Template Warning}}&lt;br /&gt;
{{high-risk}}&lt;br /&gt;
{{used in system}}&lt;br /&gt;
{{Module rating|release}}&lt;br /&gt;
{{Module rating|protected}}&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;This module provides a consistent interface for processing boolean or boolean-style string input.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;While Lua allows the &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; boolean values, wikicode templates can only express boolean values through strings such as &amp;quot;1&amp;quot;, &amp;quot;0&amp;quot;, &amp;quot;yes&amp;quot;, &amp;quot;no&amp;quot;, etc.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;This module processes these kinds of strings and turns them into boolean input for Lua to process.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;It also returns &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; values as &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;, to allow for distinctions between &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;The module also accepts other Lua structures as input, i.e. booleans, numbers, tables, and functions.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;If it is passed input that it does not recognise as boolean or &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;, it is possible to specify a default value to return.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;Module_Quality&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Modul-Qualität ==&lt;br /&gt;
{{ModuleQuality}}&lt;br /&gt;
== Syntax ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
yesno(value, default)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; ist der Wert, der getestet werden soll.&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Boolean input or boolean-style input (see below) always evaluates to either &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; always evaluates to &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Other values evaluate to &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;Usage&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Verwendung ==&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;First, load the module. Note that it can only be loaded from other Lua modules, not from normal wiki pages.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For normal wiki pages you can use {{tlx|yesno}} instead.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local yesno = require(&#039;Module:Yesno&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Some input values always return &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, and some always return &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;-Werte geben immer &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; aus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- true-Werte geben immer true aus:&lt;br /&gt;
yesno(&#039;yes&#039;)&lt;br /&gt;
yesno(&#039;y&#039;)&lt;br /&gt;
yesno(&#039;true&#039;)&lt;br /&gt;
yesno(&#039;t&#039;)&lt;br /&gt;
yesno(&#039;1&#039;)&lt;br /&gt;
yesno(1)&lt;br /&gt;
yesno(true)&lt;br /&gt;
&lt;br /&gt;
-- false-Werte geben immer false aus:&lt;br /&gt;
yesno(&#039;no&#039;)&lt;br /&gt;
yesno(&#039;n&#039;)&lt;br /&gt;
yesno(&#039;false&#039;)&lt;br /&gt;
yesno(&#039;f&#039;)&lt;br /&gt;
yesno(&#039;0&#039;)&lt;br /&gt;
yesno(0)&lt;br /&gt;
yesno(false)&lt;br /&gt;
&lt;br /&gt;
-- Ein nil-Wert gibt immer nil aus:&lt;br /&gt;
yesno(nil)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
String values are converted to lower case before they are matched:&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- true-Werte geben immer true aus:&lt;br /&gt;
yesno(&#039;Yes&#039;)&lt;br /&gt;
yesno(&#039;YES&#039;)&lt;br /&gt;
yesno(&#039;yEs&#039;)&lt;br /&gt;
yesno(&#039;Y&#039;)&lt;br /&gt;
yesno(&#039;tRuE&#039;)&lt;br /&gt;
&lt;br /&gt;
-- false-Werte geben immer false aus:&lt;br /&gt;
yesno(&#039;No&#039;)&lt;br /&gt;
yesno(&#039;NO&#039;)&lt;br /&gt;
yesno(&#039;nO&#039;)&lt;br /&gt;
yesno(&#039;N&#039;)&lt;br /&gt;
yesno(&#039;fALsE&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;You can specify a default value if &amp;lt;code&amp;gt;yesno&amp;lt;/code&amp;gt; receives input other than that listed above.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;If you don&#039;t supply a default, the module will return &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; for these inputs.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Diese geben nil aus:&lt;br /&gt;
yesno(&#039;foo&#039;)&lt;br /&gt;
yesno({})&lt;br /&gt;
yesno(5)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end)&lt;br /&gt;
&lt;br /&gt;
-- Diese geben true aus:&lt;br /&gt;
yesno(&#039;foo&#039;, true)&lt;br /&gt;
yesno({}, true)&lt;br /&gt;
yesno(5, true)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end, true)&lt;br /&gt;
&lt;br /&gt;
-- Diese geben &amp;quot;bar&amp;quot; aus:&lt;br /&gt;
yesno(&#039;foo&#039;, &#039;bar&#039;)&lt;br /&gt;
yesno({}, &#039;bar&#039;)&lt;br /&gt;
yesno(5, &#039;bar&#039;)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end, &#039;bar&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
Note that the blank string also functions this way:&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
yesno(&#039;&#039;)        -- Gibt nil aus:&lt;br /&gt;
yesno(&#039;&#039;, true)  -- Gibt true aus:&lt;br /&gt;
yesno(&#039;&#039;, &#039;bar&#039;) -- Gibt &amp;quot;bar&amp;quot; aus:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Although the blank string usually evaluates to &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; in wikitext, it evaluates to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; in Lua.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;This module prefers the Lua behaviour over the wikitext behaviour.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;If treating the blank string as &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; is important for your module, you will need to remove blank arguments at an earlier stage of processing.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:Yesno/doc|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Yesno/doc/cs&amp;diff=3167</id>
		<title>Module:Yesno/doc/cs</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Yesno/doc/cs&amp;diff=3167"/>
		<updated>2025-09-04T07:24:41Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#switch:&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Languages|Module:Yesno/doc}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
{{Shared Template Warning}}&lt;br /&gt;
{{high-risk}}&lt;br /&gt;
{{used in system}}&lt;br /&gt;
{{Module rating|release}}&lt;br /&gt;
{{Module rating|protected}}&lt;br /&gt;
Tento modul poskytuje logické rozhraní pro zpracování booleovských hodnot nebo zadávání řetězce v booleovském stylu.&lt;br /&gt;
Zatímco Lua povoluje logické hodnoty &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; a &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;, šablony wikikódu mohou vyjadřovat booleovské hodnoty pouze prostřednictvím řetězců, jako jsou &amp;quot;1&amp;quot;, &amp;quot;0&amp;quot;, &amp;quot;yes&amp;quot;, &amp;quot;no&amp;quot; atd.&lt;br /&gt;
Tento modul zpracovává tyto druhy řetězců a převádí je na booleovský vstup, který Lua zpracuje.&lt;br /&gt;
Vrátí také hodnoty &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; jako &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;, aby bylo možné rozlišovat mezi &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; a &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
Modul také přijímá další struktury Lua jako vstup, tj. booleovské hodnoty, čísla, tabulky a funkce.&lt;br /&gt;
Pokud je předán vstup, který není rozpoznán jako booleovský nebo &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;, je možné zadat výchozí hodnotu, která se má vrátit.&lt;br /&gt;
&amp;lt;span id=&amp;quot;Module_Quality&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Kvalita modulu ==&lt;br /&gt;
{{ModuleQuality}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;Syntax&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Syntaxe ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
yesno(value, default)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; je hodnota, která má být testována.&lt;br /&gt;
Booleovský vstup nebo vstup v booleovském stylu (viz níže) se vždy vyhodnotí jako &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; nebo &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; a &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; se vždy vyhodnotí jako &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;.&lt;br /&gt;
Ostatní hodnoty jsou vyhodnoceny jako &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;span id=&amp;quot;Usage&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Použití ==&lt;br /&gt;
Nejprve načtěte modul. Všimněte si, že jej lze načíst pouze z jiných modulů Lua, nikoli z normálních wiki stránek.&lt;br /&gt;
Pro normální wiki stránky můžete místo toho použít {{tlx|yesno}}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local yesno = require(&#039;Module:Yesno&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Některé vstupní hodnoty vždy vrátí &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; a některé vždy vrátí &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
Hodnoty &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; vždy vrátí &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Tyto vždy vrátí true:&lt;br /&gt;
yesno(&#039;yes&#039;)&lt;br /&gt;
yesno(&#039;y&#039;)&lt;br /&gt;
yesno(&#039;true&#039;)&lt;br /&gt;
yesno(&#039;t&#039;)&lt;br /&gt;
yesno(&#039;1&#039;)&lt;br /&gt;
yesno(1)&lt;br /&gt;
yesno(true)&lt;br /&gt;
&lt;br /&gt;
-- Tyto vždy vrátí false:&lt;br /&gt;
yesno(&#039;no&#039;)&lt;br /&gt;
yesno(&#039;n&#039;)&lt;br /&gt;
yesno(&#039;false&#039;)&lt;br /&gt;
yesno(&#039;f&#039;)&lt;br /&gt;
yesno(&#039;0&#039;)&lt;br /&gt;
yesno(0)&lt;br /&gt;
yesno(false)&lt;br /&gt;
&lt;br /&gt;
-- Hodnoty nil vždy vrátí nil.&lt;br /&gt;
yesno(nil)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Hodnoty řetězce jsou před přiřazením převedeny na malá písmena:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Tyto vždy vrátí true:&lt;br /&gt;
yesno(&#039;Yes&#039;)&lt;br /&gt;
yesno(&#039;YES&#039;)&lt;br /&gt;
yesno(&#039;yEs&#039;)&lt;br /&gt;
yesno(&#039;Y&#039;)&lt;br /&gt;
yesno(&#039;tRuE&#039;)&lt;br /&gt;
&lt;br /&gt;
-- Tyto vždy vrátí false:&lt;br /&gt;
yesno(&#039;No&#039;)&lt;br /&gt;
yesno(&#039;NO&#039;)&lt;br /&gt;
yesno(&#039;nO&#039;)&lt;br /&gt;
yesno(&#039;N&#039;)&lt;br /&gt;
yesno(&#039;fALsE&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Můžete zadat výchozí hodnotu, pokud &amp;lt;code&amp;gt;yesno&amp;lt;/code&amp;gt; obdrží jiný vstup, než je uvedeno výše.&lt;br /&gt;
Pokud nezadáte výchozí hodnotu, modul za tyto vstupy vrátí &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Tyto vrátí nil:&lt;br /&gt;
yesno(&#039;foo&#039;)&lt;br /&gt;
yesno({})&lt;br /&gt;
yesno(5)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end)&lt;br /&gt;
&lt;br /&gt;
-- Tyto vrátí true:&lt;br /&gt;
yesno(&#039;foo&#039;, true)&lt;br /&gt;
yesno({}, true)&lt;br /&gt;
yesno(5, true)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end, true)&lt;br /&gt;
&lt;br /&gt;
-- Tyto vrátí &amp;quot;bar&amp;quot;:&lt;br /&gt;
yesno(&#039;foo&#039;, &#039;bar&#039;)&lt;br /&gt;
yesno({}, &#039;bar&#039;)&lt;br /&gt;
yesno(5, &#039;bar&#039;)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end, &#039;bar&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Všimněte si, že prázdný řetězec také funguje tímto způsobem:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
yesno(&#039;&#039;)        -- Vrací nil.&lt;br /&gt;
yesno(&#039;&#039;, true)  -- Vrací true.&lt;br /&gt;
yesno(&#039;&#039;, &#039;bar&#039;) -- Vrací &amp;quot;bar&amp;quot;.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I když je prázdný řetězec ve wikitextu obvykle vyhodnocen jako &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;, má v Lua hodnotu &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;.&lt;br /&gt;
Tento modul preferuje chování Lua před chováním wikitextu.&lt;br /&gt;
Pokud je pro váš modul důležité zacházet s prázdným řetězcem jako &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;, budete muset odstranit prázdné argumenty v dřívější fázi zpracování.&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:Yesno/doc|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Yesno/doc&amp;diff=3165</id>
		<title>Module:Yesno/doc</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Yesno/doc&amp;diff=3165"/>
		<updated>2025-09-04T07:24:40Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#switch:&amp;lt;translate&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Languages|Module:Yesno/doc}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
{{Shared Template Warning}}&lt;br /&gt;
{{high-risk}}&lt;br /&gt;
{{used in system}}&lt;br /&gt;
{{Module rating|release}}&lt;br /&gt;
{{Module rating|protected}}&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:1--&amp;gt; This module provides a consistent interface for processing boolean or boolean-style string input.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:2--&amp;gt; While Lua allows the &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; and &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; boolean values, wikicode templates can only express boolean values through strings such as &amp;lt;tvar name=3&amp;gt;&amp;quot;1&amp;quot;&amp;lt;/tvar&amp;gt;, &amp;lt;tvar name=4&amp;gt;&amp;quot;0&amp;quot;&amp;lt;/tvar&amp;gt;, &amp;lt;tvar name=5&amp;gt;&amp;quot;yes&amp;quot;&amp;lt;/tvar&amp;gt;, &amp;lt;tvar name=6&amp;gt;&amp;quot;no&amp;quot;&amp;lt;/tvar&amp;gt;, etc.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:3--&amp;gt; This module processes these kinds of strings and turns them into boolean input for Lua to process.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:4--&amp;gt; It also returns &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; values as &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;, to allow for distinctions between &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; and &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:5--&amp;gt; The module also accepts other Lua structures as input, i.e. booleans, numbers, tables, and functions.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:6--&amp;gt; If it is passed input that it does not recognise as boolean or &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;, it is possible to specify a default value to return.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Module Quality == &amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{ModuleQuality}}&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Syntax == &amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
yesno(value, default)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:7--&amp;gt; &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; is the value to be tested.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:8--&amp;gt; Boolean input or boolean-style input (see below) always evaluates to either &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; or &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;, and &amp;lt;tvar name=3&amp;gt;&amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; always evaluates to &amp;lt;tvar name=3&amp;gt;&amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:9--&amp;gt; Other values evaluate to &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Usage == &amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:11--&amp;gt; First, load the module. Note that it can only be loaded from other Lua modules, not from normal wiki pages.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:12--&amp;gt; For normal wiki pages you can use &amp;lt;tvar name=1&amp;gt;{{tlx|yesno}}&amp;lt;/tvar&amp;gt; instead.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local yesno = require(&#039;Module:Yesno&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:13--&amp;gt; Some input values always return &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;, and some always return &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:14--&amp;gt; &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; values always return &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:15--&amp;gt; These always return &amp;lt;tvar name=1&amp;gt;true&amp;lt;/tvar&amp;gt;:&amp;lt;/translate&amp;gt;&lt;br /&gt;
yesno(&#039;yes&#039;)&lt;br /&gt;
yesno(&#039;y&#039;)&lt;br /&gt;
yesno(&#039;true&#039;)&lt;br /&gt;
yesno(&#039;t&#039;)&lt;br /&gt;
yesno(&#039;1&#039;)&lt;br /&gt;
yesno(1)&lt;br /&gt;
yesno(true)&lt;br /&gt;
&lt;br /&gt;
-- &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:16--&amp;gt; These always return &amp;lt;tvar name=1&amp;gt;false&amp;lt;/tvar&amp;gt;:&amp;lt;/translate&amp;gt;&lt;br /&gt;
yesno(&#039;no&#039;)&lt;br /&gt;
yesno(&#039;n&#039;)&lt;br /&gt;
yesno(&#039;false&#039;)&lt;br /&gt;
yesno(&#039;f&#039;)&lt;br /&gt;
yesno(&#039;0&#039;)&lt;br /&gt;
yesno(0)&lt;br /&gt;
yesno(false)&lt;br /&gt;
&lt;br /&gt;
-- &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:17--&amp;gt; A &amp;lt;tvar name=1&amp;gt;nil&amp;lt;/tvar&amp;gt; value always returns &amp;lt;tvar name=1&amp;gt;nil&amp;lt;/tvar&amp;gt;:&amp;lt;/translate&amp;gt;&lt;br /&gt;
yesno(nil)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
String values are converted to lower case before they are matched:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:19--&amp;gt; These always return &amp;lt;tvar name=1&amp;gt;true&amp;lt;/tvar&amp;gt;:&amp;lt;/translate&amp;gt;&lt;br /&gt;
yesno(&#039;Yes&#039;)&lt;br /&gt;
yesno(&#039;YES&#039;)&lt;br /&gt;
yesno(&#039;yEs&#039;)&lt;br /&gt;
yesno(&#039;Y&#039;)&lt;br /&gt;
yesno(&#039;tRuE&#039;)&lt;br /&gt;
&lt;br /&gt;
-- &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:20--&amp;gt; These always return &amp;lt;tvar name=1&amp;gt;false&amp;lt;/tvar&amp;gt;:&amp;lt;/translate&amp;gt;&lt;br /&gt;
yesno(&#039;No&#039;)&lt;br /&gt;
yesno(&#039;NO&#039;)&lt;br /&gt;
yesno(&#039;nO&#039;)&lt;br /&gt;
yesno(&#039;N&#039;)&lt;br /&gt;
yesno(&#039;fALsE&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:21--&amp;gt; You can specify a default value if &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;yesno&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; receives input other than that listed above.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:22--&amp;gt; If you don&#039;t supply a default, the module will return &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; for these inputs.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:23--&amp;gt; These return &amp;lt;tvar name=1&amp;gt;nil&amp;lt;/tvar&amp;gt;:&amp;lt;/translate&amp;gt;&lt;br /&gt;
yesno(&#039;foo&#039;)&lt;br /&gt;
yesno({})&lt;br /&gt;
yesno(5)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end)&lt;br /&gt;
&lt;br /&gt;
-- &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:24--&amp;gt; These return &amp;lt;tvar name=1&amp;gt;true&amp;lt;/tvar&amp;gt;:&amp;lt;/translate&amp;gt;&lt;br /&gt;
yesno(&#039;foo&#039;, true)&lt;br /&gt;
yesno({}, true)&lt;br /&gt;
yesno(5, true)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end, true)&lt;br /&gt;
&lt;br /&gt;
-- &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:25--&amp;gt; These return &amp;lt;tvar name=1&amp;gt;&amp;quot;bar&amp;quot;&amp;lt;/tvar&amp;gt;:&amp;lt;/translate&amp;gt;&lt;br /&gt;
yesno(&#039;foo&#039;, &#039;bar&#039;)&lt;br /&gt;
yesno({}, &#039;bar&#039;)&lt;br /&gt;
yesno(5, &#039;bar&#039;)&lt;br /&gt;
yesno(function() return &#039;This is a function.&#039; end, &#039;bar&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
Note that the blank string also functions this way:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
yesno(&#039;&#039;)        -- &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:27--&amp;gt; Returns &amp;lt;tvar name=1&amp;gt;nil&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
yesno(&#039;&#039;, true)  -- &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:28--&amp;gt; Returns &amp;lt;tvar name=1&amp;gt;true&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
yesno(&#039;&#039;, &#039;bar&#039;) -- &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:29--&amp;gt; Returns &amp;lt;tvar name=1&amp;gt;&amp;quot;bar&amp;quot;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:30--&amp;gt; Although the blank string usually evaluates to &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; in wikitext, it evaluates to &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; in Lua.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:31--&amp;gt; This module prefers the Lua behaviour over the wikitext behaviour.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:32--&amp;gt; If treating the blank string as &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; is important for your module, you will need to remove blank arguments at an earlier stage of processing.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:Yesno/doc|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Message_box/tr/doc&amp;diff=3163</id>
		<title>Module:Message box/tr/doc</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Message_box/tr/doc&amp;diff=3163"/>
		<updated>2025-09-04T07:24:40Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Module:Message box/doc/tr]]&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Message_box/tmbox.css&amp;diff=3161</id>
		<title>Module:Message box/tmbox.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Message_box/tmbox.css&amp;diff=3161"/>
		<updated>2025-09-04T07:24:40Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* {{pp|small=y}} */&lt;br /&gt;
.tmbox {&lt;br /&gt;
	margin: 4px 0;&lt;br /&gt;
	border-collapse: collapse;&lt;br /&gt;
	border: 1px solid #c0c090;    /* Default &amp;quot;notice&amp;quot; gray-brown */&lt;br /&gt;
	background-color: #f8eaba;&lt;br /&gt;
	box-sizing: border-box;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* For the &amp;quot;small=yes&amp;quot; option. */&lt;br /&gt;
.tmbox.mbox-small {&lt;br /&gt;
	font-size: 88%;&lt;br /&gt;
	line-height: 1.25em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tmbox-speedy {&lt;br /&gt;
	border: 2px solid #b32424;    /* Red */&lt;br /&gt;
	background-color: #fee7e6;    /* Pink */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tmbox-delete {&lt;br /&gt;
	border: 2px solid #b32424;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tmbox-content {&lt;br /&gt;
	border: 2px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tmbox-style {&lt;br /&gt;
	border: 2px solid #fc3;       /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tmbox-move {&lt;br /&gt;
	border: 2px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tmbox .mbox-text {&lt;br /&gt;
	border: none;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	padding: 0.25em 0.9em;&lt;br /&gt;
	width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tmbox .mbox-image {&lt;br /&gt;
	border: none;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	padding: 2px 0 2px 0.9em;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tmbox .mbox-imageright {&lt;br /&gt;
	border: none;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	padding: 2px 0.9em 2px 0;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* An empty narrow cell */&lt;br /&gt;
.tmbox .mbox-empty-cell {           &lt;br /&gt;
	border: none;&lt;br /&gt;
	padding: 0;&lt;br /&gt;
	width: 1px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.tmbox .mbox-invalid-type {&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media (min-width: 720px) {&lt;br /&gt;
	.tmbox {&lt;br /&gt;
		margin: 4px 10%;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	.tmbox.mbox-small {&lt;br /&gt;
		/* @noflip */&lt;br /&gt;
		clear: right;&lt;br /&gt;
		/* @noflip */&lt;br /&gt;
		float: right;&lt;br /&gt;
		/* @noflip */&lt;br /&gt;
		margin: 4px 0 4px 1em;&lt;br /&gt;
		width: 238px;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@media screen {&lt;br /&gt;
    html.skin-theme-clientpref-night .tmbox {&lt;br /&gt;
		background-color: #2e2505;    /* Dark brown, same hue/saturation as light */&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	html.skin-theme-clientpref-night .tmbox-speedy {&lt;br /&gt;
		background-color: #310402;    /* Dark red, same hue/saturation as light */&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@media screen and ( prefers-color-scheme: dark) {&lt;br /&gt;
	html.skin-theme-clientpref-os .tmbox {&lt;br /&gt;
		background-color: #2e2505; /* Dark brown, same hue/saturation as light */&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	html.skin-theme-clientpref-os .tmbox-speedy {&lt;br /&gt;
		background-color: #310402; /* Dark red, same hue/saturation as light */&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/** T367463 */&lt;br /&gt;
body.skin--responsive table.tmbox img {&lt;br /&gt;
	max-width: none !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Message_box/sandbox/configuration&amp;diff=3159</id>
		<title>Module:Message box/sandbox/configuration</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Message_box/sandbox/configuration&amp;diff=3159"/>
		<updated>2025-09-04T07:24:40Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--------------------------------------------------------------------------------&lt;br /&gt;
--                          Message box configuration                         --&lt;br /&gt;
--                                                                            --&lt;br /&gt;
-- This module contains configuration data for [[Module:Message box]].        --&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
	ambox = {&lt;br /&gt;
		types = {&lt;br /&gt;
			speedy = {&lt;br /&gt;
				class = &#039;ambox-speedy&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon clock-destructive.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			delete = {&lt;br /&gt;
				class = &#039;ambox-delete&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon alert-destructive.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			warning = { -- alias for content&lt;br /&gt;
				class = &#039;ambox-content&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon notice-warning.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			content = {&lt;br /&gt;
				class = &#039;ambox-content&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon notice-warning.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			style = {&lt;br /&gt;
				class = &#039;ambox-style&#039;,&lt;br /&gt;
				image = &#039;Edit-clear.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			move = {&lt;br /&gt;
				class = &#039;ambox-move&#039;,&lt;br /&gt;
				image = &#039;Merge-split-transwiki default.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			protection = {&lt;br /&gt;
				class = &#039;ambox-protection&#039;,&lt;br /&gt;
				image = &#039;Semi-protection-shackle-keyhole.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			notice = {&lt;br /&gt;
				class = &#039;ambox-notice&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon notice-progressive.svg&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		default                     = &#039;notice&#039;,&lt;br /&gt;
		allowBlankParams            = {&#039;talk&#039;, &#039;sect&#039;, &#039;date&#039;, &#039;issue&#039;, &#039;fix&#039;, &#039;subst&#039;, &#039;hidden&#039;},&lt;br /&gt;
		allowSmall                  = true,&lt;br /&gt;
		smallParam                  = &#039;left&#039;,&lt;br /&gt;
		smallClass                  = &#039;mbox-small-left&#039;,&lt;br /&gt;
		substCheck                  = true,&lt;br /&gt;
		classes                     = {&#039;metadata&#039;, &#039;plainlinks&#039;, &#039;ambox&#039;},&lt;br /&gt;
		imageEmptyCell              = true,&lt;br /&gt;
		imageCheckBlank             = true,&lt;br /&gt;
		imageSmallSize              = &#039;20x20px&#039;,&lt;br /&gt;
		imageCellDiv                = true,&lt;br /&gt;
		useCollapsibleTextFields    = true,&lt;br /&gt;
		imageRightNone              = true,&lt;br /&gt;
		sectionDefault              = &#039;article&#039;,&lt;br /&gt;
		allowMainspaceCategories    = true,&lt;br /&gt;
		templateCategory            = &#039;Article message templates&#039;,&lt;br /&gt;
	        templateCategoryRequireName = true,&lt;br /&gt;
		templateErrorCategory       = &#039;Article message templates with missing parameters&#039;,&lt;br /&gt;
		templateErrorParamsToCheck  = {&#039;issue&#039;, &#039;fix&#039;, &#039;subst&#039;}&lt;br /&gt;
	},&lt;br /&gt;
	&lt;br /&gt;
	cmbox = {&lt;br /&gt;
		types = {&lt;br /&gt;
			speedy = {&lt;br /&gt;
				class = &#039;cmbox-speedy&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon clock-destructive.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			delete = {&lt;br /&gt;
				class = &#039;cmbox-delete&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon alert-destructive.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			content = {&lt;br /&gt;
				class = &#039;cmbox-content&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon notice-warning.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			style = {&lt;br /&gt;
				class = &#039;cmbox-style&#039;,&lt;br /&gt;
				image = &#039;Edit-clear.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			move = {&lt;br /&gt;
				class = &#039;cmbox-move&#039;,&lt;br /&gt;
				image = &#039;Merge-split-transwiki default.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			protection = {&lt;br /&gt;
				class = &#039;cmbox-protection&#039;,&lt;br /&gt;
				image = &#039;Semi-protection-shackle-keyhole.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			notice = {&lt;br /&gt;
				class = &#039;cmbox-notice&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon notice-progressive.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			caution = {&lt;br /&gt;
				class = &#039;cmbox-style&#039;,&lt;br /&gt;
				image = &#039;Ambox warning yellow.svg&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		default              = &#039;notice&#039;,&lt;br /&gt;
		showInvalidTypeError = true,&lt;br /&gt;
		classes              = {&#039;plainlinks&#039;, &#039;cmbox&#039;},&lt;br /&gt;
		imageEmptyCell       = true&lt;br /&gt;
	},&lt;br /&gt;
	&lt;br /&gt;
	fmbox = {&lt;br /&gt;
		types = {&lt;br /&gt;
			warning = {&lt;br /&gt;
				class = &#039;fmbox-warning&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon clock-destructive.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			editnotice = {&lt;br /&gt;
				class = &#039;fmbox-editnotice&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon notice-progressive.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			system = {&lt;br /&gt;
				class = &#039;fmbox-system&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon notice-progressive.svg&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		default              = &#039;system&#039;,&lt;br /&gt;
		showInvalidTypeError = true,&lt;br /&gt;
		classes              = {&#039;plainlinks&#039;, &#039;fmbox&#039;},&lt;br /&gt;
		imageEmptyCell       = false,&lt;br /&gt;
		imageRightNone       = false&lt;br /&gt;
	},&lt;br /&gt;
	&lt;br /&gt;
	imbox = {&lt;br /&gt;
		types = {&lt;br /&gt;
			speedy = {&lt;br /&gt;
				class = &#039;imbox-speedy&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon clock-destructive.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			delete = {&lt;br /&gt;
				class = &#039;imbox-delete&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon alert-destructive.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			content = {&lt;br /&gt;
				class = &#039;imbox-content&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon notice-warning.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			style = {&lt;br /&gt;
				class = &#039;imbox-style&#039;,&lt;br /&gt;
				image = &#039;Edit-clear.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			move = {&lt;br /&gt;
				class = &#039;imbox-move&#039;,&lt;br /&gt;
				image = &#039;Merge-split-transwiki default.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			protection = {&lt;br /&gt;
				class = &#039;imbox-protection&#039;,&lt;br /&gt;
				image = &#039;Semi-protection-shackle-keyhole.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			license = {&lt;br /&gt;
				class = &#039;imbox-license licensetpl&#039;,&lt;br /&gt;
				image = &#039;Imbox license.png&#039; -- @todo We need an SVG version of this&lt;br /&gt;
			},&lt;br /&gt;
			featured = {&lt;br /&gt;
				class = &#039;imbox-featured&#039;,&lt;br /&gt;
				image = &#039;Cscr-featured.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			notice = {&lt;br /&gt;
				class = &#039;imbox-notice&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon notice-progressive.svg&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		default              = &#039;notice&#039;,&lt;br /&gt;
		showInvalidTypeError = true,&lt;br /&gt;
		classes              = {&#039;imbox&#039;},&lt;br /&gt;
		usePlainlinksParam   = true,&lt;br /&gt;
		imageEmptyCell       = true,&lt;br /&gt;
		below                = true,&lt;br /&gt;
		templateCategory     = &#039;File message boxes&#039;&lt;br /&gt;
	},&lt;br /&gt;
	&lt;br /&gt;
	ombox = {&lt;br /&gt;
		types = {&lt;br /&gt;
			speedy = {&lt;br /&gt;
				class = &#039;ombox-speedy&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon clock-destructive.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			delete = {&lt;br /&gt;
				class = &#039;ombox-delete&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon alert-destructive.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			warning = { -- alias for content&lt;br /&gt;
				class = &#039;ombox-content&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon notice-warning.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			content = {&lt;br /&gt;
				class = &#039;ombox-content&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon notice-warning.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			style = {&lt;br /&gt;
				class = &#039;ombox-style&#039;,&lt;br /&gt;
				image = &#039;Edit-clear.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			move = {&lt;br /&gt;
				class = &#039;ombox-move&#039;,&lt;br /&gt;
				image = &#039;Merge-split-transwiki default.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			protection = {&lt;br /&gt;
				class = &#039;ombox-protection&#039;,&lt;br /&gt;
				image = &#039;Semi-protection-shackle-keyhole.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			notice = {&lt;br /&gt;
				class = &#039;ombox-notice&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon notice-progressive.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			critical = {&lt;br /&gt;
				class = &#039;mbox-critical&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon clock-destructive.svg&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		default              = &#039;notice&#039;,&lt;br /&gt;
		showInvalidTypeError = true,&lt;br /&gt;
		classes              = {&#039;plainlinks&#039;, &#039;ombox&#039;},&lt;br /&gt;
		allowSmall           = true,&lt;br /&gt;
		imageEmptyCell       = true,&lt;br /&gt;
		imageRightNone       = true&lt;br /&gt;
	},&lt;br /&gt;
	&lt;br /&gt;
	tmbox = {&lt;br /&gt;
		types = {&lt;br /&gt;
			speedy = {&lt;br /&gt;
				class = &#039;tmbox-speedy&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon clock-destructive.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			delete = {&lt;br /&gt;
				class = &#039;tmbox-delete&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon alert-destructive.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			content = {&lt;br /&gt;
				class = &#039;tmbox-content&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon notice-warning.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			style = {&lt;br /&gt;
				class = &#039;tmbox-style&#039;,&lt;br /&gt;
				image = &#039;Edit-clear.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			move = {&lt;br /&gt;
				class = &#039;tmbox-move&#039;,&lt;br /&gt;
				image = &#039;Merge-split-transwiki default.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			protection = {&lt;br /&gt;
				class = &#039;tmbox-protection&#039;,&lt;br /&gt;
				image = &#039;Semi-protection-shackle-keyhole.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			notice = {&lt;br /&gt;
				class = &#039;tmbox-notice&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon notice-progressive.svg&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		default              = &#039;notice&#039;,&lt;br /&gt;
		showInvalidTypeError = true,&lt;br /&gt;
		classes              = {&#039;plainlinks&#039;, &#039;tmbox&#039;},&lt;br /&gt;
		allowSmall           = true,&lt;br /&gt;
		imageRightNone       = true,&lt;br /&gt;
		imageEmptyCell       = true,&lt;br /&gt;
		imageEmptyCellStyle  = true,&lt;br /&gt;
		templateCategory     = &#039;Talk message boxes&#039;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Message_box/sandbox&amp;diff=3157</id>
		<title>Module:Message box/sandbox</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Message_box/sandbox&amp;diff=3157"/>
		<updated>2025-09-04T07:24:40Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- This is a meta-module for producing message box templates, including&lt;br /&gt;
-- {{mbox}}, {{ambox}}, {{imbox}}, {{tmbox}}, {{ombox}}, {{cmbox}} and {{fmbox}}.&lt;br /&gt;
&lt;br /&gt;
-- Load necessary modules.&lt;br /&gt;
require(&#039;strict&#039;)&lt;br /&gt;
local getArgs&lt;br /&gt;
local yesno = require(&#039;Module:Yesno&#039;)&lt;br /&gt;
&lt;br /&gt;
-- Get a language object for formatDate and ucfirst.&lt;br /&gt;
local lang = mw.language.getContentLanguage()&lt;br /&gt;
&lt;br /&gt;
-- Define constants&lt;br /&gt;
local CONFIG_MODULE = &#039;Module:Message box/configuration&#039;&lt;br /&gt;
local DEMOSPACES = {talk = &#039;tmbox&#039;, image = &#039;imbox&#039;, file = &#039;imbox&#039;, category = &#039;cmbox&#039;, article = &#039;ambox&#039;, main = &#039;ambox&#039;}&lt;br /&gt;
local TEMPLATE_STYLES = &#039;Module:Message box/%s.css&#039;&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Helper functions&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local function getTitleObject(...)&lt;br /&gt;
	-- Get the title object, passing the function through pcall&lt;br /&gt;
	-- in case we are over the expensive function count limit.&lt;br /&gt;
	local success, title = pcall(mw.title.new, ...)&lt;br /&gt;
	if success then&lt;br /&gt;
		return title&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function union(t1, t2)&lt;br /&gt;
	-- Returns the union of two arrays.&lt;br /&gt;
	local vals = {}&lt;br /&gt;
	for i, v in ipairs(t1) do&lt;br /&gt;
		vals[v] = true&lt;br /&gt;
	end&lt;br /&gt;
	for i, v in ipairs(t2) do&lt;br /&gt;
		vals[v] = true&lt;br /&gt;
	end&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	for k in pairs(vals) do&lt;br /&gt;
		table.insert(ret, k)&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(ret)&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getArgNums(args, prefix)&lt;br /&gt;
	local nums = {}&lt;br /&gt;
	for k, v in pairs(args) do&lt;br /&gt;
		local num = mw.ustring.match(tostring(k), &#039;^&#039; .. prefix .. &#039;([1-9]%d*)$&#039;)&lt;br /&gt;
		if num then&lt;br /&gt;
			table.insert(nums, tonumber(num))&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(nums)&lt;br /&gt;
	return nums&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Box class definition&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local MessageBox = {}&lt;br /&gt;
MessageBox.__index = MessageBox&lt;br /&gt;
&lt;br /&gt;
function MessageBox.new(boxType, args, cfg)&lt;br /&gt;
	args = args or {}&lt;br /&gt;
	local obj = {}&lt;br /&gt;
&lt;br /&gt;
	obj.boxType = boxType&lt;br /&gt;
&lt;br /&gt;
	-- Set the title object and the namespace.&lt;br /&gt;
	obj.title = getTitleObject(args.page) or mw.title.getCurrentTitle()&lt;br /&gt;
&lt;br /&gt;
	-- Set the config for our box type.&lt;br /&gt;
	obj.cfg = cfg[boxType]&lt;br /&gt;
	if not obj.cfg then&lt;br /&gt;
		local ns = obj.title.namespace&lt;br /&gt;
		-- boxType is &amp;quot;mbox&amp;quot; or invalid input&lt;br /&gt;
		if args.demospace and args.demospace ~= &#039;&#039; then&lt;br /&gt;
			-- implement demospace parameter of mbox&lt;br /&gt;
			local demospace = string.lower(args.demospace)&lt;br /&gt;
			if DEMOSPACES[demospace] then&lt;br /&gt;
				-- use template from DEMOSPACES&lt;br /&gt;
				obj.cfg = cfg[DEMOSPACES[demospace]]&lt;br /&gt;
				obj.boxType = DEMOSPACES[demospace]&lt;br /&gt;
			elseif string.find( demospace, &#039;talk&#039; ) then&lt;br /&gt;
				-- demo as a talk page&lt;br /&gt;
				obj.cfg = cfg.tmbox&lt;br /&gt;
				obj.boxType = &#039;tmbox&#039;&lt;br /&gt;
			else&lt;br /&gt;
				-- default to ombox&lt;br /&gt;
				obj.cfg = cfg.ombox&lt;br /&gt;
				obj.boxType = &#039;ombox&#039;&lt;br /&gt;
			end&lt;br /&gt;
		elseif ns == 0 then&lt;br /&gt;
			obj.cfg = cfg.ambox -- main namespace&lt;br /&gt;
			obj.boxType = &#039;ambox&#039;&lt;br /&gt;
		elseif ns == 6 then&lt;br /&gt;
			obj.cfg = cfg.imbox -- file namespace&lt;br /&gt;
			obj.boxType = &#039;imbox&#039;&lt;br /&gt;
		elseif ns == 14 then&lt;br /&gt;
			obj.cfg = cfg.cmbox -- category namespace&lt;br /&gt;
			obj.boxType = &#039;cmbox&#039;&lt;br /&gt;
		else&lt;br /&gt;
			local nsTable = mw.site.namespaces[ns]&lt;br /&gt;
			if nsTable and nsTable.isTalk then&lt;br /&gt;
				obj.cfg = cfg.tmbox -- any talk namespace&lt;br /&gt;
				obj.boxType = &#039;tmbox&#039;&lt;br /&gt;
			else&lt;br /&gt;
				obj.cfg = cfg.ombox -- other namespaces or invalid input&lt;br /&gt;
				obj.boxType = &#039;ombox&#039;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set the arguments, and remove all blank arguments except for the ones&lt;br /&gt;
	-- listed in cfg.allowBlankParams.&lt;br /&gt;
	do&lt;br /&gt;
		local newArgs = {}&lt;br /&gt;
		for k, v in pairs(args) do&lt;br /&gt;
			if v ~= &#039;&#039; then&lt;br /&gt;
				newArgs[k] = v&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		for i, param in ipairs(obj.cfg.allowBlankParams or {}) do&lt;br /&gt;
			newArgs[param] = args[param]&lt;br /&gt;
		end&lt;br /&gt;
		obj.args = newArgs&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Define internal data structure.&lt;br /&gt;
	obj.categories = {}&lt;br /&gt;
	obj.classes = {}&lt;br /&gt;
	-- For lazy loading of [[Module:Category handler]].&lt;br /&gt;
	obj.hasCategories = false&lt;br /&gt;
&lt;br /&gt;
	return setmetatable(obj, MessageBox)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:addCat(ns, cat, sort)&lt;br /&gt;
	if not cat then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	if sort then&lt;br /&gt;
		cat = string.format(&#039;[[Category:%s|%s]]&#039;, cat, sort)&lt;br /&gt;
	else&lt;br /&gt;
		cat = string.format(&#039;[[Category:%s]]&#039;, cat)&lt;br /&gt;
	end&lt;br /&gt;
	self.hasCategories = true&lt;br /&gt;
	self.categories[ns] = self.categories[ns] or {}&lt;br /&gt;
	table.insert(self.categories[ns], cat)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:addClass(class)&lt;br /&gt;
	if not class then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	self.classes[class] = 1&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:removeClass(class)&lt;br /&gt;
	if not class then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	self.classes[class] = nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:setParameters()&lt;br /&gt;
	local args = self.args&lt;br /&gt;
	local cfg = self.cfg&lt;br /&gt;
&lt;br /&gt;
	-- Get type data.&lt;br /&gt;
	self.type = args.type&lt;br /&gt;
	local typeData = cfg.types[self.type]&lt;br /&gt;
	self.invalidTypeError = cfg.showInvalidTypeError&lt;br /&gt;
		and self.type&lt;br /&gt;
		and not typeData&lt;br /&gt;
	typeData = typeData or cfg.types[cfg.default]&lt;br /&gt;
	self.typeClass = typeData.class&lt;br /&gt;
	self.typeImage = typeData.image&lt;br /&gt;
&lt;br /&gt;
	-- Find if the box has been wrongly substituted.&lt;br /&gt;
	self.isSubstituted = cfg.substCheck and args.subst == &#039;SUBST&#039;&lt;br /&gt;
&lt;br /&gt;
	-- Find whether we are using a small message box.&lt;br /&gt;
	self.isSmall = cfg.allowSmall and (&lt;br /&gt;
		cfg.smallParam and args.small == cfg.smallParam&lt;br /&gt;
		or not cfg.smallParam and yesno(args.small)&lt;br /&gt;
	)&lt;br /&gt;
&lt;br /&gt;
	-- Add attributes, classes and styles.&lt;br /&gt;
	self.id = args.id&lt;br /&gt;
	self.name = args.name&lt;br /&gt;
	for _, class in ipairs(cfg.classes or {}) do&lt;br /&gt;
		self:addClass(class)&lt;br /&gt;
	end&lt;br /&gt;
	if self.name then&lt;br /&gt;
		self:addClass(&#039;box-&#039; .. string.gsub(self.name,&#039; &#039;,&#039;_&#039;))&lt;br /&gt;
	end&lt;br /&gt;
	local plainlinks = yesno(args.plainlinks)&lt;br /&gt;
	if plainlinks == true then&lt;br /&gt;
		self:addClass(&#039;plainlinks&#039;)&lt;br /&gt;
	elseif plainlinks == false then&lt;br /&gt;
		self:removeClass(&#039;plainlinks&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	if self.isSmall then&lt;br /&gt;
		self:addClass(cfg.smallClass or &#039;mbox-small&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	self:addClass(self.typeClass)&lt;br /&gt;
	self:addClass(args.class)&lt;br /&gt;
	self.style = args.style&lt;br /&gt;
	self.attrs = args.attrs&lt;br /&gt;
&lt;br /&gt;
	-- Set text style.&lt;br /&gt;
	self.textstyle = args.textstyle&lt;br /&gt;
&lt;br /&gt;
	-- Find if we are on the template page or not. This functionality is only&lt;br /&gt;
	-- used if useCollapsibleTextFields is set, or if both cfg.templateCategory&lt;br /&gt;
	-- and cfg.templateCategoryRequireName are set.&lt;br /&gt;
	self.useCollapsibleTextFields = cfg.useCollapsibleTextFields&lt;br /&gt;
	if self.useCollapsibleTextFields&lt;br /&gt;
		or cfg.templateCategory&lt;br /&gt;
		and cfg.templateCategoryRequireName&lt;br /&gt;
	then&lt;br /&gt;
		if self.name then&lt;br /&gt;
			local templateName = mw.ustring.match(&lt;br /&gt;
				self.name,&lt;br /&gt;
				&#039;^[tT][eE][mM][pP][lL][aA][tT][eE][%s_]*:[%s_]*(.*)$&#039;&lt;br /&gt;
			) or self.name&lt;br /&gt;
			templateName = &#039;Template:&#039; .. templateName&lt;br /&gt;
			self.templateTitle = getTitleObject(templateName)&lt;br /&gt;
		end&lt;br /&gt;
		self.isTemplatePage = self.templateTitle&lt;br /&gt;
			and mw.title.equals(self.title, self.templateTitle)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Process data for collapsible text fields. At the moment these are only&lt;br /&gt;
	-- used in {{ambox}}.&lt;br /&gt;
	if self.useCollapsibleTextFields then&lt;br /&gt;
		-- Get the self.issue value.&lt;br /&gt;
		if self.isSmall and args.smalltext then&lt;br /&gt;
			self.issue = args.smalltext&lt;br /&gt;
		else&lt;br /&gt;
			local sect&lt;br /&gt;
			if args.sect == &#039;&#039; then&lt;br /&gt;
				sect = &#039;This &#039; .. (cfg.sectionDefault or &#039;page&#039;)&lt;br /&gt;
			elseif type(args.sect) == &#039;string&#039; then&lt;br /&gt;
				sect = &#039;This &#039; .. args.sect&lt;br /&gt;
			end&lt;br /&gt;
			local issue = args.issue&lt;br /&gt;
			issue = type(issue) == &#039;string&#039; and issue ~= &#039;&#039; and issue or nil&lt;br /&gt;
			local text = args.text&lt;br /&gt;
			text = type(text) == &#039;string&#039; and text or nil&lt;br /&gt;
			local issues = {}&lt;br /&gt;
			table.insert(issues, sect)&lt;br /&gt;
			table.insert(issues, issue)&lt;br /&gt;
			table.insert(issues, text)&lt;br /&gt;
			self.issue = table.concat(issues, &#039; &#039;)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		-- Get the self.talk value.&lt;br /&gt;
		local talk = args.talk&lt;br /&gt;
		-- Show talk links on the template page or template subpages if the talk&lt;br /&gt;
		-- parameter is blank.&lt;br /&gt;
		if talk == &#039;&#039;&lt;br /&gt;
			and self.templateTitle&lt;br /&gt;
			and (&lt;br /&gt;
				mw.title.equals(self.templateTitle, self.title)&lt;br /&gt;
				or self.title:isSubpageOf(self.templateTitle)&lt;br /&gt;
			)&lt;br /&gt;
		then&lt;br /&gt;
			talk = &#039;#&#039;&lt;br /&gt;
		elseif talk == &#039;&#039; then&lt;br /&gt;
			talk = nil&lt;br /&gt;
		end&lt;br /&gt;
		if talk then&lt;br /&gt;
			-- If the talk value is a talk page, make a link to that page. Else&lt;br /&gt;
			-- assume that it&#039;s a section heading, and make a link to the talk&lt;br /&gt;
			-- page of the current page with that section heading.&lt;br /&gt;
			local talkTitle = getTitleObject(talk)&lt;br /&gt;
			local talkArgIsTalkPage = true&lt;br /&gt;
			if not talkTitle or not talkTitle.isTalkPage then&lt;br /&gt;
				talkArgIsTalkPage = false&lt;br /&gt;
				talkTitle = getTitleObject(&lt;br /&gt;
					self.title.text,&lt;br /&gt;
					mw.site.namespaces[self.title.namespace].talk.id&lt;br /&gt;
				)&lt;br /&gt;
			end&lt;br /&gt;
			if talkTitle and talkTitle.exists then&lt;br /&gt;
				local talkText = &#039;Relevant discussion may be found on&#039;&lt;br /&gt;
				if talkArgIsTalkPage then&lt;br /&gt;
					talkText = string.format(&lt;br /&gt;
						&#039;%s [[%s|%s]].&#039;,&lt;br /&gt;
						talkText,&lt;br /&gt;
						talk,&lt;br /&gt;
						talkTitle.prefixedText&lt;br /&gt;
					)&lt;br /&gt;
				else&lt;br /&gt;
					talkText = string.format(&lt;br /&gt;
						&#039;%s the [[%s#%s|talk page]].&#039;,&lt;br /&gt;
						talkText,&lt;br /&gt;
						talkTitle.prefixedText,&lt;br /&gt;
						talk&lt;br /&gt;
					)&lt;br /&gt;
				end&lt;br /&gt;
				self.talk = talkText&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		-- Get other values.&lt;br /&gt;
		self.fix = args.fix ~= &#039;&#039; and args.fix or nil&lt;br /&gt;
		local date&lt;br /&gt;
		if args.date and args.date ~= &#039;&#039; then&lt;br /&gt;
			date = args.date&lt;br /&gt;
		elseif args.date == &#039;&#039; and self.isTemplatePage then&lt;br /&gt;
			date = lang:formatDate(&#039;F Y&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		if date then&lt;br /&gt;
			self.date = string.format(&amp;quot; &amp;lt;small class=&#039;date-container&#039;&amp;gt;&#039;&#039;(&amp;lt;span class=&#039;date&#039;&amp;gt;%s&amp;lt;/span&amp;gt;)&#039;&#039;&amp;lt;/small&amp;gt;&amp;quot;, date)&lt;br /&gt;
		end&lt;br /&gt;
		self.info = args.info&lt;br /&gt;
		if yesno(args.removalnotice) then&lt;br /&gt;
			self.removalNotice = cfg.removalNotice&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set the non-collapsible text field. At the moment this is used by all box&lt;br /&gt;
	-- types other than ambox, and also by ambox when small=yes.&lt;br /&gt;
	if self.isSmall then&lt;br /&gt;
		self.text = args.smalltext or args.text&lt;br /&gt;
	else&lt;br /&gt;
		self.text = args.text&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set the below row.&lt;br /&gt;
	self.below = cfg.below and args.below&lt;br /&gt;
&lt;br /&gt;
	-- General image settings.&lt;br /&gt;
	self.imageCellDiv = not self.isSmall and cfg.imageCellDiv&lt;br /&gt;
	self.imageEmptyCell = cfg.imageEmptyCell&lt;br /&gt;
	if cfg.imageEmptyCellStyle then&lt;br /&gt;
		self.imageEmptyCellStyle = &#039;border:none;padding:0px;width:1px&#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Left image settings.&lt;br /&gt;
	local imageLeft = self.isSmall and args.smallimage or args.image&lt;br /&gt;
	if cfg.imageCheckBlank and imageLeft ~= &#039;blank&#039; and imageLeft ~= &#039;none&#039;&lt;br /&gt;
		or not cfg.imageCheckBlank and imageLeft ~= &#039;none&#039;&lt;br /&gt;
	then&lt;br /&gt;
		self.imageLeft = imageLeft&lt;br /&gt;
		if not imageLeft then&lt;br /&gt;
			local imageSize = self.isSmall&lt;br /&gt;
				and (cfg.imageSmallSize or &#039;30x30px&#039;)&lt;br /&gt;
				or &#039;40x40px&#039;&lt;br /&gt;
			self.imageLeft = string.format(&#039;[[File:%s|%s|link=|alt=]]&#039;, self.typeImage&lt;br /&gt;
				or &#039;Imbox notice.png&#039;, imageSize)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Right image settings.&lt;br /&gt;
	local imageRight = self.isSmall and args.smallimageright or args.imageright&lt;br /&gt;
	if not (cfg.imageRightNone and imageRight == &#039;none&#039;) then&lt;br /&gt;
		self.imageRight = imageRight&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:setMainspaceCategories()&lt;br /&gt;
	local args = self.args&lt;br /&gt;
	local cfg = self.cfg&lt;br /&gt;
&lt;br /&gt;
	if not cfg.allowMainspaceCategories then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local nums = {}&lt;br /&gt;
	for _, prefix in ipairs{&#039;cat&#039;, &#039;category&#039;, &#039;all&#039;} do&lt;br /&gt;
		args[prefix .. &#039;1&#039;] = args[prefix]&lt;br /&gt;
		nums = union(nums, getArgNums(args, prefix))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- The following is roughly equivalent to the old {{Ambox/category}}.&lt;br /&gt;
	local date = args.date&lt;br /&gt;
	date = type(date) == &#039;string&#039; and date&lt;br /&gt;
	local preposition = &#039;from&#039;&lt;br /&gt;
	for _, num in ipairs(nums) do&lt;br /&gt;
		local mainCat = args[&#039;cat&#039; .. tostring(num)]&lt;br /&gt;
			or args[&#039;category&#039; .. tostring(num)]&lt;br /&gt;
		local allCat = args[&#039;all&#039; .. tostring(num)]&lt;br /&gt;
		mainCat = type(mainCat) == &#039;string&#039; and mainCat&lt;br /&gt;
		allCat = type(allCat) == &#039;string&#039; and allCat&lt;br /&gt;
		if mainCat and date and date ~= &#039;&#039; then&lt;br /&gt;
			local catTitle = string.format(&#039;%s %s %s&#039;, mainCat, preposition, date)&lt;br /&gt;
			self:addCat(0, catTitle)&lt;br /&gt;
			catTitle = getTitleObject(&#039;Category:&#039; .. catTitle)&lt;br /&gt;
			if not catTitle or not catTitle.exists then&lt;br /&gt;
				self:addCat(0, &#039;Articles with invalid date parameter in template&#039;)&lt;br /&gt;
			end&lt;br /&gt;
		elseif mainCat and (not date or date == &#039;&#039;) then&lt;br /&gt;
			self:addCat(0, mainCat)&lt;br /&gt;
		end&lt;br /&gt;
		if allCat then&lt;br /&gt;
			self:addCat(0, allCat)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:setTemplateCategories()&lt;br /&gt;
	local args = self.args&lt;br /&gt;
	local cfg = self.cfg&lt;br /&gt;
&lt;br /&gt;
	-- Add template categories.&lt;br /&gt;
	if cfg.templateCategory then&lt;br /&gt;
		if cfg.templateCategoryRequireName then&lt;br /&gt;
			if self.isTemplatePage then&lt;br /&gt;
				self:addCat(10, cfg.templateCategory)&lt;br /&gt;
			end&lt;br /&gt;
		elseif not self.title.isSubpage then&lt;br /&gt;
			self:addCat(10, cfg.templateCategory)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Add template error categories.&lt;br /&gt;
	if cfg.templateErrorCategory then&lt;br /&gt;
		local templateErrorCategory = cfg.templateErrorCategory&lt;br /&gt;
		local templateCat, templateSort&lt;br /&gt;
		if not self.name and not self.title.isSubpage then&lt;br /&gt;
			templateCat = templateErrorCategory&lt;br /&gt;
		elseif self.isTemplatePage then&lt;br /&gt;
			local paramsToCheck = cfg.templateErrorParamsToCheck or {}&lt;br /&gt;
			local count = 0&lt;br /&gt;
			for i, param in ipairs(paramsToCheck) do&lt;br /&gt;
				if not args[param] then&lt;br /&gt;
					count = count + 1&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			if count &amp;gt; 0 then&lt;br /&gt;
				templateCat = templateErrorCategory&lt;br /&gt;
				templateSort = tostring(count)&lt;br /&gt;
			end&lt;br /&gt;
			if self.categoryNums and #self.categoryNums &amp;gt; 0 then&lt;br /&gt;
				templateCat = templateErrorCategory&lt;br /&gt;
				templateSort = &#039;C&#039;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		self:addCat(10, templateCat, templateSort)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:setAllNamespaceCategories()&lt;br /&gt;
	-- Set categories for all namespaces.&lt;br /&gt;
	if self.invalidTypeError then&lt;br /&gt;
		local allSort = (self.title.namespace == 0 and &#039;Main:&#039; or &#039;&#039;) .. self.title.prefixedText&lt;br /&gt;
		self:addCat(&#039;all&#039;, &#039;Wikipedia message box parameter needs fixing&#039;, allSort)&lt;br /&gt;
	end&lt;br /&gt;
	if self.isSubstituted then&lt;br /&gt;
		self:addCat(&#039;all&#039;, &#039;Pages with incorrectly substituted templates&#039;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:setCategories()&lt;br /&gt;
	if self.title.namespace == 0 then&lt;br /&gt;
		self:setMainspaceCategories()&lt;br /&gt;
	elseif self.title.namespace == 10 then&lt;br /&gt;
		self:setTemplateCategories()&lt;br /&gt;
	end&lt;br /&gt;
	self:setAllNamespaceCategories()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:renderCategories()&lt;br /&gt;
	if not self.hasCategories then&lt;br /&gt;
		-- No categories added, no need to pass them to Category handler so,&lt;br /&gt;
		-- if it was invoked, it would return the empty string.&lt;br /&gt;
		-- So we shortcut and return the empty string.&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	-- Convert category tables to strings and pass them through&lt;br /&gt;
	-- [[Module:Category handler]].&lt;br /&gt;
	return require(&#039;Module:Category handler&#039;)._main{&lt;br /&gt;
		main = table.concat(self.categories[0] or {}),&lt;br /&gt;
		template = table.concat(self.categories[10] or {}),&lt;br /&gt;
		all = table.concat(self.categories.all or {}),&lt;br /&gt;
		nocat = self.args.nocat,&lt;br /&gt;
		page = self.args.page&lt;br /&gt;
	}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:export()&lt;br /&gt;
	local root = mw.html.create()&lt;br /&gt;
&lt;br /&gt;
	-- Add the subst check error.&lt;br /&gt;
	if self.isSubstituted and self.name then&lt;br /&gt;
		root:tag(&#039;b&#039;)&lt;br /&gt;
			:addClass(&#039;error&#039;)&lt;br /&gt;
			:wikitext(string.format(&lt;br /&gt;
				&#039;Template &amp;lt;code&amp;gt;%s[[Template:%s|%s]]%s&amp;lt;/code&amp;gt; has been incorrectly substituted.&#039;,&lt;br /&gt;
				mw.text.nowiki(&#039;{{&#039;), self.name, self.name, mw.text.nowiki(&#039;}}&#039;)&lt;br /&gt;
			))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Add TemplateStyles&lt;br /&gt;
	root:wikitext(mw.getCurrentFrame():extensionTag{&lt;br /&gt;
		name = &#039;templatestyles&#039;,&lt;br /&gt;
		args = { src = TEMPLATE_STYLES:format(self.boxType) },&lt;br /&gt;
	})&lt;br /&gt;
&lt;br /&gt;
	-- Create the box table.&lt;br /&gt;
	local boxTable&lt;br /&gt;
	-- Check for fmbox because not all interface messages have mw-parser-output&lt;br /&gt;
	-- which is necessary for TemplateStyles. Add the wrapper class if it is and&lt;br /&gt;
	-- then start the actual mbox, else start the mbox.&lt;br /&gt;
	if self.boxType == &#039;fmbox&#039; then&lt;br /&gt;
		boxTable = root:tag(&#039;div&#039;)&lt;br /&gt;
			:addClass(&#039;mw-parser-output&#039;)&lt;br /&gt;
			:tag(&#039;table&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		boxTable = root:tag(&#039;table&#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	boxTable:attr(&#039;id&#039;, self.id or nil)&lt;br /&gt;
	for class, _ in pairs(self.classes or {}) do&lt;br /&gt;
		boxTable:addClass(class or nil)&lt;br /&gt;
	end&lt;br /&gt;
	boxTable&lt;br /&gt;
		:cssText(self.style or nil)&lt;br /&gt;
		:attr(&#039;role&#039;, &#039;presentation&#039;)&lt;br /&gt;
&lt;br /&gt;
	if self.attrs then&lt;br /&gt;
		boxTable:attr(self.attrs)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Add the left-hand image.&lt;br /&gt;
	local row = boxTable:tag(&#039;tr&#039;)&lt;br /&gt;
	if self.imageLeft then&lt;br /&gt;
		local imageLeftCell = row:tag(&#039;td&#039;):addClass(&#039;mbox-image&#039;)&lt;br /&gt;
		if self.imageCellDiv then&lt;br /&gt;
			-- If we are using a div, redefine imageLeftCell so that the image&lt;br /&gt;
			-- is inside it. Divs use style=&amp;quot;width: 52px;&amp;quot;, which limits the&lt;br /&gt;
			-- image width to 52px. If any images in a div are wider than that,&lt;br /&gt;
			-- they may overlap with the text or cause other display problems.&lt;br /&gt;
			imageLeftCell = imageLeftCell:tag(&#039;div&#039;):css(&#039;width&#039;, &#039;52px&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		imageLeftCell:wikitext(self.imageLeft or nil)&lt;br /&gt;
	elseif self.imageEmptyCell then&lt;br /&gt;
		-- Some message boxes define an empty cell if no image is specified, and&lt;br /&gt;
		-- some don&#039;t. The old template code in templates where empty cells are&lt;br /&gt;
		-- specified gives the following hint: &amp;quot;No image. Cell with some width&lt;br /&gt;
		-- or padding necessary for text cell to have 100% width.&amp;quot;&lt;br /&gt;
		row:tag(&#039;td&#039;)&lt;br /&gt;
			:addClass(&#039;mbox-empty-cell&#039;)&lt;br /&gt;
			:cssText(self.imageEmptyCellStyle or nil)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Add the text.&lt;br /&gt;
	local textCell = row:tag(&#039;td&#039;):addClass(&#039;mbox-text&#039;)&lt;br /&gt;
	if self.useCollapsibleTextFields then&lt;br /&gt;
		-- The message box uses advanced text parameters that allow things to be&lt;br /&gt;
		-- collapsible. At the moment, only ambox uses this.&lt;br /&gt;
		textCell:cssText(self.textstyle or nil)&lt;br /&gt;
		local textCellDiv = textCell:tag(&#039;div&#039;)&lt;br /&gt;
		textCellDiv&lt;br /&gt;
			:addClass(&#039;mbox-text-span&#039;)&lt;br /&gt;
			:wikitext(self.issue or nil)&lt;br /&gt;
		if (self.talk or self.fix) and not self.isSmall then&lt;br /&gt;
			textCellDiv:tag(&#039;span&#039;)&lt;br /&gt;
				:addClass(&#039;hide-when-compact&#039;)&lt;br /&gt;
				:wikitext(self.talk and (&#039; &#039; .. self.talk) or nil)&lt;br /&gt;
				:wikitext(self.fix and (&#039; &#039; .. self.fix) or nil)&lt;br /&gt;
		end&lt;br /&gt;
		textCellDiv:wikitext(self.date and (&#039; &#039; .. self.date) or nil)&lt;br /&gt;
		if self.info and not self.isSmall then&lt;br /&gt;
			textCellDiv&lt;br /&gt;
				:tag(&#039;span&#039;)&lt;br /&gt;
				:addClass(&#039;hide-when-compact&#039;)&lt;br /&gt;
				:wikitext(self.info and (&#039; &#039; .. self.info) or nil)&lt;br /&gt;
		end&lt;br /&gt;
		if self.removalNotice then&lt;br /&gt;
			textCellDiv:tag(&#039;small&#039;)&lt;br /&gt;
				:addClass(&#039;hide-when-compact&#039;)&lt;br /&gt;
				:tag(&#039;i&#039;)&lt;br /&gt;
					:wikitext(string.format(&amp;quot; (%s)&amp;quot;, self.removalNotice))&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		-- Default text formatting - anything goes.&lt;br /&gt;
		textCell&lt;br /&gt;
			:cssText(self.textstyle or nil)&lt;br /&gt;
			:wikitext(self.text or nil)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Add the right-hand image.&lt;br /&gt;
	if self.imageRight then&lt;br /&gt;
		local imageRightCell = row:tag(&#039;td&#039;):addClass(&#039;mbox-imageright&#039;)&lt;br /&gt;
		if self.imageCellDiv then&lt;br /&gt;
			-- If we are using a div, redefine imageRightCell so that the image&lt;br /&gt;
			-- is inside it.&lt;br /&gt;
			imageRightCell = imageRightCell:tag(&#039;div&#039;):css(&#039;width&#039;, &#039;52px&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		imageRightCell&lt;br /&gt;
			:wikitext(self.imageRight or nil)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Add the below row.&lt;br /&gt;
	if self.below then&lt;br /&gt;
		boxTable:tag(&#039;tr&#039;)&lt;br /&gt;
			:tag(&#039;td&#039;)&lt;br /&gt;
				:attr(&#039;colspan&#039;, self.imageRight and &#039;3&#039; or &#039;2&#039;)&lt;br /&gt;
				:addClass(&#039;mbox-text&#039;)&lt;br /&gt;
				:cssText(self.textstyle or nil)&lt;br /&gt;
				:wikitext(self.below or nil)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Add error message for invalid type parameters.&lt;br /&gt;
	if self.invalidTypeError then&lt;br /&gt;
		root:tag(&#039;div&#039;)&lt;br /&gt;
			:css(&#039;text-align&#039;, &#039;center&#039;)&lt;br /&gt;
			:wikitext(string.format(&lt;br /&gt;
				&#039;This message box is using an invalid &amp;quot;type=%s&amp;quot; parameter and needs fixing.&#039;,&lt;br /&gt;
				self.type or &#039;&#039;&lt;br /&gt;
			))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Add categories.&lt;br /&gt;
	root:wikitext(self:renderCategories() or nil)&lt;br /&gt;
&lt;br /&gt;
	return tostring(root)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Exports&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local p, mt = {}, {}&lt;br /&gt;
&lt;br /&gt;
function p._exportClasses()&lt;br /&gt;
	-- For testing.&lt;br /&gt;
	return {&lt;br /&gt;
		MessageBox = MessageBox&lt;br /&gt;
	}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(boxType, args, cfgTables)&lt;br /&gt;
	local box = MessageBox.new(boxType, args, cfgTables or mw.loadData(CONFIG_MODULE))&lt;br /&gt;
	box:setParameters()&lt;br /&gt;
	box:setCategories()&lt;br /&gt;
	return box:export()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function mt.__index(t, k)&lt;br /&gt;
	return function (frame)&lt;br /&gt;
		if not getArgs then&lt;br /&gt;
			getArgs = require(&#039;Module:Arguments&#039;).getArgs&lt;br /&gt;
		end&lt;br /&gt;
		return t.main(k, getArgs(frame, {trim = false, removeBlanks = false}))&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return setmetatable(p, mt)&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Message_box/imbox.css&amp;diff=3155</id>
		<title>Module:Message box/imbox.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Message_box/imbox.css&amp;diff=3155"/>
		<updated>2025-09-04T07:24:40Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* {{pp|small=y}} */&lt;br /&gt;
.imbox {&lt;br /&gt;
	margin: 4px 0;&lt;br /&gt;
	border-collapse: collapse;&lt;br /&gt;
	border: 3px solid #36c;    /* Default &amp;quot;notice&amp;quot; blue */&lt;br /&gt;
	background-color: var(--background-color-interactive-subtle, #f8f9fa); &lt;br /&gt;
	box-sizing: border-box;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* For imboxes inside imbox-text cells. */&lt;br /&gt;
.imbox .mbox-text .imbox {&lt;br /&gt;
	margin: 0 -0.5em; /* 0.9 - 0.5 = 0.4em left/right. */&lt;br /&gt;
	/* TODO: Still needed? */&lt;br /&gt;
	display: block; /* Fix for webkit to force 100% width.  */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.imbox-speedy {&lt;br /&gt;
	border: 3px solid #b32424;    /* Red */&lt;br /&gt;
	background-color: #fee7e6;    /* Pink */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.imbox-delete {&lt;br /&gt;
	border: 3px solid #b32424;    /* Red */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.imbox-content {&lt;br /&gt;
	border: 3px solid #f28500;    /* Orange */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.imbox-style {&lt;br /&gt;
	border: 3px solid #fc3;       /* Yellow */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.imbox-move {&lt;br /&gt;
	border: 3px solid #9932cc;    /* Purple */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.imbox-protection {&lt;br /&gt;
	border: 3px solid #a2a9b1;    /* Gray-gold */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.imbox-license {&lt;br /&gt;
	border: 3px solid #88a;       /* Dark gray */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.imbox-featured {&lt;br /&gt;
	border: 3px solid #cba135;    /* Brown-gold */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.imbox .mbox-text {&lt;br /&gt;
	border: none;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	padding: 0.25em 0.9em;&lt;br /&gt;
	width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.imbox .mbox-image {&lt;br /&gt;
	border: none;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	padding: 2px 0 2px 0.9em;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.imbox .mbox-imageright {&lt;br /&gt;
	border: none;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	padding: 2px 0.9em 2px 0;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* An empty narrow cell */&lt;br /&gt;
.imbox .mbox-empty-cell {&lt;br /&gt;
	border: none;&lt;br /&gt;
	padding: 0;&lt;br /&gt;
	width: 1px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* keep synced with each other type of message box as this isn&#039;t qualified */&lt;br /&gt;
.mbox-invalid-type {&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media (min-width: 720px) {&lt;br /&gt;
	.imbox {&lt;br /&gt;
		margin: 4px 10%;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media screen {&lt;br /&gt;
    html.skin-theme-clientpref-night .imbox-speedy {&lt;br /&gt;
		background-color: #310402;    /* Dark red, same hue/saturation as light */&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media screen and (prefers-color-scheme: dark) {&lt;br /&gt;
	html.skin-theme-clientpref-os .imbox-speedy {&lt;br /&gt;
		background-color: #310402; /* Dark red, same hue/saturation as light */&lt;br /&gt;
	}&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Message_box/fmbox.css&amp;diff=3153</id>
		<title>Module:Message box/fmbox.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Message_box/fmbox.css&amp;diff=3153"/>
		<updated>2025-09-04T07:24:40Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Cell sizes for ambox/tmbox/imbox/cmbox/ombox/fmbox/dmbox message boxes */&lt;br /&gt;
th.mbox-text, td.mbox-text {   /* The message body cell(s) */&lt;br /&gt;
	padding: 0.25em 0.9em;     /* 0.9em left/right */&lt;br /&gt;
}&lt;br /&gt;
td.mbox-image {                /* The left image cell */&lt;br /&gt;
	padding: 2px 0 2px 0.9em;  /* 0.9em left, 0px right */&lt;br /&gt;
}&lt;br /&gt;
td.mbox-imageright {           /* The right image cell */&lt;br /&gt;
	padding: 2px 0.9em 2px 0;  /* 0px left, 0.9em right */&lt;br /&gt;
}&lt;br /&gt;
/* Footer and header message box styles */&lt;br /&gt;
table.fmbox {&lt;br /&gt;
    clear: both;&lt;br /&gt;
    margin: 0.2em 0;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    border: 1px solid #a2a9b1;&lt;br /&gt;
    background-color: var( --background-color-interactive-subtle, #f8f9fa );&lt;br /&gt;
    color: var( --color-base, #202122 );&lt;br /&gt;
    box-sizing: border-box;&lt;br /&gt;
}&lt;br /&gt;
table.fmbox-system {&lt;br /&gt;
    background-color: var( --background-color-interactive-subtle, #f8f9fa );&lt;br /&gt;
}&lt;br /&gt;
table.fmbox-warning {&lt;br /&gt;
    border: 1px solid #bb7070;  /* Dark pink */&lt;br /&gt;
    background-color: #ffdbdb;  /* Pink */&lt;br /&gt;
    color: #333;&lt;br /&gt;
}&lt;br /&gt;
table.fmbox-editnotice {&lt;br /&gt;
    background-color: transparent;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Message_box/doc/tr&amp;diff=3151</id>
		<title>Module:Message box/doc/tr</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Message_box/doc/tr&amp;diff=3151"/>
		<updated>2025-09-04T07:24:39Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#switch:&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Languages|Module:Message box/doc}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
&amp;lt;!-- {{Shared Template Warning|Module:Message box}} --&amp;gt;&lt;br /&gt;
{{Used in system}}&lt;br /&gt;
{{module rating|r}}&lt;br /&gt;
{{module rating|p}}&lt;br /&gt;
{{Lua|Module:Message box/configuration|Module:Arguments|Module:Category handler|Module:Yesno}}&lt;br /&gt;
{{Uses TemplateStyles&lt;br /&gt;
| Module:Message box/ambox.css&lt;br /&gt;
| Module:Message box/cmbox.css&lt;br /&gt;
| Module:Message box/fmbox.css&lt;br /&gt;
| Module:Message box/imbox.css&lt;br /&gt;
| Module:Message box/ombox.css&lt;br /&gt;
| Module:Message box/tmbox.css&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Bu, ileti kutusu şablonlarını {{separated entries|{{tlx|mbox}}|{{tlx|ambox}}|{{tlx|cmbox}}|{{tlx|fmbox}}|{{tlx|imbox}}|{{tlx|ombox}}|{{tlx|tmbox}}|separator=&amp;lt;nowiki/&amp;gt;{{int|lang=tr|comma-separator}}&amp;lt;nowiki/&amp;gt;|conjunction=&amp;lt;nowiki/&amp;gt;{{int|lang=tr|and}}{{int|lang=tr|word-separator}}&amp;lt;nowiki/&amp;gt;}} uygulayan bir meta modüldür.&lt;br /&gt;
Lua modüllerinden kullanılması amaçlanmıştır ve doğrudan viki sayfalarından kullanılmamalıdır.&lt;br /&gt;
Bu modülün işlevselliğini bir viki sayfasından kullanmak istiyorsanız, bunun yerine lütfen bireysel mesaj kutusu şablonlarını kullanın.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Usage&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Kullanım ==&lt;br /&gt;
&lt;br /&gt;
Bu modülü başka bir Lua modülünden kullanmak için önce yüklemeniz gerekir.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local messageBox = require(&#039;Module:Message box&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bir mesaj kutusu oluşturmak için &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; işlevini kullanın.&lt;br /&gt;
İki parametre alır:&lt;br /&gt;
&lt;br /&gt;
{{Unordered list&lt;br /&gt;
|1=&lt;br /&gt;
ilki kutu tipidir (dizge olarak).&lt;br /&gt;
|2=&lt;br /&gt;
ikincisi mesaj kutusu parametrelerini içeren bir tablodur.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local box = messageBox.main( boxType, {&lt;br /&gt;
	param1 = param1,&lt;br /&gt;
	param2 = param2,&lt;br /&gt;
	-- Daha fazla parametre...&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kullanılabilir yedi kutu türü vardır:&lt;br /&gt;
&lt;br /&gt;
{{(!}} class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Kutu türü&lt;br /&gt;
! Şablon&lt;br /&gt;
! Amaç&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;mbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|mbox}}&lt;br /&gt;
{{!}} Birden çok ad alanında kullanılacak mesaj kutuları için&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;ambox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|ambox}}&lt;br /&gt;
{{!}} Madde mesaj kutuları için&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;cmbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|cmbox}}&lt;br /&gt;
{{!}} Kategori mesaj kutuları için&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;fmbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|fmbox}}&lt;br /&gt;
{{!}} Arayüz mesaj kutuları için&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;imbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|imbox}}&lt;br /&gt;
{{!}} Dosya ad alanı mesaj kutuları için&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;tmbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|tmbox}}&lt;br /&gt;
{{!}} Tartışma sayfası mesaj kutuları için&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;ombox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|ombox}}&lt;br /&gt;
{{!}} Diğer ad alanlarındaki mesaj kutuları için&lt;br /&gt;
{{!)}}&lt;br /&gt;
&lt;br /&gt;
Kullanılabilir parametreler için her kutu türünün şablon sayfasına bakın.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;code&amp;gt;#invoke&amp;lt;/code&amp;gt; üzerinden kullanım ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; işlevinin yanı sıra, bu modülün her kutu türü için ayrı işlevleri vardır.&lt;br /&gt;
{{magic word|ext=Scribunto|nowrap=1|code=1|#invoke|[[Module:Message box|Message box]]&amp;lt;nowiki&amp;gt;|mbox|...&amp;lt;/nowiki&amp;gt;}}, {{tlc|#invoke:Message box|ambox|...}}, vb. kodu kullanarak erişebilir.&lt;br /&gt;
Bunlar, diğer modüllerden çağrıldıklarında çalışırlar, ancak {{tlc|#invoke:...}} üzerinden iletilen argümanları işlemek için kullanılan koda erişirler ve bu nedenle onları çağırmak, &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; çağırmaktan daha az verimli olacaktır.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Technical_details&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Teknik ayrıntılar ==&lt;br /&gt;
&lt;br /&gt;
Modül, yukarıda listelenen şablonların her biri için aynı temel kodu kullanır; her biri arasındaki farklar, [[Module:Message box/configuration]] üzerindeki veriler kullanılarak yapılandırılır.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules{{#translation:}}]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:Message box/doc|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Message_box/doc/pl&amp;diff=3149</id>
		<title>Module:Message box/doc/pl</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Message_box/doc/pl&amp;diff=3149"/>
		<updated>2025-09-04T07:24:38Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#switch:&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Languages|Module:Message box/doc}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
&amp;lt;!-- {{Shared Template Warning|Module:Message box}} --&amp;gt;&lt;br /&gt;
{{Used in system}}&lt;br /&gt;
{{module rating|r}}&lt;br /&gt;
{{module rating|p}}&lt;br /&gt;
{{Lua|Module:Message box/configuration|Module:Arguments|Module:Category handler|Module:Yesno}}&lt;br /&gt;
{{Uses TemplateStyles&lt;br /&gt;
| Module:Message box/ambox.css&lt;br /&gt;
| Module:Message box/cmbox.css&lt;br /&gt;
| Module:Message box/fmbox.css&lt;br /&gt;
| Module:Message box/imbox.css&lt;br /&gt;
| Module:Message box/ombox.css&lt;br /&gt;
| Module:Message box/tmbox.css&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;This is a meta-module that implements the message box templates {{separated entries|{{tlx|mbox}}|{{tlx|ambox}}|{{tlx|cmbox}}|{{tlx|fmbox}}|{{tlx|imbox}}|{{tlx|ombox}}|{{tlx|tmbox}}|separator=&amp;lt;nowiki/&amp;gt;{{int|lang=en|comma-separator}}&amp;lt;nowiki/&amp;gt;|conjunction=&amp;lt;nowiki/&amp;gt;{{int|lang=en|and}}{{int|lang=en|word-separator}}&amp;lt;nowiki/&amp;gt;}}.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;It is intended to be used from Lua modules, and should not be used directly from wiki pages.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;If you want to use this module&#039;s functionality from a wiki page, please use the individual message box templates instead.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Usage&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Użycie ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
To use this module from another Lua module, first you need to load it.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local messageBox = require(&#039;Module:Message box&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;To create a message box, use the &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; function.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;It takes two parameters:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Unordered list&lt;br /&gt;
|1=&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;the first is the box type (as a string).&amp;lt;/span&amp;gt;&lt;br /&gt;
|2=&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;the second is a table containing the message box parameters.&amp;lt;/span&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local box = messageBox.main( boxType, {&lt;br /&gt;
	param1 = param1,&lt;br /&gt;
	param2 = param2,&lt;br /&gt;
	-- Więcej parametrów...&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
There are seven available box types:&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{(!}} class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Box type&amp;lt;/span&amp;gt;&lt;br /&gt;
! Szablon&lt;br /&gt;
! Przeznaczenie&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;mbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|mbox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For message boxes to be used in multiple namespaces&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;ambox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|ambox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For article message boxes&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;cmbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|cmbox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For category message boxes&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;fmbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|fmbox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For interface message boxes&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;imbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|imbox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For file namespace message boxes&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;tmbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|tmbox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For talk page message boxes&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;ombox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|ombox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For message boxes in other namespaces&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!)}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
See the template page of each box type for the available parameters.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Usage from &amp;lt;code&amp;gt;#invoke&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;As well as the &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; function, this module has separate functions for each box type.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;They are accessed using the code {{magic word|ext=Scribunto|nowrap=1|code=1|#invoke|[[Module:Message box|Message box]]&amp;lt;nowiki&amp;gt;|mbox|...&amp;lt;/nowiki&amp;gt;}}, {{tlc|#invoke:Message box|ambox|...}}, etc.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;These will work when called from other modules, but they access code used to process arguments passed from {{tlc|#invoke:...}}, and so calling them will be less efficient than calling &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
== Technical details ==&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
The module uses the same basic code for each of the templates listed above; the differences between each of them are configured using the data at [[Module:Message box/configuration]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules{{#translation:}}]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:Message box/doc|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Message_box/doc/ja&amp;diff=3147</id>
		<title>Module:Message box/doc/ja</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Message_box/doc/ja&amp;diff=3147"/>
		<updated>2025-09-04T07:24:37Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#switch:&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Languages|Module:Message box/doc}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
&amp;lt;!-- {{Shared Template Warning|Module:Message box}} --&amp;gt;&lt;br /&gt;
{{Used in system}}&lt;br /&gt;
{{module rating|r}}&lt;br /&gt;
{{module rating|p}}&lt;br /&gt;
{{Lua|Module:Message box/configuration|Module:Arguments|Module:Category handler|Module:Yesno}}&lt;br /&gt;
{{Uses TemplateStyles&lt;br /&gt;
| Module:Message box/ambox.css&lt;br /&gt;
| Module:Message box/cmbox.css&lt;br /&gt;
| Module:Message box/fmbox.css&lt;br /&gt;
| Module:Message box/imbox.css&lt;br /&gt;
| Module:Message box/ombox.css&lt;br /&gt;
| Module:Message box/tmbox.css&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
このメタモジュールは告知ボックス用テンプレート{{separated entries|{{tlx|mbox}}|{{tlx|ambox}}|{{tlx|cmbox}}|{{tlx|fmbox}}|{{tlx|imbox}}|{{tlx|ombox}}|{{tlx|tmbox}}|separator=&amp;lt;nowiki/&amp;gt;{{int|lang=ja|comma-separator}}&amp;lt;nowiki/&amp;gt;|conjunction=&amp;lt;nowiki/&amp;gt;{{int|lang=ja|and}}{{int|lang=ja|word-separator}}&amp;lt;nowiki/&amp;gt;}}を実行します。&lt;br /&gt;
Lua モジュール経由の利用を想定しており、ウィキページで直接使用できません。&lt;br /&gt;
ウィキページでこの機能を使いたい場合は、これではなく個別の告知用テンプレートを活用してください。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Usage&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 使用法 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
To use this module from another Lua module, first you need to load it.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local messageBox = require(&#039;Module:Message box&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;To create a message box, use the &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; function.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;It takes two parameters:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Unordered list&lt;br /&gt;
|1=&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;the first is the box type (as a string).&amp;lt;/span&amp;gt;&lt;br /&gt;
|2=&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;the second is a table containing the message box parameters.&amp;lt;/span&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local box = messageBox.main( boxType, {&lt;br /&gt;
	param1 = param1,&lt;br /&gt;
	param2 = param2,&lt;br /&gt;
	-- More parameters...&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
There are seven available box types:&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{(!}} class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Box type&amp;lt;/span&amp;gt;&lt;br /&gt;
! テンプレート&lt;br /&gt;
! 目的&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;mbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|mbox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For message boxes to be used in multiple namespaces&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;ambox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|ambox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For article message boxes&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;cmbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|cmbox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For category message boxes&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;fmbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|fmbox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For interface message boxes&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;imbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|imbox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For file namespace message boxes&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;tmbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|tmbox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For talk page message boxes&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;ombox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|ombox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For message boxes in other namespaces&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!)}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
See the template page of each box type for the available parameters.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Usage from &amp;lt;code&amp;gt;#invoke&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;As well as the &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; function, this module has separate functions for each box type.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;They are accessed using the code {{magic word|ext=Scribunto|nowrap=1|code=1|#invoke|[[Module:Message box|Message box]]&amp;lt;nowiki&amp;gt;|mbox|...&amp;lt;/nowiki&amp;gt;}}, {{tlc|#invoke:Message box|ambox|...}}, etc.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;These will work when called from other modules, but they access code used to process arguments passed from {{tlc|#invoke:...}}, and so calling them will be less efficient than calling &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Technical_details&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 技術的な詳細 ==&lt;br /&gt;
&lt;br /&gt;
上記に示したそれぞれのテンプレートに対して、このモジュールは同一の基本コードを用います。それらの差異は[[Module:Message box/configuration]]のデータを用いて設定します。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules{{#translation:}}]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:Message box/doc|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Message_box/doc/fr&amp;diff=3145</id>
		<title>Module:Message box/doc/fr</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Message_box/doc/fr&amp;diff=3145"/>
		<updated>2025-09-04T07:24:35Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#switch:&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Languages|Module:Message box/doc}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
&amp;lt;!-- {{Shared Template Warning|Module:Message box}} --&amp;gt;&lt;br /&gt;
{{Used in system}}&lt;br /&gt;
{{module rating|r}}&lt;br /&gt;
{{module rating|p}}&lt;br /&gt;
{{Lua|Module:Message box/configuration|Module:Arguments|Module:Category handler|Module:Yesno}}&lt;br /&gt;
{{Uses TemplateStyles&lt;br /&gt;
| Module:Message box/ambox.css&lt;br /&gt;
| Module:Message box/cmbox.css&lt;br /&gt;
| Module:Message box/fmbox.css&lt;br /&gt;
| Module:Message box/imbox.css&lt;br /&gt;
| Module:Message box/ombox.css&lt;br /&gt;
| Module:Message box/tmbox.css&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Ce module est un méta-module qui implémente les modèles des boîtes de message {{separated entries|{{tlx|mbox}}|{{tlx|ambox}}|{{tlx|cmbox}}|{{tlx|fmbox}}|{{tlx|imbox}}|{{tlx|ombox}}|{{tlx|tmbox}}|separator=&amp;lt;nowiki/&amp;gt;{{int|lang=fr|comma-separator}}&amp;lt;nowiki/&amp;gt;|conjunction=&amp;lt;nowiki/&amp;gt;{{int|lang=fr|and}}{{int|lang=fr|word-separator}}&amp;lt;nowiki/&amp;gt;}}.&lt;br /&gt;
Il est fait pour être utilisé à partir des modules Lua, et ne doit pas être appelé directement à partir des pages du wiki.&lt;br /&gt;
Si vous souhaitez néanmoins utiliser les fonctionnalités de ce module à l&#039;intérieur d&#039;une page du wiki, utilisez plutôt à la place, les modèles de boîtes à message individuels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Usage&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Utilisation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
To use this module from another Lua module, first you need to load it.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local messageBox = require(&#039;Module:Message box&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour créer une boîte de message, utiliser la fonction &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;It takes two parameters:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Unordered list&lt;br /&gt;
|1=&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;the first is the box type (as a string).&amp;lt;/span&amp;gt;&lt;br /&gt;
|2=&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;the second is a table containing the message box parameters.&amp;lt;/span&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local box = messageBox.main( boxType, {&lt;br /&gt;
	param1 = param1,&lt;br /&gt;
	param2 = param2,&lt;br /&gt;
	-- More parameters...&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
There are seven available box types:&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{(!}} class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Box type&amp;lt;/span&amp;gt;&lt;br /&gt;
! &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Template&amp;lt;/span&amp;gt;&lt;br /&gt;
! &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Purpose&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;mbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|mbox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For message boxes to be used in multiple namespaces&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;ambox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|ambox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For article message boxes&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;cmbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|cmbox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For category message boxes&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;fmbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|fmbox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For interface message boxes&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;imbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|imbox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For file namespace message boxes&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;tmbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|tmbox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For talk page message boxes&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;ombox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|ombox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For message boxes in other namespaces&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!)}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
See the template page of each box type for the available parameters.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Utilisation à partir de &amp;lt;code&amp;gt;#invoke&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;As well as the &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; function, this module has separate functions for each box type.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;They are accessed using the code {{magic word|ext=Scribunto|nowrap=1|code=1|#invoke|[[Module:Message box|Message box]]&amp;lt;nowiki&amp;gt;|mbox|...&amp;lt;/nowiki&amp;gt;}}, {{tlc|#invoke:Message box|ambox|...}}, etc.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;These will work when called from other modules, but they access code used to process arguments passed from {{tlc|#invoke:...}}, and so calling them will be less efficient than calling &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Technical_details&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Détails techniques ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
The module uses the same basic code for each of the templates listed above; the differences between each of them are configured using the data at [[Module:Message box/configuration]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules{{#translation:}}]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:Message box/doc|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Message_box/doc/en&amp;diff=3143</id>
		<title>Module:Message box/doc/en</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Message_box/doc/en&amp;diff=3143"/>
		<updated>2025-09-04T07:24:34Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#switch:&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Languages|Module:Message box/doc}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
&amp;lt;!-- {{Shared Template Warning|Module:Message box}} --&amp;gt;&lt;br /&gt;
{{Used in system}}&lt;br /&gt;
{{module rating|r}}&lt;br /&gt;
{{module rating|p}}&lt;br /&gt;
{{Lua|Module:Message box/configuration|Module:Arguments|Module:Category handler|Module:Yesno}}&lt;br /&gt;
{{Uses TemplateStyles&lt;br /&gt;
| Module:Message box/ambox.css&lt;br /&gt;
| Module:Message box/cmbox.css&lt;br /&gt;
| Module:Message box/fmbox.css&lt;br /&gt;
| Module:Message box/imbox.css&lt;br /&gt;
| Module:Message box/ombox.css&lt;br /&gt;
| Module:Message box/tmbox.css&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is a meta-module that implements the message box templates {{separated entries|{{tlx|mbox}}|{{tlx|ambox}}|{{tlx|cmbox}}|{{tlx|fmbox}}|{{tlx|imbox}}|{{tlx|ombox}}|{{tlx|tmbox}}|separator=&amp;lt;nowiki/&amp;gt;{{int|lang=en|comma-separator}}&amp;lt;nowiki/&amp;gt;|conjunction=&amp;lt;nowiki/&amp;gt;{{int|lang=en|and}}{{int|lang=en|word-separator}}&amp;lt;nowiki/&amp;gt;}}.&lt;br /&gt;
It is intended to be used from Lua modules, and should not be used directly from wiki pages.&lt;br /&gt;
If you want to use this module&#039;s functionality from a wiki page, please use the individual message box templates instead.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
To use this module from another Lua module, first you need to load it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local messageBox = require(&#039;Module:Message box&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To create a message box, use the &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; function.&lt;br /&gt;
It takes two parameters:&lt;br /&gt;
&lt;br /&gt;
{{Unordered list&lt;br /&gt;
|1=&lt;br /&gt;
the first is the box type (as a string).&lt;br /&gt;
|2=&lt;br /&gt;
the second is a table containing the message box parameters.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local box = messageBox.main( boxType, {&lt;br /&gt;
	param1 = param1,&lt;br /&gt;
	param2 = param2,&lt;br /&gt;
	-- More parameters...&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are seven available box types:&lt;br /&gt;
&lt;br /&gt;
{{(!}} class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Box type&lt;br /&gt;
! Template&lt;br /&gt;
! Purpose&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;mbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|mbox}}&lt;br /&gt;
{{!}} For message boxes to be used in multiple namespaces&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;ambox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|ambox}}&lt;br /&gt;
{{!}} For article message boxes&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;cmbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|cmbox}}&lt;br /&gt;
{{!}} For category message boxes&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;fmbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|fmbox}}&lt;br /&gt;
{{!}} For interface message boxes&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;imbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|imbox}}&lt;br /&gt;
{{!}} For file namespace message boxes&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;tmbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|tmbox}}&lt;br /&gt;
{{!}} For talk page message boxes&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;ombox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|ombox}}&lt;br /&gt;
{{!}} For message boxes in other namespaces&lt;br /&gt;
{{!)}}&lt;br /&gt;
&lt;br /&gt;
See the template page of each box type for the available parameters.&lt;br /&gt;
&lt;br /&gt;
== Usage from &amp;lt;code&amp;gt;#invoke&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
As well as the &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; function, this module has separate functions for each box type.&lt;br /&gt;
They are accessed using the code {{magic word|ext=Scribunto|nowrap=1|code=1|#invoke|[[Module:Message box|Message box]]&amp;lt;nowiki&amp;gt;|mbox|...&amp;lt;/nowiki&amp;gt;}}, {{tlc|#invoke:Message box|ambox|...}}, etc.&lt;br /&gt;
These will work when called from other modules, but they access code used to process arguments passed from {{tlc|#invoke:...}}, and so calling them will be less efficient than calling &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Technical details ==&lt;br /&gt;
&lt;br /&gt;
The module uses the same basic code for each of the templates listed above; the differences between each of them are configured using the data at [[Module:Message box/configuration]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules{{#translation:}}]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:Message box/doc|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Message_box/doc/de&amp;diff=3141</id>
		<title>Module:Message box/doc/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Message_box/doc/de&amp;diff=3141"/>
		<updated>2025-09-04T07:24:32Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#switch:&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Languages|Module:Message box/doc}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
&amp;lt;!-- {{Shared Template Warning|Module:Message box}} --&amp;gt;&lt;br /&gt;
{{Used in system}}&lt;br /&gt;
{{module rating|r}}&lt;br /&gt;
{{module rating|p}}&lt;br /&gt;
{{Lua|Module:Message box/configuration|Module:Arguments|Module:Category handler|Module:Yesno}}&lt;br /&gt;
{{Uses TemplateStyles&lt;br /&gt;
| Module:Message box/ambox.css&lt;br /&gt;
| Module:Message box/cmbox.css&lt;br /&gt;
| Module:Message box/fmbox.css&lt;br /&gt;
| Module:Message box/imbox.css&lt;br /&gt;
| Module:Message box/ombox.css&lt;br /&gt;
| Module:Message box/tmbox.css&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;This is a meta-module that implements the message box templates {{separated entries|{{tlx|mbox}}|{{tlx|ambox}}|{{tlx|cmbox}}|{{tlx|fmbox}}|{{tlx|imbox}}|{{tlx|ombox}}|{{tlx|tmbox}}|separator=&amp;lt;nowiki/&amp;gt;{{int|lang=en|comma-separator}}&amp;lt;nowiki/&amp;gt;|conjunction=&amp;lt;nowiki/&amp;gt;{{int|lang=en|and}}{{int|lang=en|word-separator}}&amp;lt;nowiki/&amp;gt;}}.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;It is intended to be used from Lua modules, and should not be used directly from wiki pages.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;If you want to use this module&#039;s functionality from a wiki page, please use the individual message box templates instead.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Usage&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Verwendung ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
To use this module from another Lua module, first you need to load it.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local messageBox = require(&#039;Module:Message box&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;To create a message box, use the &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; function.&amp;lt;/span&amp;gt;&lt;br /&gt;
Es nimmt zwei Parameter:&lt;br /&gt;
&lt;br /&gt;
{{Unordered list&lt;br /&gt;
|1=&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;the first is the box type (as a string).&amp;lt;/span&amp;gt;&lt;br /&gt;
|2=&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;the second is a table containing the message box parameters.&amp;lt;/span&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local box = messageBox.main( boxType, {&lt;br /&gt;
	param1 = param1,&lt;br /&gt;
	param2 = param2,&lt;br /&gt;
	-- More parameters...&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
There are seven available box types:&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{(!}} class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Box type&amp;lt;/span&amp;gt;&lt;br /&gt;
! Vorlage&lt;br /&gt;
! Zweck&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;mbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|mbox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For message boxes to be used in multiple namespaces&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;ambox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|ambox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For article message boxes&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;cmbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|cmbox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For category message boxes&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;fmbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|fmbox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For interface message boxes&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;imbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|imbox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For file namespace message boxes&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;tmbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|tmbox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For talk page message boxes&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;ombox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|ombox}}&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For message boxes in other namespaces&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!)}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
See the template page of each box type for the available parameters.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Usage from &amp;lt;code&amp;gt;#invoke&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;As well as the &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; function, this module has separate functions for each box type.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;They are accessed using the code {{magic word|ext=Scribunto|nowrap=1|code=1|#invoke|[[Module:Message box|Message box]]&amp;lt;nowiki&amp;gt;|mbox|...&amp;lt;/nowiki&amp;gt;}}, {{tlc|#invoke:Message box|ambox|...}}, etc.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;These will work when called from other modules, but they access code used to process arguments passed from {{tlc|#invoke:...}}, and so calling them will be less efficient than calling &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Technical_details&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Technische Details ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
The module uses the same basic code for each of the templates listed above; the differences between each of them are configured using the data at [[Module:Message box/configuration]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules{{#translation:}}]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:Message box/doc|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Message_box/doc/cs&amp;diff=3139</id>
		<title>Module:Message box/doc/cs</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Message_box/doc/cs&amp;diff=3139"/>
		<updated>2025-09-04T07:24:31Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#switch:&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Languages|Module:Message box/doc}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
&amp;lt;!-- {{Shared Template Warning|Module:Message box}} --&amp;gt;&lt;br /&gt;
{{Used in system}}&lt;br /&gt;
{{module rating|r}}&lt;br /&gt;
{{module rating|p}}&lt;br /&gt;
{{Lua|Module:Message box/configuration|Module:Arguments|Module:Category handler|Module:Yesno}}&lt;br /&gt;
{{Uses TemplateStyles&lt;br /&gt;
| Module:Message box/ambox.css&lt;br /&gt;
| Module:Message box/cmbox.css&lt;br /&gt;
| Module:Message box/fmbox.css&lt;br /&gt;
| Module:Message box/imbox.css&lt;br /&gt;
| Module:Message box/ombox.css&lt;br /&gt;
| Module:Message box/tmbox.css&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Toto je metamodul, který implementuje šablony zpráv {{separated entries|{{tlx|mbox}}|{{tlx|ambox}}|{{tlx|cmbox}}|{{tlx|fmbox}}|{{tlx|imbox}}|{{tlx|ombox}}|{{tlx|tmbox}}|separator=&amp;lt;nowiki/&amp;gt;{{int|lang=cs|comma-separator}}&amp;lt;nowiki/&amp;gt;|conjunction=&amp;lt;nowiki/&amp;gt;{{int|lang=cs|and}}{{int|lang=cs|word-separator}}&amp;lt;nowiki/&amp;gt;}}.&lt;br /&gt;
Je určen k použití z modulů Lua a neměl by být používán přímo ze stránek wiki.&lt;br /&gt;
Pokud chcete používat funkce tohoto modulu ze stránky wiki, použijte místo toho jednotlivé šablony zpráv.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Usage&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Použití ==&lt;br /&gt;
&lt;br /&gt;
Chcete-li použít tento modul z jiného modulu Lua, musíte jej nejprve načíst.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local messageBox = require(&#039;Module:Message box&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Chcete-li vytvořit schránku zpráv, použijte funkci &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt;.&lt;br /&gt;
Chce to dva parametry:&lt;br /&gt;
&lt;br /&gt;
{{Unordered list&lt;br /&gt;
|1=&lt;br /&gt;
první je typ pole (jako řetězec).&lt;br /&gt;
|2=&lt;br /&gt;
druhá je tabulka obsahující parametry zpráv.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local box = messageBox.main( boxType, {&lt;br /&gt;
	param1 = param1,&lt;br /&gt;
	param2 = param2,&lt;br /&gt;
	-- Více parametrů...&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
K dispozici je sedm typů schránek:&lt;br /&gt;
&lt;br /&gt;
{{(!}} class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Typ schránky&lt;br /&gt;
! Šablona&lt;br /&gt;
! Účel&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;mbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|mbox}}&lt;br /&gt;
{{!}} Pro schránky zpráv, které mají být použity ve více jmenných prostorech&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;ambox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|ambox}}&lt;br /&gt;
{{!}} Pro pole zpráv článku&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;cmbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|cmbox}}&lt;br /&gt;
{{!}} Pro pole zpráv kategorií&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;fmbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|fmbox}}&lt;br /&gt;
{{!}} Pro schránky zpráv rozhraní&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;imbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|imbox}}&lt;br /&gt;
{{!}} Pro pole zpráv oboru názvů souborů&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;tmbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|tmbox}}&lt;br /&gt;
{{!}} Pro schránky zpráv diskusních stránek&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;ombox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|ombox}}&lt;br /&gt;
{{!}} Pro schránky zpráv v jiných jmenných prostorech&lt;br /&gt;
{{!)}}&lt;br /&gt;
&lt;br /&gt;
Dostupné parametry naleznete na stránce šablony pro každý typ schránky.&lt;br /&gt;
&lt;br /&gt;
== Použití pro &amp;lt;code&amp;gt;#invoke&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Kromě funkce &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; má tento modul samostatné funkce pro každý typ schránky.&lt;br /&gt;
Jsou přístupné pomocí kódu {{magic word|ext=Scribunto|nowrap=1|code=1|#invoke|[[Module:Message box|Message box]]&amp;lt;nowiki&amp;gt;|mbox|...&amp;lt;/nowiki&amp;gt;}}, {{tlc|#invoke:Message box|ambox|...}} atd.&lt;br /&gt;
Ty budou fungovat při volání z jiných modulů, ale přistupují ke kódu používanému ke zpracování argumentů předávaných z {{tlc|#invoke:...}}, takže jejich volání bude méně efektivní než volání &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Technical_details&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Technické podrobnosti ==&lt;br /&gt;
&lt;br /&gt;
Modul používá stejný základní kód pro každou z výše uvedených šablon. Rozdíly mezi každým z nich jsou nakonfigurovány pomocí dat na stránce [[Module:Message box/configuration]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules{{#translation:}}]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:Message box/doc|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Message_box/doc&amp;diff=3137</id>
		<title>Module:Message box/doc</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Message_box/doc&amp;diff=3137"/>
		<updated>2025-09-04T07:24:30Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#switch:&amp;lt;translate&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Languages|Module:Message box/doc}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
&amp;lt;!-- {{Shared Template Warning|Module:Message box}} --&amp;gt;&lt;br /&gt;
{{Used in system}}&lt;br /&gt;
{{module rating|r}}&lt;br /&gt;
{{module rating|p}}&lt;br /&gt;
{{Lua|Module:Message box/configuration|Module:Arguments|Module:Category handler|Module:Yesno}}&lt;br /&gt;
{{Uses TemplateStyles&lt;br /&gt;
| Module:Message box/ambox.css&lt;br /&gt;
| Module:Message box/cmbox.css&lt;br /&gt;
| Module:Message box/fmbox.css&lt;br /&gt;
| Module:Message box/imbox.css&lt;br /&gt;
| Module:Message box/ombox.css&lt;br /&gt;
| Module:Message box/tmbox.css&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:1--&amp;gt; This is a meta-module that implements the message box templates &amp;lt;tvar name=1&amp;gt;{{separated entries|{{tlx|mbox}}|{{tlx|ambox}}|{{tlx|cmbox}}|{{tlx|fmbox}}|{{tlx|imbox}}|{{tlx|ombox}}|{{tlx|tmbox}}|separator=&amp;lt;nowiki/&amp;gt;{{int|lang={{TRANSLATIONLANGUAGE}}|comma-separator}}&amp;lt;nowiki/&amp;gt;|conjunction=&amp;lt;nowiki/&amp;gt;{{int|lang={{TRANSLATIONLANGUAGE}}|and}}{{int|lang={{TRANSLATIONLANGUAGE}}|word-separator}}&amp;lt;nowiki/&amp;gt;}}&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:2--&amp;gt; It is intended to be used from Lua modules, and should not be used directly from wiki pages.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:3--&amp;gt; If you want to use this module&#039;s functionality from a wiki page, please use the individual message box templates instead.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Usage == &amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
To use this module from another Lua module, first you need to load it.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local messageBox = require(&#039;Module:Message box&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:6--&amp;gt; To create a message box, use the &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; function.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:7--&amp;gt; It takes two parameters:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Unordered list&lt;br /&gt;
|1=&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:8--&amp;gt; the first is the box type (as a string).&amp;lt;/translate&amp;gt;&lt;br /&gt;
|2=&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:9--&amp;gt; the second is a table containing the message box parameters.&amp;lt;/translate&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local box = messageBox.main( boxType, {&lt;br /&gt;
	param1 = param1,&lt;br /&gt;
	param2 = param2,&lt;br /&gt;
	-- &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:10--&amp;gt; More parameters...&amp;lt;/translate&amp;gt;&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
There are seven available box types:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{(!}} class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &amp;lt;translate&amp;gt;&amp;lt;!--T:12--&amp;gt; Box type&amp;lt;/translate&amp;gt;&lt;br /&gt;
! &amp;lt;translate&amp;gt;&amp;lt;!--T:13--&amp;gt; Template&amp;lt;/translate&amp;gt;&lt;br /&gt;
! &amp;lt;translate&amp;gt;&amp;lt;!--T:14--&amp;gt; Purpose&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;mbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|mbox}}&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:15--&amp;gt; For message boxes to be used in multiple namespaces&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;ambox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|ambox}}&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:16--&amp;gt; For article message boxes&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;cmbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|cmbox}}&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:17--&amp;gt; For category message boxes&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;fmbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|fmbox}}&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:18--&amp;gt; For interface message boxes&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;imbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|imbox}}&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:19--&amp;gt; For file namespace message boxes&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;tmbox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|tmbox}}&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:20--&amp;gt; For talk page message boxes&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;ombox&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{tlx|ombox}}&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:21--&amp;gt; For message boxes in other namespaces&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!)}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
See the template page of each box type for the available parameters.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate nowrap&amp;gt;&lt;br /&gt;
== Usage from &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;#invoke&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; == &amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:24--&amp;gt; As well as the &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; function, this module has separate functions for each box type.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:25--&amp;gt; They are accessed using the code &amp;lt;tvar name=1&amp;gt;{{magic word|ext=Scribunto|nowrap=1|code=1|#invoke|[[Module:Message box|Message box]]&amp;lt;nowiki&amp;gt;|mbox|...&amp;lt;/nowiki&amp;gt;}}&amp;lt;/tvar&amp;gt;, &amp;lt;tvar name=2&amp;gt;{{tlc|#invoke:Message box|ambox|...}}&amp;lt;/tvar&amp;gt;, etc.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:26--&amp;gt; These will work when called from other modules, but they access code used to process arguments passed from &amp;lt;tvar name=1&amp;gt;{{tlc|#invoke:...}}&amp;lt;/tvar&amp;gt;, and so calling them will be less efficient than calling &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Technical details == &amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
The module uses the same basic code for each of the templates listed above; the differences between each of them are configured using the data at &amp;lt;tvar name=1&amp;gt;[[Module:Message box/configuration]]&amp;lt;/tvar&amp;gt;.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules{{#translation:}}]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:Message box/doc|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Message_box/configuration/uk&amp;diff=3135</id>
		<title>Module:Message box/configuration/uk</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Message_box/configuration/uk&amp;diff=3135"/>
		<updated>2025-09-04T07:24:29Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local ambox = {&lt;br /&gt;
	types = {&lt;br /&gt;
		speedy = {&lt;br /&gt;
			class = &#039;ambox-speedy&#039;,&lt;br /&gt;
			image = &#039;Ambox speedy deletion.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		delete = {&lt;br /&gt;
			class = &#039;ambox-delete&#039;,&lt;br /&gt;
			image = &#039;Ambox deletion.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		content = {&lt;br /&gt;
			class = &#039;ambox-content&#039;,&lt;br /&gt;
			image = &#039;Ambox content.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		style = {&lt;br /&gt;
			class = &#039;ambox-style&#039;,&lt;br /&gt;
			image = &#039;Edit-clear.svg&#039;&lt;br /&gt;
		},&lt;br /&gt;
		move = {&lt;br /&gt;
			class = &#039;ambox-move&#039;,&lt;br /&gt;
			image = &#039;Ambox move.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		protection = {&lt;br /&gt;
			class = &#039;ambox-protection&#039;,&lt;br /&gt;
			image = &#039;Ambox protection.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		notice = {&lt;br /&gt;
			class = &#039;ambox-notice&#039;,&lt;br /&gt;
			image = &#039;Ambox notice.png&#039;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	default                     = &#039;notice&#039;,&lt;br /&gt;
	allowBlankParams            = {&#039;talk&#039;, &#039;sect&#039;, &#039;date&#039;, &#039;issue&#039;, &#039;fix&#039;, &#039;subst&#039;, &#039;hidden&#039;},&lt;br /&gt;
	allowSmall                  = true,&lt;br /&gt;
	smallParam                  = &#039;left&#039;,&lt;br /&gt;
	smallClass                  = &#039;mbox-small-left&#039;,&lt;br /&gt;
	substCheck                  = true,&lt;br /&gt;
	classes                     = {&#039;metadata&#039;, &#039;plainlinks&#039;, &#039;ambox&#039;},&lt;br /&gt;
	imageEmptyCell              = true,&lt;br /&gt;
	imageCheckBlank             = true,&lt;br /&gt;
	imageSmallSize              = &#039;20x20px&#039;,&lt;br /&gt;
	imageCellDiv                = true,&lt;br /&gt;
	useCollapsibleTextFields    = true,&lt;br /&gt;
	imageRightNone              = true,&lt;br /&gt;
	sectionDefault              = &#039;article&#039;,&lt;br /&gt;
	allowMainspaceCategories    = true,&lt;br /&gt;
	templateCategory            = &#039;Article message templates/uk&#039;,&lt;br /&gt;
        templateCategoryRequireName = true,&lt;br /&gt;
	templateErrorCategory       = &#039;Article message templates with missing parameters/uk&#039;,&lt;br /&gt;
	templateErrorParamsToCheck  = {&#039;issue&#039;, &#039;fix&#039;, &#039;subst&#039;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local cmbox = {&lt;br /&gt;
	types = {&lt;br /&gt;
		speedy = {&lt;br /&gt;
			class = &#039;cmbox-speedy&#039;,&lt;br /&gt;
			image = &#039;Cmbox deletion.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		delete = {&lt;br /&gt;
			class = &#039;cmbox-delete&#039;,&lt;br /&gt;
			image = &#039;Cmbox deletion.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		content = {&lt;br /&gt;
			class = &#039;cmbox-content&#039;,&lt;br /&gt;
			image = &#039;Cmbox content.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		style = {&lt;br /&gt;
			class = &#039;cmbox-style&#039;,&lt;br /&gt;
			image = &#039;Edit-clear.svg&#039;&lt;br /&gt;
		},&lt;br /&gt;
		move = {&lt;br /&gt;
			class = &#039;cmbox-move&#039;,&lt;br /&gt;
			image = &#039;Cmbox move.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		protection = {&lt;br /&gt;
			class = &#039;cmbox-protection&#039;,&lt;br /&gt;
			image = &#039;Cmbox protection.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		notice = {&lt;br /&gt;
			class = &#039;cmbox-notice&#039;,&lt;br /&gt;
			image = &#039;Cmbox notice.png&#039;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	default              = &#039;notice&#039;,&lt;br /&gt;
	showInvalidTypeError = true,&lt;br /&gt;
	classes              = {&#039;plainlinks&#039;, &#039;cmbox&#039;},&lt;br /&gt;
	imageEmptyCell       = true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local fmbox = {&lt;br /&gt;
	types = {&lt;br /&gt;
		warning = {&lt;br /&gt;
			class = &#039;fmbox-warning&#039;,&lt;br /&gt;
			image = &#039;Cmbox deletion.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		editnotice = {&lt;br /&gt;
			class = &#039;fmbox-editnotice&#039;,&lt;br /&gt;
			image = &#039;Imbox notice.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		system = {&lt;br /&gt;
			class = &#039;fmbox-system&#039;,&lt;br /&gt;
			image = &#039;Imbox notice.png&#039;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	default              = &#039;system&#039;,&lt;br /&gt;
	showInvalidTypeError = true,&lt;br /&gt;
	allowId                = true,&lt;br /&gt;
	classes              = {&#039;plainlinks&#039;, &#039;fmbox&#039;},&lt;br /&gt;
	imageEmptyCell       = false,&lt;br /&gt;
	imageRightNone       = false&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local imbox = {&lt;br /&gt;
	types = {&lt;br /&gt;
		speedy = {&lt;br /&gt;
			class = &#039;imbox-speedy&#039;,&lt;br /&gt;
			image = &#039;Imbox speedy deletion.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		delete = {&lt;br /&gt;
			class = &#039;imbox-delete&#039;,&lt;br /&gt;
			image = &#039;Imbox deletion.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		content = {&lt;br /&gt;
			class = &#039;imbox-content&#039;,&lt;br /&gt;
			image = &#039;Imbox content.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		style = {&lt;br /&gt;
			class = &#039;imbox-style&#039;,&lt;br /&gt;
			image = &#039;Edit-clear.svg&#039;&lt;br /&gt;
		},&lt;br /&gt;
		move = {&lt;br /&gt;
			class = &#039;imbox-move&#039;,&lt;br /&gt;
			image = &#039;Imbox move.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		protection = {&lt;br /&gt;
			class = &#039;imbox-protection&#039;,&lt;br /&gt;
			image = &#039;Imbox protection.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		license = {&lt;br /&gt;
			class = &#039;imbox-license&#039;,&lt;br /&gt;
			image = &#039;Imbox license.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		featured = {&lt;br /&gt;
			class = &#039;imbox-featured&#039;,&lt;br /&gt;
			image = &#039;Imbox featured.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		notice = {&lt;br /&gt;
			class = &#039;imbox-notice&#039;,&lt;br /&gt;
			image = &#039;Imbox notice.png&#039;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	default              = &#039;notice&#039;,&lt;br /&gt;
	showInvalidTypeError = true,&lt;br /&gt;
	classes              = {&#039;imbox&#039;},&lt;br /&gt;
	usePlainlinksParam   = true,&lt;br /&gt;
	imageEmptyCell       = true,&lt;br /&gt;
	below                = true,&lt;br /&gt;
	templateCategory     = &#039;File message boxes/uk&#039;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local ombox = {&lt;br /&gt;
	types = {&lt;br /&gt;
		speedy = {&lt;br /&gt;
			class = &#039;ombox-speedy&#039;,&lt;br /&gt;
			image = &#039;Imbox speedy deletion.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		delete = {&lt;br /&gt;
			class = &#039;ombox-delete&#039;,&lt;br /&gt;
			image = &#039;Imbox deletion.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		content = {&lt;br /&gt;
			class = &#039;ombox-content&#039;,&lt;br /&gt;
			image = &#039;Imbox content.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		style = {&lt;br /&gt;
			class = &#039;ombox-style&#039;,&lt;br /&gt;
			image = &#039;Edit-clear.svg&#039;&lt;br /&gt;
		},&lt;br /&gt;
		move = {&lt;br /&gt;
			class = &#039;ombox-move&#039;,&lt;br /&gt;
			image = &#039;Imbox move.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		protection = {&lt;br /&gt;
			class = &#039;ombox-protection&#039;,&lt;br /&gt;
			image = &#039;Imbox protection.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		notice = {&lt;br /&gt;
			class = &#039;ombox-notice&#039;,&lt;br /&gt;
			image = &#039;Imbox notice.png&#039;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	default              = &#039;notice&#039;,&lt;br /&gt;
	showInvalidTypeError = true,&lt;br /&gt;
	classes              = {&#039;plainlinks&#039;, &#039;ombox&#039;},&lt;br /&gt;
	allowSmall           = true,&lt;br /&gt;
	imageEmptyCell       = true,&lt;br /&gt;
	imageRightNone       = true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local tmbox = {&lt;br /&gt;
	types = {&lt;br /&gt;
		speedy = {&lt;br /&gt;
			class = &#039;tmbox-speedy&#039;,&lt;br /&gt;
			image = &#039;Imbox speedy deletion.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		delete = {&lt;br /&gt;
			class = &#039;tmbox-delete&#039;,&lt;br /&gt;
			image = &#039;Imbox deletion.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		content = {&lt;br /&gt;
			class = &#039;tmbox-content&#039;,&lt;br /&gt;
			image = &#039;Imbox content.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		style = {&lt;br /&gt;
			class = &#039;tmbox-style&#039;,&lt;br /&gt;
			image = &#039;Edit-clear.svg &#039;&lt;br /&gt;
		},&lt;br /&gt;
		move = {&lt;br /&gt;
			class = &#039;tmbox-move&#039;,&lt;br /&gt;
			image = &#039;Imbox move.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		protection = {&lt;br /&gt;
			class = &#039;tmbox-protection&#039;,&lt;br /&gt;
			image = &#039;Imbox protection.png&#039;&lt;br /&gt;
		},&lt;br /&gt;
		notice = {&lt;br /&gt;
			class = &#039;tmbox-notice&#039;,&lt;br /&gt;
			image = &#039;Imbox notice.png&#039;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	default              = &#039;notice&#039;,&lt;br /&gt;
	showInvalidTypeError = true,&lt;br /&gt;
	classes              = {&#039;plainlinks&#039;, &#039;tmbox&#039;},&lt;br /&gt;
	allowId              = true,&lt;br /&gt;
	allowSmall           = true,&lt;br /&gt;
	imageRightNone       = true,&lt;br /&gt;
	imageEmptyCell       = true,&lt;br /&gt;
	imageEmptyCellStyle  = true,&lt;br /&gt;
	templateCategory     = &#039;Talk message boxes/uk&#039;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
	ambox = ambox,&lt;br /&gt;
	cmbox = cmbox,&lt;br /&gt;
	fmbox = fmbox,&lt;br /&gt;
	imbox = imbox,&lt;br /&gt;
	ombox = ombox,&lt;br /&gt;
	tmbox = tmbox&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Message_box/configuration/tr/doc&amp;diff=3133</id>
		<title>Module:Message box/configuration/tr/doc</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Message_box/configuration/tr/doc&amp;diff=3133"/>
		<updated>2025-09-04T07:24:29Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Module:Message box/configuration/doc/tr]]&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Message_box/configuration/sandbox&amp;diff=3131</id>
		<title>Module:Message box/configuration/sandbox</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Message_box/configuration/sandbox&amp;diff=3131"/>
		<updated>2025-09-04T07:24:29Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--------------------------------------------------------------------------------&lt;br /&gt;
--                          Message box configuration                         --&lt;br /&gt;
--                                                                            --&lt;br /&gt;
-- This module contains configuration data for [[Module:Message box]].        --&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
	ambox = {&lt;br /&gt;
		types = {&lt;br /&gt;
			speedy = {&lt;br /&gt;
				class = &#039;ambox-speedy&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			delete = {&lt;br /&gt;
				class = &#039;ambox-delete&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			warning = { -- alias for content&lt;br /&gt;
				class = &#039;ambox-content&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon notice-warning.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			content = {&lt;br /&gt;
				class = &#039;ambox-content&#039;,&lt;br /&gt;
				image = &#039;OOjs UI icon notice-warning.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			style = {&lt;br /&gt;
				class = &#039;ambox-style&#039;,&lt;br /&gt;
				image = &#039;Edit-clear.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			move = {&lt;br /&gt;
				class = &#039;ambox-move&#039;,&lt;br /&gt;
				image = &#039;Merge-split-transwiki default.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			protection = {&lt;br /&gt;
				class = &#039;ambox-protection&#039;,&lt;br /&gt;
				image = &#039;Full-protection-shackle-frwiki.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			notice = {&lt;br /&gt;
				class = &#039;ambox-notice&#039;,&lt;br /&gt;
				image = &#039;Information icon4.svg&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		default                     = &#039;notice&#039;,&lt;br /&gt;
		allowBlankParams            = {&#039;talk&#039;, &#039;sect&#039;, &#039;date&#039;, &#039;issue&#039;, &#039;fix&#039;, &#039;subst&#039;, &#039;hidden&#039;},&lt;br /&gt;
		allowSmall                  = true,&lt;br /&gt;
		smallParam                  = &#039;left&#039;,&lt;br /&gt;
		smallClass                  = &#039;mbox-small-left&#039;,&lt;br /&gt;
		substCheck                  = true,&lt;br /&gt;
		classes                     = {&#039;metadata&#039;, &#039;plainlinks&#039;, &#039;ambox&#039;},&lt;br /&gt;
		imageEmptyCell              = true,&lt;br /&gt;
		imageCheckBlank             = true,&lt;br /&gt;
		imageSmallSize              = &#039;20x20px&#039;,&lt;br /&gt;
		imageCellDiv                = true,&lt;br /&gt;
		useCollapsibleTextFields    = true,&lt;br /&gt;
		imageRightNone              = true,&lt;br /&gt;
		sectionDefault              = &#039;article&#039;,&lt;br /&gt;
		allowMainspaceCategories    = true,&lt;br /&gt;
		templateCategory            = &#039;Article message templates&#039;,&lt;br /&gt;
	        templateCategoryRequireName = true,&lt;br /&gt;
		templateErrorCategory       = &#039;Article message templates with missing parameters&#039;,&lt;br /&gt;
		templateErrorParamsToCheck  = {&#039;issue&#039;, &#039;fix&#039;, &#039;subst&#039;}&lt;br /&gt;
	},&lt;br /&gt;
	&lt;br /&gt;
	cmbox = {&lt;br /&gt;
		types = {&lt;br /&gt;
			speedy = {&lt;br /&gt;
				class = &#039;cmbox-speedy&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			delete = {&lt;br /&gt;
				class = &#039;cmbox-delete&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			content = {&lt;br /&gt;
				class = &#039;cmbox-content&#039;,&lt;br /&gt;
				image = &#039;Ambox important.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			style = {&lt;br /&gt;
				class = &#039;cmbox-style&#039;,&lt;br /&gt;
				image = &#039;Edit-clear.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			move = {&lt;br /&gt;
				class = &#039;cmbox-move&#039;,&lt;br /&gt;
				image = &#039;Merge-split-transwiki default.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			protection = {&lt;br /&gt;
				class = &#039;cmbox-protection&#039;,&lt;br /&gt;
				image = &#039;Padlock-silver-medium.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			notice = {&lt;br /&gt;
				class = &#039;cmbox-notice&#039;,&lt;br /&gt;
				image = &#039;Information icon4.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			caution = {&lt;br /&gt;
				class = &#039;cmbox-style&#039;,&lt;br /&gt;
				image = &#039;Ambox warning yellow.svg&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		default              = &#039;notice&#039;,&lt;br /&gt;
		showInvalidTypeError = true,&lt;br /&gt;
		classes              = {&#039;plainlinks&#039;, &#039;cmbox&#039;},&lt;br /&gt;
		imageEmptyCell       = true&lt;br /&gt;
	},&lt;br /&gt;
	&lt;br /&gt;
	fmbox = {&lt;br /&gt;
		types = {&lt;br /&gt;
			warning = {&lt;br /&gt;
				class = &#039;fmbox-warning&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			editnotice = {&lt;br /&gt;
				class = &#039;fmbox-editnotice&#039;,&lt;br /&gt;
				image = &#039;Information icon4.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			system = {&lt;br /&gt;
				class = &#039;fmbox-system&#039;,&lt;br /&gt;
				image = &#039;Information icon4.svg&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		default              = &#039;system&#039;,&lt;br /&gt;
		showInvalidTypeError = true,&lt;br /&gt;
		classes              = {&#039;plainlinks&#039;, &#039;fmbox&#039;},&lt;br /&gt;
		imageEmptyCell       = false,&lt;br /&gt;
		imageRightNone       = false&lt;br /&gt;
	},&lt;br /&gt;
	&lt;br /&gt;
	imbox = {&lt;br /&gt;
		types = {&lt;br /&gt;
			speedy = {&lt;br /&gt;
				class = &#039;imbox-speedy&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			delete = {&lt;br /&gt;
				class = &#039;imbox-delete&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			content = {&lt;br /&gt;
				class = &#039;imbox-content&#039;,&lt;br /&gt;
				image = &#039;Ambox important.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			style = {&lt;br /&gt;
				class = &#039;imbox-style&#039;,&lt;br /&gt;
				image = &#039;Edit-clear.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			move = {&lt;br /&gt;
				class = &#039;imbox-move&#039;,&lt;br /&gt;
				image = &#039;Merge-split-transwiki default.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			protection = {&lt;br /&gt;
				class = &#039;imbox-protection&#039;,&lt;br /&gt;
				image = &#039;Padlock-silver-medium.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			license = {&lt;br /&gt;
				class = &#039;imbox-license licensetpl&#039;,&lt;br /&gt;
				image = &#039;Imbox license.png&#039; -- @todo We need an SVG version of this&lt;br /&gt;
			},&lt;br /&gt;
			featured = {&lt;br /&gt;
				class = &#039;imbox-featured&#039;,&lt;br /&gt;
				image = &#039;Cscr-featured.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			notice = {&lt;br /&gt;
				class = &#039;imbox-notice&#039;,&lt;br /&gt;
				image = &#039;Information icon4.svg&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		default              = &#039;notice&#039;,&lt;br /&gt;
		showInvalidTypeError = true,&lt;br /&gt;
		classes              = {&#039;imbox&#039;},&lt;br /&gt;
		usePlainlinksParam   = true,&lt;br /&gt;
		imageEmptyCell       = true,&lt;br /&gt;
		below                = true,&lt;br /&gt;
		templateCategory     = &#039;File message boxes&#039;&lt;br /&gt;
	},&lt;br /&gt;
	&lt;br /&gt;
	ombox = {&lt;br /&gt;
		types = {&lt;br /&gt;
			speedy = {&lt;br /&gt;
				class = &#039;ombox-speedy&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			delete = {&lt;br /&gt;
				class = &#039;ombox-delete&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			warning = { -- alias for content&lt;br /&gt;
				class = &#039;ombox-content&#039;,&lt;br /&gt;
				image = &#039;Ambox important.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			content = {&lt;br /&gt;
				class = &#039;ombox-content&#039;,&lt;br /&gt;
				image = &#039;Ambox important.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			style = {&lt;br /&gt;
				class = &#039;ombox-style&#039;,&lt;br /&gt;
				image = &#039;Edit-clear.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			move = {&lt;br /&gt;
				class = &#039;ombox-move&#039;,&lt;br /&gt;
				image = &#039;Merge-split-transwiki default.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			protection = {&lt;br /&gt;
				class = &#039;ombox-protection&#039;,&lt;br /&gt;
				image = &#039;Padlock-silver-medium.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			notice = {&lt;br /&gt;
				class = &#039;ombox-notice&#039;,&lt;br /&gt;
				image = &#039;Information icon4.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			critical = {&lt;br /&gt;
				class = &#039;mbox-critical&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		default              = &#039;notice&#039;,&lt;br /&gt;
		showInvalidTypeError = true,&lt;br /&gt;
		classes              = {&#039;plainlinks&#039;, &#039;ombox&#039;},&lt;br /&gt;
		allowSmall           = true,&lt;br /&gt;
		imageEmptyCell       = true,&lt;br /&gt;
		imageRightNone       = true&lt;br /&gt;
	},&lt;br /&gt;
	&lt;br /&gt;
	tmbox = {&lt;br /&gt;
		types = {&lt;br /&gt;
			speedy = {&lt;br /&gt;
				class = &#039;tmbox-speedy&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			delete = {&lt;br /&gt;
				class = &#039;tmbox-delete&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			content = {&lt;br /&gt;
				class = &#039;tmbox-content&#039;,&lt;br /&gt;
				image = &#039;Ambox important.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			style = {&lt;br /&gt;
				class = &#039;tmbox-style&#039;,&lt;br /&gt;
				image = &#039;Edit-clear.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			move = {&lt;br /&gt;
				class = &#039;tmbox-move&#039;,&lt;br /&gt;
				image = &#039;Merge-split-transwiki default.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			protection = {&lt;br /&gt;
				class = &#039;tmbox-protection&#039;,&lt;br /&gt;
				image = &#039;Padlock-silver-medium.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			notice = {&lt;br /&gt;
				class = &#039;tmbox-notice&#039;,&lt;br /&gt;
				image = &#039;Information icon4.svg&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		default              = &#039;notice&#039;,&lt;br /&gt;
		showInvalidTypeError = true,&lt;br /&gt;
		classes              = {&#039;plainlinks&#039;, &#039;tmbox&#039;},&lt;br /&gt;
		allowSmall           = true,&lt;br /&gt;
		imageRightNone       = true,&lt;br /&gt;
		imageEmptyCell       = true,&lt;br /&gt;
		imageEmptyCellStyle  = true,&lt;br /&gt;
		templateCategory     = &#039;Talk message boxes&#039;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Message_box/configuration/doc/tr&amp;diff=3129</id>
		<title>Module:Message box/configuration/doc/tr</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Message_box/configuration/doc/tr&amp;diff=3129"/>
		<updated>2025-09-04T07:24:29Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#switch:&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Languages|Module:Message box/configuration/doc}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
{{Used in system}}&lt;br /&gt;
{{Module rating|protected}}&lt;br /&gt;
Bu modül [[Module:Message box]] için yapılandırma verilerini içerir.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Configuration_options&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Yapılandırma seçenekleri ==&lt;br /&gt;
{{(!}} class=&amp;quot;wikitable plainrowheaders&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; {{!}} Seçenek&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; {{!}} Açıklama&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;types&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Mesaj kutusunun tip parametresi tarafından kullanılan verileri içeren bir tablo. Tablo anahtarları, tür parametresine iletilebilen değerlerdir ve tablo değerleri, sınıfı ve bu tür tarafından kullanılan görüntüyü içeren tablolardır.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Type parametresine değer iletilmediyse veya geçersiz bir değer belirtildiyse kullanılacak tür.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;showInvalidTypeError&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Type parametresine iletilen değer geçersizse bir hatanın gösterilip gösterilmeyeceği.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;allowBlankParams&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Genellikle boş değerler modüle geçirilen parametrelerden çıkarılır. Bununla birlikte, &amp;lt;code&amp;gt;allowBlankParams&amp;lt;/code&amp;gt; tablosuna dahil edilen parametreler için boşluk korunur.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;allowSmall&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{para|small|1}} ile mesaj kutusunun küçük bir versiyonunun üretilip üretilemeyeceği.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;smallParam&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{para|small}} parametre için özel bir ad. Örneğin, {{inline-code|lang=lua|&amp;quot;left&amp;quot;}} olarak ayarlanırsa {{para|small|left}} kullanarak küçük bir mesaj kutusu oluşturabilirsiniz.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;smallClass&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Küçük mesaj kutuları için kullanılacak sınıf.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;substCheck&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Bir alt kontrol gerçekleştirilip gerçekleştirilmeyeceği.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;classes&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Ileti kutusuyla kullanılacak bir sınıf dizisi.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageEmptyCell&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Resim kümesi yoksa boş bir {{tag|td}} hücresi kullanılıp kullanılmayacağı. Bu, ekranın 100%&#039;ünden daha az genişliğe sahip mesaj kutuları için boşlukları korumak için kullanılır.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageEmptyCellStyle&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Boş resim hücrelerine stil uygulanıp uygulanmayacağı.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageCheckBlank&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{para|image|blank}} ifadesinin herhangi bir resmin görüntülenmesine neden olup olmadığı.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageSmallSize&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Genellikle küçük mesaj kutularında kullanılan resimler 30x30px olarak ayarlanmıştır. Bu, özel bir boyut belirler.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageCellDiv&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Maksimum resim boyutunu zorlayan bir resmini bir {{tag|div|o}} içine alınıp alınmayacağı.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;useCollapsibleTextFields&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Daraltılabilen metin alanlarının kullanılıp kullanılmayacağı, yani {{inline-code|lang=lua|&amp;quot;issue&amp;quot;}}, {{inline-code|lang=lua|&amp;quot;fix&amp;quot;}}, {{inline-code|lang=lua|&amp;quot;talk&amp;quot;}}, vb. Şu anda yalnızca {{tlx|ambox}} üzerinde kullanılmaktadır.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageRightNone&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{para|imageright|none}} olursa mesaj kutusunun sağ tarafında hiçbir resim görüntülenmez.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;sectionDefault&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} {{para|section}} parametresi için varsayılan ad. &amp;lt;code&amp;gt;useCollapsibleTextFields&amp;lt;/code&amp;gt; ile bağlıdır.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;allowMainspaceCategories&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Ana ad alanında sınıflandırmaya izin verin.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateCategory&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Şablon sayfasına yerleştirilecek kategorinin adı.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateCategoryRequireName&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Şablon kategorisini görüntülemek için {{para|name}} parametresinin gerekli olup olmadığı.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateErrorCategory&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Şablon sayfasında kullanılacak hata kategorisinin adı.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateErrorParamsToCheck&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Kontrol edilecek bir dizi parametre adı. Herhangi biri yoksa, şablon sayfasına &amp;lt;code&amp;gt;templateErrorCategory&amp;lt;/code&amp;gt; uygulanır.&lt;br /&gt;
{{!)}}&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:Message box/configuration/doc|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Message_box/configuration/doc/ja&amp;diff=3127</id>
		<title>Module:Message box/configuration/doc/ja</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Message_box/configuration/doc/ja&amp;diff=3127"/>
		<updated>2025-09-04T07:24:28Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#switch:&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Languages|Module:Message box/configuration/doc}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
{{Used in system}}&lt;br /&gt;
{{Module rating|protected}}&lt;br /&gt;
このモジュールは、[[Module:Message box]] 向けの設定データを含んでいます。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Configuration_options&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 環境設定のオプション ==&lt;br /&gt;
{{(!}} class=&amp;quot;wikitable plainrowheaders&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; {{!}} オプション&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; {{!}} 説明&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;types&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;A table containing data used by the type parameter of the message box.&amp;lt;/span&amp;gt; &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;The table keys are the values that can be passed to the type parameter, and the table values are tables containing the class and the image used by that type.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;The type to use if no value was passed to the type parameter, or if an invalid value was specified.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;showInvalidTypeError&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether to show an error if the value passed to the type parameter was invalid.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;allowBlankParams&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Usually blank values are stripped from parameters passed to the module.&amp;lt;/span&amp;gt; &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;However, whitespace is preserved for the parameters included in the &amp;lt;code&amp;gt;allowBlankParams&amp;lt;/code&amp;gt; table.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;allowSmall&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether a small version of the message box can be produced with {{para|small|1}}.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;smallParam&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;A custom value for the {{para|small}} parameter.&amp;lt;/span&amp;gt; &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For example, if set to {{inline-code|lang=lua|&amp;quot;left&amp;quot;}} you can produce a small message box using {{para|small|left}}.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;smallClass&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;The class to use for small message boxes.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;substCheck&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether to perform a subst check or not.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;classes&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;An array of classes to use with the message box.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageEmptyCell&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether to use an empty {{tag|td}} cell if there is no image set.&amp;lt;/span&amp;gt; &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;This is used to preserve spacing for message boxes with a width of less than 100% of the screen.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageEmptyCellStyle&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether empty image cells should be styled.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageCheckBlank&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether {{para|image|blank}} results in no image being displayed.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageSmallSize&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Usually, images used in small message boxes are set to 30x30px.&amp;lt;/span&amp;gt; &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;This sets a custom size.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageCellDiv&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether to enclose the image in a {{tag|div|o}} enforcing a maximum image size.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;useCollapsibleTextFields&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether to use text fields that can be collapsed, i.e. {{inline-code|lang=lua|&amp;quot;issue&amp;quot;}}, {{inline-code|lang=lua|&amp;quot;fix&amp;quot;}}, {{inline-code|lang=lua|&amp;quot;talk&amp;quot;}}, etc.&amp;lt;/span&amp;gt; &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Currently only used in {{tlx|ambox}}.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageRightNone&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether {{para|imageright|none}} results in no image being displayed on the right-hand side of the message box.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;sectionDefault&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;The default name for the {{para|section}} parameter.&amp;lt;/span&amp;gt; &amp;lt;code&amp;gt;useCollapsibleTextFields&amp;lt;/code&amp;gt; に依存します。&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;allowMainspaceCategories&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Allow categorisation in the main namespace.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateCategory&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;The name of a category to be placed on the template page.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateCategoryRequireName&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether the {{para|name}} parameter is required to display the template category.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateErrorCategory&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;The name of the error category to be used on the template page.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateErrorParamsToCheck&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;An array of parameter names to check.&amp;lt;/span&amp;gt; &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;If any are absent, the &amp;lt;code&amp;gt;templateErrorCategory&amp;lt;/code&amp;gt; is applied to the template page.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!)}}&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:Message box/configuration/doc|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Message_box/configuration/doc/fr&amp;diff=3125</id>
		<title>Module:Message box/configuration/doc/fr</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Message_box/configuration/doc/fr&amp;diff=3125"/>
		<updated>2025-09-04T07:24:26Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#switch:&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Languages|Module:Message box/configuration/doc}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
{{Used in system}}&lt;br /&gt;
{{Module rating|protected}}&lt;br /&gt;
Ce module contient les données de configuration pour [[Module:Message box]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
== Configuration options ==&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{(!}} class=&amp;quot;wikitable plainrowheaders&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; {{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Option&amp;lt;/span&amp;gt;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; {{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Explanation&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;types&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;A table containing data used by the type parameter of the message box.&amp;lt;/span&amp;gt; &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;The table keys are the values that can be passed to the type parameter, and the table values are tables containing the class and the image used by that type.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;The type to use if no value was passed to the type parameter, or if an invalid value was specified.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;showInvalidTypeError&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether to show an error if the value passed to the type parameter was invalid.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;allowBlankParams&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Usually blank values are stripped from parameters passed to the module.&amp;lt;/span&amp;gt; &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;However, whitespace is preserved for the parameters included in the &amp;lt;code&amp;gt;allowBlankParams&amp;lt;/code&amp;gt; table.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;allowSmall&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether a small version of the message box can be produced with {{para|small|1}}.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;smallParam&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;A custom value for the {{para|small}} parameter.&amp;lt;/span&amp;gt; &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For example, if set to {{inline-code|lang=lua|&amp;quot;left&amp;quot;}} you can produce a small message box using {{para|small|left}}.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;smallClass&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;The class to use for small message boxes.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;substCheck&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether to perform a subst check or not.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;classes&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;An array of classes to use with the message box.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageEmptyCell&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether to use an empty {{tag|td}} cell if there is no image set.&amp;lt;/span&amp;gt; &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;This is used to preserve spacing for message boxes with a width of less than 100% of the screen.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageEmptyCellStyle&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether empty image cells should be styled.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageCheckBlank&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether {{para|image|blank}} results in no image being displayed.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageSmallSize&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Usually, images used in small message boxes are set to 30x30px.&amp;lt;/span&amp;gt; &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;This sets a custom size.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageCellDiv&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether to enclose the image in a {{tag|div|o}} enforcing a maximum image size.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;useCollapsibleTextFields&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether to use text fields that can be collapsed, i.e. {{inline-code|lang=lua|&amp;quot;issue&amp;quot;}}, {{inline-code|lang=lua|&amp;quot;fix&amp;quot;}}, {{inline-code|lang=lua|&amp;quot;talk&amp;quot;}}, etc.&amp;lt;/span&amp;gt; &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Currently only used in {{tlx|ambox}}.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageRightNone&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether {{para|imageright|none}} results in no image being displayed on the right-hand side of the message box.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;sectionDefault&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;The default name for the {{para|section}} parameter.&amp;lt;/span&amp;gt; &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Depends on &amp;lt;code&amp;gt;useCollapsibleTextFields&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;allowMainspaceCategories&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Allow categorisation in the main namespace.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateCategory&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;The name of a category to be placed on the template page.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateCategoryRequireName&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether the {{para|name}} parameter is required to display the template category.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateErrorCategory&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;The name of the error category to be used on the template page.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateErrorParamsToCheck&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;An array of parameter names to check.&amp;lt;/span&amp;gt; &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;If any are absent, the &amp;lt;code&amp;gt;templateErrorCategory&amp;lt;/code&amp;gt; is applied to the template page.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!)}}&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:Message box/configuration/doc|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Message_box/configuration/doc/en&amp;diff=3123</id>
		<title>Module:Message box/configuration/doc/en</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Message_box/configuration/doc/en&amp;diff=3123"/>
		<updated>2025-09-04T07:24:25Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#switch:&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Languages|Module:Message box/configuration/doc}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
{{Used in system}}&lt;br /&gt;
{{Module rating|protected}}&lt;br /&gt;
This module contains configuration data for [[Module:Message box]].&lt;br /&gt;
&lt;br /&gt;
== Configuration options ==&lt;br /&gt;
{{(!}} class=&amp;quot;wikitable plainrowheaders&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; {{!}} Option&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; {{!}} Explanation&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;types&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} A table containing data used by the type parameter of the message box. The table keys are the values that can be passed to the type parameter, and the table values are tables containing the class and the image used by that type.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} The type to use if no value was passed to the type parameter, or if an invalid value was specified.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;showInvalidTypeError&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Whether to show an error if the value passed to the type parameter was invalid.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;allowBlankParams&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Usually blank values are stripped from parameters passed to the module. However, whitespace is preserved for the parameters included in the &amp;lt;code&amp;gt;allowBlankParams&amp;lt;/code&amp;gt; table.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;allowSmall&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Whether a small version of the message box can be produced with {{para|small|1}}.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;smallParam&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} A custom value for the {{para|small}} parameter. For example, if set to {{inline-code|lang=lua|&amp;quot;left&amp;quot;}} you can produce a small message box using {{para|small|left}}.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;smallClass&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} The class to use for small message boxes.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;substCheck&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Whether to perform a subst check or not.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;classes&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} An array of classes to use with the message box.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageEmptyCell&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Whether to use an empty {{tag|td}} cell if there is no image set. This is used to preserve spacing for message boxes with a width of less than 100% of the screen.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageEmptyCellStyle&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Whether empty image cells should be styled.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageCheckBlank&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Whether {{para|image|blank}} results in no image being displayed.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageSmallSize&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Usually, images used in small message boxes are set to 30x30px. This sets a custom size.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageCellDiv&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Whether to enclose the image in a {{tag|div|o}} enforcing a maximum image size.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;useCollapsibleTextFields&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Whether to use text fields that can be collapsed, i.e. {{inline-code|lang=lua|&amp;quot;issue&amp;quot;}}, {{inline-code|lang=lua|&amp;quot;fix&amp;quot;}}, {{inline-code|lang=lua|&amp;quot;talk&amp;quot;}}, etc. Currently only used in {{tlx|ambox}}.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageRightNone&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Whether {{para|imageright|none}} results in no image being displayed on the right-hand side of the message box.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;sectionDefault&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} The default name for the {{para|section}} parameter. Depends on &amp;lt;code&amp;gt;useCollapsibleTextFields&amp;lt;/code&amp;gt;.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;allowMainspaceCategories&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Allow categorisation in the main namespace.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateCategory&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} The name of a category to be placed on the template page.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateCategoryRequireName&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Whether the {{para|name}} parameter is required to display the template category.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateErrorCategory&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} The name of the error category to be used on the template page.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateErrorParamsToCheck&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} An array of parameter names to check. If any are absent, the &amp;lt;code&amp;gt;templateErrorCategory&amp;lt;/code&amp;gt; is applied to the template page.&lt;br /&gt;
{{!)}}&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:Message box/configuration/doc|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Message_box/configuration/doc/de&amp;diff=3121</id>
		<title>Module:Message box/configuration/doc/de</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Message_box/configuration/doc/de&amp;diff=3121"/>
		<updated>2025-09-04T07:24:24Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#switch:&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Languages|Module:Message box/configuration/doc}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
{{Used in system}}&lt;br /&gt;
{{Module rating|protected}}&lt;br /&gt;
Dieses Modul enthält Konfigurationsdaten für [[Module:Message box]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Configuration_options&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Konfigurationseinstellungen ==&lt;br /&gt;
{{(!}} class=&amp;quot;wikitable plainrowheaders&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; {{!}} Option&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; {{!}} Erklärung&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;types&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;A table containing data used by the type parameter of the message box.&amp;lt;/span&amp;gt; &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;The table keys are the values that can be passed to the type parameter, and the table values are tables containing the class and the image used by that type.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;The type to use if no value was passed to the type parameter, or if an invalid value was specified.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;showInvalidTypeError&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether to show an error if the value passed to the type parameter was invalid.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;allowBlankParams&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Usually blank values are stripped from parameters passed to the module.&amp;lt;/span&amp;gt; &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;However, whitespace is preserved for the parameters included in the &amp;lt;code&amp;gt;allowBlankParams&amp;lt;/code&amp;gt; table.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;allowSmall&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether a small version of the message box can be produced with {{para|small|1}}.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;smallParam&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;A custom value for the {{para|small}} parameter.&amp;lt;/span&amp;gt; &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For example, if set to {{inline-code|lang=lua|&amp;quot;left&amp;quot;}} you can produce a small message box using {{para|small|left}}.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;smallClass&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;The class to use for small message boxes.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;substCheck&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether to perform a subst check or not.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;classes&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;An array of classes to use with the message box.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageEmptyCell&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether to use an empty {{tag|td}} cell if there is no image set.&amp;lt;/span&amp;gt; &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;This is used to preserve spacing for message boxes with a width of less than 100% of the screen.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageEmptyCellStyle&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether empty image cells should be styled.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageCheckBlank&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether {{para|image|blank}} results in no image being displayed.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageSmallSize&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Usually, images used in small message boxes are set to 30x30px.&amp;lt;/span&amp;gt; &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;This sets a custom size.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageCellDiv&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether to enclose the image in a {{tag|div|o}} enforcing a maximum image size.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;useCollapsibleTextFields&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether to use text fields that can be collapsed, i.e. {{inline-code|lang=lua|&amp;quot;issue&amp;quot;}}, {{inline-code|lang=lua|&amp;quot;fix&amp;quot;}}, {{inline-code|lang=lua|&amp;quot;talk&amp;quot;}}, etc.&amp;lt;/span&amp;gt; &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Currently only used in {{tlx|ambox}}.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageRightNone&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether {{para|imageright|none}} results in no image being displayed on the right-hand side of the message box.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;sectionDefault&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;The default name for the {{para|section}} parameter.&amp;lt;/span&amp;gt; &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Depends on &amp;lt;code&amp;gt;useCollapsibleTextFields&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;allowMainspaceCategories&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Allow categorisation in the main namespace.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateCategory&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;The name of a category to be placed on the template page.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateCategoryRequireName&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Whether the {{para|name}} parameter is required to display the template category.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateErrorCategory&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;The name of the error category to be used on the template page.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateErrorParamsToCheck&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;An array of parameter names to check.&amp;lt;/span&amp;gt; &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;If any are absent, the &amp;lt;code&amp;gt;templateErrorCategory&amp;lt;/code&amp;gt; is applied to the template page.&amp;lt;/span&amp;gt;&lt;br /&gt;
{{!)}}&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:Message box/configuration/doc|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Message_box/configuration/doc/cs&amp;diff=3119</id>
		<title>Module:Message box/configuration/doc/cs</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Message_box/configuration/doc/cs&amp;diff=3119"/>
		<updated>2025-09-04T07:24:24Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#switch:&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Languages|Module:Message box/configuration/doc}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
{{Used in system}}&lt;br /&gt;
{{Module rating|protected}}&lt;br /&gt;
Tento modul obsahuje konfigurační data na [[Module:Message box]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;Configuration_options&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Možnosti konfigurace ==&lt;br /&gt;
{{(!}} class=&amp;quot;wikitable plainrowheaders&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; {{!}} Volba&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; {{!}} Vysvětlení&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;types&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Tabulka obsahující data používaná parametrem typu message box. Klíče tabulky jsou hodnoty, které lze předat parametru typu, a hodnoty tabulky jsou tabulky obsahující třídu a obrázek používaný daným typem.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Typ, který se má použít, pokud parametru typu nebyla předána žádná hodnota nebo byla zadána neplatná hodnota.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;showInvalidTypeError&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Zda se má zobrazit chyba, pokud je hodnota předaná do parametru typu neplatná.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;allowBlankParams&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Obvykle jsou prázdné hodnoty odstraněny z parametrů předávaných modulu. U parametrů obsažených v tabulce &amp;lt;code&amp;gt;allowBlankParams&amp;lt;/code&amp;gt; je však zachováno prázdné místo.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;allowSmall&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Zda lze malou verzi schránky se zprávou vytvořit na {{para|small|1}}.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;smallParam&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Vlastní hodnota parametru {{para|small}}. Pokud je například nastaveno na {{inline-code|lang=lua|&amp;quot;left&amp;quot;}}, můžete vytvořit malou schránku se zprávou pomocí {{para|small|left}}.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;smallClass&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Třída, která se má použít pro malé schránky zpráv.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;substCheck&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Zda provést subst kontrolu nebo ne.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;classes&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Pole tříd, které se mají použít se zprávou.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageEmptyCell&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Zda použít prázdnou buňku {{tag|td}}, pokud neexistuje žádná sada obrázků. To se používá k zachování mezer pro pole zpráv s šířkou menší než 100% obrazovky.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageEmptyCellStyle&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Zda mají být stylovány prázdné buňky obrázku.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageCheckBlank&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Zda {{para|image|blank}} způsobí, že se nezobrazí žádný obrázek.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageSmallSize&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Obrázky používané v malých schránkách jsou obvykle nastaveny na 30x30px. Tím se nastaví vlastní velikost.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageCellDiv&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Určuje, zda má být obrázek uzavřen do {{tag|div|o}} s vynucením maximální velikosti obrázku.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;useCollapsibleTextFields&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Zda použít textová pole, která lze sbalit, tj. {{inline-code|lang=lua|&amp;quot;issue&amp;quot;}}, {{inline-code|lang=lua|&amp;quot;fix&amp;quot;}}, {{inline-code|lang=lua|&amp;quot;talk&amp;quot;}} atd. V současné době se používá pouze na {{tlx|ambox}}.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageRightNone&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Zda {{para|imageright|none}} způsobí, že se na pravé straně okna zprávy nezobrazí žádný obrázek.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;sectionDefault&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Výchozí název pro parametr {{para|section}}. Závisí na &amp;lt;code&amp;gt;useCollapsibleTextFields&amp;lt;/code&amp;gt;.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;allowMainspaceCategories&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Povolit kategorizaci v hlavním jmenném prostoru.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateCategory&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Název kategorie, která má být umístěna na stránku šablony.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateCategoryRequireName&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Zda je pro zobrazení kategorie šablony vyžadován parametr {{para|name}}.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateErrorCategory&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Název kategorie chyb, která se má použít na stránce šablony.&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateErrorParamsToCheck&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} Pole názvů parametrů ke kontrole. Pokud žádné chybí, na stránku šablony se použije &amp;lt;code&amp;gt;templateErrorCategory&amp;lt;/code&amp;gt;.&lt;br /&gt;
{{!)}}&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:Message box/configuration/doc|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
	<entry>
		<id>https://wiki.mechsploit.me/index.php?title=Module:Message_box/configuration/doc&amp;diff=3117</id>
		<title>Module:Message box/configuration/doc</title>
		<link rel="alternate" type="text/html" href="https://wiki.mechsploit.me/index.php?title=Module:Message_box/configuration/doc&amp;diff=3117"/>
		<updated>2025-09-04T07:24:23Z</updated>

		<summary type="html">&lt;p&gt;MechsploWikiSysop: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{SUBPAGENAME}}|doc||{{Documentation subpage}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/noinclude&amp;gt;{{#switch:&amp;lt;translate&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Languages|Module:Message box/configuration/doc}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
{{Used in system}}&lt;br /&gt;
{{Module rating|protected}}&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
This module contains configuration data for &amp;lt;tvar name=1&amp;gt;[[Module:Message box]]&amp;lt;/tvar&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Configuration options == &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{(!}} class=&amp;quot;wikitable plainrowheaders&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; {{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:3--&amp;gt; Option&amp;lt;/translate&amp;gt;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; {{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:4--&amp;gt; Explanation&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;types&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:5--&amp;gt; A table containing data used by the type parameter of the message box.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:6--&amp;gt; The table keys are the values that can be passed to the type parameter, and the table values are tables containing the class and the image used by that type.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:7--&amp;gt; The type to use if no value was passed to the type parameter, or if an invalid value was specified.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;showInvalidTypeError&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:8--&amp;gt; Whether to show an error if the value passed to the type parameter was invalid.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;allowBlankParams&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:9--&amp;gt; Usually blank values are stripped from parameters passed to the module.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:10--&amp;gt; However, whitespace is preserved for the parameters included in the &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;allowBlankParams&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; table.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;allowSmall&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:11--&amp;gt; Whether a small version of the message box can be produced with &amp;lt;tvar name=1&amp;gt;{{para|small|1}}&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;smallParam&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:12--&amp;gt; A custom value for the &amp;lt;tvar name=1&amp;gt;{{para|small}}&amp;lt;/tvar&amp;gt; parameter.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:13--&amp;gt; For example, if set to &amp;lt;tvar name=1&amp;gt;{{inline-code|lang=lua|&amp;quot;left&amp;quot;}}&amp;lt;/tvar&amp;gt; you can produce a small message box using &amp;lt;tvar name=2&amp;gt;{{para|small|left}}&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;smallClass&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:14--&amp;gt; The class to use for small message boxes.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;substCheck&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:15--&amp;gt; Whether to perform a subst check or not.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;classes&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:16--&amp;gt; An array of classes to use with the message box.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageEmptyCell&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:17--&amp;gt; Whether to use an empty &amp;lt;tvar name=1&amp;gt;{{tag|td}}&amp;lt;/tvar&amp;gt; cell if there is no image set.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:18--&amp;gt; This is used to preserve spacing for message boxes with a width of less than &amp;lt;tvar name=1&amp;gt;100%&amp;lt;/tvar&amp;gt; of the screen.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageEmptyCellStyle&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:19--&amp;gt; Whether empty image cells should be styled.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageCheckBlank&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:20--&amp;gt; Whether &amp;lt;tvar name=1&amp;gt;{{para|image|blank}}&amp;lt;/tvar&amp;gt; results in no image being displayed.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageSmallSize&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:21--&amp;gt; Usually, images used in small message boxes are set to &amp;lt;tvar name=1&amp;gt;30x30px&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:22--&amp;gt; This sets a custom size.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageCellDiv&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:23--&amp;gt; Whether to enclose the image in a &amp;lt;tvar name=1&amp;gt;{{tag|div|o}}&amp;lt;/tvar&amp;gt; enforcing a maximum image size.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;useCollapsibleTextFields&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:24--&amp;gt; Whether to use text fields that can be collapsed, i.e. &amp;lt;tvar name=1&amp;gt;{{inline-code|lang=lua|&amp;quot;issue&amp;quot;}}&amp;lt;/tvar&amp;gt;, &amp;lt;tvar name=2&amp;gt;{{inline-code|lang=lua|&amp;quot;fix&amp;quot;}}&amp;lt;/tvar&amp;gt;, &amp;lt;tvar name=3&amp;gt;{{inline-code|lang=lua|&amp;quot;talk&amp;quot;}}&amp;lt;/tvar&amp;gt;, etc.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:25--&amp;gt; Currently only used in &amp;lt;tvar name=1&amp;gt;{{tlx|ambox}}&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;imageRightNone&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:26--&amp;gt; Whether &amp;lt;tvar name=1&amp;gt;{{para|imageright|none}}&amp;lt;/tvar&amp;gt; results in no image being displayed on the right-hand side of the message box.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;sectionDefault&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:27--&amp;gt; The default name for the &amp;lt;tvar name=1&amp;gt;{{para|section}}&amp;lt;/tvar&amp;gt; parameter.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:28--&amp;gt; Depends on &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;useCollapsibleTextFields&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;allowMainspaceCategories&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:29--&amp;gt; Allow categorisation in the main namespace.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateCategory&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:30--&amp;gt; The name of a category to be placed on the template page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateCategoryRequireName&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:31--&amp;gt; Whether the &amp;lt;tvar name=1&amp;gt;{{para|name}}&amp;lt;/tvar&amp;gt; parameter is required to display the template category.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateErrorCategory&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:32--&amp;gt; The name of the error category to be used on the template page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; style=&amp;quot;text-align:left;font-weight:normal&amp;quot; {{!}} &amp;lt;code&amp;gt;templateErrorParamsToCheck&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}} &amp;lt;translate&amp;gt;&amp;lt;!--T:33--&amp;gt; An array of parameter names to check.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:34--&amp;gt; If any are absent, the &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;templateErrorCategory&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; is applied to the template page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!)}}&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Module:Message box/configuration/doc|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>MechsploWikiSysop</name></author>
	</entry>
</feed>