Welcome to the repository for the Async website. The site is a static repository of files and directories that is converted by Jekyll into a static site when a new commit is pushed to GitHub.
Just 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).
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.
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.
---
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
---
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