Template:Chart/box
File:Ambox warning yellow.svg | This template employs intricate features of template syntax.
You are encouraged to familiarise yourself with its setup and parser functions before editing the template. If your edit causes unexpected problems, please undo it quickly, as this template may appear on a large number of pages. Remember that you can conduct experiments, and should test all improvements, in either the general Template sandbox or your user space before changing anything here. |
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 {{chart/start}} and {{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 {{familytree}} template.
Basic example
This code:
{{chart/start|summary=An example family tree}} {{chart| | | |GrMa |~|y|~| GRP | |GrMa=Grandma|GRP=Grandpa}} {{chart| | | | | | | |)|-|-|-|.| }} {{chart| | | MOM |y| DAD | |DAISY|MOM=Mom|DAD=Dad|DAISY=[[Aunt Daisy]]}} {{chart| |,|-|-|-|+|-|-|-|.| | | }} {{chart| JOE | | ME | | SIS | | |JOE=My brother Joe|ME='''Me!'''|SIS=My little sister}} {{chart/end}}
produces this:
Grandma | Grandpa | ||||||||||||||||||||||||
Mom | Dad | Aunt Daisy | |||||||||||||||||||||||
My brother Joe | Me! | My little sister | |||||||||||||||||||||||
This charts 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 parent's had another child, Aunt Daisy.
The |summary=text
parameter of {{chart/start}} 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.
Parameters
The template accepts up to 50 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.
! |
, |
v |
. |
||||||||||||||||||||||
- |
) |
+ |
( |
||||||||||||||||||||||
` |
^ |
' |
: |
F |
V |
7 |
||||||||||||||||||||||
~ |
D |
% |
C |
||||||||||||||||||||||
L |
A |
J |
Q |
S |
M |
T |
||||||||||||||||||||||
P |
H |
R |
G |
||||||||||||||||||||||
Y |
W |
Z |
j |
y |
r |
m |
r2 |
m2 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
d |
* |
c |
f |
t |
e |
k |
a |
l |
o |
b |
p |
k2 |
a2 |
l2 |
o2 |
b2 |
p2 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
i |
h |
q |
n |
q2 |
n2 |
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:
{{chart/start}} {{chart|border=1|boxstyle=background:green; | | FOO |y| BAR | |FOO=Box 1|BAR=Box 2}} {{chart | | |,|-|^|-|.| | }} {{chart|border=3|boxstyle=background:yellow; | | FOO | | BAR | |FOO=Box 3|BAR=Box 4}} {{chart/end}}
produces this chart:
Box 1 | Box 2 | ||||||||||||||||
Box 3 | Box 4 | ||||||||||||||||
Style attributes can even be set for individual boxes within each row, as in the example below:
{{chart/start}} {{chart| | | | |CLEAR| | | | |CLEAR=Clear box}} {{chart| |,|-|-|'|!|`|-|-|.| }} {{chart|RED |~|GREEN|~|BLUE |RED=Red box|GREEN=Green box|BLUE=Blue box |boxstyle_RED =background-color: red; |boxstyle_GREEN=background-color: green; |boxstyle_BLUE =background-color: blue; }} {{chart/end}}
which produces this:
Clear box | |||||||||||||||||||||
Red box | Green box | Blue box | |||||||||||||||||||
⚠ '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 {{chart/start}} template also accepts an optional style parameter that can be used to set CSS styles for the entire diagram.
Migration from familytree
The {{chart}} template is largely compatible with the earlier {{familytree}} template. However, to use the additional functionality offered with this template, diagrams must be updated to use {{chart}} instead. Many {{familytree}} diagrams can be altered to use {{chart}} and its sub-templates simply by replacing the wikitext familytree
with chart
. A few of the "mixed" tiles had to be renamed, and {{familytree}} diagrams using these tiles will have to make a few changes. Additionally, two new "mixed" tiles have been added, joining solid lines to dashed lines. The following table summarises the differences:
Tile | {{familytree}} | {{chart}} | ||||
---|---|---|---|---|---|---|
{ |
c
| |||||
} |
d
| |||||
# |
t
| |||||
[ |
e
| |||||
] |
f
| |||||
i
| ||||||
j
|
Lastly, if any uses of the {{familytree}} 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.
Errors
- "Template:Chart/cellb" will be caused by any instance of
|}}
- change this to| }}
. - "Template:Chart/celltTemplate:Chart/cellb" will be caused by any instance of
||
- change this to| |
, or;|}}
- change this to| }}
. - "Template:Chart/celly tTemplate:Chart/celly b" will be caused by any instance of
|y |
- change this to|y|
.
See also
- familytree.js – tool to easily create or update diagrams using these templates
- Category:Family tree templates
The above documentation is transcluded from Template:Chart/doc. (edit | history) Editors can experiment in this template's sandbox (create | mirror) and testcases (create) pages. Subpages of this template. |