<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://hna.wiki/Module:Tt?action=history&amp;feed=atom</id>
	<title>Module:Tt - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://hna.wiki/Module:Tt?action=history&amp;feed=atom"/>
	<link rel="alternate" type="text/html" href="https://hna.wiki/Module:Tt?action=history"/>
	<updated>2026-07-14T17:04:04Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://hna.wiki/Module:Tt?diff=985&amp;oldid=prev</id>
		<title>919dd: Protected &quot;Module:Tt&quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Module:Tt?diff=985&amp;oldid=prev"/>
		<updated>2025-08-29T22:07:27Z</updated>

		<summary type="html">&lt;p&gt;Protected &amp;quot;&lt;a href=&quot;/Module:Tt&quot; title=&quot;Module:Tt&quot;&gt;Module:Tt&lt;/a&gt;&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:07, 29 August 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key mediawiki:diff:1.41:old-271:rev-985 --&gt;
&lt;/table&gt;</summary>
		<author><name>919dd</name></author>
	</entry>
	<entry>
		<id>https://hna.wiki/Module:Tt?diff=271&amp;oldid=prev</id>
		<title>ReinDevildom: Created page with &quot;local p = {} local lib = require(&#039;Module:Feature&#039;)  function p.main(frame) 	local args = require(&#039;Module:Arguments&#039;).getArgs(frame, { 		parentFirst = true, 		wrappers = { &#039;Template:Tt&#039; } 	}) 	args[1] = args[1] or &#039;&lt;i&gt;Missing text&lt;/i&gt;&#039;  	-- Return plain text if no tooltip given 	if lib.isEmpty(args[2]) then 		return args[1] 	end 	     return p._main(args) end  function p._main(args, options) 	local text = args[1] 	local tooltip = mw.text.decode(args[2], true) 	local out =...&quot;</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Module:Tt?diff=271&amp;oldid=prev"/>
		<updated>2025-08-29T15:29:26Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local p = {} local lib = require(&amp;#039;Module:Feature&amp;#039;)  function p.main(frame) 	local args = require(&amp;#039;Module:Arguments&amp;#039;).getArgs(frame, { 		parentFirst = true, 		wrappers = { &amp;#039;Template:Tt&amp;#039; } 	}) 	args[1] = args[1] or &amp;#039;&amp;lt;i&amp;gt;Missing text&amp;lt;/i&amp;gt;&amp;#039;  	-- Return plain text if no tooltip given 	if lib.isEmpty(args[2]) then 		return args[1] 	end 	     return p._main(args) end  function p._main(args, options) 	local text = args[1] 	local tooltip = mw.text.decode(args[2], true) 	local out =...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
local lib = require(&amp;#039;Module:Feature&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = require(&amp;#039;Module:Arguments&amp;#039;).getArgs(frame, {&lt;br /&gt;
		parentFirst = true,&lt;br /&gt;
		wrappers = { &amp;#039;Template:Tt&amp;#039; }&lt;br /&gt;
	})&lt;br /&gt;
	args[1] = args[1] or &amp;#039;&amp;lt;i&amp;gt;Missing text&amp;lt;/i&amp;gt;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
	-- Return plain text if no tooltip given&lt;br /&gt;
	if lib.isEmpty(args[2]) then&lt;br /&gt;
		return args[1]&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
    return p._main(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(args, options)&lt;br /&gt;
	local text = args[1]&lt;br /&gt;
	local tooltip = mw.text.decode(args[2], true)&lt;br /&gt;
	local out = mw.html.create()&lt;br /&gt;
	&lt;br /&gt;
	--check for link format&lt;br /&gt;
	if lib.isNotEmpty(args.link) then&lt;br /&gt;
		local link = tostring(args.link)&lt;br /&gt;
		args.link = nil&lt;br /&gt;
		local base = tostring(p._main(args, {notoggle = true})) -- tt on label for hover as otherwise the &amp;lt;a&amp;gt; default title takes priority&lt;br /&gt;
		local linkTo = &amp;#039;[[&amp;#039; .. lib.ternary(link == &amp;#039;1&amp;#039;, text, link) .. &amp;#039;|&amp;#039; .. base .. &amp;#039;]]&amp;#039;&lt;br /&gt;
		return p._main({ linkTo, args[2] }, {nohover = true}) -- external tt for collapsible for the separated clickable&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Build hover tooltip&lt;br /&gt;
	local hover = out:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
	hover&lt;br /&gt;
		:addClass(&amp;#039;text-tooltip hover-tooltip&amp;#039;)&lt;br /&gt;
		:wikitext(text)&lt;br /&gt;
	-- Optional hover text but plain text must be there for gadget&lt;br /&gt;
	if not options or not options.nohover then hover:attr(&amp;#039;title&amp;#039;, tooltip) end&lt;br /&gt;
	hover:allDone()&lt;br /&gt;
	&lt;br /&gt;
	-- Build toggle tooltip&lt;br /&gt;
	local toggle = out:tag(&amp;#039;span&amp;#039;):addClass(&amp;#039;custom-tt-wrapper mobile-only toggle-tooltip&amp;#039;)&lt;br /&gt;
		&lt;br /&gt;
	-- Optional toggleable text but plain text must be there for gadget&lt;br /&gt;
	if not options or not options.notoggle then&lt;br /&gt;
		toggle:addClass(&amp;#039; mw-collapsible mw-made-collapsible mw-collapsed giw-collapsible&amp;#039;)&lt;br /&gt;
		-- move tooltip to detached icon when text is clickable&lt;br /&gt;
		if lib.isNotEmpty(args.link) or (text:find(&amp;#039;%[%[&amp;#039;) and text:find(&amp;#039;%]%]&amp;#039;)) then&lt;br /&gt;
			toggle:wikitext(text, &amp;#039;&amp;amp;thinsp;&amp;#039;)&lt;br /&gt;
			-- infoicon with semi-hidden text for screen readers&lt;br /&gt;
			text = &amp;#039;&amp;lt;span class=&amp;quot;screen-reader-text&amp;quot;&amp;gt;Tooltip for &amp;#039; .. text:gsub(&amp;#039;%[%[?[^|%]]+|&amp;#039;, &amp;#039;&amp;#039;):gsub(&amp;#039;%[&amp;#039;, &amp;#039;&amp;#039;):gsub(&amp;#039;%]&amp;#039;, &amp;#039;&amp;#039;) .. &amp;#039;&amp;lt;/span&amp;gt;&amp;amp;#9432;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		toggle&lt;br /&gt;
			:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;mw-collapsible-toggle mw-collapsible-toggle-default mw-collapsible-toggle-collapsed custom-tt toggle-tooltip&amp;#039;)&lt;br /&gt;
				:wikitext(text)&lt;br /&gt;
				:done()&lt;br /&gt;
		toggle&lt;br /&gt;
			:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;mw-collapsible-content custom-tt&amp;#039;)&lt;br /&gt;
				:css{ display = &amp;#039;none&amp;#039; }&lt;br /&gt;
				:wikitext(tooltip)&lt;br /&gt;
				:done()&lt;br /&gt;
	else&lt;br /&gt;
		toggle:wikitext(text)&lt;br /&gt;
	end&lt;br /&gt;
	toggle:allDone()&lt;br /&gt;
	&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--for modules that need the plain text input&lt;br /&gt;
function p.CleanTT(tx)&lt;br /&gt;
	local full = tx&lt;br /&gt;
	local result = tx&lt;br /&gt;
	for tooltip, display in string.gmatch(full, &amp;#039;&amp;lt;span[^&amp;gt;]+title=&amp;quot;([^&amp;gt;]-)&amp;quot;&amp;gt;(.-)&amp;lt;/span&amp;gt;&amp;#039;) do&lt;br /&gt;
		local escTooltip = tooltip:gsub(&amp;quot;([^%w])&amp;quot;, &amp;quot;%%%1&amp;quot;)&lt;br /&gt;
		local escDisplay = display:gsub(&amp;quot;([^%w])&amp;quot;, &amp;quot;%%%1&amp;quot;)&lt;br /&gt;
		search_str = &amp;#039;&amp;lt;span[^&amp;gt;]+title=&amp;quot;&amp;#039; .. escTooltip .. &amp;#039;&amp;quot;&amp;gt;(&amp;#039; .. escDisplay .. &amp;#039;)&amp;lt;/span&amp;gt;&amp;lt;span[^&amp;gt;]+&amp;gt;&amp;lt;span[^&amp;gt;]+&amp;gt;&amp;#039; .. escDisplay .. &amp;#039;&amp;lt;/span&amp;gt;&amp;lt;span[^&amp;gt;]+&amp;gt;&amp;#039; .. escTooltip .. &amp;#039;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
		result = result:gsub(search_str, display)&lt;br /&gt;
	end&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>ReinDevildom</name></author>
	</entry>
</feed>