feat(frontend-search): add I am lucky option

This commit is contained in:
Josh Hubbard 2023-12-06 09:15:53 +01:00 committed by Carlo Sala
parent c37df3ebd4
commit 346bd1cd53
2 changed files with 20 additions and 5 deletions

View File

@ -66,7 +66,16 @@ If you want to have another context, open an Issue and tell us!
## Fallback search behaviour
The plugin will use Google as a fallback if the docs site for a search context does not have a search function. You can set the fallback search engine to DuckDuckGo by setting `FRONTEND_SEARCH_FALLBACK='duckduckgo'` in your `~/.zshrc` file before Oh My Zsh is sourced.
The plugin will use Google as a fallback if the docs site for a search context does not have a search
function. You can set the fallback search engine to DuckDuckGo by setting
`FRONTEND_SEARCH_FALLBACK='duckduckgo'` in your `~/.zshrc` file before Oh My Zsh is sourced.
## DuckDuckGo Lucky Search
Enable DuckDuckGo's "ducky" (lucky) search feature to automatically access the top search result. This feature
is optimized for DuckDuckGo, as Google redirects to an intermediate page. The FRONTEND_SEARCH_FALLBACK_LUCKY
environment variable triggers the use of DuckDuckGo's lucky search, rendering the FRONTEND_SEARCH_FALLBACK
setting unnecessary in this context.
## Author

View File

@ -30,10 +30,16 @@ alias vuejs='frontend vuejs'
alias nextjs='frontend nextjs'
function _frontend_fallback() {
if [[ "$FRONTEND_SEARCH_FALLBACK_LUCKY" == "true" ]]; then
case true in
*) echo "https://duckduckgo.com/?q=!ducky+site%3A$1+" ;;
esac
else
case "$FRONTEND_SEARCH_FALLBACK" in
duckduckgo) echo "https://duckduckgo.com/?sites=$1&q=" ;;
*) echo "https://google.com/search?as_sitesearch=$1&as_q=" ;;
esac
fi
}
function frontend() {