Nissaga input format is a YAML with the following content:
Root node containing the information required to generate the family tree.
- people:
map(id -> Person)Persons details. Details can be also inlined in the family specification. - families:
list(Family)Relatives information. - styles:
map(selector -> Style)Graphviz attributes to apply to each selector.
Relatives information. A family is a set of (maybe unkwown) parents and children. Subfamilies can be defined when children become parents in their own families. Subfamilies enables write the yaml using a tree like the resulting one but using them is not required.
- parents:
list[id|map(id -> Person)The parents of the family (you can use the id or detail the person inline) - children:
list[id|map(id -> Person)The children of the family (you can use the id or detail the person inline) - married:
bool|int|Date|str(Default: true) Date of marriage- If False, is an unmarried couple
- If True, the default, just married unknown date
- If a Date, the date is shown on the family node with the married simbol
- Any other text just shows it besides the marriage symbol
- divorced:
bool|int|Date|str(Default: false) Date of divorce- If False, the default, nothing is shown
- If True, a divorce symbol is shown on the family dot
- If a date or a text, it is shown besides the divorce symbol
- house:
strHouse the family belongs to. It is represented by a labeled box containing the persons. - notes:
strAny note regarding the marriage - docs:
list[files]A list of files serving as documentation for the information - families:
list[Family]Sub families
Person details. They can be specified both in people or inline in parents, children instead of using just the id.
- name:
strTODO: Explain difference between id, name, fullname and alias. - fullname:
strSurnames are placed first, followed by a comma and then the first name. - alias:
str - from:
strPlace of origin. Just for the record, not shown. - gender:
strmale|female|neutral. Not used yet - born:
bool|int|Date|str(Default: true) Date of birth- If False, is an stillborn
- If True, the default, the date is unkwown, nothin is shown
- If a Date, the date is shown preceded of the
* - Any other text just shows it besides the
*
- died:
bool|int|Date|str(Default: false) Date of death- If False, the default, nothing is shown
- If True, a dagger symbol is shown indicating death at unkwown date
- If a date or a text, it is shown besides the dagger symbol
- age:
intAge at death. Sometimes is the only data available. For the record, not shown. - links:
List[URL]Links related to the person. By clicking on the person, the first one will be followed. - notes:
str|List[str]Any notes regarding the person - comment:
str|List[str]Any comments regarding the person information gathering - todo:
str|List[str]A list of pending tasks about the person information gathering - docs:
list[files]A list of files serving as documentation for the information - pics:
list[files]A list of image files containing pictures of the person. The first one will be used as avatar. - class:
strSpace separated classes to alter the design of a person box. Seestyles
Generic selectors. Apply to all the tree:
:digraph: The full tree:edge: All graphviz edges:node: All graphviz nodes:house(cluster): The house box:union(node): The union node (the dot where the marriage labels are attached):parent-link(edge): The lines from the parents to the union node:parent-child-link(edge): The lines from the union to the children:children:(node): The colored rectangle before the person box on the parent link:child-link(edge): The lines from union node to the children:family(cluster):
Besides you can define your own classes and choose which one apply to each person.
A map of graphviz attributes to set for the descriptor.