archie/layouts/partials/footer.html

62 lines
2.1 KiB
HTML

<footer>
<div style="display:flex">
{{- range $index, $key := .Site.Params.Social -}}
{{- if hasPrefix $key.icon "simple:" -}}
<a class="soc" href="{{ $key.url }}" rel="me" title="{{ $key.name }}"><i class="si si-{{ substr $key.icon 7 }}"></i></a>
{{- else -}}
<a class="soc" href="{{ $key.url }}" rel="me" title="{{ $key.name }}">{{ template "feathericon" (dict "Icon" $key.icon "UseCDN" .Site.Params.useCDN) }}</a>
{{- end -}}
<a class="border"></a>
{{- end -}}
</div>
<div class="footer-info">
{{ dateFormat "2006" now }} {{ with .Site.Copyright }} {{ . }} | {{ end }}
{{ range .Site.Menus.footer }}
<a href="{{ .URL }}">{{ .Name }}</a>
{{ end }}
</div>
</footer>
<script>
window.addEventListener('DOMContentLoaded', (event) => {
const searchState = window.codexSearch || { initialized: false, instance: null };
const searchElement = document.getElementById('search');
const toggleButton = document.getElementById('toggle-search');
const ensureSearch = () => {
if (searchState.initialized || !searchElement) {
return;
}
if (typeof window.PagefindUI !== 'function') {
searchElement.innerHTML = '<p>Search is currently unavailable.</p>';
searchState.initialized = true;
return;
}
searchState.instance = new PagefindUI({ element: "#search", showSubResults: false });
searchState.initialized = true;
};
if (toggleButton && searchElement) {
toggleButton.addEventListener('click', () => {
const isHidden = searchElement.hasAttribute('hidden');
if (isHidden) {
ensureSearch();
searchElement.removeAttribute('hidden');
toggleButton.setAttribute('aria-expanded', 'true');
const input = searchElement.querySelector('input');
if (input) {
input.focus();
}
return;
}
searchElement.setAttribute('hidden', '');
toggleButton.setAttribute('aria-expanded', 'false');
});
}
});
</script>