Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A JavaScript animation library using CSS transforms and transitions
JavaScript Other
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
site Update Hakyll file for new routing style in 3.1.
src Correct inversion of matrix multiplication order.
tasks Add site deploy script.
test Move test listing to automated test runner file.
vendor Port matrix tests to JS.Test framework.
.gitignore Add Gemfile listing required RubyGems.
CHANGELOG Correct release date for version 1.0.0.
Gemfile Add Gemfile listing required RubyGems.
Jakefile Don't copy text files to build directory.
LICENSE Remove the buggy FirminCSSMatrix from this release. Update README with new build and test instructions.
jake.yml Add an 'all' build with both Firmin and FirminCSSMatrix, and use it i…


Firmin is a JavaScript animation library based on CSS transforms and transitions.

var box = document.getElementById("box");

Firmin.animate(box, {
    scale:     {x: 2, y: 3},
    translate: {x: -100, y: 35}
}, 0.5);


To build Firmin from source you will need Ruby, RubyGems and Bundler. The test suite also depends on JS.Class, which is provided as a Git submodule. To get everything working, run the following shell commands in order.

# Download the source code
git clone git://
cd firmin
git submodule update --init --recursive

# Install dependencies
gem install bundler
bundle install

# Build the test framework and Firmin
cd vendor/jsclass
cd -

# Run tests
open test/runner.html

The last command will (on OS X, anyway) open the test runner for Firmin's automated test suite. The test runner page also includes links to the manual tests which must be run by hand in a browser.

The FirminCSSMatrix test suite currently fails on non-WebKit browsers as the WebKitCSSMatrix class is not available as a reference implementation.

Something went wrong with that request. Please try again.