Thursday 14 October 2010

My First Chrome Extension - "Post To Tumblr"



Mummy wow! Im a big boy now! I have just published my first Chrome extension.

It was really annoying me that when I found a funny cat or some other silly image I would have to go through a whole ball-ache process to get that image on my Tumblr account.

What I really wanted was some right-click-post action going on and wondered why no one had one it yet. So with an hour or so to spare I whipped this extension up really quick.

It uses the Chrome 6 Context Menu API so you obviously need to have Chrome 6 to be able to use it.

Currently it only posts images as that's all I needed for now but if enough people want more then ill whip out the other data types.

The source couldn't be any simpler really, infact this is it here:

[codesyntax lang="javascript" lines="normal" blockstate="expanded"]
chrome.contextMenus.create({"title": "Post Image To Tumblr", "contexts":["image"], "onclick": postImage});

function postImage(info, tab)
{
var email = localStorage["tumblr_email"];
var password = localStorage["tumblr_pass"];

if(!email || email=="" || !password || password=="")
{
alert("Need to set your Tumblr username and password in the options before posting!");
}
else
{
var o =
{
"email":email,
"password":password,
"type":"photo",
"source":info.srcUrl
};

var success = function(data,textStatus,request)
{
if(textStatus=="success"){ alert("Image posted to Tumblr. Image -> "+info.srcUrl); }
else { alert("Bad email or password"); }
}

$.post("http://www.tumblr.com/api/write",o, success);
}
}

[/codesyntax]

Simples!

Theres even an option page where you put in your Tumblr details:



Oh, there is one issue.

No matter what I tried I couldn't manage to get the Tumblr API to return an error. So if you enter your username or password incorrectly it still reports success, not entirely sure why, if someone knows I would love to hear why!

Interested? You can go grab it over on the chrome extensions gallery page -> HERE

11 comments:

  1. Is there anyway you can make this so it posts to the queue instead?

    ReplyDelete
  2. Im sure it should be possible ill take a look at it laters for you :)

    EDIT: It IS possible, ill do it and upload a new version laters :)

    ReplyDelete
  3. Just to let you know mate I have now made it so you can publish to your queue :) https://chrome.google.com/extensions/detail/dbpic...

    ReplyDelete
  4. [...] Like Mike Cann, the developer of this extension. Check this extension out, and say thanks to Mike if you liked it !! If you really push him, he will develop it further to include more features. Hello there! If you are new here, you might want to subscribe to the RSS feed for updates on this topic.Powered by WP Greet Box WordPress Plugin [...]

    ReplyDelete
  5. hi thanks for the great app
    how do i post to different blogs on the same account?

    ReplyDelete
  6. thank you thank you thank you thank you thank you

    ReplyDelete
  7. This is the best Tumblr posting add on there is ^.^

    ReplyDelete
  8. Thanks! Glad you like it:)

    ReplyDelete
  9. it says "There arent any options! If you would like to see something implemented then
    buy me a beer and tell me all about it:" but i want to put my account info so it can post. what should i do

    ReplyDelete