This is my personal configuration for the wonderful SurfingKeys browser extension.
Its primary features include keybindings for performing common actions on many popular sites, as well OmniBar support for auto-completing searches within 44 sites (and growing)!
- Site-Specific Key Mappings
- Bundled Search Engine Completions
- Installation Instructions
- Screenshots
- Todo
- License
Key mappings have been included which can help you perform some common actions on many popular sites.
Some examples of these mappings are:
- Star the current GitHub/GitLab repository:
<site-leader>s
- Follow a user on Twitter:
<site-leader>f
- Upvote a post/comment on Reddit/HackerNews
<site-leader>s
- Analyze the current Amazon Product using Fakespot
<site-leader>fs
The mappings are activated by typing the <site-leader>
(<space>
by default),
followed by the key sequence.
See conf.js for all of the mappings.
There are currently 44 Search Engine auto-completions.
You can access a Search Engine auto-completion by pressing the search leader key, which is a
by default, followed by the search engine alias.
For example, to open the Wikipedia completion, you would type awp
while in normal mode.
Alias | Name | Domain | Screenshots |
---|---|---|---|
af |
archforums |
Google Custom Search |
|
al |
archlinux |
www.archlinux.org |
|
au |
AUR |
aur.archlinux.org |
|
aw |
archwiki |
wiki.archlinux.org |
|
az |
amazon |
smile.amazon.com |
|
cl |
craigslist |
craigslist.org |
|
co |
crunchbase-orgs |
www.crunchbase.com |
|
cp |
crunchbase-people |
www.crunchbase.com |
🖼️ |
cs |
chromestore |
chrome.google.com |
|
de |
define |
onelook.com |
🖼️ |
dg |
duckduckgo |
duckduckgo.com |
|
dh |
dockerhub |
hub.docker.com |
🖼️ |
do |
domainr |
domainr.com |
🖼️ |
eb |
ebay |
www.ebay.com |
|
ex |
exdocs |
hex.pm |
|
gd |
godoc |
godoc.org |
|
gg |
golang |
Google Custom Search |
|
gh |
github |
github.com |
🖼️ |
gi |
google-images |
www.google.com |
|
gl |
google-lucky |
www.google.com |
|
go |
google |
www.google.com |
|
gs |
go-search |
go-search.org |
|
gw |
gowalker |
gowalker.org |
|
ha |
hackage |
hackage.haskell.org |
|
hd |
hexdocs |
hex.pm |
|
hn |
hackernews |
hn.algolia.com |
🖼️ |
ho |
hoogle |
www.haskell.org |
🖼️ |
hw |
haskellwiki |
wiki.haskell.org |
|
hx |
hex |
hex.pm |
|
hy |
hayoo |
hayoo.fh-wedel.de |
|
jq |
jquery |
Google Custom Search |
|
md |
mdn |
developer.mozilla.org |
🖼️ |
no |
node |
Google Custom Search |
|
np |
npm |
www.npmjs.com |
🖼️ |
ow |
owasp |
www.owasp.org |
|
re |
reddit |
www.reddit.com |
|
so |
stackoverflow |
stackoverflow.com |
|
th |
thesaurus |
www.onelook.com |
🖼️ |
vw |
vimwikia |
vim.wikia.com |
|
wa |
wolframalpha |
www.wolframalpha.com |
🖼️ 🖼️ |
wp |
wikipedia |
en.wikipedia.org |
|
ws |
wikipedia-simple |
simple.wikipedia.org |
|
yp |
yelp |
www.yelp.com |
|
yt |
youtube |
www.youtube.com |
🖼️ |
Building surfingkeys-conf
requires a few dependencies to be installed:
git
node
gulp
-
Clone this repository
$ git clone http://github.com/b0o/surfingkeys-conf $ cd surfingkeys-conf
-
Install the NodeJS build dependencies
$ npm install
-
(Optional) Private API Key Configuration
Some Search Engine Auto-Completions require private API keys for access. These keys are defined in
conf.priv.js
, which is not itself included in this repository. An example configuration containing instructions on how to generate each API key can be found in conf.priv.example.js.Copy the example private configuration:
$ cp ./conf.priv.example.js ./conf.priv.js
Open
./conf.priv.js
in your favorite editor and follow the instructions inside:$ vim ./conf.priv.js
-
Gulp Build/Install
$ gulp install # OR "gulp build" to build to ./build/.surfingkeys without installing
This will build the final configuration file and place it at
~/.surfingkeys
. If you already have a file in that location, make sure you back it up first! -
Load your configuration into the SurfingKeys Extension
Option A (recommended): Configure SurfingKeys to automatically load configuration file from disk
-
I. Visit
chrome://extensions/
and enableAllow access to file URLs
for the Surfingkeys extension -
II. Open the SurfingKeys configuration page
-
III. Set the
Load settings from
option to point to the configuration file.Note: you must specify the full, absolute path; environment variables like
$HOME
or the tilde~
won't work:- Linux:
file:///home/{USERNAME}/.surfingkeys
(replace{USERNAME}
with your username) - macOS:
file:///Users/{USERNAME}/.surfingkeys
(replace{USERNAME}
with your username) - Windows:
file://%Homedrive%%Homepath%/.surfingkeys
(This is a guess, please correct me if I'm wrong)
- Linux:
-
IV. Hack Away! If you ever make a change to any of your configuration files in the future, simply run
gulp install
again and your new configuration will automatically be loaded by SurfingKeys.
Option B: Manually copy/paste into the SurfingKeys configuration form
-
I. Copy the contents of
./build/.surfingkeys
(or$HOME/.surfingkeys
if you rangulp install
) -
II. Open the SurfingKeys configuration page
-
III. Paste into the text box, then press
save
-
IV. Repeat steps 4 & 5 after any changes you make to any of your configuration files.
-
- Add
CHANGELOG.md
using conventional-changelog - Improve code organization
- Ensure screenshots have a plain white background
- Add additional screenshots
- Simplify installation process
- Feed the kittens
©2017-2018 Maddison Hellstrom - MIT License