OpenSpending Satellite Site Template
This repo is a template that can be used to easily create custom budget and spending visualization sites using data from OpenSpending.
An example of the kind of site that you can create (very quickly) using this template is Where Does My Money Go?.
What is in this repository?
Satellite sites runs as simple static websites built out of plain HTML and JS and pulling data from OpenSpending. All data is stored in the OpenSpending platform and the visualizations and search are driven directly from its API.
The repository contains a basic layout for the site, based on Twitter's Bootstrap 2 CSS framework, and a skeleton site based on Jekyll, a simple generator tool for static web sites. The key component is code samples for embedding most of the widgets that are currently available for OpenSpending:
bubbletree.htmlholds the classic BubbleTree diagram, which can be used to easily break down a multi-level hierarchy of classifications (such as the COFOG codes in the UK budget).
bubbletree-map.htmlcombines the BubbleTree and a simple vector map of the UK. This would be more work to adapt for a custom site, but the beautiful view may well be worth the effort.
dailybread.htmlcontains the Daily Bread custom tax viewer, which breaks down government expenditure over the approximate tax contribution of the visitor.
browser.htmlis a search interface for transactional spending information, used for the UK's departmental spend in this example. This is useful for datasets which are too unstructured for proper aggregation but contain interesting information at a detailed level.
How do I make a budget site for my own country/region?
If you want to set up a budget monitoring site for your own country, you first need to acquire some budgetary or spending data and load it into OpenSpending using the site's web interface. Once the data is loaded, you can fork this repository and change the titles, styles and arrangement to meet your individual needs. Finally, you can either host the site yourself, or let GitHub Pages do it.
How do I build the site?
The pages in this repository are built to their final form by combining them with
the template in
_layouts/default.html using Jekyll, a Ruby-based static site
generator. To build the site, you first need to install Jekyll (works on either
Mac OS X or Linux):
sudo gem install jekyll
A good tutorial for Windows is available here.
After that, you can simply build the site or even run a local web server by running this command from the repository root directory:
jekyll serve --watch
If your jekyll version is less than
1.0, run this command instead of the above:
jekyll --server --auto
Even if you cannot install jekyll for some reason, you can still experiment with the site by deploying its contents after each change.
The easiest way to deploy the site is via GitHub pages. To use them, simply adapt the
CNAME file in the root of the repository and push to the
gh-pages branch. All
pages will be automatically built and deployed.
What customizations should I make if I set up my own site?
In order to create a new, white-label site, there are a number of easy tweaks you can make.
- Edit the configuration file in
_config.ymlto set the overall site title and some basic parameters, such as the OpenSpending installation to be used. Further configuration options, mostly regarding page generation, are available for Jekyll.
particular the dataset name needs to be set and an appropriate set of break down
dimensions needs to be set for the BubbleTree and DailyBread. The most common configurations for these widgets can be done in
- Adapt the style sheet in
css/style.cssto use your own theming; in particular fonts and colorization.
img/logo.pngto set a custom logo.
- Edit the basic HTML structure of the project in
_layouts/default.htmlto extend or shorten the menu and any other page elements.
To get a basic understanding of the terminology and concepts involved in the API calls to OpenSpending, take a few minutes to read up on the technical background: How does OpenSpending store data?
Where do I find help?
This repository is a community-supported resource and there are several places where you can call on the community to help you customize it for your needs:
- OpenSpending Developers List
- Issue Tracker at GitHub (please report any problems here.
- Also join us on the
#openspendingchannel on the FreeNode IRC network
The OpenSpending team can also offer tailored support to build a customized site about government finance, to help you create your own visualizations or to answer specific questions related to budgetary or spending data.
This additional level of support comes with service level agreements and is ideal for projects working to a tight deadline, those looking for new-types of visualisation, high-stake or long term projects. If you are interested in finding out more about our availability and what we can offer please get in touch with the OpenSpending project at firstname.lastname@example.org. We'd love to work with you!