{{ $links := .Site.Params.links }}
<footer class="bg-dark py-5 row d-print-none footer-margin-0">
  <div class="container-fluid mx-sm-5">
    <div class="row">
      <div class="col-6 col-sm-4 text-xs-center order-sm-2">
        {{ with $links }}
        {{ with index . "user"}}
        {{ template "footer-links-block"  . }}
        {{ end }}
        {{ end }}
      </div>
      <div class="col-6 col-sm-4 text-right text-xs-center order-sm-3">
        {{ with $links }}
        {{ with index . "developer"}}
        {{ template "footer-links-block"  . }}
        {{ end }}
        {{ end }}
      </div>
      <div class="col-12 col-sm-4 text-center py-2 order-sm-2">
        {{ with .Site.Params.copyright }}<small class="text-white">&copy; {{ 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>
  </div>
</footer>

<div class="row pt-2 pb-2 footer-margin-0">
  <div class="container-fluid mx-sm-5">
  <div class="text-center" id="my-footer">
    <img alt="apache_logo" src="/imgs/apache_logo.png"/>
    <ul>
      <li><a href="https://www.apache.org">Foundation</a></li>
      <li><a href="https://www.apache.org/licenses/">License</a></li>
      <li><a href="https://dubbo.apache.org/en/overview/notices/">Security</a></li>
      <li><a href="https://www.apache.org/events/current-event">Events</a></li>
      <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
      <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
      <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
    </ul>
  </div>
  </div>
</div>

{{ 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-white" target="_blank" rel="noopener noreferrer" href="{{ .url }}">
      <i class="{{ .icon }}"></i>
    </a>
  </li>
  {{ end }}
</ul>
{{ end }}



