/google-search-navigator

Chrome extension that enhances the keyboard shortcuts in Google Search

Primary LanguageJavaScriptMIT LicenseMIT

Logo Google Search Navigator

Demo flow

This is a simple Google Chrome extension that enhances the keyboard navigation in Google Search. Google used to provide an experimental keyboard navigation for search results, but it was often broken, and seems to have been removed as of 2017-07-31. In addition, I wanted to add new keyboard shortcuts and the existing ones to be more vim like (j/k for navigation).

Installation

Keybindings

Note: All shortcuts can be customized to your liking via options.

  • /j: Select next search result
  • /k: Select previous previous result
  • //Escape: Focus on input search box
  • Enter/Space: Navigate to selected result
  • Ctrl+Enter/⌘+Enter/Ctrl+Space: Open selected result in background tab
  • Ctrl+Shift+Enter/⌘+Shift+Enter/Ctrl+Shift+Space: Open selected result in new window/tab
  • /h: Navigate to previous search result page
  • /l: Navigate to next search result page
  • a/s: Navigate to All tab (= default search tab)
  • i: Navigate to images tab
  • v: Navigate to videos tab
  • m: Navigate to maps tab
  • n: Navigate to news tab
  • alt+s: Navigate to shopping tab
  • b: Navigate to books tab
  • alt+l: Navigate to flights tab
  • f: Navigate to financial tab

Development

We use yarn package manager for dependency management and gulp for build. Installing and building (deploying the web extension files) is as easy as:

yarn install && yarn build

The extension will be deployed directly to the src directory. You can load this directory as an unpacked extensions to your browser.

It would be better to deploy for example to build/deploy and add gulp-watch to update the deployed files automatically. However when done so the browser's (Chrome) auto-reload extension gets broken and one has to reload the extension manually on every change. Hence the src directory is used for the convenience.

Build

To deploy the production sources use:

yarn build --production

The automated build scripts are currently not implemented so manual process is required afterward.

TODO

  • Add option for navigating "Top stories"
  • Remove Keymaster dependency and add functions for validation user provided Keybindings