Documentation for the GOV.UK Content API.
This is a microsite for providing documentation for the GOV.UK Content API. It
is hosted at https://content-api.publishing.service.gov.uk.
This documentation is built from source files in this repository and an
file for the
Content Store application.
The framework for this documentation
is provided by the [GOV.UK Tech Docs Template][tech-docs-template] and through
the use of a fork of widdershins to
openapi.yaml to Markdown.
reference.html][reference-page] page is built using the
openapi.yaml file. Changes to content on this page
should be made by opening a pull request against the
Content Store application. Some aspects of the reference.html
page are controlled by templates which are stored in the
/templates of this repository.
Other HTML pages are in the [
/source][source-dir] of this repository and are
authored using Markdown. You can suggest edits to these pages by making changes
in a branch or fork of this project and then opening a pull request.
Running documentation locally
To run the documentation locally you should have this repository checked out
as well as the Content Store.
Setting up the documentation requires Ruby and Node. Run the following to
install the necessary dependencies:
Whilst writing documentation we can run a middleman server to preview how the
published version will look in the browser. After saving a change the preview in
the browser will automatically refresh on HTML pages. However for changes to
openapi.yaml you will need to restart the preview.
The preview is only available on our own computer. Others won’t be able to
access it if they are given the link.
Type the following to start the server:
make server API_SPEC=../content-store/openapi.yaml
You should now be able to view a live preview at http://localhost:4567.
The main branch of this repository is published every 30 minutes to the
gh-pages branch. It uses the
deployed-to-production branch of
Content Store. Thus once a pull request is merged into main
changes will automatically display on the site within 30 minutes.
If for some reason the automatic deployment fails you can deploy with the
make publish API_SPEC=<path/to/openapi.yaml>
This will push to the
gh-pages branch and therefore deploy to GitHub Pages.