Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
The Async website, powered by Jekyll & Github Pages
JavaScript HTML CSS Ruby Other
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
_includes
_layouts
_posts
bin
css
events
feed
images
javascript
news
podcast
tags
wp/wp-content/uploads
.gitignore
CNAME
Gemfile
Gemfile.lock
Makefile
README.md
_config.yml
humans.txt
index.html
robots.txt

README.md

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 YYYY-MM-DD-slug.md 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.

Metadata

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
Something went wrong with that request. Please try again.