Template:In5/doc

From Embroidery Machine WIKI
Jump to navigation Jump to search

{{#ifeq:doc |doc

    | 

{{#ifeq:show |show

         | {{
 {{#invoke:Namespace detect|main}}

| type = notice | image = File:Edit-copy green.svg | imageright = | class = | style = margin-bottom:1.0em; | textstyle = | text = This is a documentation subpage for Template:In5.
It contains usage information, categories and other content that is not part of the original {{#if: |{{{text2}}} |{{#if: |{{{text1}}} |{{#ifeq:Template |User |template template page |{{#if:Template |template page|article}}}}}}}}. | small = | smallimage = | smallimageright = | smalltext = | subst = | date = | name = }}

        }}{{#if: |
         |   {{#ifexist:Template:In5
                  | [[Category:{{#switch:Template |Template=Template |Module=Module |User=User |#default=Wikipedia}} documentation pages]]
                  |
                 }}
        }}
    | 
   }}

{{#invoke:Lua banner|main}}

The indenter Template:in5 indents text by 5 spaces or the count specified by
parameter 1 (range: 1 to 50 spaces).

Usage:   {{{{#if:in5

| in5 | tlp|... }}{{#ifeq:x|| |{{{2}}} }}{{#ifeq:x|| |{{{3}}} }}{{#ifeq:x|| |{{{4}}} }}{{#ifeq:x|| |{{{5}}} }}{{#ifeq:x|| |{{{6}}} }}{{#ifeq:x|| |{{{7}}} }}{{#ifeq:x|| |{{{8}}} }}{{#ifeq:x|| |{{{9}}} }}}} {{#invoke:in5|in5|1=9}} <--indents by 5 spaces

Usage:   {{{{#if:in5

| in5 | tlp|... }}{{#ifeq:8|8| |8 }}{{#ifeq:x|| |{{{3}}} }}{{#ifeq:x|| |{{{4}}} }}{{#ifeq:x|| |{{{5}}} }}{{#ifeq:x|| |{{{6}}} }}{{#ifeq:x|| |{{{7}}} }}{{#ifeq:x|| |{{{8}}} }}{{#ifeq:x|| |{{{9}}} }}}} {{#invoke:in5|in5|1=7}} <--indents by 8 spaces

Usage:   {{{{#if:in5

| in5 | tlp|... }}{{#ifeq:47|47| |47 }}{{#ifeq:x|| |{{{3}}} }}{{#ifeq:x|| |{{{4}}} }}{{#ifeq:x|| |{{{5}}} }}{{#ifeq:x|| |{{{6}}} }}{{#ifeq:x|| |{{{7}}} }}{{#ifeq:x|| |{{{8}}} }}{{#ifeq:x|| |{{{9}}} }}}} {{#invoke:in5|in5|1=}} <--indents by 47

Spaces outside the double braces will add an extra space on either side,
such as the 12 spaces inserted by: " {{{{#if:in5 | in5 | tlp|... }}{{#ifeq:10|10| |10 }}{{#ifeq:x|| |{{{3}}} }}{{#ifeq:x|| |{{{4}}} }}{{#ifeq:x|| |{{{5}}} }}{{#ifeq:x|| |{{{6}}} }}{{#ifeq:x|| |{{{7}}} }}{{#ifeq:x|| |{{{8}}} }}{{#ifeq:x|| |{{{9}}} }}}} ".

NOTE: The name "in5" was chosen because other names were debated, such as
the name "in" being redefined as 6 different uses.

Examples

The following are examples showing larger amounts of spacing:

Example 1: xx{{in5|10}}yy{{in5|10}}zz, produces: xx{{#invoke:in5|in5|1=10}}yy{{#invoke:in5|in5|1=10}}zz
Example 2: xx{{in5|10}}yy{{in5|15}}zz, produces: xx{{#invoke:in5|in5|1=10}}yy{{#invoke:in5|in5|1=15}}zz
Example 3: aa{{in5|20}}bb{{in5|20}}cc, produces: aa{{#invoke:in5|in5|1=20}}bb{{#invoke:in5|in5|1=20}}cc
Example 4: "32.0{{in5|7}}"  produces: "32.0{{#invoke:in5|in5|1=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{{{{#if:in5 | in5 | tlp|... }}{{#ifeq:x|| |{{{2}}} }}{{#ifeq:x|| |{{{3}}} }}{{#ifeq:x|| |{{{4}}} }}{{#ifeq:x|| |{{{5}}} }}{{#ifeq:x|| |{{{6}}} }}{{#ifeq:x|| |{{{7}}} }}{{#ifeq:x|| |{{{8}}} }}{{#ifeq:x|| |{{{9}}} }}}} ). Typical numbers (with "align=right"), in a table column, often appear crowded at the right-hand side, so appending "{{{{#if:in5 | in5 | tlp|... }}{{#ifeq:x|| |{{{2}}} }}{{#ifeq:x|| |{{{3}}} }}{{#ifeq:x|| |{{{4}}} }}{{#ifeq:x|| |{{{5}}} }}{{#ifeq:x|| |{{{6}}} }}{{#ifeq:x|| |{{{7}}} }}{{#ifeq:x|| |{{{8}}} }}{{#ifeq:x|| |{{{9}}} }}}}" 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):

Example of {{spaces|10}}
and...
with {{spaces|14}}
with {{spaces|15}}
with {{spaces|25}}
rep| |10}}yy
xx{{#invoke:String|rep| |14}}yy
xx{{#invoke:String|rep| |15}}yy
xx{{#invoke:String|rep| |25}}yy
Example of {{in5|10}}
and...
with {{in5|14}}
with {{in5|15}}
with {{in5|25}}
with {{in5|45}}
in5|1=10}}yy
xx{{#invoke:in5|in5|1=14}}yy
xx{{#invoke:in5|in5|1=15}}yy
xx{{#invoke:in5|in5|1=25}}yy
xx{{#invoke:in5|in5|1=45}}yy

Again, using {{{{#if:in5 | in5 | tlp|... }}{{#ifeq:x|| |{{{2}}} }}{{#ifeq:x|| |{{{3}}} }}{{#ifeq:x|| |{{{4}}} }}{{#ifeq:x|| |{{{5}}} }}{{#ifeq:x|| |{{{6}}} }}{{#ifeq:x|| |{{{7}}} }}{{#ifeq:x|| |{{{8}}} }}{{#ifeq:x|| |{{{9}}} }}}} reliably allows up to 50 spaces at a time.

Comparison with letter-spacing

To insert spacing between each consecutive letter pair of any text, then span style="letter-spacing:value unit" can be used. For example, with <span style="letter-spacing:1.2em">, spanning the text "example", it would look like:  "example". The spacing value may express any number from 0 on; also fractions like .45 are possible, and the unit may be "em" or any standard measurement unit (pt, px, cm, mm, in).

Performance

Template {in5} generates a mix of &nbsp; and spaces to avoid the space compression done by the MediaWiki parser. Each &nbsp 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