Merge pull request #298 from hecht-a/add_search_placeholder

feat: add possibility to set search input placeholder
This commit is contained in:
Svilen Markov 2025-01-04 03:47:51 +00:00 committed by GitHub
commit 0fe0b34898
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 10 additions and 1 deletions

View File

@ -871,6 +871,7 @@ Preview:
| search-engine | string | no | duckduckgo |
| new-tab | boolean | no | false |
| autofocus | boolean | no | false |
| placeholder | string | no | Type here to search… |
| bangs | array | no | |
##### `search-engine`
@ -887,6 +888,9 @@ When set to `true`, swaps the shortcuts for showing results in the same or new t
##### `autofocus`
When set to `true`, automatically focuses the search input on page load.
##### `placeholder`
When set, modifies the text displayed in the input field before typing.
##### `bangs`
What now? [Bangs](https://duckduckgo.com/bangs). They're shortcuts that allow you to use the same search box for many different sites. Assuming you have it configured, if for example you start your search input with `!yt` you'd be able to perform a search on YouTube:

View File

@ -16,7 +16,7 @@
</svg>
</div>
<input class="search-input" type="text" placeholder="Type here to search…" autocomplete="off"{{ if .Autofocus }} autofocus{{ end }}>
<input class="search-input" type="text" placeholder="{{ .Placeholder }}" autocomplete="off"{{ if .Autofocus }} autofocus{{ end }}>
<div class="search-bang"></div>
<kbd class="hide-on-mobile" title="Press [S] to focus the search input">S</kbd>

View File

@ -21,6 +21,7 @@ type searchWidget struct {
Bangs []SearchBang `yaml:"bangs"`
NewTab bool `yaml:"new-tab"`
Autofocus bool `yaml:"autofocus"`
Placeholder string `yaml:"placeholder"`
}
func convertSearchUrl(url string) string {
@ -41,6 +42,10 @@ func (widget *searchWidget) initialize() error {
widget.SearchEngine = "duckduckgo"
}
if widget.Placeholder == "" {
widget.Placeholder = "Type here to search…"
}
if url, ok := searchEngines[widget.SearchEngine]; ok {
widget.SearchEngine = url
}