parisjs/parisjs-website — pull request #78 by mauricesvay (2014-12-14 18:34:16+00:00)
Title: Feature/jekyllify

Hello ParisJS!

This PR changes the way the site is updated to use Github flavored Jekyll.
I've migrated all the existing content, added missing content and cleaned up some avatars that were 404.
For visitors, nothing should be really different, except that there is better content now :)

## How it works

* Content is now stored in `_posts` and `_data` instead of index.html.
* Each meetup is represented by a tag.
* Each talk is a jekyll post, stored in `_posts`, as markdown files.
* Each file contains a YAML head ("front matter" in Jekyll jargon) that contains all the data previously available in json. Fields are:
* tags: contain the tag associated to the meetup. E.g: `parisjs41` for the last meetup.
* title: title of the talk, in double quote strings
* authors: list of authors
* name: in double quote string
* url: URL. Usually link to twitter profile.
* avatar: URL. Usually link of twitter avatar.
* projects: list of URLs
* slides: list of URLs
* videos: list of URLs
* At the moment, the markdown content only contains the talk title. When needed, we can generate a richer content from metadata. It could be interesting to add a description, author info and embed media with oEmbed in the future.
* Data on meetups (reprensented by Jekyll tags) is stored in `_data/meetups.yml`
* The file contains the list of all tags used by meetups. Each meetup has those fields:
* tag: associated tag
* title: Titles format was inconsistent through time. I chose to store them as is instead of trying to generate them from data. We might want to fix that in the future
* date: date of the meetup. Currently unused.

All this data is now displayed by `index.html`, which is now a template that iterates over all tags, fetches post and meetup data and display them.

Bonus point: Jekyll generates 1 page per talk. They are currently not linked (so virtually not there) because their content is very limited. We might want to change that if we make the content richer in the future.
If you inspect the list of all talks, you should be able to discover the links to these pages.

## How to update the site

I've updated the README to explain how to update the site.
Please refer to it.

## Deploying the site

Simply merge `master` into `gh-pages` and push. Github takes care of the build process.

Feel free to discuss this PR. I'd be happy to answer any questions!