summaryrefslogtreecommitdiff
path: root/plugins/frontend-search
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/frontend-search')
-rw-r--r--plugins/frontend-search/README.md81
-rw-r--r--plugins/frontend-search/_frontend-search.sh128
-rw-r--r--plugins/frontend-search/frontend-search.plugin.zsh158
3 files changed, 367 insertions, 0 deletions
diff --git a/plugins/frontend-search/README.md b/plugins/frontend-search/README.md
new file mode 100644
index 000000000..801d450f3
--- /dev/null
+++ b/plugins/frontend-search/README.md
@@ -0,0 +1,81 @@
+## Rationale ##
+
+> Searches for your Frontend contents more easier
+
+
+## Instalation ##
+
+
+Open your `.zshrc` file and load `frontend-search` plugin
+
+```bash
+...
+plugins=( <your-plugins-list>... frontend-search)
+...
+```
+
+
+## Commands ##
+
+All command searches are accept only in format
+
+* `frontend <search-content> <search-term>`
+
+The search content are
+
+* `jquery <api.jquery.com>`
+* `mdn <developer.mozilla.org>`
+* `compass <compass-style.org>`
+* `html5please <html5please.com>`
+* `caniuse <caniuse.com>`
+* `aurajs <aurajs.com>`
+* `dartlang <api.dartlang.org/apidocs/channels/stable/dartdoc-viewer>`
+* `lodash <search>`
+* `qunit <api.qunitjs.com>`
+* `fontello <fontello.com>`
+* `bootsnipp <bootsnipp.com>`
+* `cssflow <cssflow.com>`
+* `codepen <codepen.io>`
+* `unheap <www.unheap.com>`
+* `bem <google.com/search?as_q=<search-term>&as_sitesearch=bem.info>`
+* `smacss <google.com/search?as_q=<search-term>&as_sitesearch=smacss.com>`
+* `angularjs <google.com/search?as_q=<search-term>&as_sitesearch=angularjs.org>`
+* `reactjs <google.com/search?as_q=<search-term>&as_sitesearch=facebook.github.io/react>`
+* `emberjs <emberjs.com>`
+* `stackoverflow <stackoverflow.com>`
+
+
+## Aliases ##
+
+There are a few aliases presented as well:
+
+* `jquery` A shorthand for `frontend jquery`
+* `mdn` A shorthand for `frontend mdn`
+* `compass` A shorthand for `frontend compass`
+* `html5please` A shorthand for `frontend html5please`
+* `caniuse` A shorthand for `frontend caniuse`
+* `aurajs` A shorthand for `frontend aurajs`
+* `dartlang` A shorthand for `frontend dartlang`
+* `lodash` A shorthand for `frontend lodash`
+* `qunit` A shorthand for `frontend qunit`
+* `fontello` A shorthand for `frontend fontello`
+* `bootsnipp` A shorthand for `frontend bootsnipp`
+* `cssflow` A shorthand for `frontend cssflow`
+* `codepen` A shorthand for `frontend codepen`
+* `unheap` A shorthand for `frontend unheap`
+* `bem` A shorthand for `frontend bem`
+* `smacss` A shorthand for `frontend smacss`
+* `angularjs` A shorthand for `frontend angularjs`
+* `reactjs` A shorthand for `frontend reactjs`
+* `emberjs` A shorthand for `frontend emberjs`
+* `stackoverflow` A shorthand for `frontend stackoverflow`
+
+
+## Author
+
+**Wilson Mendes (willmendesneto)**
++ <https://plus.google.com/+WilsonMendes>
++ <https://twitter.com/willmendesneto>
++ <http://github.com/willmendesneto>
+
+New features comming soon.
diff --git a/plugins/frontend-search/_frontend-search.sh b/plugins/frontend-search/_frontend-search.sh
new file mode 100644
index 000000000..252f21570
--- /dev/null
+++ b/plugins/frontend-search/_frontend-search.sh
@@ -0,0 +1,128 @@
+#compdef frontend
+
+zstyle ':completion:*:descriptions' format '%B%d%b'
+zstyle ':completion::complete:frontend:*:commands' group-name commands
+zstyle ':completion::complete:frontend:*:frontend_points' group-name frontend_points
+zstyle ':completion::complete:frontend::' list-grouped
+
+zmodload zsh/mapfile
+
+function _frontend() {
+ local CONFIG=$HOME/.frontend-search
+ local ret=1
+
+ local -a commands
+ local -a frontend_points
+
+ frontend_points=( "${(f)mapfile[$CONFIG]//$HOME/~}" )
+
+ commands=(
+ 'jquery: Search in jQuery website'
+ 'mdn: Search in MDN website'
+ 'compass: Search in COMPASS website'
+ 'html5please: Search in HTML5 Please website'
+ 'caniuse: Search in Can I Use website'
+ 'aurajs: Search in AuraJs website'
+ 'dartlang: Search in Dart website'
+ 'lodash: Search in Lo-Dash website'
+ 'qunit: Search in Qunit website'
+ 'fontello: Search in fontello website'
+ 'bootsnipp: Search in bootsnipp website'
+ 'cssflow: Search in cssflow website'
+ 'codepen: Search in codepen website'
+ 'unheap: Search in unheap website'
+ 'bem: Search in BEM website'
+ 'smacss: Search in SMACSS website'
+ 'angularjs: Search in Angular website'
+ 'reactjs: Search in React website'
+ 'emberjs: Search in Ember website'
+ 'stackoverflow: Search in StackOverflow website'
+ )
+
+ _arguments -C \
+ '1: :->first_arg' \
+ '2: :->second_arg' && ret=0
+
+ case $state in
+ first_arg)
+ _describe -t frontend_points "Warp points" frontend_points && ret=0
+ _describe -t commands "Commands" commands && ret=0
+ ;;
+ second_arg)
+ case $words[2] in
+ jquery)
+ _describe -t points "Warp points" frontend_points && ret=0
+ ;;
+ mdn)
+ _describe -t points "Warp points" frontend_points && ret=0
+ ;;
+ compass)
+ _describe -t points "Warp points" frontend_points && ret=0
+ ;;
+ html5please)
+ _describe -t points "Warp points" frontend_points && ret=0
+ ;;
+ caniuse)
+ _describe -t points "Warp points" frontend_points && ret=0
+ ;;
+ aurajs)
+ _describe -t points "Warp points" frontend_points && ret=0
+ ;;
+ dartlang)
+ _describe -t points "Warp points" frontend_points && ret=0
+ ;;
+ lodash)
+ _describe -t points "Warp points" frontend_points && ret=0
+ ;;
+ qunit)
+ _describe -t points "Warp points" frontend_points && ret=0
+ ;;
+ fontello)
+ _describe -t points "Warp points" frontend_points && ret=0
+ ;;
+ bootsnipp)
+ _describe -t points "Warp points" frontend_points && ret=0
+ ;;
+ cssflow)
+ _describe -t points "Warp points" frontend_points && ret=0
+ ;;
+ codepen)
+ _describe -t points "Warp points" frontend_points && ret=0
+ ;;
+ unheap)
+ _describe -t points "Warp points" frontend_points && ret=0
+ ;;
+ bem)
+ _describe -t points "Warp points" frontend_points && ret=0
+ ;;
+ smacss)
+ _describe -t points "Warp points" frontend_points && ret=0
+ ;;
+ angularjs)
+ _describe -t points "Warp points" frontend_points && ret=0
+ ;;
+ reactjs)
+ _describe -t points "Warp points" frontend_points && ret=0
+ ;;
+ emberjs)
+ _describe -t points "Warp points" frontend_points && ret=0
+ ;;
+ stackoverflow)
+ _describe -t points "Warp points" frontend_points && ret=0
+ ;;
+ esac
+ ;;
+ esac
+
+ return $ret
+}
+
+_frontend "$@"
+
+# Local Variables:
+# mode: Shell-Script
+# sh-indentation: 2
+# indent-tabs-mode: nil
+# sh-basic-offset: 2
+# End:
+# vim: ft=zsh sw=2 ts=2 et
diff --git a/plugins/frontend-search/frontend-search.plugin.zsh b/plugins/frontend-search/frontend-search.plugin.zsh
new file mode 100644
index 000000000..b9fb8634c
--- /dev/null
+++ b/plugins/frontend-search/frontend-search.plugin.zsh
@@ -0,0 +1,158 @@
+# frontend from terminal
+
+function frontend() {
+
+ # get the open command
+ local open_cmd
+ if [[ $(uname -s) == 'Darwin' ]]; then
+ open_cmd='open'
+ else
+ open_cmd='xdg-open'
+ fi
+
+ # no keyword provided, simply show how call methods
+ if [[ $# -le 1 ]]; then
+ echo "Please provide a search-content and a search-term for app.\nEx:\nfrontend <search-content> <search-term>\n"
+ return 1
+ fi
+
+ # 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)' ]];
+ then
+ echo "Search valid search content $1 not supported."
+ echo "Valid contents: (formats 'frontend <search-content>' or '<search-content>')"
+ echo "* jquery"
+ echo "* mdn"
+ echo "* compass"
+ echo "* html5please"
+ echo "* caniuse"
+ echo "* aurajs"
+ echo "* dartlang"
+ echo "* lodash"
+ echo "* qunit"
+ echo "* fontello"
+ echo "* bootsnipp"
+ echo "* cssflow"
+ echo "* codepen"
+ echo "* unheap"
+ echo "* bem"
+ echo "* smacss"
+ echo "* angularjs"
+ echo "* reactjs"
+ echo "* emberjs"
+ echo "* stackoverflow"
+ echo ""
+
+ return 1
+ fi
+
+ local url="http://"
+ local query=""
+
+ case "$1" in
+ "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" ;;
+ *) echo "INVALID PARAM!"
+ return ;;
+ esac
+
+ echo "$url"
+
+ $open_cmd "$url"
+
+}
+
+# javascript
+alias jquery='frontend jquery'
+alias mdn='frontend mdn'
+
+# pre processors frameworks
+alias compassdoc='frontend compass'
+
+# important links
+alias html5please='frontend html5please'
+alias caniuse='frontend caniuse'
+
+# components and libraries
+alias aurajs='frontend aurajs'
+alias dartlang='frontend dartlang'
+alias lodash='frontend lodash'
+
+#tests
+alias qunit='frontend qunit'
+
+#fonts
+alias fontello='frontend fontello'
+
+# snippets
+alias bootsnipp='frontend bootsnipp'
+alias cssflow='frontend cssflow'
+alias codepen='frontend codepen'
+alias unheap='frontend unheap'
+
+# css architecture
+alias bem='frontend bem'
+alias smacss='frontend smacss'
+
+# frameworks
+alias angularjs='frontend angularjs'
+alias reactjs='frontend reactjs'
+alias emberjs='frontend emberjs'
+
+# search websites
+alias stackoverflow='frontend stackoverflow'