|
|
(8 intermediate revisions by 6 users not shown) |
Line 1: |
Line 1: |
| <noinclude><!-- | | <includeonly>{{{{{|safesubst:}}}#invoke:in5|in5|1={{{1|}}}}}</includeonly><noinclude> |
| -============================================================
| |
| - Template:in5 - indent by 5 or specified count of spaces
| |
| -============================================================
| |
| - (see NOTES below)
| |
| --
| |
| --------------------------------------------------------
| |
| -- put 10 spaces for each ten above 10, 20, 30, etc.
| |
| --
| |
| --></noinclude>{{
| |
| #ifexpr: {{{1|5}}} > 10
| |
| | }}{{
| |
| #ifexpr: {{{1|5}}} > 20
| |
| | }}{{
| |
| #ifexpr: {{{1|5}}} > 30
| |
| | }}{{
| |
| #ifexpr: {{{1|5}}} > 40
| |
| | }}{{
| |
| #switch: {{#expr:{{{1|5}}}-floor({{{1|5}}}/10)*10 }}
| |
| | 1 =
| |
| | 2 =
| |
| | 3 =
| |
| | 4 =
| |
| | 5 =
| |
| | 6 =
| |
| | 7 =
| |
| | 8 =
| |
| | 9 =
| |
| | 0 =
| |
| }}<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 -->
| |
| <br>The indenter '''Template:in5''' indents text by 5 spaces or
| |
| the count specified by<br>parameter 1 (range: 1 to 50 spaces).
| |
| <br><br>
| |
| :: Usage: {<font/>{in5}} {{in5}} <--indents by 5 spaces<br>
| |
| :: Usage: {<font/>{in5|8}} <--indents by 8 spaces<br>
| |
| :: Usage: {<font/>{in5|47}} <--indents by 47
| |
|
| |
|
| Spaces outside the double braces will add an extra space on either
| | {{Documentation}} |
| side,<br>such as the 12 spaces inserted by: " {<font/>{in5|10}} ".
| |
| | |
| NOTE: The name "in5" was chosen because other names were debated, such as<br> the name "in" being redefined as 6 different uses.
| |
| | |
| ==Examples==
| |
| The following are examples showing larger amounts of spacing:
| |
| :: Example 1: <nowiki>xx{{in5|10}}yy{{in5|10}}</nowiki>zz, produces: xx{{in5|10}}yy{{in5|10}}zz
| |
| :: Example 2: <nowiki>xx{{in5|10}}yy{{in5|15}}</nowiki>zz, produces: xx{{in5|10}}yy{{in5|15}}zz
| |
| :: Example 3: <nowiki>aa{{in5|20}}bb{{in5|20}}</nowiki>cc, produces: aa{{in5|20}}bb{{in5|20}}cc
| |
| :: Example 4: <nowiki>"32.0{{in5|7}}"</nowiki> produces: "32.0{{in5|7}}"
| |
| The example 4 shows the ability to put trailing spaces, such as spaces after a number in a wikitable column (coded as: | 32.0{<font/>{in5}} ). Typical numbers (with "align=right"), in a table column, often appear crowded at the right-hand side, so appending "{<font/>{in5}}" can improve readability, in tables with lines between columns.
| |
| | |
| ==Universal template==
| |
| This Template:in5 is intended as a universal template, with the same name on all Wikipedia sites. The name "in5" with the digit "5" is unlikely to conflict with other-language Wikipedias. Care must be taken not to name a universal template with a name that would be an awkward or peculiar word in the other languages. However, in some cases, a universal template might need a different name in a few conflicting languages.
| |
| | |
| ==Comparison with Template:spaces==
| |
| There are other templates that insert spaces, although none had allowed 50 spaces. For example, the [[Template:spaces]] has had a limit of about 15 spaces (during 2009-2010):
| |
| {| class=wikitable style="margin-left:40px"
| |
| | valign=top | Example of <nowiki>{{spaces|10}}</nowiki><br>and...<br>with <nowiki>{{spaces|14}}</nowiki><br>with <nowiki>{{spaces|15}}</nowiki><br>with <nowiki>{{spaces|25}}</nowiki> || <nowiki>xx{{spaces|10}}</nowiki>yy, produces:<br>xx{{spaces|10}}yy<br>xx{{spaces|14}}yy<br>xx{{spaces|15}}yy<br>xx{{spaces|25}}yy
| |
| |-
| |
| | valign=top | Example of <nowiki>{{in5|10}}</nowiki><br>and...<br>with <nowiki>{{in5|14}}</nowiki><br>with <nowiki>{{in5|15}}</nowiki><br>with <nowiki>{{in5|25}}</nowiki><br>with <nowiki>{{in5|45}}</nowiki> || <nowiki>xx{{in5|10}}</nowiki>yy, produces:<br>xx{{in5|10}}yy<br>xx{{in5|14}}yy<br>xx{{in5|15}}yy<br>xx{{in5|25}}yy<br>xx{{in5|45}}yy
| |
| |}
| |
| Again, using {<font/>{in5}} reliably allows up to 50 spaces at a time.
| |
| | |
| ==Performance==
| |
| Template {in5} generates a mix of &nbsp; and spaces to avoid the space compression done by the [[MediaWiki]] parser. Each   is stored inside the formatted page (such as seen by the browser option: <View><Source>). The output is optimized to be the shortest possible markup language for spaces, in a variety of different browsers.
| |
| | |
| Typically, {in5} runs much faster than [[Template:spaces]], generating 1/3 the markup per use (as 72% less text, over 50 fewer characters each time). Also, {in5} allows 50 spaces, whereas {spaces} has been limited to 15 spaces during 2009-2010.
| |
| | |
| ==See also==
| |
| * [[Template:indent]] - forces newline break before indenting
| |
| <!--
| |
| --------------------------------------------------------------
| |
| --NOTES:
| |
| --
| |
| -- NOTE A1: This template inserts 5 or the specified count
| |
| -- of spaces. Currently, the count can be 1 to 50.
| |
| -- 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).
| |
| --
| |
| --------------------------------------------------------------
| |
| --HISTORY:
| |
| -- 14Mar09 Created as numbered-space indentation tool.
| |
| -- 02May09 For stand-alone display used includeonly-tag.
| |
| -- 02May09 Set for "Category:Formatting templates".
| |
| -- 24Sep09 Re-created as renamed to "in5" after TfD debate.
| |
| -- 25Sep09 Fixed/removed 2 sets of "{{" 20min after update.
| |
| -- 31Oct09 Put "Comparison" showing limit as {{spaces|15}}.
| |
| -- 18Dec10 Rewrote as 4 groups of 10 spaces & switch 1-10.
| |
| -- 18Dec10 Rewrote as +1 level of "expansion limit" (was +3).
| |
| -- 18Dec10 Added "Performance" description to doc text.
| |
| -->
| |
|
| |
|
| <!--[[Category:Smart formatting templates|In5]]--> | | <!--[[Category:Smart formatting templates|In5]]--> |
| [[Category:Wikipedia formatting and function templates|In5]]
| |
| [[vi:Bản mẫu:In5]]
| |
| </noinclude> | | </noinclude> |