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 asOrganization/wikibase-solutions
- next_available will result in a pagetitle with format
Class/incremental_number
such asOrganization/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 }}