Template:INBannerMeta/doc

INBannerMeta is a meta-template, which can be used to create IngenProject banners, enabling new projects to easily create a banner to place on article talk pages, ensuring standardisation between projects. A list of all IngenProject banners using this meta-template can be found at [//ingen.miraheze.org/w/index.php?title=Special:WhatLinksHere/Template:INBannerMeta&namespace=10&hidelinks=1&hideredirs=1&limit=250 What links here: INBannerMeta]

This is a meta template. It is used to build other templates. Do not transclude this template directly on to talk pages when you want to tag a page. Instead, use the template provided by the IngenProject.

Syntax
INBannerMeta can be used at varying levels of complexity, from the very simple to the extremely complicated. Simple options are listed here first, with complexity increasing down the page.

INBannerMeta takes two different types of parameters: formatting and display. The formatting parameters customise the meta-template for a particular project, defining link targets, categories, images, and text. All formatting parameters use UPPERCASE and underscores (_), instead of spaces (e.g.  and  ). Display parameters customise the template output for each individual article that the banner is displayed on. These are the parameters which are entered on the talk page (, , etc.) and they must be 'passed through' the project banner to the meta-template underneath. To 'pass' the parameter, you need to include the code.

Parameters
In the examples below, a IngenProject banner will be constructed for the (currently) nonexistent IngenProject Tulips.

Simple options

 * (Required) – the name of the project without the word "IngenProject", used in a variety of contexts; first letter should usually be capitalised. Eg:
 *  – it is assumed that page name of the banner template is  '''. If this is not the case then define the page name in this parameter. Eg:
 * – it is assumed that the project is located at  . If this is not the case, then define the full link to the project page in this parameter. Eg:
 * – if your project is not called   then define the exact name of the project with this parameter.
 * – if auto is set then automatically generated documentation will be added to the template page. Other options are:
 * custom – this will transclude the /doc page to allow custom (not automatic) documentation to be displayed. This can be used instead of the customary  at the bottom of the template.
 * auto+custom – this will include the automatic documentation and additionally transclude the /doc page. This allows extra instructions and categories to be included.
 * none – (or left blank) will not include any documentation.
 * – this allows the template to detect if it has been substituted instead of transcluded and give an error message.  
 * (Required) – the 'category' parameter must be passed through the template to enable category optout. E.g.:  .
 * (Required) – the 'listas' parameter must be passed through the template. Eg:
 * – the location of an image to use in the top-left corner of the banner. Do not include the "File:" prefix. Images used on IngenProject banners must be free images – fair use images are not permitted. Eg:
 * – the size of . Default is 80px. Eg:
 * – the location of an image to use in the top-right corner of the banner. Do not include the "File:" prefix. Images used on IngenProject banners must be free images – fair use images are not permitted. Eg:
 * – the size of . Default is 80px. Eg:
 * – the default text is "This article is within the scope of  IngenProject , a collaborative effort to improve the coverage of    articles on Ingenpedia. If you would like to participate, please visit the project page, where you can join the  Talk:  discussion and see a list of open tasks." If defined, the alternate message will be displayed.
 * – the default article is ; alternatively, the linked article can be changed to either a raw article title or more complicated text. Eg: (default)   &rarr; "...the coverage of tulips on Ingenpedia..." or (alternate)   &rarr; "...the coverage of tulips, liliaceae and related articles on Ingenpedia..."
 * – if the IngenProject maintains a portal, define this parameter with the portal name. The associated image is held centrally at Module:Portal/images. Eg:
 * – the default is no main category created; if defined, all pages displaying the template will be sorted into Category: . Eg:  → Category:IngenProject Tulips articles
 * – if defined, contains text that will appear across the bottom of the banner and above the collapsed section (if one is present). Please do not use this parameter to 'hook' extra code to the bottom of the template – see the hooks section below for a better solution.

Example:
 * Produces:

Assessment
Many projects use the Version 1.0 Assessment schema to grade their articles by quality and the corresponding importance scale to place their articles in order of priority. In order to implement IN:1.0, which uses a bot to automatically compile its statistics tables, you will need to follow the instructions at /Using the bot, as well as those outlined here.
 * (Required)– the class parameter must be passed through, if the quality scale is used. Eg:
 * – configures the quality scale; possible options are:
 * standard – enables the 'standard' quality scale (FA, A, GA, B, C, Start, Stub, FL, List, NA). (This is the default behaviour, if the class parameter is used.)
 * extended – enables the 'standard' quality scale plus some additional values (Category, Disambig, Draft, File, Portal, Project and Template).
 * inline – allows for a simple custom quality scale to be used, generally used with Class mask.
 * subpage – allows for a more complex custom quality scale to be used using a subpage called /class. See custom masks below for further details.
 * the auto parameter must be passed through, if the auto assess option is needed. Eg:  Projects which use bots to automatically categorise articles can have the bot add the following parameter to the project banner, which triggers the display of a small notice that the article was tagged by a bot rather than a human:
 * , for an article which includes a stub template, to indicate that it has automatically been rated Stub-class;
 * , to show that the class has automatically been inherited from other IngenProject's assessments on the same page;
 * , to show that the class has automatically been deduced from the length of the article.
 * – if defined, all articles with the auto parameter will be categorised into Category: . By default, they are categorised into Category:Automatically assessed  articles. Eg:   → Category:Automatically assessed Tulip and Daffodil articles
 * ,,  ,  ,  ,   – the six B-class criteria parameters should only be passed through if the B-class checklist hook is used.
 * – if defined, enables the standard importance scale (Top, High, Mid, Low, NA, Unknown). Eg:
 * – configures the importance scale, if used. The possible options are:
 * standard – enables the 'standard' importance scale (Top, High, Mid, Low, NA and Unknown). (This is the default behaviour.)
 * inline – allows for a simple custom importance scale to be defined, generally with Importance mask.
 * subpage – allows for a more complex custom importance scale to be used using a subpage called /importance.
 * – the link to a IngenProject-specific quality (and/or importance) scale. If there is a page at   then this will be used by default. To override this, you can set this parameter to no. For more details, see here.
 * – articles are sorted into categories based on their quality; so "Featured Articles" on Tulips would be categorised by default into Category:FA-Class Tulips articles. If this parameter is defined, featured articles would instead be categorised into Category:FA-Class . Eg:   → Category:FA-Class Liliaceae articles

Example:
 * Produces:

Alerts and notes
Built into INBannerMeta is the ability to display a number of other fields that contain useful information about the article. There are also three predefined fields for: The parameters are:
 * 1) articles which have been automatically assessed by a bot (see above);
 * 2) articles in need of immediate attention;
 * 3) articles in need of an infobox.
 * – pass this parameter through to enable the use of the attention note. Eg:, then by including   on the talk page.
 * – if defined, all articles displaying the attention note will be categorised into Category: . By default, they are categorised into Category: articles needing attention. Eg:   → Category:Floridiae taskforce articles needing attention. A value of   results in no categorisation.
 * – pass this parameter through to enable the use of the needs-infobox note. Eg:, then by including   on the talk page.
 * – if defined, all articles displaying the needs-infobox note will be categorised into Category: . By default, they are categorised into Category: articles needing infoboxes. Eg:   → Category:Floridiae taskforce articles needing infoboxes. A value of   results in no categorisation.
 * – pass this parameter through to trigger any defined note. Eg:, then by including   on the talk page. Up to five notes can be specified in the core banner.
 * – the text of note 1. E.g.: This page has been marked as needing a photograph. If this is left blank there is no visual output.
 * – an image can be defined for each note. Remember that all images must be free, not fair-use. Eg:
 * – if defined, all articles displaying note 1 will be categorised into Category: . Eg:  → Category:Ingenpedia requested photographs of Floridiae
 * – when more than a threshold number of notes and alerts are triggered on a page, they are automagically collapsed into a show/hide box. The threshold number can be customised by setting this parameter to the maximum number of notes on a page that will not trigger the collapse.  The default is 3, so if three notes are triggered on a page, they will not be collapsed, but if a fourth is also triggered, the collapse box appears.  So setting 0 will always create a collapse box (if there are any notes to fill it), while 999 will never trigger a collapse box. See also the /notecounter hook. Eg:
 * – the heading for the collapsed section; the default is More information: Eg:
 * – the size of the image used for the icons. (It is recommended to precede the size with "x" as this specifies the height of the image instead of the width, which results in a neater banner because all rows have equal height.) The default is a height of 25px. Eg:

Example:
 * Produces:

Task forces
INBannerMeta can accommodate up to five task forces, each with its own image, links and importance scale, if desired. (More than five task forces can be supported through the use of hooks.) The following parameters are available:
 * – this parameter must be passed through to enable and trigger the display of the task force section. Eg:
 * – the full page name of the task force's project page. Eg:
 * – the name of the task force. This is used as the label for the task force link (unless TF_1_TEXT is used instead). Eg:
 * – if defined, a link of the form "/ | " is added after the main project's name when the banner is collapsed inside a IngenProject banner shell. Eg:
 * – if defined, replaces the default "This page is supported by..." text. E.g.:   If defined to be "none", then no output will be displayed, although appropriate categories will still be added.
 * – an image can be defined for each task force. Remember that all images must be free, not fair-use. Eg:
 * – if defined, enables the quality categorisations for the main project (e.g.: Category:FA-Class Tulips articles) to be duplicated for the task force. The class arising from class and QUALITY_SCALE will be used; Eg:
 * – if defined, enables the use of a separate importance (or priority, if used) scale for the task force.Eg:
 * (Required if quality or importance assessments are used) – the assessment category to be used for the task force-specific quality and importance assessments. Identical in syntax to ASSESSMENT_CAT. Eg:  → Category:FA-Class Floridiae articles
 * – if defined, all pages displaying "tf 1" will be categorised into Category: . Eg:  → Category:Floridiae articles
 * – the size of the taskforce icons. (It is recommended to precede the size with "x" as this specifies the height of the image instead of the width, which results in a neater banner because all rows have equal height.) The default is a height of 25px. Eg:

Example:
 * Produces:

Hooks
INBannerMeta incorporates a number of 'hooks' where advanced or customised features can be added. These should take the form of a subtemplate passed to the relevant hook parameter. Any relevant parameters should then be passed to the hook template – it may be necessary to repeat parameters that are already passed to the main template (category and class are commonly used). If you write a hook that you think other projects could use, please copy or move it to a subpage of Template:INBannerMeta/hooks and add it to the list on that page.

Custom masks
INBannerMeta uses a mask to normalise the values given to the class parameter, to ensure that invalid inputs are discarded (e.g. cheesecake) and that equivalent inputs appear the same (e.g. FA and fA). This mask effectively controls which extended assessment scale values are accepted by the template (e.g. "Template-Class", "Redirect-Class", etc.). Projects which want to use more obscure assessment classes (e.g. "Future-Class", "Bplus-Class", etc.) or to not use all of the standard classes (e.g. not using "C-Class") can define their own custom mask, which will override INBannerMeta's default.

Other details
This meta-template automatically categorises all instances (i.e. specific project banners) into a subcategory of Category:IngenProject banner templates. It is not necessary to include a category link in the documentation for each project banner. Any project banners with errors are automatically added to Category:IngenProject banners with formatting errors.

The core INBannerMeta template:
 * /core

To reduce the byte-count of banners that do not make full use of INBannerMeta's features, most of the optional features are broken out into subpages:
 * /doc – the documentation you are now reading.
 * /importancescale – the importance classification system.
 * /importance – used in conjunction with Template:Importance mask to normalise the value of the importance parameter.
 * /istemplate – tests the type of the current page (i.e. article talk page, templatepage, or demonstration).
 * /locwarning – warns when the banner template is used on a non-talk page.
 * /substwarning – warns when a banner template is substituted.
 * /note – an individual note.
 * /taskforce – the code for each task force display.
 * /templatepage – the categories and notes that only appear on the template page.
 * /qualityscale – the quality classification system.
 * /class – used in conjunction with Template:Class mask to normalise the class input and account for B-Class checklist status, if enabled.