Bookmarklet is een nodejs-module voor het compileren van bookmarklets in server-side code en rechtstreeks vanuit de shell. U kunt het op elk JavaScript-bestand uitvoeren – het wordt geminificeerd met uglify-js, verpakt in een zelfuitvoerende functie en retourneert een geëscaped bookmarklet.
Meer nog, het ondersteunt een metadata blok-gemodelleerd naar het greasemonkey userscript metadata blok-om metadata, externe stylesheets en script includes te specificeren, die er als volgt uit kunnen zien:
// ==Bookmarklet==// @name LoveGames// @author Old Gregg// @style !loadOnce https://mrcoles.com/media/css/silly.css// @script https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js// ==/Bookmarklet==
Met name, je kunt alle externe scripts specificeren die je wilt dat je bookmarklet include via de @script
regel, die zo vaak kan worden herhaald als je wilt.
NOOT: momenteel moet je met script includes zelf noConflict
scenario’s afhandelen, bijv, Je zou bijvoorbeeld een script kunnen beginnen met var $ = jQuery.noConflict(true)
.
Daarnaast zullen alle css bestanden die zijn geincludeerd met @style
worden geinjecteerd.
De standaardinstelling is dat iedere keer dat de bookmark wordt aangeraakt, het script en de style tags opnieuw worden toegevoegd. Je past ze per regel aan door een !loadOnce
declaratie toe te voegen tussen de @style
of @script
param en het pad voor de asset. Zie het voorbeeld hierboven.
Vanaf v1.0.0, gebruikt dit nu Babel met de huidige “env” om de code achterwaarts compatibel te maken alvorens het te minifiëren.
Dit project staat open voor suggesties & pull requests.
Ook, als je gewoon op zoek bent naar een snelle manier om een bookmarklet in elkaar te gooien, probeer dan mijn browser-gebaseerde bookmarklet creator.
Installatie
De afhankelijkheid kan worden gevonden op NPM als “bookmarklet”. U kunt het installeren met:
npm install bookmarklet
Gebruik
U kunt gemakkelijk het gebruik zien door bookmarklet -h
uit te voeren:
> bookmarklet -hBookmarklet v0.0.1 usage: bookmarklet source-d | --demo - output a demo HTML page for sharing the bookmarkletsource - path to file to read from or `-` for stdindestination - path to file to write to
De standaard uitvoer is de ruwe bookmarlet code. NIEUW voeg de --demo
vlag toe om een test HTML pagina uit te voeren die de bookmarklet bevat.
Testen
Een heel simpel testscript kan worden uitgevoerd via bash test/run.sh