Serves mainstream formats, the homepage, and search on GOV.UK
Ruby HTML JavaScript CSS Shell
Switch branches/tags
Latest commit ed17a57 Jun 26, 2017 @suzannehamilton suzannehamilton committed on GitHub Merge pull request #1257 from alphagov/remove-search-ab-test
Remove search format boosting A/B test

GOV.UK Mainstream, Home & Search Frontend

Application to serve mainstream formats, the homepage, and search vertical for the GOV.UK single domain.

Live examples


Hard-coded routes


  • Formats - our phrase for a type of content

Technical documentation

A Ruby on Rails application that renders the citizen-facing part of formats stored in the Content Store. It looks up the passed-in slug in the Content Store.

It also serves the homepage (hard-coded route) and the search results vertical (hard-coded route).

See app/views/root for some bespoke transaction start pages.


Running the application

To run the application standalone, run static and execute the following command:


which uses a local copy of static.

Note that you will have to have GOV.UK Mapit running locally.

To run in a full development stack (with DNS, all apps running etc.) just use ./

If you are using the GDS development virtual machine then the application will be available on the host at

Note that the app uses a local version of GOV.UK Mapit, therefore a valid dataset will have to be loaded for Mapit, otherwise postcode lookups will not succeed. This is part of the standard GOV.UK data replication steps.

Running the test suite

bundle exec rake runs the test suite.

JavaScript unit testing

The tests in test/javascripts will be run as part of the test:javascript task.

To run them in a browser on your local machine (useful for breakpointing):

  1. run INCLUDE_JS_TEST_ASSETS=1 bundle exec script/rails server -p 3150 --environment=test on your vm
  2. open test/javascripts/support/LocalTestRunner.html (as a static file) in your browser.

This relies on you being able to access the above server on


MIT Licence