:warning: This repository is not maintained anymore and read-only. :warning:
Have a look at v2 implemented as a Jekyll Theme (Gem) here instead:
This is a Jekyll template based on Bootstrap 4 which can be used to make a simple website for a one-day conference or workshop containing:
All components such as talks, speakers or rooms are represented as collection of files. The schedule is given is defined via a simple structure stored in a yaml file.
There is no need for databases and once generated the website consists only of static files. The use of JavaScript is optional and is used only for the navigation bar dropdown menus and the program table's sticky header/first column.
cd jekyll-conference/bundle installbundle exec jekyll build. The generated content in the _site/ directory (will be overwritten at each new build)bundle exec jekyll serveAs a general rule all files ending with .md are supposed to be modified. Reference between the files is done via their name property.
The repository in its current state serves as an example.
The site's configuration is given by the _config.yaml file. There one can edit the following arguments:
title,description (optional) and a longer one in long_description (optional),url and baseurl,navigation defines the navigational bar's content and is an array containing the ordered links. Each link consists ofname),relative_url) or absolute link address (absolute_url) or another list of links whereby the current link will be transformed to a dropdown menu (menu), anddisabled).main_links defines links shown on the main landing page in form of buttons. Each link consists ofname),relative_url) or absolute link address (absolute_url), anddisabled: true).info_bars defines optional dismissible boxes below the navigation bar. Consists oftitle (optional),color, given as a (Bootstrap) class name,main_only: true) or the other pages (pages_only: true), andtext to be shown.main_categories which is used to sort talks, each main category consists of a name and a color given as a (Bootstrap) class nametime_steps sets the grid space for the program table in minutes, andshow_firstname indicates if the speakers' first names are generally shown or abbreviated.show_alltimes indicates if the timestamps for all rows in the program grid should be shown.The congress' content is based on the configuration in the configuration file, the schedule in the program.yml file and the talks, speakers and rooms descriptions in the corresponding files and folders.
There exists a Python file in the root, create_entries.py, which can be used to export content from a CSV table and generate the different files based on it automatically.
The one-day schedule of the conference is defined in the [data/program.yml] file. It consists of an array of rooms each consisting of a
room name (must correspond to one of the room identifier), andtalks which also can be empty [].The order of the room in the file defines the order of the rooms on the website (program and room listings).
Each talk in the array consists of
name (must correspond to one of the talk identifier),time_start given as H:M (strftime formated), andtime_end.The array should (manually) be ordered by time. Currently talks can only take place on the same day and multi-day conferences are not supported.
Each talk is represented by file in the _talks/ directory. It must begin with valid YAML Front Matter containing
name (used as identifier),speakers name(s), andcategories of which one should be a main category as defined in the site's configurationlinks whereby each link element must contain a name and either an absolute link href or a file name (of a file stored under /documents/)hide: true if the talk and its description should not be shownEach speaker is represented by file in the _speakers/ directory. It must begin with valid YAML Front Matter containing
name (used as identifier), as well as itsfirst_name,last_name, andlinks whereby each link element must contain a name and either an absolute link href or a file name (of a file stored under /documents/)hide: true if the speaker and its description should not be shown.Each room is represented by file in the _location/ directory (no ending s). It must begin with valid YAML Front Matter containing
name, andhide: true if the room and its description should not be shown.Furthermore, one can edit location/index.md to add additional information about the venue's location.
The map shown on the main location page is based on the JavaScript Library Leaflet and can be customized by editing the assets/js/map.js file.
Additional static pages can easily be added as page_name/index.html. In the repository a about and contact page are given as example.
The design is based on the Bootstrap 4. Custom Bootstrap variables such as designed with Bootstrap Magic for individual themes can be added in the main SASS stylesheet.
Upon site building Jekyll takes care of prefixing and building Bootstrap from source including some minor modifications into a single stylesheet. While the Bootstrap stylsheet is build from source, the (static) Bootstrap JavaScript files are included in this repository and have their proper licensing terms.
This project is licensed under the MIT License. You can view LICENSE.md for more details.
This project re-distributes other open-source tools and libraries. You can view REDISTRIBUTED.md for third party licenses.