Difference between revisions of "Template:Familytree"

From EncyclopAtys

Jump to: navigation, search
(Created page with '<includeonly>{{familytree/step2| boxstyle={{{boxstyle|}}}| border={{{border|2}}}| row1 ""=<td rowspan="2" colspan="2"></td>| row2 ""=| row1 " "=<td rowspan="2" colspan="2"><div …')
 
Line 242: Line 242:
 
undef=}}</includeonly><noinclude>
 
undef=}}</includeonly><noinclude>
 
==Usage==
 
==Usage==
 +
This code:
 +
<pre style="overflow:auto;">
 +
{{familytree/start |summary=I'm a sweet little kincher, with an awesome kincher brother and a kizoar sister. My parents and grandparents are awesome!}}
 +
{{familytree | | | | GMa |~|y|~| GPa | | GMa=Daï-Den|GPa=Staro}}
 +
{{familytree | | | | | | | |)|-|-|-|.| }}
 +
{{familytree | | | MOM |y| DAD | |KIPU| MOM=Dolak|DAD=Gerder|KIPU=[[Kipucka|Uncle Kipucka]]}}
 +
{{familytree | |,|-|-|-|+|-|-|-|.| | | }}
 +
{{familytree | BRO | | ME  | | SIS | | | BRO=Awesome Kincher|ME='''Me!'''|SIS=Kizokoo}}
 +
{{familytree/end}}
 +
</pre>
 +
Produces this:
 +
 +
{{familytree/start |summary=I'm a sweet little kincher, with an awesome kincher brother and a kizoar sister. My parents and grandparents are awesome!}}
 +
{{familytree | | | | GMa |~|y|~| GPa | | GMa=Daï-Den|GPa=Staro}}
 +
{{familytree | | | | | | | |)|-|-|-|.| }}
 +
{{familytree | | | MOM |y| DAD | |KIPU| MOM=Dolak|DAD=Gerder|KIPU=[[Kipucka|Uncle Kipucka]]}}
 +
{{familytree | |,|-|-|-|+|-|-|-|.| | | }}
 +
{{familytree | BRO | | ME  | | SIS | | | BRO=Awesome Kincher|ME='''Me!'''|SIS=Kizokoo}}
 +
{{familytree/end}}
 +
 +
 +
== Parameters ==
 +
The <b><nowiki>|summary = <text></nowiki></b> parameter of the {{tl|familytree/start}} template should be used to describe the overall layout of the tree. This summary is for accessibility: it is read aloud to visually impaired readers who use screen readers, and is invisible to sighted readers.
 +
 +
The {{tl|familytree}} template produces one row in a family tree table.  The template accepts up to 80 unnamed parameters describing the contents of the table.  Each parameter specifies a '''tile''' or a '''box'''.
 +
* '''Tiles''' are line drawing symbols consisting of horizontal and vertical lines and various corners and crossings thereof.  Tiles are specified using single-character symbols that more or less approximate the shape of the tile in appearance.  A special case of a tile is the '''empty tile''', specified by a single space character.  A table of supported tiles is given below.
 +
 +
 +
{|style="float:left;margin-left:1em"
 +
|+ '''Solid lines:'''
 +
|-
 +
| <big><tt>,</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|,}}{{familytree/end}}
 +
| <big><tt>v</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|v}}{{familytree/end}}
 +
| <big><tt>.</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|.}}{{familytree/end}}
 +
|-
 +
| <big><tt>)</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|)}}{{familytree/end}}
 +
| <big><tt>+</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|+}}{{familytree/end}}
 +
| <big><tt>(</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|(}}{{familytree/end}}
 +
|-
 +
| <big><tt>`</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|`}}{{familytree/end}}
 +
| <big><tt>^</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|^}}{{familytree/end}}
 +
| <big><tt>'</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|'}}{{familytree/end}}
 +
|-
 +
| <big><tt>-</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|-}}{{familytree/end}}
 +
| <big><tt>!</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|!}}{{familytree/end}}
 +
| <big><tt> </tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree| }}{{familytree/end}}
 +
|}
 +
{| style="float:left;margin-left:1em"
 +
|+ '''Dashed lines:'''
 +
|-
 +
| <big><tt>F</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|F}}{{familytree/end}}
 +
