Skip to content


Subversion checkout URL

You can clone with
Download ZIP
scripty2: for a more delicious web
JavaScript CSS Ruby
Branch: master

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).
latest commit a65396e1a1
@madrobby authored


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.

Something went wrong with that request. Please try again.