Page tree
Skip to end of metadata
Go to start of metadata

Tegan Male and Unknown User (smr48) looked at how we can deploy out static prototypes with the latest versions of Lens for review when changes are made. The jekyllify branch of the static prototypes repo contains our work so far.

As a designer

I need to be able to share new site prototypes with reviewers, stakeholders, and the team without having to leave my computer running and unlocked

So I can get reviews and not leave myself open to the haxx0rz.



  • Fetching and compiling latest Lens without copy-pasting
  • Hosting the a compiled site somewhere other than a dev or designer computer so it's accessible for review
  • Ability to get latest Lens, not just the staging branch
  • A map of available pages to review
  • Ideally, the ability to maintain multiple versions in case the designers are working in parallel

We originally thought we could use Github Pages to do this. Unfortunately GHPages requires that any Sass used is already present in the repository so it can be compiled by Jekyll. This meant htat we'd have to track Lens into the static-prototypes repo. Additionally, this would also create a lot of commit noise on Github because any time we needed to push to the gh-pages branch, a (possibly empty) commit would have to be made first, otherwise Github would reject the push.

Proposed solution

Using Rake, a static-site generator, and a server (or AWS and a tool like the S3_website gem) we could set up a Rake task to:

  1. Pull latest Lens into a defined (and git ignored) location in the static prototypes directory locally
    1. This would have to be done by argument to Rake most likely, to give it the branch name of the the latest Lens features
    2. It should be cloned into a _sass/ directory (git clone _sass) so that the SSG knows where to find the files reliably
  2. Run jekyll build (or the Hugo equivalent), which would compile the sass and prototype HTML files into a _site/ directory
    1. To compile Sass we have added a lens/css/bath/site/site.scss file to the static prototypes repo, which calls in all the files cloned into the _sass/ directory
  3. Push the contents of the _site/ directory to the server
  4. If we need to maintain multiple versions, we should devise a system for prefixing the HTML path




  • No labels