Template:Familytree/doc: Difference between revisions

From Tolkien Gateway
No edit summary
 
No edit summary
Line 1: Line 1:
<includeonly>{{esoteric}}{{template doc page transcluded}}</includeonly><noinclude>{{template doc page viewed directly}}</noinclude>
This is a template for rendering simple family trees consisting of boxes and connecting lines based on an ASCII art-like syntax.  The trees are displayed as HTML tables using CSS attributes, and may contain arbitrary wiki markup within the boxes.
<!-- EDIT TEMPLATE DOCUMENTATION BELOW THIS LINE -->
 
 
This is a template for rendering simple [[family tree]]s consisting of boxes and connecting lines based on an [[ASCII art]]-like syntax.  The trees are displayed as [[HTML]] tables using [[Cascading Style Sheets|CSS]] attributes, and may contain arbitrary [[wiki markup]] within the boxes.


==Example usage==
==Example usage==
Line 11: Line 7:
{{familytree | | | | Mama |~|y|~| GRP | | Mama=Mama|GRP=Grandpa}}
{{familytree | | | | Mama |~|y|~| GRP | | Mama=Mama|GRP=Grandpa}}
{{familytree | | | | | | | |)|-|-|-|.| }}
{{familytree | | | | | | | |)|-|-|-|.| }}
{{familytree | | | MOM |y| DAD | |DAISY| MOM=Mom|DAD=Dad|DAISY=[[Aunt Daisy]]}}
{{familytree | | | MOM |y| DAD | |DAISY| MOM=Mom|DAD=Dad|DAISY=Aunt Daisy}}
{{familytree | |,|-|-|-|+|-|-|-|.| | | }}
{{familytree | |,|-|-|-|+|-|-|-|.| | | }}
{{familytree | JOE | | ME  | | SIS | | | JOE=My brother Joe|ME='''Me!'''|SIS=My little sister}}
{{familytree | JOE | | ME  | | SIS | | | JOE=My brother Joe|ME='''Me!'''|SIS=My little sister}}
Line 21: Line 17:
{{familytree | | | | Mama |~|y|~| GRP | | Mama=Mama|GRP=Grandpa}}
{{familytree | | | | Mama |~|y|~| GRP | | Mama=Mama|GRP=Grandpa}}
{{familytree | | | | | | | |)|-|-|-|.| }}
{{familytree | | | | | | | |)|-|-|-|.| }}
{{familytree | | | MOM |y| DAD | |DAISY| MOM=Mom|DAD=Dad|DAISY=[[Aunt Daisy]]}}
{{familytree | | | MOM |y| DAD | |DAISY| MOM=Mom|DAD=Dad|DAISY=Aunt Daisy}}
{{familytree | |,|-|-|-|+|-|-|-|.| | | }}
{{familytree | |,|-|-|-|+|-|-|-|.| | | }}
{{familytree | JOE | | ME  | | SIS | | | JOE=My brother Joe|ME='''Me!'''|SIS=My little sister}}
{{familytree | JOE | | ME  | | SIS | | | JOE=My brother Joe|ME='''Me!'''|SIS=My little sister}}
Line 84: Line 80:
<br clear="left" />
<br clear="left" />


*'''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 can have any name that is a valid template parameter name, although single character names should be avoided to prevent conflicts with tile symbols.
*'''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 can have any name that is a valid template parameter name, although single character names should be avoided to prevent conflicts with tile symbols.


==Style attributes==
==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 [[Cascading Style Sheets|CSS]] declarations directly to the box style attributes.  For example, the following code:
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:


<pre><nowiki>
<pre><nowiki>
Line 133: Line 129:


'''NOTE:''' When specifying style attributes for individual named boxes, make sure the box names are aligned to the '''left''' side of area reserved for them in the template call (as in "<code>|RED&nbsp;&nbsp;|</code>" instead of "<code>|&nbsp;RED&nbsp;|</code>" in the example above).  Otherwise the template will end up looking for a style parameter with spaces in its name.
'''NOTE:''' When specifying style attributes for individual named boxes, make sure the box names are aligned to the '''left''' side of area reserved for them in the template call (as in "<code>|RED&nbsp;&nbsp;|</code>" instead of "<code>|&nbsp;RED&nbsp;|</code>" in the example above).  Otherwise the template will end up looking for a style parameter with spaces in its name.
The {{tl|familytree/start}} template also accepts an optional ''style'' parameter that can be used to set CSS styles for the entire table.





Revision as of 00:22, 15 December 2007

This is a template for rendering simple family trees consisting of boxes and connecting lines based on an ASCII art-like syntax. The trees are displayed as HTML tables using CSS attributes, and may contain arbitrary wiki markup within the boxes.

Example usage

This code:

{{familytree/start}}
{{familytree | | | | Mama |~|y|~| GRP | | Mama=Mama|GRP=Grandpa}}
{{familytree | | | | | | | |)|-|-|-|.| }}
{{familytree | | | MOM |y| DAD | |DAISY| MOM=Mom|DAD=Dad|DAISY=Aunt Daisy}}
{{familytree | |,|-|-|-|+|-|-|-|.| | | }}
{{familytree | JOE | | ME  | | SIS | | | JOE=My brother Joe|ME='''Me!'''|SIS=My little sister}}
{{familytree/end}}

Produces this:

 
 
 
Mama
 
 
 
Grandpa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Mom
 
Dad
 
Aunt Daisy
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
My brother Joe
 
Me!
 
My little sister
 
 


Parameters

This template produces one row in a family tree table. The template accepts up to 99 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 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.
Solid lines:
,
 
 
 
 
  .
 
 
 
  `
 
 
 
  '
 
 
 
 
^
 
 
 
  v
 
 
 
  (
 
 
 
  )
 
 
 
 
-
 
 
  !
 
 
  +
 
 
 
 
 
 
 
Dashed lines:
F
 
 
 
 
  7
 
 
 
  L
 
 
 
  J
 
 
 
 
A
 
 
 
  V
 
 
 
  C
 
 
 
  D
 
 
 
 
~
 
 
  :
 
 
  %
 
 
 
 
 
 
 
Mixed:
*
 
 
 
 
  }
 
 
 
  {
 
 
 
 
#
 
 
 
 
  y
 
 
 
  h
 
 
 
 
]
 
 
 
  [
 
 
 
 


  • 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 can have any name that is a valid template parameter name, although single character names should be avoided to prevent conflicts with tile symbols.

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:

{{familytree/start}}
{{familytree|border=0|boxstyle=background:#dfd;| | FOO |y| BAR | |FOO=Box 1|BAR=Box 2}}
{{familytree|border=0|boxstyle=background:#dfd;| | |,|-|^|-|.| | }}
{{familytree|border=0|boxstyle=background:#dfd;| | FOO | | BAR | |FOO=Box 3|BAR=Box 4}}
{{familytree/end}}

produces a result like this:

 
Box 1
 
Box 2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Box 3
 
Box 4
 


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

{{familytree/start}}
{{familytree| | | | |WHITE| | | | |WHITE=White box}}
{{familytree| |,|-|-|'|!|`|-|-|.| }}
{{familytree|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;
}}
{{familytree/end}}

which produces the output:

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