28 KiB
Maddy's SurfingKeys Configuration
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 as OmniBar support for auto-completing searches within 46 sites (and growing)!
Table of Contents
- Site-Specific Key Mappings
- Bundled Search Engine Completions
- Installation Instructions
- Screenshots
- Todo
- License
Features
Site-Specific Key Mappings
202 key mappings for 17 unique sites have been included which can help you perform some common actions:
global | |
---|---|
Mapping | Description |
F | Open a link in non-active new tab |
w | Scroll up |
s | Scroll down |
gi | Edit current URL with vim editor |
gi | Edit current URL with vim editor |
gI | View image in new tab |
yp | Copy URL path of current page |
yI | Copy Image URL |
;se | Edit Settings |
gS | Open Chrome settings |
=w | Lookup whois information for domain |
=d | Lookup dns information for domain |
=D | Lookup all information for domain |
=c | Show Google's cached version of page |
=a | Show Archive.org Wayback Machine for page |
;pd | Toggle PDF viewer from SurfingKeys |
amazon.com | |
Mapping | Description |
<Space>fs | Fakespot |
<Space>a | View product |
behance.net | |
Mapping | Description |
<Space>s | Appreciate project |
<Space>b | Add project to collection |
<Space>a | View project |
<Space>A | View project (new tab) |
dribbble.com | |
Mapping | Description |
<Space>s | Heart Shot |
<Space>a | View shot |
<Space>A | View shot (new tab) |
<Space>v | View attachment image |
<Space>V | Yank attachment image source URL |
<Space>z | Zoom shot |
en.wiktionary.org | |
Mapping | Description |
<Space>s | Toggle simple version of current article |
<Space>a | View page |
fonts.adobe.com | |
Mapping | Description |
<Space>a | Activate font |
<Space>s | Favorite font |
github.com | |
Mapping | Description |
<Space>a | View Repository |
<Space>u | View User |
<Space>f | View File |
<Space>i | View Issue |
<Space>p | View Pull Request |
gp | Go to parent |
<Space>s | Toggle Star |
<Space>S | Check Star |
<Space>y | Copy Project Path |
<Space>Y | Copy Project Path (including domain) |
<Space>l | Toggle repo language stats |
<Space>D | View GoDoc for Project |
gitlab.com | |
Mapping | Description |
<Space>s | Toggle Star |
<Space>y | Copy Project Path |
<Space>Y | Copy Project Path (including domain) |
<Space>D | View GoDoc for Project |
news.ycombinator.com | |
Mapping | Description |
<Space>x | Collapse comment |
<Space>X | Collapse next comment |
<Space>s | Upvote |
<Space>S | Downvote |
<Space>a | View post (link) |
<Space>A | View post (link and comments) |
<Space>c | View post (comments) |
<Space>C | View post (comments) (new tab) |
gp | Go to parent |
]] | Next page |
[[ | Prev page |
producthunt.com | |
Mapping | Description |
<Space>a | View product (external) |
<Space>v | View product |
<Space>s | Upvote product |
reddit.com | |
Mapping | Description |
<Space>x | Collapse comment |
<Space>X | Collapse next comment |
<Space>s | Upvote |
<Space>S | Downvote |
<Space>e | Expand expando |
<Space>a | View post (link) |
<Space>A | View post (link) (new tab) |
<Space>c | View post (comments) |
<Space>C | View post (comments) (new tab) |
twitter.com | |
Mapping | Description |
<Space>f | Follow user |
<Space>s | Like tweet |
<Space>R | Retweet |
<Space>c | Comment/Reply |
<Space>t | New tweet |
<Space>T | Tweet to |
<Space>r | Load new tweets |
<Space>g | Goto user |
vimeo.com | |
Mapping | Description |
<Space>F | Toggle fullscreen |
wikipedia.org | |
Mapping | Description |
<Space>s | Toggle simple version of current article |
<Space>a | View page |
www.google.com | |
Mapping | Description |
<Space>a | Open search result |
<Space>A | Open search result (new tab) |
yelp.com | |
Mapping | Description |
<Space>fs | Fakespot |
youtube.com | |
Mapping | Description |
A | Open video |
C | Open channel |
gH | Goto homepage |
F | Toggle fullscreen |
<Space> | Play/pause |
Bundled Search Engine Completions
There are currently 46 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.
Installation
Dependencies
Building surfingkeys-conf
requires a few dependencies to be installed:
- Surfingkeys
^0.9.40
- git
- node
- gulp
Building & Installing
-
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.
-
Screenshots
crunchbase-people
define
dockerhub
domainr
github
hackernews
hoogle
mdn
npm
thesaurus
wolframalpha
wolframalpha 2
youtube
Todo
- 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
License
©2017-2018 Maddison Hellstrom - MIT License