{% extends "base.html" %} {% block title %}{{ t('measure.title') }} - {{ t('app.title') }}{% endblock %} {% macro number(value) %}{% if value is none %}{{ t('posts.not_measured') }}{% else %}{{ value }}{% endif %}{% endmacro %} {% macro breakdown(heading, buckets, kind) %}

{{ heading }}

{% if buckets %}
{% for bucket in buckets %} {% if bucket.measured < 2 %} {% else %} {% endif %} {% endfor %}
{{ t('measure.key') }} {{ t('measure.posts') }} {{ t('measure.measured_count') }} {{ t('measure.connections') }} {{ t('measure.dms') }} {{ t('measure.meetings') }} {{ t('measure.status') }}
{%- if kind == 'pillar' %}P{{ bucket.key }} {%- elif kind == 'format' %}{{ t('interview.format_' + bucket.key.replace('-', '_')) }} {%- else %}{{ t('interview.label_' + bucket.key.lower()) }}{% endif -%} {{ bucket.posts }} {{ bucket.measured }}{{ t('measure.not_enough') }}{{ number(bucket.sums.connections) }} {{ number(bucket.sums.dms) }} {{ number(bucket.sums.meetings) }}{{ t('measure.status_' + bucket.status) }}
{% endif %} {% endmacro %} {% block content %}

{{ t('measure.title') }}

{{ t('measure.hint') }}

{{ t('measure.due') }}

{% if view.due %}

{{ t('measure.due_hint') }}

{% else %}

{{ t('measure.no_due') }}

{% endif %}

{{ t('measure.published') }}

{% if view.rows %}
{% for post in view.rows %} {% endfor %}
{{ t('posts.date') }} {{ t('posts.pillar') }} {{ t('posts.format') }} {{ t('posts.label') }} {{ t('measure.connections') }} {{ t('measure.dms') }} {{ t('measure.meetings') }} {{ t('posts.measured') }}
{{ post.date }} {% if post.pillar is not none %}P{{ post.pillar }}{% endif %} {% if post.format %}{{ t('interview.format_' + post.format.replace('-', '_')) }}{% endif %} {% if post.label %}{{ t('interview.label_' + post.label.lower()) }}{% endif %} {{ number(post.inbound_connections) }} {{ number(post.inbound_dms) }} {{ number(post.meeting_mentions) }} {% if post.measured %}{{ post.measured }}{% else %}{{ t('posts.not_measured') }}{% endif %}
{% if view.measured %} {# A field no measured post carried is not a zero, so the word for an empty line goes into the sentence rather than a figure nobody wrote. #}

{{ t('measure.totals', measured=view.measured, posts=view.rows | length, connections=view.totals.connections if view.totals.connections is not none else t('posts.not_measured'), dms=view.totals.dms if view.totals.dms is not none else t('posts.not_measured'), meetings=view.totals.meetings if view.totals.meetings is not none else t('posts.not_measured')) }}

{% endif %}
{% else %}

{{ t('measure.none_published') }}

{% endif %} {{ breakdown(t('measure.by_pillar'), view.by_pillar, 'pillar') }} {{ breakdown(t('measure.by_format'), view.by_format, 'format') }} {{ breakdown(t('measure.by_label'), view.by_label, 'label') }}

{{ t('measure.guards') }}

{{ t('measure.guard_pillar') }}

{% if view.single_pillar %}{{ t('measure.guard_bites') }}{% else %}{{ t('measure.guard_clear') }}{% endif %}

{{ t('measure.guard_format') }}

{% if view.single_format %}{{ t('measure.guard_bites') }}{% else %}{{ t('measure.guard_clear') }}{% endif %}

{% endblock %}