[Greasemonkey] Aardvark firefox extension -> GM user script

Scott R. Turner srt at aero.org
Wed Apr 27 11:46:37 EDT 2005

On Tue, 26 Apr 2005, Julien Couvreur wrote:
> I just turned it into a user script (pretty trivial since the Aardvark
> code is in a javascript overlay file
> http://www.karmatics.com/aardvark/aardvarkOverlay.js). It's posted at
> http://blog.monstuff.com/archives/images/Aardvark.user.js
> Go to the commands menu to "Start Aardvark".

This is very timely!  I was just thinking about GreaseMonkey and
Aardvark this morning.

As I've mentioned, I think one of the key issues in user mediation of
the web is ease-of-use.  My "ideal" interface is a web browser that
allows the user to edit a web page and then transparently applies
those changes in the future.

Aardvark is a little clumsy, and limited in the changes you can do,
but it provides the first half of that interface.  Greasemonkey has
the potential to provide the second half.

What I'd like to see is a new version of Aardvark that keeps track of
the changes a user makes on a web page and then produces a
Greasemonkey script to replicate those changes in the future.
Ideally, it would install the script as well.

I can outline how to implement this, but I don't know if I have the
time/skills to tackle it myself.

Add two new commands to Aardvark: Start New Script and Save Script.

After the user starts a new script, start saving the Aardvark commands
he uses in an ordered list.  To do this, you need to save the
operation and the page element it is being applied to.  Saving the
operation is trivial.  Saving the page element is a little more
troublesome.  The best way to identify it is by it's id.  If it
doesn't have an id, I'm not sure how best to identify it -- an Xpath?

When the user does Save Script, walk through the saved list of
commands and generate a GM script that replicates the command
sequence.  Tack on header information and let the user modify the
"included pages" to wildcard as he thinks is appropriate.  Give the
script a name based on the URL, so that if he saves a new script from
the same page you can replace the existing GM script.

Anyone want to tackle that?

-- Scott

More information about the Greasemonkey mailing list