Skip to content

Repository files navigation

SelectorGadget

SelectorGadget is an open source bookmarklet that makes CSS selector generation and discovery on complicated sites a breeze.

Please visit http://www.selectorgadget.com to try it out.

Technologies

Features

Remote interface

SelectorGadget can be extended for use in custom workflows with a remote interface that replaces the standard display and controls.

To define a remote interface, create a JavaScript file with any functionality you need, and append any relevant controls to SelectorGadget's UI container. Here's a simple example:

// sg_interface.jsvarSG=window.selector_gadget// Add field to display current selection (note the use of jQuerySG, // SelectorGadget's jQuery alias).varpath=jQuerySG('<input>',{id: 'sg-status',class: 'selectorgadget_ignore'})SG.sg_div.append(path)SG.path_output_field=path.get(0)// Add button to dismiss SelectorGadgetvarbtnOk=jQuerySG('<button>',{id: 'sg-ok',class: 'selectorgadget_ignore'}).text('OK')SG.sg_div.append(btnOk)jQuerySG(btnOk).bind('click',function(event){jQuerySG(SG).unbind()jQuerySG(SG.sg_div).unbind()SG.unbindAndRemoveInterface()SG=null})// Watch the input field for changesvarval=saved=path.val()vartid=setInterval(function(){val=path.val()if(saved!=val){console.log('New path',val,'matching',(jQuerySG(val).length),'element(s)')saved=val}},50)

Set the path to the remote interface in SelectorGadget's sg_options object prior to instantiation, like this:

window.sg_options={remote_interface: '/path/to/sg_interface.js'}window.selector_gadget=newSelectorGadget()// ...

Local Development

Compiling

Start by installing development dependencies with

bundle

and then run

guard

to watch and regenerate SelectorGadget's .coffee and .scss files.

Testing

SelectorGadget is tested with http://pivotal.github.com/jasmine/. With guard running, open spec/SpecRunner.html in your browser to run the tests. (On a Mac, just do open spec/SpecRunner.html)

To manually test during local development, open spec/test_sites/bookmarklet_local.html and use that local bookmarklet on the contents of spec/test_sites.

About

Go go CSS / DOM inspection.

Resources

Stars

0 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors