Template:Defn/sandbox
This is the template sandbox page for Template:Defn (diff). See also the companion subpage for test cases. |
Usage
[edit source]The template {{defn}} is used in template-structured glossaries to create definitions of terms.
It is a wrapper for <dd>...</dd>
, the description list definition HTML element. The template has a mnemonic redirect at {{dd}}.
Basic usage:
{{gloss}}
{{term|1=term}}
{{defn|1=Definition.}}
{{glossend}}
Links, inline templates, reference citations, wikimarkup styles, etc., can be applied to the definition. Technically, the |
part is optional if the content of the definition does not contain the "=" character, but as any editors can add content, including templates with this character in them, it is always safest to explicitly name the parameter. The |1=
parameter can also be called |defn=
for those who don't care for numeric parameters.
- This will work:
{{definition|1=The concept that the mass of a body is a measure of its energy content, expressed by the formula E=MC²}}
- This will fail:
{{definition|The concept that the mass of a body is a measure of its energy content, expressed by the formula E=MC²}}
More complex usage is typically:
{{defn|1=Definition. |2=# |term=term_id}}
Images, hatnotes and other content
Images, hatnotes and other "add-in" content intended to immediately follow the {{term}}
must be used at the top of (inside) the first {{defn}}
of the {{term}}
. They cannot be placed between the {{term}}
and {{defn}}
or it will break the glossary markup. Images can, of course, be placed elsewhere within the {{defn}}
, and bottom-notes like {{more}} can be placed at the ends of but inside {{defn}}
s.
|
|
Multiple definitions for one term
If a single {{term}}
has multiple definitions, they are simply numbered with the |2=parameter
explicitly. Think of the parameter as standing for "2}nd or later definition". You can also call it |no=
, for "No.", if you prefer: Example:
|
|
Because of the uneven length of definitions, it is usually more convenient to put the |2=
before the |1=
description:
{{defn |2=1 |1=Lorem ipsum dolor sit amet.}}
or
{{defn |no=1 |1=Lorem ipsum dolor sit amet.}}
This is a very robust method, because it permits complex content like block quotations, nested lists, {{main}} cross-reference hatnotes, and other block-level markup inside each definition. The definitions can also be independently linked.
Use of a hatnote with a numbered definition requires manual numbering or it will look weird:
{{term|1=blackjack|content=blackjack{{anchor|Blackjack}} }}
{{defn|1=
{{main|Blackjack}}
1. A card game in which players attempt to approach 21 but not exceed it.
}}
{{defn|no=2|1=The best possible hand in the game of blackjack, made up of an ace and a card valued at 10 (namely, 10, J, Q, K). }}
Making the definition independently linkable
To enable a link directly to a specific definition, you can manually add an {{anchor}} template, or name the definition with its {{term}} or an abbreviation thereof (must be unique on the page for each term, but should be the same for multiple definitions of the same term). This is done with the |term=
parameter; it must begin with an alphabetic character (a–z, A–Z), and may include digits (0–9), hyphens ("-"), and underscores ("_"). This will produce a #-link target ID in the form term-defn#
, where the # is the number of the definition (see above), defaulting to "1". Example:
|
|
HTML output:
|
The IDs blubbermonster-defn1, blubbermonster-defn2, and snorkelweasel_noun-defn1 are all individually linkable, e.g. as [[Glossary of weird terms#blubbermonster-defn1]]
. This is especially useful for cross-references within the glossary, e.g. See also [[#blubbermonster-defn2|"blubbermonster", sense 2]].
Languages
There is no |lang=
parameter, as on English Wikiversity all definitions are necessarily in English. For uses of glossary markup for non-glossary purposes in which some content may be in a foreign language, use language templates. E.g. in a list of film title translations formatted using glossary markup:
{{gloss}} {{term|1=Titles of La Vie en Rose in various languages |content=Titles of ''[[La Vie en Rose]]'' in various languages}} {{defn|1=French: ''{{lang|fr|La Vie en Rose}}''}} {{defn|1=English: ''Life in Pink''}} ... {{glossend}}
Examples
This shows both a very simple and a rather complex instance:
|
|
Applying CSS styles to the definition
Applying CSS styles to the definition
The |style=
parameter will pass CSS styling on to the <dd>
element, e.g. |style=font-family:serif;
or whatever. This feature is rarely if ever needed in articles, but can be useful for things like matching custom user page style.
Usage
| ||
---|---|---|
The template {{gloss}} is used with {{glossend}} to explicitly bracket a glossary or glossary-like description list (also called a definition list or association list), especially in a template-structured glossary, although such lists can be used more generally. This is required for template=structured glossaries, and is good practice anywhere description/definition lists are used for glossaries. The template pair invoke the The pair of templates incidentally prevent Wikiversity's MediaWiki software engine from auto-creating redundant definition list code ( Typical usage:
This shows both a very simple and a rather complex instance in a structured glossary:
This family of templates, like the underlying definition list code, is primarily intended for definitional uses, but can have other applications. The HTML 4.01 Specification itself says:
Thus, editors should feel free to use definition list markup as an alternative to bulleted or numbered lists when the material is well-suited to definition list presentation. |
Usage
| ||||
---|---|---|---|---|
The template {{term}} is used in template-structured glossaries to create terms to be defined, that are properly structured, have semantic value, and can be linked to as if independent sections. It is a wrapper for Basic usage:
Inline templates, reference citations, wikimarkup styles, etc., can be applied to the term in the second parameter (
More complex usage is typically:
or
or
If the second or
Style cannot be applied around the template, either, as it is a container for content (the term), not content itself (and doing so will produce invalid markup that will have unpredictable results depending upon browser):
For the same reasons that links to other pages are discouraged in headings, links are also discouraged in glossary terms:
Again, as with the first parameter (the term) itself, if the " numbered:
or named:
The template {{anchors}} can also be used in the
As with styled terms, the second parameter must be used to provide the "bare" term. It is not necessary to add the term itself to the
(Strictly speaking, this fact has nothing to do with this template, but may be of use to editors who are converting from one glossary style to the other.) Two or more Example: {{term|1=asprin}} {{defn|1=A mild analgesic of the non-steroidal anti-inflammatory drug (NSAID) family...}} {{term|1=heroin}} {{term|1=diacetylmorphine|multi=y}} {{term|1=diamorpine|multi=y}} {{defn|1=A synthetic narcotic drug of the opiate family...}} {{term|1=ranitidine}} {{defn|1=An antacid of the proton pump inhibitor family...}} Result:
To indicate the language of a non-English term, use the {{lang}} template and the ISO 639 language codes as documented at that template:
This shows no visual change for most languages: {{term|1=esprit de corp |content={{lang-fr|esprit de corps}}s}}
which renders as:
The template has no The This shows both a very simple and a rather complex instance:
Images, hatnotes and other "add-in" content intended to immediately follow the
What this template does on the technical level is wrap the term in the |