Be sure to have Node.js 7.x+ installed.
Run npm install
in the project root. This will install some build tools we use.
Run npm run watch
to start a watcher that will compile things in place. You can then view the site by simply opening index.html
.
Run npm run build
to do a local build into the out/
directory. You can then preview the site at out/index.html
. This should usually be the same as just index.html
, but it is good to check before committing, since the build process is slightly more complicated than the in-place watch process.
Deployment to GitHub pages will happen via Travis CI if you have appropriately added a deploy key per the guide.
If Travis is down, you can use ./deploy.sh --local
to deploy to GitHub pages manually.
Stylus is used for styling.
Handlebars is used for templating. index.hbs
is minimally templated, mostly delegating to the partials in templates/
. Those pull their data from data/
. The logic that ties them all together is in build/templater.js
.
Gulp is used for a build/watch system. This is abstracted behind npm tasks though (npm run watch
, npm run build
).
Travis is used to build and deploy the website to gh-pages on each push, per this guide.
The site is intended to be responsive, which we accomplish with per-device stylesheets and media queries in the HTML.
While editing you should be using an EditorConfig plugin for your text editor to enforce a few basic stylistic things.
We are trying to maintain a reasonable HTML document outline (so, don't use <section>
as if it were <div>
). To preview the document outline, use the HTML 5 Outliner tool; here's a direct link to the outline for the current version.