Module:Annotated link/doc
This is a documentation subpage for Module:Annotated link. It may contain usage information, categories and other content that is not part of the original module page. |
This Lua module is used on approximately 11,000 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
This module depends on the following other modules: |
This module is invoked by {{annotated link}} . |
This module may, by design, output alarming informational messages under certain circumstances; if these messages are displayed on any page invoking this module directly, or via any other module or template using it, the page will be added to Category:Pages displaying alarming messages about Module:Annotated link. |
Usage
[edit]{{#invoke:Annotated link|main |name= |display= |quote= |abbr= |abbr_title= |template_link= |aka= |wedge= |dash= |desc_first_letter_case= |space_cat= |prefix_parentheses= |link_lang= |link_lang_italic= |link_lang_nocat= |link_lang_size= |link_lang_cat= |link_lang_rtl= |aka_lang= |aka_lang_italic= |aka_lang_nocat= |aka_lang_size= |aka_lang_cat= |aka_lang_rtl= |wedge_lang= |wedge_lang_italic= |wedge_lang_nocat= |wedge_lang_size= |wedge_lang_cat= |wedge_lang_rtl= |only= |prefer= |fallback= |desc_lang_italic= |desc_lang_nocat= |desc_lang_size= |desc_lang_cat= |desc_lang_rtl= |desc_lang_no= }}
name
[edit]By providing only the required page name (including namespace), the module will use Module:GetShortDescription to look for an explicit {{short description}}
in that page, but if not found, will try to fetch the wikidata description. This is equivalent to stating |prefer=explicit
; see #prefer (below). If a description is found, it will be appended to a link created for the named page in the style expected for the likes of MOS:SEEALSO. If no description is found, the link will be created but no extra information will be appended – unless the extensive following parameters are employed.
Any foreign language (i.e. not en) text supplied to this module or retrieved by Module:GetShortDescription may be appropriately formatted, in accordance with MOS:OTHERLANG, via the parameters for Module:Lang; see #Foreign language text (below).
As this module is responsible for the use of all features of Module:GetShortDescription; all the parameters for that module are available through this module; see #Module:GetShortDescription parameters (below).
- Markup:
{{#invoke:Annotated link|main |name=The Partisan }}
- Result: The Partisan – 1943 song by Anna Marly and Emmanuel d'Astier, popularised by Leonard Cohen in 1969
This and the following example song titles should be double quoted per MOS:POPMUSIC; that will be handled by #quote (below), and you will see the parameters in use where appropriate from here on.
display
[edit]Providing a value for |display=
will format the piped link with a display string:
- Markup:
{{#invoke:Annotated link|main |name=Jump (Every Little Thing song) |display=Jump |quote=yes }}
- Result: "Jump" – 2001 single by Every Little Thing
quote
[edit]Stating |quote=yes
will double quote the link:
- Markup:
{{#invoke:Annotated link|main |name=The Partisan |quote=yes }}
- Result: "The Partisan" – 1943 song by Anna Marly and Emmanuel d'Astier, popularised by Leonard Cohen in 1969
- Markup:
{{#invoke:Annotated link|main |name=Jump (Every Little Thing song) |display=Jump |quote=yes }}
- Result: "Jump" – 2001 single by Every Little Thing
abbr
[edit]Providing a value for |abbr=
will append the link with the provided parenthesized abbreviation with <abbr>...</abbr>
semantic markup:
- Markup:
{{#invoke:Annotated link|main |name=Confédération Mondiale des Activités Subaquatiques |display=World Underwater Federation |abbr=CMAS }}
- Result: World Underwater Federation (CMAS) – International organisation for underwater activities
An optional |abbr_title=
may be provided:
- Markup:
{{#invoke:Annotated link|main |name=Confédération Mondiale des Activités Subaquatiques |display=World Underwater Federation |abbr=CMAS |abbr_title=Confédération Mondiale des Activités Subaquatiques }}
- Result: World Underwater Federation (CMAS) – International organisation for underwater activities
template_link
[edit]If the linked page is in the Template namespace; the link will be formatted in the manner expected by {{template link}}
:
- Markup:
{{#invoke:Annotated link|main |name=Template:Annotated link }}
- Result: {{Annotated link}} – template used to display and annotate a wikilink using the short description of the linked page
Stating |template_link=code
will display the link formatted with <code>...</code>
:
- Markup:
{{#invoke:Annotated link|main |name=Template:Annotated link |template_link=code }}
- Result:
{{Annotated link}}
– template used to display and annotate a wikilink using the short description of the linked page
The previously described parameters – |display=
, |quote=
, |abbr=
and |abbr_title=
– and all foreign language link options under |link_lang=
(see #Foreign language text (below)) will be ignored if the link is in the Template namespace.
Stating |template_link=no
will disable this special link formatting and the ignorance of the above-mentioned parameters:
- Markup:
{{#invoke:Annotated link|main |name=Template:Annotated link |template_link=no |display=Annotated link }}
- Result: Annotated link – template used to display and annotate a wikilink using the short description of the linked page
aka
[edit]Providing a value for |aka=
will append the link (and |abbr=
if provided) with a useful alternative name:
- Markup:
{{#invoke:Annotated link|main |name=The Partisan |quote=yes |aka=La Complainte du partisan }}
- Result: "The Partisan", also known as La Complainte du partisan – 1943 song by Anna Marly and Emmanuel d'Astier, popularised by Leonard Cohen in 1969
- Markup:
{{#invoke:Annotated link|main |name=Confédération Mondiale des Activités Subaquatiques |display=World Underwater Federation |abbr=CMAS |aka=Confédération Mondiale des Activités Subaquatiques }}
- Result: World Underwater Federation (CMAS), also known as Confédération Mondiale des Activités Subaquatiques – International organisation for underwater activities
These and some following examples contain foreign language text that, per MOS:OTHERLANG, should be appropriately displayed and declared via HTML markup as being of that language; this will be handled by various parameters; see #Foreign language text (below) for full details, and you will see the parameters in use where appropriate from here on.
wedge
[edit]Providing a value for |wedge=
will append the link (and |abbr=
and |aka=
in that order if either or both is provided) with any extra details felt suitable:
- Markup:
{{#invoke:Annotated link|main |name=The Partisan |quote=yes |wedge=from the album ''[[Songs from a Room]]'' |aka=La Complainte du partisan |aka_lang=fr }}
- Result: "The Partisan", also known as La Complainte du partisan, from the album Songs from a Room – 1943 song by Anna Marly and Emmanuel d'Astier, popularised by Leonard Cohen in 1969
For complementary foreign language params; see #Foreign language text (below).
dash
[edit]For list consistency, per MOS:LISTFORMAT; by providing a value for |dash=
; the dash between the short description and the preceding text may be exchanged for a suitable alternative:
- Markup:
{{#invoke:Annotated link|main |name=The Partisan |quote=yes |dash=, }}
- Result: "The Partisan", 1943 song by Anna Marly and Emmanuel d'Astier, popularised by Leonard Cohen in 1969
desc_first_letter_case
[edit]Short descriptions on en Wikipedia should be formatted with an uppercase first letter, but the typical application of this module will require the first character to be lowercase. By default; this module will ensure all the short descriptions retrieved by Module:GetShortDescription are transformed to start with a lowercase first letter, but this may be overridden if required using |desc_first_letter_case=upper
or |desc_first_letter_case=lower
.
prefix_parentheses
[edit]Sometimes date ranges in short descriptions are included in a suffixed parenthetical, per WP:SDDATES e.g. for Jimmy Wales: "Co-founder of Wikipedia (born 1966)".
However when listing people in disambiguation pages per MOS:DABPEOPLE, birth and death dates in parentheticals should precede the comma, as in "Jimmy Wales (born 1966), co-founder of Wikipedia".
If the optional parameter |prefix_parentheses=y
is provided, this behavior will be performed, so any suffixed parenthetical text will be moved to before the dash (or comma) separator.
Note that current consensus is to not use {{annotated link}} for disambiguation pages; see Template:Annotated link/doc#Usage.
space_cat
[edit]In the event that a short description with no spaces is retrieved and displayed; pages transcluding the annotation will be added to Category:Pages displaying short descriptions with no spaces via Module:Annotated link for interested editors to monitor for potential issues. Potential issues might include: garbage keyboard mashings, a typo of "none" while attempting to disable an explicit {{short description}}
or some misunderstanding on the part of an editor placing one.
If the transclusion on a page in this category is checked and it is determined to be okay; stating a value for |space_cat=
in the invocation will disable the categorisation. This should only be done on a case by cases basis, as opposed to as a default, or no potentially inappropriate annotations will be categorised; i.e. allow this parameter to be set in individual transclusions of templates which invoke this module, like {{annotated link}}
, rather than in the template code.
Module:GetShortDescription parameters
[edit]The value provided with |name=
is passed through this module to Module:GetShortDescription where it is also required; the expectations of this module are described in #name (above). Module:GetShortDescription uses the
value to find a {{short description}}
in the named page, or various alternatives depending on parameter values.
only
[edit]Providing a value for |only=
will limit the search to being only for the stated description. If no description is found, the result will be an empty string, unless a fallback is provided; see #fallback (below).
- Stating
|only=explicit
will limit the search to only short descriptions set by use of{{short description}}
on the searched page. - Stating
|only=wikidata
will limit the search to only wikidata descriptions.
prefer
[edit]Providing a value for |prefer=
will initiate the search for the stated description, but try for the alternative if none is found. If no description is found, the result will be an empty string, unless a fallback is provided; see #fallback (below).
- State
|prefer=explicit
to use the explicit short description if available, or try for the wikidata description if not. - State
|prefer=wikidata
to use the wikidata description if available, or try for an explicit short description if not.
fallback
[edit]If a |fallback=
value is provided, and no description is found by the expressed route, the appended description will be the stated fallback value.
Foreign language text
[edit]Module:GetShortDescription may return a foreign language (i.e. not en) wikidata description; editor discretion determines if that should be displayed. If it is displayed; it will be in accordance with MOS:OTHERLANG, by Module:Lang (the module powering {{lang}}
). The appropriate language code will be set automatically, but all other parameters of {{lang}}
are available to affect the formatting of the returned description:
Use |lang_italic=
, |lang_nocat=
, |lang_size=
, |lang_cat=
and |lang_rtl=
; see lang's documentation for details.
If the editor determines that {{lang}}
formatting is not appropriate; it may be disabled with |lang_no=yes
. The following {{lang}}
formatting parameters are optional, so there is no off-switch required.
link_lang
[edit]If the link text is of a foreign language (again; editor discretion); control the formatting with: |link_lang=<language code>
, |link_lang_italic=
, |link_lang_nocat=
, |link_lang_size=
, |link_lang_cat=
and |link_lang_rtl=
aka_lang
[edit]If the |aka=
text is of a foreign language (again; editor discretion); control the formatting with: |aka_lang=<language code>
, |aka_lang_italic=
, |aka_lang_nocat=
, |aka_lang_size=
, |aka_lang_cat=
, |aka_lang_rtl=
wedge_lang
[edit]If the |wedge=
text is of a foreign language (again; editor discretion); control the formatting with: |wedge_lang=<language code>
, |wedge_lang_italic=
, |wedge_lang_nocat=
, |wedge_lang_size=
, |wedge_lang_cat=
, |wedge_lang_rtl=