Cross references to where this guy has appeared in sci-fi.
http://wiki.script.aculo.us/scriptaculous/show/CoreEffects
Here is an effect I created using scriptaculous. Here is the scriptaculous Treasure Chest site. Here is my running example, which uses it.
I was interested in getting reuse from the CSS-styles generated by a graphics designer. I would like to be able to generate the styles for different color and image brandings, based on the same structural framework. At first I looked at generating the necessary CSS files using my own template engine. Then I came across FMPP, FreeMarker-based text file PreProcessor. This seemed to already provide what my engine had, plus more, plus a lot of other people are already using it.
This article describes a simple scenario describing how to use FMPP to create two sets of CSS theme files from the same initial template. It is admittedly a limited use of FMPP, but in creating it, perhaps it will help others to quickly set up and get running without delving too much into the FMPP vocabulary.
At the end of the steps described here, you will have a template, a set of properties files for each of the different themes, and a build script which you can use to generate your templates.
Requirements: ANT, FMPP.
Download template: themegen.zip
Step 1. Setup
You will need ANT and FMPP. If you are using Eclipse, you already have ANT. To download FMPP, visit http://fmpp.sourceforge.net/.
Take the five files from the fmpp_0.9.2/lib directory and make them available to ANT. In Eclipse you can do this by right-clicking on the build.xml and selecting build..., then add the jars to the classpath for ANT:
bsh.jar, fmpp.jar, freemarker.jar, oro.jar, resolver.jar
Step 2. Set up the directory structure for your project
If you have an existing project, you will need to adapt the provided scripts for your structure. Ideally, depending on how you are using the theme attributes in Spring, you will either have directory names or file names substitution for each of your themes.
Step 3. Create a Template
Take the CSS files from your graphic artist and insert common variables into them for the items you wish to have be a function of the properties file. In the example, the template is style/style.css.
Step 4. Create the properties files
These will be used in conjunction with the template to produce the output files. In the example, these are called blue.tdd and green.tdd.
Step 5. Run ant and refresh eclipse
You should see two new files: out/style/blue/style.css, and out/style/green.css.
You should be careful not to replace your original template during the process, or you will lose it.
References.
Dekany, D. 2007. FreeMarker-based text file PreProcessor. http://fmpp.sourceforge.net/
Just bound my blog to technorati. Seems to be working ok, once I overrode their styles, it blends in nicely.
2006-07
http://solution.allthingsd.com/20061206/easty-photo-book/
http://www.lukew.com/resources/articles/web_forms.html
http://prototype.conio.net/
http://www.uxmatters.com/MT/archives/000107.php
http://www.lukew.com/resources/articles/web_forms.html
http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/c87dacf13d878fb2/d1a938f39add9f96#d1a938f39add9f96
http://www.sysdeo.com/eclipse/tomcatplugin
http://www.theserverside.com/tt/articles/article.tss?l=RedirectAfterPost
http://www.theserverside.com/tt/articles/article.tss?l=RedirectAfterPost
http://jakarta.apache.org/commons/validator/
http://www.geekwisdom.com/js/passwordmeter.js
http://www.uxmatters.com/MT/archives/000097.php
2006-08
http://www.lukew.com/image_viewer.asp?url=portfolio/web_applications/img/bezsystems_big.jpg&name=Bez%20Systems%20Web%20Application
http://prototype.conio.net
http://script.aculo.us/
http://openrico.org/rico/home.page
http://encytemedia.com/event-selectors/
http://tetlaw.id.au/view/blog/really-easy-field-validation-with-prototype/
http://www.schuerig.de/michael/javascript/
http://www.formassembly.com/wForms/
http://prototype-window.xilinus.com/
http://tetlaw.id.au/view/tags/query/tag/experiments/
http://jquery.com/
http://ajaxian.com/archives/onion-skinned-drop-shadows-with-javascript
http://blog.joshuaeichorn.com/archives/2006/08/08/adding-ajax-to-a-website-step-by-step/
http://www.paulgraham.com/taste.html
http://www.technicalinfo.net/papers/CSS.html
2006-09
http://opensource.atlassian.com/confluence/spring/display/DOC/How+to+avoid+database+or+server+properties+in+your+XML+files
http://jeffhowden.com/code/css/forms/
http://www.picment.com/articles/css/funwithforms/step5.html
http://livedocs.macromedia.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002225.html
2006-10
http://www.i-marco.nl/weblog/archive/2006/06/20/prototypejs_oncomplete_and_ano/the_net_is_dead
http://simon.incutio.com/archive/2004/05/26/addLoadEvent
http://www.oreilly.com/catalog/svgess/chapter/ch03.html
http://www.sparrowscripts.com/tutorial.php?id=1
javascript:var c = so.getSWFHTML(); var w=window.open("about:blank"); w.document.writeln("");
2006-11
http://tamperdata.mozdev.org/help.html
http://picasaweb.google.com/bree.radloff/AquaNerd
http://www.prysme.net/java/documentation/
http://quotiki.com/
http://raibledesigns.com/page/rd?entry=trim_spaces_in_your_jsp
http://community.java.net/projects/community/javatools
http://www.elasticpath.com/ecommerce/architecture/index.jsp
2006-12
http://www.useit.com/alertbox/980111.html
http://www.sf.id.au/WE05/
http://www.freewebs.com/turbo-tax/images/turbotax1.gif
http://www.freewebs.com/turbo-tax/images/taxcut2.gif
http://computeme.tripod.com/turbonav.gif
http://simile.mit.edu/timeline/
http://prototype-window.xilinus.com/download.html
http://www.thathost.com/wincvs-howto/cvsdoc/cvs_12.html
http://www.youtube.com/watch?v=6gmP4nk0EOE
http://www.webpagesthatsuck.com/biggest-mistakes-in-web-design-1995-2015.html
http://www.alistapart.com/topics/userscience/usability/
2007-01
http://jeffhowden.com/code/css/forms
http://www.coloradocollege.edu/library/Instruction/gtd.html
http://www.43folders.com/2004/09/08/getting-started-with-getting-things-done/
2007-02
http://eclipse-tools.sourceforge.net/updates/
http://tlt.its.psu.edu/suggestions/international/accents/codealt.html
http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#100850
http://www.crh.noaa.gov/forecast/MapClick.php?TempBox=1&RainBox=1&SnowBox=1&PoPBox=1&Submit=Submit&FcstType=graphical&textField1=44.98500&textField2=-92.55200&site=mpx&WindBox=1&ThunderBox=1&FzgBox=1&AheadHour=0
http://en.wikipedia.org/wiki/Meta_tag
http://external-file.com/en/meta_tag_generator.html
2007-03
http://fmpp.sourceforge.net/
http://cvs-tools.sourceforge.net/
2007-04
http://mail-archives.apache.org/mod_mbox/tomcat-dev/200603.mbox/%3C440CB929.4040909@maintenancemode.com%3E
http://webmail.magnolia.info/Lists/dev-list/Message/9336.html?altLanguage=
http://blog.objectmentor.com/articles/2007/02/08/jasper-problem-resolved
http://getahead.org/dwr/browser/support
http://internna.blogspot.com/2007/04/setting-up-agile-development.html
http://en.wikipedia.org/wiki/Field_(mathematics)
http://support.instantasp.co.uk/Topic12412-37-1.aspx#bm12547
2007-05
http://www.visibone.com/
http://forum.springframework.org/showthread.php?t=35887
http://raibledesigns.com/rd/entry/trim_spaces_in_your_jsp
http://www.mazaika.com/index.html