Template:Familytree/doc


 * This template documentation is transcluded from /doc [ [ edit] ]

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:

Produces this:

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.

{| style="background-color:darkgray; float: left; margin-left: 1em;" {| cellspacing="0" cellpadding="0" border="0" style=""|} {| cellspacing="0" cellpadding="0" border="0" style=""|} {| cellspacing="0" cellpadding="0" border="0" style=""|} {| cellspacing="0" cellpadding="0" border="0" style=""|} {| cellspacing="0" cellpadding="0" border="0" style=""|} {| cellspacing="0" cellpadding="0" border="0" style=""|} {| cellspacing="0" cellpadding="0" border="0" style=""|} {| cellspacing="0" cellpadding="0" border="0" style=""|} {| cellspacing="0" cellpadding="0" border="0" style=""|} {| cellspacing="0" cellpadding="0" border="0" style=""|} {| cellspacing="0" cellpadding="0" border="0" style=""|} {| style="background-color:darkgray; float: left; margin-left: 1em;" {| cellspacing="0" cellpadding="0" border="0" style=""|} {| cellspacing="0" cellpadding="0" border="0" style=""|} {| cellspacing="0" cellpadding="0" border="0" style=""|} {| cellspacing="0" cellpadding="0" border="0" style=""|} {| cellspacing="0" cellpadding="0" border="0" style=""|} {| cellspacing="0" cellpadding="0" border="0" style=""|} {| cellspacing="0" cellpadding="0" border="0" style=""|} {| cellspacing="0" cellpadding="0" border="0" style=""|} {| cellspacing="0" cellpadding="0" border="0" style=""|} {| cellspacing="0" cellpadding="0" border="0" style=""|}
 * + Solid lines:
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * + Dashed lines:
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |

{| style="background-color:darkgray; float: left; margin-left: 1em;" {| cellspacing="0" cellpadding="0" border="0" style=""|} {| cellspacing="0" cellpadding="0" border="0" style=""|} {| cellspacing="0" cellpadding="0" border="0" style=""|}
 * + Mixed:
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |
 * || style="border: 1px solid gray;" |


 * 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.

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:

produces a result like this: