<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://petitplanet.wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AColor</id>
	<title>Module:Color - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://petitplanet.wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AColor"/>
	<link rel="alternate" type="text/html" href="https://petitplanet.wiki/index.php?title=Module:Color&amp;action=history"/>
	<updated>2026-04-08T07:33:48Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://petitplanet.wiki/index.php?title=Module:Color&amp;diff=1304&amp;oldid=prev</id>
		<title>ReisuDesign at 20:53, 12 November 2025</title>
		<link rel="alternate" type="text/html" href="https://petitplanet.wiki/index.php?title=Module:Color&amp;diff=1304&amp;oldid=prev"/>
		<updated>2025-11-12T20:53:39Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&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 20:53, 12 November 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l17&quot;&gt;Line 17:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 17:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     old        = &amp;#039;text-old&amp;#039;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     old        = &amp;#039;text-old&amp;#039;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     help       = &amp;#039;text-help&amp;#039;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     help       = &amp;#039;text-help&amp;#039;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;citlali    &lt;/del&gt;= &#039;text-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;citlali&lt;/del&gt;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;catch      &lt;/ins&gt;= &#039;text-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;catch&lt;/ins&gt;&#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;,&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key petitplanet:diff:1.41:old-133:rev-1304:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>ReisuDesign</name></author>
	</entry>
	<entry>
		<id>https://petitplanet.wiki/index.php?title=Module:Color&amp;diff=133&amp;oldid=prev</id>
		<title>ReisuDesign: Created page with &quot;local p = {} local lib = require(&#039;Module:Feature&#039;)  local aliases = { 	bz        = &#039;buzz&#039;, 	buzzword  = &#039;buzz&#039;, 	event     = &#039;bp&#039;, 	action    = &#039;menu&#039;, 	tutorial  = &#039;help&#039; }  local colors = {     buzz       = &#039;text-buzz&#039;,     bp         = &#039;text-bp&#039;,     menu       = &#039;text-menu&#039;,     new        = &#039;text-new&#039;,     old        = &#039;text-old&#039;,     help       = &#039;text-help&#039;,     citlali    = &#039;text-citlali&#039; }  -- Main function for wiki usage. -- If 2 arguments are present, treats t...&quot;</title>
		<link rel="alternate" type="text/html" href="https://petitplanet.wiki/index.php?title=Module:Color&amp;diff=133&amp;oldid=prev"/>
		<updated>2025-11-09T21:13:35Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local p = {} local lib = require(&amp;#039;Module:Feature&amp;#039;)  local aliases = { 	bz        = &amp;#039;buzz&amp;#039;, 	buzzword  = &amp;#039;buzz&amp;#039;, 	event     = &amp;#039;bp&amp;#039;, 	action    = &amp;#039;menu&amp;#039;, 	tutorial  = &amp;#039;help&amp;#039; }  local colors = {     buzz       = &amp;#039;text-buzz&amp;#039;,     bp         = &amp;#039;text-bp&amp;#039;,     menu       = &amp;#039;text-menu&amp;#039;,     new        = &amp;#039;text-new&amp;#039;,     old        = &amp;#039;text-old&amp;#039;,     help       = &amp;#039;text-help&amp;#039;,     citlali    = &amp;#039;text-citlali&amp;#039; }  -- Main function for wiki usage. -- If 2 arguments are present, treats t...&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;
local aliases = {&lt;br /&gt;
	bz        = &amp;#039;buzz&amp;#039;,&lt;br /&gt;
	buzzword  = &amp;#039;buzz&amp;#039;,&lt;br /&gt;
	event     = &amp;#039;bp&amp;#039;,&lt;br /&gt;
	action    = &amp;#039;menu&amp;#039;,&lt;br /&gt;
	tutorial  = &amp;#039;help&amp;#039;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local colors = {&lt;br /&gt;
    buzz       = &amp;#039;text-buzz&amp;#039;,&lt;br /&gt;
    bp         = &amp;#039;text-bp&amp;#039;,&lt;br /&gt;
    menu       = &amp;#039;text-menu&amp;#039;,&lt;br /&gt;
    new        = &amp;#039;text-new&amp;#039;,&lt;br /&gt;
    old        = &amp;#039;text-old&amp;#039;,&lt;br /&gt;
    help       = &amp;#039;text-help&amp;#039;,&lt;br /&gt;
    citlali    = &amp;#039;text-citlali&amp;#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(&amp;#039;Module:Arguments&amp;#039;).getArgs(frame)&lt;br /&gt;
	local class = &amp;#039;&amp;#039;&lt;br /&gt;
	local span = &amp;#039;&amp;#039;&lt;br /&gt;
	local text = &amp;#039;&amp;#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(&amp;#039;#&amp;#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 == &amp;#039;1&amp;#039; or link == 1 then&lt;br /&gt;
			text = &amp;#039;[[&amp;#039; .. text .. &amp;#039;]]&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			text = &amp;#039;[[&amp;#039; .. link .. &amp;#039;|&amp;#039; .. text .. &amp;#039;]]&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		text = &amp;#039;&amp;#039; .. text .. &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (args.nobold and lib.isNotEmpty(class)) then&lt;br /&gt;
		return &amp;#039;&amp;lt;span class=&amp;quot;&amp;#039; .. class .. &amp;#039;&amp;quot;&amp;gt;&amp;#039; .. text .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
	elseif (args.nobold and lib.isNotEmpty(span)) then&lt;br /&gt;
		return &amp;#039;&amp;lt;span style=&amp;quot;color:&amp;#039; .. span .. &amp;#039;&amp;quot;&amp;gt;&amp;#039; .. text .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
	elseif lib.isNotEmpty(span) then&lt;br /&gt;
		return &amp;#039;&amp;lt;span style=&amp;quot;color:&amp;#039; .. span .. &amp;#039;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;&amp;#039; .. text .. &amp;#039;&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		return &amp;#039;&amp;lt;span class=&amp;quot;&amp;#039; .. class .. &amp;#039;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;&amp;#039; .. text .. &amp;#039;&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&amp;#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 &amp;#039;inherit&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
    return color and mw.text.nowiki(color) or &amp;#039;inherit&amp;#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 &amp;#039;inherit&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>ReisuDesign</name></author>
	</entry>
</feed>