Fandom Developers Wiki

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?



The module is designed to be used as a regular template. To do that just create a template (ex: Template:Hatnote) with following content:


Now the template you created will accept parameters documented below. To implement Main template, the same module is used with a different parameter. Create a template (ex: Template:Main) with:


To create a template accepting the parameters documented below. These parameters can also be passed directly to the #invoke and will act as defaults. Their values will be overridden by same ones passed to the template.



Basic usage
All parameters
{{hatnote|text|extraclasses=extra classes|selfref=yes|category=no}}


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:Hatnote templates with errors). This has an effect only if the leftmost parameter (the hatnote text) is omitted.


Examples below may be applied additional styles which only exist in this wiki.
  • {{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.

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.
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|<Main Page>|<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, ... orlabel 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.


Examples below may have some of their links removed to prevent redlinks in documentation.

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.

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>|<>|<Main Page>}}
{{About|<Use1>|<>|<Main Page>|<and>|<Main Page>}}
{{About|<Use1>|<Use2>|<Main Page>}}
{{About|<Use1>|<Use2>|<Main Page>|<and>|<Main Page>}}
{{About|<Use1>|<Use2>|<Main Page>|<other uses>}}

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>|<>|<Main Page>|<section=yes>}}
{{About|<Use1>|<Use2>|<Main Page>|<section=yes>}}
{{About|<Use1>|<Use2>|<Main Page>|<and>|<Main Page>|<section=yes>}}
{{About|<Use1>|<Use2>|<Main Page>|<other uses>|<section=yes>}}

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.

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 other uses, see Foo (disambiguation).
The first parameter changes the hatnote itself and should be plain text, e.g. {{For|<similar terms>}} yields
For similar terms, see Foo (disambiguation).
The second parameter is used to change the resultant link, e.g. {{For|<similar terms>|<Main Page>}} yields
For similar terms, see Main Page.
The third, fourth and fifth parameters are used to give one, two, or three supplementary links
the last being produced by e.g. {{For|<similar terms>|<Main Page>|<Main Page>|<Main Page>|<Main Page>}}.


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:Hatnote templates with errors.

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>


For styling similar to that visible on this wiki, you can use the following rule in your site-wide CSS:

.hatnote {
    background-color: rgba(171, 171, 171, 0.11);
    border-collapse: collapse;
    border-left: 10px solid var(--theme-accent-color);
    line-height: 1.5em;
    margin: 0;
    margin-bottom: 10px;
    padding: 10px;
    text-align: center;
    overflow: hidden;

In MediaWiki:FandomMobile.css, the selector .context-link should be used instead of .hatnote, as all other classes except for context-link get stripped from hatnote elements on mobile.

See also[]