(Imported by WSPageSync) |
(Imported by PageSync) Tag: Metadata slot edit |
||
Line 1: | Line 1: | ||
− | <noinclude> | + | <noinclude> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
This is the "Class definition" template. It should be called in the following format: | This is the "Class definition" template. It should be called in the following format: | ||
<pre> | <pre> | ||
{{Class definition | {{Class definition | ||
− | |Defines class= | + | |Defines class= (text) value that is used for Class property in content pages of this type |
− | |Pagetitle format= | + | |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= | + | |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= | + | |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) | layout settings (used to order chameleon components) | ||
− | |Areas= | + | |Areas= (components) for example 'sidebar main'. Base csp components are: sidebar, sub-header, main |
− | |Columns= | + | |Columns= (size attribute of components) for example: 15em 2fr |
|Rows= | |Rows= | ||
storage templates | storage templates | ||
− | |Base properties template= | + | |Base properties template= (optional: page) default "Template:Base properties" |
− | |Page properties template | + | |Page properties template (optional: page) default "Template:{{{Defines class|}}} properties" |
component templates | component templates | ||
− | |Sidebar template= | + | |Sidebar template= (optional: page) default "Template:{{{Defines class|}}} sidebar" |
− | |Sidebar form= | + | |Sidebar form= (optional: page) no default |
− | |Sub header template= | + | |Sub header template= (optional: page) no default |
|Parameters= (multiple instance template) | |Parameters= (multiple instance template) | ||
− | + | {{Parameter definition | |
− | |||
|... | |... | ||
|... | |... | ||
Line 39: | Line 32: | ||
|... | |... | ||
}} | }} | ||
+ | |||
}} | }} | ||
</pre> | </pre> | ||
Line 118: | Line 112: | ||
<ul>{{#caamap:{{{Allowed namespaces|}}} |,|@@|<li>@@</li>|}}</ul> | <ul>{{#caamap:{{{Allowed namespaces|}}} |,|@@|<li>@@</li>|}}</ul> | ||
}}<!-- | }}<!-- | ||
− | -->{{#if:{{{Short description|}}}|<p>{{{Short description|}}}</p> }} | + | -->{{#if:{{{Short description|}}}|<p>{{{Short description|}}}</p> }}<!-- |
+ | --><p>Has version history: {{#ifeq:{{{Has version history|}}} |true |'''true''' |false}}</p> | ||
<h2>Layout</h2> | <h2>Layout</h2> | ||
Line 171: | Line 166: | ||
{{Generate page properties template code |Class={{{Defines class|}}} }}</div> | {{Generate page properties template code |Class={{{Defines class|}}} }}</div> | ||
− | <div class="tab-pane fade" id="template-code-sidebar" >[[{{#var:@sidebar-template}}]] {{Generate sidebar template code |Class={{{Defines class|}}} }}</div> | + | <div class="tab-pane fade" id="template-code-sidebar" >[[{{#var:@sidebar-template}}]] {{Generate sidebar template code |Class={{{Defines class|}}} |Has version history={{{Has version history|}}} }}</div> |
</div> | </div> | ||
</includeonly> | </includeonly> | ||
ws-base-props | |||
---|---|---|---|
Line 1: | Line 1: | ||
− | + | {{Base properties | |
+ | |Class=Application page | ||
+ | |Title=Template:Class definition | ||
+ | |Version history={{Version history item | ||
+ | |Version number=1.0 | ||
+ | |Version description=Initial version | ||
+ | |Version date=2022-12-02 09:02:38 | ||
+ | }} | ||
+ | }} | ||
ws-class-props | |||
Line 1: | Line 1: | ||
− | + | {{Application page properties | |
+ | |Type=CSP Basis Core | ||
+ | |Origin=CSP Basis | ||
+ | }} |
Latest revision as of 13:46, 18 January 2023
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 }}