Hatnote/doc

The hatnotes used for adding links between articles where more context is important.
Broadly speaking, a hatnote should answer a readers' question: Am I on the right page?

## Dependencies

* Module:Hatnote
* Module:Hatnote/i18n (for this documentation)
* Module:I18n (for this documentation)
* [[:Category:**Script error: No such module "i18n".**]]
* [[:Category:**Script error: No such module "i18n".**]]

## Usage

Basic usage

```
{{hatnote|*text*}}

```

All parameters

```

```

## Parameters

This template accepts the following parameters:

* `1` - the hatnote text (required)
* `extraclasses` - any extra CSS classes to be added.
* `selfref` - If set to "yes", "y", "true" or "1", adds the CSS class "selfref". This is used to denote self-references.
* `category` - If set to "no", "n", "false", or "0", suppresses the error tracking category ([[:Category:**Script error: No such module "i18n".**]]). This has an effect only if the leftmost parameter (the hatnote text) is omitted.

## Example

* `{{hatnote|Example hatnote text}}` → Example hatnote text

## Typical types

{{Main}}, {{Further}} are very similar, but indicate either the primary page for a topic or more detailed related topic. They have a nearly identical set of parameters.

{{Main}}
When an article is large, it often has a summary and a link to a main article. This template is used after the heading of the summary, to indicate a link to the subtopic article that has been summarized.
{{Further}}
Used to link to articles containing further information on this topic.
{{See also}}
Used to link to additional articles on related topics.
{{Main|*<Main Page>*}} →
Main article: Main Page
{{Main|*<Main Page>*|*<Main Page>*}} →
Main articles: Main Page and Main Page

* `1`, `2`, `3`, ... – the pages to link to. If no page names are specified, the current page name is used instead (without the namespace prefix). Categories and files are automatically escaped with the colon trick, and links to sections are automatically formatted as *page § section*, rather than the MediaWiki default of *page#section*.
* `l1`, `l2`, `l3`, ... *or*`label 1`, `label 2`, `label 3`, ... – optional labels for each of the pages to link to (this is for articles where a piped link would be used). Note that the extra parameters use a lower case 'L', for example, `l1`, not `L1`.
* `selfref` – if set to "yes", "y", "true" or "1", adds the CSS class "selfref". This is used to denote self-references.

## Disambiguation

Templates such as {{About}} and {{For}} are to be used in cases where a disambiguation is not needed. In general, disambiguation pages should only be used for 4 or more titles that are mostly or entirely identical, except for a qualifier.

{{About}}
Links the reader to other articles with similar titles or concepts that they may have been seeking instead. The template has several formats, including:
{{About|*<Use1>*}} →
 For other uses, see Hatnote/doc (disambiguation).
{{About|*<Use1>*|*<>*|*<Main Page>*}} →
This article is about Use1. For other uses, see Main Page.
This article is about Use1. For other uses, see Main Page and Main Page.
{{About|*<Use1>*|*<Use2>*|*<Main Page>*}} →
This article is about Use1. For Use2, see Main Page.
This article is about Use1. For Use2, see Main Page and Main Page.
This article is about Use1. For Use2, see Main Page. For other uses, see Hatnote/doc (disambiguation).

Alternately, a `section=yes` parameter can be added to the {{About}} template for use at the top of a section. When using this parameter, the wording in the template changes to specify that it is being used in a section:

{{About|*<Use1>*|*<section=yes>*}} →
This section is about Use1. For other uses, see Hatnote/doc (disambiguation).
This section is about Use1. For other uses, see Main Page.
This section is about Use1. For Use2, see Main Page.
This section is about Use1. For Use2, see Main Page and Main Page.
This section is about Use1. For Use2, see Main Page. For other uses, see Hatnote/doc (disambiguation).

A text option adds text to the end; note that this should be only used when truly necessary, and the other hatnote templates listed below don't suffice. This template also supports selfref.

{{For}}
Provides links to up to four articles or disambiguation pages. It accepts zero to five parameters.
If used without parameters on a page named *Foo*, the result is
For **Script error: No such module "i18n".**, see [[:Foo (**Script error: No such module "i18n".**)]].
The first parameter changes the hatnote itself and should be plain text, e.g. {{For|*<**Script error: No such module "i18n".**>*}} yields
For **Script error: No such module "i18n".**, see [[:Foo (**Script error: No such module "i18n".**)]].
The second parameter is used to change the resultant link, e.g. {{For|*<**Script error: No such module "i18n".**>*|*<Main Page>*}} yields
For **Script error: No such module "i18n".**, see Main Page.
The third, fourth and fifth parameters are used to give one, two, or three supplementary links

* For **Script error: No such module "i18n".**, see Main Page and Main Page.

* For **Script error: No such module "i18n".**, see Main Page, Main Page, and Main Page.

* For **Script error: No such module "i18n".**, see Main Page, Main Page, Main Page, and Main Page.

## Errors

If no hatnote text is supplied, the template will output the following message:

* **Error: no text specified (help).**

If you see this error message, it is for one of four reasons:

1. No parameters were specified (the template code was `{{hatnote}}`). Please use `{{hatnote|*text*}}` instead.
2. Some parameters were specified, but the hatnote text wasn't included. For example, the template text `{{hatnote|extraclasses=seealso}}` will produce this error. Please use (for example) `{{hatnote|*text*|extraclasses=seealso}}` instead.
3. The hatnote text was specified, but that text contains an equals sign ("="). The equals sign has a special meaning in template code, and because of this it cannot be used in template parameters that do not specify a parameter name. For example, the template code `{{hatnote|2+2=4}}` will produce this error. To work around this, you can specify the parameter name explicitly by using `1=` before the hatnote text, like this: `{{hatnote|1=2+2=4}}`.
4. You tried to access Module:Hatnote directly by using `{{#invoke:hatnote|hatnote|*text*}}`. Use of #invoke in this way has been disabled for performance reasons. Please use `{{hatnote|*text*}}` instead.

Pages that contain this error message are tracked in [[:Category:**Script error: No such module "i18n".**]].

## Technical details

This template uses the Lua templating language, and more information can be found on the Global Lua Module page. **For a traditional wikitext version of this template, see Hatnote on Templates Wiki**.

The HTML code produced by this template looks like this:

* `<div role="note" class="hatnote">*hatnote text*</div>`

## See also

* Template:Main
* Template:Further
* Template:See also
* Template:About
* Template:For

* wikipedia:module:Hatnote
* wikipedia:module:Hatnote list