Template:Chart/doc: Difference between revisions

Template page
(Created page with "{{Lua|Module:TreeChart}} {{distinguish|Template:Graph:Chart}} <noinclude>{{documentation subpage}}</noinclude> <!--PLEASE ADD METADATA TO THE <includeonly> SECTION AT THE BOTT...")
 
No edit summary
 
Line 1: Line 1:
{{Lua|Module:TreeChart}}
{{distinguish|Template:Graph:Chart}}
<noinclude>{{documentation subpage}}</noinclude>
<noinclude>{{documentation subpage}}</noinclude>
<!--PLEASE ADD METADATA TO THE <includeonly> SECTION AT THE BOTTOM OF THIS PAGE
<!--PLEASE ADD METADATA TO THE <includeonly> SECTION AT THE BOTTOM OF THIS PAGE
Line 7: Line 5:


==Usage==
==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 {{tl|chart/start}} and {{tl|chart/end}}. The chart is displayed as [[HTML]] tables using [[Cascading Style Sheets|CSS]] attributes, and may contain arbitrary [[wiki markup]] within the boxes. This implementation was based on the now-deprecated {{tl|family tree}} template.
This template produces one row in a "family tree"-like chart consisting of boxes and connecting lines based loosely on an [[Wikipedia:ASCII art|ASCII art]]-like syntax. It is meant to be used in conjunction with {{tl|chart/start}} and {{tl|chart/end}}. The chart is displayed as [[Wikipedia:HTML|HTML]] tables using [[Wikipedia:Cascading Style Sheets|CSS]] attributes, and may contain arbitrary [[Wikipedia:wiki markup|wikimarkup]] within the boxes. This implementation was based on the now-deprecated {{tl|family tree}} template.


==Basic example==
==Basic example==
Line 15: Line 13:
{{chart| | | |GrMa |~|y|~| GRP | |GrMa=Grandma|GRP=Grandpa}}
{{chart| | | |GrMa |~|y|~| GRP | |GrMa=Grandma|GRP=Grandpa}}
{{chart| | | | | | | |)|-|-|-|.| }}
{{chart| | | | | | | |)|-|-|-|.| }}
{{chart| | | MOM |y| DAD | |DAISY|MOM=Mom|DAD=Dad|DAISY=[[Aunt Daisy]]}}
{{chart| | | MOM |y| DAD | |TERUMI|MOM=Mom|DAD=Dad|TERUMI=[[Yuuki Terumi]]}}
{{chart| |,|-|-|-|+|-|-|-|.| | | }}
{{chart| |,|-|-|-|+|-|-|-|.| | | }}
{{chart| JOE | | ME  | | SIS | | |JOE=My brother Joe|ME='''Me!'''|SIS=My little sister}}
{{chart| JOE | | ME  | | SIS | | |JOE=My brother Joe|ME='''Me!'''|SIS=My little sister}}
Line 26: Line 24:
{{chart| | | |GrMa |~|y|~| GRP | |GrMa=Grandma|GRP=Grandpa}}
{{chart| | | |GrMa |~|y|~| GRP | |GrMa=Grandma|GRP=Grandpa}}
{{chart| | | | | | | |)|-|-|-|.| }}
{{chart| | | | | | | |)|-|-|-|.| }}
{{chart| | | MOM |y| DAD | |DAISY|MOM=Mom|DAD=Dad|DAISY=[[Aunt Daisy]]}}
{{chart| | | MOM |y| DAD | |TERUMI|MOM=Mom|DAD=Dad|TERUMI=[[Yuuki Terumi]]}}
{{chart| |,|-|-|-|+|-|-|-|.| | | }}
{{chart| |,|-|-|-|+|-|-|-|.| | | }}
{{chart| JOE | | ME  | | SIS | | |JOE=My brother Joe|ME='''Me!'''|SIS=My little sister}}
{{chart| JOE | | ME  | | SIS | | |JOE=My brother Joe|ME='''Me!'''|SIS=My little sister}}
Line 32: Line 30:


This charts visually displays the information that I have a brother Joe and a little sister; my mom married my dad;
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 parents had another child, Aunt Daisy. The code above produces a table of size 9 rows x 10 columns as shown below.
and my dad's parents were Grandma and Grandpa; and my dad's parents had another child, Uncle Terumi. The code above produces a table of size 9 rows x 10 columns.
[[File:Chart template table structure.png|center|The table structure created using the example above]]


