git clone 'git://github.com/gcr/tumblesocks.git'

tumblesocks-mode - Tumblr Support for Emacs


Tumblesocks is an Emacs tumblr client. With it, you can write posts, check your dashboard, and view blogs and notes.

Viewing blogs

The main entry point is tumblesocks-view-dashboard, which will open up a list of posts from your dashboard.

Use these keys to jump around:

Visiting each post: * l: Like the post underneath the cursor. Use C-u l to unlike it. * f: Follow whichever blog wrote the post underneath the cursor. Use C-u f to unfollow the blog. * o: Open the post underneath the cursor in your web browser. * y: Yank the URL of the post underneath the cursor to the kill ring/clipboard.

Switching views: * s: Search for posts with a certain tag. * b: Visit Blog: Show a list of posts from a certain blog. * Enter: Open the post underneath the cursor in a new page, showing its notes. * g: Refresh the current view (download new posts)

Managing your posts: * r: Reblog the post under the cursor. This function will prompt you for extra comments to add. * c: Compose new post. Once you are finished writing your post, use C-c C-c to submit it. Markdown syntax is supported. * d: Delete the post under the cursor. (This only works if you made that post.) * e: Edit the post under the cursor. (This only works if you made that post.)


If you have Emacs 24, you can install Tumblesocks from Marmalade the easy way by inserting the following into your emacs.d:

(setq package-archives
  '(("gnu" . "http://elpa.gnu.org/packages/")
    ("marmalade" . "http://marmalade-repo.org/packages/")))

Then, run M-x package-install tumblesocks, kick back, and skip to the next section.

If you instead want to add Tumblesocks to your Emacs manually, you must have these dependencies:

Add all of that to your load-path, and make sure (require 'tumblesocks) doesn't complain.

If you're on Windows, you may need extra libraries; see this ticket for details. In short:

If you're on Linux, you shouldn't have these problems.

How to connect Tumblesocks to your tumblr account

The first time you use Tumblesocks, you mist connect Emacs to your tumblr account. This process is a bit convoluted, but you only have to do it once.

First, add the following to your .emacs:

(require 'tumblesocks)
(setq tumblesocks-blog "YourBlogName.tumblr.com")

Apply the changes, either by running M-x eval-buffer or by restarting Emacs.

Then, run M-x tumblesocks-api-test-auth to connect Emacs to your Tumblr account.

Tumblr will open a webpage asking for access. Once you click Accept, you will receive a very long code. Copy+paste that back into your Emacs prompt (you can also use middle-click to do this).

If everything goes right, you will see a message like this in your minibuffer:

Hello, sneakygcr! Tumblesocks is working properly.


If anything goes wrong (typically “401 Not Authorized” errors), you can ask Tumblesocks to forget your key by issuing M-x tumblesocks-api-forget-authentication. Then use M-x tumblesocks-api-test-auth again to reconnect your Emacs to your Tumblr account.

If it won't authorize in the first place and just says “Looks like something broke.” it might be the OAuth package wasn't configured. Try to see if the variable oauth-nonce-function is set, if not add (setq oauth-nonce-function 'oauth-internal-make-nonce) to your .emacs.

Other “advanced” commands

If you have gumption, try these out: