First of all a citation from the originating
“google-jstemplate” project:
Template processing is the staple pattern for separation of data and
presentation in web applications. But it usually works on one page at
a time, which is inadequate for incremental, asynchronous page updates
typical of Ajax applications.
This system provides templates that allow for:
incremental processing: every processing operation produces valid output
differential processing: output text is again a template.
It also fixes other undesirable properties of standard template processing:
Wellformed output is guaranteed.
Escaped by default.
Templates are intelligible: input template is valid output.
And, of course:
Pure javascript, HTML, browser side processing.
That's what goatee is all about. So what's the difference between “goatee”,
“google-jstemplate” or other
similar projects like “knockout.js” then ?
The answer: My goals. I promise that “goatee” will have …
… html4, html5, xhtml 1.1 and xhtml5 flavours,
… an extremly modular architecture,
… an interpreter during development-phase, with quick'n'dirty instant updates,
… small and fast pre-compiled bytecode for production-releases,
… no external dependencies and no name collisions in browser environments with
popular frameworks as jquery, underscore and so on,
… 100% compatiblity for all runtimes in all those different languages,
producing exactly the same results, no matter if it runs on the client-
side (browser) or on the server-side,
… content-management-extensions with the same look and feel as well as
behaviour, no matter which implementation has been choosen and with
versioning for all contents and assets,
… a very low learning curve, because it's just javascript with css-philosophy
combined. Which means you won't have to learn a new syntax or grammar.
Installation
Goatee is not yet installable, but some components are …
$ git clone https://github.com/sjorek/goatee.js
$ cd goatee-js
$ npm install
Run build in *nix-like environments:
$ PATH=$PATH:./node_modules/.bin cake all
Run build in Windows environments (not tested):
$ set path=%PATH%;.\node_modules\.bin
$ setx path "%PATH%"
$ cake all
Credits go to …
… Steffen Meschkat for meeting me in 2004 and sharing all his passion and
knowledge about his (sadly proprietary) perl-based content-managment-system,
which still is my main motivation behind this project.
… Google Inc. and all contributors
of google-jstemplate
(especially Steffen Meschkat) as a source of motivation and inspiration.
… Jeremy Ashkenas and all contributors of
Coffee-Script.
goatee-js
A goatee is the perfect complement for handlebar mustaches. :-{>~
Meaning
For those who like acronyms:
Generic Object Action Template Execution Environment
Objective
First of all a citation from the originating “google-jstemplate” project:
That's what goatee is all about. So what's the difference between “goatee”, “google-jstemplate” or other similar projects like “knockout.js” then ?
The answer: My goals. I promise that “goatee” will have …
Installation
Goatee is not yet installable, but some components are …
Usage
Goatee is not yet useable, but some components are … see above.
Documentation
Read the annotated sources.
Development
Install dependencies:
Install project:
Run build in *nix-like environments:
Run build in Windows environments (not tested):
Credits go to …
… Steffen Meschkat for meeting me in 2004 and sharing all his passion and knowledge about his (sadly proprietary) perl-based content-managment-system, which still is my main motivation behind this project.
… Google Inc. and all contributors of google-jstemplate (especially Steffen Meschkat) as a source of motivation and inspiration.
… Jeremy Ashkenas and all contributors of Coffee-Script.