Template:Defn/doc: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
(Import documentation for Defn template from English Wikipedia, with significant rewrites to adapt to the Kodi Wiki Manual of Style)
 
m (Fix redlink)
 
(3 intermediate revisions by the same user not shown)
Line 6: Line 6:
Pro forma usage is thus:
Pro forma usage is thus:


  {{Tnull|Glossary}}
  {{Tlx|Glossary}}
  {{Tnull|Term|1{{=}}<var>term</var>}}
  {{Tlx|Term|term&equals;<var>term</var>}}
  <span class="example example-bold" style="font-weight: bold; color: #006400;">{{Tnull|Defn|1{{=}}<var>Definition.</var>}}</span>
  <span class="example example-bold" style="font-weight: bold; color: #006400;">{{Tlx|Defn|defn&equals;<var>Definition.</var>}}</span>
  {{Tnull|Glossary end}}
  {{Tlx|Glossary end}}


Links, inline templates, reference citations, wikimarkup styles, etc., can be applied to the definition. Technically, the {{Para|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 {{Para|1}} parameter can also be called {{Para|defn}} for those who don't care for unnamed or numeric parameters.
Links, inline templates, reference citations, wikimarkup styles, etc., can be applied to the definition. Technically, the {{Para|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 {{Para|1}} parameter can also be called {{Para|defn}} for those who don't care for unnamed or numeric parameters.
Line 17: Line 17:


More complex usage might be:
More complex usage might be:
<blockquote>{{Tnull|Defn|1{{=}}<var>Definition.</var>&nbsp;|num{{=}}<var>#</var>&nbsp;|term{{=}}<var>term_id</var>}}</blockquote>
<blockquote>{{Tlx|Defn|1&equals;<var>Definition.</var>|num&equals;<var>#</var>|term&equals;<var>term_id</var>}}</blockquote>


where {{Para|num|<var>#</var>}} gives a leading number for a definition in a list of definitions, and {{Para|term|<var>term_id</var>}} provides the name of the term used in the {{Tnull|Term}} template to which this definition pertains.
where {{Para|num|<var>#</var>}} gives a leading number for a definition in a list of definitions, and {{Para|term|<var>term_id</var>}} provides the name of the term used in the {{Tlx|Term}} template to which this definition pertains.


=== Images, hatnotes and other content ===
=== Images, hatnotes and other content ===
Images, hatnotes and other "add-in" content intended to immediately follow the {{Tnull|Term}} <em>must be used at the top of (inside) the first {{Tnull|Defn}} of the {{Tnull|Term}}.</em> They <strong>cannot</strong> be placed between the {{Tnull|Term}} and {{Tnull|Defn}} or it will break the glossary markup. Images can, of course, be placed elsewhere within the {{Tnull|Defn}}, and bottom-notes like {{Tnull|More}} can be placed at the ends of, but <em>inside</em> the content of {{Tnull|Defn}}s.
Images, hatnotes and other "add-in" content intended to immediately follow the {{Tlx|Term}} <em>must be used at the top of (inside) the first {{Tlx|Defn}} of the {{Tlx|Term}}.</em> They '''cannot''' be placed between the {{Tlx|Term}} and {{Tlx|Defn}} or it will break the glossary markup. Images can, of course, be placed elsewhere within the {{Tlx|Defn}}, and bottom-notes like {{Tlx|See also}} can be placed at the ends of, but <em>inside</em> the content of {{Tlx|Defn}}s.


{| style="border: 2px groove darkslategray; border-collapse: collapse;"
{| style="border: 2px groove darkslategray; border-collapse: collapse;"
  | style="border: 1px solid black; padding: 1.5em; vertical-align: top;" | <syntaxhighlight lang="moin">
  | style="border: 1px solid black; padding: 1.5em; vertical-align: top;" | <syntaxhighlight lang="moin">
{{Glossary}}
{{Glossary}}
{{Term |1=colour ball |content=colour ball {{Anchor|coloured ball|coloured balls|colour|colours|color ball}}}}
{{Term|term=color ball|content=color ball {{Anchor|colored ball|colored balls|color|colors|color ball}}}}
{{Defn|1=
{{Defn|defn=
[[File:Set of Snookerballs.png|thumb|right|150px|A complete set of snooker balls, with six '''colour balls''']]
[[commons:File:Set of Snookerballs.png|thumb|right|150px|A complete set of snooker balls, with six '''color balls''']]
<p class="glossary-hatnote"><span>Also '''coloured ball(s)''', '''colour(s)'''; American spelling '''color''' sometimes also used.</span></p>
<p class="glossary-hatnote"><span>Also '''colored ball(s)''', '''color(s)'''.</span></p>
In snooker, any of the object balls that are not reds.
In snooker, any of the object balls that are not reds.
}}
}}
Line 37: Line 37:
  | style="border: 1px solid black; padding: 1.5em; vertical-align: top;" | <blockquote>
  | style="border: 1px solid black; padding: 1.5em; vertical-align: top;" | <blockquote>
{{Glossary}}
{{Glossary}}
{{Term |1=colour ball |content=colour ball {{Anchor|coloured ball|coloured balls|colour|colours|color ball}}}}
{{Term|term=color ball|content=color ball {{Anchor|colored ball|colored balls|color|colors|color ball}}}}
{{Defn|1=
{{Defn|defn=
[[File:Set of Snookerballs.png|thumb|right|150px|A complete set of snooker balls, with six '''colour balls''']]
[[commons:File:Set of Snookerballs.png|thumb|right|150px|A complete set of snooker balls, with six '''color balls''']]
<p class="glossary-hatnote"><span>Also '''coloured ball(s)''', '''colour(s)'''; American spelling '''color''' sometimes also used.</span></p>
<p class="glossary-hatnote"><span>Also '''colored ball(s)''', '''color(s)'''.</span></p>
In snooker, any of the object balls that are not reds.
In snooker, any of the object balls that are not reds.
}}
}}
Line 48: Line 48:


=== Multiple definitions for one term ===
=== Multiple definitions for one term ===
If a single {{Tnull|Term}} has multiple definitions, they are simply numbered with the {{Para|2|parameter}} explicitly. Think of the parameter as standing for "<strong>2</strong>nd or later definition". You can also call it {{Para|num}}, if you prefer.
If a single {{Tlx|Term}} has multiple definitions, they are simply numbered with the {{Para|2|parameter}} explicitly. Think of the parameter as standing for "<strong>2</strong>nd or later definition". You can also call it {{Para|num}}, if you prefer.


Example:
Example:
Line 55: Line 55:
  | style="border: 1px solid black; vertical-align: top;" | <syntaxhighlight lang="moin">
  | style="border: 1px solid black; vertical-align: top;" | <syntaxhighlight lang="moin">
{{Glossary}}
{{Glossary}}
{{Term|1=blubbermonster}}
{{Term|term=blubbermonster}}
{{Defn|1=Lorem ipsum dolor sit amet. |num=1}}
{{Defn|defn=Lorem ipsum dolor sit amet.|num=1}}
{{Defn|1=Consectetur adipisicing elit. |num=2}}
{{Defn|defn=Consectetur adipisicing elit.|num=2}}
{{Glossary end}}</syntaxhighlight>
{{Glossary end}}</syntaxhighlight>
  |-
  |-
  | style="border: 1px solid black; vertical-align: top;" | <blockquote>
  | style="border: 1px solid black; vertical-align: top;" | <blockquote>
{{Glossary}}
{{Glossary}}
{{Term|1=blubbermonster}}
{{Term|term=blubbermonster}}
{{Defn|1=Lorem ipsum dolor sit amet. |num=1}}
{{Defn|defn=Lorem ipsum dolor sit amet.|num=1}}
{{Defn|1=Consectetur adipisicing elit. |num=2}}
{{Defn|defn=Consectetur adipisicing elit.|num=2}}
{{Glossary end}}
{{Glossary end}}
</blockquote>
</blockquote>
Line 72: Line 72:


Because of the uneven length of definitions, it is usually more convenient to put the {{Para|2|}} before the {{Para|1}} description:
Because of the uneven length of definitions, it is usually more convenient to put the {{Para|2|}} before the {{Para|1}} description:
<blockquote>{{Tnull|Defn&nbsp;|2{{=}}1&nbsp;|1{{=}}Lorem ipsum dolor sit amet.}}</blockquote>
<blockquote>{{Tlx|Defn|2&equals;1|1&equals;Lorem ipsum dolor sit amet.}}</blockquote>
or
or
<blockquote>{{Tnull|Defn&nbsp;|num{{=}}1&nbsp;|1{{=}}Lorem ipsum dolor sit amet.}}</blockquote>
<blockquote>{{Tlx|Defn|num&equals;1|1&equals;Lorem ipsum dolor sit amet.}}</blockquote>


This is a very robust method, because it permits complex content like block quotations, nested lists, cross-reference hatnotes, and other block-level markup inside each definition. The definitions can also be independently linked.
This is a very robust method, because it permits complex content like block quotations, nested lists, cross-reference hatnotes, and other block-level markup inside each definition. The definitions can also be independently linked.
Line 165: Line 165:
The {{Para|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 <em>only</em> 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 {{Para|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 <em>only</em> 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 {{Para|class}} parameter will pass one or more space-separated CSS classes on to {{Tag|dd|o}} element, in addition to the automatically included class <code>glossary</code>. ''There is rarely any reason to do this.''
The {{Para|class}} parameter will pass one or more space-separated CSS classes on to {{Tag|dd|o}} element, in addition to the automatically included class <code>glossary</code>. ''There is rarely any reason to do this.''<includeonly>


<includeonly>{{Sandbox other||
<!-- CATEGORIES HERE, THANKS -->
<!-- CATEGORIES HERE, THANKS -->
[[Category:Glossary templates]]
[[Category:Definition list templates]]
[[Category:Definition list templates]]
}}</includeonly>
[[Category:Glossary templates]]</includeonly>

Latest revision as of 02:50, 11 September 2022


Usage

The template {{Defn}} is used in template-structured glossaries and other lists which express correlated properties in pairs to show how something is defined. It is a wrapper for <dd>...</dd>, the description list definition HTML element.

Pro forma usage is thus:

{{Glossary}}
{{Term|term=term}}
{{Defn|defn=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 unnamed or 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 fail: {{defn|The concept that the mass of a body is a measure of its energy content, expressed by the formula E=MC²}}

More complex usage might be:

{{Defn|1=Definition.|num=#|term=term_id}}

where |num=# 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 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 {{See also}} can be placed at the ends of, but inside the content of {{Defn}}s.

{{Glossary}}
{{Term|term=color ball|content=color ball {{Anchor|colored ball|colored balls|color|colors|color ball}}}}
{{Defn|defn=
[[commons:File:Set of Snookerballs.png|thumb|right|150px|A complete set of snooker balls, with six '''color balls''']]
<p class="glossary-hatnote"><span>Also '''colored ball(s)''', '''color(s)'''.</span></p>
In snooker, any of the object balls that are not reds.
}}
{{Glossary end}}
color ball
thumb|right|150px|A complete set of snooker balls, with six color balls

Also colored ball(s), color(s).

In snooker, any of the object balls that are not reds.

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 "2nd or later definition". You can also call it |num=, if you prefer.

Example:

{{Glossary}}
{{Term|term=blubbermonster}}
{{Defn|defn=Lorem ipsum dolor sit amet.|num=1}}
{{Defn|defn=Consectetur adipisicing elit.|num=2}}
{{Glossary end}}
blubbermonster
1.  Lorem ipsum dolor sit amet.
2.  Consectetur adipisicing elit.

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|num=1|1=Lorem ipsum dolor sit amet.}}

This is a very robust method, because it permits complex content like block quotations, nested lists, cross-reference hatnotes, and other block-level markup inside each definition. The definitions can also be independently linked.

Making the definition independently linkable

HTML5 update:

Most of the restrictions on the content of id have been removed, so id values no longer have to begin with an [a-z][A-Z] alphabetic character, avoid most punctuation marks, or suffer other such limitations. The MediaWiki engine is smart enough to auto-escape any problematic characters, on the fly.

To 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|num=1 |1=Lorem ipsum dolor sit amet. |term=blubbermonster}}
{{Defn|num=2 |1=Consectetur adipisicing elit. |term=blubbermonster}}
{{Term|1=snorkelweasel (noun)}}
{{Defn|1=Ut enim ad minim veniam |term=snorkelweasel (noun)}}
{{Glossary end}}
blubbermonster
1.  Lorem ipsum dolor sit amet.
2.  Consectetur adipisicing elit.
snorkelweasel (noun)
Ut enim ad minim veniam
 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.&nbsp;&nbsp;Lorem ipsum dolor sit amet.</dd>
  <dd class="glossary" id="blubbermonster-defn2">2.&nbsp;&nbsp;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|num=2|1={{anchor|elit|Elit}}Consectetur adipisicing elit.|term=blubbermonster}}

Examples

This shows both a very simple then a rather complex instance:

<div style="color: #000000; background: none; overflow: hidden; page-break-after: avoid; font-size: 1.5em; font-family: Georgia,Times,serif; margin-top: 1em; margin-bottom: 0.25em; line-height: 1.3; padding: 0; border-bottom: 1px solid #AAAAAA;">A&ndash;M</div>
{{Glossary}}
{{Term|1=applesnorkel}}
{{Defn|1=Definition of term 1.}}
{{Term|term=arglefarst |content=''arglefarst''{{Anchor|argle-farst|argle farst}} }}
{{Defn|num=1 |defn=
Beginning of first definition of term 2
<blockquote style="margin-top: 0; margin-bottom: -0.5em;">Block quotation in first definition of term 2.</blockquote>
Conclusion of first definition of term 2.
}}
{{Defn|num=2 |defn=Second definition of term 2.}}
{{Glossary end}}
A–M
applesnorkel
Definition of term 1.
arglefarst
1.  Beginning of first definition of term 2

Block quotation in first definition of term 2.

Conclusion of first definition of term 2.
2.  Second definition of term 2.

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.