45 lines
1.3 KiB
HTML
45 lines
1.3 KiB
HTML
{{/*
|
|
socials/Get
|
|
Returns the list of services registered by the user complemented by the built-in service default data if found.
|
|
|
|
@author @regisphilibert
|
|
|
|
@context Any (.)
|
|
|
|
@access public
|
|
|
|
@returns Slice of Maps
|
|
- String (.name)
|
|
String (.url)
|
|
String (.label)
|
|
String (.color)?
|
|
Bool (.share)?
|
|
@uses
|
|
- partial
|
|
|
|
@example - Go Template
|
|
{{ with partialCached "socials/Get" context context }}
|
|
{{ something = . }}
|
|
{{ end }}
|
|
*/}}
|
|
{{ $socials := slice }}
|
|
{{ with partial "func/socials/GetRegisteredServices" "GetRegisteredServices" }}
|
|
{{ range . }}
|
|
{{ $service := . }}
|
|
{{/* We fetch the default data and add it to service map if found */}}
|
|
{{ with partialCached "func/socials/GetServiceData" .name .name }}
|
|
{{ $service = merge . $service }}
|
|
{{ end }}
|
|
{{/* We fetch the icon and add it to service map fi found */}}
|
|
{{ with partialCached "func/socials/GetServiceIcon" .name .name }}
|
|
{{ $service = $service | merge (dict "icon" . ) }}
|
|
{{ end }}
|
|
{{/* In case no label is provided (on a non-built-in service) we add the .name as label to the service map */}}
|
|
{{ with .label }}{{ else }}
|
|
{{ $service = $service | merge (dict "label" $service.name ) }}
|
|
{{ end }}
|
|
{{ $socials = $socials | append $service }}
|
|
{{ end }}
|
|
{{ end }}
|
|
|
|
{{ return $socials }} |