| <big><tt>V</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|V}}{{familytree/end}}
 +
| <big><tt>7</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|7}}{{familytree/end}}
 +
|-
 +
| <big><tt>D</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|D}}{{familytree/end}}
 +
| <big><tt>%</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|%}}{{familytree/end}}
 +
| <big><tt>C</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|C}}{{familytree/end}}
 +
|-
 +
| <big><tt>L</tt></big> ||style="border: 1px solid gray"| {{familytree/start}}{{familytree|L}}{{familytree/end}}
 +
| <big><tt>A</tt></big> ||style="border: 1px solid gray"| {{familytree/start}}{{familytree|A}}{{familytree/end}}
 +
| <big><tt>J</tt></big> ||style="border: 1px solid gray"| {{familytree/start}}{{familytree|J}}{{familytree/end}}
 +
|-
 +
| <big><tt>~</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|~}}{{familytree/end}}
 +
| <big><tt>:</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|:}}{{familytree/end}}
 +
| <big><tt> </tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree| }}{{familytree/end}}
 +
|}
 +
{|style="float:left;margin-left:1em"
 +
|+ '''Mixed (1):'''
 +
|-
 +
| <big><tt>r</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|r}}{{familytree/end}}
 +
| <big><tt>y</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|y}}{{familytree/end}}
 +
| <big><tt>n</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|n}}{{familytree/end}}
 +
|-
 +
| <big><tt>]</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|]}}{{familytree/end}}
 +
| <big><tt>#</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|#}}{{familytree/end}}
 +
| <big><tt>[</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|[}}{{familytree/end}}
 +
|-
 +
| <big><tt>c</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|c}}{{familytree/end}}
 +
| <big><tt>h</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|h}}{{familytree/end}}
 +
| <big><tt>j</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|j}}{{familytree/end}}
 +
|-
 +
| <big><tt>~</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|~}}{{familytree/end}}
 +
| <big><tt>!</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|!}}{{familytree/end}}
 +
| <big><tt> </tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree| }}{{familytree/end}}
 +
|}
 +
{|style="float:left;margin-left:1em"
 +
|+ '''Mixed (2):'''
 +
|-
 +
| <big><tt>p</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|p}}{{familytree/end}}
 +
| <big><tt>u</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|u}}{{familytree/end}}
 +
| <big><tt>q</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|q}}{{familytree/end}}
 +
|-
 +
| <big><tt>}</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|}|}}{{familytree/end}}
 +
| <big><tt>*</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|*}}{{familytree/end}}
 +
| <big><tt>{</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|{|}}{{familytree/end}}
 +
|-
 +
| <big><tt>b</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|b}}{{familytree/end}}
 +
| <big><tt>t</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|t|}}{{familytree/end}}
 +
| <big><tt>d</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|d}}{{familytree/end}}
 +
|-
 +
| <big><tt>-</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|-}}{{familytree/end}}
 +
| <big><tt>:</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|:}}{{familytree/end}}
 +
| <big><tt> </tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree| }}{{familytree/end}}
 +
|}
 +
{|style="float:left;margin-left:1em"
 +
|+ '''Misc.:'''<!-- this subset is an insufficient set or questionable: -->
 +
|-
 +
| <big><tt>T</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|T}}{{familytree/end}}
 +
|-
 +
| <big><tt>G</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|G}}{{familytree/end}}
 +
| <big><tt>X</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|X}}{{familytree/end}}
 +
| <big><tt>K</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|K}}{{familytree/end}}
 +
| <big><tt>k</tt></big> ||style="border:1px solid gray"| {{familytree/start}}{{familytree|k}}{{familytree/end}}
 +
|}
 +
<br clear="left" />
 +
 +
* '''Boxes''' can contain arbitrary wiki markup.  The contents of boxes are specified using additional named parameters appended to the template call.  Each box is '''three tiles wide''' and normally has a 2 pixels wide black border.  Boxes can have any name that is a valid template parameter name, although single character names should be avoided to prevent conflicts with tile symbols.
 +
 +
 +
==Style attributes==
 +
