{# Level-aware project About โ€” rendered when about.json declares kind="project". Context: `about` (view-model), `lang`, `texts`. Uses the ontoref `.doc-*` document chrome (styles/custom.css) so the SSR site matches outreach/web. GENERIC over a block vocabulary: a section is { key, title, blocks }, each block a typed primitive (prose | timeline | cards | links | graph | kv). New SECTIONS of an existing block type are projector-only changes (gen-about-pages.nu); only a brand-new block TYPE touches this template. Path/href values are `| safe` (trusted contract values, not user input). Bilingual fields indexed by `lang`. #}

{{ about.level_id }}

{% if lang == "es" %}Acerca de{% else %}About{% endif %} {{ about.level_id }}

{% if about.hero and about.hero[lang] %}

{{ about.hero[lang] }}

{% endif %}
{% set about_img = "ontoref-about-es" if lang == "es" else "ontoref-about-en" %} {% if lang == 'es' %}Acerca de{% else %}About{% endif %} {{ about.level_id }} {% if about.sections | length > 1 %} {% endif %} {% for section in about.sections %}

{{ section.title[lang] }}

{% for block in section.blocks %} {% if block.type == "prose" %}
{{ (block.html_es if lang == "es" and block.html_es else block.html) | safe }}
{% elif block.type == "timeline" %} {% if block.started %}

{% if lang == "es" %}Desde{% else %}Started{% endif %} {{ block.started }}

{% endif %}
    {% for m in block.items %}
  • {{ m.date }} {{ m.text[lang] }}
  • {% endfor %}
{% elif block.type == "cards" %} {% for grp in block.groups %} {% if grp.label %}

{{ grp.label }} ({{ grp.items | length }})

{% endif %}
    {% for n in grp.items %} {% set card_body = n.body_es if lang == "es" and n.body_es else n.body %}
  • {{ n.title_es if lang == "es" and n.title_es else n.title }}{% if n.meta %} ยท {{ n.meta }}{% endif %}

    {% if card_body %}

    {{ card_body }}

    {% endif %}
  • {% endfor %}
{% endfor %} {% elif block.type == "links" %} {% for grp in block.groups %} {% if grp.label %}

{{ grp.label }} ({{ grp.items | length }})

{% endif %} {% endfor %} {% if block.browse and block.browse.href %} {{ block.browse.label[lang] }} โ†’ {% endif %} {% elif block.type == "graph" %} {% if block.svg %}
{{ block.svg | safe }}
{% endif %} {% if block.live and block.live.href %} โ†— {{ block.live.label[lang] }} {% endif %} {% elif block.type == "kv" %} {% for r in block.rows %} {% endfor %}
{{ r.k_es if lang == "es" and r.k_es else r.k }}{{ r.v_es if lang == "es" and r.v_es else r.v }}
{% endif %} {% endfor %}
{% endfor %}
{% include "partials/image-zoom.j2" %}