Template:Sp/doc: Difference between revisions

From Post-Self
({{high-use}})
 
m (1 revision imported)
 
(No difference)

Latest revision as of 21:50, 29 January 2024

Template:Documentation subpage Template:Distinguish Template:High-use

Usage

  1. REDIRECT Template:Template link expanded

Script error: No such module "Message box". will insert a single, ordinary space character, using the numeric character reference  . It is a more readable alternative to using that code.

Anywhere you need a regular space

You can use

  1. REDIRECT Template:Template link

Script error: No such module "Message box". anywhere you need a regular, breaking space. If you need a non-breaking space or multiple spaces in a row, use

  1. REDIRECT Template:Template link

Script error: No such module "Message box"..

Inserting a space inside a parser function

Sometimes when using parser functions, you need to insert a space at the beginning or end of an optional message.

  1. REDIRECT Template:Template link

Script error: No such module "Message box". can be used for that purpose. In the following examples, look closely at the spacing between words and punctuation to see the subtle differences.

Example
I like green{{#if:{{{blue|}}}|and blue}}.

The above example works fine if 'blue' does not have a value ('I like green.').

However, if 'blue' is set to true (|blue=true), then the message is incorrectly run together ('I like greenand blue.').

I like green {{#if:{{{blue|}}}|and blue}}.

Adding the space between 'green' and '{{#if' avoids running the 'green and' together, but now there will be an extra space if 'blue' is not set ('I like green .').

I like green{{#if:{{{blue|}}}| and blue}}.

Adding the space between the pipe ('|') and the word 'and' doesn't work. Any leading or trailing spaces from a parser function output are stripped, so this produces exactly the same output as the first example when 'blue' is true ('I like greenand blue.').

I like green{{#if:{{{blue|}}}|{{sp}}and blue}}.

This one works! By inserting the

  1. REDIRECT Template:Template link

Script error: No such module "Message box". in the parser function output, the space is not stripped, and the correct output is given whether blue is set to true ('I like green and blue.') or not set at all ('I like green.').

Disabling default substitution

Suppose you have a template,

  1. REDIRECT Template:Template link

Script error: No such module "Message box"., that uses substitution, like this:

{{{{{subst|subst:}}}#if{{{condition|}}}|message}}

When the template is transcluded and saved, the result would be interpreted as:

{{subst:#if{{{condition|}}}|message}}

You could override the substitution by setting the 'subst' attribute to

  1. REDIRECT Template:Template link

Script error: No such module "Message box".:

{{Example| subst={{sp}} }}

Now the result would be interpreted as:

{{ #if{{{condition|}}}|message}}

The extra blank space preceding the '#if' would not affect the template at all (except to suppress the default substitution).

TemplateData

This is the TemplateData for this template used by TemplateWizard, VisualEditor and other tools. see a monthly parameter usage report for Template:Sp in articles.

TemplateData for Sp

Script error: No such module "Check for unknown parameters".Template:Template other

Inserts a single space character; mainly used in parser functions

Template parameters

This template prefers inline formatting of parameters.

ParameterDescriptionTypeStatus
No parameters specified

See also

  1. REDIRECT Template:Template link expanded

Script error: No such module "Message box". - runs the laser function #if:, but retains whitespace

  1. REDIRECT Template:Template link expanded

Script error: No such module "Message box". – a template that uses

  1. REDIRECT Template:Template link

Script error: No such module "Message box". with parser functions

  1. REDIRECT Template:Template link expanded

Script error: No such module "Message box". – for spelling issues Lua error in package.lua at line 80: module 'Module:Navbar' not found.