Template:Ns/doc

From Black Cat Studios
< Template:Ns
Revision as of 16:50, 19 June 2023 by Blackcat (talk | contribs) (Created page with "{{Hatnote |This template inserts non-breaking (non-linewrapping) spaces. For the flag template "NS", see {{tl|NS}}. For the magic word "<nowiki>{{ns:}}</nowiki>", see mw:Help:Magic words#Namespaces_2.}} {{documentation subpage}} {{High-use}} 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) para...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

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.

Do not insert huge numbers of non-breaking spaces to achieve a particular article layout. The width of non-breaking spaces varies between platforms and fonts, and on mobile devices (over half of readers) they are likely to make content overflow the available width. Differences between fonts make them unsuitable for precisely matching the width of any other text; consider {{0}} to match the width of specific text.

Usage and examples

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 "&#160;" 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&NBSP;&NBSP;&NBSP;&NBSP;END

Performance considerations

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 "&#160;" 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 " &nbsp;" and hence, 3 spaces is the first gap needing longer markup. The short template name, "ns" avoids transposing letters as "nsbp" for dyslexic users.

TemplateData

This is the TemplateData for this template used by TemplateWizard, VisualEditor and other tools. Click here to see a monthly parameter usage report for this template based on this TemplateData.

TemplateData for Ns

Inserts a given number of non breaking spaces.

Template parameters

ParameterDescriptionTypeStatus
Number1

The number of spaces to insert. Must be less than 83. The default is three spaces.

Stringoptional

See also