# PolyGerrit CSS plugin for a blue-styled Gerrit

Make your in-house Gerrit Code Review look like the Google's
hosted gerrit-review.googlesource.com, including the icon.

## How to install

There is nothing to build, just copy the gerrit-bluestyle.html into
the Gerrit's /plugins directory. There is no need to restart anything,
once the file gets copied, Gerrit will detect after a few moments the new
PolyGerrit plugin and will use it transparently.


## Where the resources are coming from?

The Diffy logo and the blue styling is inspired by the official Gerrit
Code Review intance managed by Google at gerrit-review.googlesource.com.
