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.
- CoffeeScript: For running build script.
- Python & Java: For using Google's compiler tools.
- 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. You can type cake
to view available commands.
cake deps
: Create dependency script for testingcake compile
: Compile JavaScript files for production. Can be used with one or more compilation flags:cake --debug compile
: Use debug-friendly minificationcake --ios compile
: Compile version for use within an IOSUIWebView
cake debug
: Concatenate files for use when debugging (preserves comments, formatting, etc). Supports the following compilation flags:cake --ios debug
: Compile version for use within an IOSUIWebView
cake lint
: Check style with lintcake fix_lint
: Automatically fix lint errorscake clean
: remove build artifacts
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 (other than a few functions in base.js
which are used for dependency management and are not present in production).