📜 Historical record of happenings at the Nottingham New Theatre.
Clone or download
Latest commit d3f262b Jan 17, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github All changes from contributors-guide May 26, 2018
_bin Export smugmug cache on master to s3 Sep 16, 2018
_coffee Add scroll freezing to report and improve modals Feb 18, 2018
_committees Update 06_07.md (#1287) Oct 25, 2018
_content Update style guide (#1219) Jul 2, 2018
_data Add Instagram as a link type (#1243) Sep 7, 2018
_includes Display link.note as anchor title Jul 2, 2018
_layouts People year (#1223) Sep 12, 2018
_people Update will_berrington.md (#1343) Jan 12, 2019
_plugins People year (#1223) Sep 12, 2018
_sass Some corrections, and some future planning (#1291) Oct 29, 2018
_shows Adding operators to shows Jan 17, 2019
_venues Manuscripts Round 2 (#1256) Sep 18, 2018
assets Adding Reviewers Recording (#1337) Dec 21, 2018
feeds People year (#1223) Sep 12, 2018
images All changes from contributors-guide May 26, 2018
js Upgrade focus-ring.js Oct 21, 2017
util Fix link register (stars → rating) Feb 17, 2018
.bowerrc Migrate to bower, remove deps from VC Apr 26, 2015
.codeclimate.yml Cleanup/removal of fancybox bits Jun 16, 2016
.dockerignore Tidying up and removing Vagrant files Mar 11, 2017
.gitattributes Re-add assets as LFS objects Sep 6, 2016
.gitignore Added docker system for development environments Mar 11, 2017
.gitmodules Remove asset_bundler Jun 4, 2015
.htmltest.yml Adding Florence S (#1345) Jan 12, 2019
.mdlrc Markdown codeclimate enhancements Mar 28, 2016
.npmignore TJP: Add config to use vagrant for testing. Nov 20, 2015
.postcss.json PostCSS (cssnext/cssnano) Oct 31, 2016
.rubocop.yml Migrate to new codeclimate engine Mar 18, 2016
.travis.yml Prevent deletion of build artefacts before trying to upload them to s3 Sep 16, 2018
.yamllint Fix yaml syntax issues in data files Mar 23, 2017
404.html Add report call to action to 404 page Mar 17, 2017
CNAME Whoops! Return CNAME Nov 2, 2015
Dockerfile Fix Docker development config Jun 29, 2018
Gemfile Upgrade 💎 to latest inc Jekyll 3.7 Feb 17, 2018
Gemfile.lock Upgrade 💎 to latest inc Jekyll 3.7 Feb 17, 2018
LICENCE Add LICENCE file Sep 9, 2016
README.md Readme ffi (#1109) Apr 3, 2018
_config.yml Add Lakeside swansong shows properly this time (#1269) Sep 26, 2018
_headers Add cache expiry headers to statics Mar 10, 2017
bower.json Upgrade jquery 2.1.4 ⇒ 3.2.1 May 31, 2017
browserconfig.xml Add full favicon suite and configure browsers Apr 1, 2016
coffeelint.json Revamp show prod shots gallery Jul 15, 2016
googlee5aee69e17917677.html Google site verification, remove all placeholder posts May 7, 2015
gulpfile.js Update sm_cache command to download CI sm-cache Sep 16, 2018
manifest.json Add full favicon suite and configure browsers Apr 1, 2016
package.json Fix mapbox bug #616 Oct 21, 2017
robots.txt Allow all Feb 14, 2016
run_dev.sh Fix Docker development config Jun 29, 2018
yarn.lock Add a yarn lockfile Sep 6, 2018

README.md

Nottingham New Theatre History Project

Build Status Dependency Status Code Climate Issue Count

The history project collects and publishes information on past shows, committees and other goings-on at The Nottingham New Theatre the only student run theatre in England.

We use a static site generator (Jekyll) among other tools to turn the data and website source hosted here into the website published at history.newtheatre.org.uk.

This project is run by a group from the New Theatre's Alumni Network.

Running Locally

System

To get the site running locally you will need a working Ruby environment, the bundler gem installed, Node.js, Gulp, CoffeeScript, and Bower. The following instructions work on Ubuntu.

  • curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - to setup and add a PPA for Node JS 6.x rather than the older 4.x versions.
  • sudo apt install ruby-dev rubygems nodejs libffi-dev for an up to date Ruby with development bits and the Gem package manager, Node.js and its package manager npm.
  • sudo gem install bundler for the Ruby depenancy manager.
  • sudo ln -s /usr/bin/nodejs /usr/bin/node because some Node packages put it in the wrong place.
  • sudo npm install -g gulp coffee-script bower for Gulp, CoffeeScript and Bower.

Project Install

  • git clone https://github.com/newtheatre/history-project.git to clone the repo to your computer.
  • cd history-project to change into the directory.
  • bundle install to install all the Ruby dependencies the project needs to build.
  • npm install to install all the Node dependencies the project needs to build.
  • bower install to install all the frontend dependencies the project needs to build.

Run

  • gulp build to build the site to _site.
  • OR gulp debug does the same but skips minification and enables Jekyll's incremental builds.
  • gulp server to serve the site using the built in webserver. Changes to Sass & Coffee files will trigger an automatic frontend rebuild and reload. Content (Jekyll) changes will not, this is because Jekyll takes a considerable time to run.

To get more verbose output from Jekyll, run export JEKYLL_LOG_LEVEL=debug before building.

Test

gulp test to run test suite locally. Currently we test for bad links, valid image tags, script references and the validity of site JSON feeds.

Branches pushed to the GitHub repo are have preview builds deployed on Netlify, you can find links to the most recent ones here: https://app.netlify.com/sites/history-project-dev/deploys.

Docker

Docker is a cross platform software container platform. Following these instructions will allow you to build and view the site on your local machine in an environment as close to the production system as possible.

  • Install Docker (on windows, you probably want Docker Toolbox)
  • On windows, open the 'Docker Quickstart Terminal'. On Mac/Linux use a console of your choice.
  • git clone https://github.com/newtheatre/history-project.git to clone the repo to your computer.
  • cd history-project to change into the directory.
  • Type ./run_dev.sh

Once everything has finished running, you should see the site at http://localhost:8000. Hit ctrl+c to stop the server. If using 'Docker Toolbox' and localhost doesn't work, you can find the IP address of the virtual machine by running echo " $(docker-machine ip default)"

By default ./run_dev.sh uses the parameters start install build test serve in that order.

  • start builds the docker container, and starts it running in the background
  • install installs all necessary dependencies for the site
  • build builds the jekyll site
  • test runs the test suite
  • serve runs a server so you can view the site locally
  • stop halts and destroys the docker container. You will need to run start and install again after running this

You can add/remove steps to ./run_dev as needed. For example, there is no need to run start or install every time you want to build the site.

Environment variables (such as the Smugmug API key) can be changed by modifying the ENV lines in the Dockerfile (and then running start again).

Editing

See the site documentation.

Testing

After building the site you can run the test suite with gulp test. Bear in mind you may want to disable htmltest's external link checking as this may take some time on a consumer internet connection.

You may also test the syntax of YAML front-matter via gulp yamllint.

Asset Storage

All photographs and image assets are stored using the theatre's SmugMug.

Other binary assets are stored under assets/ using Git LFS. This separates these large files from the main repository. If you do not have LFS set up on your machine please do not attempt to commit assets as this would bloat the repository.

Special Thanks

  • Browser testing tools generously provided by BrowserStack.

Licence

This project as a whole isn't particularly helpful for other organizations, what we're doing here can be described as coding in the open, rather than building an open source project. That said parts of the project may be of interest or use to others. This repository is a mix of source and content, as such there are two licences that apply.

  • All source files (HTML templates, Sass, CoffeeScript, Ruby, shell scripts) are released under the MIT licence.
  • All content files (HTML files, Markdown, YAML datafiles, images, graphics) are copyright © The Nottingham New Theatre 2016.