The Async website, powered by Jekyll & Github Pages
JavaScript HTML CSS Ruby Other
Latest commit 326a32b Jul 29, 2016 @larister larister Kick the website

Async Website

Welcome to the repository for the Async website. The site a Jekyll website hosted by GitHub pages. This just means this repository contains templates and assets that are converted into a static HTML site each time a commit is pushed to GitHub.

Running the server locally

You'll need ruby and bundler installed locally. The GitHub pages documentation will take you through this. Once done you can install Jekyll by running:

$ bundle install

Then to start the server run the following from the project directory:

$ make serve

Then visit http://localhost:4000/ in the browser. This writes out the site files into the /tmp/asyncjs directory (apols to Windows users).

Creating a new event

To create a new post you'll need to create a new file in the __posts_ directory. This should be named where YYYY-MM-DD is the date of the event, slug is the page slug and .md is the formatter.

There is a helpful make task for creating a new event file. Just run the following from the project directory:

$ make post

The top part of the post is meta data that is used to build the site the second part after the second --- is the post body. This should be formatted with markdown.


There is quite a bit of metadata that can be added to a post. It's formatted in YAML and here's an overview of what it all means.

number:    The number of the event in the series.
title:     The title of the event.
summary:   A short one-liner for the event. Markdown is allowed.
date:      A ISO8601 formatted string for the date and time of the event.
lanyrd:    The url to the lanyrd page for the event.
speakers:  An array of speakers
- name:    Speaker name
  link:    Speaker website or twitter account.
sponsors:  An array of sponsors.
- name:    Sponsor name.
  link:    Sponsor website.
  logo:    Sponsor logo.
image:     An image to accompany the page.
  url:     The url to the image.
  title:   A short description of the image.
  link:    A link to the image if hosted elsewhere
tags:      An array of tags (no more than five please)
venue:     An object containing venue data.
  name:    The name of the venue.
  link:    The website for the venue.
  location:A link to a map for the venue, falls back to Google Maps (optional)
  address: The address of the venue all in one line.
  latlong: Lat long for the venue eg. "50.826945,-0.136401"
layout:    The page layout file. Usually "event".
category:  The page category. Usually "event".
published: If false then the post will not appear on the site.

Creating a blog post

A blog post is created in the same way as an event entry but the date in the filename should be the published date. For a blog post the metadata is much simpler:

title:     The title of the blog post
authors:   An array of authors
- name:    The authors name.
  link:    The authors website.
category:  news
layout:    news
published: true

Triggering a site rebuild, without new content

GitHub pages rebuilds the site whenever a new commit is made. If a re-build is required, even without new content - e.g. in order to re-render the 'next event' on the home page, then run the following:

git commit --allow-empty -m "Republish GitHub pages (empty commit)"
git push


Async was founded by Premasagar Rose in 2010. He has since moved to Portgual, but kindly allowed the community to continue using the name, website, and domain. In the event of Async ceasing to continue, the domain of should pass back to Prem.