Jump to content

Module:Annotated link/doc

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Fred Gandt (talk | contribs) at 01:27, 26 January 2023 (desc_first_letter_case: adjusted since making uppercase the default). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Usage

{{#invoke:AnnotatedLink|main

  |name= |display= |quote= |abbr= |abbr_title= |aka= |wedge= |dash= |desc_first_letter_case=

  |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

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 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:AnnotatedLink|main |name=The Partisan }}
Result: Script error: No such module "AnnotatedLink".

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

Providing a value for |display= will format the piped link with a display string:

Markup: {{#invoke:AnnotatedLink|main |name=Jump (Every Little Thing song) |display=Jump |quote=yes }}
Result: Script error: No such module "AnnotatedLink".

quote

Stating |quote=yes will double quote the link:

Markup: {{#invoke:AnnotatedLink|main |name=The Partisan |quote=yes }}
Result: Script error: No such module "AnnotatedLink".
Markup: {{#invoke:AnnotatedLink|main |name=Jump (Every Little Thing song) |display=Jump |quote=yes }}
Result: Script error: No such module "AnnotatedLink".

abbr

Providing a value for |abbr= will append the link with the provided parenthesized abbreviation with <abbr>...</abbr> semantic markup:

Markup: {{#invoke:AnnotatedLink|main |name=Confédération Mondiale des Activités Subaquatiques |display=World Underwater Federation |abbr=CMAS }}
Result: Script error: No such module "AnnotatedLink".

An optional |abbr_title= may be provided:

Markup: {{#invoke:AnnotatedLink|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: Script error: No such module "AnnotatedLink".

aka

Providing a value for |aka= will append the link (and |abbr= if provided) with a useful alternative name:

Markup: {{#invoke:AnnotatedLink|main |name=The Partisan |quote=yes |aka=La Complainte du partisan }}
Result: Script error: No such module "AnnotatedLink".
Markup: {{#invoke:AnnotatedLink|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: Script error: No such module "AnnotatedLink".

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

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:AnnotatedLink|main |name=The Partisan |quote=yes |wedge=from the album ''[[Songs from a Room]]'' |aka=La Complainte du partisan |aka_lang=fr }}
Result: Script error: No such module "AnnotatedLink".

dash

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:AnnotatedLink|main |name=The Partisan |dash=, }}
Result: Script error: No such module "AnnotatedLink".

desc_first_letter_case

Since Module:GetShortDescription could return a description from wikidata, which are formatted with a lowercase first letter, whereas short descriptions on en Wikipedia are formatted with an uppercase first letter, and simply to give control over that display to the editor; this module will automatically transform the first character of wikidata descriptions to uppercase. If desired; stating either |desc_first_letter_case=upper or |desc_first_letter_case=lower will set the first character accordingly:

Explicitly requesting the wikidata description for an entity (to be explained in #Module:GetShortDescription parameters (below)) would append an inappropriately formatted description, but this is fixed:

Markup: {{#invoke:AnnotatedLink|main |name=The Partisan |quote=yes |only=wikidata }}
Result: Script error: No such module "AnnotatedLink".

If appropriate; stating |desc_first_letter_case=lower the module overrides that default:

Markup: {{#invoke:AnnotatedLink|main |name=The Partisan |quote=yes |only=wikidata |desc_first_letter_case=lower }}
Result: Script error: No such module "AnnotatedLink".

Module:GetShortDescription parameters

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

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

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

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

Module:GetShortDescription may return a foreign language 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.

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

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

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=