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:
{{familytree/start}}
{{familytree | | | | GRM |~|y|~| GRP | | GRM=[[Grandma]]|GRP=[[Grandpa]]}}
{{familytree | | | | | | | |)|-|-|-|.| }}
{{familytree | | | MOM |y| DAD | |DAI| MOM=[[Mom]]|DAD=[[Dad]]|DAI=[[Daisy|Aunt]]}}
{{familytree | |,|-|-|-|+|-|-|-|.| | | }}
{{familytree | JOE | | ME | | SIS | | | JOE=[[My elder brother]]|ME='''ME'''|SIS=[[My little sister]]}}
{{familytree/end}}
Produces this:
| Grandma | Grandpa | ||||||||||||||||||||||||
| Mom | Dad | Aunt | |||||||||||||||||||||||
| My elder brother | ME | My little sister | |||||||||||||||||||||||
Parameters
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.
- 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 | ( | ) | |||||||||||||||||||||||
| - | ! | + | ||||||||||||||||||||||||
| F | 7 | L | J | |||||||||||||||||||||||
| A | V | C | D | |||||||||||||||||||||||
| ~ | : | % | ||||||||||||||||||||||||
| * | } | { | ||||||||||||||||||||
| # | y | h | ||||||||||||||||||||
| ] | [ | |||||||||||||||||||||
- 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.