{{- $context := . -}} {{- $config := site.Params.ananke.social -}} {{- $networks := $config.follow.networks -}} {{- $setups := (collections.Where $config.networks "slug" "in" $networks) -}} {{/* This here is an ugly workaround for GoHugo's missing sortByArray feature. Let's cache it so it does not take away too much time. PS: It's also a couple of years old, so maybe there is a better solution by now. */}} {{- $setups = partials.IncludeCached "func/social/sortNetworks.html" (dict "networks" $networks "setups" $setups) "social-follow" -}} <div class="ananke-socials"> {{- range $setups -}} {{- $setup := . -}} {{- $network := $setup.slug -}} {{- $profile := index $config $network -}} {{- $rel := $setup.rel | default "" -}} {{- $label := $profile.label | default $setup.label -}} {{- $link := (printf $setup.profile $profile.username) -}} {{- with $profile.profilelink -}} {{- $link = $profile.profilelink -}} {{- end -}} {{- $languageDirection := cond (eq $.Site.Language.LanguageDirection "rtl") "ml1" "mr1" -}} <a href="{{ $link }}" target="_blank" rel="noopener{{- with $rel }} {{ . -}}{{- end -}}" class="ananke-social-link link-transition {{ $network }} link dib z-999 pt3 pt0-l {{ $languageDirection }}" title="follow on {{ $label }} - Opens in a new window" aria-label="follow on {{ $label }} - Opens in a new window"> {{/* @todo add the following lines to a partial, reused in social/share.html */}} {{- with .icon -}} {{- $icon := resources.Get (printf "ananke/socials/%s.svg" .) -}} {{- with $icon -}} <span class="icon"> {{ .Content | safeHTML }} {{/* @todo indicator for missing or misconfigured icon */}} </span> {{- end -}} {{- else -}} {{- $label -}} {{- end -}} {{- with $config.follow.new_window_icon -}} {{- partial "new-window-icon.html" . -}} {{- end -}} </a> {{- end -}} </div>