This is the "Class definition" template. It should be called in the following format:

{{Class definition
|Defines class= (text) value that is used for Class property in content pages of this type
|Pagetitle format= (value options: title, next_available) the wscreate in "Template:Create page form" will be based on this option, default "next_available"
|Allowed namespaces= (optional: comma-separted namespaces) namespaces in which pages of this class are allowed to be created, e.g. "(Main), Project, Article"
|Short description= (optional: text)
|Has version history= (optional: true) if true, then {{Show version history}} will be added to generated sidebar template code

layout settings (used to order chameleon components)
|Areas= (components) for example 'sidebar main'. Base csp components are: sidebar, sub-header, main
|Columns= (size attribute of components) for example: 15em 2fr
|Rows=

storage templates
|Base properties template= (optional: page) default "Template:Base properties"
|Page properties template (optional: page) default "Template:{{{Defines class|}}} properties"

component templates
|Sidebar template= (optional: page) default "Template:{{{Defines class|}}} sidebar"
|Sidebar form= (optional: page) no default
|Sub header template= (optional: page) no default

|Parameters= (multiple instance template)
{{Parameter definition 
|...
|...
}}{{Parameter definition 
|...
|...
}}

}}

Pagetitle formats:

  • title will result in a pagetitle with format Class/title-entered-by-user such as Organization/wikibase-solutions
  • next_available will result in a pagetitle with format Class/incremental_number such as Organization/1 Organization/2 Organization/3 etc.

Different Chameleon components can be ordered for different page classes

  • Base csp components are: sidebar, sub-header, main
  • They are defined in the Chameleon skin XML and the default values are set in layout.css
  • You can define different layouts on the Areas parameter, see grid-template-areas for syntax
  • You can define sizes for the columns and rows for this layout, see grid-template-columns and grid-template-rows for syntax

Example

The example below creates to rows on all pages with the Article class

The first row holds the Sidebar and the Sub-header components the Sidebar is set to be 15em wide and the Sub-header is set to 1 fraction, the hieght of this row is set to Auto

The second row holds the Main content component it spans over two columns the height of this row is set to 1 fraction

{{Class definition
|Defines class=Article

|Areas='sidebar sub-header' 'main main'
|Columns=15em 2fr
|Rows=auto 1fr
}}