Template:Familytree/doc

Description
This template produces one row in a "family tree"-like chart consisting of boxes and connecting lines based loosely on an ASCII art-like syntax. It is meant to be used in conjunction with Familytree/start and Familytree/end. The chart is displayed as HTML tables using CSS attributes, and may contain arbitrary wiki markup within the boxes.

The template is based on Template:Family tree on Familypedia, which was based on a now-removed original from Wikipedia.

Dependencies
This template uses Familytree/step2 and is used in conjunction with Familytree/start and Familytree/end.

Parameters
The  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.


 * 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 should have a name consisting of three characters with spaces on both sides (e.g.  ). This way the structure of the tree is maintained in code form and is easy to edit.


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

Example
gives:

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:



produces a result like this:

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



which produces the output:

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