Skip to content
This repository

scripty2: for a more delicious web

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
Thomas Fuchs authored April 18, 2011
Octocat-spinner-32 demos Left the fake URL in by accident. Here's the real URL. September 26, 2010
Octocat-spinner-32 lib Update to Prototype 1.7 January 18, 2011
Octocat-spinner-32 src Added fixes to S2.FX.Parallel so it executes notifications on aggrega… April 12, 2011
Octocat-spinner-32 templates Add information on UI controls. September 26, 2010
Octocat-spinner-32 test Rewrite `S2.UI.Button` to be more adaptable; most options can now be … February 10, 2011
Octocat-spinner-32 themes CSS tweaks. This stuff still doesn't quite look right. May 09, 2010
Octocat-spinner-32 vendor Add Google Closure Compiler as an option to minify October 12, 2010
Octocat-spinner-32 .gitignore cleanups. add a basic demo file as root for future expansion. generat… September 29, 2009
Octocat-spinner-32 .gitmodules added sprockets url to .gitmodules November 23, 2009
Octocat-spinner-32 CHANGELOG make note of Prototype update October 12, 2010
Octocat-spinner-32 MIT-LICENSE update years in copyright statements February 02, 2010
Octocat-spinner-32 README.rdoc Change advisory in README. September 26, 2010
Octocat-spinner-32 Rakefile Add Google Closure Compiler as an option to minify October 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.

Something went wrong with that request. Please try again.