{% from "atoms.html" import tag, qty_format, value_format %} {% if main_image %}
{% endif %} {% if report_html %}
{{ t("r.warnings") }} {% include "components/report.html" %}
{% endif %} {% if show_open_editor_btn is true %}
{% include "components/open_in_editor.html" %}
{% endif %}

{% if r.meta.emoji %} {% endif %} {{ name }}

{% for t in r.meta.tags %} {{ tag(t.name, t.emoji) }} {% endfor %}
{% if r.meta.description %}

{{ r.meta.description }}

{% endif %} {% macro meta_group(icon, entries) %}
{{ entries }}
{% endmacro %} {% macro meta_entry(key) %}
{{ key }}
{{ caller() }}
{% endmacro %} {% set entries %} {% call meta_entry(t("r.meta.servings")) %}
{% if query.units %} {% endif %}
{% if r.meta.servings and r.meta.servings is not empty %}
{% for serving in r.meta.servings %} {% set is_selected = (query.scale is none and loop.first) or (query.scale == serving) %} {% set query_str = "?" ~ {'scale': serving, 'units': query.units}|select_value|urlencode if not loop.first else '' %}
{{ serving }}
{% endfor %}
{% endif %} {% endcall %} {% endset %} {{ meta_group("i-lucide-utensils", entries) }} {% if r.meta.author or r.meta.source %} {% macro name_or_url(label, name, url, meta_entry) %} {% call meta_entry(label) %} {% if url %} {% if name %} {{ name }} {% else %} {{ label|lower }} {% endif %} {% else %} {{ name }} {% endif %} {% endcall %} {% endmacro %} {% set entries %} {% if r.meta.author %} {{ name_or_url(t("r.meta.author"), r.meta.author.name, r.meta.author.url, meta_entry) }} {% endif %} {% if r.meta.source %} {{ name_or_url(t("r.meta.source"), r.meta.source.name, r.meta.source.url, meta_entry) }} {% endif %} {% endset %} {{ meta_group("i-lucide-user", entries) }} {% endif %} {% if r.meta.time %} {% set entries %} {% call meta_entry(t("r.meta.totalTime")) %} {% if r.meta.time is number %} {{ r.meta.time }} {% else %} {{ r.meta.time.prep_time + r.meta.time.cook_time }} {% endif %} {% endcall %} {% if r.meta.time.prep_time %} {% call meta_entry(t("r.meta.prepTime")) %} {{ r.meta.time.prep_time }} {% endcall %} {% endif %} {% if r.meta.time.cook_time %} {% call meta_entry(t("r.meta.cookTime")) %} {{ r.meta.time.cook_time }} {% endcall %} {% endif %} {% endset %} {{ meta_group("i-lucide-hourglass", entries) }} {% endif %} {% if r.meta.other is not empty %} {% set entries %} {% for key, value in r.meta.other|items %} {% if key != "image" %} {% call meta_entry(key) %} {{ value }} {% endcall %} {% endif %} {% endfor %} {% endset %} {{ meta_group("i-lucide-component", entries) }} {% endif %}
{{ t("r.meta.moreData") }} {% set entries %} {% call meta_entry(t("r.meta.added")) %} {{ times.created }} {% endcall %} {% call meta_entry(t("r.meta.modified")) %} {{ times.modified }} {% endcall %} {% endset %} {{ meta_group("i-lucide-calendar", entries) }} {% set entries %} {% call meta_entry(t("r.meta.sourceFile")) %} {{ src_path }} {% endcall %} {% endset %} {{ meta_group("i-lucide-code", entries) }}
{% if r.meta.source.url %} {% set videoid = youtube_videoid(r.meta.source.url) %} {% if videoid is not none %}
{% endif %} {% endif %}
{% if query.scale %} {% endif %}
{% if r.grouped_ingredients is not empty %}

