<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://safernicotine.wiki/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AConvert%2Fhelper</id>
	<title>Module:Convert/helper - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://safernicotine.wiki/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AConvert%2Fhelper"/>
	<link rel="alternate" type="text/html" href="https://safernicotine.wiki/mediawiki/index.php?title=Module:Convert/helper&amp;action=history"/>
	<updated>2026-04-05T14:50:52Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://safernicotine.wiki/mediawiki/index.php?title=Module:Convert/helper&amp;diff=34195&amp;oldid=prev</id>
		<title>imported&gt;Izno: remove visualhide version</title>
		<link rel="alternate" type="text/html" href="https://safernicotine.wiki/mediawiki/index.php?title=Module:Convert/helper&amp;diff=34195&amp;oldid=prev"/>
		<updated>2021-05-11T13:58:57Z</updated>

		<summary type="html">&lt;p&gt;remove visualhide version&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-GB&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 14:58, 11 May 2021&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-l55&quot;&gt;Line 55:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 55:&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;	numerator, denominator = text:match(&amp;#039;&amp;lt;sup&amp;gt;(%d+)&amp;lt;/sup&amp;gt;/&amp;lt;sub&amp;gt;(%d+)&amp;lt;/sub&amp;gt;&amp;lt;/span&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;	numerator, denominator = text:match(&amp;#039;&amp;lt;sup&amp;gt;(%d+)&amp;lt;/sup&amp;gt;/&amp;lt;sub&amp;gt;(%d+)&amp;lt;/sub&amp;gt;&amp;lt;/span&amp;gt;&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;	if numerator then&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;	if numerator then&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;		integer = text:match(&#039;(%d+)&amp;lt;span class=&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;visualhide&lt;/del&gt;&quot;&amp;gt;&#039;) or&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;		integer = text:match(&#039;(%d+)&amp;lt;span class=&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sr-only&lt;/ins&gt;&quot;&amp;gt;&#039;) or&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;			text:match(&amp;#039;^(%d+)%s*&amp;amp;#x200B;&amp;lt;span&amp;#039;) or  -- Template:Frac outputs zwsp since December 2017&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;			text:match(&amp;#039;^(%d+)%s*&amp;amp;#x200B;&amp;lt;span&amp;#039;) or  -- Template:Frac outputs zwsp since December 2017&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;			text:match(&amp;#039;^(%d+)%s*&amp;lt;span&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;			text:match(&amp;#039;^(%d+)%s*&amp;lt;span&amp;#039;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key uk_vapewiki:diff:1.41:old-2029:rev-34195:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;Izno</name></author>
	</entry>
	<entry>
		<id>https://safernicotine.wiki/mediawiki/index.php?title=Module:Convert/helper&amp;diff=2029&amp;oldid=prev</id>
		<title>Richardpruen: 1 revision imported: Wikipedia article on Nicotine modules needed</title>
		<link rel="alternate" type="text/html" href="https://safernicotine.wiki/mediawiki/index.php?title=Module:Convert/helper&amp;diff=2029&amp;oldid=prev"/>
		<updated>2020-12-11T14:22:08Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported: Wikipedia article on Nicotine modules needed&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-GB&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 15:22, 11 December 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;en-GB&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 uk_vapewiki:diff:1.41:old-2028:rev-2029 --&gt;
&lt;/table&gt;</summary>
		<author><name>Richardpruen</name></author>
	</entry>
	<entry>
		<id>https://safernicotine.wiki/mediawiki/index.php?title=Module:Convert/helper&amp;diff=2028&amp;oldid=prev</id>
		<title>wikipedia&gt;JJMC89: Changed protection level for &quot;Module:Convert/helper&quot;: Highly visible module ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite))</title>
		<link rel="alternate" type="text/html" href="https://safernicotine.wiki/mediawiki/index.php?title=Module:Convert/helper&amp;diff=2028&amp;oldid=prev"/>
		<updated>2019-11-23T23:48:21Z</updated>

		<summary type="html">&lt;p&gt;Changed protection level for &amp;quot;&lt;a href=&quot;/mediawiki/index.php/Module:Convert/helper&quot; title=&quot;Module:Convert/helper&quot;&gt;Module:Convert/helper&lt;/a&gt;&amp;quot;: &lt;a href=&quot;/mediawiki/index.php?title=WP:High-risk_templates&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;WP:High-risk templates (page does not exist)&quot;&gt;Highly visible module&lt;/a&gt; ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite))&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- This module provides some functions to prepare template parameters&lt;br /&gt;
