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
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
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 asyncjs.com should pass back to Prem.