From e64f74c4929edbd8336d66fd81bdd36aa79828ee Mon Sep 17 00:00:00 2001
From: Jeremy Mayeres <1524722+jerr0328@users.noreply.github.com>
Date: Sun, 09 Feb 2025 08:03:52 +0000
Subject: [PATCH] theme(fix): social follow/share using new config (#821)

---
 /dev/null                           |   23 -----------------------
 layouts/partials/social/share.html  |   13 ++++---------
 layouts/partials/social/follow.html |   13 ++++---------
 3 files changed, 8 insertions(+), 41 deletions(-)

diff --git a/layouts/partials/func/social/sortNetworks.html b/layouts/partials/func/social/sortNetworks.html
deleted file mode 100644
index 370a577..0000000
--- a/layouts/partials/func/social/sortNetworks.html
+++ /dev/null
@@ -1,23 +0,0 @@
-{{- /*
-
-Sorting a list of social networks defined by the order in `networks`.
-Only networks present in both `networks` and `setups` will be included. Items missing from `networks` are ignored.
-Use `networks` to setup the order of the networks and which network to enable.
-
-Usage: {{ $setups = partials.IncludeCached "func/sortNetworks.html" (dict "networks" $networks "setups" $setups) }}
-
-See also `config/_default/params.toml` > `ananke.social` for details.
-
-*/ -}}
-{{- $networks := .networks -}}
-{{- $setups := .setups -}}
-{{- $output := collections.Slice -}}
-{{- range $networks -}}
-  {{- $network := . -}}
-  {{- range $setups -}}
-    {{- if compare.Eq .slug $network -}}
-      {{- $output = $output | collections.Append . -}}
-    {{- end -}}
-  {{- end -}}
-{{- end -}}
-{{- return $output -}}
diff --git a/layouts/partials/social/follow.html b/layouts/partials/social/follow.html
index 7c84a1b..de78f4d 100644
--- a/layouts/partials/social/follow.html
+++ b/layouts/partials/social/follow.html
@@ -2,16 +2,11 @@
 
 {{- $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 -}}
+  {{- range $networks -}}
+    {{- $network := . -}}
+    {{- $setup := index $config.networks $network -}}
     {{- $profile := index $config $network -}}
     {{- $rel := $profile.rel | default "" -}}
     {{- $label := $profile.label | default $setup.label -}}
@@ -27,7 +22,7 @@
         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 -}}
+      {{- with $setup.icon -}}
         {{- $icon := resources.Get (printf "ananke/socials/%s.svg" .) -}}
         {{- with $icon -}}
           <span class="icon">
diff --git a/layouts/partials/social/share.html b/layouts/partials/social/share.html
index 68e266d..3a59a1a 100644
--- a/layouts/partials/social/share.html
+++ b/layouts/partials/social/share.html
@@ -13,22 +13,17 @@
   {{- $networks := $config.share.networks -}}
   {{- $hasLabel := $config.share.sharetext | default "true" -}}
   {{- $hasIcon := $config.share.icons | default "true" -}}
-  {{- $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-share" -}}
 
   <div id="sharing" class="mt3 ananke-socials">
-    {{- range $setups -}}
-      {{- $setup := . -}}
+    {{- range $networks -}}
+      {{- $network := . -}}
+      {{- $setup := index $config.networks $network -}}
       {{/* @todo i18n $sharetext := lang.Translate (fmt.Printf "share_on_%s" $setup.slug) */}}
       {{- $label := "" -}}
       {{ with $config.share.sharetext -}}
         {{- $label = printf "Share on %s" $setup.label -}}
       {{- end -}}
-      {{ if eq .share "false" | default "true" -}}
+      {{ if eq $setup.share "false" | default "true" -}}
         {{- continue -}}
         {{/* @todo notification into CLI that a network is configured but not supported */}}
       {{- end -}}

--
Gitblit v1.10.0