Template:Glossary link internal/sandbox
This is the template sandbox page for Template:Glossary link internal (diff). See also the companion subpage for test cases. |
This template is used on many pages and changes may be widely noticed. Test changes in the template's /sandbox or /testcases subpages, or in your own user subpage. Consider discussing changes on the talk page before implementing them. |
Usage
[edit]The template {{glossary link}}
and its variant {{glossary link internal}}
({{gli}}
for short) are templates for creating structured links to particular entries in topical glossaries.
{{Glossary link}}
is a meta-template for creating templates for specific major glossary articles (e.g. the{{cuegloss}}
template for Glossary of cue sports terms); it is not usually used directly in an article. Please categorize any derived, topical glossary link templates that use this meta-template into Category:Glossary link templates (this is usually done at the bottom of the template's /doc page, so that the category is not inside the template itself and it not accidentally transcluded into the articles that use the template).{{gli}}
is usually used directly in the glossary article itself, and is not a meta-template.
The documentation below explains how to use them for your topic's template-structured glossary. Like the {{dfn}}
wrapper, and the glossary {{term}}
template, it uses the <dfn>
HTML element properly. (Note that {{glossary link internal}}
necessarily does not use it; <dfn>
should only be used once per term on a single page, at the defining appearance of it, and is used by {{term}}
inside the glossary.)
{{Glossary link}}
creates a normal blue link. To prevent the "sea of blue" effect, {{Glossary link internal}}
uses the light dashed underline style that has become a de facto Web standard for definitional markup.[a]
Tech detail: By using an internal <span>...</span>
with its own independent title
attribute for a tool tip, it sets this up in a way that does not violate the very geeky and backasswards HTML5 specs on the handing of the title
attribute of <dfn>
, which is the exact term defined, not its definition.
Due to lack of what would be a pretty sophisticated facility in the MediaWiki parser, there is no way to have the definition in the glossary be pulled into a pop-up tooltip on mouseover, which would be really cool. Maybe someday. For now, it shows the glossary article title (if on another page) and what the entry's name is, as specified by the template, which is where the reader will go if they click on the glossary link. This replaces the default Wikipedia tooltip for such a link, which would only give the article title.
Syntax (basic use cases)
[edit]- Linking from regular article prose to glossary entries
- Use a term as it appears in a separate glossary article:
{{glossary link|glossary=Glossary of botanical terms|utricle}}
– gives: utricle - Use an alternative term, linking to the related term in a separate glossary article:
{{glossary link|glossary=Glossary of botanical terms|utricle|utricular}}
– gives: utricular - Use a partially piped link:
{{glossary link|glossary=Glossary of botanical terms|utricle}}s
– gives: utricles
- Link targets are converted to lower case by this template and the corresponding
{{term}}
in the glossary (the original version as specified in{{term}}
, even if it's "uTriCle", it will also work):{{glossary link|glossary=Glossary of botanical terms|Utricle}}
– gives: Utricle (note the link target). In other words,
is not necessary.{{glossary link|glossary=Glossary of botanical terms|utricle|Utricle}}- This means that for entries that begin with (or otherwise contain) upper case, a lower-case anchor must exist.
{{Term}}
does this automatically, but if the target glossary is not template-structured, a manual{{anchor}}
or{{vanchor}}
will be need to be added. - If there is some circumstance in which this is not practical/desirable for a particular term, the lower-casing can be turned off with
|lc=no
:{{glossary link|Amelia P. Steiner|lc=no}}
- This means that for entries that begin with (or otherwise contain) upper case, a lower-case anchor must exist.
- Use a term as it appears in the glossary section of the same article:
{{glossary link|chicken nugget}}
– gives: chicken nugget - Same but less visually intrusive:
{{glossary link internal|chicken nugget}}
or{{gli|chicken nugget}}
– gives: chicken nugget - Use an alternative term, linking to a related term in the glossary section of the same article:
{{glossary link|chicken nugget|Compressed and breaded poultry snacks}}
– gives: Compressed and breaded poultry snacks - Same but less visually intrusive:
{{glossary link internal|chicken nugget|Compressed and breaded poultry snacks}}
or{{gli|chicken nugget|Compressed and breaded poultry snacks}}
– gives: Compressed and breaded poultry snacks
Normally this is done with a derived, glossary-specific wrapper template. For example, {{glossary link|glossary=Glossary of cue sports terms|massé}}
can be done simply with {{cuegloss|massé}}
.
- Linking between glossary entries on the same page
We use the {{glossary link internal}}
(short name: {{gli}}
) variant to not plaster the page with blue links; ones that go to full articles on terms will thus stand out from links to other short definitions in the same glossary:
- Use a term as it appears within the same glossary page:
{{gli|Example code}}
– gives: Example code - Use an alternative term, linking to the related term within the same glossary page:
{{gli|Example code|some examples}}
– gives: some examples
- Use a term as it appears on a different page of the same multi-page glossary:
{{gli|glossary=Glossary of education terms (M–O)|MEB}}
– gives: MEB - Use an alternative term, linking to the related term on a different page of the same multi-page glossary:
{{gli|glossary=Glossary of education terms (M–O)|MEB|Master's in European Business}}
– gives: Master's in European Business
Normally this is done with the {{gli}}
shortcut; {{glossary link internal|Example code}}
and {{gli|Example code}}
are equivalent. However, in an especially long page, if you run into the template transclusion limit, you can use a plain-wikicode link to the entry, e.g. [[#utricle|utricle]]
.
Because {{gli}}
is short, simple, and requires no |glossary=PageName=
parameter, there is no need or use for a wrapper template for a specific glossary (e.g., do not create a {{cueglossi}}
to go along with {{cuegloss}}
).
Syntax (geeky version)
[edit]{{glossary link|glossary=glossary article|term=term in glossary}}
results in: term in glossary{{glossary link|glossary=glossary article|term in glossary}}
results in: term in glossary{{glossary link|glossary=glossary article|term=term in glossary|text=text in article}}
results in: text in article{{glossary link|glossary=glossary article|term in glossary|text in article}}
results in: text in article{{glossary link|term in glossary}}
results in: term in glossary{{glossary link|term in glossary|text in article}}
results in: text in article
The {{glossary link internal}}
variant works exactly the same, but is used inside the glossary itself to provide cross-references between entries, and is also used when the same term is linked twice in other articles (e.g. because the article is very long). Its only difference from {{glossary link}}
is that it does not use <dfn>
, since it is only supposed to be used once per page per term, and it does not blue-link the link, since we don't want to create a "sea of blue" link mess.
{{glossary link internal|term in glossary}}
results in: term in glossary{{glossary link internal|term in glossary|text in article}}
results in: text in article
Parameters
[edit]Each version of the template takes up to three parameters for its data:
|glossary=the title of the glossary article to be linked to
- This is part of the URL to be generated; it cannot contain any link brackets, styling, templates, HTML, or other markup.
- It is case-sensitive in that it has to resolve to the actual article page in the same way as a
[[...]]
wikilink.
|term=the term entry in the glossary to be linked to
(or any{{anchor}}
for it)- This is part of the URL to be generated; it cannot contain any
#
anchor indicator, styling, templates, HTML, or other markup. - A double quote (") character must be escaped as
"
or the tooltip will break. Glossary-specific templates based on this meta-template need to mention this prominently in their documentation. - This parameter can also be done as
|1=
or the first unnamed parameter. It must not be unnamed when creating a glossary-specific wrapper template from the meta-template, because you cannot guarantee that input will not contain a user input character. - It is not case-sensitive and will be reduced to lower-case (that behavior can be turned off with
|lc=no
below, e.g. for proper names that do not have any reason to have a lowercase anchor).
- This is part of the URL to be generated; it cannot contain any
|text=the actual text in the article to be linked from, if different from the term linked to
.- This parameter can be styled, templated, etc. (though cannot contains links – it's going to become the link). Styling can also be applied before and after the entire template, of course.
- This is case-sensitive, in that it's going to display whatever you put into it.
Limitations: The glossary and term parameters cannot have any HTML or wiki markup; they are basically parts of URLs (namely http://en.wiki.x.io/wiki/glossary#term
).
A |color=
parameter allows the color of the text to be changed. This should only be done when the rest of the text is also another color for some reason, e.g. because of white text in a dark-background table cell in a navbox or infobox. The parameter will accept established HTML/CSS color names (e.g. white
) and hex values (e.g. #FFFFFF
), and is spelled "color
" since this is the spelling used by HTML and CSS.
Some little-used parameters that are there just in case:
|lc=no
(or any other value like n, false, 0) – a switch to turn off the automatic lower-casing of the#target
anchor derived from the|1=
or|term=
entry, if that target content has no all-lowercase anchor defined at it (by{{term}}
automatically or by a manually added{{anchor}}
) and creating one is not desirable (e.g. because it would be something unituitive and otherwise useless like "jane w. smith" for a biographical entry)|id=an_ID
– an anchor ID (no spaces, must begin with alphabetic letter) for #linking and possibly other purposes|style=arbitrary:css;
– CSS directives for custom-styling the instance|class=css_class
– a CSS class or classes (separated by spaces not commas if more than one); by default it already includesglossary-link
orglossary-link-internal
(in the template with the respectively matching name) for custom user CSS.
Glossary entry formatting
[edit]Example code
[edit]The template {{cuegloss}}
for cue sports:
{{glossary link
|glossary=Glossary of cue sports terms
|term={{{1}}}
|text={{{2|}}}
|lc={{{lc|}}}
}}
The {{glossary link internal}}
variant is used (as {{gli}}
) inside such an article as Glossary of cue sports terms:
{{gli |{{{1}}} |{{{2|}}} }}
{{{1}}}
is the glossary entry's link anchor. The optional {{{2|}}}
is the displayed text of the link. Examples: {{gli|obstetrics and gynaecology}}
or {{gli|obstetrics and gynaecology|obstetrics and gyn[a]ecology (OB-GYN)}}
Fuller syntax of {{gli}}
is:
{{gli|glossary=Glossary of cue sports terms|term={{{1}}}|text={{{2|}}}}}
Here, it is specifying a glossary page, which is needed if a large glossary has been split across multiple pages; and uses named parameters, which would be necessary if the input into them contained an = character.
For real-use application, see Template:Cuegloss/doc, the Glossary of cue sports terms article, and articles like Nine-ball that use the template to link to terms in the glossary.
See also
[edit]{{glossary}}
,{{glossary end}}
,{{term}}
, and{{defn}}
, the glossary structure templates{{dfn}}
the more general<dfn>
template{{glossary term}}
, for adding a flush-right box containing a link to a term in the Wikipedia:Glossary- Wikipedia:Manual of Style/Glossaries