35d9d44aa6ec484a9055e2aff4f9024d118673c1
tft - Terminal Family Tree
tft can create and display family trees on the terminal.
HOW TO CREATE:
Trees are created using the tft file format, for example this tft file:
# This is a comment
Adam, M # Adam is a male
Eve, F
s: Adam # Eve's spouse is Adam
Cain, M
p: Adam, Eve # Cain's parents are Adam and Eve
Abel, M
p: - # Abel's parents are the same as the last person's (Cain)
Seth, M
p: -
Will produce:
├──────┬┬─────┐
│ ││ │
│ Adam ││ Eve │
│ ││ │
├──────┘└─────┘
│
├────────┬────────┐
│ │ │
├──────┐ ├──────┐ ├──────┐
│ │ │ │ │ │
│ Cain │ │ Abel │ │ Seth │
│ │ │ │ │ │
└──────┘ └──────┘ └──────┘
DEPENDENCIES:
ncursesw development library (libncursesw5-dev on Debian/Ubuntu)
HOW TO INSTALL:
Make sure you satisfy the dependencies and have permissons and execute:
git clone https://gitlab.com/venelin98/tft.git
cd tft
./install.sh
HOW TO USE:
tft ${MY_TFT_FILE}
Navigation:
arrows - move the camera
h, j, k, l - move around the tree
Enter, Space - display the selected person's tree
+ - show full names
- - show first names only
TFT FORMAT:
- All spaces are ignored e.g.: Adam 0 and Adam0 are equivalent
- '_' in names is converted to ' '
- Number at the end of a name is used to disambiguate when multiple people have identical names e.g.:
Adam0 is the first added Adam, Adam1 is the second added Adam
- Must end with a newline
QUESTIONS AND FEEDBACK:
venelin98@abv.bg
Languages
C++
97.7%
Shell
1.6%
C
0.7%