Template:Tree chart/doc

Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted

Usage

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 {{Tree chart/start}} and {{Tree chart/end}}. The chart is displayed as HTML tables using CSS attributes, and may contain arbitrary wiki markup within the boxes. This implementation was based on the now-deprecated {{family tree}} template.

Basic example

This code:

{{Tree chart/start|align=center|summary=An example family tree}}
{{Tree chart| | | |GrMa |~|y|~| GRP | |GrMa=Grandma|GRP=Grandpa}}
{{Tree chart| | | | | | | |)|-|-|-|.| }}
{{Tree chart| | | MOM |y| DAD | |DAISY|MOM=Mom|DAD=Dad|DAISY=[[Aunt Daisy]]}}
{{Tree chart| |,|-|-|-|+|-|-|-|.| | | }}
{{Tree chart| JOE | | ME  | | SIS | | |JOE=My brother Joe|ME='''Me!'''|SIS=My little sister}}
{{Tree chart/end}}

produces this:

Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permittedLua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permittedLua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permittedLua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permittedLua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted

This chart visually displays the information that I have a brother Joe and a little sister; my mom married my dad; and my dad's parents were Grandma and Grandpa; and my dad's parents had another child, Aunt Daisy. The code above produces a table of size 9 rows x 10 columns as shown below.

The table structure created using the example above

Collapsible basic example

This code uses {{chart top}}:

{{chart top|An example family tree}}
{{Tree chart/start|align=center}}
{{Tree chart| | | |GrMa |~|y|~| GRP | |GrMa=Grandma|GRP=Grandpa}}
{{Tree chart| | | | | | | |)|-|-|-|.| }}
{{Tree chart| | | MOM |y| DAD | |DAISY|MOM=Mom|DAD=Dad|DAISY=[[Aunt Daisy]]}}
{{Tree chart| |,|-|-|-|+|-|-|-|.| | | }}
{{Tree chart| JOE | | ME  | | SIS | | |JOE=My brother Joe|ME='''Me!'''|SIS=My little sister}}
{{Tree chart/end}}
{{chart bottom}}

produces this: Template:Chart top

Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permittedLua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permittedLua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permittedLua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permittedLua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted

Template:Chart bottom

This chart visually displays the information that I have a brother Joe and a little sister; my mom married my dad; and my dad's parents were Grandma and Grandpa; and my dad's parents had another child, Aunt Daisy.

Parameters

The template accepts any number of unnamed parameters with each parameter specifying a tile or a box.

  • Boxes can contain arbitrary wiki markup. The content of each box is specified using additional named parameters appended to the template call. Each box is three tiles wide and normally has a black border two pixels wide. Boxes can have any name that is a valid template parameter name, subject to a minimum of two alphabetical characters.
  • Tiles are line drawing symbols used to connect the boxes. They consist of various styles of horizontal and vertical lines along with corners and crossings as needed. Tiles are specified using their one- or two-character name: for the most common tiles, that character is more or less approximate to the tile's appearance. A special case of a tile is the empty tile, specified by a single space character. A table of available tiles is given below.