-- for use with Template:Convert.&lt;br /&gt;
-- This module is not used by Template:Convert or Module:Convert.&lt;br /&gt;
&lt;br /&gt;
local function stripToNil(text)&lt;br /&gt;
	-- If text is a non-empty string, return its trimmed content,&lt;br /&gt;
	-- otherwise return nothing (empty string or not a string).&lt;br /&gt;
	if type(text) == &amp;#039;string&amp;#039; then&lt;br /&gt;
		return text:match(&amp;#039;(%S.-)%s*$&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Remove commas and references (any strip markers) from a number.&lt;br /&gt;
-- First usage in Template:Infobox_UK_place/dist (June 2018)&lt;br /&gt;
local function cleanNumber(frame)&lt;br /&gt;
	local args = frame.args&lt;br /&gt;
	local text = stripToNil(args[1]) or &amp;#039;&amp;#039;&lt;br /&gt;
	if text == &amp;#039;&amp;#039; or tonumber(text) then&lt;br /&gt;
		return text&lt;br /&gt;
	end&lt;br /&gt;
	return mw.text.killMarkers(text):gsub(&amp;#039;,&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Format regular input with fraction (MOS-confirmant) into Convert-format &amp;quot;12+3/8&amp;quot; (&amp;quot;+&amp;quot; added).&lt;br /&gt;
-- First usage in Template:NFL_predraft (August 2017)&lt;br /&gt;
local function number(frame)&lt;br /&gt;
	--[[ Preprocess a template parameter to translate a number to be used as&lt;br /&gt;
	input for {{convert}}.&lt;br /&gt;
	{{#invoke:convert/helper|number|12 3/8}} → 12+3/8&lt;br /&gt;
		Input				Output&lt;br /&gt;
		12					12&lt;br /&gt;
		12 3/8				12+3/8&lt;br /&gt;
		{{frac|12|3|8}}		12+3/8&lt;br /&gt;
		12{{frac|3|8}}		12+3/8&lt;br /&gt;
		12⅜					12+3/8&lt;br /&gt;
	Template:Fraction redirects to Template:Frac so either may be used in the input.&lt;br /&gt;
	]]&lt;br /&gt;
	local args = frame.args&lt;br /&gt;
	local text = stripToNil(args[1]) or &amp;#039;&amp;#039;&lt;br /&gt;
	if text == &amp;#039;&amp;#039; or tonumber(text) then&lt;br /&gt;
		return text  -- examples: &amp;#039;&amp;#039;, &amp;#039;12&amp;#039;, &amp;#039;12.3&amp;#039;, &amp;#039;12.3e4&amp;#039;, or negative&lt;br /&gt;
	end&lt;br /&gt;
	text = text:gsub(&amp;#039;&amp;amp;nbsp;&amp;#039;, &amp;#039; &amp;#039;):gsub(&amp;#039;  +&amp;#039;, &amp;#039; &amp;#039;):gsub(&amp;#039; *%+ *&amp;#039;, &amp;#039;+&amp;#039;):gsub(&amp;#039;&amp;amp;frasl;&amp;#039;, &amp;#039;/&amp;#039;):gsub(&amp;#039;⁄&amp;#039;, &amp;#039;/&amp;#039;)&lt;br /&gt;
	local integer, numerator, denominator, rest&lt;br /&gt;
	-- Look for a fraction of form &amp;#039;12 3/8&amp;#039; or &amp;#039;12+3/8&amp;#039; or &amp;#039;3/8&amp;#039;.&lt;br /&gt;
	integer, numerator, denominator = text:match(&amp;#039;^(%d+)[ +](%d+)/(%d+)$&amp;#039;)&lt;br /&gt;
	if integer then&lt;br /&gt;
		return integer .. &amp;#039;+&amp;#039; .. numerator .. &amp;#039;/&amp;#039; .. denominator&lt;br /&gt;
	end&lt;br /&gt;
	numerator, denominator = text:match(&amp;#039;^(%d+)/(%d+)$&amp;#039;)&lt;br /&gt;
	if numerator then&lt;br /&gt;
		return numerator .. &amp;#039;/&amp;#039; .. denominator&lt;br /&gt;
	end&lt;br /&gt;
	-- Look for an expanded fraction such as the result of {{frac|12|3|8}} or 12{{frac|3|8}} or {{frac|3|8}}.&lt;br /&gt;
	numerator, denominator = text:match(&amp;#039;&amp;lt;sup&amp;gt;(%d+)&amp;lt;/sup&amp;gt;/&amp;lt;sub&amp;gt;(%d+)&amp;lt;/sub&amp;gt;&amp;lt;/span&amp;gt;&amp;#039;)&lt;br /&gt;
	if numerator then&lt;br /&gt;
		integer = text:match(&amp;#039;(%d+)&amp;lt;span class=&amp;quot;visualhide&amp;quot;&amp;gt;&amp;#039;) or&lt;br /&gt;
			text:match(&amp;#039;^(%d+)%s*&amp;amp;#x200B;&amp;lt;span&amp;#039;) or  -- Template:Frac outputs zwsp since December 2017&lt;br /&gt;
			text:match(&amp;#039;^(%d+)%s*&amp;lt;span&amp;#039;)&lt;br /&gt;
		return (integer and (integer .. &amp;#039;+&amp;#039;) or &amp;#039;&amp;#039;) .. numerator .. &amp;#039;/&amp;#039; .. denominator&lt;br /&gt;
	end&lt;br /&gt;
	-- Look for a fraction of form &amp;#039;12¾&amp;#039; or &amp;#039;¾&amp;#039;.&lt;br /&gt;
	local fractions = {&lt;br /&gt;
		[&amp;#039;½&amp;#039;] = &amp;#039;1/2&amp;#039;,&lt;br /&gt;
		[&amp;#039;⅓&amp;#039;] = &amp;#039;1/3&amp;#039;,&lt;br /&gt;
		[&amp;#039;⅔&amp;#039;] = &amp;#039;2/3&amp;#039;,&lt;br /&gt;
		[&amp;#039;¼&amp;#039;] = &amp;#039;1/4&amp;#039;,&lt;br /&gt;
		[&amp;#039;¾&amp;#039;] = &amp;#039;3/4&amp;#039;,&lt;br /&gt;
		[&amp;#039;⅛&amp;#039;] = &amp;#039;1/8&amp;#039;,&lt;br /&gt;
		[&amp;#039;⅜&amp;#039;] = &amp;#039;3/8&amp;#039;,&lt;br /&gt;
		[&amp;#039;⅝&amp;#039;] = &amp;#039;5/8&amp;#039;,&lt;br /&gt;
		[&amp;#039;⅞&amp;#039;] = &amp;#039;7/8&amp;#039;,&lt;br /&gt;
	}&lt;br /&gt;
	integer, rest = text:match(&amp;#039;^(%d*)%s*(.*)&amp;#039;)&lt;br /&gt;
	local expand = fractions[rest]&lt;br /&gt;
	if expand then&lt;br /&gt;
		return (integer == &amp;#039;&amp;#039; and integer or (integer .. &amp;#039;+&amp;#039;)) .. expand&lt;br /&gt;
	end&lt;br /&gt;
	return text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
	number = number,&lt;br /&gt;
	cleanNumber = cleanNumber,&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>wikipedia&gt;JJMC89</name></author>
	</entry>
</feed>