Rizzo is the UI layer for lonelyplanet.com. Rizzo also serves LP's header and footer, assets and Style Guide.
The main goal of Rizzo is to enable sharing of templates and assets across all LP applications. This helps us to reduce complexity and increase reusability. There is a write-up of the thought process behind Rizzo on the engineering blog.
$ git clone [email protected]:lonelyplanet/rizzo.git && cd rizzo
$ cp .ruby-version.example .ruby-version
$ cp .ruby-gemset.example .ruby-gemset
$ cd .
$ bundle install
$ npm install
$ grunt setup # sets up jscs & jshint git precommit hook for contributors, and inits the private font submodule
Due to licensing restrictions imposed on our fonts you will have to manually create some empty files in order to run Rizzo locally:
$ touch app/assets/stylesheets/fonts/_font.sass
$ touch app/assets/stylesheets/fonts/_font_woff2.sass
Full documentation about Rizzo and development guidelines is available at https://rizzo.lonelyplanet.com/documentation/general/development-principles.
There is a suite of JavaScript tests in spec/javascripts
. These tests are currently using Jasmine v1.x from grunt-contrib-jasmine
v0.5.x.
In order to run the tests you'll need a few things installed with node.js.
npm install -g grunt-cli # Install grunt globally
npm install # Install packages from package.json
You can now run the following to run the tests with grunt...
grunt ci
##Run tests
grunt ci
grunt jshint
grunt jscs
bundle exec rspec
bundle exec cucumber