Bookmarklet jest modułem nodejs do kompilacji bookmarkletów w kodzie po stronie serwera i bezpośrednio z powłoki. Można go uruchomić na dowolnym pliku JavaScript – zminifikuje go przy użyciu uglify-js, zawinie go w samowykonującą się funkcję i zwróci uciekającą bookmarklet.
Więcej, obsługuje blok metadanych – wzorowany na bloku metadanych greasemonkey userscript – do określania metadanych, zewnętrznych arkuszy stylów i skryptów, które mogą wyglądać następująco:
// ==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==
Najważniejsze jest to, że możesz określić zewnętrzne skrypty, które chciałbyś, aby twoja skryptozakładka zawierała poprzez regułę @script
, która może być powtarzana tyle razy, ile chcesz.
UWAGA: obecnie z dołączaniem skryptów musisz radzić sobie noConflict
samodzielnie, np, możesz chcieć rozpocząć skrypt od var $ = jQuery.noConflict(true)
.
Dodatkowo, wszelkie pliki css dołączone z @style
zostaną wstrzyknięte.
Domyślnie, za każdym razem, gdy zakładka zostanie trafiona, doda ponownie znaczniki skryptu i stylu. Dostosowujesz każdy z nich na linię, dodając deklarację !loadOnce
pomiędzy @style
lub @script
param a ścieżką do zasobu. Zobacz przykład powyżej.
Od v1.0.0, to teraz używa Babel z obecnym „env”, aby uczynić kod kompatybilnym wstecz przed minifikacją.
Ten projekt jest otwarty na sugestie & pull requests.
Jeśli szukasz szybkiego sposobu na stworzenie zakładki do książki, wypróbuj mój przeglądarkowy kreator zakładek.
Instalacja
Zależność można znaleźć w NPM jako „bookmarklet”. Możesz go zainstalować za pomocą:
npm install bookmarklet
Użycie
Możesz łatwo zobaczyć użycie uruchamiając bookmarklet -h
:
> 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
Domyślnym wyjściem jest surowy kod bookmarlet. NEW dodaje flagę --demo
, aby wyprowadzić testową stronę HTML, która zawiera bookmarklet.
Testowanie
Bardzo podstawowy skrypt testowy może być uruchomiony przez bash test/run.sh
.