🚨This repository is no longer maintained. This is the source of the first version of the Service Manual which was replaced in December 2016. You can follow what we're doing now at alphagov/service-manual-publisher and alphagov/service-manual-frontend.
Government Service Design Manual
This is the repository for the UK government's guidance and standards for developing digital services and contains both the assets and the content for the site.
Running the app yourself
Depending on your version of Git, you may need to run these commands to bring in the GOV.UK Frontend Toolkit:
$ git submodule init $ git submodule update
This should import Sass files from the GOV.UK Frontend Toolkit repository into
Next, install dependencies using bundler::
$ bundle install
You need to create the content::
$ bundle exec jekyll build
To start the app::
$ bundle exec ruby app.rb
This will compile the site and make it available at http://localhost:4567/.
In a separate terminal, you'll need to run:
$ bundle exec jekyll build --watch
This will monitor the service manual and rebuild it whenever it's changed.
Running on Heroku
This application should run fine on Heroku. You will need to have set yourself up with a Heroku account and the command-line tools. Then create an application on Heroku.
> heroku create <app-name>
Make your change locally, commit and deploy them to Heroku as needed. If the code you're deploying is not in master, then you'll need to make sure you specify your local branch to push to master. Otherwise it will just deploy your local master (and probably not work as expected).
> git push heroku master
Then open https://app-name.herokuapp.com/service-manual/ to see your changes.
YAML page meta data schema
Pages in a Jekyll site begin with a section of YAML meta data, which specifies how the page should be rendered, where it should be linked from and so on.
The following keys are used throughout:
Content page meta data
||Page title||Used at the top of the page, and in links to the page|
||Page subtitle||Used below page title, and optionally in links to the page|
||The category the page lives in the browse page|
||Used to differentiate content types so they can be grouped on index pages|
||Primary audience. Link to page will appear in top half of audience index page|
||Secondary audience. Link to page will appear in bottom half of audience index|
||An array of values. Adds links to page header and lists pages in relevant phase page|
||An array of objects with
||Adds a breadcrumb trail to the top of the page|
||Exclude the page from search. The default behaviour is to include the page in search.|
Index page meta data
Index pages list out links to content pages, for example, the role specific pages that are built using the
||Takes the value of the