fruitmachine

A lightweight component layout engine for client and server.

Usage no npm install needed!

<script type="module">
  import fruitmachine from 'https://cdn.skypack.dev/fruitmachine';
</script>

README

FruitMachine Build Status Coverage Status Dependency 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) 2014 The Financial Times Limited Licensed under the MIT license.

Credits and collaboration

The lead developer of FruitMachine is Wilson Page at FT Labs. 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.