{#- Панчанг на день: result — web/views/panchang.py:build(), city — выбранный город. Моменты приходят готовыми («12:57», «15:22, 20 сентября»); шаблон только ставит их в фразу. -#} {% from "_partials/icon.html" import icon %} {% set r = result %} {% set link = "/" ~ lang ~ "/panchang/?city=" ~ city.id ~ "&date=" %} {% macro when(m) -%}{%- endmacro %} {#- Фраза перевода, где моменты заменены на ⟨1⟩ и ⟨2⟩: порядок слов задаёт язык, а не шаблон -#} {% macro fill(text, a, b=None) -%} {%- set head, rest = text.split("⟨1⟩") -%} {{ head }}{{ when(a) }} {%- if b -%} {%- set mid, tail = rest.split("⟨2⟩") -%} {{ mid }}{{ when(b) }}{{ tail }} {%- else -%} {{ rest }} {%- endif -%} {%- endmacro %}

{{ t("panchang.h1") }}

{{ r.day.title }}

{{ r.place.label }} {{ r.place.coords }} {{ r.place.tz }}

{{ t("panchang.change") }}
{%- if r.basis == "midnight" %}

{{ icon("info", "pan-note__icon") }}{{ t("panchang.no_sunrise") }}

{%- endif %} {#- ---------- Пять элементов, Солнце и Луна ---------- -#}

{{ t("panchang.elements.title") }}

{{ r.elements.span }}

    {%- for limb in r.elements.limbs %}
  1. {{ limb.name }}

    {{ limb.definition }}

      {%- for item in limb.spans %}
    1. {%- if not loop.first %}{{ t("panchang.elements.then") }} {% endif -%} {{ item.value|inline }}{% if item.note %} {{ item.note }}{% endif -%} {{ fill(t("panchang.elements.until", time="⟨1⟩"), item.end) }}
    2. {%- endfor %}
  2. {%- endfor %}
{#- ---------- Периоды дня ---------- -#}

{{ t("panchang.periods.title") }}

{{ t("panchang.periods." ~ ("lead" if r.periods else "none")) }}

{%- if r.periods %} {#- Полоса светового дня: восемь равных частей, три из них заняты; Абхиджит идёт поверх середины -#}
    {%- for p in r.periods.entries %}
  1. {{ fill(t("panchang.range", start="⟨1⟩", end="⟨2⟩"), p.start, p.end) }}

    {{ p.name|inline }}

  2. {%- endfor %}
{%- endif %}
{#- ---------- Как посчитано ---------- -#}

{{ t("conventions.title") }}

{#- ---------- Другой город или дата ---------- -#}
{{ t("panchang.change") }}{{ icon("caret-down", "edit__caret") }}
{% include "_partials/panchang/form.html" %}