Difference between revisions of "Template:Family tree/doc"

From Crews Genealogy Wiki: focusing on the Wiregrass south, and related families
Jump to navigation Jump to search
 
m (112 revisions: family tree template)
 
(93 intermediate revisions by 13 users not shown)
Line 1: Line 1:
<includeonly>
+
<includeonly>{{Deprecated template|Family tree|Chart|date=October 2013|note=The new template provides all the features of the old one and more. Its usage is very similar but there are minor differences. For help with migration see [[Template:Chart#Migration_from_familytree|Template:Chart#Migration from familytree]].}}
 +
{{Intricate template}}{{Documentation subpage}}</includeonly>
 +
<noinclude>{{Documentation subpage}}</noinclude>
 +
<!---PLEASE ADD METADATA TO THE <includeonly> SECTION AT THE BOTTOM OF THIS PAGE
 +
 
 +
    EDIT TEMPLATE DOCUMENTATION BELOW THIS LINE--->
 +
{{ombox
 +
| image = [[File:Edit-copy purple-wikit.svg|40px]]
 +
| type  = move
 +
| text  = When editing extremely large diagram with Family tree it is possible that you would be unable to submit the content due to [[Wikipedia:template limits]].  In that case please consider migrating your diagram to {{tl|Chart}} which generates lower preprocessor node count.
 +
}}
 +
 
 
This is a template for rendering simple [[family tree]]s consisting of boxes and connecting lines based on an [[ASCII art]]-like syntax.  The trees are displayed as [[HTML]] tables using [[Cascading Style Sheets|CSS]] attributes, and may contain arbitrary [[wiki markup]] within the boxes.
 
This is a template for rendering simple [[family tree]]s consisting of boxes and connecting lines based on an [[ASCII art]]-like syntax.  The trees are displayed as [[HTML]] tables using [[Cascading Style Sheets|CSS]] attributes, and may contain arbitrary [[wiki markup]] within the boxes.
  
 
==Example usage==
 
==Example usage==
 
This code:
 
This code:
<pre><nowiki>
+
<pre style="overflow:auto;">
{{familytree/start}}
+
{{family tree/start |summary=I have a brother Joe and a little sister: my mom married my dad, and my dad's parents were Grandma and Grandpa; they had another child, Aunt Daisy.}}
{{familytree | | | | GRM |~|y|~| GRP | | GRM=Grandma|GRP=Grandpa}}
+
{{family tree | | | | GMa |~|y|~| GPa | | GMa=Gladys|GPa=Sydney}}
{{familytree | | | | | | | |)|-|-|-|.| }}
+
{{family tree | | | | | | | |)|-|-|-|.| }}
{{familytree | | | MOM |y| DAD | |DAISY| MOM=Mom|DAD=Dad|DAISY=[[Aunt Daisy]]}}
+
{{family tree | | | MOM |y| DAD | |DAISY| MOM=Mom|DAD=Dad|DAISY=[[Aunt Daisy]]}}
{{familytree | |,|-|-|-|+|-|-|-|.| | | }}
+
{{family tree | |,|-|-|-|+|-|-|-|.| | | }}
{{familytree | JOE | | ME  | | SIS | | | JOE=My brother Joe|ME='''Me!'''|SIS=My little sister}}
+
{{family tree | JOE | | ME  | | SIS | | | JOE=My brother Joe|ME='''Me!'''|SIS=My little sister}}
{{familytree/end}}
+
{{family tree/end}}
</nowiki></pre>
+
</pre>
 
Produces this:
 
Produces this:
  
{{familytree/start}}
+
{{family tree/start |summary=I have a brother Joe and a little sister: my mom married my dad, and my dad's parents were Grandma and Grandpa; they had another child, Aunt Daisy.}}
{{familytree | | | | GRM |~|y|~| GRP | | GRM=Grandma|GRP=Grandpa}}
+
{{family tree | | | | GMa |~|y|~| GPa | | GMa=Gladys|GPa=Sydney}}
{{familytree | | | | | | | |)|-|-|-|.| }}
+
{{family tree | | | | | | | |)|-|-|-|.| }}
{{familytree | | | MOM |y| DAD | |DAISY| MOM=Mom|DAD=Dad|DAISY=[[Aunt Daisy]]}}
+
{{family tree | | | MOM |y| DAD | |DAISY| MOM=Mom|DAD=Dad|DAISY=[[Aunt Daisy]]}}
{{familytree | |,|-|-|-|+|-|-|-|.| | | }}
+
{{family tree | |,|-|-|-|+|-|-|-|.| | | }}
{{familytree | JOE | | ME  | | SIS | | | JOE=My brother Joe|ME='''Me!'''|SIS=My little sister}}
+
{{family tree | JOE | | ME  | | SIS | | | JOE=My brother Joe|ME='''Me!'''|SIS=My little sister}}
{{familytree/end}}
+
{{family tree/end}}
  
==Parameters==
+
== Parameters ==
 +
The {{para|summary|<var>text</var>}} parameter of the {{tl|family tree/start}} template should be used to describe the overall layout of the tree. This summary is for [[Wikipedia:Accessibility|accessibility]]: it is read aloud to visually impaired readers who use [[screen reader]]s, and is invisible to sighted readers.
  
This template produces one row in a family tree table.  The template accepts up to 99 unnamed parameters describing the contents of the table.  Each parameter specifies a '''tile''' or a '''box'''.
+
The {{tl|family tree}} 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.
  
*'''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"
 
 
{| style="float: left; margin-left: 1em;"
 
 
|+ '''Solid lines:'''
 
|+ '''Solid lines:'''
 
|-
 
|-
| <big><tt>,</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|,}}{{familytree/end}} || &nbsp;
+
| {{big|<code>,</code>}} ||style="border:1px solid gray"| {{family tree/start}}{{family tree|,}}{{family tree/end}}
| <big><tt>.</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|.}}{{familytree/end}} || &nbsp;
+
| {{big|<code>v</code>}} ||style="border:1px solid gray"| {{family tree/start}}{{family tree|v}}{{family tree/end}}
| <big><tt>`</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|`}}{{familytree/end}} || &nbsp;
+
| {{big|<code>.</code>}} ||style="border:1px solid gray"| {{family tree/start}}{{family tree|.}}{{family tree/end}}
| <big><tt>'</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|'}}{{familytree/end}} || &nbsp;
 
 
|-
 
|-
| <big><tt>^</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|^}}{{familytree/end}} || &nbsp;
+
| {{big|<code>)</code>}} ||style="border:1px solid gray"| {{family tree/start}}{{family tree|)}}{{family tree/end}}
| <big><tt>v</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|v}}{{familytree/end}} || &nbsp;
+
| {{big|<code>+</code>}} ||style="border:1px solid gray"| {{family tree/start}}{{family tree|+}}{{family tree/end}}
| <big><tt>(</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|(}}{{familytree/end}} || &nbsp;
+
| {{big|<code>(</code>}} ||style="border:1px solid gray"| {{family tree/start}}{{family tree|(}}{{family tree/end}}
| <big><tt>)</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|)}}{{familytree/end}} || &nbsp;
 
 
|-
 
|-
| <big><tt>-</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|-}}{{familytree/end}} || &nbsp;
+
| {{big|<code>`</code>}} ||style="border:1px solid gray"| {{family tree/start}}{{family tree|`}}{{family tree/end}}
| <big><tt>!</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|!}}{{familytree/end}} || &nbsp;
+
| {{big|<code>^</code>}} ||style="border:1px solid gray"| {{family tree/start}}{{family tree|^}}{{family tree/end}}
| <big><tt>+</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|+}}{{familytree/end}} || &nbsp;
+
| {{big|<code>'</code>}} ||style="border:1px solid gray"| {{family tree/start}}{{family tree|'}}{{family tree/end}}
| <big><tt> </tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree| }}{{familytree/end}} || &nbsp;
+
|-
 +
| {{big|<code>-</code>}} ||style="border:1px solid gray"| {{family tree/start}}{{family tree|-}}{{family tree/end}}
 +
| {{big|<code>!</code>}} ||style="border:1px solid gray"| {{family tree/start}}{{family tree|!}}{{family tree/end}}
 +
| {{big|<code> </code>}} ||style="border:1px solid gray"| {{family tree/start}}{{family tree| }}{{family tree/end}}
 
|}
 
|}
{| style="float: left; margin-left: 1em;"
+
{| style="float:left;margin-left:1em"
 
|+ '''Dashed lines:'''
 
|+ '''Dashed lines:'''
 
|-
 
|-
| <big><tt>F</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|F}}{{familytree/end}} || &nbsp;
+
| {{big|<code>F</code>}} ||style="border:1px solid gray"| {{family tree/start}}{{family tree|F}}{{family tree/end}}
| <big><tt>7</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|7}}{{familytree/end}} || &nbsp;
+
| {{big|<code>V</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|V}}{{familytree/end}}
| <big><tt>L</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|L}}{{familytree/end}} || &nbsp;
+
| {{big|<code>7</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|7}}{{familytree/end}}
| <big><tt>J</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|J}}{{familytree/end}} || &nbsp;
 
 
|-
 
|-
| <big><tt>A</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|A}}{{familytree/end}} || &nbsp;
+
| {{big|<code>D</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|D}}{{familytree/end}}
| <big><tt>V</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|V}}{{familytree/end}} || &nbsp;
+
| {{big|<code>%</code>}} ||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}} || &nbsp;
+
| {{big|<code>C</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|C}}{{familytree/end}}
| <big><tt>D</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|D}}{{familytree/end}} || &nbsp;
 
 
|-
 
|-
| <big><tt>~</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|~}}{{familytree/end}} || &nbsp;
+
| {{big|<code>L</code>}} ||style="border: 1px solid gray"| {{familytree/start}}{{familytree|L}}{{familytree/end}}
| <big><tt>:</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|:}}{{familytree/end}} || &nbsp;
+
| {{big|<code>A</code>}} ||style="border: 1px solid gray"| {{familytree/start}}{{familytree|A}}{{familytree/end}}
| <big><tt>%</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|%}}{{familytree/end}} || &nbsp;
+
| {{big|<code>J</code>}} ||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}} || &nbsp;
+
|-
 +
| {{big|<code>~</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|~}}{{familytree/end}}
 +
| {{big|<code>:</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|:}}{{familytree/end}}
 +
| {{big|<code> </code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree| }}{{familytree/end}}
 
|}
 
|}
{| style="float: left; margin-left: 1em;"
+
{|style="float:left;margin-left:1em"
|+ '''Mixed:'''
+
|+ '''Mixed (1):'''
 
|-
 
|-
| <big><tt>*</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|*}}{{familytree/end}} || &nbsp;
+
| {{big|<code>r</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|r}}{{familytree/end}}
| <big><tt>}</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|}|}}{{familytree/end}} || &nbsp;
+
| {{big|<code>y</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|y}}{{familytree/end}}
| <big><tt>{</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|{|}}{{familytree/end}} || &nbsp;
+
| {{big|<code>n</code>}} ||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}} || &nbsp;
+
| {{big|<code>]</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|]}}{{familytree/end}}
| <big><tt>y</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|y}}{{familytree/end}} || &nbsp;
+
| {{big|<code>#</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|#}}{{familytree/end}}
| <big><tt>h</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|h}}{{familytree/end}} || &nbsp;
+
| {{big|<code>[</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|[}}{{familytree/end}}
 
|-
 
|-
| <big><tt>]</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|]}}{{familytree/end}} || &nbsp;
+
| {{big|<code>c</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|c}}{{familytree/end}}
| <big><tt>[</tt></big> || style="border: 1px solid gray;" | {{familytree/start}}{{familytree|[}}{{familytree/end}} || &nbsp;
+
| {{big|<code>h</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|h}}{{familytree/end}}
 +
| {{big|<code>j</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|j}}{{familytree/end}}
 +
|-
 +
| {{big|<code>~</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|~}}{{familytree/end}}
 +
| {{big|<code>!</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|!}}{{familytree/end}}
 +
| {{big|<code> </code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree| }}{{familytree/end}}
 +
|}
 +
{|style="float:left;margin-left:1em"
 +
|+ '''Mixed (2):'''
 +
|-
 +
| {{big|<code>p</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|p}}{{familytree/end}}
 +
| {{big|<code>u</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|u}}{{familytree/end}}
 +
| {{big|<code>q</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|q}}{{familytree/end}}
 +
|-
 +
| {{big|<code>E</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|E|}}{{familytree/end}}
 +
| {{big|<code>*</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|*}}{{familytree/end}}
 +
| {{big|<code>3</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|3|}}{{familytree/end}}
 +
|-
 +
| {{big|<code>b</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|b}}{{familytree/end}}
 +
| {{big|<code>t</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|t|}}{{familytree/end}}
 +
| {{big|<code>d</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|d}}{{familytree/end}}
 +
|-
 +
| {{big|<code>-</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|-}}{{familytree/end}}
 +
| {{big|<code>:</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|:}}{{familytree/end}}
 +
| {{big|<code> </code>}} ||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|<code>T</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|T}}{{familytree/end}}
 +
|-
 +
| {{big|<code>G</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|G}}{{familytree/end}}
 +
| {{big|<code>X</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|X}}{{familytree/end}}
 +
| {{big|<code>K</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|K}}{{familytree/end}}
 +
| {{big|<code>k</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|k}}{{familytree/end}}
 +
|-
 +
| ||
 +
| {{big|<code>U</code>}} ||style="border:1px solid gray"| {{familytree/start}}{{familytree|U}}{{familytree/end}}
 
|}
 
|}
 
<br clear="left" />
 
<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.
*'''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==
 
==Style attributes==
Line 87: Line 137:
 
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 [[Cascading Style Sheets|CSS]] declarations directly to the box style attributes.  For example, the following code:
 
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 [[Cascading Style Sheets|CSS]] declarations directly to the box style attributes.  For example, the following code:
  
<pre><nowiki>
+
<pre style="overflow:auto;">
{{familytree/start}}
+
{{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;| | FOO |y| BAR | |FOO=Box 1|BAR=Box 2}}
 
{{familytree|border=0|boxstyle=background:#dfd;| | |,|-|^|-|.| | }}
 
{{familytree|border=0|boxstyle=background:#dfd;| | |,|-|^|-|.| | }}
 
{{familytree|border=0|boxstyle=background:#dfd;| | FOO | | BAR | |FOO=Box 3|BAR=Box 4}}
 
{{familytree|border=0|boxstyle=background:#dfd;| | FOO | | BAR | |FOO=Box 3|BAR=Box 4}}
 
{{familytree/end}}
 
{{familytree/end}}
</nowiki></pre>
+
</pre>
  
 
produces a result like this:
 
produces a result like this:
  
{{familytree/start}}
+
{{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;| | FOO |y| BAR | |FOO=Box 1|BAR=Box 2}}
 
{{familytree|border=0|boxstyle=background:#dfd;| | |,|-|^|-|.| | }}
 
{{familytree|border=0|boxstyle=background:#dfd;| | |,|-|^|-|.| | }}
Line 105: Line 155:
 
Style attributes can even be set for individual boxes, as in the example below:
 
Style attributes can even be set for individual boxes, as in the example below:
  
<pre><nowiki>
+
<pre style="overflow:auto;">
{{familytree/start}}
+
{{familytree/start |White box with three children Red box, Green box, Blue box, all married to each other}}
{{familytree| | | | |WHITE| | | | |WHITE=White box}}
+
{{familytree| | | | |WHITE| | | | |WHITE=White box
 +
|boxstyle_WHITE = background-color: #fff;
 +
}}
 
{{familytree| |,|-|-|'|!|`|-|-|.| }}
 
{{familytree| |,|-|-|'|!|`|-|-|.| }}
 
{{familytree|RED  |~|GREEN|~|BLUE |RED=Red box|GREEN=Green box|BLUE=Blue box
 
{{familytree|RED  |~|GREEN|~|BLUE |RED=Red box|GREEN=Green box|BLUE=Blue box
|boxstyle_RED =background-color: #faa;
+
|boxstyle_RED   = background-color: #faa;
|boxstyle_GREEN=background-color: #afa;
+
|boxstyle_GREEN = background-color: #afa;
|boxstyle_BLUE =background-color: #aaf;
+
|boxstyle_BLUE = background-color: #aaf;
 
}}
 
}}
 
{{familytree/end}}
 
{{familytree/end}}
</nowiki></pre>
+
</pre>
  
 
which produces the output:
 
which produces the output:
  
{{familytree/start}}
+
{{familytree/start |White box with three children Red box, Green box, Blue box, all married to each other}}
{{familytree| | | | |WHITE| | | | |WHITE=White box}}
+
{{familytree| | | | |WHITE| | | | |WHITE=White box
 +
|boxstyle_WHITE = background-color: #fff;
 +
}}
 
{{familytree| |,|-|-|'|!|`|-|-|.| }}
 
{{familytree| |,|-|-|'|!|`|-|-|.| }}
 
{{familytree|RED  |~|GREEN|~|BLUE |RED=Red box|GREEN=Green box|BLUE=Blue box
 
{{familytree|RED  |~|GREEN|~|BLUE |RED=Red box|GREEN=Green box|BLUE=Blue box
Line 131: Line 185:
 
'''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.
 
'''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.
+
The {{tl|familytree/start}} template also accepts an optional {{para|style}} parameter that can be used to set CSS styles for the entire diagram, and an optional {{para|align}} parameter to set the chart alignment.
 +
 
 +
== See also ==
 +
* {{tl|chart}}, which supports more complex family trees.
 +
* [[User:GregU/familytree.js|familytree.js]], a tool aiding the creation or updating of diagrams using these templates.
 +
* [[Wikipedia:Family trees]] for other methods.
 +
* {{cl|Family tree templates}}
  
[[ca:Ajuda:Crear un arbre genealògic]]
+
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox | |[[Category:Genealogy formatting templates]]}}</includeonly>
[[de:Vorlage:Stammbaum]]
 
[[es:Plantilla:Árbol genealógico/uso]]
 

Latest revision as of 16:29, 16 December 2015

This is a template for rendering simple family trees consisting of boxes and connecting lines based on an ASCII art-like syntax. The trees are displayed as HTML tables using CSS attributes, and may contain arbitrary wiki markup within the boxes.

Example usage

This code:

{{family tree/start |summary=I have a brother Joe and a little sister: my mom married my dad, and my dad's parents were Grandma and Grandpa; they had another child, Aunt Daisy.}}
{{family tree | | | | GMa |~|y|~| GPa | | GMa=Gladys|GPa=Sydney}}
{{family tree | | | | | | | |)|-|-|-|.| }}
{{family tree | | | MOM |y| DAD | |DAISY| MOM=Mom|DAD=Dad|DAISY=[[Aunt Daisy]]}}
{{family tree | |,|-|-|-|+|-|-|-|.| | | }}
{{family tree | JOE | | ME  | | SIS | | | JOE=My brother Joe|ME='''Me!'''|SIS=My little sister}}
{{family tree/end}}

Produces this:


 
 
 
Gladys
 
 
 
Sydney
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Mom
 
Dad
 
Aunt Daisy
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
My brother Joe
 
Me!
 
My little sister
 
 

Parameters

The |summary=text parameter of the {{family tree/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 {{family tree}} 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
 
 
 
E
 
 
 
*
 
 
 
 
3
 
 
 
b
 
 
 
t
 
 
 
d
 
 
 
-
 
 
:
 
 
 
Misc.:
T
 
 
 
 
G
 
 
 
 
X
 
 
 
 
K
 
 
 
k
 
 
 
U
 
 
 


  • 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}}

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
|boxstyle_WHITE = background-color: #fff;
}}
{{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 diagram, and an optional |align= parameter to set the chart alignment.

See also