Simplify frontend-search function with assoc array
Also adds the lodash URL (which was missing) and uses https on those websites that support it.
This commit is contained in:
parent
0532860c61
commit
f1472f1f64
@ -1,6 +1,33 @@
|
|||||||
# frontend from terminal
|
# frontend from terminal
|
||||||
|
|
||||||
function frontend() {
|
function frontend() {
|
||||||
|
emulate -L zsh
|
||||||
|
|
||||||
|
# define search content URLS
|
||||||
|
typeset -A urls
|
||||||
|
urls=(
|
||||||
|
angularjs 'https://google.com/search?as_sitesearch=angularjs.org&as_q='
|
||||||
|
aurajs 'http://aurajs.com/api/#stq='
|
||||||
|
bem 'https://google.com/search?as_sitesearch=bem.info&as_q='
|
||||||
|
bootsnipp 'http://bootsnipp.com/search?q='
|
||||||
|
caniuse 'http://caniuse.com/#search='
|
||||||
|
codepen 'http://codepen.io/search?q='
|
||||||
|
compass 'http://compass-style.org/search?q='
|
||||||
|
cssflow 'http://www.cssflow.com/search?q='
|
||||||
|
dartlang 'https://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/dart:'
|
||||||
|
emberjs 'http://emberjs.com/api/#stp=1&stq='
|
||||||
|
fontello 'http://fontello.com/#search='
|
||||||
|
html5please 'http://html5please.com/#'
|
||||||
|
jquery 'https://api.jquery.com/?s='
|
||||||
|
lodash 'https://devdocs.io/lodash/index#'
|
||||||
|
mdn 'https://developer.mozilla.org/search?q='
|
||||||
|
npmjs 'https://www.npmjs.com/search?q='
|
||||||
|
qunit 'https://api.qunitjs.com/?s='
|
||||||
|
reactjs 'https://google.com/search?as_sitesearch=facebook.github.io/react&as_q='
|
||||||
|
smacss 'https://google.com/search?as_sitesearch=smacss.com&as_q='
|
||||||
|
stackoverflow 'http://stackoverflow.com/search?q='
|
||||||
|
unheap 'http://www.unheap.com/?s='
|
||||||
|
)
|
||||||
|
|
||||||
# no keyword provided, simply show how call methods
|
# no keyword provided, simply show how call methods
|
||||||
if [[ $# -le 1 ]]; then
|
if [[ $# -le 1 ]]; then
|
||||||
@ -9,7 +36,7 @@ function frontend() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# check whether the search engine is supported
|
# check whether the search engine is supported
|
||||||
if [[ ! $1 =~ '(jquery|mdn|compass|html5please|caniuse|aurajs|dartlang|qunit|fontello|bootsnipp|cssflow|codepen|unheap|bem|smacss|angularjs|reactjs|emberjs|stackoverflow|npmjs)' ]];
|
if [[ -z "$urls[$1]" ]]; then
|
||||||
then
|
then
|
||||||
echo "Search valid search content $1 not supported."
|
echo "Search valid search content $1 not supported."
|
||||||
echo "Valid contents: (formats 'frontend <search-content>' or '<search-content>')"
|
echo "Valid contents: (formats 'frontend <search-content>' or '<search-content>')"
|
||||||
@ -39,73 +66,10 @@ function frontend() {
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local url="http://"
|
# build search url:
|
||||||
local query=""
|
# join arguments passed with '+', then append to search engine URL
|
||||||
|
# TODO substitute for proper urlencode method
|
||||||
case "$1" in
|
url="${urls[$1]}${(j:+:)@[2,-1]}"
|
||||||
"jquery")
|
|
||||||
url="${url}api.jquery.com"
|
|
||||||
url="${url}/?s=$2" ;;
|
|
||||||
"mdn")
|
|
||||||
url="${url}developer.mozilla.org"
|
|
||||||
url="${url}/search?q=$2" ;;
|
|
||||||
"compass")
|
|
||||||
url="${url}compass-style.org"
|
|
||||||
url="${url}/search?q=$2" ;;
|
|
||||||
"html5please")
|
|
||||||
url="${url}html5please.com"
|
|
||||||
url="${url}/#$2" ;;
|
|
||||||
"caniuse")
|
|
||||||
url="${url}caniuse.com"
|
|
||||||
url="${url}/#search=$2" ;;
|
|
||||||
"aurajs")
|
|
||||||
url="${url}aurajs.com"
|
|
||||||
url="${url}/api/#stq=$2" ;;
|
|
||||||
"dartlang")
|
|
||||||
url="${url}api.dartlang.org/apidocs/channels/stable/dartdoc-viewer"
|
|
||||||
url="${url}/dart-$2" ;;
|
|
||||||
"qunit")
|
|
||||||
url="${url}api.qunitjs.com"
|
|
||||||
url="${url}/?s=$2" ;;
|
|
||||||
"fontello")
|
|
||||||
url="${url}fontello.com"
|
|
||||||
url="${url}/#search=$2" ;;
|
|
||||||
"bootsnipp")
|
|
||||||
url="${url}bootsnipp.com"
|
|
||||||
url="${url}/search?q=$2" ;;
|
|
||||||
"cssflow")
|
|
||||||
url="${url}cssflow.com"
|
|
||||||
url="${url}/search?q=$2" ;;
|
|
||||||
"codepen")
|
|
||||||
url="${url}codepen.io"
|
|
||||||
url="${url}/search?q=$2" ;;
|
|
||||||
"unheap")
|
|
||||||
url="${url}www.unheap.com"
|
|
||||||
url="${url}/?s=$2" ;;
|
|
||||||
"bem")
|
|
||||||
url="${url}google.com"
|
|
||||||
url="${url}/search?as_q=$2&as_sitesearch=bem.info" ;;
|
|
||||||
"smacss")
|
|
||||||
url="${url}google.com"
|
|
||||||
url="${url}/search?as_q=$2&as_sitesearch=smacss.com" ;;
|
|
||||||
"angularjs")
|
|
||||||
url="${url}google.com"
|
|
||||||
url="${url}/search?as_q=$2&as_sitesearch=angularjs.org" ;;
|
|
||||||
"reactjs")
|
|
||||||
url="${url}google.com"
|
|
||||||
url="${url}/search?as_q=$2&as_sitesearch=facebook.github.io/react" ;;
|
|
||||||
"emberjs")
|
|
||||||
url="${url}emberjs.com"
|
|
||||||
url="${url}/api/#stq=$2&stp=1" ;;
|
|
||||||
"stackoverflow")
|
|
||||||
url="${url}stackoverflow.com"
|
|
||||||
url="${url}/search?q=$2" ;;
|
|
||||||
"npmjs")
|
|
||||||
url="${url}www.npmjs.com"
|
|
||||||
url="${url}/search?q=$2" ;;
|
|
||||||
*) echo "INVALID PARAM!"
|
|
||||||
return ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
echo "$url"
|
echo "$url"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user