Template:Sidebar/doc

DCCWiki, a community DCC encyclopedia.
Jump to: navigation, search

This template is a metatemplate for the creation of sidebar templates, i.e. boxes that are vertically-aligned navigation templates. Sidebars, like infoboxes, are usually positioned on the right-hand side of a page.

{{Sidebar with collapsible lists}} is a version of {{Sidebar}} that adds collapsibility to its sections, i.e. the means to show or hide sections by clicking links beside their headings.

Template:Navbox visibility

Usage

Template:Generic template demo

{{Sidebar
| name = {{subst:PAGENAME}}
| class =            
| wraplinks =        <!-- "true" otherwise (default:) omit -->
| templatestyles = 
| child templatestyles = 
| grandchild templatestyles = 

| outertitleclass = 
| outertitle = 

| topimageclass = 
| topimage = 
| topcaption = 

| pretitleclass = 
| pretitle = 

| titleclass = 
| title = 

| imageclass = 
| image = 
| caption = 

| headingclass = 
| contentclass = 

| aboveclass = 
| above = 

| heading1 = 
| heading1class = 
| content1 = 
| content1class = 

| heading2 = 
| heading2class = 
| content2 = 
| content2class = 

| heading3 = 
| heading3class = 
| content3 = 
| content3class = 

<!-- (omitting infinite heading/content parameters -->

| belowclass = 
| below = 
| navbar = 

}}

Parameters

No parameters are mandatory. If {{navbar}} links are to function correctly (unless their appearance is suppressed; see the navbar parameter below), the parameter name needs to be set (to the name of the sidebar's page). (This does not apply if the Lua module that produces {{Sidebar}}, Module:Sidebar, is being used directly.)

Parameter Explanation
above= Same as the |above= offered by {{Navbox}}.
name= The sidebar's name, i.e. the name following "Template:" in the title shown at the top of the sidebar's page.
Required if the {{navbar}} links at the bottom of the sidebar are to function correctly, unless their appearance is suppressed (see the navbar parameter below) or {{Sidebar}} is not being used as a wrapper for Module:Sidebar. When {{Sidebar}} is used as a wrapper, setting |name={{subst:PAGENAME}} is recommended.
outertitle= Use to place a title for the sidebar immediately above the sidebar.
topimage= Use to place an image at the top of the sidebar, i.e. above |title= (if used). Full wiki syntax is expected (i.e. [[File:...]]).
To add a caption below the image, use |topcaption=.
pretitle= Use to place a line such as "Part of the X series on" before the title.
title= Use to place a title for the sidebar at the top of the sidebar. (If |topimage= is used, it will appear immediately below it).
image= Use to place an image between the |title= (if used) and first section. As with |topimage=, full wiki syntax is expected (i.e. [[File:...]]).
To add a caption below the image, use |caption=.
headingn=
|contentn=
The nth headingTemplate:\content. contentn is required if headingn is also to appear.
templatestyles= See #TemplateStyles.
  • |class= or |bodyclass=
  • |outertitleclass=
  • |topimageclass=
  • |pretitleclass=
  • |titleclass=
  • |imageclass=
  • |aboveclass=
  • |headingclass=
  • |contentclass=
  • |headingnclass=
  • |contentnclass=
  • |belowclass=

Classes can be used to make styles easier to target for TemplateStyles. |class= must be used for this purpose for an entire sidebar (otherwise a page with multiple sidebars may take styles intended only for one sidebar). An example for a template named "Template:Example Sidebar" might have the class |class=example-sidebar.

|headingnclass= and |contentnclass= can be used to target a specific heading or content group. This should be needed only rarely.

These classes can also be used for microformats.

below= Same as the |below= offered by {{Navbox}}.
(Use, for example, to add one or more portal links to the bottom of the template (shown, by default, in bold).)
navbar= When |name= is specified, set to "off", "none", etc. (without quotes) to remove the {{navbar}} links () that otherwise appear at the bottom of the sidebar.

TemplateStyles

Template:Further

The TemplateStyles parameters |templatestyles=, |child templatestyles=, and |grandchild templatestyles= take the pagename of a TemplateStyles page and turn it into a TemplateStyles tag. The TemplateStyles tag is a much more powerful way to add styling to a sidebar.

Some rules of use:

  1. Always add a template-specific class in |class= so that the styles added to one sidebar will not "leak" into another sidebar. For example, Template:DYK tools has |class=dyk-tools and the Template:DYK tools/styles.css page targets .dyk-tools for all of its added styling.
  2. Do not assume Template:Sidebar will continue to have a table structure (i.e., do not target table or any other table HTML in the TemplateStyles page). The table structure is soft-deprecated and will go away at some point in the future.

These tags are loaded in this order: Core templatestyles (Module:Sidebar/styles.css), templatestyles, child, and then grandchild, which can be used to 'cascade' the styles.

|templatestyles=
This parameter is intended for a template or module calling {{sidebar}} directly.
|child templatestyles=
This parameter is intended for a template or module which calls a sidebar with |templatestyles=.
|grandchild templatestyles=
This parameter is intended for a template or module which calls a sidebar with |child templatestyles=.

The canonical list of classes output with each kind of element of a sidebar (i.e. output for all |contentn=, or all cases of |above=) can be found in Module:Sidebar/configuration in the "class" table. The below is a non-authoritative but otherwise sufficient list for most generic styling: Template:Div col

.sidebar
The top-level sidebar class.
.sidebar-outer-title
The class associated with a |outertitle=.
.sidebar-top-image
The class associated with a |topimage=.
.sidebar-top-caption
The class associated with a |topcaption=.
.sidebar-pretitle
.sidebar-pretitle-with-top-image
The classes associated with a |pretitle=. Only one of these will be output per sidebar, depending on whether |topimage= is present.
.sidebar-title
.sidebar-title-with-pretitle
The classes associated with a |title=. Only one of these will be output per sidebar, depending on whether |pretitle= is present.
.sidebar-image
The class associated with a |image=.
.sidebar-caption
The class associated with a |caption=.
.sidebar-above
The class associated with a |above=.
.sidebar-heading
The class associated with a |headingn=. Every heading will have this class.
.sidebar-content
.sidebar-content-with-subgroup
The classes associated with |contentn=. Every content group will have one of these classes, depending on whether the specific content has a subgroup.
.sidebar-below
The class associated with a |below=.
.sidebar-navbar
The class associated with a |navbar=.

Template:Div col end

Example TemplateStyles parameter use

For an example of a sidebar which does not need to support children templates of its own (whether because it has no children or because it wants no children):

{{Sidebar
| title                = Child Example
| class                = sidebar-example
| templatestyles = Template:Sidebar/example/styles.css
}}

For an example of a sidebar which does have its own children and an example of one of the children (grandchild templates have a similar use):

{{Sidebar
| title                     = {{{title|Title Child Example}}}
| class                     = sidebar-example {{{class|}}}
| templatestyles      = Template:Sidebar/example/styles.css
| child templatestyles = {{{child templatestyles|}}}
}}
{{Sidebar/child example
| title                = Title Grandchild Example
| class                = sidebar-child-example
| child templatestyles = Template:Sidebar/child example/styles.css
}}

Handling long links

{{Normalwraplink}} may be used to handle links that should wrap within the sidebar or otherwise need to be made to wrap, in order to prevent the sidebar from becoming too wide. Use {{normalwraplink|longlinkname}}, where |longlinkname is the long link without its square brackets.

Use the |wraplinks=true parameter to turn link wrapping off for the whole template.

Embedding

One sidebar template can be embedded into another using the |child= parameter. This feature can be used to create a modular sidebar, or to create more well-defined and logical sections.

{{Sidebar
| title = Top-level title
| content1 =
 {{Sidebar |child=yes
  | title = First subsection
  | heading1 = Heading 1.1
  | content1 = Content 1.1
 }}
| content2 =
 {{Sidebar |child=yes
  | title = Second subsection
  | heading1 = Heading 2.1
  | content1 = Content 2.1
 }}
| below = "below" text
}}

Note in the examples above that the child sidebar is placed in a content field, not a heading field. Notice also that the section subheadings do not appear in bold if this is not explicitly specified. To obtain bold section headings, move the titles to the heading field, using

{{Sidebar
| title = Top-level title
| heading1 = First subsection
| content1 = 
 {{Sidebar |child=yes
  | heading1 = Heading 1.1
  | content1 = Content 1.1
 }}
| heading2 = Second subsection
| content2 = 
 {{Sidebar |child=yes
  | heading1 = Heading 2.1
  | content1 = Content 2.1
 }}
| below = "below" text
}}

Deprecated parameters

The following parameters are deprecated in favor of TemplateStyles and templates/modules using them are categorized into Category:Sidebars with styles needing conversion. The category page has further conversion information.

Parameter Explanation
headingstyle= Use to alter the default CSS styling set for section headings.
To alter the CSS styling for a specific section's heading, use |headingnstyle=, where n is the number of the section.
contentstyle= Use to alter the default CSS styling set for section content.
To alter the CSS styling for a particular section's content, use |contentnstyle=, where n is the number of the section.
  • |style= or |bodystyle=
  • |outertitlestyle=
  • |topimagestyle=
  • |topcaptionstyle=
  • |pretitlestyle=
  • |titlestyle=
  • |imagestyle=
  • |captionstyle=
  • |abovestyle=
  • |headingstyle=
  • |headingnstyle=
  • |contentstyle=
  • |contentnstyle=
  • |belowstyle=
  • Template:Longitem

Use to alter the default CSS styling for the corresponding parameters.
(|style= and |bodystyle= are applied across the whole sidebar.)

navbarfontstyle= Use to specify the font style used by the navbar at the bottom of the sidebar (see {{navbar}} for options available).

Tracking category

  • Template:Category link with count generates a link to a category followed by the number of pages in the category. It uses the PAGESINCATEGORY parser function.

    Usage

    One parameter
    {{Category link with count|CATEGORY}}
    {{clc|CATEGORY}}
    {{CLC|CATEGORY}}
    Two parameters
    {{Category link with count|CATEGORY|TYPE}}
    {{clc|CATEGORY|TYPE}}
    {{CLC|CATEGORY|TYPE}}
    Name label
    {{Category link with count|Category:Guans (bird)|name=CAT:Guans}}
    Template loop detected: Template:Clc

    Examples

    Using the template shortcut {{clc}}:

    One parameter

    without "Category:"
    {{clc|Côte-d'Or}}Template loop detected: Template:Clc
    with "Category:"
    {{clc|Category:Côte-d'Or}}Template loop detected: Template:Clc

    Two parameters

    without "Category:"
    {{clc|Côte-d'Or|pages}}Template loop detected: Template:Clc
    {{clc|Côte-d'Or|subcats}}Template loop detected: Template:Clc
    {{clc|Côte-d'Or|files}}Template loop detected: Template:Clc
    with "Category:"
    {{clc|Category:Côte-d'Or|pages}}Template loop detected: Template:Clc
    {{clc|Category:Côte-d'Or|subcats}}Template loop detected: Template:Clc
    {{clc|Category:Côte-d'Or|files}}Template loop detected: Template:Clc

    See also

    Template:Internal category-link templates


    • Template:Category link with count generates a link to a category followed by the number of pages in the category. It uses the PAGESINCATEGORY parser function.

      Usage

      One parameter
      {{Category link with count|CATEGORY}}
      {{clc|CATEGORY}}
      {{CLC|CATEGORY}}
      Two parameters
      {{Category link with count|CATEGORY|TYPE}}
      {{clc|CATEGORY|TYPE}}
      {{CLC|CATEGORY|TYPE}}
      Name label
      {{Category link with count|Category:Guans (bird)|name=CAT:Guans}}
      Template loop detected: Template:Clc

      Examples

      Using the template shortcut {{clc}}:

      One parameter

      without "Category:"
      {{clc|Côte-d'Or}}Template loop detected: Template:Clc
      with "Category:"
      {{clc|Category:Côte-d'Or}}Template loop detected: Template:Clc

      Two parameters

      without "Category:"
      {{clc|Côte-d'Or|pages}}Template loop detected: Template:Clc
      {{clc|Côte-d'Or|subcats}}Template loop detected: Template:Clc
      {{clc|Côte-d'Or|files}}Template loop detected: Template:Clc
      with "Category:"
      {{clc|Category:Côte-d'Or|pages}}Template loop detected: Template:Clc
      {{clc|Category:Côte-d'Or|subcats}}Template loop detected: Template:Clc
      {{clc|Category:Côte-d'Or|files}}Template loop detected: Template:Clc

      See also

      Template:Internal category-link templates


      See also