{{ define "main" }} {{- $img := .Resources.GetMatch "cocktail.*" -}} {{- $ingredients := .Params.ingredients | default (slice) -}} {{- $measures := .Params.ingredientMeasures | default (slice) -}} {{- $categories := .Params.categories | default (slice) -}} {{- $glasses := .Params.glasses | default (slice) -}} {{/* Split instructions into numbered steps */}} {{- $steps := split .Content "\n" -}} {{/* Related: same category via where, shuffle, exclude self */}} {{- $related := where .Site.RegularPages "Params.categories" "intersect" $categories -}} {{- $related = where $related "Title" "ne" .Title -}} {{- $related = first 4 (shuffle $related) -}}
{{- if $img -}} {{- partial "img.html" (dict "res" $img "widths" (slice 800 1200) "sizes" "(max-width: 900px) 100vw, 45vw" "class" "w-full h-full object-cover" "alt" .Title "loading" "eager" ) -}} {{- else -}} {{ .Title }} {{- end -}}
{{ range $glasses }}{{ . }}{{ end }}
{{ range first 1 $categories }}{{ . }}{{ end }}

{{ .Title }}

{{- with .Params.alcoholic -}} {{ . }} {{- end -}} {{- range $categories -}} {{ . }} {{- end -}} {{- range $glasses -}} {{ . }} {{- end -}}

Ingredients

    {{- range $i, $ingredient := $ingredients -}}
  • {{ $ingredient }} {{- if lt $i (len $measures) -}}{{ index $measures $i }}{{- else -}} {{- end -}}
  • {{- end -}}

Method

    {{ .Content }}
{{- if gt (len $related) 0 -}}
From the same shelf

You may also pour

{{- range $related -}} {{- partial "cocktail-card.html" . -}} {{- end -}}
{{- end -}} {{ end }}