Bookmarklet is a nodejs module for compiling bookmarklets in server-side code and directly from the shell. Bármilyen JavaScript-fájlon futtathatod – az uglify-js segítségével kicsinyíti, egy önvégrehajtó függvénybe csomagolja, és egy eszkábált bookmarkletet ad vissza.
Még inkább támogatja a metaadat blokkot – a greasemonkey userscript metaadat blokk mintájára – a metaadatok, külső stíluslapok és szkriptek bevonásának megadására, ami így nézhet ki:
// ==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==
Leginkább a @script
szabályon keresztül adhat meg minden olyan külső szkriptet, amit a bookmarkletnek be kell vonnia, ami tetszőlegesen sokszor megismételhető.
MEGJEGYZÉS: jelenleg a szkriptek bevonásával kapcsolatban a noConflict
forgatókönyveket magadnak kell kezelned, pl, előfordulhat, hogy egy szkriptet var $ = jQuery.noConflict(true)
-vel akarsz kezdeni.
Ezeken kívül minden @style
-val bevont css fájl be lesz injektálva.
Egy alapértelmezett beállítás szerint minden egyes alkalommal, amikor a könyvjelzőt leütöd, újra hozzáadja a szkript- és stíluscímkéket. Mindegyiket soronként testre szabhatod úgy, hogy a @style
vagy @script
paraméter és az eszköz elérési útvonala közé egy !loadOnce
deklarációt illesztesz. Lásd a fenti példát.
A v1.0.0-tól ez már a Babel-t használja a jelenlegi “env”-vel, hogy a kódot visszafelé kompatibilissé tegye a minifikálás előtt.
Ez a projekt nyitott a javaslatokra & pull request.
Amellett, ha csak egy gyors módot keresel egy bookmarklet összedobására, próbáld ki a böngésző alapú bookmarklet creatoromat.
Telepítés
A függőség megtalálható az NPM-en “bookmarklet” néven. Telepítheted:
npm install bookmarklet
Használat
A használatot könnyen láthatod a bookmarklet -h
futtatásával:
> 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
Az alapértelmezett kimenet a nyers bookmarlet kód. ÚJ adjuk hozzá a --demo
flaget, hogy egy teszt HTML oldalt adjunk ki, amely tartalmazza a bookmarkletet rajta.
Tesztelés
Egy nagyon egyszerű teszt script futtatható a bash test/run.sh
segítségével.