More so, it supports a metadata block—modeled after the greasemonkey userscript metadata block—to specify metadata, external stylesheets and script includes, which can look like this:
// ==Bookmarklet== // @name LoveGames // @author Old Gregg // @style http://www.cornify.com/css/cornify.css // @script https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js // ==/Bookmarklet==
Most notably, you can specify any external scripts that you’d like your bookmarklet to include via the
@script rule, which can be repeated as many times as you’d like.
NOTE: currently with script includes you have to handle
noConflict scenarios yourself, e.g., you might want to start off a script with
var $ = jQuery.noConflict(true).
In addition, any css files included with
@style will be injected.
This project is open to suggestions & pull requests.
Also, if you’re just looking for a quick way to throw together a bookmarklet, try my browser-based bookmarklet creator.
The dependency can be found on NPM as “bookmarklet”. You can install it with:
npm install -g bookmarklet
You can easily see usage by running
> bookmarklet -hBookmarklet v0.0.1 usage: bookmarklet source [destination]source - path to file to read from or `-` for stdindestination - path to file to write to