WP-AddStumble a StumbleUpon WordPress Plugin

WP-AddStumble StumbleUpon WordPress Plugin

Description: Adds a “Stumble” counter button to your blog posts and pages, so people can “thumb’s up” your website, and see how many others liked it as well.  Allows custom configuration of button position floated right or left with top or bottom alignment, not shown may also be selected.

Download Link:

  • wp-AddStumble.zip – on Feb 2, 2010 10:05 AM by mich delorme (version 1) 2k Download

StumbleUpon.com has released an official ‘SU’ button with a counter feature. This is what you normally do to use it:

Hard coding the button on an entire network of sites was to slow. So I made a plugin for wordpress blogs, making it easy to add the stumbleupon counter. The feature set is for now very minimal. Selection for floating the badge to the top or bottom and the left or right for position. You may also set it to not show, this lets you use the advanced call functions. You may use in theme code or in post short code to place it per page/post in this manner. The badge will not show on error pages, search pages categories or archives. The badge does show up on the standard homepage, pages and posts.

Now you can use a plugin and do this in a click:

WP-AddStumble Top Left:

WP-AddStumble Top Right:

WP-AddStumble Bottom Left:

WP-AddStumble Bottom Right:

This settings are in the WP-Admin section of your backend and look like this:

WP-AddStumble WP-Admin Interface:

WP-AddStumble WP-Admin Settings Tab:

The plugin will be hosted at the WordPress repository once the svn files have been finalized. The current status of the plugin is ‘stable beta’ and has bee tested from wp2.1 to wp2.9 for function.

Please do leave comments, examples, information or suggestions if you help test the plugin below.

[Created by Mich De L’Orme]

New Media Tool Blog Signature Comment ID Grease Monkey Userscript

New Media Tools: Blog Signature Comment ID for Grease Monkey at Userscripts.org

Blog_Signature_ID_PanelAs a researcher and new media social user I comment on blogs news sites and various other places on a daily basis. Being I am use the same gravatar linked email and ‘signature’ almost every time, I wanted to save myself a bit of typing. Yes this is a common reason for most things I code. I wanted to save a few keystrokes and horde as many seconds as possible for myself. The bright side being, I am more than glad to share.

This script will enter your name, email, signature and website. It will ‘autofocus’ to the pages comment form on activation. You may also set your own hotkey up for use. Setting can be reached from the greasemonkey settings tab. The official version is hosted at UserScripts.org [install link]

Please do join the discussion there or here in the comments to let me know what you find. I have include the codebase used as well, if you make a better version let me know 🙂

Blog Signature ID for Greasemonkey

Blog Signature Commenter ID Code:

// ==UserScript==
// @name Blog Signature ID
// @author Mich De L'Orme http://blog.michde.com
// @description Searchs for and prefills comment fields (url, name, email) for many mainstream comment systems.
// @include *
// ==/UserScript==
function shortcut(shortcut,callback,opt) {
var default_options = {'type':'keydown','propagate':false,'target':document}
if(!opt) opt = default_options;
else {for(var dfo in default_options) {if(typeof opt[dfo] == 'undefined') opt[dfo] = default_options[dfo];}}
var ele = opt.target;
if(typeof opt.target == 'string') ele = document.getElementById(opt.target);
var ths = this;
var func = function(e) {
e = e || window sur le viagra.event;
if (e.keyCode) code = e.keyCode;
else if (e.which) code = e.which;
var character = String.fromCharCode(code).toLowerCase();
var keys = shortcut.toLowerCase().split("+");
var kp = 0;
var shift_nums = {"`":"~","1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(","0":")","-":"_","=":"+",";":":","'":"\"",",":"","/":"?","\\":"|"}
var special_keys = {'esc':27,'escape':27,'tab':9,'space':32,'return':13,'enter':13,'backspace':8,'scrolllock':145,'scroll_lock':145,'scroll':145,'capslock':20,'caps_lock':20,'caps':20,'numlock':144,'num_lock':144,'num':144,'pause':19,'break':19,'insert':45,'home':36,'delete':46,'end':35,'pageup':33,'page_up':33,'pu':33,'pagedown':34,'page_down':34,'pd':34,'left':37,'up':38,'right':39,'down':40,'f1':112,'f2':113,'f3':114,'f4':115,'f5':116,'f6':117,'f7':118,'f8':119,'f9':120,'f10':121,'f11':122,'f12':123}
for(var i=0; k=keys[i],i 1) { if(special_keys[k] == code) kp++;
} else { if(character == k) kp++;
else {if(shift_nums[character] && e.shiftKey) {
character = shift_nums[character];
if(character == k) kp++;
if(kp == keys.length) {
if(!opt['propagate']) {
e.cancelBubble = true;
e.returnValue = false;
if (e.stopPropagation) {
return false;
if(ele.addEventListener) ele.addEventListener(opt['type'], func, false);
else if(ele.attachEvent) ele.attachEvent('on'+opt['type'], func);
else ele['on'+opt['type']] = func;
function preFillComment() {
var author = GM_getValue('author');
var comment = GM_getValue('comment');
var email = GM_getValue('email');
var url = GM_getValue('url');
if(author == undefined) {
author = prompt("What name should be used for comments?");
author = author || '';
GM_setValue("author", author);
if(comment == undefined) {
comment = prompt("What signature should be used for comments?");
ecomment = comment || '';
GM_setValue("comment", comment);
if(email == undefined) {
email = prompt("What email should be used for comments?");
email = email || '';
GM_setValue("email", email);
if(url == undefined) {
url = prompt("What url should be used for comments?");
url = url || '';
GM_setValue("url", url);
if(document.getElementById('author') && author != undefined) document.getElementById('author').value = author;
if(document.getElementById('comment') && comment != undefined) document.getElementById('comment').value = comment;
if(document.getElementById('email') && email != undefined) document.getElementById('email').value = email;
if(document.getElementById('url') && url != undefined) document.getElementById('url').value = url;
var textareas = document.getElementsByTagName("textarea");
for(var i=0; i < textareas.length; i++) {
if(textareas[i].id == 'comment') {
function resetPreFillComment() {
var author = prompt("What name should be used for comments?");
author = author || '';
GM_setValue("author", author);
var comment = prompt("What signature should be used for comments?");
comment = comment || '';
GM_setValue("comment", comment);
var email = prompt("What email should be used for comments?");
email = email || '';
GM_setValue("email", email);
var url = prompt("What url should be used for comments?");
url = url || '';
GM_setValue("url", url);
alert("Thank you all values set :)");
function setKeyboardShortcuts() {
var mainShortcut = prompt("Please enter signature shortcut. Examples:\nALT+C\nALT+SHIFT+C");
var resetShortcut = prompt("Please enter signature-reset shortcut. Examples:\nALT+C\nALT+SHIFT+C");
if(mainShortcut) GM_setValue("mainShortcut", mainShortcut);
if(resetShortcut) GM_setValue("resetShortcut", resetShortcut);
GM_registerMenuCommand("Sign Comment", preFillComment);
GM_registerMenuCommand("Reset Comment Signature", resetPreFillComment);
GM_registerMenuCommand("Set Comment Signature Shortcuts (Adv)", setKeyboardShortcuts);
var mainShortcut = (GM_getValue('mainShortcut') != undefined && GM_getValue('mainShortcut') != '') ? GM_getValue('mainShortcut') : "ALT+C";
var resetShortcut = (GM_getValue('resetShortcut') != undefined && GM_getValue('resetShortcut') != '') ? GM_getValue('resetShortcut') : "ALT+SHIFT+C";

[Created by Mich De Published on UserScripts.org]