Treesaver is JavaScript framework for creating magazine-style layouts using standards-compliant HTML and CSS.
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.
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)
- Make sure to install all the dependencies
- Clone a copy of the Treesaver repo by running:
git clone git://github.com/treesaver/treesaver.git
Note that these commands must be run from the root directory of the repository.
paver
: Create dependency script for testingpaver 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 IOSUIWebView
--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 IOSUIWebView
--modules
: Compile into modules for async loading (compiles into two separate files)
paver clean
: remove build artifactspaver lint
: Check style with lintpaver fix_lint
: Automatically fix lint errors
Dual-licensed under MIT and GPLv2
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.