Skip to content
This repository has been archived by the owner on May 19, 2023. It is now read-only.

neicnordic/ahm16

Repository files navigation

--- ---

NeIC AHM16 website

This is a simplistic conference website generator for tech people who have other things to do.

Check the AHM server status page for error messages, or to see whether this site is up-to-date.

This is a jekyll site, with support for pandoc/mediawiki format for files ending in *.wiki.

The philosophy is that all "small" data on sessions, speakers etc goes into yaml files under /_data/. Jekyll generates web pages from this data, without overriding pages that have been manually added to the file tree. "Large" or free text data (eg: abstracts, web page text...) goes into files manually added into the tree, which can also "include" the generated parts as necessary.

See below for what data goes where, and what pages go where.

The code lives on https://github.com/neicnordic/ahm16. Contact your project leader or area coordinator for access.

Please feel free to click around and see how things are used in practice.

Data and Directories

You can use /_utils/validate.py to ensure that data is still consistent after you changed it.

/_data/
All "small" data that needs to be kept in sync, or be displayed on several pages, goes here. See comments in data files for details. The scripts in /_utils/ can help you validate that the data is still consistent after you changed it.

/_includes/
Templates for generated parts of pages. Use them e.g. like so: { % include person.wiki % } to put generated stuff on your page (without space between percents and braces). Don't edit these.

/_layouts/
Templates for webpages. Some of these are good starting points for making manual pages, for example for sessions, talks and persons. For example, if you are making a person page, feel free to copy the contents of person.wiki to /people/yourid/index.wiki to use as a starting point. Don't edit these.

/_plugins/
Copy of ruby extensions to Jekyll that makes this website compile. Don't edit these. The webserver has its own copies of these files.

/media/
Presentations and other media files go here.

/people/(person_id)/index.wiki
Custom person page for person with id "person_id". Generally, ids are asciified lowercase last names. Underlying data is in /_data/people.yml. Make a page for yourself to add more detail than what's in the generic one made by Jekyll. Please see /_layouts/person.wiki for a good starting point.

/program/
Program information goes here. Underlying data on sessions and slots is in /_data/program.yml and /_data/sessions.yml.

/program/day(day_nr)/index.html
Day program for day number "day_nr", generated by Jekyll if missing. Underlying data is in /_data/program.yml and /_data/sessions.yml.

/sessions/
Session information goes here. Underlying data is in /_data/sessions.yml.

/sessions/(session_id)/index.wiki
Custom session page for session with id "session_id". Underlying data is in /_data/sessions.yml. Make a custom page if you want to add more details than what is present in the generic one made by Jekyll. Please see /_layouts/session.wiki for a good starting point.

/sessions/(session_id)/(talk_id)/index.wiki
Custom talk page for talk with id "talk_id" is session session with id "session_id". talk_id is the same as "speaker", unless otherwise is explicitly specified. Underlying data is in /_data/sessions.yml. Make a custom page if you want to add more details than what is present in the generic one made by Jekyll. Please see /_layouts/talk.wiki for a good starting point.

/_utils/
Copy of scripts that help keep this website consistent. Don't edit these. The webserver has its own copies of these files.

Making webpages

Some general points:

Directories that start with '_' are special. These files help making pages rather than become pages themselves.

Directories that do not start with '_' end up as webpages with corresponding urls, if you put index.wiki files in them.

Webpage files ending with *.wiki use the pandoc/mediawiki format. Other files are used as-is, preferably: html.

You can use Liquid templating tags in files that start with a delimited yaml metadata block (like this one).

Example:

--- title: Short Title # Keep short (and consistent with /_data/). layout: menu # menu is default. Also: menu-wide, no-menu, and no-menu-wide. --- { % include session.wiki % } # Example of including generated session text # (no space between percents and braces for real) = Long title if you think that's better = Any text goes here, pandoc/mediawiki format.