Repos » blog.jread.com » themes » jwr » layouts » partials » func » socials » GetRegisteredServices.html
{{/* socials/GetRegisteredServices Retrieves the list of user registered services. Support legacy settings (root of params with service name as key)
@author @regisphilibert
@context Any (.)
@access private
@returns Slice of Maps
- String (.name)
String (.url)
String (.label)?
String (.color)?
*/}}
{{ $registered_services := slice }} {{/ We first look for legacy settings that lives at the root of the site.Params as such (github: https://github.com/ theNewDynamic) and them to the list with key as .name and value as .url /}} {{ $user_using_legacy := false }}
{{ $legacy_api_services := slice "facebook" "twitter" "instagram" "youtube" "github" "gitlab" "keybase" "linkedin" "medium" "mastodon" "slack" "stackoverflow" "rss" }} {{ range $name := $legacy_api_services }} {{ with $url := index site.Params . }}
{{/* If we can find a parameter matching the key with a set value, we add it with proper name and url */}}
{{/* We also note that user is using legacy for potential potential deprecation warnings */}}
{{ $user_using_legacy = true }}
{{ $registered_services = $registered_services | append (dict "name" $name "url" $url) }}
{{ end }} {{ end }}
{{/ Then we go through the current way of registering services as per referenced in README /}} {{ with site.Params.ananke_socials }} {{ range $service := . }}
{{/* Only if the service has a .name, we add it all its keys to the slice of registered services */}}
{{ with .name }}
{{ $registered_services = $registered_services | append $service }}
{{ end }}
{{ end }} {{ end }}
{{ return $registered_services }}
