Home Link

Hello, my name is Brett Terpstra, and it’s nice to meet you. Elegant solutions to complex problems. Curious?

Instapaper Beyond Header

Instapaper Beyond for Fluid.app

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

Keyboard navigation highlight

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

Help HUD (h)

  • "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.

11 Responses to “Instapaper Beyond for Fluid.app”

  1. […] Instapaper Beyond [via Download Squad] Tagged:keyboard shortcutsmacreadingtextwebapps […]

  2. […] Beyond is a free download, works with Fluid for Mac OS X only. Instapaper Beyond [via Download […]

  3. Cool script, Brett. Glad to see Instapaper Article Tools is inspiring other work.

    Do you think eventually InstapaperBeyond will integrate better with other userscripts/styles? Aside from Article Tools, I prefer to restyle instapaper using instapaper greystyled ( http://​is​.gd/​b​j​tUe ). Black text on white is not my favorite.

    • Brett says:

      I plan to do what I can. Some of the absolute positioning required for the Ajax portions is what screws it up. Watch for updates, though…

  4. Andy Crouch says:

    This is very cool—great work. However, it seems to break the article styling tools (that appear when you click the Aa button in single-article view). Clicking those links does nothing when Instapaper Beyond is active. They work fine if Instapaper Beyond is disabled, but changes made do not persist when it is re-enabled. Am I missing something? Fluid 0.9.6.

    • Brett says:

      No, you’re not missing anything. Because of the way that Instapaper Beyond loads the articles without reloading the page, it overrides some of the features like text styling. I’m looking into ways to avoid that right now, and will try to have it fixed in upcoming versions.

    • Brett says:

      Quick update: I fixed this in the latest version that I just uploaded (1.3). In your Instapaper SSB, just type “U” (shift-U) to get the update. All of the text controls should be working now, and it should remember your styling between articles and between sessions.

      I’ll post more details on the blog shortly.

  5. Nick Parker says:

    Any thoughts to making this work on Google Chrome?

    • Brett says:

      I haven’t looked at what that would take yet, but I imagine it would be fairly simple. I’ll take a look as soon as it’s at a point where I consider it feature-complete and stable in Safari.

  6. […] stop with this one in simply creating the app I also installed a user script called Instapaper Beyond. It’s a script for Fluid created by Brett Terpstra which adds keyboard navigation […]

  7. Awesome, ok if i link back to you?

Leave a Reply

Comments may use standard Markdown formatting

Entries (RSS) and Comments (RSS), or Subscribe by Email