==Collapsible basic example==
==Collapsible basic example==
Line 42: Line 39:
{{chart| | | |GrMa |~|y|~| GRP | |GrMa=Grandma|GRP=Grandpa}}
{{chart| | | |GrMa |~|y|~| GRP | |GrMa=Grandma|GRP=Grandpa}}
{{chart| | | | | | | |)|-|-|-|.| }}
{{chart| | | | | | | |)|-|-|-|.| }}
{{chart| | | MOM |y| DAD | |DAISY|MOM=Mom|DAD=Dad|DAISY=[[Aunt Daisy]]}}
{{chart| | | MOM |y| DAD | |DAISY|MOM=Mom|DAD=Dad|TERUMI=[[Yuuki Terumi]]}}
{{chart| |,|-|-|-|+|-|-|-|.| | | }}
{{chart| |,|-|-|-|+|-|-|-|.| | | }}
{{chart| JOE | | ME  | | SIS | | |JOE=My brother Joe|ME='''Me!'''|SIS=My little sister}}
{{chart| JOE | | ME  | | SIS | | |JOE=My brother Joe|ME='''Me!'''|SIS=My little sister}}
Line 54: Line 51:
{{chart| | | |GrMa |~|y|~| GRP | |GrMa=Grandma|GRP=Grandpa}}
{{chart| | | |GrMa |~|y|~| GRP | |GrMa=Grandma|GRP=Grandpa}}
{{chart| | | | | | | |)|-|-|-|.| }}
{{chart| | | | | | | |)|-|-|-|.| }}
{{chart| | | MOM |y| DAD | |DAISY|MOM=Mom|DAD=Dad|DAISY=[[Aunt Daisy]]}}
{{chart| | | MOM |y| DAD | |TERUMI|MOM=Mom|DAD=Dad|TERUMI=[[Yuuki Terumi]]}}
{{chart| |,|-|-|-|+|-|-|-|.| | | }}
{{chart| |,|-|-|-|+|-|-|-|.| | | }}
{{chart| JOE | | ME  | | SIS | | |JOE=My brother Joe|ME='''Me!'''|SIS=My little sister}}
{{chart| JOE | | ME  | | SIS | | |JOE=My brother Joe|ME='''Me!'''|SIS=My little sister}}
Line 61: Line 58:


This charts visually displays the information that I have a brother Joe and a little sister; my mom married my dad;
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 parents had another child, Aunt Daisy.
and my dad's parents were Grandma and Grandpa; and my dad's parents had another child, Uncle Terumi.


==Parameters==
==Parameters==
The template accepts any number of unnamed parameters with each parameter specifying a '''tile''' or a '''box'''.
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.
* '''Boxes''' can contain arbitrary [[Wikipedia:wiki markup|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.
* '''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.


Line 231: Line 228:
The appearance of the boxes in a row may be controlled by the following optional template parameters:
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,
* ''border'' specifies the width of the box border in pixels,
* ''boxstyle'' can be used to append arbitrary [[Cascading Style Sheets|CSS]] declarations directly to the box style attributes. For example, the following code:
* ''boxstyle'' can be used to append arbitrary [[Wikipedia:Cascading Style Sheets|CSS]] declarations directly to the box style attributes. For example, the following code:


<pre><nowiki>
<pre><nowiki>
Line 278: Line 275:


The {{tl|chart/start}} template also accepts an optional {{para|style}} parameter that can be used to set CSS styles for the entire diagram, and an optional {{para|align}} parameter to set the chart alignment.
The {{tl|chart/start}} template also accepts an optional {{para|style}} parameter that can be used to set CSS styles for the entire diagram, and an optional {{para|align}} parameter to set the chart alignment.
==Migration from familytree==
The {{tl|chart}} template is largely compatible with the earlier {{tl|family tree}} template. However, to use the additional functionality offered with this template, diagrams must be updated to use {{tl|chart}} instead. Many {{tl|family tree}} diagrams can be altered to use {{tl|chart}} simply by replacing the wikitext <code>familytree</code> with <code>chart</code>. A few of the "mixed" tiles had to be renamed, and {{tl|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 <code>K,U,X.</code>
{|  class="wikitable" style="text-align:center; float: left; margin-left: 1em;"
|+Mixed tiles that have changed
!Tile!!{{tl|family tree}}!!{{tl|chart}}||Notes on parameters
|-
|{{chart/start}}{{chart|c}}{{chart/end}}||<code>{</code>||<code>c</code>||Change
|-
|{{chart/start}}{{chart|d}}{{chart/end}}||<code>}</code>||<code>d</code>||Change
|-
|{{chart/start}}{{chart|t}}{{chart/end}}||<code>#</code>||<code>t</code>||Change
|-
|{{chart/start}}{{chart|e}}{{chart/end}}||<code>[</code>||<code>e</code>||Change
|-
|{{chart/start}}{{chart|f}}{{chart/end}}||<code>]</code>||<code>f</code>||Change
|-
|{{chart/start}}{{chart|di}}{{chart/end}}||<code>b</code>||<code>di</code>||Change
|-
|{{chart/start}}{{chart|fh}}{{chart/end}}||<code>c</code>||<code>fh</code>||Change
|-
|{{chart/start}}{{chart|ic}}{{chart/end}}||<code>d</code>||<code>ic</code>||Change
|-
|{{chart/start}}{{chart|he}}{{chart/end}}||<code>j</code>||<code>he</code>||Change
|-
|{{chart/start}}{{chart|ye}}{{chart/end}}||<code>n</code>||<code>ye</code>||Change
|-
|{{chart/start}}{{chart|om2}}{{chart/end}}||<code>p</code>||<code>om2</code>||Change
|-
|{{chart/start}}{{chart|mp2}}{{chart/end}}||<code>q</code>||<code>mp2</code>||Change
|-
|{{chart/start}}{{chart|kr2}}{{chart/end}}||<code>r</code>||<code>kr2</code>||Change
|}
{| class="wikitable" style="text-align:center; float: left; margin-left: 1em;"
|+Miscellaneous tiles
!Tile!!{{tl|family tree}}!!{{tl|chart}}||Notes on parameters
|-
|{{chart/start}}{{chart|G2}}{{chart/end}}||<code>G</code>||<code>G2</code>||Change
|-
||{{chart/start}}{{chart|K}}{{chart/end}}||<code>K</code>||<code>K</code>||Same
|-
|{{chart/start}}{{chart|T2}}{{chart/end}}||<code>T</code>||<code>T2</code>||Change
|-
||{{chart/start}}{{chart|U}}{{chart/end}}||<code>U</code>||<code>U</code>||Same
|-
||{{chart/start}}{{chart|X}}{{chart/end}}||<code>X</code>||<code>X</code>||Same
|-
|{{chart/start}}{{chart|l4}}{{chart/end}}||<code>k</code>||<code>l4</code>||Change
|}
{{clear}}
When converting from {{tl|Familytree}} to {{tl|Chart}} care must be taken with all the glyph mentioned in this section to generate tiles with {{tl|Familytree}} are altered so that the tiles are not silently replaced with inappropriate tiles from {{tl|Chart}}.
{|
|-
|For example: the glyph "[[k]]" generates the tile
|style="border:1px solid gray"|{{familytree/start}}{{familytree|k}}{{familytree/end}}
| with {{tl|Familytree}}
|but
|style="border:1px solid gray"|{{chart/start}}{{chart|k}}{{chart/end}}
| with {{tl|Chart}}
|(instead use "l4" to generate
|style="border:1px solid gray"|{{chart/start}}{{chart|l4}}{{chart/end}}
|with {{tl|Chart}}).
|}
Lastly, if any uses of the {{tl|family tree}} template end with <code>|}}</code>, 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&nbsp;→&nbsp;Templates" to toggle back to wikitext view. The other templates will be updated to match.


== See also ==
== See also ==
* [[Wikipedia:Family trees]] for other methods.
* [[Wikipedia:Family trees]] for other methods.
* [[User:GregU/familytree.js|familytree.js]], a tool for the easy creation or updating of diagrams using these templates.
* [[Wikipedia:User:GregU/familytree.js|familytree.js]], a tool for the easy creation or updating of diagrams using these templates.
* [[:Category:Family tree templates]]
* [[Wikipedia:Category:Family tree templates]]
* [[Template:Nerva–Antonine family tree]], a large example.
* [[Wikipedia:Template:Nerva–Antonine family tree]], a large example.
* [[Template:Tree list]]
* [[Wikipedia:Template:Tree list]]
* [[Template:Ahnentafel]]
* [[Wikipedia:Template:Ahnentafel]]
{{Template:Graph, chart and plot templates}}
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox |
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox |
|  {{When on user page | |
|  {{When on user page | |

Latest revision as of 23:19, 11 February 2019

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 wikimarkup within the boxes. This implementation was based on the now-deprecated {{family tree}} template.

Basic example

This code:

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

produces this:

GrandmaGrandpa
MomDadYuuki Terumi
My brother JoeMe!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 parents had another child, Uncle Terumi. The code above produces a table of size 9 rows x 10 columns.

Collapsible basic example

This code uses {{chart top}}:

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

produces this:

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 parents had another child, Uncle Terumi.

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:
!
  ,
  v
  .
 
-
  )
  +
  (
 
`
  ^
  '
 
Dashed lines:
:
  F
  V
  7
 
~
  D
  %
  C
 
L
  A
  J
 
Dotted lines:
Q
  S
  M
  T
 
P
  H
  R
  G
 
Y
  W
  Z
 
Dashes hrzntl solid vrtcl:
fy
y
ye
f
t
e
fh
h
he
Solid hrzntl dashes vrtcl:
dj
j
jc
d
*
c
di
i
ic
Solid hrzntl dot vrtcl:
kr
r
rl
k
a
l
kq
q
ql
Dashed hrzntl dot vrtcl:
kr2
r2
rl2
k2
a2
l2
kq2
q2
ql2
Dots hrzntl solid vrtcl:
om
m
mp
o
b
p
on
n
np
Dots hrzntl dashes vrtcl:
om2
m2
mp2
o2
b2
p2
on2
n2
np2
Miscellaneous:
T2
G2
X
K
l4
U

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 1Box 2
Box 3Box 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 boxGreen boxBlue box

Template:Warnsign 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, and an optional |align= parameter to set the chart alignment.

See also