Solid lines:
! Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
, Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
v Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
. Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
- Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
) Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
+ Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
( Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
` Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
^ Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
' Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
Dashed lines:
: Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
F Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
V Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
7 Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
~ Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
D Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
% Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
C Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
L Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
A Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
J Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
Dotted lines:
Q Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
S Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
M Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
T Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
P Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
H Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
R Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
G Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
Y Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
W Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
Z Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||  
Dashes hrzntl solid vrtcl:
fy Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
y Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
ye Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
f Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
t Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
e Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
fh Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
h Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
he Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
Solid hrzntl dashes vrtcl:
dj Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
j Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
jc Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
d Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
* Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
c Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
di Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
i Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
ic Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
Solid hrzntl dot vrtcl:
kr Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
r Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
rl Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
k Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
a Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
l Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
kq Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
q Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
ql Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
Dashed hrzntl dot vrtcl:
kr2 Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
r2 Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
rl2 Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
k2 Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
a2 Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
l2 Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
kq2 Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
q2 Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
ql2 Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
Dots hrzntl solid vrtcl:
om Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
m Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
mp Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
o Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
b Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
p Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
on Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
n Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
np Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
Dots hrzntl dashes vrtcl:
om2 Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
m2 Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
mp2 Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
o2 Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
b2 Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
p2 Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
on2 Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
n2 Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
np2 Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
Miscellaneous (grey background not available in, or changed from, familytree):
k3 Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
T2 Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
l3 Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
b3 Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
G2 Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
X Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
K Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
l4 Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
U Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted

Style attributes

The appearance of the boxes in a row may be controlled by the following optional template parameters:

  • border specifies the width of the box border in pixels,
  • boxstyle can be used to append arbitrary CSS declarations directly to the box style attributes. For example, the following code:
{{Tree chart/start}}
{{Tree chart|border=1|boxstyle=color:white; background:green; color: #202122; | | FOO |y| BAR | |FOO=Box 1|BAR=Box 2}}
{{Tree chart| | |,|-|^|-|.| | }}
{{Tree chart|border=3|boxstyle=background:yellow; color: #202122; | | FOO | | BAR | |FOO=Box 3|BAR=Box 4}}
{{Tree chart/end}}

produces this chart:

Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permittedLua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permittedLua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted

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

{{Tree chart/start}}
{{Tree chart| | | | |CLEAR| | | | |CLEAR=Clear box}}
{{Tree chart| |,|-|-|'|!|`|-|-|.| }}
{{Tree chart|RED  |~|GREEN|~|BLUE |RED=Red box|GREEN=Green box|BLUE=Blue box
|boxstyle_RED  =color:white; background-color: red;
|boxstyle_GREEN=color:yellow; background-color: green;
|boxstyle_BLUE =color:white; background-color: blue;
}}
{{Tree chart/end}}

which produces this:

Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permittedLua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permittedLua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted

Warning sign Note: When specifying style attributes for individual named boxes, make sure the box names are aligned to the left side of the 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 {{Tree chart/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.

Migration from familytree

The {{tree chart}} template is largely compatible with the earlier {{family tree}} template. However, to use the additional functionality offered with this template, diagrams must be updated to use {{tree chart}} instead. Many {{family tree}} diagrams can be altered to use {{tree chart}} simply by replacing the wikitext familytree with tree chart. A few of the "mixed" tiles had to be renamed, and {{family tree}} diagrams using these tiles will have to make a few changes. Additionally, three "miscellaneous" tiles have been included in this list that have not changed K,U,X.

Mixed tiles that have changed
Tile {{family tree}} {{tree chart}} Notes on parameters
Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||{,3||c||Change
Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||},E||d||Change
Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||#||t||Change
Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||[||e||Change
Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||]||f||Change
Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||t||i||Change
Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||u||j||Change
Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||b||di||Change
Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||c||fh||Change
Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||d||ic||Change
Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||j||he||Change
Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||n||ye||Change
Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||p||dj||Change
Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||q||jc||Change
Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||r||fy||Change
Miscellaneous tiles
Tile {{family tree}} {{tree chart}} Notes on parameters
Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||G||G2||Change
Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||K||K||Same
Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||T||T2||Change
Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||U||U||Same
Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||X||X||Same
Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
||k||l4||Change

When converting from {{familytree}} to {{tree chart}} care must be taken with all the glyph mentioned in this section to generate tiles with {{familytree}} are altered so that the tiles are not silently replaced with inappropriate tiles from {{tree chart}}.

For example: the glyph "k" generates the tile Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
with {{Familytree}} but Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
with {{tree chart}} (instead use "l4" to generate Lua error: Cannot create process: proc_open(/dev/null): Failed to open stream: Operation not permitted
with {{tree chart}}).

Lastly, if any uses of the {{family tree}} template end with |}}, that vertical bar should be removed, leaving the last cell in that row containing either some text or a space.

The familytree.js tool below can be used to convert between syntaxes. Just change the start tag when in edit view, then click "Art → Templates" to toggle back to wikitext view. The other templates will be updated to match.

See also

Template:Graph, chart and plot templates