{{ $links := .Site.Params.links }}
<footer class="py-5 sky-row">
  <div class="container-fluid text-center">
    <div class="">
        {{ with $links }}
        {{ with index . "user"}}
        {{ template "footer-links-block"  . }}
        {{ end }}
        {{ end }}
    </div>
    <div class="">

        {{ with .Site.Params.copyright }}<small class="text-color">&copy; 2017 - {{ now.Year}} {{ .}} {{ T "footer_all_rights_reserved" }}</small>{{ end }}
        {{ with .Site.Params.privacy_policy }}<small class="ml-1"><a href="{{ . }}" target="_blank">{{ T "footer_privacy_policy" }}</a></small>{{ end }}
	{{ if not .Site.Params.ui.footer_about_disable }}
		{{ with .Site.GetPage "about" }}<p class="mt-2"><a href="{{ .RelPermalink }}">{{ .Title }}</a></p>{{ end }}
	{{ end }}
    </div>
    <div class="">
      <small class="text-color mt-4">Apache SkyWalking, SkyWalking, Apache, the Apache feather logo, and the Apache SkyWalking project logo are either registered trademarks or trademarks of the Apache Software Foundation.</small>
    </div>
  </div>
</footer>
{{ define "footer-links-block" }}
<ul class="list-inline mb-0">
  {{ range . }}
  <li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title="{{ .name }}" aria-label="{{ .name }}">
    <a class="text-color" target="_blank" href="{{ .url }}">
      <i class="{{ .icon }}"></i>
    </a>
  </li>
  {{ end }}
</ul>
{{ end }}
