scripty2: for a more delicious web
JavaScript CSS Ruby
Latest commit a65396e Apr 18, 2011 @madrobby Merge pull request #27 from rafalwrzeszcz/scripty2

There is a problem with S2.FX.Parallel that it doesnt invoke methods on aggregated effects like start() or cancel(), so its callbacks wont be executed. Whats more, effects can even not be completed, since cancel() is not called, which causes teardown() to not be called.

I believe those are two methods that have to be called on sub-effects to make them fully functional (start() marks effects as "running" as cancel() wont take any effect if status is not "running") - i dont see any need to call finish() on sub-effects (but if it would be needed, then canel() should not be called - only one of them should be called by parallel aggregator).
Failed to load latest commit information.
demos Left the fake URL in by accident. Here's the real URL. Sep 26, 2010
lib Update to Prototype 1.7 Jan 18, 2011
templates/html Add information on UI controls. Sep 26, 2010
themes CSS tweaks. This stuff still doesn't quite look right. May 9, 2010
.gitignore cleanups. add a basic demo file as root for future expansion. generat… Sep 29, 2009
CHANGELOG make note of Prototype update Oct 12, 2010
README.rdoc Change advisory in README. Sep 26, 2010
Rakefile Add Google Closure Compiler as an option to minify Oct 12, 2010


scripty2: for a more delicious web

scripty2 is an open source JavaScript framework for advanced HTML-based user interfaces. Or simply put, scripty2 helps you build a more delicious web:

  • Visual effects: scripty2's heartpiece is an versatile real-time effects framework

  • CSS utilities

  • UI components (experimental)

And there's more coming! scripty2 is currently in alpha status, so APIs can change and there's still a lot more functionality planned.

scripty2 is a complete rewrite and reimplementation of, with are modular structure intended to ease the development of highly customized user interface effects and behaviours.

Please use for any development questions for scripty2. Patches, tests, demos, updates and documentation are always welcome.


For building, development and testing, you need to have a working Ruby setup. You'll need the bluecloth, treetop and coderay gems installed.

To build the distribution, run:

rake && rake package

This will build the documentation (in /doc) and provides ready-to-deploy JavaScript packages in /dist.

The build process uses the YUI Compressor to build a minified version of the library file. This requires Java to be installed and available.

After the build process is done, you'll find two files in /dist:

  • s2.js (for debugging)

  • s2.min.js (minified version for production use)

Though scripty2 has been used to great effect on several high-volume websites, keep in mind that scripty2 effects are in beta. APIs are subject to change before final release.

Build with UI

The scripty2 UI controls are under heavy development and are still in alpha. They're not included when you run the standard rake tasks. To build a distributable with UI controls included, run:

rake dist:experimental

There are several other *:experimental tasks corresponding to common actions. Run rake -T to see the list of tasks.


scripty2 is dependent on the Prototype JavaScript framework. The download and source comes with a compatible version, or grab the latest version yourself from

Put prototype.js and s2.js in a folder of your website, and include them as follows:

<script src="/javascripts/prototype.js" type="text/javascript"></script>
<script src="/javascripts/s2.js" type="text/javascript"></script>

You're ready to go! Now look at the documentation and demos (see below!).


To build the documentation, run:

rake doc

The documentation is built with PDoc, which uses specially formatted source code comments to build a fully interactive HTML documentation set.

Navigate a browser to /doc/index.html to view and browse the documentation.


To run the unit tests, use:

rake test

You can run specific tests, or use only specific browsers:

rake test BROWSERS=safari TESTS=css,heartbeat


scripty2 is is licensed under the terms of the MIT License, see the included MIT-LICENSE file.