Template:Ns/doc
This is a documentation subpage for Template:Ns. It contains usage information, categories and other content that is not part of the original template page. |
This template is used on many pages, so changes to it will be widely noticed. Please test any changes in the template's /sandbox or /testcases subpages, or in your own user subpage. Please consider discussing changes on the talk page before implementing them. |
Template:ns is designed to insert between 0 and 83 non-breaking (non-linewrapping) spaces rapidly according to the number assigned as its first (unnamed) parameter. If this parameter is not supplied or its value is not numeric, it inserts a default three non-breaking spaces.
Usage and examples[edit source]
Three{{ns}}spaces{{ns}}between{{ns}}each{{ns}}word | produces: | Three spaces between each word |
Ten{{ns|10}}eight{{ns|8}}six{{ns|6}}four{{ns|4}}! | produces: | Ten eight six four ! |
The effect of the count, such as in "{{ns|30}}" is identical to putting 30 copies of " " into the text.
In translation of text to uppercase letters, the spacing is retained. Compare:
- {{uc: Begin{{ns|4}}end }} → BEGIN END
- {{uc: Begin{{spaces|4}}end }} → BEGIN    END
For gaps wider than 83 spaces, then multiple instances can be used, such as "{{ns|80}}{{ns|10}}" to insert 90 non-breaking spaces.
Performance considerations[edit source]
Template:ns has been designed to rapidly insert a few, or numerous, non-breaking spaces where wrapping is not wanted, such as to pad table headings or align some entries in columns. It has been clocked to run faster than 1,530x times per second (in December 2012). The number of spaces, from 0 to 83, does not affect the speed of formatting. It invokes the parser function "padleft:" to repeat " " several, or dozens, of times. Also, the expansion depth has been kept limited, as only 5 levels deep, to allow use anywhere, to generate spaces in any complex templates or tables.
Beyond the maximum count of 83 spaces, the template truncates at 500-characters long (limited by padleft), with "&#" at the end. The default count, as 3 spaces, was chosen because a 1-or-2-space gap is often coded as simply " " and hence, 3 spaces is the first gap needing longer markup. The short template name, "ns" avoids transposing letters as "nsbp" for dyslexic users.
For gaps wider than 83 spaces, then multiple instances of {ns} can be used, such as "{{ns|80}}{{ns|10}}" to insert 90 non-breaking spaces.
See also[edit source]
- Template:In5, to insert a mix of   and regular spaces which can wrap.
- Template:Gaps, to insert precisely-sized gaps between digits/words.
- Template:Spaces, to insert large, no-wrap span-tags to separate text 1-n spaces.
- Template:nowrap, to join text or wikilinks as non-wrapped.
External links[edit source]
- Template:Ns/doc at Wikipedia, the free Terran-based encyclopedia that anyone can edit.