Go to file
Maddison Hellstrom 5d3e12a614 feat: add bindings and satisfy eslint
- add several bindings
- add wiktionary keys as alias of wikipedia
2019-03-07 15:10:15 -08:00
.github Clean up ISSUE_TEMPLATE 2018-08-06 18:26:30 -07:00
assets/screenshots docs: fix Domainr screenshot 2018-11-03 20:39:09 -07:00
lambda docs: use prettier shields.io badge style 2018-11-27 16:38:53 -08:00
.babelrc fix(gulp): upgrade to Gulp 4 2019-03-07 14:13:49 -08:00
.browserlistrc fix(gulp): upgrade to Gulp 4 2019-03-07 14:13:49 -08:00
.editorconfig Add yml to .editorconfig 2018-08-06 18:21:09 -07:00
.eslintrc.js tools(eslint): disable no-restricted-syntax rule 2018-11-19 16:59:58 -08:00
.gitignore tweak: gitignore worktree dir 2019-03-07 12:58:28 -08:00
README.md feat: add bindings and satisfy eslint 2019-03-07 15:10:15 -08:00
README.tmpl.md docs: use prettier shields.io badge style 2018-11-27 16:38:53 -08:00
actions.js feat: add bindings and satisfy eslint 2019-03-07 15:10:15 -08:00
completions.js feat: add alternativeTo & wiktionary completions 2019-03-07 15:05:51 -08:00
conf.js style: cleanup indentation 2019-03-07 14:57:36 -08:00
conf.priv.example.js feat: add bindings and satisfy eslint 2019-03-07 15:10:15 -08:00
gulpfile.js fix(gulp): upgrade to Gulp 4 2019-03-07 14:13:49 -08:00
help.js refactor: add lots of stuff 2018-11-02 17:22:41 -07:00
hints.js refactor: improve documentation generation 2018-11-09 17:47:39 -08:00
keys.js feat: add bindings and satisfy eslint 2019-03-07 15:10:15 -08:00
package.json fix(gulp): upgrade to Gulp 4 2019-03-07 14:13:49 -08:00
util.js style: adjust style to satisfy eslint 2019-03-07 14:59:15 -08:00
yarn.lock fix(gulp): upgrade to Gulp 4 2019-03-07 14:13:49 -08:00

README.md

Commitizen friendly Liberapay contributions

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 47 sites (and growing)!

Table of Contents

  1. Site-Specific Key Mappings
  2. Bundled Search Engine Completions
  3. Installation Instructions
  4. Screenshots
  5. Todo
  6. License

Features

Site-Specific Key Mappings

195 key mappings for 17 unique sites have been included which can help you perform some common actions:

global
MappingDescription
wScroll up
sScroll down
giEdit current URL with vim editor
giEdit current URL with vim editor
gIView image in new tab
ypCopy URL path of current page
yICopy Image URL
;seEdit Settings
gSOpen Chrome settings
=wLookup whois information for domain
=dLookup dns information for domain
=DLookup all information for domain
=cShow Google's cached version of page
=aShow Archive.org Wayback Machine for page
;pdToggle PDF viewer from SurfingKeys
amazon.com
MappingDescription
<Space>fsFakespot
behance.net
MappingDescription
<Space>sAppreciate project
<Space>bAdd project to collection
<Space>aView project
<Space>AView project (new tab)
dribbble.com
MappingDescription
<Space>sHeart Shot
<Space>aView shot
<Space>AView shot (new tab)
<Space>vView attachment image
<Space>VYank attachment image source URL
<Space>zZoom shot
fonts.adobe.com
MappingDescription
<Space>aActivate font
<Space>sFavorite font
github.com
MappingDescription
<Space>aView Repository
<Space>uView User
<Space>fView File
<Space>iView Issue
<Space>pView Pull Request
gpGo to parent
<Space>sToggle Star
<Space>SCheck Star
<Space>yCopy Project Path
<Space>YCopy Project Path (including domain)
<Space>lToggle repo language stats
<Space>DView GoDoc for Project
gitlab.com
MappingDescription
<Space>sToggle Star
<Space>yCopy Project Path
<Space>YCopy Project Path (including domain)
<Space>DView GoDoc for Project
google.com
MappingDescription
<Space>aOpen search result
<Space>AOpen search result (new tab)
news.ycombinator.com
MappingDescription
<Space>xCollapse comment
<Space>XCollapse next comment
<Space>sUpvote
<Space>SDownvote
<Space>aView post (link)
<Space>AView post (link) (new tab)
<Space>cView post (comments)
<Space>CView post (comments) (new tab)
gpGo to parent
]]Next page
[[Prev page
producthunt.com
MappingDescription
<Space>aView product (external)
<Space>vView product
<Space>sUpvote product
reddit.com
MappingDescription
<Space>xCollapse comment
<Space>XCollapse next comment
<Space>sUpvote
<Space>SDownvote
<Space>eExpand expando
<Space>aView post (link)
<Space>AView post (link) (new tab)
<Space>cView post (comments)
<Space>CView post (comments) (new tab)
twitter.com
MappingDescription
<Space>fFollow user
<Space>sLike tweet
<Space>RRetweet
<Space>cComment/Reply
<Space>tNew tweet
<Space>TTweet to
<Space>rLoad new tweets
<Space>gGoto user
vimeo.com
MappingDescription
<Space>FToggle fullscreen
wikipedia.org
MappingDescription
<Space>sToggle simple version of current article
<Space>aView page
wiktionary.org
MappingDescription
<Space>sToggle simple version of current article
<Space>aView page
yelp.com
MappingDescription
<Space>fsFakespot
youtube.com
MappingDescription
AOpen video
COpen channel
gHGoto homepage
FToggle fullscreen
<Space>Play/pause

Bundled Search Engine Completions

There are currently 47 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
as aws google.com
at alternativeTo alternativeto.net
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
wt wiktionary en.wiktionary.org
yp yelp www.yelp.com
yt youtube www.youtube.com 🖼️

Installation

Dependencies

Building surfingkeys-conf requires a few dependencies to be installed:

  • Surfingkeys ^0.9.40
  • git
  • node
  • gulp

Building & Installing

  1. Clone this repository

    $ git clone http://github.com/b0o/surfingkeys-conf
    $ cd surfingkeys-conf
    
  2. Install the NodeJS build dependencies

    $ npm install
    
  3. (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
    
  4. 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!

  5. Load your configuration into the SurfingKeys Extension

    Option A (recommended): Configure SurfingKeys to automatically load configuration file from disk
    • I. Visit chrome://extensions/ and enable Allow 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)
    • 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 ran gulp 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

crunchbase-people screenshot

define

define screenshot

dockerhub

dockerhub screenshot

domainr

domainr screenshot

github

github screenshot

hackernews

hackernews screenshot

hoogle

hoogle screenshot

mdn

mdn screenshot

npm

npm screenshot

thesaurus

thesaurus screenshot

wolframalpha

wolframalpha screenshot

wolframalpha 2

wolframalpha screenshot

youtube

youtube screenshot

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