/fruitmachine

View rendering engine

Primary LanguageJavaScriptMIT LicenseMIT

FruitMachine Build Status Coverage Status

A lightweight component layout engine for client and server.

FruitMachine is designed to build rich interactive layouts from modular, reusable components. It's light and unopinionated so that it can be applied to almost any layout problem. FruitMachine is currently powering the FT Web App.

// Define a module
var Apple = fruitmachine.define({
  name: 'apple',
  template: function(){ return 'hello' }
});

// Create a module
var apple = new Apple();

// Render it
apple.render();

apple.el.outerHTML;
//=> <div class="apple">hello</div>

Installation

$ npm install fruitmachine

or

$ bower install fruitmachine

or

Download the pre-built version (~2k gzipped).

Examples

Documentation

Tests

With PhantomJS

$ npm install
$ npm test

Without PhantomJS

$ node_modules/.bin/buster-static

...then visit http://localhost:8282/ in browser

Author

Contributors

License

Copyright (c) 2018 The Financial Times Limited Licensed under the MIT license.

Credits and collaboration

FruitMachine is largely unmaintained/finished. All open source code released by FT Labs is licenced under the MIT licence. We welcome comments, feedback and suggestions. Please feel free to raise an issue or pull request.