<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://hna.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mattk4355</id>
	<title>Honkai: Nexus Anima Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://hna.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mattk4355"/>
	<link rel="alternate" type="text/html" href="https://hna.wiki/Special:Contributions/Mattk4355"/>
	<updated>2026-07-14T14:59:50Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://hna.wiki/Module:Array?diff=2539</id>
		<title>Module:Array</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Module:Array?diff=2539"/>
		<updated>2025-09-04T05:45:21Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
local lib = require(&#039;Module:Feature&#039;)&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = require(&#039;Module:Arguments&#039;).getArgs(frame, {&lt;br /&gt;
		parentFirst = true,&lt;br /&gt;
		wrapper = { &#039;Template:Array&#039; }&lt;br /&gt;
	})&lt;br /&gt;
	return p._main(args, frame)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(args, frame)&lt;br /&gt;
	local arrayString = args[1] or args[&amp;quot;arrayString&amp;quot;] or nil&lt;br /&gt;
	local separator = args[2] or args[&amp;quot;sep&amp;quot;] or args[&amp;quot;delim&amp;quot;] or args[&amp;quot;separator&amp;quot;] or nil&lt;br /&gt;
	local format = args[3] or args[&amp;quot;format&amp;quot;] or &amp;quot;{item}&amp;quot;&lt;br /&gt;
	local join = args[4] or args[&amp;quot;join&amp;quot;] or &amp;quot;&amp;quot;&lt;br /&gt;
	local dedupe = args[&amp;quot;dedupe&amp;quot;] or nil&lt;br /&gt;
	local sort = args[&amp;quot;sort&amp;quot;] or nil&lt;br /&gt;
	local sentence = args[&amp;quot;sentence&amp;quot;] or nil&lt;br /&gt;
	local sentence_last = args[&#039;sentence_last&#039;] or &#039; and &#039;&lt;br /&gt;
	local sentence_join = args[&#039;sentence_join&#039;] or &#039;, &#039;&lt;br /&gt;
	local firstItemOnly = args[&amp;quot;firstItemOnly&amp;quot;] or nil&lt;br /&gt;
	local offsetStart = args[&amp;quot;offsetStart&amp;quot;] or nil&lt;br /&gt;
	local offsetEnd = args[&amp;quot;offsetEnd&amp;quot;] or nil&lt;br /&gt;
	local prefix = args[&#039;prefix&#039;] or &#039;&#039;&lt;br /&gt;
	local suffix = args[&#039;suffix&#039;] or &#039;&#039;&lt;br /&gt;
	local template = args[&#039;template&#039;] or nil&lt;br /&gt;
	local split_opt = {&lt;br /&gt;
		removeEmpty = args[&#039;removeEmpty&#039;] or nil,&lt;br /&gt;
		noTrim = args[&#039;noTrim&#039;] or nil&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	-- argument validation&lt;br /&gt;
	if arrayString == nil then return &amp;quot;&amp;quot; end&lt;br /&gt;
	if separator == nil then return error(&amp;quot;Second argument (separator) must not be empty.&amp;quot;) end&lt;br /&gt;
	if separator == &amp;quot;&amp;quot; then return error(&amp;quot;Second argument (separator) must not be empty string.&amp;quot;) end&lt;br /&gt;
	if format == nil then return error(&amp;quot;Third argument (format) must not be empty.&amp;quot;) end&lt;br /&gt;
&lt;br /&gt;
	-- split string to array&lt;br /&gt;
	if string.find(separator, &amp;quot;{newline}&amp;quot;) then&lt;br /&gt;
		separator = separator:gsub(&amp;quot;{newline}&amp;quot;, &amp;quot;\n&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	if string.find(separator, &amp;quot;{space}&amp;quot;) then&lt;br /&gt;
		separator = separator:gsub(&amp;quot;{space}&amp;quot;, &amp;quot; &amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	local array = lib.split(arrayString, separator, split_opt)&lt;br /&gt;
&lt;br /&gt;
	-- remove duplicates from array&lt;br /&gt;
	if dedupe ~= nil then&lt;br /&gt;
		array = p._removeDuplicates(array)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- sort array&lt;br /&gt;
	if sort ~= nil then&lt;br /&gt;
		array = p._sort(array, sort)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- filter by offset&lt;br /&gt;
	if offsetStart ~= nil or offsetEnd ~= nil then&lt;br /&gt;
		array = lib.arraySlice(array, lib.toNullableNumber(offsetStart), lib.toNullableNumber(offsetEnd))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- replace keywords in array&lt;br /&gt;
	for key, value in pairs(array) do&lt;br /&gt;
		-- get format (may have override)&lt;br /&gt;
		local item = format&lt;br /&gt;
		if args[&amp;quot;format&amp;quot; .. key] ~= nil then&lt;br /&gt;
			item = args[&amp;quot;format&amp;quot; .. key]&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Basic substitutions&lt;br /&gt;
		if string.find(item, &amp;quot;{index}&amp;quot;) then&lt;br /&gt;
			item = item:gsub(&amp;quot;{index}&amp;quot;, key)&lt;br /&gt;
		end&lt;br /&gt;
		if string.find(item, &amp;quot;{newline}&amp;quot;) then&lt;br /&gt;
			item = item:gsub(&amp;quot;{newline}&amp;quot;, &amp;quot;\n&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		if string.find(item, &amp;quot;{space}&amp;quot;) then&lt;br /&gt;
			item = item:gsub(&amp;quot;{space}&amp;quot;, &amp;quot; &amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- figure out sub-divisions if any&lt;br /&gt;
		function split(arr, index)&lt;br /&gt;
			if args[&#039;delim&#039; .. index] then&lt;br /&gt;
				for v in lib.gsplit(arr.main, args[&#039;delim&#039; .. index], split_opt) do&lt;br /&gt;
					local subarr = {main = v}&lt;br /&gt;
					split(subarr, tostring(tonumber(index)+1))&lt;br /&gt;
					table.insert(arr, subarr)&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				return&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		local values = { main = value }&lt;br /&gt;
		split(values, &#039;2&#039;)&lt;br /&gt;
		&lt;br /&gt;
		-- Item substitutions&lt;br /&gt;
		item = item:gsub(&amp;quot;{item}&amp;quot;, value)&lt;br /&gt;
		item = item:gsub(&#039;{item([%d%.]*)}&#039;,&lt;br /&gt;
			function(suffix)&lt;br /&gt;
				local val = values&lt;br /&gt;
				for index in lib.gsplit(suffix, &#039;.&#039;) do&lt;br /&gt;
					if val[tonumber(index)] then&lt;br /&gt;
						val = val[tonumber(index)]&lt;br /&gt;
					else&lt;br /&gt;
						val = {main=&#039;&#039;}&lt;br /&gt;
						break&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
				return val.main&lt;br /&gt;
			end&lt;br /&gt;
		)&lt;br /&gt;
		if string.find(item, &amp;quot;{itemLink}&amp;quot;) then&lt;br /&gt;
			item = item:gsub(&amp;quot;{itemLink}&amp;quot;, mw.InfoboxBuilderHF.Link(value))&lt;br /&gt;
		end&lt;br /&gt;
		if string.find(item, &amp;quot;{itemLinkSafe}&amp;quot;) then&lt;br /&gt;
			item = item:gsub(&amp;quot;{itemLinkSafe}&amp;quot;, mw.InfoboxBuilderHF.Link_safe(value))&lt;br /&gt;
		end&lt;br /&gt;
		array[key] = item&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args.debug then mw.logObject(array, &#039;input array&#039;) end&lt;br /&gt;
	&lt;br /&gt;
	-- create result array&lt;br /&gt;
	local result = &amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	-- join as sentence&lt;br /&gt;
	if sentence ~= nil then&lt;br /&gt;
		if #array == 0 then return &#039;&#039;&lt;br /&gt;
		elseif #array == 1 then result =  array[1]&lt;br /&gt;
		elseif #array == 2 then result =  array[1] .. sentence_last .. array[2]&lt;br /&gt;
		else&lt;br /&gt;
			local last = table.remove(array, #array)&lt;br /&gt;
			result = table.concat(array, sentence_join) .. sentence_join .. sentence_last .. last&lt;br /&gt;
		end&lt;br /&gt;
	-- first item only&lt;br /&gt;
	elseif firstItemOnly ~= nil then&lt;br /&gt;
		return array[1]&lt;br /&gt;
	-- join with join string&lt;br /&gt;
	else&lt;br /&gt;
		result = table.concat(array, join):gsub(&#039;{newline}&#039;, &#039;\n&#039;):gsub(&#039;{space}&#039;, &#039; &#039;)--in case joining string contains keyword&lt;br /&gt;
	end&lt;br /&gt;
	result = prefix .. result .. suffix&lt;br /&gt;
	&lt;br /&gt;
	if template then&lt;br /&gt;
		if args.debug then mw.logObject(result, &#039;final result pre-preprocess&#039;) end&lt;br /&gt;
		if not args.nodpl then&lt;br /&gt;
			result = result&lt;br /&gt;
				:gsub(&#039;²{&#039;,&#039;{{&#039;)&lt;br /&gt;
				:gsub(&#039;}²&#039;,&#039;}}&#039;)&lt;br /&gt;
				:gsub(&#039;¦&#039;,&#039;|&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		result = result&lt;br /&gt;
			:gsub(&#039;%^2{&#039;,&#039;{{&#039;)	-- for use inside DPL&lt;br /&gt;
			:gsub(&#039;}%^2&#039;,&#039;}}&#039;)	--&lt;br /&gt;
			:gsub(&#039;¹&#039;,&#039;|&#039;)		--&lt;br /&gt;
		result = frame:preprocess(result)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args.debug then mw.logObject(result, &#039;final result&#039;) end&lt;br /&gt;
	&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._removeDuplicates(arr)&lt;br /&gt;
	local hash = {}&lt;br /&gt;
	local res = {}&lt;br /&gt;
&lt;br /&gt;
	for _,v in ipairs(arr) do&lt;br /&gt;
	   if (not hash[v]) then&lt;br /&gt;
	       res[#res+1] = v&lt;br /&gt;
	       hash[v] = true&lt;br /&gt;
	   end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return res&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._sort(arr, dir)&lt;br /&gt;
	local order = nil&lt;br /&gt;
	if (dir == -1 or dir == &amp;quot;-1&amp;quot;) then&lt;br /&gt;
		order = function(tVal, a, b) return a &amp;gt; b end&lt;br /&gt;
	elseif (dir == 1 or dir == &amp;quot;1&amp;quot;) then&lt;br /&gt;
		order = function(tVal, a, b) return a &amp;lt; b end&lt;br /&gt;
	else&lt;br /&gt;
		return arr&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(arr, function(a, b) return order(t, a, b) end)&lt;br /&gt;
	return arr&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Module:Feature?diff=2536</id>
		<title>Module:Feature</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Module:Feature?diff=2536"/>
		<updated>2025-09-04T05:33:50Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- Module copied from the Genshin Impact wiki and Zenless Zone Zero wiki&lt;br /&gt;
-- Revision as of 09-03-2025&lt;br /&gt;
--- Miscellaneous useful functions.&lt;br /&gt;
local lib = {}&lt;br /&gt;
&lt;br /&gt;
local util = require(&#039;libraryUtil&#039;)&lt;br /&gt;
local checkType = util.checkType&lt;br /&gt;
local checkTypeMulti = util.checkTypeMulti&lt;br /&gt;
local NIL_OK = true&lt;br /&gt;
&lt;br /&gt;
--- Choose one of two values to return.&lt;br /&gt;
--  @param {boolean} cond Determines which value to return.&lt;br /&gt;
--  @param T The value to return if `cond` is true (or truthy).&lt;br /&gt;
--  @param F The value to return if `cond` is false (or falsey).&lt;br /&gt;
function lib.ternary(cond, T, F)&lt;br /&gt;
    if cond then&lt;br /&gt;
        return T&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    return F&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- Some functions from `mw.text` are slow or may not always work as intended.&lt;br /&gt;
--  This group of functions provides better alternatives for them.&lt;br /&gt;
--  @section `mw.text` replacements&lt;br /&gt;
&lt;br /&gt;
--- &lt;br /&gt;
--  Removes ASCII whitespace from the start and end of `text`.&lt;br /&gt;
--  Slightly more efficient than the `mw.text` implementation.&lt;br /&gt;
--  @see https://help.fandom.com/wiki/Extension:Scribunto#mw.text.trim_is_slow&lt;br /&gt;
--  @param {string} text The text to trim.&lt;br /&gt;
--  @return {string} The trimmed text.&lt;br /&gt;
function lib.trim(text)&lt;br /&gt;
	return (text:gsub( &#039;^[\t\r\n\f ]+&#039;, &#039;&#039; ):gsub( &#039;[\t\r\n\f ]+$&#039;, &#039;&#039; ))&lt;br /&gt;
	-- the &amp;quot;extra&amp;quot; parentheses are important for removing the second value returned from `gsub`&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--- Returns an iterator over substrings that would be returned by @{lib.split}.&lt;br /&gt;
--  @see @{lib.split} for argument documentation.&lt;br /&gt;
--  @return {function} Iterator over substrings of `text` separated by `delim`.&lt;br /&gt;
function lib.gsplit(text, delim, opt)&lt;br /&gt;
	checkType(&#039;Feature.gsplit&#039;, 1, text, &#039;string&#039;)&lt;br /&gt;
	checkType(&#039;Feature.gsplit&#039;, 2, delim, &#039;string&#039;, NIL_OK)&lt;br /&gt;
	checkType(&#039;Feature.gsplit&#039;, 3, opt, &#039;table&#039;, NIL_OK)&lt;br /&gt;
	if delim == nil then delim = &amp;quot; &amp;quot; end&lt;br /&gt;
	if opt == nil then opt = {} end&lt;br /&gt;
	-- the mediawiki implementation uses ustring, which is slower than string&lt;br /&gt;
	-- and also not necessary if delim isn&#039;t a pattern.&lt;br /&gt;
	-- https://help.fandom.com/wiki/Extension:Scribunto#mw.text.split_is_very_slow&lt;br /&gt;
	&lt;br /&gt;
	-- local g = mw.text.gsplit(text, delim, true)&lt;br /&gt;
	-- local function f()&lt;br /&gt;
	-- 	local value = g()&lt;br /&gt;
	-- 	if value and not opt.noTrim then -- value is nil when the generator ends&lt;br /&gt;
	-- 		value = mw.text.trim(value)&lt;br /&gt;
	-- 	end&lt;br /&gt;
	-- 	if value == &amp;quot;&amp;quot; and opt.removeEmpty then&lt;br /&gt;
	-- 		return f()&lt;br /&gt;
	-- 	end&lt;br /&gt;
	-- 	return value&lt;br /&gt;
	-- end&lt;br /&gt;
	-- return f, nil, nil&lt;br /&gt;
	&lt;br /&gt;
	-- based on https://github.com/wikimedia/mediawiki-extensions-Scribunto/blob/1eecdac6def6418fb36829cc2f20b464c30e4b37/includes/Engines/LuaCommon/lualib/mw.text.lua#L222&lt;br /&gt;
	if delim==&#039;;&#039; and text:find(&#039;(%&amp;amp;[#%d%w]+);&#039;) then&lt;br /&gt;
		text = text:gsub(&#039;(%&amp;amp;[#%d%w]+);&#039;, &#039;%1‡&#039;);&lt;br /&gt;
	end&lt;br /&gt;
	local s, l = 1, #text&lt;br /&gt;
	local function f()&lt;br /&gt;
		if s then&lt;br /&gt;
			local e, n = string.find( text, delim, s, true )&lt;br /&gt;
			local ret&lt;br /&gt;
			if not e then&lt;br /&gt;
				ret = string.sub( text, s )&lt;br /&gt;
				s = nil&lt;br /&gt;
			elseif n &amp;lt; e then&lt;br /&gt;
				-- Empty separator!&lt;br /&gt;
				ret = string.sub( text, s, e )&lt;br /&gt;
				if e &amp;lt; l then&lt;br /&gt;
					s = e + 1&lt;br /&gt;
				else&lt;br /&gt;
					s = nil&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				ret = e &amp;gt; s and string.sub( text, s, e - 1 ) or &#039;&#039;&lt;br /&gt;
				s = n + 1&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			if not opt.noTrim then&lt;br /&gt;
				ret = lib.trim(ret)&lt;br /&gt;
			end&lt;br /&gt;
			if ret == &#039;&#039; and opt.removeEmpty then&lt;br /&gt;
				return f()&lt;br /&gt;
			end&lt;br /&gt;
			if delim==&#039;;&#039; and ret:find(&#039;(%&amp;amp;[#%d%w]+)‡&#039;) then&lt;br /&gt;
				ret = ret:gsub(&#039;(%&amp;amp;[#%d%w]+)‡&#039;, &#039;%1;&#039;);&lt;br /&gt;
			end&lt;br /&gt;
			return ret&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return f, nil, nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- Returns a table containing the substrings of `text` that are separated by `delim`.&lt;br /&gt;
--  (Compared to @{mw.text.split}, this function always treats `delim` as a literal&lt;br /&gt;
--  string rather than a pattern, and it trims output substrings using @{lib.trim} by default.)&lt;br /&gt;
--  @param       {string} text The string to split.&lt;br /&gt;
--  @param[opt]  {string} delim The delimiter string to use when splitting `text`.&lt;br /&gt;
--                 (Using an empty string will split `text` into individual characters.)&lt;br /&gt;
--  @param[opt]  {table} opt Extra options:&lt;br /&gt;
--  @param[opt]  {boolean} opt.noTrim Set true to disable trimming of generated substrings&lt;br /&gt;
--                  using @{lib.trim}.&lt;br /&gt;
--  @param[opt]  {boolean} opt.removeEmpty Set true to omit empty substrings&lt;br /&gt;
--                  (i.e., when multiple `delim` appear consecutively, or when&lt;br /&gt;
--                  `delim` appears at the start or end of `text`).&lt;br /&gt;
--  @return {table} Substrings of `text separated by `delim`.&lt;br /&gt;
function lib.split(text, delim, opt)&lt;br /&gt;
	checkType(&#039;Feature.split&#039;, 1, text, &#039;string&#039;)&lt;br /&gt;
	checkType(&#039;Feature.split&#039;, 2, delim, &#039;string&#039;, NIL_OK)&lt;br /&gt;
	checkType(&#039;Feature.split&#039;, 3, opt, &#039;table&#039;, NIL_OK)&lt;br /&gt;
	local output = {}&lt;br /&gt;
	for item in lib.gsplit(text, delim, opt) do&lt;br /&gt;
		if opt ~= nil and opt.keyTable then&lt;br /&gt;
			output[item] = true&lt;br /&gt;
		else&lt;br /&gt;
			table.insert(output, item)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return output&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- A wrapper around @{mw.text.unstripNoWiki} that un-escapes&lt;br /&gt;
--  characters/sequences that &amp;lt;nowiki&amp;gt; escapes.&lt;br /&gt;
--  @see https://github.com/wikimedia/mediawiki/blob/c22d01f23b7fe754ef106e97bae32c3966f8db3e/includes/parser/CoreTagHooks.php#L146&lt;br /&gt;
--             for MediaWiki source code for &amp;lt;nowiki&amp;gt;&lt;br /&gt;
function lib.unstripNoWiki(str)&lt;br /&gt;
	return (mw.text.unstripNoWiki(str)&lt;br /&gt;
		:gsub(&#039;&amp;amp;lt;&#039;, &#039;&amp;lt;&#039;):gsub(&#039;&amp;amp;gt;&#039;, &#039;&amp;gt;&#039;)&lt;br /&gt;
		:gsub(&#039;-&amp;amp;#123;&#039;, &#039;-{&#039;):gsub(&#039;&amp;amp;#125;-&#039;, &#039;}-&#039;))&lt;br /&gt;
	-- the &amp;quot;extra&amp;quot; parentheses are important for removing the second value returned from `gsub`&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- @section end&lt;br /&gt;
&lt;br /&gt;
--- Returns an iterator over `tbl` that outputs items in the order defined by `order`.&lt;br /&gt;
--  @param      {table} tbl The table to iterate over.&lt;br /&gt;
--  @param[opt] {table|function} order The iteration order.&lt;br /&gt;
-- &lt;br /&gt;
--                Can be specified either as an ordered list (table) of keys from `tbl`&lt;br /&gt;
--                or as an ordering function that accepts `tbl`, `keyA`, and `keyB`&lt;br /&gt;
--                and returns true when the entry in `tbl` associated wity `keyA`&lt;br /&gt;
--                should come before the one for `keyB`.&lt;br /&gt;
--&lt;br /&gt;
--                If not specified, the keys&#039; natural ordering is used&lt;br /&gt;
--                (i.e., `function(tbl, a, b) return a &amp;lt; b end`).&lt;br /&gt;
--  @return {function} The iterator.&lt;br /&gt;
function lib.spairs(tbl, order)&lt;br /&gt;
	checkType(&#039;Feature.spairs&#039;, 1, tbl, &#039;table&#039;)&lt;br /&gt;
	checkTypeMulti(&#039;Feature.spairs&#039;, 2, order, {&#039;table&#039;, &#039;function&#039;, &#039;nil&#039;})&lt;br /&gt;
	local keys&lt;br /&gt;
	if type(order) == &amp;quot;table&amp;quot; then&lt;br /&gt;
		keys = order&lt;br /&gt;
	else&lt;br /&gt;
	    -- collect the keys&lt;br /&gt;
		keys = {}&lt;br /&gt;
		for k in pairs(tbl) do table.insert(keys, k) end&lt;br /&gt;
		&lt;br /&gt;
		-- sort the keys (using order function if given)&lt;br /&gt;
		if order then&lt;br /&gt;
		    table.sort(keys, function(a, b) return order(tbl, a, b) end)&lt;br /&gt;
		else&lt;br /&gt;
		    table.sort(keys)&lt;br /&gt;
		end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    -- return the iterator function&lt;br /&gt;
	local i = 0&lt;br /&gt;
	return function()&lt;br /&gt;
		i = i + 1&lt;br /&gt;
		local key = keys[i]&lt;br /&gt;
		return key, tbl[key]&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
	Parses Phantom Template Format strings into a list of maps.&lt;br /&gt;
	@param       {string} input A string formed by concatenating the output of Phantom Templates.&lt;br /&gt;
		Usually, this string is generated by DPL.&lt;br /&gt;
	@param[opt]  {string} key_separator Separator between the entries (key-value pairs) of items in `input`. Defaults to &#039;;&#039;.&lt;br /&gt;
	@param[opt]  {string} end_separator Separator between items in `input`. Defaults to &#039;$&#039;.&lt;br /&gt;
	@param[opt]  {string} equal_separator Separator between the key and value of each entry in `input`. Defaults to &#039;=&#039;.&lt;br /&gt;
	@return      {table} A list of items from `input`; each value is a map of the item&#039;s entries.&lt;br /&gt;
--]]&lt;br /&gt;
function lib.parseTemplateFormat (inputStr, key_separator, end_separator, equal_separator)&lt;br /&gt;
	if key_separator == nil then key_separator = &amp;quot;;&amp;quot; end&lt;br /&gt;
	if end_separator == nil then end_separator = &amp;quot;$&amp;quot; end&lt;br /&gt;
	if equal_separator == nil then equal_separator = &amp;quot;=&amp;quot; end&lt;br /&gt;
	&lt;br /&gt;
	local arg_format = &amp;quot;^%s*(.-)%s*&amp;quot; .. equal_separator .. &amp;quot;%s*(.-)%s*$&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	local resultTable = {}&lt;br /&gt;
	for str in lib.gsplit(inputStr, end_separator, {noTrim=true, removeEmpty=true}) do&lt;br /&gt;
		local result = {}&lt;br /&gt;
		for param in lib.gsplit(str, key_separator) do&lt;br /&gt;
			local arg, val = param:match(arg_format)&lt;br /&gt;
			if arg then&lt;br /&gt;
				result[arg] = val&lt;br /&gt;
			else&lt;br /&gt;
				-- skip, i guess&lt;br /&gt;
				-- mw.log(&amp;quot;Warning: Lua module found extra &amp;quot; .. key_separator .. &amp;quot; or &amp;quot; .. end_separator .. &amp;quot; separators in DPL output.&amp;quot;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		table.insert(resultTable, result)&lt;br /&gt;
	end&lt;br /&gt;
	return resultTable&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[=[&lt;br /&gt;
	Parses Phantom Template Format strings into a list of ordered maps.&lt;br /&gt;
	@param       {string} input A string formed by concatenating the output of Phantom Templates.&lt;br /&gt;
		Usually, this string is generated by DPL.&lt;br /&gt;
	@param[opt]  {string} key_separator Separator between the entries (key-value pairs) of items in `input`. Defaults to &#039;;&#039;.&lt;br /&gt;
	@param[opt]  {string} end_separator Separator between items in `input`. Defaults to &#039;$&#039;.&lt;br /&gt;
	@param[opt]  {string} equal_separator Separator between the key and value of each entry in `input`. Defaults to &#039;=&#039;.&lt;br /&gt;
	@return[name=output] {table} A list of items from `input`; each value is a list of the item&#039;s entries.&lt;br /&gt;
	@return[name=output[i]] {table} The i-th item of `input`.&lt;br /&gt;
	@return[name=output[i].page] {string} The value of the `page` key for this item.&lt;br /&gt;
	@return[name=output[i][j]] {table} The j-th key-value pair of this item.&lt;br /&gt;
	@return[name=output[i][j].key] {string} The j-th key of this item.&lt;br /&gt;
	@return[name=output[i][j].value] The j-th value of this item.&lt;br /&gt;
--]=]&lt;br /&gt;
function lib.parseTemplateFormatOrdered (inputStr, key_separator, end_separator, equal_separator)&lt;br /&gt;
	if key_separator == nil then key_separator = &amp;quot;;&amp;quot; end&lt;br /&gt;
	if end_separator == nil then end_separator = &amp;quot;$&amp;quot; end&lt;br /&gt;
	if equal_separator == nil then equal_separator = &amp;quot;=&amp;quot; end&lt;br /&gt;
	&lt;br /&gt;
	local arg_format = &amp;quot;^%s*(.-)%s*&amp;quot; .. equal_separator .. &amp;quot;%s*(.-)%s*$&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
	local resultTable = {}&lt;br /&gt;
	for str in lib.gsplit(inputStr, end_separator, {noTrim=true, removeEmpty=true}) do&lt;br /&gt;
		local result = {}&lt;br /&gt;
		for param in lib.gsplit(str, key_separator) do&lt;br /&gt;
			local arg, val = param:match(arg_format)&lt;br /&gt;
			if arg == &#039;page&#039; then&lt;br /&gt;
				result[&#039;page&#039;] = val&lt;br /&gt;
			else&lt;br /&gt;
				table.insert(result,{&lt;br /&gt;
					key = arg,&lt;br /&gt;
					value = val&lt;br /&gt;
				})&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		table.insert(resultTable, result)&lt;br /&gt;
	end&lt;br /&gt;
	return resultTable&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- searches ordered table and returns value&lt;br /&gt;
function lib.orderedTableSearch(tbl, search)&lt;br /&gt;
    for i, obj in ipairs(tbl) do&lt;br /&gt;
        if obj.key == search then&lt;br /&gt;
            return obj.value&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- Add thousands separator to number `n`.&lt;br /&gt;
--  @param {number|frame} n If a frame is given, then its first argument (`frame.args[1]`) will be used as input instead.&lt;br /&gt;
--  @return {string} The number formatted with commas for thousands separators.&lt;br /&gt;
--  @see https://stackoverflow.com/questions/10989788/format-integer-in-lua/10992898#10992898&lt;br /&gt;
function lib.thousandsSeparator(n)&lt;br /&gt;
	if (n == mw.getCurrentFrame()) then&lt;br /&gt;
		n = n.args[1]&lt;br /&gt;
	elseif (type(n) == &amp;quot;table&amp;quot;) then&lt;br /&gt;
		n = n[1]&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local i, j, minus, int, fraction = tostring(n):find(&#039;([-]?)(%d+)([.]?%d*)&#039;)&lt;br /&gt;
	if not int then return n end&lt;br /&gt;
	-- reverse the int-string and append a comma to all blocks of 3 digits&lt;br /&gt;
	int = int:reverse():gsub(&amp;quot;(%d%d%d)&amp;quot;, &amp;quot;%1,&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	-- reverse the int-string back remove an optional comma and put the optional minus and fractional part back&lt;br /&gt;
	return minus .. int:reverse():gsub(&amp;quot;^,&amp;quot;, &amp;quot;&amp;quot;) .. fraction&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--- @return {boolean} true iff string or table is empty&lt;br /&gt;
--  @note May not be correct for tables with metatables.&lt;br /&gt;
function lib.isEmpty(item)&lt;br /&gt;
	if item == nil or item == &amp;quot;&amp;quot; then&lt;br /&gt;
		return true&lt;br /&gt;
	end&lt;br /&gt;
	if type(item) == &amp;quot;table&amp;quot; then&lt;br /&gt;
		return next(item) == nil&lt;br /&gt;
	end&lt;br /&gt;
	return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- @return {boolean} true iff string or table is not empty&lt;br /&gt;
--  @note May not be correct for tables with metatables.&lt;br /&gt;
function lib.isNotEmpty(item)&lt;br /&gt;
	return not lib.isEmpty(item)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- @return nil if string or table is empty, otherwise return the value.&lt;br /&gt;
function lib.nilIfEmpty(item)&lt;br /&gt;
	if lib.isEmpty(item) then&lt;br /&gt;
		return nil&lt;br /&gt;
	else&lt;br /&gt;
		return item&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
-- @param {table} t A table of items&lt;br /&gt;
-- @param elm The item to search for&lt;br /&gt;
-- @returns true if `elm` is a value in `t`; false otherwise. (Does not check keys of `t`.)&lt;br /&gt;
-- @see http://stackoverflow.com/q/2282444&lt;br /&gt;
-- @see another implementation: Dev:TableTools.includes()&lt;br /&gt;
function lib.inArray(t, elm)&lt;br /&gt;
    for _, v in pairs(t) do&lt;br /&gt;
        if v == elm then&lt;br /&gt;
            return true&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- nullable number&lt;br /&gt;
function lib.toNullableNumber(str)&lt;br /&gt;
	if str == nil then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	return tonumber(str)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- array slice&lt;br /&gt;
function lib.arraySlice(tbl, first, last)&lt;br /&gt;
  if first ~= nil and first &amp;lt; 0 then&lt;br /&gt;
    first = #tbl + 1 + first&lt;br /&gt;
  end&lt;br /&gt;
  if last ~= nil and last &amp;lt; 0 then&lt;br /&gt;
    last = #tbl + last&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  local sliced = {}&lt;br /&gt;
&lt;br /&gt;
  for i = first or 1, last or #tbl, 1 do&lt;br /&gt;
    sliced[#sliced+1] = tbl[i]&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  return sliced&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--sanitize file name&lt;br /&gt;
--removes invalid characters for file name&lt;br /&gt;
function lib.sanitizeFileName(str)&lt;br /&gt;
	str = string.gsub(str, &amp;quot;[:*?\&amp;quot;&amp;lt;&amp;gt;|]&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	str = string.gsub(str, &amp;quot;[/\\]&amp;quot;, &amp;quot; &amp;quot;)&lt;br /&gt;
	return str&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return lib&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/MediaWiki:Common.js?diff=2502</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/MediaWiki:Common.js?diff=2502"/>
		<updated>2025-09-04T05:13:43Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: copying a few useful snippets from the Genshin Wiki: autoadd category for redirects; search field fix; improved TextTip popups&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/************************************************************************/&lt;br /&gt;
/* Any JavaScript here will be loaded for all users on every page load. */&lt;br /&gt;
/************************************************************************/&lt;br /&gt;
&lt;br /&gt;
/* for [[w:c:dev:GlobalFileUsage]] */&lt;br /&gt;
window.globalFileUsageConfig = {&lt;br /&gt;
    &#039;lang&#039;: [&#039;pl&#039;, &#039;ru&#039;, &#039;vi&#039;],&lt;br /&gt;
    &#039;auto_show&#039;: false&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Modifying redirect button from WikiEditor&#039;s source mode&lt;br /&gt;
mw.hook(&#039;ext.CodeMirror.ready&#039;).add(() =&amp;gt; {&lt;br /&gt;
	$( &#039;#wpTextbox1&#039; ).on(&#039;wikiEditor-toolbar-buildSection-advanced&#039;, ( event, section ) =&amp;gt; {&lt;br /&gt;
		// The exact paths are available in `jquery.wikiEditor.toolbar.config.js` file of the extension&lt;br /&gt;
		section.groups.insert.tools.redirect.action.options.pre = &#039;#REDIRECT [[&#039;;&lt;br /&gt;
		section.groups.insert.tools.redirect.action.options.post = &#039;]]\n\n[[Category:Redirect Pages]]&#039;;&lt;br /&gt;
	});&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Fix the search field not updating when ctrl+f with text selected (should be removed when/if fandom fixes it in native)&lt;br /&gt;
if ([&#039;edit&#039;, &#039;submit&#039;].includes(mw.config.get(&#039;wgAction&#039;))) {&lt;br /&gt;
	mw.hook(&#039;ext.CodeMirror.ready&#039;).add((cmDOM, cm)=&amp;gt;{&lt;br /&gt;
		cmDOM.find(&#039;.cm-content&#039;).get(0).addEventListener(&#039;keydown&#039;, (e)=&amp;gt;{&lt;br /&gt;
			if (e.key.toLowerCase()===&#039;f&#039; &amp;amp;&amp;amp; e.ctrlKey) {&lt;br /&gt;
				const&lt;br /&gt;
				selected = cm.view.state.sliceDoc(&lt;br /&gt;
					cm.view.state.selection.main.from,&lt;br /&gt;
					cm.view.state.selection.main.to&lt;br /&gt;
				),&lt;br /&gt;
				search = cmDOM.find(&#039;.cdx-text-input__input[name=&amp;quot;search&amp;quot;]&#039;);&lt;br /&gt;
				&lt;br /&gt;
				if (search.length&amp;gt;0 &amp;amp;&amp;amp; selected.length&amp;gt;0) { search.val(selected); }&lt;br /&gt;
			}&lt;br /&gt;
		}, { capture: true });&lt;br /&gt;
	});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Auto-positioning of floating tooltips, mainly for [[T:tt]]&lt;br /&gt;
mw.loader.using(&#039;oojs-ui-widgets&#039;).then(() =&amp;gt; { // make sure the PopupWidget library is loaded&lt;br /&gt;
	mw.hook(&#039;wikipage.content&#039;).add((contents)=&amp;gt;{ // hydrate any content inserted&lt;br /&gt;
		if (contents instanceof Element || contents instanceof NodeList) {contents = $(contents);}&lt;br /&gt;
		if (!contents || !(contents instanceof jQuery) || contents.length===0) {return;}&lt;br /&gt;
		contents&lt;br /&gt;
		.find(&#039;.custom-tt-wrapper.mw-collapsible&#039;)&lt;br /&gt;
		.each((_, wrapper) =&amp;gt; {&lt;br /&gt;
			const&lt;br /&gt;
			$wrapper = $(wrapper),&lt;br /&gt;
			// isEE = $wrapper.hasClass(&#039;hnaw-extra-effect-wrapper&#039;), // If we ever need something similar to GIW&#039;s Extra Effect template&lt;br /&gt;
			$toggle = $(&#039;&amp;lt;span&amp;gt;&#039;, {&lt;br /&gt;
				&#039;class&#039;: &#039;custom-tt toggle-tooltip&#039;,//+(isEE ? &#039; hnaw-extra-effect&#039; : &#039;&#039;),&lt;br /&gt;
				html: $wrapper.find(&#039;.mw-collapsible-toggle&#039;).html()&lt;br /&gt;
			}),&lt;br /&gt;
			$content = $wrapper.find(&#039;.mw-collapsible-content&#039;),&lt;br /&gt;
			popup = new OO.ui.PopupWidget({&lt;br /&gt;
				$content: $(&#039;&amp;lt;div&amp;gt;&#039;, { html: $content.html() }),&lt;br /&gt;
				$container: $(&#039;.page__main&#039;),&lt;br /&gt;
				anchor: true, // !isEE&lt;br /&gt;
			});&lt;br /&gt;
			&lt;br /&gt;
			// Remove default collapsible&lt;br /&gt;
			$wrapper.toggleClass([&#039;mw-collapsible&#039;, &#039;mw-made-collapsible&#039;, &#039;mw-collapsed&#039;], false);&lt;br /&gt;
			$wrapper.find(&#039;.mw-collapsible-toggle&#039;).replaceWith($toggle);&lt;br /&gt;
			$content.remove();&lt;br /&gt;
			&lt;br /&gt;
			// [[T:Tt]]&#039;s toggle effect&lt;br /&gt;
			$wrapper.append(popup.$element);&lt;br /&gt;
			$toggle.on(&#039;click&#039;, ()=&amp;gt; { popup.toggle() });&lt;br /&gt;
			&lt;br /&gt;
			// T:Extra Effect&#039;s hover effect&lt;br /&gt;
			/*if (isEE) {&lt;br /&gt;
				popup.$element.find(&#039;.oo-ui-popupWidget-popup&#039;).toggleClass(&#039;hnaw-extra-effect&#039;, true);&lt;br /&gt;
				let time;&lt;br /&gt;
				$toggle.add(popup.$element).on(&#039;mouseover mouseout&#039;, (e) =&amp;gt; {&lt;br /&gt;
					if (time) { clearTimeout(time); }&lt;br /&gt;
					time = setTimeout(()=&amp;gt;{&lt;br /&gt;
						popup.toggle(e.type===&#039;mouseout&#039; ? false : true);&lt;br /&gt;
					}, e.type===&#039;mouseout&#039; ? 250 : 0);&lt;br /&gt;
				});&lt;br /&gt;
			}*/&lt;br /&gt;
		});&lt;br /&gt;
	});&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/MediaWiki:Gadget-Tooltip.js?diff=2486</id>
		<title>MediaWiki:Gadget-Tooltip.js</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/MediaWiki:Gadget-Tooltip.js?diff=2486"/>
		<updated>2025-09-04T04:56:56Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: Created page with &amp;quot;mw.hook(&amp;#039;wikipage.content&amp;#039;).add(() =&amp;gt; { 	// add class to body as hook for any further styling or detection 	document.body.classList.add(&amp;#039;gadget-toggle-tooltip&amp;#039;); });&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mw.hook(&#039;wikipage.content&#039;).add(() =&amp;gt; {&lt;br /&gt;
	// add class to body as hook for any further styling or detection&lt;br /&gt;
	document.body.classList.add(&#039;gadget-toggle-tooltip&#039;);&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Tt/doc?diff=2484</id>
		<title>Template:Tt/doc</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Tt/doc?diff=2484"/>
		<updated>2025-09-04T04:56:25Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation/Header}}&lt;br /&gt;
{{Lua}}&lt;br /&gt;
{{CSS|Tooltip}}&lt;br /&gt;
{{JS|Gadget-Tooltip}}&lt;br /&gt;
Adds a simple text tooltip to text.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
{{T|tt|v1=text|v2=tiptext|P3=link=1/((page name))|p4=noline=1}}&lt;br /&gt;
* {{F|1}} &amp;amp;mdash; Text to show. Can include links, but be careful if you don&#039;t supply tip text.&lt;br /&gt;
* {{F|2}} &amp;amp;mdash; Text for tooltip. Don&#039;t use links or HTML tags.&lt;br /&gt;
* {{F|link}} &amp;amp;mdash; Link for display text. Set as 1 to link to {{F|1}}, or enter the custom page to link.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
{{T|tt|Some text|A tooltip for the text.|_Y_=1}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{T|tt|Kiana|is a bird|p3=link=1|_Y_=1}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{T|tt|Kiana Kaslana|is a bird|p3=link=Kiana|_Y_=1}}&lt;br /&gt;
&lt;br /&gt;
==Template Data==&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;1&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Text&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Text to show. Can include links, but be careful if you don&#039;t supply tip text.&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;2&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Title&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Text for tooltip. Don&#039;t use double quotes, links or HTML tags.&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;link&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Link&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Link for display text. Set as 1 to link display text, or enter the custom page to link.&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Adds a simple text tooltip to text.&amp;quot;,&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;1&amp;quot;,&lt;br /&gt;
		&amp;quot;2&amp;quot;,&lt;br /&gt;
		&amp;quot;link&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/MediaWiki:FandomMobile.css?diff=2230</id>
		<title>MediaWiki:FandomMobile.css</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/MediaWiki:FandomMobile.css?diff=2230"/>
		<updated>2025-09-01T09:23:01Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;@import url(&amp;quot;/load.php?mode=articles&amp;amp;articles=MediaWiki:Variables.css|MediaWiki:Quotes.css|MediaWiki:Tabber.css|MediaWiki:Navbox.css|MediaWiki:Dialogue.css|MediaWiki:Mbox.css|MediaWiki:Recipe.css|MediaWiki:Tables.css|MediaWiki:Font.css|MediaWiki:Card.css|MediaWiki:Item.css|MediaWiki:Colors.css|MediaWiki:Gallery.css|MediaWiki:AudioButton.css|MediaWiki:CustomTabs.css|MediaWiki:Tooltip.css|u:dev:MediaWiki:PortableNavbox.css|u:dev:MediaWiki:Module:Documentation.css|MediaWiki:Documentation.css|MediaWiki:Header.css|MediaWiki:EnemySkills.css|MediaWiki:Maps.css|MediaWiki:Description.css|MediaWiki:UtilityClasses.css|MediaWiki:FatesAtlas.css|MediaWiki:PossibleOutcomes.css|MediaWiki:ChangeHistory.css|MediaWiki:Messages.css|MediaWiki:EditorDashboard.css|MediaWiki:Icon.css|MediaWiki:Attributes.css|MediaWiki:AbilityTable.css&amp;amp;only=styles&amp;quot;);&lt;br /&gt;
@import &amp;quot;/load.php?mode=articles&amp;amp;articles=u:dev:MediaWiki:FandomIcons.css&amp;amp;only=styles&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
/* Import Fonts */&lt;br /&gt;
@import url(&#039;https://fonts.googleapis.com/css2?family=Quicksand:wght@300..700&amp;amp;display=swap&#039;);&lt;br /&gt;
@import url(&#039;https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&amp;amp;family=Noto+Sans+KR:wght@400;700&amp;amp;family=Noto+Sans+SC:wght@400;700&amp;amp;family=Noto+Sans+TC:wght@400;700&amp;amp;family=Noto+Sans+Thai:wght@400;700&amp;amp;family=Noto+Sans:ital,wght@0,400;0,700;1,400;1,700&amp;amp;family=Noto+Sans+Avestan:wght@400;700&amp;amp;family=Noto+Sans+Hebrew:wght@400;700&amp;amp;display=swap&#039;);&lt;br /&gt;
&lt;br /&gt;
hr {&lt;br /&gt;
    color: var(--theme-border-color);&lt;br /&gt;
    border-style: solid;&lt;br /&gt;
    border-top: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* For Server Based Timers Gadgets */&lt;br /&gt;
body.show-active-as .hide-active,&lt;br /&gt;
body.show-active-eu .hide-active,&lt;br /&gt;
body.show-active-na .hide-active,&lt;br /&gt;
body:not(.show-active-as) .active-as,&lt;br /&gt;
body:not(.show-active-eu) .active-eu,&lt;br /&gt;
body:not(.show-active-na) .active-na {&lt;br /&gt;
	display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.show-active-as div.active-as,&lt;br /&gt;
body.show-active-eu div.active-eu,&lt;br /&gt;
body.show-active-na div.active-na,&lt;br /&gt;
body.show-active-as span.active-as,&lt;br /&gt;
body.show-active-eu span.active-eu,&lt;br /&gt;
body.show-active-na span.active-na,&lt;br /&gt;
body:not(.show-active-as, .show-active-eu, .show-active-na) div.default-active {&lt;br /&gt;
	display: inline-block !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.show-active-as.show-active-eu br.active-as.active-eu,&lt;br /&gt;
body:not(.show-active-eu).show-active-as br:not(.active-eu).active-as {&lt;br /&gt;
	display: inline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* External link &amp;quot;Icon&amp;quot; */&lt;br /&gt;
.mw-parser-output .external:after {&lt;br /&gt;
	content: &amp;quot; external&amp;quot;;&lt;br /&gt;
	font-family: &#039;FANDOM-Icons&#039;;&lt;br /&gt;
	letter-spacing: -0.3em;&lt;br /&gt;
	font-size: 0.9em;&lt;br /&gt;
	margin-right: 0.4em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* For [[Template:Event Countdown]] */&lt;br /&gt;
.countdownevent {&lt;br /&gt;
    display: flex;&lt;br /&gt;
    flex-flow: row nowrap;&lt;br /&gt;
    justify-content: space-around;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    gap: 5px;&lt;br /&gt;
    margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.countdownevent div {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    border-radius: 5px;&lt;br /&gt;
    background-color: var(--theme-page-background-color--secondary);&lt;br /&gt;
    padding: 7px; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.countdownevent div span {&lt;br /&gt;
    color: var(--theme-accent-color);&lt;br /&gt;
    font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.countdownevent div hr {&lt;br /&gt;
    border-color: var(--theme-accent-color);&lt;br /&gt;
}&lt;br /&gt;
/* End for [[Template:Event Countdown]] */&lt;br /&gt;
&lt;br /&gt;
/* Avoid tabs from going off-screen and needing horizontal scrolling */&lt;br /&gt;
body &amp;gt; .main-container .wds-tabs__wrapper {&lt;br /&gt;
	display: flex;&lt;br /&gt;
	flex-direction: row;&lt;br /&gt;
	width: 100%;&lt;br /&gt;
	flex-wrap: wrap;&lt;br /&gt;
	margin-left: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Hide default Mobile Main Page and display full Mobile Main Page */&lt;br /&gt;
.mobile-main-page__wiki-description,&lt;br /&gt;
.mobile-main-page__trending-articles,&lt;br /&gt;
.mobile-main-page__popular-categories,&lt;br /&gt;
.mobile-main-page .collapsible-section {&lt;br /&gt;
	display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mobile-main-page .mobile-hidden {&lt;br /&gt;
	display: block !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* For [[Template:Version Information]] used on Main Page */&lt;br /&gt;
.bgimg {&lt;br /&gt;
	color: white;&lt;br /&gt;
	background-size: cover;&lt;br /&gt;
    background-image: linear-gradient(rgba(0, 0, 0, 0.7),&lt;br /&gt;
                       rgba(0, 0, 0, 0.7)), url(&#039;https://static.wikia.nocookie.net/houkai-star-rail/images/1/17/Concept_Art_The_Overworld.png/revision/latest?cb=20211013103128&amp;amp;format=original&#039;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mobile-main-page .mw-body-content .Mainpage-border, .Mainpage-border { &lt;br /&gt;
	border-radius: 5px;&lt;br /&gt;
	border: 3px solid var(--subtitle-color);&lt;br /&gt;
    padding: 2px;&lt;br /&gt;
	margin-top: 10px;&lt;br /&gt;
	margin-bottom: 10px;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mobile-main-page .mw-body-content .article-table-wrapper table th.Mainpage-header, .Mainpage-header {&lt;br /&gt;
	background-color: var(--subtitle-color);&lt;br /&gt;
	color: #000000;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
	font-size: 1.5em;&lt;br /&gt;
	padding: 6px;&lt;br /&gt;
	border-radius: 5px;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.Mainpage-header-link {&lt;br /&gt;
	color: #000000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mobile-main-page .article-media-thumbnail,&lt;br /&gt;
.mobile-main-page .article-table-wrapper {&lt;br /&gt;
	margin-bottom: 0;&lt;br /&gt;
	border: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mobile-main-page .article-media-placeholder,&lt;br /&gt;
.mobile-main-page .mobile-gallery__image img {&lt;br /&gt;
	border: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Show gallery captions */&lt;br /&gt;
.mobile-gallery .mobile-gallery__image-caption {&lt;br /&gt;
    display: block !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Center captions in normal galleries */&lt;br /&gt;
figcaption.mobile-gallery__image-caption {&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Disable Max Length for Gallery Captions */&lt;br /&gt;
.mobile-gallery-default .mobile-gallery__image-caption {&lt;br /&gt;
    max-height: unset;&lt;br /&gt;
    display: block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Fix Infobox Images */&lt;br /&gt;
.pi-image-collection .pi-item .article-media-placeholder {&lt;br /&gt;
  max-height: 50vh;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Fix Hatnotes */&lt;br /&gt;
div.context-link, .hatnote {&lt;br /&gt;
    border-left: 3px solid var(--theme-accent-color);&lt;br /&gt;
    padding: 3px 10px;&lt;br /&gt;
    border-radius: 3px;&lt;br /&gt;
    background: linear-gradient(145deg, rgba(var(--theme-accent-color--rgb), 0.15) 0%, rgba(var(--theme-accent-color--rgb), 0) 100%);&lt;br /&gt;
    margin: 5px 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* For [[Template:Tt]] */&lt;br /&gt;
/* Disable default hover tooltip */&lt;br /&gt;
.hover-tooltip {&lt;br /&gt;
	display: none;&lt;br /&gt;
}&lt;br /&gt;
/* Enable custom toggleable tooltip */&lt;br /&gt;
.custom-tt-wrapper.hsr-collapsible .mw-collapsible-toggle {&lt;br /&gt;
	display: inline !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Reducing left margin when using lists in a table. */&lt;br /&gt;
.mw-parser-output td &amp;gt; .columntemplate &amp;gt; ul,&lt;br /&gt;
.mw-parser-output td &amp;gt; .columntemplate &amp;gt; ol,&lt;br /&gt;
.mw-parser-output td &amp;gt; ul,&lt;br /&gt;
.mw-parser-output td &amp;gt; ol {&lt;br /&gt;
    margin-left: 1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Override navbox ban on mobile */&lt;br /&gt;
.navbox, .navbox table{&lt;br /&gt;
	display: table !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Template:TOC Limit */&lt;br /&gt;
.toclimit-2 .toclevel-1 ul,&lt;br /&gt;
.toclimit-3 .toclevel-2 ul,&lt;br /&gt;
.toclimit-4 .toclevel-3 ul,&lt;br /&gt;
.toclimit-5 .toclevel-4 ul,&lt;br /&gt;
.toclimit-6 .toclevel-5 ul,&lt;br /&gt;
.toclimit-7 .toclevel-6 ul {&lt;br /&gt;
	display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Template:Keys */&lt;br /&gt;
.srw-key {&lt;br /&gt;
	background-color: #020203;&lt;br /&gt;
	color: #dcc491;&lt;br /&gt;
	font-size: 80%;&lt;br /&gt;
	font-family: Barlow;&lt;br /&gt;
	border: 1px solid #a59269;&lt;br /&gt;
	border-radius: 3px;&lt;br /&gt;
	box-shadow: 0 0 0 2px #332b1e inset;&lt;br /&gt;
	padding: 0.1em 0.4em;&lt;br /&gt;
	min-width: 30px;&lt;br /&gt;
	display: inline-block;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Hide default &amp;quot;Start Here&amp;quot; section on [[Special:Community]], as we have our own to-do list */&lt;br /&gt;
.community-page-cards-module {&lt;br /&gt;
	display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* format code */&lt;br /&gt;
code, .custom-formatting-code:not(.custom-formatting-plain) {&lt;br /&gt;
    background-color: var(--theme-page-background-color--secondary);&lt;br /&gt;
    border: 1px solid var(--theme-border-color);&lt;br /&gt;
    border-radius: 2px;&lt;br /&gt;
    padding: 1px 4px;&lt;br /&gt;
    font-family: monospace;&lt;br /&gt;
}&lt;br /&gt;
/* For [[Module:Formatting]] */&lt;br /&gt;
.custom-formatting-code {&lt;br /&gt;
	display: inline-block;&lt;br /&gt;
	line-height: 21px;&lt;br /&gt;
}&lt;br /&gt;
.custom-formatting-code.code-block-table {&lt;br /&gt;
	display: table;&lt;br /&gt;
}&lt;br /&gt;
span.variable {&lt;br /&gt;
	opacity: 0.65;&lt;br /&gt;
}&lt;br /&gt;
span.variable::after {&lt;br /&gt;
	opacity: 0.65;&lt;br /&gt;
	content: &amp;quot;&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
span.variable::before {&lt;br /&gt;
	opacity: 0.65;&lt;br /&gt;
	content: &amp;quot;&amp;lt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
.custom-formatting-nested {&lt;br /&gt;
	display: none;&lt;br /&gt;
}&lt;br /&gt;
.custom-formatting-resulting {&lt;br /&gt;
	display: inline;&lt;br /&gt;
}&lt;br /&gt;
.custom-formatting-code .custom-formatting-nested {&lt;br /&gt;
	display: inline-block;&lt;br /&gt;
}&lt;br /&gt;
.custom-formatting-code .custom-formatting-resulting {&lt;br /&gt;
	display: none;&lt;br /&gt;
}&lt;br /&gt;
/* End for [[Module:Formatting]] */&lt;br /&gt;
&lt;br /&gt;
/* light infobox images on mobile */&lt;br /&gt;
.wiki-page-header__hero-image img {&lt;br /&gt;
  filter:drop-shadow(0px 0px 3px black)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Custom MessageBox styling for mobile so nothing gets squished */&lt;br /&gt;
.mbox__content__image {&lt;br /&gt;
	height: unset;&lt;br /&gt;
	vertical-align: top;&lt;br /&gt;
	float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mbox__content__image:has(.article-media-thumbnail) {&lt;br /&gt;
	width: 75px;&lt;br /&gt;
}&lt;br /&gt;
.mbox__content__wrapper {&lt;br /&gt;
	display: block;&lt;br /&gt;
}&lt;br /&gt;
.mbox__content .article-media-thumbnail {&lt;br /&gt;
	margin-bottom: 0;&lt;br /&gt;
}&lt;br /&gt;
.mbox__content .mbox__content__image img {&lt;br /&gt;
	border: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* For [[Template:Tabber]] */&lt;br /&gt;
.mw-parser-output .wds-tabber &amp;gt; ul {&lt;br /&gt;
    margin-left: 0px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Avoid tabs from going off-screen and needing horizontal scrooling */&lt;br /&gt;
.wds-tabs__wrapper {&lt;br /&gt;
	display: flex;&lt;br /&gt;
	flex-direction: row;&lt;br /&gt;
	width: 100%;&lt;br /&gt;
	flex-wrap: wrap;&lt;br /&gt;
	margin-left: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Class to add text hidden from view that is usable by screen readers */&lt;br /&gt;
.screen-reader-text { font-size: 0; }&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Files_by_Character_Gallery?diff=2173</id>
		<title>Template:Files by Character Gallery</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Files_by_Character_Gallery?diff=2173"/>
		<updated>2025-09-01T08:28:49Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: remove traveler conditionals&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#DPL:&lt;br /&gt;
|namespace          = File&lt;br /&gt;
|category           = Files by Date&lt;br /&gt;
|category           = {{{1|}}}&lt;br /&gt;
|category           = {{{character|{{ROOTPAGENAME}}}}} Images¦{{{character|{{ROOTPAGENAME}}}}} GIFs¦{{{character|{{ROOTPAGENAME}}}}} Audio¦{{{character|{{ROOTPAGENAME}}}}} OGV Videos¦{{{character|{{ROOTPAGENAME}}}}} Videos&lt;br /&gt;
|notcategory        = {{#if:{{{fanart|}}}||Art Contest Winners}}&lt;br /&gt;
|notcategorymatch   = {{{not1|}}}&lt;br /&gt;
|notcategorymatch   = {{{not2|}}}&lt;br /&gt;
|notcategorymatch   = {{{not3|}}}&lt;br /&gt;
|notcategorymatch   = {{{not4|}}}&lt;br /&gt;
|notcategorymatch   = {{{not5|}}}&lt;br /&gt;
|notcategorymatch   = {{{not6|}}}&lt;br /&gt;
|notcategorymatch   = {{{not7|}}}&lt;br /&gt;
|notcategorymatch   = {{{not8|}}}&lt;br /&gt;
|notcategorymatch   = {{{not9|}}}&lt;br /&gt;
|titlematch         = {{{titlematch|}}}&lt;br /&gt;
|include            = {{#if:{{{noCaption|}}}|File|{File¦Phantom File Gallery}&amp;lt;!----&amp;gt;}}&lt;br /&gt;
|resultsheader      = {{#ifeq:{{{showHeader}}}|1|{{{header|&#039;&#039;&#039;%PAGES%&#039;&#039;&#039; pages match the category selection:\n}}}}}«div class=&amp;quot;no-video-caption&amp;quot;»«gallery spacing=&amp;quot;{{{spacing|medium}}}&amp;quot; widths=&amp;quot;{{{width|}}}&amp;quot;»&lt;br /&gt;
|format             = ,\n{{#if:{{{noCaption|}}}|%PAGE%}},\n,&lt;br /&gt;
|resultsfooter      = «/gallery»«/div»&lt;br /&gt;
|noresultsheader    = &#039;&#039;{{{character|{{ROOTPAGENAME}}}}} does not have any image for the matching category.&#039;&#039;&lt;br /&gt;
|ordermethod        = sortkey&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=DPL Gallery}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Module:Documentation/config/doc?diff=2114</id>
		<title>Module:Documentation/config/doc</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Module:Documentation/config/doc?diff=2114"/>
		<updated>2025-08-31T21:22:00Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: Created page with &amp;quot;{{Documentation/Header}} Configuration settings for Module:Documentation.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation/Header}}&lt;br /&gt;
Configuration settings for [[Module:Documentation]].&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Module:Documentation/doc?diff=2113</id>
		<title>Module:Documentation/doc</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Module:Documentation/doc?diff=2113"/>
		<updated>2025-08-31T21:21:28Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation/Header}}&lt;br /&gt;
This module implements {{T|Documentation}}. Configuration stored in [[Module:Documentation/config]].&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Module:Documentation/doc?diff=2112</id>
		<title>Module:Documentation/doc</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Module:Documentation/doc?diff=2112"/>
		<updated>2025-08-31T21:20:58Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: Created page with &amp;quot;{{Documentation/Header}} This module implements {{T|Documentation}}.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation/Header}}&lt;br /&gt;
This module implements {{T|Documentation}}.&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Documentation/preload-module-doc?diff=2111</id>
		<title>Template:Documentation/preload-module-doc</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Documentation/preload-module-doc?diff=2111"/>
		<updated>2025-08-31T21:19:53Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Documentation/Header}}&lt;br /&gt;
{{subst:#ifeq:{{subst:#titleparts:{{subst:BASEPAGENAME}}|0|-1}}|data&lt;br /&gt;
|Data module for [[Module:{{subst:#titleparts:{{subst:BASEPAGENAME}}|-1|0}}]].&lt;br /&gt;
|This module implements {{T|{{subst:BASEPAGENAME}}}}. {{subst:#ifexist:Module:{{subst:BASEPAGENAME}}/data|Data stored in the [[Module:{{subst:ROOTPAGENAME}}/data|data module]].}}&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Preload|content=This template is used to load in an appropriate page format preload when creating a new page.}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Documentation/preload-module-doc?diff=2110</id>
		<title>Template:Documentation/preload-module-doc</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Documentation/preload-module-doc?diff=2110"/>
		<updated>2025-08-31T21:19:24Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Documentation/Header}}&lt;br /&gt;
{{subst:#ifeq:{{subst:#titleparts:{{subst:BASEPAGENAME}}|0|-1}}|data&lt;br /&gt;
|Data module for [[Module:{{subst:#titleparts:{{subst:BASEPAGENAME}}|-1|0}}]].&lt;br /&gt;
|This module implements {{T|{{subst:BASEPAGENAME}}}}. {{subst:#ifexist:Module:{{subst:BASEPAGENAME}}/data|Data stored in the [[Module:{{subst:ROOTPAGENAME}}/data|data module]].}}&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Preload}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Chaos?diff=2109</id>
		<title>Template:Chaos</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Chaos?diff=2109"/>
		<updated>2025-08-31T21:13:28Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Attribute|Chaos|Aspect}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Design|content=Shorthard template for {{T|Attribute|Chaos|Aspect}}.}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:JS/doc?diff=1982</id>
		<title>Template:JS/doc</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:JS/doc?diff=1982"/>
		<updated>2025-08-31T02:48:25Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: Created page with &amp;quot;{{Documentation/Header}} Notice template for linking to JS pages.  ==Syntax== {{T|JS|v1=first page|v2=second page (optional)}} &amp;lt;!-- ==Examples== {{T|JS|p1=Tooltip|_Y_=1}} --&amp;gt; ==Template Data== &amp;lt;templatedata&amp;gt; { 	&amp;quot;params&amp;quot;: { 		&amp;quot;1&amp;quot;: { 			&amp;quot;description&amp;quot;: &amp;quot;Name of the page (without namespace or js suffix)&amp;quot;, 			&amp;quot;type&amp;quot;: &amp;quot;wiki-page-name&amp;quot;, 			&amp;quot;default&amp;quot;: &amp;quot;Page name&amp;quot;, 			&amp;quot;suggested&amp;quot;: true 		}, 		&amp;quot;2&amp;quot;: { 			&amp;quot;description&amp;quot;: &amp;quot;Second page name (if applicable)&amp;quot;, 			&amp;quot;type&amp;quot;: &amp;quot;wiki-page-name&amp;quot;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation/Header}}&lt;br /&gt;
Notice template for linking to JS pages.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
{{T|JS|v1=first page|v2=second page (optional)}}&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Examples==&lt;br /&gt;
{{T|JS|p1=Tooltip|_Y_=1}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
==Template Data==&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;1&amp;quot;: {&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Name of the page (without namespace or js suffix)&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;wiki-page-name&amp;quot;,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;Page name&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;2&amp;quot;: {&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Second page name (if applicable)&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;wiki-page-name&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Link to JS used for a template&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;inline&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/File:JS_logo.svg?diff=1981</id>
		<title>File:JS logo.svg</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/File:JS_logo.svg?diff=1981"/>
		<updated>2025-08-31T02:43:47Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{From Wikimedia}}&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:L/doc?diff=1980</id>
		<title>Template:L/doc</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:L/doc?diff=1980"/>
		<updated>2025-08-31T02:41:30Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: Created page with &amp;quot;{{Documentation/Header}} {{Lua|Formatting}} {{Main|Template:F}} This template creates a fake link in the form of how a link would be added in wikitext in source editor.  ==Syntax== See Template Data for extra functions.&amp;lt;br&amp;gt; {{T|L|v1=Page Name|v2=Link Label}}  ==Examples== ;No Link Label {{T|L|Kiana|_Y_=1}}  ;With Link Label {{T|L|Kiana|Kiana Kaslana|_Y_=1}}  ==Template Data== &amp;lt;templatedata&amp;gt; { 	&amp;quot;params&amp;quot;: { 		&amp;quot;1&amp;quot;: { 			&amp;quot;aliases&amp;quot;: [ 				&amp;quot;text&amp;quot; 			], 			&amp;quot;l...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation/Header}}&lt;br /&gt;
{{Lua|Formatting}}&lt;br /&gt;
{{Main|Template:F}}&lt;br /&gt;
This template creates a fake link in the form of how a link would be added in wikitext in source editor.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
See [[#Template Data|Template Data]] for extra functions.&amp;lt;br&amp;gt;&lt;br /&gt;
{{T|L|v1=Page Name|v2=Link Label}}&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
;No Link Label&lt;br /&gt;
{{T|L|Kiana|_Y_=1}}&lt;br /&gt;
&lt;br /&gt;
;With Link Label&lt;br /&gt;
{{T|L|Kiana|Kiana Kaslana|_Y_=1}}&lt;br /&gt;
&lt;br /&gt;
==Template Data==&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;1&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;text&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Text&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Main input to display, represents the page to link in link format and the url to link to in external link format.&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;2&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;label&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Label&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Text to add as label in the link and external link formats.&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;bold&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;b&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Bold&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Option for bold formatting.&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;italic&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;i&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Italic&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Option for italic formatting.&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;underline&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;u&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Underline&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Option for underline formatting.&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;ref&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;r&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Ref Tag&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Option for adding &amp;lt;ref&amp;gt;&amp;lt;/ref&amp;gt; tags.&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;nowiki&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;nw&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;NoWiki&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Option for adding &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; tags.&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Template for displaying fake inwiki links as they would show in source editor mode.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Explorer?diff=1979</id>
		<title>Template:Explorer</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Explorer?diff=1979"/>
		<updated>2025-08-31T02:37:43Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Attribute|Explorer|Trait}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Design|content=Shorthard template for {{T|Attribute|Explorer|Trait}}.}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Diagonal_Split_Header/doc?diff=1978</id>
		<title>Template:Diagonal Split Header/doc</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Diagonal_Split_Header/doc?diff=1978"/>
		<updated>2025-08-31T02:36:01Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: Created page with &amp;quot;{{Documentation/Header}} ==Example 1== &amp;lt;pre&amp;gt; {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; |- ! {{Diagonal Split Header|&amp;lt;small&amp;gt;bottom&amp;lt;br /&amp;gt;left text&amp;lt;/small&amp;gt;|&amp;lt;small&amp;gt;top-right&amp;lt;br /&amp;gt;text&amp;lt;/small&amp;gt;}} ! A || B || C || D |- ! 1  | A1 || B1 || C1 || D1 |- ! 2 | A2 || B2 || C2 || D2 |} &amp;lt;/pre&amp;gt; {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; |- ! {{Diagonal Split Header|&amp;lt;small&amp;gt;bottom&amp;lt;br /&amp;gt;left text&amp;lt;/small&amp;gt;|&amp;lt;small&amp;gt;top-right&amp;lt;br /&amp;gt;text&amp;lt;/small&amp;gt;}} ! A || B || C || D |- ! 1  | A1 || B1 ||...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation/Header}}&lt;br /&gt;
==Example 1==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! {{Diagonal Split Header|&amp;lt;small&amp;gt;bottom&amp;lt;br /&amp;gt;left text&amp;lt;/small&amp;gt;|&amp;lt;small&amp;gt;top-right&amp;lt;br /&amp;gt;text&amp;lt;/small&amp;gt;}}&lt;br /&gt;
! A || B || C || D&lt;br /&gt;
|-&lt;br /&gt;
! 1 &lt;br /&gt;
| A1 || B1 || C1 || D1&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| A2 || B2 || C2 || D2&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! {{Diagonal Split Header|&amp;lt;small&amp;gt;bottom&amp;lt;br /&amp;gt;left text&amp;lt;/small&amp;gt;|&amp;lt;small&amp;gt;top-right&amp;lt;br /&amp;gt;text&amp;lt;/small&amp;gt;}}&lt;br /&gt;
! A || B || C || D&lt;br /&gt;
|-&lt;br /&gt;
! 1 &lt;br /&gt;
| A1 || B1 || C1 || D1&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| A2 || B2 || C2 || D2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Example 2==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; {{Diagonal Split Header|&amp;lt;small&amp;gt;bottom&amp;lt;br /&amp;gt;left text&amp;lt;/small&amp;gt;|&amp;lt;small&amp;gt;top right&amp;lt;br /&amp;gt;text&amp;lt;/small&amp;gt;}}&lt;br /&gt;
! 1 || 2 || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
! A || B || C || D&lt;br /&gt;
|-&lt;br /&gt;
! X || Y &lt;br /&gt;
| a || b || c || d&lt;br /&gt;
|-&lt;br /&gt;
! X || Y &lt;br /&gt;
| a || b || c || d&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; {{Diagonal Split Header|&amp;lt;small&amp;gt;bottom&amp;lt;br /&amp;gt;left text&amp;lt;/small&amp;gt;|&amp;lt;small&amp;gt;top right&amp;lt;br /&amp;gt;text&amp;lt;/small&amp;gt;}}&lt;br /&gt;
! 1 || 2 || 3 || 4&lt;br /&gt;
|-&lt;br /&gt;
! A || B || C || D&lt;br /&gt;
|-&lt;br /&gt;
! X || Y &lt;br /&gt;
| a || b || c || d&lt;br /&gt;
|-&lt;br /&gt;
! X || Y &lt;br /&gt;
| a || b || c || d&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Example 3==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; colspan=&amp;quot;2&amp;quot; {{Diagonal Split Header|&amp;lt;small&amp;gt;bottom&amp;lt;br /&amp;gt;left text&amp;lt;/small&amp;gt;|&amp;lt;small&amp;gt;top right&amp;lt;br /&amp;gt;text&amp;lt;/small&amp;gt;}}&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Header&lt;br /&gt;
|-&lt;br /&gt;
! A || B || C || D&lt;br /&gt;
|-&lt;br /&gt;
! X || Y &lt;br /&gt;
| a || b || c || d&lt;br /&gt;
|-&lt;br /&gt;
! X || Y &lt;br /&gt;
| a || b || c || d&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; colspan=&amp;quot;2&amp;quot; {{Diagonal Split Header|&amp;lt;small&amp;gt;bottom&amp;lt;br /&amp;gt;left text&amp;lt;/small&amp;gt;|&amp;lt;small&amp;gt;top right&amp;lt;br /&amp;gt;text&amp;lt;/small&amp;gt;}}&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Header&lt;br /&gt;
|-&lt;br /&gt;
! A || B || C || D&lt;br /&gt;
|-&lt;br /&gt;
! X || Y &lt;br /&gt;
| a || b || c || d&lt;br /&gt;
|-&lt;br /&gt;
! X || Y &lt;br /&gt;
| a || b || c || d&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Diagonal_Split_Header?diff=1977</id>
		<title>Template:Diagonal Split Header</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Diagonal_Split_Header?diff=1977"/>
		<updated>2025-08-31T02:34:57Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: Created page with &amp;quot;&amp;lt;includeonly&amp;gt;class=&amp;quot;split-header&amp;quot; style=&amp;quot;{{{style|}}}&amp;quot;|&amp;lt;div style=&amp;quot;margin-left:2em;text-align:right;&amp;quot;&amp;gt;{{{2|}}}&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;margin-right:2em;text-align:left;&amp;quot;&amp;gt;{{{1|}}}&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&amp;lt;!-- --&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Design}}&amp;lt;/noinclude&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;class=&amp;quot;split-header&amp;quot; style=&amp;quot;{{{style|}}}&amp;quot;|&amp;lt;div style=&amp;quot;margin-left:2em;text-align:right;&amp;quot;&amp;gt;{{{2|}}}&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;margin-right:2em;text-align:left;&amp;quot;&amp;gt;{{{1|}}}&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Design}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Other_Languages/doc?diff=1976</id>
		<title>Template:Other Languages/doc</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Other_Languages/doc?diff=1976"/>
		<updated>2025-08-31T02:32:24Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: Created page with &amp;quot;{{Documentation/Header}} {{Lua}} This template is used to display the name of the page in other languages along with any romanization.  &amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; This wiki does not do TLs (translations) for its Other Language tables.  Usage of the template will automatically add categories in :Category:Meta Other Languages.  ==Parameters== * The languages that are supported are  ** English ({{F|en}}); optional parameter, defaults to the page name. ** Simplified Chinese ({{F|zhs}})...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation/Header}}&lt;br /&gt;
{{Lua}}&lt;br /&gt;
This template is used to display the name of the page in other languages along with any romanization.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This wiki does not do TLs (translations) for its Other Language tables.&lt;br /&gt;
&lt;br /&gt;
Usage of the template will automatically add categories in [[:Category:Meta Other Languages]].&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
* The languages that are supported are &lt;br /&gt;
** English ({{F|en}}); optional parameter, defaults to the page name.&lt;br /&gt;
** Simplified Chinese ({{F|zhs}}) &lt;br /&gt;
** Traditional Chinese ({{F|zht}}) &lt;br /&gt;
** Japanese ({{F|ja}}) &lt;br /&gt;
** Korean ({{F|ko}}) &lt;br /&gt;
** Spanish ({{F|es}}) &lt;br /&gt;
** French ({{F|fr}}) &lt;br /&gt;
** Russian ({{F|ru}}) &lt;br /&gt;
** Thai ({{F|th}}) &lt;br /&gt;
** Vietnamese ({{F|vi}}) &lt;br /&gt;
** German ({{F|de}}) &lt;br /&gt;
** Indonesian ({{F|id}}) &lt;br /&gt;
** and Portuguese ({{F|pt}}).&lt;br /&gt;
* The parameters {{F|&#039;&#039;[lang]&#039;&#039;_rm}} are used for romanization.&lt;br /&gt;
** The romanization parameter is only available for languages which do not use the {{W|Latin script}}, i.e. Simplified Chinese ({{F|zhs}}), Traditional Chinese ({{F|zht}}), Japanese ({{F|ja}}), Korean ({{F|ko}}), and Thai ({{F|th}}). (Russian and Korean romanizations are automated.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;==Other Languages==&lt;br /&gt;
{{Other Languages&lt;br /&gt;
|en      = &lt;br /&gt;
|zhs     = &lt;br /&gt;
|zhs_rm  = &lt;br /&gt;
|zht     = &lt;br /&gt;
|zht_rm  = &lt;br /&gt;
|ja      = &lt;br /&gt;
|ja_rm   = &lt;br /&gt;
|ko      = &lt;br /&gt;
|es      = &lt;br /&gt;
|fr      = &lt;br /&gt;
|ru      = &lt;br /&gt;
|th      = &lt;br /&gt;
|th_rm   = &lt;br /&gt;
|vi      = &lt;br /&gt;
|de      = &lt;br /&gt;
|id      = &lt;br /&gt;
|pt      = &lt;br /&gt;
}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Romanization==&lt;br /&gt;
The romanization systems to be used are based on:&lt;br /&gt;
{| class=&amp;quot;article-table&lt;br /&gt;
! Language !! System&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Chinese&amp;lt;br /&amp;gt;&amp;lt;small&amp;gt;(Simplified and Traditional)&amp;lt;/small&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
| {{W|Pinyin|Hanyu Pinyin}}&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Japanese&#039;&#039;&#039;&lt;br /&gt;
| {{W|Hepburn romanization|Hepburn}}&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Korean&#039;&#039;&#039;&lt;br /&gt;
| {{W|Revised Romanization of Korean}}&lt;br /&gt;
&amp;lt;!--|-&lt;br /&gt;
| &#039;&#039;&#039;Russian&#039;&#039;&#039;&lt;br /&gt;
| {{W|Romanization of Russian#Street and road signs|GOST R 52290-2004 (Table Г.5)}} with the following modifications from GOST 7.79-2000(B):&lt;br /&gt;
* {{Lang|mini=1|ru=Ёё}} is romanized as &#039;&#039;yo&#039;&#039;&lt;br /&gt;
* {{Lang|mini=1|ru=Ъъ}} is romanized as &#039;&#039;&amp;quot;&#039;&#039;&lt;br /&gt;
* {{Lang|mini=1|ru=Ьь}} is romanized as &#039;&#039;&amp;lt;nowiki&amp;gt;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039;--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Thai&#039;&#039;&#039;&lt;br /&gt;
| {{W|Royal Thai General System of Transcription}}&lt;br /&gt;
|}&lt;br /&gt;
For Chinese, Japanese, Korean, and Russian please see these guides for more details:&lt;br /&gt;
* [[Honkai Nexus Anima Wiki:Chinese]]&lt;br /&gt;
* [[Honkai Nexus Anima Wiki:Japanese]]&lt;br /&gt;
* [[Honkai Nexus Anima Wiki:Korean]],&lt;br /&gt;
&amp;lt;!--* [[Honkai Nexus Anima Wiki:Russian]].--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Full Example==&lt;br /&gt;
None yet, to be added.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
==Partial Example==&lt;br /&gt;
{{Other Languages&lt;br /&gt;
|en  = Kiana&lt;br /&gt;
|zhs = 琪亚娜&lt;br /&gt;
|zht = 琪亞娜&lt;br /&gt;
|ja  = キアナ&lt;br /&gt;
|ko  = 키아나&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Other Languages&lt;br /&gt;
|en  = Kiana&lt;br /&gt;
|zhs = 琪亚娜&lt;br /&gt;
|zht = 琪亞娜&lt;br /&gt;
|ja  = キアナ&lt;br /&gt;
|ko  = 키아나&lt;br /&gt;
}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Template Data==&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;en&amp;quot;: {},&lt;br /&gt;
		&amp;quot;en_lang&amp;quot;: {},&lt;br /&gt;
		&amp;quot;zhs&amp;quot;: {},&lt;br /&gt;
		&amp;quot;zhs_rm&amp;quot;: {},&lt;br /&gt;
		&amp;quot;zht&amp;quot;: {},&lt;br /&gt;
		&amp;quot;zht_rm&amp;quot;: {},&lt;br /&gt;
		&amp;quot;ja&amp;quot;: {},&lt;br /&gt;
		&amp;quot;ja_rm&amp;quot;: {},&lt;br /&gt;
		&amp;quot;ko&amp;quot;: {},&lt;br /&gt;
		&amp;quot;ko_rm&amp;quot;: {},&lt;br /&gt;
		&amp;quot;es&amp;quot;: {},&lt;br /&gt;
		&amp;quot;fr&amp;quot;: {},&lt;br /&gt;
		&amp;quot;ru&amp;quot;: {},&lt;br /&gt;
		&amp;quot;th&amp;quot;: {},&lt;br /&gt;
		&amp;quot;th_rm&amp;quot;: {},&lt;br /&gt;
		&amp;quot;vi&amp;quot;: {},&lt;br /&gt;
		&amp;quot;de&amp;quot;: {},&lt;br /&gt;
		&amp;quot;id&amp;quot;: {},&lt;br /&gt;
		&amp;quot;pt&amp;quot;: {}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;{{_\n|_______ = _\n}}\n&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Other_Languages?diff=1975</id>
		<title>Template:Other Languages</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Other_Languages?diff=1975"/>
		<updated>2025-08-31T02:28:22Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: Protected &amp;quot;Template:Other Languages&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#invoke:Other Languages|main}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Data}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Rubi/doc?diff=1974</id>
		<title>Template:Rubi/doc</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Rubi/doc?diff=1974"/>
		<updated>2025-08-31T02:27:31Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: Created page with &amp;quot;{{Documentation/Header}} {{Lua}} {{CSS}} This template is used to input [https://www.w3schools.com/tags/tag_ruby.asp ruby] text, which helps form &amp;#039;&amp;#039;&amp;#039;furigana&amp;#039;&amp;#039;&amp;#039; ({{ja|{{Rubi|振|ふり|仮名|がな}}}}) in Japanese and &amp;#039;&amp;#039;&amp;#039;Pinyin reading guide&amp;#039;&amp;#039;&amp;#039; {{Rubi|{{zh|米哈游}}|mǐ hā yóu}} in Chinese.  More information can be found [https://html.spec.whatwg.org/multipage/text-level-semantics.html#the-ruby-element here].  ==Syntax== Pairs of text will form a &amp;quot;base&amp;quot; and &amp;quot;explan...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation/Header}}&lt;br /&gt;
{{Lua}}&lt;br /&gt;
{{CSS}}&lt;br /&gt;
This template is used to input [https://www.w3schools.com/tags/tag_ruby.asp ruby] text, which helps form &#039;&#039;&#039;furigana&#039;&#039;&#039; ({{ja|{{Rubi|振|ふり|仮名|がな}}}}) in Japanese and &#039;&#039;&#039;Pinyin reading guide&#039;&#039;&#039; {{Rubi|{{zh|米哈游}}|mǐ hā yóu}} in Chinese.&lt;br /&gt;
&lt;br /&gt;
More information can be found [https://html.spec.whatwg.org/multipage/text-level-semantics.html#the-ruby-element here].&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
Pairs of text will form a &amp;quot;base&amp;quot; and &amp;quot;explanation&amp;quot; set. If there is an odd pair left out, it will be displayed as &amp;quot;base&amp;quot; text (without an &amp;quot;explanation&amp;quot; tag).&lt;br /&gt;
&lt;br /&gt;
There are three named Parameters:&lt;br /&gt;
* {{F|rpStart}} &amp;amp;mdash; the beginning denotation of the &amp;quot;explanation&amp;quot; tag (defaults to an &#039;&#039;open parenthesis&#039;&#039;)&lt;br /&gt;
* {{F|rpEnd}} &amp;amp;mdash; the ending denotation of the &amp;quot;explanation&amp;quot; tag (defaults to an &#039;&#039;close parenthesis&#039;&#039;)&lt;br /&gt;
* {{F|large}} &amp;amp;mdash; setting this value to any non-blank value will make the &amp;quot;base&amp;quot; text 250% bigger (fixed value), and the &amp;quot;explanation&amp;quot; text smaller (fixed value)&lt;br /&gt;
* {{F|center}} &amp;amp;mdash; setting this value to any non-blank value will make the center the ruby text instead of space it out along the base text.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
{{T|Rubi|日本語|にほんご|_Ybr_=1}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{T|Rubi|米哈游|mǐ hā yóu|_Ybr_=1}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{T|Rubi|HT|HyperText|M|Markup|L|Language|large=1|_Ybr_=1}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{T|Rubi|Very long base text that goes on and on|Short ruby|center=1|_Ybr_=1}}&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;1&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Base Text 1&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;2&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Explanation Text 1&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;3&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Base Text 2&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;4&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Explanation Text 1&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;rpStart&amp;quot;: {&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;the beginning denotation of the \&amp;quot;explanation\&amp;quot; tag (defaults to an open parenthesis)&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;(&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;rpEnd&amp;quot;: {&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;the ending denotation of the \&amp;quot;explanation\&amp;quot; tag (defaults to an close parenthesis)&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;)&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;large&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;setting this value to any non-blank value will make the \&amp;quot;base\&amp;quot; text 250% bigger (fixed value), and the \&amp;quot;explanation\&amp;quot; text smaller (fixed value)&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;center&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;setting this value to any non-blank value will make the center the ruby text instead of space it out along the base text&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;inline&amp;quot;,&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;This template is used to input ruby text, which helps form furigana in Japanese and Pinyin reading guide in Chinese. Please see the documentation page for a full explanation of the parameters.&amp;quot;,&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;1&amp;quot;,&lt;br /&gt;
		&amp;quot;2&amp;quot;,&lt;br /&gt;
		&amp;quot;3&amp;quot;,&lt;br /&gt;
		&amp;quot;4&amp;quot;,&lt;br /&gt;
		&amp;quot;rpStart&amp;quot;,&lt;br /&gt;
		&amp;quot;rpEnd&amp;quot;,&lt;br /&gt;
		&amp;quot;large&amp;quot;,&lt;br /&gt;
		&amp;quot;center&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:User_List/doc?diff=1973</id>
		<title>Template:User List/doc</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:User_List/doc?diff=1973"/>
		<updated>2025-08-31T02:17:39Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: Created page with &amp;quot;{{Documentation/Header}} Generates a bulleted list of users alongside links to their message wall(s).  ==Syntax== {{T|{{subst:BASEPAGENAME}}|V1=double semicolon separated list of users}}  ==Examples== {{T|{{subst:BASEPAGENAME}}|p1=Mattk4355;;Chilli Crab|_Y_=1}}  ==Template Data== &amp;lt;templatedata&amp;gt; { 	&amp;quot;params&amp;quot;: { 		&amp;quot;1&amp;quot;: { 			&amp;quot;label&amp;quot;: &amp;quot;List of Users&amp;quot;, 			&amp;quot;description&amp;quot;: &amp;quot;double semicolon separated list of users&amp;quot;, 			&amp;quot;example&amp;quot;: &amp;quot;Mattk4355;;Chilli Crab&amp;quot;, 			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation/Header}}&lt;br /&gt;
Generates a bulleted list of users alongside links to their message wall(s).&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
{{T|User List|V1=double semicolon separated list of users}}&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
{{T|User List|p1=Mattk4355;;Chilli Crab|_Y_=1}}&lt;br /&gt;
&lt;br /&gt;
==Template Data==&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;1&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;List of Users&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;double semicolon separated list of users&amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;Mattk4355;;Chilli Crab&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;inline&amp;quot;,&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Generates a bulleted list of users alongside links to their message wall(s).&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Weakness?diff=1972</id>
		<title>Template:Weakness</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Weakness?diff=1972"/>
		<updated>2025-08-31T02:13:44Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Attribute|Weakness|Aspect}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Design|content=Shorthard template for {{T|Attribute|Weakness|Aspect}}.}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:War?diff=1971</id>
		<title>Template:War</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:War?diff=1971"/>
		<updated>2025-08-31T02:13:16Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Attribute|War|Aspect}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Design|content=Shorthard template for {{T|Attribute|War|Aspect}}.}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Striker?diff=1970</id>
		<title>Template:Striker</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Striker?diff=1970"/>
		<updated>2025-08-31T02:12:39Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Attribute|Striker|Trait}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Design|content=Shorthard template for {{T|Attribute|Striker|Trait}}.}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Satiation?diff=1969</id>
		<title>Template:Satiation</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Satiation?diff=1969"/>
		<updated>2025-08-31T02:11:46Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Attribute|Satiation|Aspect}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Design|content=Shorthard template for {{T|Attribute|Satiation|Aspect}}.}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Right?diff=1968</id>
		<title>Template:Right</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Right?diff=1968"/>
		<updated>2025-08-31T02:11:04Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Attribute|Right|Aspect}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Design|content=Shorthard template for {{T|Attribute|Right|Aspect}}.}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Regret?diff=1967</id>
		<title>Template:Regret</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Regret?diff=1967"/>
		<updated>2025-08-31T02:10:29Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Attribute|Regret|Aspect}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Design|content=Shorthard template for {{T|Attribute|Regret|Aspect}}.}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Protector?diff=1966</id>
		<title>Template:Protector</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Protector?diff=1966"/>
		<updated>2025-08-31T02:09:45Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Attribute|Protector|Trait}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Design|content=Shorthard template for {{T|Attribute|Protector|Trait}}.}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Pride?diff=1965</id>
		<title>Template:Pride</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Pride?diff=1965"/>
		<updated>2025-08-31T02:09:10Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Attribute|Pride|Aspect}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Design|content=Shorthard template for {{T|Attribute|Pride|Aspect}}.}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Peace?diff=1964</id>
		<title>Template:Peace</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Peace?diff=1964"/>
		<updated>2025-08-31T02:08:42Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Attribute|Peace|Aspect}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Design|content=Shorthard template for {{T|Attribute|Peace|Aspect}}.}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Memory?diff=1963</id>
		<title>Template:Memory</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Memory?diff=1963"/>
		<updated>2025-08-31T02:08:09Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Attribute|Memory|Aspect}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Design|content=Shorthard template for {{T|Attribute|Memory|Aspect}}.}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Mastermind?diff=1962</id>
		<title>Template:Mastermind</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Mastermind?diff=1962"/>
		<updated>2025-08-31T02:07:36Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Attribute|Mastermind|Trait}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Design|content=Shorthard template for {{T|Attribute|Mastermind|Trait}}.}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Mascot?diff=1961</id>
		<title>Template:Mascot</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Mascot?diff=1961"/>
		<updated>2025-08-31T02:07:02Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Attribute|Mascot|Trait}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Design|content=Shorthard template for {{T|Attribute|Mascot|Trait}}.}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Love?diff=1960</id>
		<title>Template:Love</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Love?diff=1960"/>
		<updated>2025-08-31T02:05:50Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Attribute|Love|Aspect}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Design|content=Shorthard template for {{T|Attribute|Love|Aspect}}.}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Light?diff=1959</id>
		<title>Template:Light</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Light?diff=1959"/>
		<updated>2025-08-31T02:05:21Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Attribute|Light|Aspect}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Design|content=Shorthard template for {{T|Attribute|Light|Aspect}}.}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Insatiability?diff=1958</id>
		<title>Template:Insatiability</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Insatiability?diff=1958"/>
		<updated>2025-08-31T02:04:47Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Attribute|Insatiability|Aspect}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Design|content=Shorthard template for {{T|Attribute|Insatiability|Aspect}}.}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Hothead?diff=1957</id>
		<title>Template:Hothead</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Hothead?diff=1957"/>
		<updated>2025-08-31T02:04:13Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Attribute|Hothead|Trait}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Design|content=Shorthard template for {{T|Attribute|Hothead|Trait}}.}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Hate?diff=1956</id>
		<title>Template:Hate</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Hate?diff=1956"/>
		<updated>2025-08-31T02:03:39Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Attribute|Hate|Aspect}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Design|content=Shorthard template for {{T|Attribute|Hate|Aspect}}.}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Gladiator?diff=1955</id>
		<title>Template:Gladiator</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Gladiator?diff=1955"/>
		<updated>2025-08-31T02:02:55Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Attribute|Gladiator|Trait}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Design|content=Shorthard template for {{T|Attribute|Gladiator|Trait}}.}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Dark?diff=1954</id>
		<title>Template:Dark</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Dark?diff=1954"/>
		<updated>2025-08-31T02:02:11Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Attribute|Dark|Aspect}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Design|content=Shorthard template for {{T|Attribute|Dark|Aspect}}.}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Competition?diff=1953</id>
		<title>Template:Competition</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Competition?diff=1953"/>
		<updated>2025-08-31T02:01:30Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Attribute|Competition|Aspect}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Design|content=Shorthard template for {{T|Attribute|Competition|Aspect}}.}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Change?diff=1951</id>
		<title>Template:Change</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Change?diff=1951"/>
		<updated>2025-08-31T02:00:01Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Attribute|Change|Aspect}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|type=Design|content=Shorthard template for {{T|Attribute|Change|Aspect}}.}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Module:Color?diff=1793</id>
		<title>Module:Color</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Module:Color?diff=1793"/>
		<updated>2025-08-30T18:02:02Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: Protected &amp;quot;Module:Color&amp;quot;: High-Risk Module ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
local lib = require(&#039;Module:Feature&#039;)&lt;br /&gt;
&lt;br /&gt;
local aliases = {&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local colors = {&lt;br /&gt;
    new        = &#039;text-new&#039;,&lt;br /&gt;
    old        = &#039;text-old&#039;,&lt;br /&gt;
    buzz       = &#039;text-buzz&#039;,&lt;br /&gt;
    menu       = &#039;text-menu&#039;,&lt;br /&gt;
    help       = &#039;text-help&#039;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- Main function for wiki usage.&lt;br /&gt;
-- If 2 arguments are present, treats the first one as a keyword.&lt;br /&gt;
-- If only 1 argument is present, searches it for keywords.&lt;br /&gt;
-- Returns the color associated with the keyword, or &amp;quot;inherit&amp;quot; if not found.&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
    local args = require(&#039;Module:Arguments&#039;).getArgs(frame)&lt;br /&gt;
	local class = &#039;&#039;&lt;br /&gt;
	local span = &#039;&#039;&lt;br /&gt;
	local text = &#039;&#039;&lt;br /&gt;
	local link = args.link&lt;br /&gt;
    -- choose variant based on number of arguments&lt;br /&gt;
	if args[2] then&lt;br /&gt;
		if args[1]:find(&#039;#&#039;) then&lt;br /&gt;
			span = args[1]&lt;br /&gt;
		else&lt;br /&gt;
			class = p._getKeywordColor(mw.ustring.lower(args[1]))&lt;br /&gt;
		end&lt;br /&gt;
		text = args[2]&lt;br /&gt;
	else&lt;br /&gt;
		class = p._searchTextForKeyword(mw.ustring.lower(args[1]))&lt;br /&gt;
		text = args[1]&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if link ~= nil then&lt;br /&gt;
		if link == &#039;1&#039; or link == 1 then&lt;br /&gt;
			text = &#039;[[&#039; .. text .. &#039;]]&#039;&lt;br /&gt;
		else&lt;br /&gt;
			text = &#039;[[&#039; .. link .. &#039;|&#039; .. text .. &#039;]]&#039;&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		text = &#039;&#039; .. text .. &#039;&#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (args.nobold and lib.isNotEmpty(class)) then&lt;br /&gt;
		return &#039;&amp;lt;span class=&amp;quot;&#039; .. class .. &#039;&amp;quot;&amp;gt;&#039; .. text .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
	elseif (args.nobold and lib.isNotEmpty(span)) then&lt;br /&gt;
		return &#039;&amp;lt;span style=&amp;quot;color:&#039; .. span .. &#039;&amp;quot;&amp;gt;&#039; .. text .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
	elseif lib.isNotEmpty(span) then&lt;br /&gt;
		return &#039;&amp;lt;span style=&amp;quot;color:&#039; .. span .. &#039;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;&#039; .. text .. &#039;&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
	else&lt;br /&gt;
		return &#039;&amp;lt;span class=&amp;quot;&#039; .. class .. &#039;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;&#039; .. text .. &#039;&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Library functions usable in other modules&lt;br /&gt;
&lt;br /&gt;
-- Returns the color associated with given keyword,&lt;br /&gt;
-- or &amp;quot;inherit&amp;quot; if input is not a keyword.&lt;br /&gt;
-- Runs output through nowiki by default,&lt;br /&gt;
-- unless noescape is specified to be true.&lt;br /&gt;
-- (input must be in lower case.)&lt;br /&gt;
function p._getKeywordColor(input, noescape)&lt;br /&gt;
    local element = aliases[input] or input&lt;br /&gt;
    local color = colors[element]&lt;br /&gt;
    if noescape then&lt;br /&gt;
    	return color or &#039;inherit&#039;&lt;br /&gt;
	end&lt;br /&gt;
    return color and mw.text.nowiki(color) or &#039;inherit&#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Helper method to search given text for the keys of given table t.&lt;br /&gt;
-- If a key is found, returns its value; returns nil otherwise.&lt;br /&gt;
local function searchTextForKeys(text, t)&lt;br /&gt;
	for key, val in pairs(t) do&lt;br /&gt;
		result = mw.ustring.find(text, key, 1, true)&lt;br /&gt;
        if result ~= nil then return val end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Searches given text for keywords and returns the associated color,&lt;br /&gt;
-- or &amp;quot;inherit&amp;quot; if no keyword is found.&lt;br /&gt;
-- (text must be in lower case.)&lt;br /&gt;
function p._searchTextForKeyword(text)&lt;br /&gt;
	-- try elements first&lt;br /&gt;
	local color = searchTextForKeys(text, colors)&lt;br /&gt;
    if color ~= nil then&lt;br /&gt;
        return mw.text.nowiki(color)&lt;br /&gt;
    end&lt;br /&gt;
    -- try aliases afterwards&lt;br /&gt;
    local keyword = searchTextForKeys(text, aliases)&lt;br /&gt;
    if keyword ~= nil then&lt;br /&gt;
    	return mw.text.nowiki(colors[keyword])&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
    return &#039;inherit&#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Sic?diff=1791</id>
		<title>Template:Sic</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Sic?diff=1791"/>
		<updated>2025-08-30T18:00:18Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: Protected &amp;quot;Template:Sic&amp;quot; ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
Display the first two default parameters unless ?&lt;br /&gt;
--&amp;gt;{{#ifeq:{{{1|?}}}|?|{{{2|}}}{{{3|}}}|{{{1|}}}{{{2|}}}}}&amp;lt;!--&lt;br /&gt;
Display options for [sic] linked, unlinked(default) or hidden.&lt;br /&gt;
--&amp;gt;{{#if:{{{hide|}}}||{{#if:{{{nospace|}}}||&amp;amp;#32;}}&amp;amp;#91;&#039;&#039;{{#if:{{{nolink|}}}|sic|{{w|sic}}}}{{#ifeq:{{{1|}}}|?|?}}&#039;&#039;&amp;amp;#93;}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Not_a_Typo?diff=1790</id>
		<title>Template:Not a Typo</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Not_a_Typo?diff=1790"/>
		<updated>2025-08-30T18:00:14Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: Protected &amp;quot;Template:Not a Typo&amp;quot; ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{{1|}}}{{{2|}}}&amp;lt;noinclude&amp;gt;{{Documentation|type=Quotation;Bot}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Nowrap?diff=1788</id>
		<title>Template:Nowrap</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Nowrap?diff=1788"/>
		<updated>2025-08-30T17:59:47Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: Protected &amp;quot;Template:Nowrap&amp;quot; ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=&amp;quot;no-wrap&amp;quot;&amp;gt;{{{1|}}}&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Nowrap/doc?diff=1787</id>
		<title>Template:Nowrap/doc</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Nowrap/doc?diff=1787"/>
		<updated>2025-08-30T17:59:35Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: Created page with &amp;quot;{{Documentation/Header}} Returns text that will not wrap to a new line.  ==Syntax== {{T|Nowrap|v1=text}}  ==Examples== {{T|Nowrap|This is text and file 30px that was passed into the nowrap template that does not wrap onto the next line.|_Ybr_=1}}  ==Template Data== &amp;lt;templatedata&amp;gt; { 	&amp;quot;params&amp;quot;: { 		&amp;quot;1&amp;quot;: { 			&amp;quot;label&amp;quot;: &amp;quot;Text&amp;quot;, 			&amp;quot;description&amp;quot;: &amp;quot;Text to display without wrapping.&amp;quot;, 			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;, 			&amp;quot;required&amp;quot;: true 		} 	}, 	&amp;quot;description&amp;quot;: &amp;quot;Retu...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation/Header}}&lt;br /&gt;
Returns text that will not wrap to a new line.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
{{T|Nowrap|v1=text}}&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
{{T|Nowrap|This is text and file [[File:CrabGremlin.png|30px]] that was passed into the nowrap template that does not wrap onto the next line.|_Ybr_=1}}&lt;br /&gt;
&lt;br /&gt;
==Template Data==&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;1&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Text&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Text to display without wrapping.&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Returns text that will not wrap to a new line.&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;inline&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Template:Nowrap?diff=1783</id>
		<title>Template:Nowrap</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Template:Nowrap?diff=1783"/>
		<updated>2025-08-30T17:57:50Z</updated>

		<summary type="html">&lt;p&gt;Mattk4355: Created page with &amp;quot;&amp;lt;includeonly&amp;gt;&amp;lt;span class=&amp;quot;no-wrap&amp;quot;&amp;gt;{{{1|}}}&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&amp;lt;!-- --&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;/noinclude&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class=&amp;quot;no-wrap&amp;quot;&amp;gt;{{{1|}}}&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mattk4355</name></author>
	</entry>
</feed>