Web Search Navigator

Web extension that adds keyboard shortcuts to Google, YouTube, Github, Amazon, and others (Chrome/Firefox/Edge/Safari)
Alternatives To Web Search Navigator
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Tensorflow Tutorials8,644
2 years ago2mitJupyter Notebook
TensorFlow Tutorials with YouTube Videos
Go Web Foundation2,584
2 years ago1Go
《Go Web 基础》是一套针对 Google 出品的 Go 语言的视频语音教程,主要面向完成《Go 编程基础》教程后希望进一步了解有关 Go Web 开发的学习者。
Zmirror2,066
4 years ago38mitPython
The next-gen reverse proxy for full site mirroring
Youtube Upload1,728
a year ago87Python
Upload videos to Youtube from the command line
Privacy Redirect1,604
a month ago196gpl-3.0JavaScript
A simple web extension that redirects Twitter, YouTube, Instagram & Google Maps requests to privacy friendly alternatives.
System Design1,266
18 days agogpl-3.0
It's fascinating. How is modern software designed? 🤔 Some design-level considerations for scalability, maintainability eventual consistency, availability & reliability. 👨‍💻 Interview Prep. 👨‍💻
3 Weeks Google Prep905
7 months ago1C++
Here's how to use it:
Youtubeux845
2 years ago1apache-2.0Kotlin
With MVVM Architecture pattern using Android Architecture Components This is a sample app demonstrating Youtube player animation using constraint layout
Siteproxy754
9 months ago30mitJavaScript
reverse proxy, 反向代理,免翻墙访问Youtube/twitter/Google, 支持telegram web登录。请勿将本项目用于非法用途,否则后果自负。
Web Search Navigator750
2 days ago26mitJavaScript
Web extension that adds keyboard shortcuts to Google, YouTube, Github, Amazon, and others (Chrome/Firefox/Edge/Safari)
Alternatives To Web Search Navigator
Select To Compare


Alternative Project Comparisons
Readme

Logo Web Search Navigator

CodeFactor CodeQL Linters

Browser extension that adds configurable keyboard shortcuts to Google search, YouTube, Startpage, Brave Search, Google Scholar, Github, and Amazon.

Demo flow

Table of contents

Features

  • Lightweight
  • Supports Chrome, Firefox, and Edge
  • Extensive Google keyboard shortcuts including:
    • Selecting results
    • Opening results in the background or foreground
    • Navigating to other sections (maps/news/videos/etc)
    • Navigating to the next/previous result page
    • Changing time restrictions
  • Support for navigating cards such as Top Stories, Twitter, and videos
  • All keyboard shortcuts can be changed
  • Settings are synched between devices with the same browser profile
  • Supports both key combos and key sequences
  • Custom CSS rules to control the look of highlighted results
  • Experimental and optional support for YouTube, Startpage, Brave Search, Google Scholar, Github, and Amazon (needs to be enabled in the options). Note that the extension does not have permissions for these optional websites unless you explicitly enable them.

Installation

Chrome

Install from the Chrome Web Store.

See below for downloading a release and installing it manually (not recommended since you won't get updates automatically).

Installing from a release

  1. Download the latest release from https://github.com/infokiller/web-search-navigator/releases
  2. Extract the zip file to any directory you'd like, though you need to make sure the directory is not deleted while you want to use the extension
  3. Go to extensions page in Chrome (URL: chrome://extensions)
  4. Enable developer mode if needed
  5. Disable other existing instances of Web Search Navigator (from the store or from loading another unpacked version)
  6. Click "Load Unpacked" and select the directory you extracted the release zip into

Firefox

Install from the Add-ons for Firefox.

Edge

Install from Microsoft Edge Add-ons.

Safari (experimental)

NOTE: Safari is supported on a best-effort basis and isn't packaged yet.

Follow these steps.

Keybindings

NOTE:

  • Shortcuts for navigation to tabs (images, news, etc.) only work when the tab is visible.
  • All shortcuts can be customized to your liking via options
Shortcuts Action
/j Select next search result
/k Select previous search 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
z + h Filter results by past hour
z + d Filter results by past 24 hours (day)
z + w Filter results by past week
z + m Filter results by past month
z + y Filter results by past year
z + z Turn off filter (show all results)
z + s Toggle sort by date/relevance (only when filtering)

Development

Coding style

To check the code for linting and formatting errors, run yarn run check. We use a Javascript coding style based on Google's. We use the following tools to lint the code enforce a consistent style:

  • Javascript: eslint for both linting and formatting
  • CSS: Stylelint for linting and Prettier for formatting
  • Markdown: Markdownlint for linting and Prettier for formatting
  • Bash: Shellcheck for linting and shfmt for formatting. shfmt doesn't run in yarn run check because it can't be installed using yarn install.

Please try to write your code in a similar style, and run yarn run check before sending a pull request.

Commit messages

Starting from 2020-07-19, this project uses Conventional Commits. Please write all you commit messages in this style.

Building for development

We use yarn package manager for dependency management and gulp for building. To build the extension for development run:

yarn install && yarn build

The extension will be deployed directly to the src directory.

The easiest way to run the built extension is to use web-ext which will run a separate it in a separate browser profile and reload it automatically on changes to the source files. From the project root directory:

# Replace '--target chromium' with "--target firefox-desktop" for Firefox.
yarn run web-ext run --source-dir src --target chromium \
  --start-url 'https://www.google.com/search?q=whatever'

Alternatively, 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 Chrome's 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.

Building a release

To build a bundle consumable by the browser with minified dependencies:

# Replace make-chrome.sh with make-firefox.sh for Firefox
yarn install && yarn build --env production && ./tools/make-chrome.sh

Then, upload the bundle to the browser store from ./build/chrome/package.zip/./build/firefox/package.zip.

Adding a new search engine

See a reference commit with minimal changes for amazon.com. Specific steps:

  • Add the required URLs to the optional_permissions key in src/manifest.json
  • Add a checkbox for enabling it to src/options_page.html (copy an existing one and modify it)
  • Add code to src/options_page.js for handling the permission request
  • Add a new class to src/search_engines.js with the required properties. See the documentation at the top of the file and use the other search engines classes in that file as a reference.
  • Add a class instance to searchEngines.

Troubleshooting

Before reporting a bug, please check and answer the following:

  • Does it happen when you disable other extensions?
  • Does it happen only in Chrome, only in Firefox, or both?

In addition, please try to reproduce the bug in a clean browser profile with no other extensions. The easiest way to do it is to clone the repo and use web-ext:

git clone https://github.com/infokiller/web-search-navigator
cd web-search-navigator
yarn install && yarn build
# Replace chromium with firefox-desktop for firefox
yarn run web-ext run --source-dir src --target chromium

This will open a clean browser instance with no other extensions. Note that this browser instance will have the default extension options (including permissions for alternative search engines), so you may need to modify the option.

Privacy policy

See PRIVACY_POLICY.md.

Trademarks notice

This project is not affiliated with Google LLC.

©2022 Google LLC All rights reserved. Google™ search is a trademark of Google LLC.

Popular Youtube Projects
Popular Google Projects
Popular Social Media Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Javascript
Google
Search
Vim
Youtube
Tabs
Chrome Extension
Firefox Extension
Keybindings
Keyboard Shortcuts
Edge Extension
Keyboard Navigation