https://shergoodaviation.com/wiki/index.php?title=Module:Unsubst/doc&feed=atom&action=historyModule:Unsubst/doc - Revision history2024-03-29T10:02:37ZRevision history for this page on the wikiMediaWiki 1.31.0https://shergoodaviation.com/wiki/index.php?title=Module:Unsubst/doc&diff=225&oldid=prevTsukino.firethorn: 1 revision imported2020-06-04T00:32:53Z<p>1 revision imported</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<tr class="diff-title" lang="en">
<td colspan="1" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="1" style="background-color: #fff; color: #222; text-align: center;">Revision as of 00:32, 4 June 2020</td>
</tr><tr><td colspan="2" class="diff-notice" lang="en"><div class="mw-diff-empty">(No difference)</div>
</td></tr></table>Tsukino.firethornhttps://shergoodaviation.com/wiki/index.php?title=Module:Unsubst/doc&diff=224&oldid=prevsa>Anomie: Undid revision 907421570 by 99.203.16.64 (talk) - rvv2019-07-22T23:28:31Z<p>Undid revision 907421570 by <a href="/wiki/index.php?title=Special:Contributions/99.203.16.64" title="Special:Contributions/99.203.16.64">99.203.16.64</a> (<a href="/wiki/index.php?title=User_talk:99.203.16.64&action=edit&redlink=1" class="new" title="User talk:99.203.16.64 (page does not exist)">talk</a>) - rvv</p>
<p><b>New page</b></p><div><!-- Categories where indicated at the bottom of this page, please. --><br />
{{High-risk| 3841439 |all-pages = yes}}<br />
{{Module rating|protected}}<br />
<br />
Helper module to facilitate a substituted template transform into a template transclusion.<br />
<br />
Maintenance templates, such as {{tl|Citation needed}} or {{tl|Refimprove}}, should never be substituted. A trick to avoid that is to make a template substitute to its transcluded form.<br />
<br />
Infoboxes should use [[Module:Unsubst-infobox]], as should any other templates with parameters listed in block format by default.<br />
<br />
=== Usage ===<br />
<br />
To turn a template into a self-substituting template, wrap the existing template code with:<br />
<pre><br />
{{SAFESUBST:<noinclude />#invoke:Unsubst||$B=<br />
<br />
[ ... existing template code ... ]<br />
<br />
}}<br />
</pre><br />
<br />
The wikitext to display when not substed must be given as "$B". All other parameters passed to the #invoke will be copied to the generated template invocation as default values. If the value of any of these default parameters is <code>__DATE__</code>, that value in the generated template invocation will be the current month and year.<br />
<br />
Some templates have a {{tag|noinclude|o}} but no matching {{tag|noinclude|c}} at the end of the template. In such cases the missing {{tag|noinclude|c}} must be added before the ending <code>{{))}}</code>.<br />
<br />
==== Advanced ====<br />
<br />
<pre><br />
{{SAFESUBST:<noinclude />#invoke:Unsubst||$params=[ parameters ]|$aliases=[ aliases ]|$flags=[ flags ]|$B=<br />
<br />
[ ... existing template code ... ]<br />
<br />
}}<br />
</pre><br />
<br />
Due to Lua limitations, parameters are normally ordered randomly when the template is substituted. {{para|$params}} can be used in #invoke:Unsubst to list template parameters in order, comma-separated (e.g. <code>egg,bacon,sausage,cheese,spam</code>). Numbered parameters should be before others in the list. Any remaining parameters are tacked onto the end of the generated invocation.<br />
<br />
Parameter aliases can be listed in {{para|$aliases}} (and shouldn't be listed in {{para|$params}}), and will be replaced automatically. Each alias and its replacement should be formatted as <code>alias>replacement</code>, and each of those pairs should be comma-separated (e.g. <code>œuf>egg,melt>cheese</code>). Note that this parameter can function with or without {{para|$params}}.<br />
<br />
Parameter {{para|$flags}} can be used to modify other facets of the module's behaviour; entries are comma-separated. Valid flags are <code>override</code> (allows parameters in the #invoke: to take precedence over parameters in the original template invocation); <code>keep-whitespace</code> (prevents whitespace from being trimmed from unnamed parameters); and <code>remove-empty</code> (removes empty parameters).<br />
<br />
These parameters can be manipulated using parser functions to provide more complicated options (note that in the parameters any parser function, or template or module invocation, should also have <code><nowiki>SAFESUBST:<noinclude /></nowiki></code>).<br />
<br />
=== Example ===<br />
Consider a template Template:Example containing the following code:<br />
<pre><br />
{{SAFESUBST:<noinclude />#invoke:Unsubst||foo=bar |date=__DATE__ |$B=<br />
<br />
[ ... Template code goes here ... ]<br />
<br />
}}<br />
</pre><br />
<br />
{| class="wikitable"<br />
! Original !! Result<br />
|-<br />
| {{tlsc|example}} || {{tlc|Example|foo=bar|date{{=}}{{#time:F Y}}}}<br />
|-<br />
| {{tlsc|example|foo{{=}}X}} || {{tlc|Example|foo{{=}}X|date{{=}}{{#time:F Y}}}}<br />
|-<br />
| {{tlsc|example|baz{{=}}X}} || {{tlc|Example|foo=bar|baz{{=}}X|date{{=}}{{#time:F Y}}}}<br />
|-<br />
| {{tlsc|example|date{{=}}January 2001}} || {{tlc|Example|foo{{=}}bar|date{{=}}January 2001}}<br />
|}<br />
<br />
<includeonly>{{sandbox other||<br />
| <!-- Categories below this line, please; interwikis at Wikidata --><br />
[[Category:Wikipedia metatemplates]]<br />
[[Category:Modules that add a tracking category]]<br />
}}</includeonly></div>sa>Anomie