Template:Family tree/doc
Template:Documentation subpage Template:Ombox
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 Template:Para parameter of the Template:Tl 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 Template:Tl 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.
, | v | . | |||||||||||||||
) | + | ( | |||||||||||||||
` | ^ | ' | |||||||||||||||
- | ! |
r | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end | y | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end | n | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end |
] | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end | # | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end | [ | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end |
c | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end | h | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end | j | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end |
~ | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end | ! | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end |
p | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end | u | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end | q | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end |
} | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end | * | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end | { | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end |
b | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end | t | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end | d | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end |
- | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end | : | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end |
T | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end | ||||||
G | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end | X | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end | K | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end | k | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end |
U | Template:Family Tree/startTemplate:Family TreeTemplate:Family Tree/end |
- 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:
{{Family Tree/start |summary=Box 1 married to Box 2, with children Box 3 and Box 4}} {{Family Tree|border=0|boxstyle=background:#dfd;| | FOO |y| BAR | |FOO=Box 1|BAR=Box 2}} {{Family Tree|border=0|boxstyle=background:#dfd;| | |,|-|^|-|.| | }} {{Family Tree|border=0|boxstyle=background:#dfd;| | FOO | | BAR | |FOO=Box 3|BAR=Box 4}} {{Family Tree/end}}
produces a result like this:
Template:Family Tree/start Template:Family Tree Template:Family Tree Template:Family Tree Template:Family Tree/end
Style attributes can even be set for individual boxes, as in the example below:
{{Family Tree/start |White box with three children Red box, Green box, Blue box, all married to each other}} {{Family Tree| | | | |WHITE| | | | |WHITE=White box |boxstyle_WHITE = background-color: #fff; }} {{Family Tree| |,|-|-|'|!|`|-|-|.| }} {{Family Tree|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; }} {{Family Tree/end}}
which produces the output:
Template:Family Tree/start Template:Family Tree Template:Family Tree Template:Family Tree Template:Family Tree/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 "|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 Template:Tl template also accepts an optional style parameter that can be used to set CSS styles for the entire table.
See also
- Template:Tl – supports more complex family trees
- Family Tree.js – tool to easily create or update diagrams using these templates
- gedcom2wiki service – online service to convert gedcom files to wiki family tree template markup
- Wikipedia:Family trees – other methods