Difference between revisions of "Template:Clade example/doc"

From blackwiki
Jump to navigation Jump to search
imported>Jts1882
(Add description of parameters)
imported>Jts1882
(add examples →‎top)
Line 1: Line 1:
 
{{Documentation subpage}}
 
{{Documentation subpage}}
 
<!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) -->
 
<!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) -->
{| class="wikitable" style="float:right"
+
{{Clade example
!Template code
+
|align=right
!Resulting output
+
|description=
|-
+
|code=
|<pre>{{clade
+
|output=
 +
|comment=
 +
|description1=Simple demo
 +
|code1=<pre>{{clade
 
|label1=label  
 
|label1=label  
 
|1={{clade  
 
|1={{clade  
Line 12: Line 15:
 
   }}
 
   }}
 
}}</pre>
 
}}</pre>
|{{clade
+
|output1={{clade
 
|label1=label  
 
|label1=label  
 
|1={{clade |1=leaf1 |2=leaf2 }}
 
|1={{clade |1=leaf1 |2=leaf2 }}
 
}}
 
}}
|}
+
|comment1=''optional''
 +
}}
  
 
This template is designed to aid writing documentation of the {{tl|clade}} by showing examples of code and the executed output, with option description and comment. It creates a table with four columns:
 
This template is designed to aid writing documentation of the {{tl|clade}} by showing examples of code and the executed output, with option description and comment. It creates a table with four columns:
Line 24: Line 28:
 
* a comment on the example
 
* a comment on the example
  
Columns may be omitted option, e.g. just showing the code and output (as shown on the right).  
+
{{clear}}{{Clade example |align=right |code= |output= |code1=<pre>{{clade
 +
|label1=label
 +
|1={{clade
 +
  |1=leaf1
 +
  |2=leaf2
 +
  }}
 +
}}</pre> |output1={{clade |label1=label |1={{clade |1=leaf1 |2=leaf2 }} }} }}
 +
 
 +
'''Selecting columns.''' Columns may be omitted optionally. The columns to be shown are indicated by the following four parameters.
 
* <code>|description=</code> indicates that the description column should be shown. If used with a value it will set the header (default: Description).
 
* <code>|description=</code> indicates that the description column should be shown. If used with a value it will set the header (default: Description).
 
* <code>|code=</code>  indicates that the code column should be shown. A value will be used as the header (default: Code).
 
* <code>|code=</code>  indicates that the code column should be shown. A value will be used as the header (default: Code).
Line 30: Line 42:
 
* <code>|comment=</code>  indicates that the comment column should be shown. A value will be used as the header (default: Commment).
 
* <code>|comment=</code>  indicates that the comment column should be shown. A value will be used as the header (default: Commment).
  
The content of the rows is used using the parameters with a numerical suffix indicating the row number:
+
Omitting the parameter omits the column. For instance, just using <code>|code=</code> and <code>|output=</code> just shows the code and output (as shown on the right).
 +
 
 +
 
 +
'''Content of rows.''' The content of the rows is used using the parameters with a numerical suffix indicating the row number:
 
** <code>|description1=</code> contains text describing the example in the first row. Similarly for |description2= ... |descriptionN.
 
** <code>|description1=</code> contains text describing the example in the first row. Similarly for |description2= ... |descriptionN.
 
** <code>|code1=</code> contains the clade code for the first row wrapped <nowiki><pre></nowiki> tags.
 
** <code>|code1=</code> contains the clade code for the first row wrapped <nowiki><pre></nowiki> tags.
Line 36: Line 51:
 
** <code>|comment1=</code> contains a comment
 
** <code>|comment1=</code> contains a comment
  
Other options include:
+
 
 +
'''Other options:'''
 
* <code>|align=</code> left | right | center
 
* <code>|align=</code> left | right | center
  
 
{{clear}}
 
{{clear}}
 +
 +
'''A more complex example:'''
  
 
<code><nowiki>
 
<code><nowiki>

Revision as of 10:46, 18 August 2018

DescriptionCodeOutputComment
Simple demo
{{clade
|label1=label 
|1={{clade 
   |1=leaf1 
   |2=leaf2 
   }}
}}
label

leaf1

leaf2

optional

This template is designed to aid writing documentation of the {{clade}} by showing examples of code and the executed output, with option description and comment. It creates a table with four columns:

  • a description of what the example in the row shows
  • the code wrapped in <pre> tags,
  • the executed code, and
  • a comment on the example
CodeOutput
{{clade
|label1=label 
|1={{clade 
   |1=leaf1 
   |2=leaf2 
   }}
}}
label

leaf1

leaf2

Selecting columns. Columns may be omitted optionally. The columns to be shown are indicated by the following four parameters.

  • |description= indicates that the description column should be shown. If used with a value it will set the header (default: Description).
  • |code= indicates that the code column should be shown. A value will be used as the header (default: Code).
  • |output= indicates that the output column should be shown. A value will be used as the header (default: Output).
  • |comment= indicates that the comment column should be shown. A value will be used as the header (default: Commment).

Omitting the parameter omits the column. For instance, just using |code= and |output= just shows the code and output (as shown on the right).


Content of rows. The content of the rows is used using the parameters with a numerical suffix indicating the row number:

    • |description1= contains text describing the example in the first row. Similarly for |description2= ... |descriptionN.
    • |code1= contains the clade code for the first row wrapped <pre> tags.
    • |output1= contains the transcluded output of the clade code.
    • |comment1= contains a comment


Other options:

  • |align= left | right | center

A more complex example:

{{Clade example |align=left |description= |code= |output= |comment= |description1=Simple clade element |code1=<pre>{{clade |label1=Label |1={{clade |1=Leaf A |2=Leaf B }} }}</pre> |output1={{clade |label1=Label |1={{clade |1=Leaf A |2=Leaf B}} }} |comment1=Two child elements |description2=A more complex clade structure |code2=<pre>{{clade |label1=Label |1={{clade |1=Node A (terminal) |label2=Node B |sublabel2=(internal) |2={{clade |1=Leaf 1 |2=Leaf 2 }} }} }}</pre> |output2={{clade |label1=Label |1={{clade |1=Node A (terminal) |label2=Node B |sublabel2=(internal) |2={{clade |1=Leaf 1 |2=Leaf 2 }} }} }} |comment2=Two levels. The second clade element is nested in the first. |description3=description 3|code3=code 3 |output3=output 3 |comment3=comment 3 |description4=description 4|code4=code 4 |output4=output 4 |comment4=comment 4 }}

DescriptionCodeOutputComment
Simple clade element
{{clade
|label1=Label
|1={{clade 
   |1=Leaf A 
   |2=Leaf B
   }}
}}
Label

Leaf A

Leaf B

Two child elements
A more complex clade structure
{{clade
|label1=Label
|1={{clade 
   |1=Node A (terminal)
   |label2=Node B
   |sublabel2=(internal)
   |2={{clade
      |1=Leaf 1
      |2=Leaf 2
      }}
   }}
}}
Label

Node A (terminal)

Node B

Leaf 1

Leaf 2

(internal)
Two levels. The second clade element is nested in the first.
description 3 code 3 output 3 comment 3
description 4 code 4 output 4 comment 4

P.S. The original goal of this template was to make writing the documentation easier by avoiding the need to repeating the code twice, once enclosed in the pre tag and once without. Unfortunately this is not possible. Parameters are transcluded when used unless in certain tags (pre, nowiki). Unfortunately these tags are passed to the module as strip markers so it is not possible to strip the tags from a transclusion protected parameter in the Lua module.

Usage