Template:Nowraplinks/doc

From Guild of Archivists
< Template:Nowraplinks
Revision as of 20:42, 11 July 2016 by Alahmnat (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This is the {{nowraplinks}} template.

This template prevents word wraps (line breaks) inside links (links with spaces in) and only allows word wraps between the links and in normal text. This is useful for instance for long link lists. It works similarly to {{nowrap}} and {{nowrap begin}}.

This template takes no parameters by default, instead it works in pair with {{nowraplinks end}}. It can also optionally be used with a parameter.

Before you use this template you might want to read up on w:Wikipedia:Line-break handling.

Usage

{{nowraplinks}}

[[This link will not wrap]] - [[This link also won't wrap]] -
[[And so on]] - But this sentence might word wrap.

{{nowraplinks end}}
{{nowraplinks | [[This link will not wrap]] - [[This link also won't wrap]] -
[[And so on]] - But this sentence might word wrap. }}

Both examples will render something like this:

This link will not wrap -
This link also won't wrap -
And so on - But this sentence
might word wrap.

But they will not render like this:

This link will not wrap - This link
shouldn't have wrapped - And so on -
But this sentence might word wrap.

Advanced usage

Most of the functionality in this template is implemented as a CSS class in common.css. That class can be used together with pretty much any HTML tag or any box to prevent links to word wrap. For instance like this:

<div class="nowraplinks"> Lots of text and links </div>

Or like this:

<span class="nowraplinks"> Lots of text and links </span>

If the nowraplinks class is applied in the header of a table it will prevent line wrapping of links in all cells in the table. Note that in a table header there usually is a need to apply several classes. Then the class names should be separated by spaces in the class tag, not by commas or semicolons. Like this:

{| class="wikitable nowraplinks"
|
[[This link will not wrap]]{{·}} 
[[This link also won't wrap]]{{·}} 
[[And so on]]{{·}} 
But this sentence might word wrap.
|
[[This link will not wrap]]{{·}} 
[[This link also won't wrap]]{{·}} 
[[And so on]]{{·}} 
But this sentence might word wrap.
|}

It will render this:

To really see the nowrap effect on the links above you can drag the width of your web browser window so it becomes smaller and smaller.

Technical details

The actual code that does the job is this CSS code in Common.css.

.nowraplinks a,
.nowraplinks .selflink { 
  white-space: nowrap;
}

It simply means that any white-space inside links (HTML A tags) and bold "links" to the page itself are not allowed to wrap.

It is then invoked like this:

<span class="nowraplinks"> Lots of text and links </span>

That span code is what the {{nowraplinks}} and {{nowraplinks end}} tags are packaging in an easy to use way.

The standard navboxes use the .nowraplinks class, thus automatically handling most wrapping problems in those navboxes.

In some cases link lists that use nowraplinks can behave weird in Firefox and Internet Explorer. Then use {{nowrap begin}} and its helper templates instead.

See also

  • {{nowraplinks end}} – The other end of this template.
  • {{nowrap}} – A template with similar purpose.
  • {{nowrap begin}} – Prevents wraps in both text and links. For the really tricky wrapping cases when you need full control, for instance in very complex link lists.
  • {{·}} and {{•}} – If you need dots/bullets for your link lists.
  • Wikipedia:Line-break handling – The how-to guide detailing how to handle word wraps (line breaks) on Wikipedia.