Makers Academy Website 2.10.0
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib Replace all http resources with https Apr 4, 2018
config.rb Allow to build on Heroku Aug 11, 2015

Makers Academy Site

Codeship Status for makersacademy/website

Our new-look website, currently viewable at

Why are we open sourcing our website?

Here at Makers Academy we believe in practising what we preach - which means both open-sourcing code wherever possible and writing code that we're proud to showcase to the world. We wanted our new website to be open so people can both see the principles that drive our code, and as a learning tool for students and graduates alike.

Setting up the site locally

  • Clone the repo
  • Run bundle to install gems
  • Run npm install to install node packages
  • Create a .env file - you can copy the .env.example file provided as an example to get you started
  • Start the server with middleman s
  • Go to http://localhost:4567 to view the site in your browser

Running tests

  • You'll need to run Ruby tests using bundle exec rspec rather than just rspec
  • JS is tested using jasmine_node - run npm test to run them


  • Make sure you have submitted a pull request and had it approved following our contributing guidelines
  • Check how it looks on the staging site - you can deploy to staging using the command rake publish:staging
  • Merge the pull request into master
  • Once our CI server has passed the tests, it will automatically deploy to Github Pages by using the rake publish command provided by the Middleman GitHub pages extension. This builds a Middleman site and pushes the built repo onto a gh-pages branch.

Technologies used

Adding images

Our images are stored on the makers assets GitHub repo - we've split them out to a seperate repository to keep the size of this repository down. All assets from that repository can be accessed from

When adding a new image, add it to the images directory of the makers assets GitHub repo, and make sure that the image has been compressed using image optim and are good quality images that fit the look and feel of the site.

Publishing to Bower

We use Bower to share our assets across the various Makers Academy websites. If you need to update the assets here so a newer version can be made available to our other sites, just run rake publish:bower, and enter a semantic versioning number.

The latest SASS changes will be compiled into CSS and a new version of the styles will be published to Bower.


We use semantic versioning when creating new releases using tags, this allows Bower to keep track of our code.

Make sure that when releasing a new version of the site that you want bower to pick up you run rake publish:bower with the new version number to ensure that the bower.json file has the correct version tracking

Look at tracking.js to see how to enable tracking for websites that use makers_styles bower package.

How to create a form

  1. Use Fridge raiders example as a form that works and copy over and adapt. Put this code on top of a form.
%form.trackable-form{action: "/"name of your page"/success.html.haml”}
  1. Include Javascript tag at the bottom:
= javascript_include_tag "track-form/save-for-later-submit"
  1. Create submit page source/"name of your page"/success.html.haml”

  2. On success page put your copy and include this code, editing the details inside of the submitFormDataToAnalytics function

=javascript_include_tag "track-form/submit-to-analytics"
  function submitFormDataToAnalytics (formData) {
    analytics.identify(, formData)
    analytics.track("Submitted "Name of form" form")
  } tracking

Look at tracking.js to see how to enable tracking for websites that use makers_styles bower package.