Template:In5: Difference between revisions

From TestWiki
Content added Content deleted
(moved docs to subpage)
(switch to Lua implementation)
Line 3: Line 3:
- Template:in5 - indent by 5 or specified count of spaces
- Template:in5 - indent by 5 or specified count of spaces
-============================================================
-============================================================
- (see NOTES below)
--
--
--></noinclude>{{#invoke:in5|in5|1={{{1|}}}}}<noinclude><!--
--------------------------------------------------------
-- put 10 spaces for each ten above 10, 20, 30, etc.
--
--></noinclude>{{
#ifexpr: {{{1|5}}} > 10
| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;}}{{
#ifexpr: {{{1|5}}} > 20
| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;}}{{
#ifexpr: {{{1|5}}} > 30
| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;}}{{
#ifexpr: {{{1|5}}} > 40
| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;}}{{
#switch: {{#expr:{{{1|5}}}-floor({{{1|5}}}/10)*10 }}
| 1 = &nbsp;
| 2 = &nbsp;&nbsp;
| 3 = &nbsp; &nbsp;
| 4 = &nbsp; &nbsp;&nbsp;
| 5 = &nbsp; &nbsp; &nbsp;
| 6 = &nbsp; &nbsp; &nbsp;&nbsp;
| 7 = &nbsp; &nbsp; &nbsp; &nbsp;
| 8 = &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
| 9 = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
| 0 = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
}}<noinclude><!--
---------------------------------------- Error message if >50
--></noinclude>{{#ifexpr:{{{1|5}}}>50
|<br>'''[[Template:in5]]''' - count must be 1-50 spaces,<!--
--> found: {{{1|0}}}.<br>
}}<noinclude><!--endif >50 -->
<!--
--------------------------------------------------------------
--------------------------------------------------------------
--NOTES:
--NOTES:
--
--
-- NOTE A1: This template inserts 5 or the specified count
-- NOTE A1: This template inserts 5 or the specified count
-- of spaces. Currently, the count can be 1 to 50.
-- of spaces.
-- A recursive implementation could call {{in5}} again,
-- to handle each 10 spaces, as: {{in5|{{{1}}}-10}};
-- however, that could become dangerous if the template
-- were edited by novices unaware of recursion dangers.
--
-- NOTE E2: To improve efficiency, the logic was rewritten to
-- output groups of 10 spaces, followed by 1-10 for the
-- remaining spaces of n - floor(n/10)*10. There were
-- several improvements (18Dec2010):
-- * The expansion nesting was reduced from 4 levels to 2.
-- * The if-logic was reduced to 6 steps: 1 switch, not 5.
-- * The template size was reduced by 60% less coding.
--
-- NOTE N3: The nesting level of this template is only 2 levels
-- deep of the MediaWiki "expansion depth limit" (was 40
-- levels as the expansion limit during 2008-2010).
--
--
--------------------------------------------------------------
--------------------------------------------------------------
Line 68: Line 22:
-- 18Dec10 Rewrote as +1 level of "expansion limit" (was +3).
-- 18Dec10 Rewrote as +1 level of "expansion limit" (was +3).
-- 18Dec10 Added "Performance" description to doc text.
-- 18Dec10 Added "Performance" description to doc text.
-- 27Jun13 Rewritten in Lua, at [[Module:In5]].
-->
-->



Revision as of 13:24, 27 June 2013