opendata.scot is a crowdsourced open data portal that aggregates and catalogues open datasets from across Scotland. It is entirely volunteer-run, originating from the OD_BODS project and built on top of JKAN — a lightweight, backend-free open data portal powered by Jekyll. This repository contains the source code and content for the site frontend, which is deployed via GitHub Pages.
- Docker (see below)
Install Ruby dependencies:
bundle installInstall JavaScript dependencies:
npm installBuild the front-end assets:
npm run buildServe the site locally with Jekyll:
bundle exec jekyll serveThe site will be available at http://localhost:4000.
To watch for front-end asset changes during development, run in a separate terminal:
npm run watchYou can run the full site using Docker without installing Ruby or Node locally:
docker compose upThe site will be available at http://localhost:4000.
Datasets are stored as Markdown files in _datasets/. Each file contains YAML front matter describing the dataset — its title, organisation, licence, category, and links to the data.
Organisations are stored as Markdown files in _organizations/. Each file describes a data publisher. Not all data publishers have datasets listed on the site, but they can still be added here to be associated with datasets in the future and to act as a wish list for future additions.
Shared reference data (categories, licences, organisation types) lives in _data/.
For code contributions, fork the repository and open a pull request against the gh-pages branch. Be sure to check out the contributing guidelines for more details.
Site-wide settings are in _config.yml, including the site title, navigation, GitHub OAuth client ID (to be deprecated), and the dataset schema in use.
The site is deployed via GitHub Pages from the gh-pages branch. Jekyll builds the static site automatically on push.
For details on the underlying JKAN framework, see the JKAN repository.