All Projects → lonelyplanet → Rizzo

lonelyplanet / Rizzo

Licence: mit
UI Layer for lonelyplanet.com

Programming Languages

javascript
184084 projects - #8 most used programming language

Rizzo

Rizzo is a legacy UI layer for lonelyplanet.com. Rizzo also serves LP's header and footer, assets and Style Guide in some legacy apps.

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 [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

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

Local Development

You can test your rizzo changes locally running the rails app.

  1. Run the repo's rails server:

    bundle exec rails s
    
  2. Open http://localhost:3000/layouts/responsive

Documentation

Full documentation about Rizzo and development guidelines is available at https://rizzo.lonelyplanet.com/documentation/general/development-principles.

Running Tests

Javascript tests & linting

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.

  1. Install the node packages needed for running the tests:

    npm install -g grunt-cli  # Install grunt globally
    npm install # Install packages from package.json
    
  2. Run the JS tests and linter:

    grunt ci
    grunt jshint
    grunt jscs
    

    The grunt ci test output should look like:

Ruby tests

bundle exec rspec
bundle exec cucumber
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].