<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://interfaces3.hunter.cryptograss.live/index.php?action=history&amp;feed=atom&amp;title=Module%3AInstruments</id>
	<title>Module:Instruments - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://interfaces3.hunter.cryptograss.live/index.php?action=history&amp;feed=atom&amp;title=Module%3AInstruments"/>
	<link rel="alternate" type="text/html" href="https://interfaces3.hunter.cryptograss.live/index.php?title=Module:Instruments&amp;action=history"/>
	<updated>2026-11-15T06:22:13Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://interfaces3.hunter.cryptograss.live/index.php?title=Module:Instruments&amp;diff=8902&amp;oldid=prev</id>
		<title>Magent: Point at the copy in the repository, where it can be reviewed and tested (via update-page on MediaWiki MCP Server)</title>
		<link rel="alternate" type="text/html" href="https://interfaces3.hunter.cryptograss.live/index.php?title=Module:Instruments&amp;diff=8902&amp;oldid=prev"/>
		<updated>2026-09-20T19:08:36Z</updated>

		<summary type="html">&lt;p&gt;Point at the copy in the repository, where it can be reviewed and tested (via update-page on MediaWiki MCP Server)&lt;/p&gt;
&lt;a href=&quot;https://interfaces3.hunter.cryptograss.live/index.php?title=Module:Instruments&amp;amp;diff=8902&amp;amp;oldid=8888&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Magent</name></author>
	</entry>
	<entry>
		<id>https://interfaces3.hunter.cryptograss.live/index.php?title=Module:Instruments&amp;diff=8888&amp;oldid=prev</id>
		<title>Magent: Draw the icon box at the size asked for, as the template used to (via update-page on MediaWiki MCP Server)</title>
		<link rel="alternate" type="text/html" href="https://interfaces3.hunter.cryptograss.live/index.php?title=Module:Instruments&amp;diff=8888&amp;oldid=prev"/>
		<updated>2026-09-19T22:08:14Z</updated>

		<summary type="html">&lt;p&gt;Draw the icon box at the size asked for, as the template used to (via update-page on MediaWiki MCP Server)&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 22:08, 19 September 2026&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-l142&quot;&gt;Line 142:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 142:&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;	local label = normalise( name )&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;	local label = normalise( name )&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;	return &amp;#039;&amp;lt;span title=&amp;quot;&amp;#039; .. label .. &amp;#039;&amp;quot; style=&amp;quot;&amp;#039; .. outer .. &amp;#039;&amp;quot;&amp;gt;&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;	return &amp;#039;&amp;lt;span title=&amp;quot;&amp;#039; .. label .. &amp;#039;&amp;quot; style=&amp;quot;&amp;#039; .. outer .. &amp;#039;&amp;quot;&amp;gt;&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;		.. &#039;&amp;lt;span style=&quot;display:inline-block;width:&#039; .. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;( &lt;/del&gt;size &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;+ 2 )&lt;/del&gt;&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;		.. &#039;&amp;lt;span style=&quot;display:inline-block;width:&#039; .. size&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;		.. &quot;px;height:&quot; .. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;( &lt;/del&gt;size &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;+ 2 ) &lt;/del&gt;.. &#039;px;&quot;&amp;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;		.. &quot;px;height:&quot; .. size .. &#039;px;&quot;&amp;gt;&#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;		.. &amp;quot;[[File:Instrument-icon-&amp;quot; .. family .. &amp;quot;.png|x&amp;quot; .. size .. &amp;quot;px|&amp;quot;&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;		.. &amp;quot;[[File:Instrument-icon-&amp;quot; .. family .. &amp;quot;.png|x&amp;quot; .. size .. &amp;quot;px|&amp;quot;&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;		.. label .. &amp;quot;|link=]]&amp;quot;&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;		.. label .. &amp;quot;|link=]]&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Magent</name></author>
	</entry>
	<entry>
		<id>https://interfaces3.hunter.cryptograss.live/index.php?title=Module:Instruments&amp;diff=8887&amp;oldid=prev</id>
		<title>Magent: Separate the instrument&#039;s name from the icon that stands for it (via create-page on MediaWiki MCP Server)</title>
		<link rel="alternate" type="text/html" href="https://interfaces3.hunter.cryptograss.live/index.php?title=Module:Instruments&amp;diff=8887&amp;oldid=prev"/>
		<updated>2026-09-19T22:07:28Z</updated>

		<summary type="html">&lt;p&gt;Separate the instrument&amp;#039;s name from the icon that stands for it (via create-page on MediaWiki MCP Server)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- Which icon stands for an instrument.&lt;br /&gt;
