Template:Navbox2

From SDG Wiki
Jump to: navigation, search
Title?

Meta-template for building navboxes. A navbox is a grouping of links used in multiple related articles to facilitate navigation between those articles.

Up to 8 blocks with up to 8 content & group fields each are supported, as well as displaying the rows in a column-based or horizontal layout and making groups collapsible. Each of these options can be specified for individual blocks or the whole navbox. In addition, navboxes built with this meta-template can be nested/displayed within each other. The template also supports displaying images to the left and/or right of individual blocks or the whole navbox.

Standard navboxes (i.e. those inserted at the bottom of an article) are collapsible and will be auto-collapsed by default. Side navboxes are not collapsible by default.

Usage[edit]

{{Navbox
|1               ={{{1|}}}
|editlink        =Navbox example
|title           =Examples
|contentA1       =Links
}}

Easy navbox creation[edit]

The box below allows you to create a new {{Navbox}} with the appropriate layout. Simply enter the name of the new navbox ("Template:Navbox" is automatically added) and click the "Create" button.

Enter navbox name:

Parameters[edit]

Docparam|name=<unnamed 1>|req=yes|default=|desc= This parameter should always be set to {{{1|}}} (see the example under "Usage"). It allows the layout of the navbox to be changed so it fits inside another navbox, if the parameter is set to "nested" from within the other navbox. }}

Docparam|name=blockA >> blockH|req=no|default=|desc= Content of block cells. blockA appears left of the groupA parameters and so forth. If no group or content fields in this block have been specified, the block is not displayed either. }}

Docparam|name=contentA1 >> contentH8|req=no|default=|desc= Lists of links. Make sure that links point directly to the intended pages (i.e. not to redirects) so the current page is properly marked in the template. It is recommended to sort links in each cell alphabetically for reader convenience.

For standard (horizontal) rows, separate individual links with tl|dot}}. For columns, use unnumbered lists (inserted with *). }}

Docparam|name=editlink|req=semi|default=|desc= The name of the template page; used to generate the "view"/"edit"/"discuss" links. You can use {{subst:PAGENAME}} when creating the template. If no editlink is specified, the "view"/"edit"/"discuss" links will not be displayed. }}

Docparam|name=footer|req=no|default=|desc= Text of the footer, i.e. a row at the very bottom of the navbox. }}

Docparam|name=groupA1 >> groupH8|req=no|default=|desc= Content of group cells. groupA1 appears to the left of contentA1 (or above it when in column mode) and so forth. If a group field has been specified, the corresponding content becomes mandatory. For example, if groupD3 has been set, you need to set contentD3 as well. }}

Docparam|name=headerA >> headerH|req=no|default=|desc= Content of header rows. headerA appears above contentA1, headerB appears above contentB1 and so forth. If the block is collapsible, this becomes mandatory as it is the text which remains visible when collapsed. }}

Docparam|name=image ++ imageleft|req=no|default=|desc= Allows to specify images which should be displayed to the right (image) or left (imageleft) of the whole navbox content. Simply enter the file name without "File:". If the blocks in the navbox are collapsible, these images will remain visible even if all blocks are collapsed (but will not be visible if the navbox itself is collapsed). Be careful not to make the images too large or you risk visual oddities. }}

Docparam|name=image size ++ imageleft size|req=no|default=50px|desc= Size of the corresponding side image in px. image size sets the size of image and imageleft size sets the size of imageleft. Be careful not to make the images too large or you risk stretching and/or other visual oddities. }}

Docparam|name=imageA >> imageleftH|req=no|default=|desc= Allows to specify images which should be displayed to the right (image) or left (imageleft) of the corresponding block of cells. Simply enter the file name without "File:". If the block is collapsible, these images will not be visible if it is collapsed. Be careful not to make the images too large or you risk visual oddities. }}

Docparam|name=imageA size >> imageleftH size|req=no|default=50x80px|desc= Size of the corresponding image in px. For example, imageA size sets the size of image A. Be careful not to make the images too large or you risk stretching and/or other visual oddities. }}

Docparam|name=nestedA >> nestedH|req=no|default=|desc= Name of another navbox to be displayed as part of the current one (without "Template:"). If set, the other navbox replaces the whole corresponding block of cells. For example, setting nestedA results in all cells with an "A" in their name (such as blockA or contentA8) not being displayed; the specified navbox will be displayed in their place. }}

Docparam|name=nestedplainA >> nestedplainH|req=no|default=|desc= Similar to nested, except that it does not expect the name of a navbox to be given. You can use this to directly set up another navbox within this one, i.e. by using a {{Navbox|nested|title=Example|contentA1=Links}} template call. }}

Docparam|name=options|req=no|default=|desc= This parameter allows to specify options which apply to the navbox itself or all blocks inside. Multiple options can be specified at once; simply separate them with commas (,).

