Skip to content

hsource/selectorgadget

Folders and files

NameName
Last commit message
Last commit date

Latest commit

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 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.

Bitdeli Badge

About

Go go CSS / DOM inspection.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • CoffeeScript100.0%