sniffle
is an easy-to-use Jekyll theme, developed primarily for hosting workshop webpages in the AI / ML communities. sniffle
automates many of the mundane tasks needed for workshop webpages, including:
- curating speaker lists
- curating organizer lists
- populating schedule webpages
- managing a list of accepted papers
sniffle
came about because of a lazy grad student's need to avoid the agonizing pain that went into populating the DiffCVGP and Rethinking ML Papers workshop webpages. sniffle
is based on Jekyll's default (and first) minima
theme.
Here's a preview webpage for the theme.
Here's sample screenshots of various pages!
For more about how to use Jekyll, check out these installation instructions. Why Jekyll? Read this blog post!
Assuming you have Ruby and Bundler installed on your system (hint: for ease of managing ruby gems, consider using rbenv), first fork the theme from github.com:krrish94/sniffle-workshop
to github.com:<your-username>/<your-repo-name>
and do the following:
$ git clone git@github.com:<your-username>/<your-repo-name>.git
$ cd <your-repo-name>
$ bundle install
$ bundle exec jekyll serve
Now, feel free to customize the theme to your liking!
The theme is quite easy to use if you're familiar with Jekyll. The following collections are implemented:
- Speakers: Curate a speaker list like this one from a set of markdown files, one per speaker. Crops and displays images if available. Adds a short bio. See files in the
_speakers
directory for examples. - Organizers: Curate an organizer list from a set of markdown files, one per organizer. See files in the
_organizers
directory for examples. - Schedule: Curate a schedule like this from a set of markdown files, one per event (talk, panel, break, etc.). See files in the
_schedule
directory for examples. Schedule items are sorted by asequence_id
attribute. - Papers: Curate a list of papers like this from a bunch of markdown files, one per paper. See files in the
_papers
directory for examples. Papers are sorted by asequence_id
attribute if specifed (else they are listed alphabetically).
NOTE: The best way to use these is to turn feature on or off by editing the
collections
attribute in_config.yml
.
If you experience issues or have cool features to add, feel free to fork this template.
To add a speaker, simply create a copy of _speakers/janedoe.md
, rename it, and edit the attributes of the speaker. Please read the comments in the markdown file; they describe the function of each attribute.
To add an organizer, simply create a copy of _organizers/organizerjanedoe.md
, rename it, and edit the attributes of the organizer. Please read the comments in the markdown file; they describe the function of each attribute.
To add an event to the workshop schedule, simply create a copy of _schedule/talk_00_opening.md
, rename it, and edit the attributes of the event. Please read the comments in the markdown file; they describe the function of each attribute.
To add a paper to the workshop's proceedings, simply create a copy of _schedule/paper_00.md
, rename it and edit the attributes of the paper. Please read the comments in the markdown file; they describe the function of each attribute.