Issue Breakdown

Optimization Point

{{ issue.name }}

{{ issue.count }} Affected
{% if issue.description %}

What this means

{{ issue.description }}

{% endif %}

Affected Pages & Data

{# ------------------------------------------------------------------- Loop over issue.details (always set by add_issue). We avoid "issue['items']" because in Jinja2 dict['items'] resolves to the dict's .items() method, not a missing key. ------------------------------------------------------------------- #} {% for item in issue.details %} {# ── Branch A: {value, urls} — duplicate-group format ── #} {% if item is mapping and item.value %}
{{ item.value }}
{% for url in item.urls %} {% endfor %}
{# ── Branch B: {url, …} — standard item with a URL ── #} {% elif item is mapping and item.url %} {% set _url = item.url | string %} {% set _ext = _url.split('?')[0] %} {% set _is_img = _ext.endswith('.jpg') or _ext.endswith('.jpeg') or _ext.endswith('.png') or _ext.endswith('.gif') or _ext.endswith('.webp') or _ext.endswith('.svg') or _ext.endswith('.ico') %} {% set _is_page = _url.startswith('http') and not _is_img %}
{# URL link or image path #} {% if _is_page %} {{ _url }} {% else %} {{ _url }} {% endif %} {# Metadata badges #}
{% if item.note %} {{ item.note }} {% endif %} {% if item.count is not none and item.count != '' %} {# Use 'words' label when the issue is about word count #} {% if 'Word' in issue.name or 'word' in issue.name %} {{ item.count }} words {% elif 'Alt' in issue.name or 'alt' in issue.name %} {{ item.count }} missing {% else %} {{ item.count }} items {% endif %} {% endif %} {% if item.ratio is not none and item.ratio != '' %} {{ item.ratio | round(1) }}% {% endif %} {% if item.status %} HTTP {{ item.status }} {% endif %}
{# Action buttons #}
{# Open in new tab — only for web URLs #} {% if _is_page %} {% endif %} {# Go to page detail #} {% if _is_page %} {% endif %}
{# ── Branch C: mapping without url — render the mapping values as info ── #} {% elif item is mapping %}
{% for k, v in item.items() %} {% if v %}{{ k }}: {{ v }}  {% endif %} {% endfor %}
{# ── Branch D: plain string that looks like a URL ── #} {% elif item and item | string | trim | first | lower in 'h' and (item | string).startswith('http') %} {% set _url2 = item | string %} {# ── Branch E: plain string that is a MESSAGE (not a URL) ── #} {% elif item %}

{{ item }}

{% endif %} {% else %} {# Empty state — no items #}

No detailed data available for this issue.

{% endfor %}