Template:Defn/doc
This is a documentation subpage for Template:Defn. It contains usage information, categories, interlanguage links, and other content that is not part of the original template page. |
Usage
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:
{{glossary}} {{term|1=term}} {{defn|1=Definition.}} {{glossary end}}
Links, inline templates, reference citations, wikimarkup styles, etc., can be applied to the definition. Technically, the |1=
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: {{defn|1=The concept that the mass of a body is a measure of its energy content, expressed by the formula E=MC²}}
- This will work: {{defn|defn=The concept that the mass of a body is a measure of its energy content, expressed by the formula E=MC²}}
- This will Template:Strongbad: Template:!bxt
More complex usage is typically:
{{defn|defn=Definition. |no=# |term=term_id}}
where |no=#
gives a leading number for a definition in a list of definitions, and |term=term_id
provides the name of the term used in the {{Term}} template to which this definition pertains.
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 Template:Strong 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.
{{glossary}}
{{term |1=colour ball |content=colour ball {{anchor|coloured ball|coloured balls|colour|colours|color ball}}}}
{{defn|1=
[[File:Set of Snookerballs.png|thumb|right|150px|A complete set of snooker balls, with six '''colour balls''']]
{{ghat|Also '''coloured ball(s)''', '''colour(s)'''; American spelling '''color''' sometimes also used.}}
In [[snooker]], any of the {{cuegloss|object ball}}s that are not {{cuegloss|red ball|reds}}.
}}
{{glossary end}}
|
|
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 "Template:Strongnd or later definition". You can also call it |no=
, if you prefer (from "No.") Example:
{{glossary}}
{{term|1=blubbermonster}}
{{defn|1=Lorem ipsum dolor sit amet. |no=1}}
{{defn|1=Consectetur adipisicing elit. |no=2}}
{{glossary end}}
|
|
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}}}}
{{defn|no=1|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
Template:Quote boxTo enable a link directly to a specific definition, name the definition with its {{term}} (or it must be the |id=foo
value, if any, used in {{term}}
). This 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 {{defn}}
's |term=
parameter. This will produce a #
-link target ID in the form term-defn#
, where the # is the number of the definition (see #Multiple definitions for one term, above), defaulting to "1". Example:
{{glossary}}
{{term|1=blubbermonster}}
{{defn|no=1 |1=Lorem ipsum dolor sit amet. |term=blubbermonster}}
{{defn|no=2 |1=Consectetur adipisicing elit. |term=blubbermonster}}
{{term|1=snorkelweasel (noun)}}
{{defn|1=Ut enim ad minim veniam |term=snorkelweasel (noun)}}
{{glossary end}}
|
|
HTML output:
<dl class="glossary">
<dt class="glossary" id="blubbermonster" style="margin-top: 0.4em;"><dfn class="glossary">blubbermonster</dfn></dt>
<dd class="glossary" id="blubbermonster-defn1">1. Lorem ipsum dolor sit amet.</dd>
<dd class="glossary" id="blubbermonster-defn2">2. Consectetur adipisicing elit.</dd>
<dt class="glossary" id="snorkelweasel_(noun)" style="margin-top: 0.4em;"><dfn class="glossary">snorkelweasel (noun)</dfn></dt>
<dd class="glossary" id="snorkelweasel_(noun)-defn1">Ut enim ad minim veniam</dd>
</dl>
|
Note that some characters in snorkelweasel (noun)
" have been converted on the fly by MediaWikia by the time it sends the ID to the browser as snorkelweasel_.28noun.29-defn1
. You can still link to it on this page as #snorkelweasel (noun)-defn1 (view page source and see for yourself – that link has href=#snorkelweasel_.28noun.29-defn1
).
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]].
To add more than one linkable anchor, use the {{anchor}} template at the beginning of the definition's content:
{{defn|no=2|1={{anchor|elit|Elit}}Consectetur adipisicing elit.|term=blubbermonster}}
Languages
There is no |lang=
parameter, as on this wiki 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:
{{glossary}}
{{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''}}
...
{{glossary end}}
Examples
This shows both a very simple then a rather complex instance:
{{fake heading|A–M}}
{{glossary}}
{{term|1=applesnorkel}}
{{defn|1=Definition of term 1.}}
{{term|term=arglefarst |content=''{{lang|de|arglefarst}}''{{anchor|argle-farst|argle farst}} }}
{{defn|no=1 |defn=
Beginning of first definition of term 2
{{gbq|1=Block quotation in first definition of term 2.}}
Conclusion of first definition of term 2.
}}
{{defn|no=2 |defn=Second definition of term 2.}}
{{glossary end}}
|
|
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. I.e., this styles the definition itself, not the term it applies to, other definitions, or the glossary as a whole. This feature is rarely if ever needed in articles, but can be useful elsewhere for things like matching custom user page style.
Other parameters
The |id=
parameter can be used to assign a one-word, case-sensitive ID name to definition. It must be unique on the page. This can be used as a #link target, and could have other metadata uses. See the #Making the definition independently linkable section for how to normally make a definition linkable. Probably the only reason to use this feature is if there are two terms with the same name on the page, which would result in conflicting IDs.
The |class=
parameter will pass one or more space-separated CSS classes on to <dd>
element, in addition to the automatically included class glossary
. There is rarely any reason to do this.
Template:Glossary
Usage
| ||
---|---|---|
The template {{glossary}} (a.k.a. The pair of templates incidentally prevent the MediaWiki software engine from auto-creating redundant definition list code ( Typical usage: {{glossary}} {{term}} {{defn}} {{glossary end}}
This shows both a very simple then a rather complex instance in a structured glossary (including an entry with a block quotation, using the glossary block quotation template, {{gbq}}):
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. |
Template:Term
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: {{glossary}}
Inline templates, reference citations, wikimarkup styles, etc., can be applied to the term in the second parameter (
More complex usage is typically: Template:Block indent or Template:Block indent or Template:Block indent 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, Template:Strong:
Again, as with the first parameter (the term) itself, if the " numbered: Template:Block indent or named: Template:Block indent {{term}} automatically creates a link anchor point (an HTML If your glossary has an unusual case in which one entry and another share the exact same name except for case (thus would get the same lower-cased HTML {{term|term=foo}} {{defn|Definition of lower-case version here ... {{term|term=Foo |id=Foo_2 |content={{vanchor|Foo}} }} {{defn|Definition of proper-name version here ... You can then link to them as The template {{anchor}} can also be used in the As with styled terms, the first parameter must be used to provide the "bare" term, the second to provide this extra markup. It is not necessary to add the term itself to the By contrast, when using semicolon-delimited terms in unstructured glossaries, the term does need to be added explicitly as an anchor if link anchorage is desired (which is almost always the case): Template:Block indent or use {{vanchor}} Template:Block indent (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=aspirin}} {{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...}}
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: For all non-English languages this provides many metadata features, but it is essential for those that do not use the Latin alphabet, so that the content displays properly in various browsers. If it is useful to indicate the name of the language, there are individual templates for most languages, with names based on the ISO codes, and which automatically italicize the foreign content: which renders as:
As detailed above, two or more terms, as variations or alternatives, can share definitions. The most common use case for this is presenting the term in two variants of English. Example: {{term|1=tyre|content={{lang-en-GB|tyre}} }}
Note the use of Result: Template:Blockindent In a different format, more appropriate for alphabetical glossaries: {{term|1=tyre|content={{lang|en-GB|tyre}} {{small|([[British English]])}} }}
Result: That example uses the {{Lang}} template with language codes as the first parameter, rather than the {{lang-xx}} templates. The {{Term}} template has no Template:Dc parameter of its own (and shouldn't – there are too many pitfalls). The Template:Quote boxThe The This shows both a very simple then 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 |