{{- /*
  Social share buttons renderer.
  - Reads share switches from merged theme/page params.
  - Outputs provider-specific sharer attributes for supported platforms.
  @param {Object} .Page - Current page context
*/ -}}

{{- $share := dict "Page" . "Key" "share" | partial "function/param.html" | default dict -}}

{{- if $share.enable -}}
  {{- $title := cond (.Param "capitalize_titles") (title .Title) .Title -}}
  {{- $cover := dict "Page" . "Preview" true "Build" true | partial "function/get-cover.html" -}}
  {{- $twitterVia := "" -}}
  {{- with .Site.Params.social.twitter -}}
    {{- if reflect.IsMap . -}}
      {{- $twitterVia = .creator | default .id -}}
    {{- else -}}
      {{- $twitterVia = . -}}
    {{- end -}}
  {{- end -}}
  {{- /* 001: Twitter */ -}}
  {{- if $share.Twitter -}}
    <a href="javascript:void(0);" title="{{ T `shareOn` }} X" data-sharer="twitter" data-url="{{ .Permalink }}" data-title="{{ $title }}"{{ with $twitterVia }} data-via="{{ . }}"{{ end }}{{ with .Params.tags }} data-hashtags="{{ delimit . `,` }}"{{ end }}>
      {{- dict "Class" "fa-brands fa-x-twitter" | partial "plugin/icon.html" -}}
    </a>
  {{ end -}}

  {{- /* 002: Facebook */ -}}
  {{- if $share.Facebook -}}
    <a href="javascript:void(0);" title="{{ T `shareOn` }} Facebook" data-sharer="facebook" data-url="{{ .Permalink }}"{{ with .Params.tags }} data-hashtag="{{ index . 0 }}"{{ end }}>
      {{- dict "Class" "fa-brands fa-facebook-square" | partial "plugin/icon.html" -}}
    </a>
  {{ end -}}

  {{- /* 003: Linkedin */ -}}
  {{- if $share.Linkedin -}}
    <a href="javascript:void(0);" title="{{ T `shareOn` }} Linkedin" data-sharer="linkedin" data-url="{{ .Permalink }}">
      {{- dict "Class" "fa-brands fa-linkedin" | partial "plugin/icon.html" -}}
    </a>
  {{ end -}}

  {{- /* 004: WhatsApp */ -}}
  {{- if $share.Whatsapp -}}
    <a href="javascript:void(0);" title="{{ T `shareOn` }} WhatsApp" data-sharer="whatsapp" data-url="{{ .Permalink }}" data-title="{{ $title }}" data-web>
      {{- dict "Class" "fa-brands fa-whatsapp" | partial "plugin/icon.html" -}}
    </a>
  {{ end -}}

  {{- /* 005: Viber */ -}}
  {{- if $share.Viber -}}
    <a href="javascript:void(0);" title="{{ T `shareOn` }} Viber" data-sharer="viber" data-url="{{ .Permalink }}" data-title="{{ $title }}">
      {{- dict "Class" "fa-brands fa-viber" | partial "plugin/icon.html" -}}
    </a>
  {{ end -}}

  {{- /* 006: Pinterest */ -}}
  {{- if $share.Pinterest -}}
    <a href="javascript:void(0);" title="{{ T `shareOn` }} Pinterest" data-sharer="pinterest" data-url="{{ .Permalink }}"{{ with .Description }} data-description="{{ . }}"{{ end }}{{ with $cover.URL }} data-image="{{ . }}"{{ end }}>
      {{- dict "Class" "fa-brands fa-pinterest" | partial "plugin/icon.html" -}}
    </a>
  {{ end -}}

  {{- /* 007: Tumblr */ -}}
  {{- if $share.Tumblr -}}
    <a href="javascript:void(0);" title="{{ T `shareOn` }} Tumblr" data-sharer="tumblr" data-url="{{ .Permalink }}" data-title="{{ $title }}"{{ with .Description }} data-caption="{{ . }}"{{ end }}{{ with .Params.tags }} data-tags="{{ delimit . `,` }}"{{ end }}>
      {{- dict "Class" "fa-brands fa-tumblr" | partial "plugin/icon.html" -}}
    </a>
  {{ end -}}

  {{- /* 008: Hacker News */ -}}
  {{- if $share.Hackernews -}}
    <a href="javascript:void(0);" title="{{ T `shareOn` }} Hacker News" data-sharer="hackernews" data-url="{{ .Permalink }}" data-title="{{ $title }}">
      {{- dict "Class" "fa-brands fa-hacker-news" | partial "plugin/icon.html" -}}
    </a>
  {{ end -}}

  {{- /* 009: Reddit */ -}}
  {{- if $share.Reddit -}}
    <a href="javascript:void(0);" title="{{ T `shareOn` }} Reddit" data-sharer="reddit" data-url="{{ .Permalink }}">
      {{- dict "Class" "fa-brands fa-reddit" | partial "plugin/icon.html" -}}
    </a>
  {{ end -}}

  {{- /* 010: VK */ -}}
  {{- if $share.VK -}}
    <a href="javascript:void(0);" title="{{ T `shareOn` }} VK" data-sharer="vk" data-url="{{ .Permalink }}" data-title="{{ $title }}"{{ with .Description }} data-caption="{{ . }}"{{ end }}{{ with $cover.URL }} data-image="{{ . }}"{{ end }}>
      {{- dict "Class" "fa-brands fa-vk" | partial "plugin/icon.html" -}}
    </a>
  {{ end -}}

  {{- /* 011: Buffer */ -}}
  {{- if $share.Buffer -}}
    <a href="javascript:void(0);" title="{{ T `shareOn` }} Buffer" data-sharer="buffer" data-url="{{ .Permalink }}" data-title="{{ $title }}"{{ with $twitterVia }} data-via="{{ strings.TrimPrefix `@` . }}"{{ end }}{{ with $cover.URL }} data-picture="{{ . }}"{{ end }}>
      {{- dict "Class" "fa-brands fa-buffer" | partial "plugin/icon.html" -}}
    </a>
  {{ end -}}

  {{- /* 012: Xing */ -}}
  {{- if $share.Xing -}}
    <a href="javascript:void(0);" title="{{ T `shareOn` }} Xing" data-sharer="xing" data-url="{{ .Permalink }}" data-title="{{ $title }}">
      {{- dict "Class" "fa-brands fa-xing" | partial "plugin/icon.html" -}}
    </a>
  {{ end -}}

  {{- /* 013: Line */ -}}
  {{- if $share.Line -}}
    <a href="javascript:void(0);" title="{{ T `shareOn` }} Line" data-sharer="line" data-url="{{ .Permalink }}" data-title="{{ $title }}">
      {{- dict "Simpleicons" "line" "Prefix" (.Site.Store.Get "cdn" | default dict).simpleIconsPrefix | partial "plugin/icon.html" -}}
    </a>
  {{ end -}}

  {{- /* 014: Instapaper */ -}}
  {{- if $share.Instapaper -}}
    <a href="javascript:void(0);" title="{{ T `shareOn` }} Instapaper" data-sharer="instapaper" data-url="{{ .Permalink }}" data-title="{{ $title }}" data-description="{{ .Description }}">
      {{- dict "Simpleicons" "instapaper" "Prefix" (.Site.Store.Get "cdn" | default dict).simpleIconsPrefix | partial "plugin/icon.html" -}}
    </a>
  {{ end -}}

  {{- /* 015: Pocket */ -}}
  {{- if $share.Pocket -}}
    <a href="javascript:void(0);" title="{{ T `shareOn` }} Pocket" data-sharer="pocket" data-url="{{ .Permalink }}">
      {{- dict "Class" "fa-brands fa-get-pocket" | partial "plugin/icon.html" -}}
    </a>
  {{ end -}}

  {{- /* 016: Flipboard */ -}}
  {{- if $share.Flipboard -}}
    <a href="javascript:void(0);" title="{{ T `shareOn` }} Flipboard" data-sharer="flipboard" data-url="{{ .Permalink }}" data-title="{{ $title }}">
      {{- dict "Class" "fa-brands fa-flipboard" | partial "plugin/icon.html" -}}
    </a>
  {{ end -}}

  {{- /* 017: 微博 */ -}}
  {{- if $share.Weibo -}}
    <a href="javascript:void(0);" title="{{ T `shareOn` }} 微博" data-sharer="weibo" data-url="{{ .Permalink }}" data-title="{{ $title }}"{{ with $cover.URL }} data-image="{{ . }}"{{ end }}{{ with .Site.Params.Social.Weibo }} data-ralateuid="{{ . }}"{{ end }}>
      {{- dict "Class" "fa-brands fa-weibo" | partial "plugin/icon.html" -}}
    </a>
  {{ end -}}

  {{- /* 018: Myspace */ -}}
  {{- if $share.Myspace -}}
    <a href="javascript:void(0);" title="{{ T `shareOn` }} Myspace" data-sharer="myspace" data-url="{{ .Permalink }}" data-title="{{ $title }}" data-description="{{ .Description }}">
      {{- dict "Simpleicons" "myspace" "Prefix" (.Site.Store.Get "cdn" | default dict).simpleIconsPrefix | partial "plugin/icon.html" -}}
    </a>
  {{ end -}}

  {{- /* 019: Blogger */ -}}
  {{- if $share.Blogger -}}
    <a href="javascript:void(0);" title="{{ T `shareOn` }} Blogger" data-sharer="blogger" data-url="{{ .Permalink }}" data-title="{{ $title }}" data-description="{{ .Description }}">
      {{- dict "Class" "fa-brands fa-blogger" | partial "plugin/icon.html" -}}
    </a>
  {{ end -}}

  {{- /* 020: 百度 */ -}}
  {{- if $share.Baidu -}}
    <a href="javascript:void(0);" title="{{ T `shareOn` }} 百度" data-sharer="baidu" data-url="{{ .Permalink }}" data-title="{{ $title }}">
      {{- dict "Simpleicons" "baidu" "Prefix" (.Site.Store.Get "cdn" | default dict).simpleIconsPrefix | partial "plugin/icon.html" -}}
    </a>
  {{ end -}}

  {{- /* 021: OK.RU */ -}}
  {{- if $share.Odnoklassniki -}}
    <a href="javascript:void(0);" title="{{ T `shareOn` }} OK.RU" data-sharer="okru" data-url="{{ .Permalink }}" data-title="{{ $title }}">
      {{- dict "Class" "fa-brands fa-odnoklassniki" | partial "plugin/icon.html" -}}
    </a>
  {{ end -}}

  {{- /* 022: Evernote */ -}}
  {{- if $share.Evernote -}}
    <a href="javascript:void(0);" title="{{ T `shareOn` }} Evernote" data-sharer="evernote" data-url="{{ .Permalink }}" data-title="{{ $title }}">
      {{- dict "Class" "fa-brands fa-evernote" | partial "plugin/icon.html" -}}
    </a>
  {{ end -}}

  {{- /* 023: Skype */ -}}
  {{- if $share.Skype -}}
    <a href="javascript:void(0);" title="{{ T `shareOn` }} Skype" data-sharer="skype" data-url="{{ .Permalink }}" data-title="{{ $title }}">
      {{- dict "Class" "fa-brands fa-skype" | partial "plugin/icon.html" -}}
    </a>
  {{ end -}}

  {{- /* 024: Trello */ -}}
  {{- if $share.Trello -}}
    <a href="javascript:void(0);" title="{{ T `shareOn` }} Trello" data-sharer="trello" data-url="{{ .Permalink }}" data-title="{{ $title }}" data-description="{{ .Description }}">
      {{- dict "Class" "fa-brands fa-trello" | partial "plugin/icon.html" -}}
    </a>
  {{ end -}}

  {{- /* 025: Mix */ -}}
  {{- if $share.Mix -}}
    <a href="//mix.com/add?url={{ .Permalink }}&amp;description={{ $title }}" target="_blank" title="{{ T `shareOn` }} Mix">
      {{- dict "Class" "fa-brands fa-mix" | partial "plugin/icon.html" -}}
    </a>
  {{ end -}}

  {{- $shareArray := slice
    "Twitter"
    "Facebook"
    "Linkedin"
    "Whatsapp"
    "Viber"
    "Pinterest"
    "Tumblr"
    "Hackernews"
    "Reddit"
    "VK"
    "Buffer"
    "Xing"
    "Line"
    "Instapaper"
    "Pocket"
    "Flipboard"
    "Weibo"
    "Myspace"
    "Blogger"
    "Baidu"
    "Odnoklassniki"
    "Evernote"
    "Skype"
    "Trello"
    "Mix"
  -}}

  {{- range $shareArray -}}
    {{- if index $share . -}}
      {{- $.Store.Set "hasSharer" true -}}
      {{- break -}}
    {{- end -}}
  {{- end -}}
{{- end -}}
