{# Profile page delivery template. Renders the page author's profile (passed as `profile`, a `bragi.core.profiles.ProfileView`) as an IndieWeb h-card (mf2) plus a JSON-LD Person block. The h-card lets webmention senders / IndieWeb tools resolve the author identity; the JSON-LD feeds search engines. The stored avatar URL and rel="me" link URLs were validated at save time. Themes override by shipping their own `delivery/profile.html`. #} {% extends "delivery/base.html" %} {% block title %}{{ page.meta_title or page.title }} · {{ site.title }}{% endblock %} {% block social_meta %} {%- set _title = page.meta_title or page.title -%} {% if canonical_url %}{% endif %} {% if meta_description %}{% endif %} {% if site %}{% endif %} {% if og_image_url %}{% endif %} {% if meta_description %}{% endif %} {% if og_image_url %}{% endif %} {% endblock %} {% block jsonld %} {% if profile_jsonld %}{% endif %} {% endblock %} {% block content %} {% if profile %}
{% if profile.avatar_url %} {{ profile.display_name }} {% endif %}

{{ profile.display_name }}

{% if profile.pronouns %}

{{ profile.pronouns }}

{% endif %} {% if profile.location %}

{{ profile.location }}

{% endif %}
{% if profile.bio_html %}
{{ profile.bio_html | safe }}
{% endif %} {% if profile.links %} {% endif %}
{% else %} {# No resolvable author profile (e.g. author removed): fall back to the page's own title so the URL never 500s or renders empty. A profile page surfaces its author's account Profile, so there is no page body to show. #}

{{ page.title }}

{% endif %} {% endblock %}