{{- $email := .Get "email" -}}
{{- $size := .Get "size" | default "256" -}}
{{- $alt := .Get "alt" | default "User avatar" -}}
{{- $class := .Get "class" | default "w-32 h-32 rounded-full" -}}

{{- if $email -}}
  {{- $hash := md5 (trim (strings.ToLower $email)) -}}
  {{- $gravatarURL := printf "https://www.gravatar.com/avatar/%s?s=%s&d=identicon" $hash $size -}}
  <img
    src="{{ $gravatarURL }}"
    alt="{{ $alt }}"
    class="{{ $class }}"
    loading="lazy"
  />
{{- else -}}
  {{- errorf "gravatar shortcode: 'email' parameter is required" -}}
{{- end -}}