The appearance of the boxes may be controlled by the optional template parameters ''border'' and ''boxstyle''.  The former sets the width of the box border in pixels, while the latter can be used to append arbitrary CSS declarations directly to the box style attributes.  For example, the following code:
 +
 +
<pre style="overflow:auto;">
 +
{{familytree/start |summary=Box 1 married to Box 2, with children Box 3 and Box 4}}
 +
{{familytree|border=0|boxstyle=background:#dfd;| | FOO |y| BAR | |FOO=Box 1|BAR=Box 2}}
 +
{{familytree|border=0|boxstyle=background:#dfd;| | |,|-|^|-|.| | }}
 +
{{familytree|border=0|boxstyle=background:#dfd;| | FOO | | BAR | |FOO=Box 3|BAR=Box 4}}
 +
{{familytree/end}}
 +
</nowiki></pre>
 +
 +
produces a result like this:
 +
 +
{{familytree/start |summary=Box 1 married to Box 2, with children Box 3 and Box 4}}
 +
{{familytree|border=0|boxstyle=background:#dfd;| | FOO |y| BAR | |FOO=Box 1|BAR=Box 2}}
 +
{{familytree|border=0|boxstyle=background:#dfd;| | |,|-|^|-|.| | }}
 +
{{familytree|border=0|boxstyle=background:#dfd;| | FOO | | BAR | |FOO=Box 3|BAR=Box 4}}
 +
{{familytree/end}}
 +
 +
 +
Style attributes can even be set for individual boxes, as in the example below:
 +
 +
<pre style="overflow:auto;">
 +
{{familytree/start |White box with three children Red box, Green box, Blue box, all married to each other}}
 +
{{familytree| | | | |WHITE| | | | |WHITE=White box}}
 +
{{familytree| |,|-|-|'|!|`|-|-|.| }}
 +
{{familytree|RED  |~|GREEN|~|BLUE |RED=Red box|GREEN=Green box|BLUE=Blue box
 +
|boxstyle_RED  =background-color: #faa;
 +
|boxstyle_GREEN=background-color: #afa;
 +
|boxstyle_BLUE =background-color: #aaf;
 +
}}
 +
{{familytree/end}}
 +
</pre>
 +
 +
which produces the output:
 +
 +
{{familytree/start |White box with three children Red box, Green box, Blue box, all married to each other}}
 +
{{familytree| | | | |WHITE| | | | |WHITE=White box}}
 +
{{familytree| |,|-|-|'|!|`|-|-|.| }}
 +
{{familytree|RED  |~|GREEN|~|BLUE |RED=Red box|GREEN=Green box|BLUE=Blue box
 +
|boxstyle_RED  =background-color: #faa;
 +
|boxstyle_GREEN=background-color: #afa;
 +
|boxstyle_BLUE =background-color: #aaf;
 +
}}
 +
{{familytree/end}}
 +
 +
 +
'''NOTE:''' When specifying style attributes for individual named boxes, make sure the box names are aligned to the '''left''' side of area reserved for them in the template call (as in "<code>|RED&nbsp;&nbsp;|</code>" instead of "<code>|&nbsp;RED&nbsp;|</code>" in the example above).  Otherwise the template will end up looking for a style parameter with spaces in its name.
 +
 +
The {{tl|familytree/start}} template also accepts an optional ''style'' parameter that can be used to set CSS styles for the entire table.
 +
 
[[Category:Genealogy formatting templates|Familytree]]
 
[[Category:Genealogy formatting templates|Familytree]]
 
</noinclude>
 
</noinclude>

Revision as of 17:46, 17 May 2010

Usage

This code:

{{familytree/start |summary=I'm a sweet little kincher, with an awesome kincher brother and a kizoar sister. My parents and grandparents are awesome!}}
{{familytree | | | | GMa |~|y|~| GPa | | GMa=Daï-Den|GPa=Staro}}
{{familytree | | | | | | | |)|-|-|-|.| }}
{{familytree | | | MOM |y| DAD | |KIPU| MOM=Dolak|DAD=Gerder|KIPU=[[Kipucka|Uncle Kipucka]]}}
{{familytree | |,|-|-|-|+|-|-|-|.| | | }}
{{familytree | BRO | | ME  | | SIS | | | BRO=Awesome Kincher|ME='''Me!'''|SIS=Kizokoo}}
{{familytree/end}}

Produces this:

 
 
 
Daï-Den
 
 
 
Staro
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Dolak
 
Gerder
 
Uncle Kipucka
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Awesome Kincher
 
Me!
 
Kizokoo
 
 


Parameters

The |summary = <text> parameter of the {{familytree/start}} template should be used to describe the overall layout of the tree. This summary is for accessibility: it is read aloud to visually impaired readers who use screen readers, and is invisible to sighted readers.

The {{familytree}} template produces one row in a family tree table. The template accepts up to 80 unnamed parameters describing the contents of the table. Each parameter specifies a tile or a box.

  • Tiles are line drawing symbols consisting of horizontal and vertical lines and various corners and crossings thereof. Tiles are specified using single-character symbols that more or less approximate the shape of the tile in appearance. A special case of a tile is the empty tile, specified by a single space character. A table of supported tiles is given below.


Solid lines:
,
 
 
 
 
v
 
 
 
.
 
 
 
)
 
 
 
+
 
 
 
 
(
 
 
 
`
 
 
 
^
 
 
 
'
 
 
 
-
 
 
!
 
 
 
Dashed lines:
F
 
 
 
 
V
 
 
 
7
 
 
 
D
 
 
 
%
 
 
 
 
C
 
 
 
L
 
 
 
A
 
 
 
J
 
 
 
~
 
 
:
 
 
 
Mixed (1):
r
 
 
 
 
y
 
 
 
n
 
 
 
]
 
 
 
#
 
 
 
 
[
 
 
 
c
 
 
 
h
 
 
 
j
 
 
 
~
 
 
!
 
 
 
Mixed (2):
p
 
 
 
 
u
 
 
 
q
 
 
 
}
 
 
 
*
 
 
 
 
{
 
 
 
b
 
 
 
t
 
 
 
d
 
 
 
-
 
 
:
 
 
 
Misc.:
T
 
 
 
 
G
 
 
 
 
X
 
 
 
 
K
 
 
 
k
 
 
 


  • Boxes can contain arbitrary wiki markup. The contents of boxes are specified using additional named parameters appended to the template call. Each box is three tiles wide and normally has a 2 pixels wide black border. Boxes can have any name that is a valid template parameter name, although single character names should be avoided to prevent conflicts with tile symbols.


Style attributes

The appearance of the boxes may be controlled by the optional template parameters border and boxstyle. The former sets the width of the box border in pixels, while the latter can be used to append arbitrary CSS declarations directly to the box style attributes. For example, the following code:

{{familytree/start |summary=Box 1 married to Box 2, with children Box 3 and Box 4}}
{{familytree|border=0|boxstyle=background:#dfd;| | FOO |y| BAR | |FOO=Box 1|BAR=Box 2}}
{{familytree|border=0|boxstyle=background:#dfd;| | |,|-|^|-|.| | }}
{{familytree|border=0|boxstyle=background:#dfd;| | FOO | | BAR | |FOO=Box 3|BAR=Box 4}}
{{familytree/end}}
</nowiki>

produces a result like this:

 
Box 1
 
Box 2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Box 3
 
Box 4
 


Style attributes can even be set for individual boxes, as in the example below:

{{familytree/start |White box with three children Red box, Green box, Blue box, all married to each other}}
{{familytree| | | | |WHITE| | | | |WHITE=White box}}
{{familytree| |,|-|-|'|!|`|-|-|.| }}
{{familytree|RED  |~|GREEN|~|BLUE |RED=Red box|GREEN=Green box|BLUE=Blue box
|boxstyle_RED  =background-color: #faa;
|boxstyle_GREEN=background-color: #afa;
|boxstyle_BLUE =background-color: #aaf;
}}
{{familytree/end}}

which produces the output:

 
 
 
 
White box
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Red box
 
Green box
 
Blue box
 
 


NOTE: When specifying style attributes for individual named boxes, make sure the box names are aligned to the left side of area reserved for them in the template call (as in "|RED  |" instead of "| RED |" in the example above). Otherwise the template will end up looking for a style parameter with spaces in its name.

The {{familytree/start}} template also accepts an optional style parameter that can be used to set CSS styles for the entire table.