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.
Install & Get Dependencies
$ git clone firstname.lastname@example.org: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
Note for non Lonely Planet staff
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
You can test your rizzo changes locally by using a repo that requires rizzo. The following steps use gonzo as an example.
If you don't have gonzo working locally yet, follow the setup instructions for the repo.
Gemfile, replace the existing rizzo path with the path to your local rizzo directory:
gem 'rizzo', path: '/Users/local-path/rizzo', submodules: true
Reinstall the gems:
Run the repo's rails server:
bundle exec rails s
Full documentation about Rizzo and development guidelines is available at https://rizzo.lonelyplanet.com/documentation/general/development-principles.
Install the node packages needed for running the tests:
npm install -g grunt-cli # Install grunt globally npm install # Install packages from package.json
Run the JS tests and linter:
grunt ci grunt jshint grunt jscs
grunt citest output should look like:
bundle exec rspec bundle exec cucumber