Full-text search v1
This commit is contained in:
+11
-2
@@ -17,6 +17,10 @@
|
||||
</nav>
|
||||
<form class="search-form" action="/" method="get">
|
||||
<input class="search-input" type="search" name="q" value="{{.Query}}" placeholder="Search folders…" autofocus />
|
||||
<label class="search-toggle muted" title="Also search page contents">
|
||||
<input type="checkbox" name="full" value="1" {{if .Full}}checked{{end}} />
|
||||
full-text
|
||||
</label>
|
||||
<button class="btn" type="submit">GO</button>
|
||||
</form>
|
||||
</header>
|
||||
@@ -27,8 +31,13 @@
|
||||
<div class="listing-header">{{len .Results}} match{{if ne (len .Results) 1}}es{{end}} for “{{.Query}}”</div>
|
||||
{{range .Results}}
|
||||
<div class="listing-item">
|
||||
<a href="{{.URL}}">{{.Name}}</a>
|
||||
<span class="meta">{{.Path}}</span>
|
||||
<div class="search-result">
|
||||
<div class="search-result-row">
|
||||
<a href="{{.URL}}">{{.Name}}</a>
|
||||
<span class="meta">{{.Path}}</span>
|
||||
</div>
|
||||
{{if .Snippet}}<div class="search-snippet muted">{{.Snippet}}</div>{{end}}
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
|
||||
@@ -379,6 +379,38 @@ textarea {
|
||||
.search-input:focus {
|
||||
border-color: var(--primary-hover);
|
||||
}
|
||||
.search-toggle {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.25rem;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.search-result {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.2rem;
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
}
|
||||
.search-result-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.75rem;
|
||||
min-width: 0;
|
||||
}
|
||||
.search-result-row a {
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.search-snippet {
|
||||
font-size: 0.8rem;
|
||||
line-height: 1.4;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* === Muted text === */
|
||||
.muted {
|
||||
|
||||
Reference in New Issue
Block a user