Theming sites - Add, remove, change html / css / js content to a already generated web page
Looking at Deliverance, SiteMesh, Generic postprocessor, Monkeygrease, MouseHole
Injects HTML elements or whatever makes sense in a web page into a page or use an XHTML object which can be freely transformed. Using Java, Python or Ruby.
http://deliverance.openplans.org/
* Python
* Full edit
http://www.opensymphony.com/sitemesh/
* Java Servlet
* Full Edit
http://www.servletsuite.com/tips/aop.htm
http://www.servletsuite.com/servlets/generic1flt.htm
http://www.servletsuite.com/servlets/postproctag.htm
* Java JSP
* Full Edit
http://github.com/manalang/monkeygrease
* Java Servlet
* Predefined spots
* Project seems to be abandoned
http://github.com/evaryont/mousehole
http://github.com/whymirror/mousehole
http://github.com/baroquebobcat/mousehole
* Ruby
* Full Edit
A new Greasemonkey-style proxy was released yesterday. It's written in Java. Here's an overview I wrote up for the Greasemonkey list: - Monkeygrease injects HTML elements into four possible positions on a page (top and bottom of or top and bottom of ). MouseHole hands the user an XHTML object which can be freely transformed. - Monkeygrease user scripts are written in XML. MouseHole scripts can be written in Ruby or Javascript (GM-style). - Monkeygrease requires Java and a configured web application server. MouseHole requires Ruby and leverages its own personal web server written in Ruby. However, MouseHole's Windows installer has no prerequisites. - Monkeygrease scripts must be added to an XML file by hand and requires a reboot. MouseHole presents the user with an installation window when scripts are encountered on the web. - Monkeygrease URL matching is done by hand in the XML config. MouseHole URL matching is done in the browser using an interface similar to GM. - Monkeygrease offers no database API like GM does (GM_setValue, GM_getValue). MouseHole offers each script a tiny, transparent object database. (i.e. myScript.db['lastVisited'] = Time.now.) - I'm unsure about Monkeygrease's ability to do cross-domain XMLHttpRequest. I can't see a way to do this. I know MH and GM can both do this (i.e. BookBurro, you're on amazon.com and the user script is given permission to hit bn.com, powells.com, etc.)
source: http://rubyforge.org/pipermail/mousehole-scripters/2005-November/000175....
On 11/8/05, why the lucky stiff wrote: > - Monkeygrease user scripts are written in XML. MouseHole scripts can > be written in Ruby or Javascript (GM-style). The injected stuff is JS or whatever makes sense in a web page. The stuff to inject is declared within an XML file. > - Monkeygrease requires Java and a configured web application server. > MouseHole requires Ruby and leverages its own personal web server > written in Ruby. However, MouseHole's Windows installer has no > prerequisites. Monkeygrease is targetted specifically for J2EE apps, so saying it has a prereq of java+app server is something like saying MouseHole requires a computer; of course, but it's not a limitation given its purpose. > Overall, it seems like Monkeygrease's biggest weakness is avoiding the > power of a full programming language in its scripting. The XML file > only supports a very small number of commands, limiting the creativity > of the users. I mean that's what the grease is, right? Aaron was suggesting an overlay system similar to this for GM; it's useful while being simple. I agree that its useful to have more flexibility, but since MG is server-side, I think complex transforms (like MH and GM allow) would be a scalability issue. (I'm actually already concerned about that.)
source: http://www.mozdev.org/pipermail/greasemonkey/2005-November/006573.html
