frontend-search.plugin.zsh 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. # frontend from terminal
  2. function frontend() {
  3. # no keyword provided, simply show how call methods
  4. if [[ $# -le 1 ]]; then
  5. echo "Please provide a search-content and a search-term for app.\nEx:\nfrontend <search-content> <search-term>\n"
  6. return 1
  7. fi
  8. # check whether the search engine is supported
  9. if [[ ! $1 =~ '(jquery|mdn|compass|html5please|caniuse|aurajs|dartlang|qunit|fontello|bootsnipp|cssflow|codepen|unheap|bem|smacss|angularjs|reactjs|emberjs|stackoverflow|npmjs)' ]];
  10. then
  11. echo "Search valid search content $1 not supported."
  12. echo "Valid contents: (formats 'frontend <search-content>' or '<search-content>')"
  13. echo "* jquery"
  14. echo "* mdn"
  15. echo "* compass"
  16. echo "* html5please"
  17. echo "* caniuse"
  18. echo "* aurajs"
  19. echo "* dartlang"
  20. echo "* lodash"
  21. echo "* qunit"
  22. echo "* fontello"
  23. echo "* bootsnipp"
  24. echo "* cssflow"
  25. echo "* codepen"
  26. echo "* unheap"
  27. echo "* bem"
  28. echo "* smacss"
  29. echo "* angularjs"
  30. echo "* reactjs"
  31. echo "* emberjs"
  32. echo "* stackoverflow"
  33. echo "* npmjs"
  34. echo ""
  35. return 1
  36. fi
  37. local url="http://"
  38. local query=""
  39. case "$1" in
  40. "jquery")
  41. url="${url}api.jquery.com"
  42. url="${url}/?s=$2" ;;
  43. "mdn")
  44. url="${url}developer.mozilla.org"
  45. url="${url}/search?q=$2" ;;
  46. "compass")
  47. url="${url}compass-style.org"
  48. url="${url}/search?q=$2" ;;
  49. "html5please")
  50. url="${url}html5please.com"
  51. url="${url}/#$2" ;;
  52. "caniuse")
  53. url="${url}caniuse.com"
  54. url="${url}/#search=$2" ;;
  55. "aurajs")
  56. url="${url}aurajs.com"
  57. url="${url}/api/#stq=$2" ;;
  58. "dartlang")
  59. url="${url}api.dartlang.org/apidocs/channels/stable/dartdoc-viewer"
  60. url="${url}/dart-$2" ;;
  61. "qunit")
  62. url="${url}api.qunitjs.com"
  63. url="${url}/?s=$2" ;;
  64. "fontello")
  65. url="${url}fontello.com"
  66. url="${url}/#search=$2" ;;
  67. "bootsnipp")
  68. url="${url}bootsnipp.com"
  69. url="${url}/search?q=$2" ;;
  70. "cssflow")
  71. url="${url}cssflow.com"
  72. url="${url}/search?q=$2" ;;
  73. "codepen")
  74. url="${url}codepen.io"
  75. url="${url}/search?q=$2" ;;
  76. "unheap")
  77. url="${url}www.unheap.com"
  78. url="${url}/?s=$2" ;;
  79. "bem")
  80. url="${url}google.com"
  81. url="${url}/search?as_q=$2&as_sitesearch=bem.info" ;;
  82. "smacss")
  83. url="${url}google.com"
  84. url="${url}/search?as_q=$2&as_sitesearch=smacss.com" ;;
  85. "angularjs")
  86. url="${url}google.com"
  87. url="${url}/search?as_q=$2&as_sitesearch=angularjs.org" ;;
  88. "reactjs")
  89. url="${url}google.com"
  90. url="${url}/search?as_q=$2&as_sitesearch=facebook.github.io/react" ;;
  91. "emberjs")
  92. url="${url}emberjs.com"
  93. url="${url}/api/#stq=$2&stp=1" ;;
  94. "stackoverflow")
  95. url="${url}stackoverflow.com"
  96. url="${url}/search?q=$2" ;;
  97. "npmjs")
  98. url="${url}www.npmjs.com"
  99. url="${url}/search?q=$2" ;;
  100. *) echo "INVALID PARAM!"
  101. return ;;
  102. esac
  103. echo "$url"
  104. open_command "$url"
  105. }
  106. # javascript
  107. alias jquery='frontend jquery'
  108. alias mdn='frontend mdn'
  109. # pre processors frameworks
  110. alias compassdoc='frontend compass'
  111. # important links
  112. alias html5please='frontend html5please'
  113. alias caniuse='frontend caniuse'
  114. # components and libraries
  115. alias aurajs='frontend aurajs'
  116. alias dartlang='frontend dartlang'
  117. alias lodash='frontend lodash'
  118. #tests
  119. alias qunit='frontend qunit'
  120. #fonts
  121. alias fontello='frontend fontello'
  122. # snippets
  123. alias bootsnipp='frontend bootsnipp'
  124. alias cssflow='frontend cssflow'
  125. alias codepen='frontend codepen'
  126. alias unheap='frontend unheap'
  127. # css architecture
  128. alias bem='frontend bem'
  129. alias smacss='frontend smacss'
  130. # frameworks
  131. alias angularjs='frontend angularjs'
  132. alias reactjs='frontend reactjs'
  133. alias emberjs='frontend emberjs'
  134. # search websites
  135. alias stackoverflow='frontend stackoverflow'
  136. alias npmjs='frontend npmjs'