Introducing Instapaper Beyond, an Instapaper userscript for Fluid that provides full keyboard navigation and some special features for browsing your Instapaper articles. If you’re not familiar, Fluid is a Mac (only) application which creates a Single Site Browser (SSB) for a site, using the same Webkit engine as Safari. It essentially allows you to turn web applications and sites into Mac apps. It’s pure Cocoa, so all of your Services and fun text tricks (like Control-T transposition) work on it. Oh, and it includes userstyle and userscript engines, similar to Greasemonkey, which allows nerds like me to do some crazy things. Fluid (WebKit) is the only browser I’ve developed this for, so I doubt Greasemonkey (Firefox) users will have much luck with it.

Screenshot of a highlighted entry

Know what you’re doing and want to skip straight to the script? OK.

The script started as an expansion of a cool userscript called Instapaper Article Tools, which provides a floating menu with some options while in the text view of an article. For the most part, that script isn’t even visible in the final version, unless you manually click into an article. You don’t need to do that, though, because the whole point of the script is to provide keyboard navigation for Instapaper. Articles are loaded via Ajax and you can go from article to article in full-screen text view, starring/unstarring, moving and archiving on the fly. A full list of commands available at any time can be seen by pressing “h”, but here’s a quick overview:

Image of the Instapaper Beyond Help HUD

  • “h” will bring up a help screen with the available shortcuts on it
  • “g” opens a list of folders you can jump to
  • navigation is fairly intuitive if you use Google Reader or other Google apps, in that j is forward, k is backwards, o is open, u returns to unread articles.
  • Escape and Enter function as expected (at least to me), closing open dialogs, returning to posts, etc.
  • In list view, lowercase letters jump to sections (a:Archive, s:Starred, u:unread) and capital letters perform functions (A:Archive, S:Toggle Star).
  • The delete key deletes the current article in list and text views
  • see the help (h) for more!

Additionally, Instapaper Beyond adds target=_blank to external links (original articles) so that you can open them in tabs or new windows (depending on your tabbed browsing settings). “U” will check for updates to the script and offer you a link to any updated version for easy installation. There’s wraparound navigation of lists, so using any “next” command at the end of a list will take you to the top, and vice versa. I also built myself an easy-to-expand, contextual help system so adding new commands is a snap, and having them show up in the appropriate help menus is automatic. You don’t care so much about that, but hey, it’s cool.

No guarantee is offered that this script will function well with your userstyle of choice, although several have been tested with good results.

Installation

  1. First, create your Fluid SSB and set http://www.instapaper.com/u as your home page. Download Fluid here, if needed, then run it to create the SSB. Here’s a handy icon you can use, too!
  2. Have new windows open with your Home Page under General Settings in Preferences
  3. Under Advanced Settings in Preferences, set your SSB to browse to any url (image)
  4. Enable Tabbed Browsing under the Tabs Preferences (image)
  5. Install the Instapaper Beyond Userscript: Point your Fluid SSB at http://brettterpstra.com/userscripts/instapaperbeyond.user.js. Fluid should automatically recognize it as a userscript and offer to install it for you. If you have any trouble, you can open the link above, copy the entire script and use “New Userscript” under the SSB’s Script menu (looks like a scroll). Name it “Instapaper Beyond” and paste the copied script into the window.
  6. For best results, turn off Auto Archiving in Instapaper by unchecking the box at the bottom of a post list page (image)

The script is under development, but is stable at this point. Please let me know how it works for you and what you’d like to see! I’m thinking that I’ll eventually use Fluidium to make this into a full-blown app with auto-updates, so keep your eyes peeled for that. Remember, “h” for help, “U” to check for new versions! If you need a script to quickly populate your Instapaper account, be sure to check out the “Safari to Instapaper” script I posted earlier.