Expanded
javascript: (function () {
/* http://stackoverflow.com/questions/610406/javascript-equivalent-to-printf-string-format */
if (!String.prototype.format) {
String.prototype.format = function() {
var str = this.toString();
if (!arguments.length)
return str;
var args = typeof arguments[0],
args = (("string" == args || "number" == args) ? arguments : arguments[0]);
for (arg in args)
str = str.replace(RegExp("\\{" + arg + "\\}", "gi"), args[arg]);
return str;
}
}
var story = window.location.href;
var lobster = "https://lobste.rs/stories/new?url={story}".format({ story: story });
window.open(lobster);
}());One Line
javascript: (function () {if (!String.prototype.format) {String.prototype.format = function() {var str = this.toString(); if (!arguments.length) return str; var args = typeof arguments[0], args = (("string" == args || "number" == args) ? arguments : arguments[0]); for (arg in args) str = str.replace(RegExp("\\{" + arg + "\\}", "gi"), args[arg]); return str; } } var story = window.location.href; var lobster = "https://lobste.rs/stories/new?url={story}".format({ story: story }); window.open(lobster); }());Drag this to your toolbar to add the bookmarklet!
[lobster bookmarklet](javascript: (function () {if (!String.prototype.format) {String.prototype.format = function() {var str = this.toString(); if (!arguments.length) return str; var args = typeof arguments[0], args = (("string" == args || "number" == args) ? arguments : arguments[0]); for (arg in args) str = str.replace(RegExp("\{" + arg + "\}", "gi"), args[arg]); return str; } } var story = window.location.href; var lobster = "https://lobste.rs/stories/new?url={story}".format({ story: story }); window.open(lobster); }());))
Lobste.rs Bookmarklet
[Hello World!][1]
[1]:javascript:alert('Hello World')