--&lt;br /&gt;
-- An instrument is recorded as it was played: &amp;quot;5-string banjo&amp;quot;, not &amp;quot;banjo&amp;quot;.&lt;br /&gt;
-- That detail is the point. Whether Cory brought a five-string or a tenor,&lt;br /&gt;
-- whether the banjo is Scruggs or clawhammer, is a fact about the cut, and&lt;br /&gt;
-- rounding it off to fit a picture would be throwing away the better half of&lt;br /&gt;
-- what we know.&lt;br /&gt;
--&lt;br /&gt;
-- But there are eleven icons and there will never be one per variant. So the&lt;br /&gt;
-- name and the icon are separated: the name is kept and shown verbatim, and&lt;br /&gt;
-- this decides which family the name belongs to. A name with no family shows&lt;br /&gt;
-- no icon, which is the correct outcome for a cello -- far better than the&lt;br /&gt;
-- broken image that &amp;quot;File:Instrument-icon-cello.png&amp;quot; produced before.&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
-- The icons that exist, as File:Instrument-icon-&amp;lt;family&amp;gt;.png.&lt;br /&gt;
local FAMILIES = {&lt;br /&gt;
	&amp;quot;autoharp&amp;quot;, &amp;quot;banjo&amp;quot;, &amp;quot;bass&amp;quot;, &amp;quot;dobro&amp;quot;, &amp;quot;fiddle&amp;quot;, &amp;quot;guitar&amp;quot;,&lt;br /&gt;
	&amp;quot;mandolin&amp;quot;, &amp;quot;percussion&amp;quot;, &amp;quot;tin whistle&amp;quot;, &amp;quot;ukulele&amp;quot;, &amp;quot;vocals&amp;quot;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- Drawn at a playing angle rather than upright.&lt;br /&gt;
local ROTATED = {&lt;br /&gt;
	banjo = true, guitar = true, mandolin = true, ukulele = true,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- Names that do not contain their family&amp;#039;s name. A name that does contain it&lt;br /&gt;
-- needs no entry: &amp;quot;5-string banjo&amp;quot;, &amp;quot;tenor guitar&amp;quot; and &amp;quot;clawhammer banjo&amp;quot;&lt;br /&gt;
-- are all found without being listed.&lt;br /&gt;
--&lt;br /&gt;
-- Matched against the whole name first, then word by word, so &amp;quot;bass guitar&amp;quot;&lt;br /&gt;
-- lands on bass rather than on guitar.&lt;br /&gt;
local ALIASES = {&lt;br /&gt;
	[&amp;quot;bass guitar&amp;quot;] = &amp;quot;bass&amp;quot;,&lt;br /&gt;
	[&amp;quot;electric bass&amp;quot;] = &amp;quot;bass&amp;quot;,&lt;br /&gt;
	[&amp;quot;upright&amp;quot;] = &amp;quot;bass&amp;quot;,&lt;br /&gt;
	[&amp;quot;double bass&amp;quot;] = &amp;quot;bass&amp;quot;,&lt;br /&gt;
	[&amp;quot;doghouse&amp;quot;] = &amp;quot;bass&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
	[&amp;quot;violin&amp;quot;] = &amp;quot;fiddle&amp;quot;,&lt;br /&gt;
	[&amp;quot;viola&amp;quot;] = &amp;quot;fiddle&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
	[&amp;quot;drums&amp;quot;] = &amp;quot;percussion&amp;quot;,&lt;br /&gt;
	[&amp;quot;drum&amp;quot;] = &amp;quot;percussion&amp;quot;,&lt;br /&gt;
	[&amp;quot;washboard&amp;quot;] = &amp;quot;percussion&amp;quot;,&lt;br /&gt;
	[&amp;quot;spoons&amp;quot;] = &amp;quot;percussion&amp;quot;,&lt;br /&gt;
	[&amp;quot;bones&amp;quot;] = &amp;quot;percussion&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
	[&amp;quot;vocal&amp;quot;] = &amp;quot;vocals&amp;quot;,&lt;br /&gt;
	[&amp;quot;voice&amp;quot;] = &amp;quot;vocals&amp;quot;,&lt;br /&gt;
	[&amp;quot;singing&amp;quot;] = &amp;quot;vocals&amp;quot;,&lt;br /&gt;
	[&amp;quot;throatsinging&amp;quot;] = &amp;quot;vocals&amp;quot;,&lt;br /&gt;
	[&amp;quot;throat singing&amp;quot;] = &amp;quot;vocals&amp;quot;,&lt;br /&gt;
	[&amp;quot;harmony&amp;quot;] = &amp;quot;vocals&amp;quot;,&lt;br /&gt;
	[&amp;quot;spoken word&amp;quot;] = &amp;quot;vocals&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
	[&amp;quot;whistle&amp;quot;] = &amp;quot;tin whistle&amp;quot;,&lt;br /&gt;
	[&amp;quot;six-whistle&amp;quot;] = &amp;quot;tin whistle&amp;quot;,&lt;br /&gt;
	[&amp;quot;pennywhistle&amp;quot;] = &amp;quot;tin whistle&amp;quot;,&lt;br /&gt;
	[&amp;quot;flute&amp;quot;] = &amp;quot;tin whistle&amp;quot;,&lt;br /&gt;
	[&amp;quot;recorder&amp;quot;] = &amp;quot;tin whistle&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
	[&amp;quot;resonator&amp;quot;] = &amp;quot;dobro&amp;quot;,&lt;br /&gt;
	[&amp;quot;squareneck&amp;quot;] = &amp;quot;dobro&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
	[&amp;quot;uke&amp;quot;] = &amp;quot;ukulele&amp;quot;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local function normalise( name )&lt;br /&gt;
	return ( tostring( name or &amp;quot;&amp;quot; ):lower():gsub( &amp;quot;%s+&amp;quot;, &amp;quot; &amp;quot; ):gsub( &amp;quot;^ &amp;quot;, &amp;quot;&amp;quot; ):gsub( &amp;quot; $&amp;quot;, &amp;quot;&amp;quot; ) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Does needle appear in haystack as a whole word or phrase? Without this,&lt;br /&gt;
-- &amp;quot;bass&amp;quot; would be found inside &amp;quot;bassoon&amp;quot; and a bassoon would be a bass.&lt;br /&gt;
local function containsPhrase( haystack, needle )&lt;br /&gt;
	local from = 1&lt;br /&gt;
	while true do&lt;br /&gt;
		local start, stop = haystack:find( needle, from, true )&lt;br /&gt;
		if not start then return false end&lt;br /&gt;
		local before = start == 1 and &amp;quot;&amp;quot; or haystack:sub( start - 1, start - 1 )&lt;br /&gt;
		local after = haystack:sub( stop + 1, stop + 1 )&lt;br /&gt;
		if not before:match( &amp;quot;%a&amp;quot; ) and not after:match( &amp;quot;%a&amp;quot; ) then&lt;br /&gt;
			return true&lt;br /&gt;
		end&lt;br /&gt;
		from = start + 1&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- The family an instrument belongs to.&lt;br /&gt;
--&lt;br /&gt;
-- @param name an instrument as somebody wrote it down.&lt;br /&gt;
-- @return the family name, or &amp;quot;&amp;quot; when nothing here covers it.&lt;br /&gt;
function p._family( name )&lt;br /&gt;
	name = normalise( name )&lt;br /&gt;
	if name == &amp;quot;&amp;quot; then return &amp;quot;&amp;quot; end&lt;br /&gt;
&lt;br /&gt;
	-- The whole name, exactly. This is what lets &amp;quot;bass guitar&amp;quot; be a bass:&lt;br /&gt;
	-- it is settled before anything goes looking for family names inside.&lt;br /&gt;
	for _, family in ipairs( FAMILIES ) do&lt;br /&gt;
		if name == family then return family end&lt;br /&gt;
	end&lt;br /&gt;
	if ALIASES[ name ] then return ALIASES[ name ] end&lt;br /&gt;
&lt;br /&gt;
	-- A family named within the name. Longest first, so a hypothetical&lt;br /&gt;
	-- &amp;quot;tin whistle&amp;quot; beats a shorter match that overlaps it.&lt;br /&gt;
	local byLength = {}&lt;br /&gt;
	for _, family in ipairs( FAMILIES ) do table.insert( byLength, family ) end&lt;br /&gt;
	table.sort( byLength, function( a, b ) return #a &amp;gt; #b end )&lt;br /&gt;
	for _, family in ipairs( byLength ) do&lt;br /&gt;
		if containsPhrase( name, family ) then return family end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Failing that, an aliased word inside the name: &amp;quot;wood flute&amp;quot;, &amp;quot;electric&lt;br /&gt;
	-- fiddle&amp;quot;, &amp;quot;tenor uke&amp;quot;.&lt;br /&gt;
	for alias, family in pairs( ALIASES ) do&lt;br /&gt;
		if containsPhrase( name, alias ) then return family end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return &amp;quot;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- The icon for an instrument, as wikitext, or nothing.&lt;br /&gt;
--&lt;br /&gt;
-- @param name the instrument, shown verbatim in the tooltip.&lt;br /&gt;
-- @param size pixel height of the icon.&lt;br /&gt;
-- @param tuck when set, pull the icon back over the name it follows -- the&lt;br /&gt;
--     tight inline form used beside a musician&amp;#039;s link.&lt;br /&gt;
function p._badge( name, size, tuck )&lt;br /&gt;
	local family = p._family( name )&lt;br /&gt;
	if family == &amp;quot;&amp;quot; then return &amp;quot;&amp;quot; end&lt;br /&gt;
&lt;br /&gt;
	size = tonumber( size ) or 20&lt;br /&gt;
	local outer = &amp;quot;display:inline-block;&amp;quot;&lt;br /&gt;
	if tuck then&lt;br /&gt;
		outer = outer .. &amp;quot;position: relative;top: -4px;left: -2px;width: 9px;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if ROTATED[ family ] then&lt;br /&gt;
		outer = outer .. &amp;quot;transform:rotate(-30deg);&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local label = normalise( name )&lt;br /&gt;
	return &amp;#039;&amp;lt;span title=&amp;quot;&amp;#039; .. label .. &amp;#039;&amp;quot; style=&amp;quot;&amp;#039; .. outer .. &amp;#039;&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
		.. &amp;#039;&amp;lt;span style=&amp;quot;display:inline-block;width:&amp;#039; .. ( size + 2 )&lt;br /&gt;
		.. &amp;quot;px;height:&amp;quot; .. ( size + 2 ) .. &amp;#039;px;&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
		.. &amp;quot;[[File:Instrument-icon-&amp;quot; .. family .. &amp;quot;.png|x&amp;quot; .. size .. &amp;quot;px|&amp;quot;&lt;br /&gt;
		.. label .. &amp;quot;|link=]]&amp;quot;&lt;br /&gt;
		.. &amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- {{#invoke:Instruments|family|5-string banjo}} -&amp;gt; banjo&lt;br /&gt;
function p.family( frame )&lt;br /&gt;
	return p._family( frame.args[1] )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- {{#invoke:Instruments|badge|5-string banjo|size=18|tuck=1}}&lt;br /&gt;
function p.badge( frame )&lt;br /&gt;
	local args = frame.args&lt;br /&gt;
	return p._badge( args[1], args.size or args[2],&lt;br /&gt;
		args.tuck ~= nil and args.tuck ~= &amp;quot;&amp;quot; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Magent</name></author>
	</entry>
</feed>