Available choices:

  • collapsed, collapsible, nocollapse, uncollapsed: These options control the collapse behaviour of the navbox itself. They are mutually exclusive; if more than one is specified, the navbox falls back to the default behaviour according to position.
    • collapsed means the navbox is collapsible and collapsed on page load.
    • collapsible means the navbox is collapsible and is collapsed or uncollapsed on page load. This is the default setting if position is set to "bottom" or not unspecified.
    • nocollapse means the navbox is not collapsible. This is the default setting if position is set to "left" or "right".
    • uncollapsed means the navbox is collapsible and uncollapsed by default.
  • collapsiblegroups: This makes all blocks within the navbox collapsible and collapsed on page load. Can be overriden for individual blocks by setting the block-specific option parameter (see below) to "uncollapsed".
  • columns: This turns all blocks into column-type blocks, i.e. blocks where the links are listed from top to bottom instead of from left to right.
  • normallists: This option only applies to column-type blocks. By default, unnumbered lists in columns have special formatting (increased line height, no bullets); with this option you can disable this formatting if desired.
  • uncollapsedgroups: This makes all block within the navbox collapsible and uncollapsed on page load. Can be overriden for individual blocks by setting the block-specific option parameter (see below) to "collapsed".
  • wraplinks: If set, line breaks can occur in the middle of links inside the navbox.

}}

Docparam|name=optionsA >> optionsH|req=no|default=|desc= This parameter allows to specify options which apply to the corresponding block of rows. For example, optionsB applies to the block containing all cells with a "B" in their name. Multiple options can be specified at once; simply separate them with commas (,). Group-specific options override options set for the whole navbox.

Available choices:

  • collapsible, nocollapse, uncollapsed: These options control the collapse behaviour of the block. They are mutually exclusive; if more than one is specified the block will fall back to the default behaviour (or the options set for the whole box).
    • collapsed/collapsible mean the block is collapsible and collapsed on page load.
    • nocollapse means the block is not collapsible. This is the default setting.
    • uncollapsed means the block is collapsible and uncollapsed on page load.
  • columns: This turns the block rows into columns, i.e. cells displayed side-by-side where the links are listed from top to bottom instead of from left to right.
  • normallists: This option only applies to column-type blocks. By default, unnumbered lists in columns have special formatting (increased line height, no bullets); with this option you can disable this formatting if desired.
  • wraplinks: If set, line breaks can occur in the middle of links inside this block.

}}

Docparam|name=position|req=no|default=bottom|desc= Intended positioning of the navbox in article pages. Also influences default width and collapse behaviour.

Available options:

  • bottom: The navbox is supposed to be put at the end of articles; full width, collapses.
  • left: The navbox is supposed to be put on the left side of articles with text flowing around it; thin navbox, not collapsible.
  • right: The navbox is supposed to be put on the right side of articles with text flowing around it; thin navbox, not collapsible.

}}

Docparam|name=title|req=yes|default=|desc= The title or caption of the navbox. }}

Docparam|name=width|req=no|default=100%|default2=240px|desc= Width of the navbox in px or percent. Please note that in order to maintain a standardized look, width should only be changed if really necessary (e.g. for side boxes). All boxes placed at the bottom should keep the standard width, i.e. no width parameter should be specified. }}

Style parameters[edit]

All style options should be used sparingly as they can lead to visual inconsistencies. Some examples of useful styles:

  • Changing background color: background-color: #123456; (accepts HTML color names or RGB hex triplets)
  • Changing (horizontal) text-alignment: text-align: center; (accepts "center", "justify", "left", "right")
  • Changing vertical text-alignment: vertical-align: middle; (accepts "bottom", "middle", "top")


Docparam|name=blockA style >> blockH style|req=no|default=|desc= Specifies CSS styles to apply to the corresponding block cell. For example, blockF style applies to the cell of blockF etc. }}

Docparam|name=contentA1 style >> contentH8 style|req=no|default=|desc= Specifies CSS styles to apply to the corresponding content cell. For example, contentE3 style applies to the cell of contentE3 etc. }}

Docparam|name=footer style|req=no|default=|desc= Specifies CSS styles to apply to the footer cell. }}

Docparam|name=groupA1 style >> groupH8 style|req=no|default=|desc= Specifies CSS styles to apply to the corresponding group cell. For example, groupB7 style applies to the cell of groupB7 etc. }}

Docparam|name=headerA style >> headerH style|req=no|default=|desc= Specifies CSS styles to apply to the corresponding header cell. For example, headerD style applies to the cell of headerD etc. }}

Docparam|name=image style ++ imageleft style|req=no|default=|desc= Specifies CSS styles to apply to the cell with the corresponding side image. image style applies to the cell with image, i.e. the image at the right side of the navbox, and imageleft style applies to the cell with imageleft. }}

Docparam|name=imageA style >> imageleftH style|req=no|default=|desc= Specifies CSS styles to apply to the corresponding image cell. For example, imageB style applies to the cell of imageB, imageleftC style affects the cell of imageleftC etc. }}

Docparam|name=style|req=no|default=|desc= Specifies CSS styles to apply to every cell in the whole navbox except for the title cell. }}