{{ t("r.ingredients") }}

    {% for e in r.grouped_ingredients %} {% set ingredient = r.ingredients[e.index] %} {% if 'HIDDEN' not in ingredient.modifiers %}
  • {% set display_name = ingredient.display_name|capitalize %} {% if 'RECIPE' in ingredient.modifiers %} {% set ref_href = recipe_refs[ingredient.name] %} {{ display_name }} {%- else -%} {{- display_name -}} {%- endif -%} {%- if 'OPT' in ingredient.modifiers -%} ({{ t("r.optMarker") }}) {%- endif -%} {%- if e.quantities is not empty -%} : {% if e.outcome|lower == "fixed" %} {% set tooltip = t("outcome.fixed") %} {% set tooltip_cls = "scale-fixed" %} {% elif e.outcome|lower == "error" %} {% set tooltip = t("outcome.error") %} {% set tooltip_cls = "scale-error" %} {% endif %} {% for q in e.quantities %} {{ qty_format(q) }} {{ ', ' if not loop.last }} {% endfor %} {%- endif -%} {% if ingredient.note %}
    {{ ingredient.note }}
    {% endif %}
  • {% endif %} {% endfor %}
{% endif %} {% if r.grouped_cookware is not empty %}

{{ t("r.cookware") }}

    {% for e in r.grouped_cookware %} {% set item = r.cookware[e.index] %} {% if 'HIDDEN' not in item.modifiers %}
  • {{- item.display_name|capitalize -}} {%- if 'OPT' in item.modifiers -%} ({{ t("r.optMarker") }}) {%- endif -%} {%- if e.amounts is not empty -%} : {% for amnt in e.amounts %} {{ value_format(amnt) }} {{ ', ' if not loop.last }} {% endfor %} {%- endif -%} {% if item.note %}
    {{ item.note }}
    {% endif %}
  • {% endif %} {% endfor %}
{% endif %}
{% if r.sections is not empty %}

{{ t("r.method") }}

{% endif %} {% for sect in r.sections %} {% if not loop.first %}
{% endif %} {% set sect_index = loop.index0 %}

{% if sect.name is not none %} {{ sect.name }} {% elif loop.length > 1 %} {{ t("r.section", sect=loop.index) }} {% endif %}

{% for content in sect.content %} {% if content.type == "step" %} {% set step_number = content.value.number %} {% set igr_extra = step_ingredients(content.value.items, r.ingredients) %}
{{ step_number }}.

{% for item in content.value.items %} {%- if item.type == "text" -%} {{- item.value -}} {%- elif item.type == "ingredient" -%} {% set igr = r.ingredients[item.index] %} {{- igr.display_name -}} {%- if igr_extra[item.index].subscript -%} {{ igr_extra[item.index].subscript }} {%- endif -%} {%- elif item.type == "cookware" -%} {% set cw = r.cookware[item.index] %} {{- cw.display_name -}} {%- elif item.type == "timer" -%} {% set tm = r.timers[item.index] %} {% set seconds = r.timers_seconds[item.index] %} {% if seconds is none %} {% if tm.quantity %} {{- qty_format(tm.quantity) -}} {% endif %} {{- "(" ~ tm.name ~ ")" if tm.name is not none -}} {% else %} {% endif %} {%- elif item.type == "inlineQuantity" -%} {% set qty = r.inline_quantities[item.index] %} {% set color = "text-red-11" if r.inline_is_temp[item.index] else "" %} {{- qty_format(qty) -}} {%- endif -%} {% endfor %}

{% if igr_extra|items|map(attribute="1.in_ingredients_line")|select is not empty %}
    {% for item in content.value.items|selectattr("type", "eq", "ingredient") %} {%- set data = igr_extra[item.index] -%} {% if data.in_ingredients_line %} {%- set igr = r.ingredients[item.index] -%}
  • {%- if 'RECIPE' in igr.modifiers -%} {% set ref_href = recipe_refs[igr.name] %} {{ igr.display_name }} {%- else -%} {{ igr.display_name }} {%- endif -%} {%- if data.subscript is not none -%} {{ data.subscript }} {%- endif -%} {%- if 'OPT' in igr.modifiers -%} ({{ t("r.optMarker") }}) {%- endif -%} {% if igr.references_to.target == "step" %} {{ t("r.ref.fromStep", step=sect.content[igr.references_to.index].value.number) }} {% elif igr.references_to.target == "section" %} {{ t("r.ref.fromSect", sect=igr.references_to.index + 1) }} {%- endif -%} {%- if igr.quantity is not none -%} : {{ qty_format(igr.quantity) }} {% endif %}
  • {%- endif -%} {% endfor %}
{% endif %}
{% set step_image = images|select_image(sect_index, step_number - 1) %} {% if step_image is not none %}
{% endif %}
{% elif content.type == "text" %}

{{ content.value }}

{% endif %} {% endfor %}
{% endfor %}