62 lines
4.0 KiB
HTML
62 lines
4.0 KiB
HTML
{{- $enableFooterSwitches := .Store.Get "enableFooterSwitches" | default false -}}
|
|
{{- $displayThemeToggle := site.Params.theme.displayToggle | default true -}}
|
|
{{- $footerSwitchesVisible := and $enableFooterSwitches (or hugo.IsMultilingual $displayThemeToggle) -}}
|
|
{{- $copyrightSectionVisible := or (.Site.Params.footer.displayPoweredBy | default true) .Site.Params.footer.displayCopyright -}}
|
|
{{- $copyright := (T "copyright") | default "© 2024 Hextra." -}}
|
|
{{- $poweredBy := (T "poweredBy") | default "Powered by Hextra" -}}
|
|
{{- $columns := .Site.Params.footer.columns -}}
|
|
<footer class="hextra-footer hx:bg-gray-100 hx:pb-[env(safe-area-inset-bottom)] hx:dark:bg-neutral-900 hx:print:bg-transparent">
|
|
{{- if $footerSwitchesVisible -}}
|
|
<div class="hx:mx-auto hx:flex hx:gap-2 hx:py-2 hx:px-4 hextra-max-footer-width">
|
|
{{- partial "language-switch.html" (dict "context" .) -}}
|
|
{{- with $displayThemeToggle }}{{ partial "theme-toggle.html" }}{{ end -}}
|
|
</div>
|
|
{{- if or hugo.IsMultilingual $displayThemeToggle -}}
|
|
<hr class="hx:border-gray-200 hx:dark:border-neutral-800" />
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- if $columns -}}
|
|
<div class="hextra-max-footer-width hx:mx-auto hx:grid hx:grid-cols-1 footer-grid hx:gap-8 hx:py-12 hx:px-6 hx:text-gray-600 hx:dark:text-gray-400">
|
|
{{- range $columns -}}
|
|
<div>
|
|
<div class="hx:font-semibold hx:text-gray-800 hx:dark:text-gray-200 hx:mb-3">{{ .title }}</div>
|
|
{{- with .desc -}}
|
|
<div class="hx:text-sm hx:leading-relaxed hx:whitespace-pre-line">{{ . }}</div>
|
|
{{- end -}}
|
|
{{- with .links -}}
|
|
<ul class="hx:space-y-2">
|
|
{{- range . -}}
|
|
{{- $isExternal := strings.HasPrefix .url "http" -}}
|
|
<li><a href="{{ .url }}" class="hx:text-sm hx:hover:text-gray-900 hx:dark:hover:text-gray-100 hx:transition-colors"{{ if $isExternal }} target="_blank" rel="noopener noreferrer"{{ end }}>{{ .name }}</a></li>
|
|
{{- end -}}
|
|
</ul>
|
|
{{- end -}}
|
|
</div>
|
|
{{- end -}}
|
|
</div>
|
|
{{- end -}}
|
|
<div class="hextra-custom-footer hextra-max-footer-width hx:mx-auto hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400">
|
|
{{- partial "custom/footer.html" (dict "context" . "switchesVisible" $footerSwitchesVisible "copyrightVisible" $copyrightSectionVisible) -}}
|
|
</div>
|
|
{{- if $copyrightSectionVisible -}}
|
|
<div class="hextra-max-footer-width hx:mx-auto hx:flex hx:justify-center hx:py-12 hx:pl-[max(env(safe-area-inset-left),1.5rem)] hx:pr-[max(env(safe-area-inset-right),1.5rem)] hx:text-gray-600 hx:dark:text-gray-400 hx:md:justify-start">
|
|
<div class="hx:flex hx:w-full hx:flex-col hx:items-center hx:sm:items-start">
|
|
{{- if (.Site.Params.footer.displayPoweredBy | default true) }}<div class="hx:font-semibold">{{ template "theme-credit" $poweredBy }}</div>{{- end -}}
|
|
{{- if .Site.Params.footer.displayCopyright }}<div class="hx:mt-6 hx:text-xs">{{ $copyright | markdownify }}</div>{{- end -}}
|
|
{{- with .Site.Params.footer.icp }}<div class="hx:mt-2 hx:text-xs"><a href="https://beian.miit.gov.cn/" target="_blank" rel="noopener noreferrer" style="color:inherit;text-decoration:none">{{ . }}</a></div>{{- end -}}
|
|
{{- with .Site.Params.footer.gongan }}<div class="hx:mt-2 hx:text-xs"><a href="https://beian.mps.gov.cn/" target="_blank" rel="noopener noreferrer" style="color:inherit;text-decoration:none">{{ . }}</a></div>{{- end -}}
|
|
</div>
|
|
</div>
|
|
{{- end -}}
|
|
</footer>
|
|
{{- define "theme-credit" -}}
|
|
<a class="hx:flex hx:text-sm hx:items-center hx:gap-1 hx:text-current" target="_blank" rel="noopener noreferrer" title="Hextra GitHub Homepage" href="https://github.com/imfing/hextra">
|
|
<span>
|
|
{{- . | markdownify -}}
|
|
{{- if strings.Contains . "Hextra" -}}
|
|
{{- partial "utils/icon.html" (dict "name" "hextra" "attributes" `height=1em class="hx:inline-block hx:ltr:ml-1 hx:rtl:mr-1 hx:align-[-2.5px]"`) -}}
|
|
{{- end -}}
|
|
</span>
|
|
</a>
|
|
{{- end -}}
|