diff --git a/kjvstudy_org/templates/family_tree_person.html b/kjvstudy_org/templates/family_tree_person.html index d615ee9..af7d952 100644 --- a/kjvstudy_org/templates/family_tree_person.html +++ b/kjvstudy_org/templates/family_tree_person.html @@ -1,375 +1,555 @@ {% extends "base.html" %} -{% block title %}Family Tree: {{ person.name }} - KJV Study{% endblock %} +{% block title %}{{ person.name }} - Biblical Family Tree - KJV Study{% endblock %} {% block description %}{{ person.name }} in the biblical genealogy from Adam to Jesus Christ.{% endblock %} {% block head %} {% endblock %} {% block content %} -
-

Family Tree: {{ person.name }}

- {% if person.generation or person.kekule_number is not none %} -

- {% if person.generation %}Generation {{ person.generation }} from Adam{% endif %}{% if person.kekule_number is not none %}{% if person.generation %} • {% endif %}Kekulé #{{ person.kekule_number }}{% endif %} -

- {% endif %} -
+{% set female_names = ['eve', 'sarah', 'rebekah', 'rachel', 'leah', 'ruth', 'mary', 'tamar', 'rahab', 'bathsheba', 'dinah', 'keturah', 'hagar', 'zilpah', 'bilhah', 'jochebed', 'miriam', 'deborah', 'hannah', 'abigail', 'esther', 'naomi', 'naamah', 'milcah', 'adah', 'zillah', 'asenath', 'basemath'] %} +{% set is_female = person.name|lower in female_names or (female_names | select('in', person.name|lower) | list | length > 0) %} -
- {% if person.birth_year != "Unknown" %} - Born: {{ person.birth_year }}. - {% endif %} - {% if person.death_year != "Unknown" %} - Died: {{ person.death_year }}. - {% endif %} - {% if person.age_at_death != "Unknown" %} - Age: {{ person.age_at_death }}. - {% endif %} - {% if person.spouse %} - Spouse: - {% set ns = namespace(spouse_id=None) %} - {% for pid, p in family_tree_data.items() %} - {% if p.name == person.spouse %} - {% set ns.spouse_id = pid %} +
+
+ + Interactive Tree + -{# Biography Section - for notable figures #} -{% if biography %} -
-

Biography

-

{{ biography.summary }}

+ +
+

+ {{ person.name }} + {% if person.kekule_number is not none %} + Kekulé #{{ person.kekule_number }} + {% endif %} +

- {% if biography.significance %} -
-

Biblical Significance

-

{{ biography.significance }}

+ {% if person.generation %} +

+ Generation {{ person.generation }} from Adam + {% if person.kekule_number is not none %} · Ancestor of Jesus Christ{% endif %} +

+ {% endif %} + +
+ {% if person.birth_year != "Unknown" %} +
+ Born: + {{ person.birth_year }} +
+ {% endif %} + {% if person.death_year != "Unknown" %} +
+ Died: + {{ person.death_year }} +
+ {% endif %} + {% if person.age_at_death != "Unknown" %} +
+ Lifespan: + {{ person.age_at_death }} +
+ {% endif %} +
+
+ + + {% if biography %} +
+

Biography

+
{{ biography.summary }}
+ {% if biography.significance %} +
{{ biography.significance }}
+ {% endif %}
{% endif %} -
-{% endif %} -{# Life Events Timeline #} -{% if biography and biography.key_events %} -
-

Life Events

-
+ + {% if biography and biography.key_events %} +
+

Life Events

{% for event in biography.key_events %} -
-
- Age {{ event.age }}{% if event.age == 0 %} (Birth){% endif %} -
-
+
+
Age {{ event.age }}
+
{{ event.event }} -
- {% if event.verse %} -
- {% set ref_parts = event.verse.split(' ') %} - {% if ref_parts|length >= 2 %} - {% set chapter_verse = ref_parts[-1] %} - {% if ':' in chapter_verse %} - {% set chapter = chapter_verse.split(':')[0] %} - {% set verse_part = chapter_verse.split(':')[1] %} - {% if '-' in verse_part %} - {% set verse_num = verse_part.split('-')[0] %} + {% if event.verse %} +
+ {% set ref_parts = event.verse.split(' ') %} + {% if ref_parts|length >= 2 %} + {% set chapter_verse = ref_parts[-1] %} + {% if ':' in chapter_verse %} + {% set chapter = chapter_verse.split(':')[0] %} + {% set verse_part = chapter_verse.split(':')[1] %} + {% if '-' in verse_part %} + {% set verse_num = verse_part.split('-')[0] %} + {% else %} + {% set verse_num = verse_part %} + {% endif %} + {% set book = ' '.join(ref_parts[:-1]) %} + {{ event.verse }} {% else %} - {% set verse_num = verse_part %} + {{ event.verse }} {% endif %} - {% set book = ' '.join(ref_parts[:-1]) %} - {{ event.verse }} {% else %} - {{ event.verse }} + {{ event.verse }} {% endif %} - {% else %} - {{ event.verse }} +
{% endif %}
- {% endif %}
{% endfor %}
-
-{% endif %} + {% endif %} -{# Family Diagram - Minimal Text Version #} -{% if person.parents|length > 0 or person.children|length > 0 or person.spouse %} -
+ + {% if person.spouse %} +
+

Spouse

+
+ {% set ns = namespace(spouse_id=None, spouse_data=None) %} + {% for pid, p in family_tree_data.items() %} + {% if p.name == person.spouse %} + {% set ns.spouse_id = pid %} + {% set ns.spouse_data = p %} + {% endif %} + {% endfor %} + {% set spouse_is_female = person.spouse|lower in female_names or (female_names | select('in', person.spouse|lower) | list | length > 0) %} +
+ + {% if ns.spouse_id %} + {{ person.spouse }} + {% else %} + {{ person.spouse }} + {% endif %} + + {% if ns.spouse_data %} + {% if ns.spouse_data.kekule_number is not none %} + Kekulé #{{ ns.spouse_data.kekule_number }} + {% endif %} + {% if ns.spouse_data.age_at_death != "Unknown" %} + {{ ns.spouse_data.age_at_death }} + {% endif %} + {% endif %} +
+
+
+ {% endif %} + + {% if person.parents|length > 0 %} -
- {% for parent_id in person.parents %} - {{ family_tree_data[parent_id].name }}{% if not loop.last %} & {% endif %} - {% endfor %} - -
- {% endif %} - -
- {{ person.name }}{% if person.spouse %} - {% set ns = namespace(spouse_id=None) %} - {% for pid, p in family_tree_data.items() %} - {% if p.name == person.spouse %} - {% set ns.spouse_id = pid %} - {% endif %} - {% endfor %} - & {% if ns.spouse_id %}{{ person.spouse }}{% else %}{{ person.spouse }}{% endif %}{% endif %} -
- - {% if person.children|length > 0 %} -
- - {% for child_id in person.children[:8] %} - {{ family_tree_data[child_id].name }}{% if not loop.last %}, {% endif %} - {% endfor %}{% if person.children|length > 8 %}, and {{ person.children|length - 8 }} more{% endif %} +
+

Parents

+
+ {% for parent_id in person.parents %} + {% if parent_id in family_tree_data %} + {% set parent = family_tree_data[parent_id] %} + {% set parent_is_female = parent.name|lower in female_names or (female_names | select('in', parent.name|lower) | list | length > 0) %} +
+ + {{ parent.name }} + + {% if parent.kekule_number is not none %} + Kekulé #{{ parent.kekule_number }} + {% endif %} + {% if parent.age_at_death != "Unknown" %} + {{ parent.age_at_death }} + {% endif %} +
+ {% endif %} + {% endfor %} +
{% endif %} + {% if person.siblings|length > 0 %} -
- Siblings: - {% for sibling_id in person.siblings[:8] %} - {{ family_tree_data[sibling_id].name }}{% if not loop.last %}, {% endif %} - {% endfor %}{% if person.siblings|length > 8 %}, and {{ person.siblings|length - 8 }} more{% endif %} -
- {% endif %} -
-{% endif %} - -{% if person.parents|length > 0 %} -
-

Parents

-
- {% for parent_id in person.parents %} - {% if parent_id in family_tree_data %} -
- {{ family_tree_data[parent_id].name }} - {% if family_tree_data[parent_id].generation or family_tree_data[parent_id].kekule_number is not none or family_tree_data[parent_id].age_at_death != "Unknown" %} - - {% if family_tree_data[parent_id].generation %}generation {{ family_tree_data[parent_id].generation }}{% endif %}{% if family_tree_data[parent_id].kekule_number is not none %}{% if family_tree_data[parent_id].generation %}, {% endif %}Kekulé #{{ family_tree_data[parent_id].kekule_number }}{% endif %}{% if family_tree_data[parent_id].age_at_death != "Unknown" %}{% if family_tree_data[parent_id].generation or family_tree_data[parent_id].kekule_number is not none %}, {% endif %}lived {{ family_tree_data[parent_id].age_at_death }}{% endif %} - - {% endif %} -
- {% endif %} - {% endfor %} -
-
-{% endif %} - -{% if person.spouse %} -
-

Spouse

-
- {% set ns = namespace(spouse_id=None, spouse_data=None) %} - {% for pid, p in family_tree_data.items() %} - {% if p.name == person.spouse %} - {% set ns.spouse_id = pid %} - {% set ns.spouse_data = p %} - {% endif %} - {% endfor %} -
- {% if ns.spouse_id %} - {{ person.spouse }} - {% if ns.spouse_data and (ns.spouse_data.generation or ns.spouse_data.kekule_number is not none or ns.spouse_data.age_at_death != "Unknown") %} - - {% if ns.spouse_data.generation %}generation {{ ns.spouse_data.generation }}{% endif %}{% if ns.spouse_data.kekule_number is not none %}{% if ns.spouse_data.generation %}, {% endif %}Kekulé #{{ ns.spouse_data.kekule_number }}{% endif %}{% if ns.spouse_data.age_at_death != "Unknown" %}{% if ns.spouse_data.generation or ns.spouse_data.kekule_number is not none %}, {% endif %}lived {{ ns.spouse_data.age_at_death }}{% endif %} - - {% endif %} - {% else %} - {{ person.spouse }} - not in family tree data - {% endif %} -
-
-
-{% endif %} - -{% if person.siblings|length > 0 %} -
-

Siblings ({{ person.siblings|length }})

-
- {% for sibling_id in person.siblings %} - {% if sibling_id in family_tree_data %} -
- {{ family_tree_data[sibling_id].name }} - {% if family_tree_data[sibling_id].generation or family_tree_data[sibling_id].kekule_number is not none or family_tree_data[sibling_id].age_at_death != "Unknown" %} - - {% if family_tree_data[sibling_id].generation %}generation {{ family_tree_data[sibling_id].generation }}{% endif %}{% if family_tree_data[sibling_id].kekule_number is not none %}{% if family_tree_data[sibling_id].generation %}, {% endif %}Kekulé #{{ family_tree_data[sibling_id].kekule_number }}{% endif %}{% if family_tree_data[sibling_id].age_at_death != "Unknown" %}{% if family_tree_data[sibling_id].generation or family_tree_data[sibling_id].kekule_number is not none %}, {% endif %}lived {{ family_tree_data[sibling_id].age_at_death }}{% endif %} - - {% endif %} -
- {% endif %} - {% endfor %} -
-
-{% endif %} - -{% if person.children|length > 0 %} -
-

Children ({{ person.children|length }})

-
- {% for child_id in person.children %} - {% if child_id in family_tree_data %} -
- {{ family_tree_data[child_id].name }} - {% if family_tree_data[child_id].generation or family_tree_data[child_id].kekule_number is not none or family_tree_data[child_id].age_at_death != "Unknown" %} - - {% if family_tree_data[child_id].generation %}generation {{ family_tree_data[child_id].generation }}{% endif %}{% if family_tree_data[child_id].kekule_number is not none %}{% if family_tree_data[child_id].generation %}, {% endif %}Kekulé #{{ family_tree_data[child_id].kekule_number }}{% endif %}{% if family_tree_data[child_id].age_at_death != "Unknown" %}{% if family_tree_data[child_id].generation or family_tree_data[child_id].kekule_number is not none %}, {% endif %}lived {{ family_tree_data[child_id].age_at_death }}{% endif %} - - {% endif %} -
- {% endif %} - {% endfor %} -
-
-{% endif %} - -{% if person.verses %} -
-

Related Scriptures

- {% for verse in person.verses %} -
-
- {% if verse.reference %} - {% set ref_parts = verse.reference.split(' ') %} - {% if ref_parts|length >= 2 %} - {% set chapter_verse = ref_parts[-1] %} - {% if ':' in chapter_verse %} - {% set chapter = chapter_verse.split(':')[0] %} - {% set verse_part = chapter_verse.split(':')[1] %} - {% if '-' in verse_part %} - {% set verse_num = verse_part.split('-')[0] %} - {% else %} - {% set verse_num = verse_part %} - {% endif %} - {% set book = ' '.join(ref_parts[:-1]) %} - {{ verse.reference }} - {% else %} - {% set book = ' '.join(ref_parts[:-1]) %} - {% set chapter = ref_parts[-1] %} - {{ verse.reference }} +
+

Siblings ({{ person.siblings|length }})

+
+ {% for sibling_id in person.siblings %} + {% if sibling_id in family_tree_data %} + {% set sibling = family_tree_data[sibling_id] %} + {% set sibling_is_female = sibling.name|lower in female_names or (female_names | select('in', sibling.name|lower) | list | length > 0) %} +
+ + {{ sibling.name }} + + {% if sibling.kekule_number is not none %} + Kekulé #{{ sibling.kekule_number }} {% endif %} - {% else %} - {{ verse.reference if verse.reference else verse }} + {% if sibling.age_at_death != "Unknown" %} + {{ sibling.age_at_death }} + {% endif %} +
{% endif %} - {% elif verse is string %} - {{ verse }} - {% else %} - {{ verse.text if verse.text else '' }} + {% endfor %} +
+
+ {% endif %} + + + {% if person.children|length > 0 %} +
+

Children ({{ person.children|length }})

+
+ {% for child_id in person.children %} + {% if child_id in family_tree_data %} + {% set child = family_tree_data[child_id] %} + {% set child_is_female = child.name|lower in female_names or (female_names | select('in', child.name|lower) | list | length > 0) %} +
+ + {{ child.name }} + + {% if child.kekule_number is not none %} + Kekulé #{{ child.kekule_number }} + {% endif %} + {% if child.age_at_death != "Unknown" %} + {{ child.age_at_death }} + {% endif %} +
+ {% endif %} + {% endfor %} +
+
+ {% endif %} + + + {% if person.verses %} +
+

Related Scriptures

+ {% for verse in person.verses %} +
+
+ {% if verse.reference %} + {% set ref_parts = verse.reference.split(' ') %} + {% if ref_parts|length >= 2 %} + {% set chapter_verse = ref_parts[-1] %} + {% if ':' in chapter_verse %} + {% set chapter = chapter_verse.split(':')[0] %} + {% set verse_part = chapter_verse.split(':')[1] %} + {% if '-' in verse_part %} + {% set verse_num = verse_part.split('-')[0] %} + {% else %} + {% set verse_num = verse_part %} + {% endif %} + {% set book = ' '.join(ref_parts[:-1]) %} + {{ verse.reference }} + {% else %} + {{ verse.reference }} + {% endif %} + {% else %} + {{ verse.reference }} + {% endif %} + {% endif %} +
+ {% if verse.text %} +
"{{ verse.text }}"
{% endif %}
- {% if verse.text %} -
{{ verse.text }}
- {% endif %} + {% endfor %}
- {% endfor %} -
-{% endif %} + {% endif %} - {% endblock %}