refined searchbar; added options to use a global searchbar or a search link in the menu
This commit is contained in:
parent
f51db60b35
commit
746a750cf1
5 changed files with 55 additions and 29 deletions
|
|
@ -2,10 +2,7 @@
|
|||
<noscript>
|
||||
You need to enable JavaScript to be able to search.
|
||||
</noscript>
|
||||
<div class="search">
|
||||
<input id="searchbar" type="text" placeholder="{{ .Title }}" />
|
||||
<a class="nerdlink" onclick="newSearch();"></a>
|
||||
</div>
|
||||
{{- partial "searchbar.html" . -}}
|
||||
<div class="postlist {{ if .Site.Params.gridView }}gridView{{ end }}" id="postlist">
|
||||
</div>
|
||||
{{- partial "js_paginator.html" . -}}
|
||||
|
|
@ -43,9 +40,5 @@
|
|||
performSearch(searchTerm);
|
||||
}
|
||||
}
|
||||
function newSearch() {
|
||||
location.href = baseUrl+`?q=${searchbar.value}`;
|
||||
}
|
||||
searchbar.onkeyup = (ev) => {if (ev.keyCode == 13) newSearch()};
|
||||
</script>
|
||||
{{ end }}
|
||||
|
|
|
|||
|
|
@ -1,27 +1,35 @@
|
|||
<header>
|
||||
{{- partial "inject/header-before.html" . -}}
|
||||
<div id="titleContainer">
|
||||
<img src='{{ .Site.Params.Logo | default "/img/icon.svg" }}' />
|
||||
<div>
|
||||
<h1>{{ .Site.Title | default "Ficurinia" }}</h1>
|
||||
<nav>
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
<li><a href="/posts">Posts</a></li>
|
||||
{{ $pagesDir := .Site.Params.Pages | default (slice "pages") }}
|
||||
{{ $pagesList := where .Site.RegularPages "Section" "in" $pagesDir }}
|
||||
{{ range $pagesList }}
|
||||
<li><a href="{{ .Permalink }}">{{ .Title }}</a></li>
|
||||
{{ end }}
|
||||
{{ if (.Site.Params.showTags | default true) }}
|
||||
<li><a href="/tags">Tags</a></li>
|
||||
{{ end }}
|
||||
{{ if (.Site.Params.enableSearch | default true) }}
|
||||
<li><a href="/search">Search</a></li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</nav>
|
||||
<div class="titleAndSearchContainer">
|
||||
<div id="titleContainer">
|
||||
<img src='{{ .Site.Params.Logo | default "/img/icon.svg" }}' />
|
||||
<div>
|
||||
<h1>{{ .Site.Title | default "Ficurinia" }}</h1>
|
||||
<nav>
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
<li><a href="/posts">Posts</a></li>
|
||||
{{ $pagesDir := .Site.Params.Pages | default (slice "pages") }}
|
||||
{{ $pagesList := where .Site.RegularPages "Section" "in" $pagesDir }}
|
||||
{{ range $pagesList }}
|
||||
<li><a href="{{ .Permalink }}">{{ .Title }}</a></li>
|
||||
{{ end }}
|
||||
{{ if (.Site.Params.showTags | default true) }}
|
||||
<li><a href="/tags">Tags</a></li>
|
||||
{{ end }}
|
||||
{{ if and (.Site.Params.searchMenuLink | default false) (.Site.Params.enableSearch | default true) }}
|
||||
<li><a href="/search">Search</a></li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
{{ if and (.Site.Params.searchbarEverywhere | default true) (and (.Site.Params.enableSearch | default true) (not (eq .Title "Search"))) }}
|
||||
{{- partial "searchbar.html" . -}}
|
||||
<script>
|
||||
document.getElementById('searchbar').
|
||||
</script>
|
||||
{{ end }}
|
||||
</div>
|
||||
<div id="links">
|
||||
{{ if .Site.Params.showRss | default true }}
|
||||
|
|
|
|||
12
layouts/partials/searchbar.html
Normal file
12
layouts/partials/searchbar.html
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<div class="search">
|
||||
<input id="searchbar" type="text" placeholder="Search" />
|
||||
<a class="nerdlink" onclick="newSearch();"></a>
|
||||
</div>
|
||||
<script>
|
||||
function newSearch() {
|
||||
let term = searchbar.value.trim();
|
||||
if (!term) return;
|
||||
location.href = `/search?q=${term}`;
|
||||
}
|
||||
searchbar.onkeyup = (ev) => {if (ev.keyCode == 13) newSearch()};
|
||||
</script>
|
||||
Loading…
Add table
Add a link
Reference in a new issue