Docparam|name=style blocks ++ style contents ++ style groups ++ style headers ++ style images|req=no|default=|desc= Specifies CSS styles to apply to all cells of a certain type. For example, style blocks applies to all block cells and so forth. }}

Docparam|name=styleA >> styleH|req=no|default=|desc= Specifies CSS styles to apply to all cells within the corresponding block of cells. For example, styleA applies to all cells with an "A" in their name, such as blockA, contentA1, imageA etc. }}

Docparam|name=style contentsA >> style contentsH ++ style groupsA >> style groupsH|req=no|default=|desc= Specifies CSS styles to apply to a certain type of cells within the corresponding block. For example, style contentsA applies to all content cells with an "A" in their name, such as contentA1, contentA2 etc. }}

Docparam|name=title style|req=no|default=|desc= Specifies CSS styles to apply to the title cell. }}

Examples[edit]

Simple box[edit]

{{Navbox
|1               ={{{1|}}}
|editlink        =Navbox example
|title           =Examples
|contentA1       =Content A
}}

results in:

Standard box with groups, blocks and headers[edit]

{{Navbox
|1               ={{{1|}}}
|editlink        =Navbox example
|title           =Examples
|headerA         =Header A
|blockA          =Block A
|groupA1         =Group A1
|contentA1       =Content A1
|contentA2       =Content A2
|blockB          =Block B
|groupB1         =Group B2
|contentB1       =Content B1
}}

results in:

Standard box with groups, blocks and image[edit]

{{Navbox
|1               ={{{1|}}}
|editlink        =Navbox example
|title           =Examples
|blockA          =Block A
|groupA1         =Group A1
|contentA1       =Content A1
|contentA2       =Content A2
|blockB          =Block B
|groupB1         =Group B1
|contentB1       =Content B1
}}

results in:

Standard box with groups, blocks and block images[edit]

{{Navbox
|1               ={{{1|}}}
|editlink        =Navbox example
|title           =Examples
|blockA          =Block A
|groupA1         =Group A1
|contentA1       =Content A1
|contentA2       =Content A2
|groupA3         =Group A3
|contentA3       =Content A3
|blockB          =Block B
|groupB1         =Group B1
|contentB1       =Content B1
|groupB2         =Group B2
|contentB2       =Content B2
|groupB3         =Group B3
|contentB3       =Content B3
}}

results in:

Collapsible groups[edit]

{{Navbox
|1               ={{{1|}}}
|editlink        =Navbox example
|title           =Examples
|options         =collapsiblegroups
|headerA         =Header A
|blockA          =Block A
|groupA1         =Group A1
|contentA1       =Content A1
|contentA2       =Content A2
|groupA3         =Group A3
|contentA3       =Content A3
|headerB         =Header B
|blockB          =Block B
|groupB1         =Group B1
|contentB1       =Content B1
|groupB2         =Group B2
|contentB2       =Content B2
|groupB3         =Group B3
|contentB3       =Content B3
}}

results in:

Collapsible and non-collapsible mixed[edit]

{{Navbox
|1               ={{{1|}}}
|editlink        =Navbox example
|title           =Examples
|optionsB        =collapsible
|blockA          =Block A
|groupA1         =Group A1
|contentA1       =Content A1
|contentA2       =Content A2
|groupA3         =Group A3
|contentA3       =Content A3
|headerB         =Header B
|blockB          =Block B
|groupB1         =Group B1
|contentB1       =Content B1
|groupB2         =Group B2
|contentB2       =Content B2
|groupB3         =Group B3
|contentB3       =Content B3
}}

results in:

Columns[edit]

{{Navbox
|1               ={{{1|}}}
|editlink        =Navbox example
|title           =Examples
|options         =columns
|contentA1       =Content A1
|contentA2       =Content A2
|contentA3       =Content A3
}}

results in:

Columns and standard rows mixed[edit]

{{Navbox
|1               ={{{1|}}}
|editlink        =Navbox example
|title           =Examples
|optionsA        =columns
|headerA         =Header A
|contentA1       =Content A1
|contentA2       =Content A2
|headerB         =Header B
|groupB1         =Group B1
|contentB1       =Content B1
|groupB2         =Group B2
|contentB2       =Content B2
}}

results in:

Side navbox[edit]

{{Navbox
|1               ={{{1|}}}
|editlink        =Navbox example
|title           =Examples
|position        =right
|options         =columns
|headerA         =Header A
|contentA1       =Content A1
|contentA2       =Content A2
|contentA3       =Content A3
}}

Technical[edit]

  • This template is fairly complex. Editing it requires a good understanding of parser functions and wiki syntax.
  • Auxiliary templates:
    • Navbox/aux}}: Merges various input parameters, calculates row/column counts for a given block and passes results to {{Navbox/aux2}} or {{Navbox/aux3}} (depending on the specified layout type).
    • Navbox/aux2}}: Returns a whole block of standard rows according to options and specified cells.
    • Navbox/aux3}}: Returns a whole block of columns according to options and specified cells.
ERROR_File:WidgetBackground.jpg]]