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 module is rated as pre-alpha. It is incomplete and may or may not be in active development. Do not use it in article namespace pages. A module remains in pre-alpha until its developer, or another editor who adopts it if it is abandoned for some time, considers the basic structure complete. |
| This module depends on the following other modules: |
Usage
{{#invoke:AnnotatedLink|main
|name= |display= |quote= |abbr= |aka= |wedge= |dash= |desc_first_letter_case=
|link_lang= |link_lang_italic= |link_lang_nocat= |link_lang_size= |link_lang_cat= |link_lang_rtl=
|wedge_lang= |wedge_lang_italic= |wedge_lang_nocat= |wedge_lang_size= |wedge_lang_cat= |wedge_lang_rtl=
|aka_lang= |aka_lang_italic= |aka_lang_nocat= |aka_lang_size= |aka_lang_cat= |aka_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. 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 or retrieved by this module can 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), but 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:
- 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".
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, but 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; 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)) will append an inappropriately formatted description:
- Markup:
{{#invoke:AnnotatedLink|main |name=The Partisan |quote=yes |only=wikidata }} - Result: Script error: No such module "AnnotatedLink".
By stating |desc_first_letter_case=upper the module resolves that issue:
- Markup:
{{#invoke:AnnotatedLink|main |name=The Partisan |quote=yes |only=wikidata |desc_first_letter_case=upper }} - 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.
link_lang
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=