<%# Het profiel van een ward, en het enige dat een bezoeker van de site ziet (Robins ontwerp, 30-9; zie middleware/ward-profile.js). Omdat dit ALLES is wat er openbaar staat, mag het er verzorgd uitzien: een eigen pagina en geen voorpagina met een lege stroom eronder. Dezelfde bronnen als de profielkop (partials/profile-header.ejs), zodat het profiel op geen twee plekken iets anders kan zeggen: naam uit profile_name of title, tekst uit profile_bio, description of tagline, links uit profile_links. NERGENS "KIND" OF "WARD". Dat deze account guardians heeft staat al openbaar op de fediverse (shaer:guardians, FEP-633c 2.1); deze pagina hoeft dat niet in koeienletters te herhalen. Wat een bezoeker wel hoort te weten, is dat de berichten er niet voor hem staan -- neutraal gezegd. Verwacht: site, wardHandle, wardLinks, platforms_catalog, avatar, t. %> <% const _name = site.profile_name || site.title || site.slug; const _bio = site.profile_bio || site.description || site.tagline || ''; const _photo = site.profile_photo || ''; const _catalog = (typeof platforms_catalog !== 'undefined' && platforms_catalog) || {}; const _links = (wardLinks || []).filter(function (l) { return l && _catalog[l.platform]; }); const _href = function (p, u) { u = String(u || '').trim(); if (p === 'email' && u.indexOf('mailto:') !== 0) return 'mailto:' + u; if (p === 'phone' && !/^tel:/i.test(u)) return 'tel:' + u.replace(/[^\d+]/g, ''); return u; }; const _showFollow = site.slug && (typeof apEnabled === 'undefined' || apEnabled); %>
<% if (_photo) { %> <% } else { %> <% } %>

<%= _name %>

<%= wardHandle %>

<% if (_bio) { %>

<%= _bio %>

<% } %> <% if (_links.length || _showFollow) { %> <% } %>

<%= t('ward.followers_only', { name: _name }) %>