Template:Chart

From PS4 Developer wiki
Revision as of 01:23, 20 August 2014 by Euss (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
[edit] Template documentation

This is a template for rendering simple diagrams consisting of boxes and connecting lines based loosely on an ASCII art-like syntax. The trees are displayed as HTML tables using Cascading Style Sheets attributes, and may contain arbitrary wiki markup within the boxes. This implementation was based on the familytree template.

Example usage

This code:

{{chart/start}}
{{chart| | | | GrMa |~|y|~| GRP | | GrMa=Grandma|GRP=Grandpa}}
{{chart| | | | | | | |)|-|-|-|.| }}
{{chart| | | MOM |y| DAD | |HAROLD| MOM=Mom|DAD=Dad|HAROLD=Harold}}
{{chart| |,|-|-|-|+|-|-|-|.| | | }}
{{chart| JOE | | ME  | | SIS | | | JOE=My brother Joe|ME='''Me!'''|SIS=My little sister}}
{{chart/end}}

Produces this:

Grandma
Grandpa
Mom
Dad
Harold
My brother Joe
Me!
My little sister

Parameters

semi-requiredsemi-required
{{#replace:{{#replace:{{#replace:{{#replace:<unnamed 1> >> <unnamed 50>|| }}| >> | up to }}| // | or }}| ++ |, }}
This parameter defines the content of one chart "box" in a row of up to 50 chart boxes. In any given row, each chart box requires a uniquely named parameter.
optionaloptional
(default: "2")
{{#replace:{{#replace:{{#replace:{{#replace:rowspan|| }}| >> | up to }}| // | or }}| ++ |, }}
This parameter defines the number of cells all chart boxs in a given row will extend. Each default chart box is 2 cells long, and spacings between chart boxes are 2 cells long.
optionaloptional
(default: "2")
{{#replace:{{#replace:{{#replace:{{#replace:rowspan_<unnamed1> >> rowspan_<unnamed50>|| }}| >> | up to }}| // | or }}| ++ |, }}
This parameter defines the number of cells any individual chart box in a row will extend. Each default chart box is 2 cells long, and spacings between chart boxes are 2 cells long.
optionaloptional
(default: "6")
{{#replace:{{#replace:{{#replace:{{#replace:colspan|| }}| >> | up to }}| // | or }}| ++ |, }}
This parameter defines the number of cells all chart boxes in a given column will extend. Each chart box is 6 cells wide, and spacings between chart boxes are 2 cells wide.
optionaloptional
(default: "6")
{{#replace:{{#replace:{{#replace:{{#replace:colspan_<unnamed1> >> colspan_<unnamed50>|| }}| >> | up to }}| // | or }}| ++ |, }}
This parameter defines the number of cells any individual chart box in a row will extend. Each default chart box is 2 cells long, and spacings between chart boxes are 2 cells long.
optionaloptional
(default: "2")
{{#replace:{{#replace:{{#replace:{{#replace:border|| }}| >> | up to }}| // | or }}| ++ |, }}
This parameter defines the size in pixels of the border of all chart boxes in any given row.
optionaloptional
(default: "2")
{{#replace:{{#replace:{{#replace:{{#replace:border_<unnamed1> >> border_<unnamed50>|| }}| >> | up to }}| // | or }}| ++ |, }}
This parameter defines the size in pixels of the border of any individual chart box.
optionaloptional
{{#replace:{{#replace:{{#replace:{{#replace:boxstyle|| }}| >> | up to }}| // | or }}| ++ |, }}
This parameter defines any arbitrary CSS styling of all chart boxes in any given row.
optionaloptional
{{#replace:{{#replace:{{#replace:{{#replace:boxstyle_<unnamed1> >> boxstyle_<unnamed50>|| }}| >> | up to }}| // | or }}| ++ |, }}
This parameter defines any arbitrary CSS styling of any individual chart box.
optionaloptional
{{#replace:{{#replace:{{#replace:{{#replace:style|| }}| >> | up to }}| // | or }}| ++ |, }}
When used in the {{chart/start}} template, this parameter defines any arbitrary CSS styling of all chart boxes in the entire chart template.
optionaloptional
{{#replace:{{#replace:{{#replace:{{#replace:class|| }}| >> | up to }}| // | or }}| ++ |, }}
When used in the {{chart/start}} template, this parameter applies any predefined Common CSS class styling of all chart boxes in the entire chart template, or all chart boxes in any given row, when used in the {{Chart}} template.
optionaloptional
{{#replace:{{#replace:{{#replace:{{#replace:class_<unnamed1> >> class_<unnamed50>|| }}| >> | up to }}| // | or }}| ++ |, }}
This parameter applies any predefined Common CSS class styling of any individual chart box.

Usage

This template produces one row in a family tree table. The template accepts up to 50 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 one- or two-character symbols: for the most common tiles, that character is 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 available tiles is given below.
Solid lines:
,
  .
  `
  '
 
^
  v
  (
  )
 
-
  !
  +
 
 
Dashed lines:
F
  7
  L
  J
 
A
  V
  C
  D
 
~
  :
  %
 
 
Dotted lines:
S
  T
  Y
  Z
 
W
  M
  G
  H
 
P
  Q
  R
 
 
Mixed:
*
  d
  c
        a
  k
  l
        a2
  k2
  l2
 
t
  y
  h
        b
  m
  n
        b2
  m2
  n2
 
f
  e
  i
  j
  o
  p
  q
  r
  o2
  p2
  q2
  r2
 


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

Style attributes

The appearance of the boxes 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=0|boxstyle=background:#dfd;| | FOO |y| BAR | |FOO=Box 1|BAR=Box 2}}
{{chart|border=0|boxstyle=background:#dfd;| | |,|-|^|-|.| | }}
{{chart|border=0|boxstyle=background:#dfd;| | 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, 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: #faa;
|boxstyle_GREEN=background-color: #afa;
|boxstyle_BLUE =background-color: #aaf;
}}
{{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

  • A redlink to Template:Chart/cellb will be caused by any instance of |}}; change this to }}.
  • A redlink to Template:Chart/celltTemplate:Chart/cellb will be caused by any instance of ||; change this to | |.

See also

  • familytree.js – tool to easily create or update diagrams using this template