simonwhatley / govuk-design-system

One place for service teams to find styles, components and patterns for designing government services.

Home Page:https://www.gov.uk/design-system

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GOV.UK Design System

One place for service teams to find styles, components and patterns for designing government services.

Run locally

You'll need Git and Node.js installed to get this project running.

Note: You will need the active LTS (Long-term support) Node.js version for this project (as specified in .nvmrc)

Fork repository (optional)

If you're an external contributor make sure to fork this project first

Clone repository

git clone git@github.com:alphagov/govuk-design-system.git # or clone your own fork

cd govuk-design-system

Using nvm (optional)

If you work across multiple Node.js projects there's a good chance they require different Node.js and npm versions.

To enable this we use nvm (Node Version Manager) to switch between versions easily.

  1. install nvm
  2. Run nvm install in the project directory (this will use .nvmrc)

Install npm dependencies

npm install

Start a local server

This will build sources, serve pages and watch for changes.

npm start

Build

Build ./src to ./deploy/public

npm run build

Run the Sass linter

We are using the tool sass-lint to lint the Sass files in source/stylesheets. You can run the linter from command line by running:

npm run lint

GOV.UK Frontend packages

Design System consumes the GOV.UK Frontend package via NPM. This is defined in the package.json file.


Continuous integration

When changes are pushed to GitHub, Github Actions will:

  • run the tests
  • lint the Sass stylesheets in source/stylesheets
  • run the npm run build command to ensure that the site can be generated

If any of these fail, this will be reported in the GitHub status checks interface.

Deployment

About

One place for service teams to find styles, components and patterns for designing government services.

https://www.gov.uk/design-system

License:MIT License


Languages

Language:Nunjucks 81.8%Language:JavaScript 13.5%Language:SCSS 4.6%Language:HTML 0.1%