JavaScript library for creating column and page-based layouts
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 276 commits behind Treesaver:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Treesaver is JavaScript framework for creating magazine-style layouts using standards-compliant HTML and CSS.

Getting Started / Documentation

The Treesaver wiki is the best source of documentation and reference. Note that the documentation is still a work in progress.


Use the Treesaver.js Mailing List.

Building Treesaver

Use the instructions below if you wish to build Treesaver from scratch. Most people are better off downloading a pre-built version.


  • Paver: For running build script. Requires Python.
  • Closure Linter: Check and fix coding style. (optional)

Setup Instructions

  1. Make sure to install all the dependencies
  2. Clone a copy of the Treesaver repo by running: git clone git://


Note that these commands must be run from the root directory of the repository.

  • paver: Create dependency script for testing
  • paver compile: Compile JavaScript files for production. Can be used with one or more compilation flags:
    • --modules: Compile into modules for async loading (compiles into two separate files)
    • --debug: Use debug-friendly minification
    • --ios: Compile version for use within an IOS UIWebView
    • --noie: Compile without IE support
    • --nolegacy: Compile without support for legacy browsers (IE7, mostly)
  • paver debug: Concatenate files for use when debugging (preserves comments, formatting, etc). Supports the following compilation flags:
    • --ios: Compile version for use within an IOS UIWebView
    • --modules: Compile into modules for async loading (compiles into two separate files)
  • paver clean: remove build artifacts
  • paver lint: Check style with lint
  • paver fix_lint: Automatically fix lint errors


Dual-licensed under MIT and GPLv2


Coding Style

Yes, the code looks verbose and kind of like Java. That is because it follows the Google Closure style. This is in order to get better compression via the Closure Compiler. UglifyJS shows a lot of potential, and merits investigation.

Although Google Closure style and compiler are used, note that Treesaver does not use the Closure Library.