jekyll-theme-conference 3.6.6 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.md CHANGED
@@ -6,64 +6,62 @@ This is a responsive [Jekyll](http://jekyllrb.com) theme based on [Bootstrap 4](
6
6
 
7
7
  - multiday program / schedule,
8
8
  - talk and speaker descriptions,
9
- - map for directions,
10
- - realtime live indications during the conference, and
9
+ - maps for directions,
10
+ - real-time indications during the conference, and
11
11
  - supports embedded video streaming or recordings.
12
12
 
13
- 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](https://en.wikipedia.org/wiki/YAML) file. There is no need for databases and once generated the website consists only of static files. A script and workflows are available for easy import, e.g. of [frab](https://github.com/frab/frab/wiki/Manual#introduction) compatible schedules.
13
+ All components such as talks, speakers or rooms are represented as collection of files. The schedule is defined via a simple structure stored in a [YAML](https://en.wikipedia.org/wiki/YAML) file. There is no need for databases and once generated the website consists only of static files. A script and workflows are available for easy import, e.g., of [frab](https://github.com/frab/frab/wiki/Manual#introduction) compatible schedules.
14
14
  The design is easily customizable and is adapted for mobile uses and printing.
15
15
 
16
- The theme was originally created for the yearly Winterkongress conference of the [Digital Society Switzerland](https://digitale-gesellschaft.ch/). You can see this theme in action here:
16
+ The theme was created for the yearly Winterkongress conference of the [Digital Society Switzerland](https://digitale-gesellschaft.ch/). You can see this theme active here:
17
17
 
18
18
  - [Demo: Winterkongress](https://digitale-gesellschaft.ch/kongress/)
19
19
 
20
-
21
20
  ## Table of Contents
22
21
 
23
22
  - [Installation](#installation)
24
- * [Gem-based Method](#gem-based-method)
25
- * [Remote Theme Method](#remote-theme-method)
23
+ - [Gem-based Method](#gem-based-method)
24
+ - [Remote Theme Method](#remote-theme-method)
26
25
  - [Setup](#setup)
27
- * [Jump Start](#jump-start)
28
- * [Automatic Import](#automatic-import)
29
- * [Automatic Build](#automatic-build)
26
+ - [Jump Start](#jump-start)
27
+ - [Automatic Import](#automatic-import)
28
+ - [Automatic Build](#automatic-build)
30
29
  - [Configuration](#configuration)
31
- * [Theme Verification](#theme-verification)
32
- * [Collection URLs](#collection-urls)
33
- * [Language](#language)
34
- * [Timezone](#timezone)
35
- * [Navigation Bar](#navigation-bar)
36
- * [Open Graph Link Preview](#open-graph-link-preview)
37
- * [Main Landing Page](#main-landing-page)
38
- * [Information Boxes](#information-boxes)
39
- * [Live Indications & Streaming](#live-indications--streaming)
40
- * [Map](#map)
41
- * [Talk Settings](#talk-settings)
42
- * [Speaker Settings](#speaker-settings)
43
- * [Location Settings](#location-settings)
44
- * [Program Settings](#program-settings)
30
+ - [Theme Verification](#theme-verification)
31
+ - [Collection URLs](#collection-urls)
32
+ - [Language](#language)
33
+ - [Timezone](#timezone)
34
+ - [Navigation Bar](#navigation-bar)
35
+ - [Open Graph Link Preview](#open-graph-link-preview)
36
+ - [Main Landing Page](#main-landing-page)
37
+ - [Information Boxes](#information-boxes)
38
+ - [Live Indications & Streaming](#live-indications--streaming)
39
+ - [Map](#map)
40
+ - [Talk Settings](#talk-settings)
41
+ - [Speaker Settings](#speaker-settings)
42
+ - [Location Settings](#location-settings)
43
+ - [Program Settings](#program-settings)
45
44
  - [Content](#content)
46
- * [Schedule / Program](#schedule--program)
47
- * [Talks](#talks)
48
- * [Speakers](#speakers)
49
- * [Rooms](#rooms)
50
- * [Links](#links)
45
+ - [Schedule / Program](#schedule--program)
46
+ - [Talks](#talks)
47
+ - [Speakers](#speakers)
48
+ - [Rooms](#rooms)
49
+ - [Links](#links)
51
50
  - [Overview Pages](#overview-pages)
52
- * [Location / Room Overview](#location--room-overview)
53
- * [Live Stream Overview](#live-stream-overview)
54
- * [Additional Pages](#additional-pages)
51
+ - [Location / Room Overview](#location--room-overview)
52
+ - [Live Stream Overview](#live-stream-overview)
53
+ - [Additional Pages](#additional-pages)
55
54
  - [Design](#design)
56
55
  - [Development](#development)
57
56
  - [License](#license)
58
57
 
59
-
60
58
  ## Installation
61
59
 
62
60
  There are three ways to install: As a [Gem-based theme](https://jekyllrb.com/docs/themes/#understanding-gem-based-themes), as a [remote theme](https://github.blog/2017-11-29-use-any-theme-with-github-pages/) (GitHub Pages compatible), or by cloning/forking this repository and reference to it directly.
63
61
 
64
62
  ### Gem-based Method
65
63
 
66
- With Gem-based themes, directories such as the `assets`, `_layouts`, `_includes`, and `_sass` are stored in the theme’s gem, hidden from your immediate view. Yet all of the necessary directories will be read and processed during Jekyll’s build process.
64
+ With Gem-based themes, directories such as the `assets`, `_layouts`, `_includes`, and `_sass` are stored in the theme’s gem, hidden from your immediate view. Yet all the necessary directories will be read and processed during Jekyll’s build process.
67
65
 
68
66
  This allows for easier installation and updating as you don't have to manage any of the theme files. To install:
69
67
 
@@ -101,6 +99,7 @@ To install:
101
99
  source "https://rubygems.org"
102
100
 
103
101
  gem "github-pages", group: :jekyll_plugins
102
+ gem "jekyll-include-cache", group: :jekyll_plugins
104
103
  ```
105
104
 
106
105
  2. Add `jekyll-include-cache` to the `plugins` array of your `_config.yml`.
@@ -111,22 +110,21 @@ To install:
111
110
  bundle
112
111
  ```
113
112
 
114
- 4. Add `remote_theme: "DigitaleGesellschaft/jekyll-theme-conference@v3.6.1"` to your `_config.yml` file. Remove any other `theme:` or `remote_theme:` entry.
113
+ 4. Add `remote_theme: "DigitaleGesellschaft/jekyll-theme-conference@v3.6.3"` to your `_config.yml` file. Remove any other `theme:` or `remote_theme:` entry.
115
114
 
116
115
  5. Continue with the _Setup_ section further below to customize the theme and add some content for your conference
117
116
 
118
-
119
117
  ## Setup
120
118
 
121
- The different talks, speakers and rooms are stored as a collection of files. Each file contains a small header in form of a YAML block (called [FrontMatter](https://jekyllrb.com/docs/front-matter/)) which is used to store additional information beside a description. Their exact use and meaning is described further below in the section _Content_. Additional configuration options can be found in the section _Configuration_.
119
+ The different talks, speakers and rooms are stored as a collection of files. Each file contains a small header in form of a YAML block (called [FrontMatter](https://jekyllrb.com/docs/front-matter/)) used to store additional information beside a description. Their exact use and meaning is described further below in the section _Content_. Additional configuration options can be found in the section _Configuration_.
122
120
 
123
- The actual schedule defining when and in which room a talk takes place is stored as a [YAML data file](https://jekyllrb.com/docs/datafiles/) under `_data/program.yml`. For further details about it see below in the section _Content_.
121
+ The schedule defining when and in which room a talk takes place is stored as a [YAML data file](https://jekyllrb.com/docs/datafiles/) under `_data/program.yml`. For further details about it see below in the section _Content_.
124
122
 
125
- :warning: Please note that the generated website can be quite large containing many unnecessary whitespaces. It is recommended to minimize the generated output files before uploading them to a server (e.g. with [minify](https://github.com/tdewolff/minify)).
123
+ :warning: Please note that the generated website can be large containing many unnecessary whitespaces. It is recommended to minimize the generated output files before uploading them to a server (e.g., with [minify](https://github.com/tdewolff/minify)).
126
124
 
127
125
  ### Jump Start
128
126
 
129
- In order to be up and running simply use the default content of this repository as an initial base for your new website. After having setup a new Jekyll website copy the following files and folders into the website's folder:
127
+ To be up and running simply use the default content of this repository as an initial base for your new website. After having set up a new Jekyll website copy the following files and folders into the website's folder:
130
128
 
131
129
  - `_config.example.yml` -> `_config.yml`
132
130
  - `_data/`
@@ -141,7 +139,7 @@ In order to be up and running simply use the default content of this repository
141
139
 
142
140
  ### Automatic Import
143
141
 
144
- There exists a Python file in this repository, `_tools/create_entries.py`, which can be used to import content from a [frab](https://github.com/frab/frab/wiki/Manual#introduction) compatible JSON file (e.g. from [pretalx.com](https://pretalx.com/p/about/)) or a CSV table and generate the different talk, speakers and room files automatically.
142
+ There exists a Python file in this repository, `_tools/create_entries.py`, which can be used to import content from a [frab](https://github.com/frab/frab/wiki/Manual#introduction) compatible JSON file (e.g., from [pretalx.com](https://pretalx.com/p/about/)) or a CSV table and generate the different talk, speakers and room files automatically.
145
143
 
146
144
  1. Copy the files `_tools/create_entries.py` and `_tools/requirements.txt` from this repository
147
145
 
@@ -158,18 +156,17 @@ There exists a Python file in this repository, `_tools/create_entries.py`, which
158
156
  pip install -r _tools/requirements.txt
159
157
  ```
160
158
 
161
- 4. Execute the script, e.g. to show the help type
159
+ 4. Execute the script, e.g., to show the help type
162
160
 
163
161
  ```bash
164
162
  python _tools/create_entries.py --help
165
163
  ```
166
164
 
167
-
168
165
  ### Automatic Build
169
166
 
170
- In case you do not want to install the entire Ruby/Jekyll toolchain on your machine you can make use of [GitHub Actions](https://github.com/features/actions), Github's continuous integration platform. This repository contains multiple example Github Action configuration files in the `_tools/` folder:
167
+ If you do not want to install the entire Ruby/Jekyll tool chain on your machine you can use [GitHub Actions](https://github.com/features/actions), Github's continuous integration platform. This repository contains multiple example Github Action configuration files in the `_tools/` folder:
171
168
 
172
- - `build.yml`: automatically builds and minimizes the website upon adding a new tag starting with a `v` (e.g. `v2020.01.01`). It then attaches the generated website as an archive to a release for easy downloading. Requires `purgecss.config.js` to be copied to the project's root too.
169
+ - `build.yml`: automatically builds and minimizes the website upon adding a new tag starting with a `v` (e.g., `v2020.01.01`). It then attaches the generated website as an archive to a release for easy downloading. Requires `purgecss.config.js` to be copied to the project's root too.
173
170
  - `test.yml`: automatically tries to build the website upon a new pull request. It can thus be used as status check before merging.
174
171
  - `schedule.yml`: automatically generates the schedule and content files when a new pull request contains a `schedule.json` file (see the _Automatic Import_ subsection above). Thus, it allows quick updates of the site's content from [pretalx.com](https://pretalx.com/p/about/) exports.
175
172
 
@@ -177,8 +174,7 @@ To get started, simply copy the desired workflow file to your repository and ada
177
174
 
178
175
  - `_tools/build.yml` -> `.github/workflows/build.yml`
179
176
 
180
- Please note that the `Gemfile.lock` of your project must be adapted to include specific versions required by Github's workflow server, i.e. run `bundle lock --add-platform x86_64-linux` to add support for them.
181
-
177
+ Please note that the `Gemfile.lock` of your project must be adapted to include specific versions required by Github's workflow server, i.e., run `bundle lock --add-platform x86_64-linux` to add support for them.
182
178
 
183
179
  ## Configuration
184
180
 
@@ -186,7 +182,7 @@ All configurations and customization for this theme are stored under the `confer
186
182
 
187
183
  ### Theme Verification
188
184
 
189
- Upon building the theme runs some basic verification to check if all necessary files and configurations are in place. If it encounters an error it shows so in adding an information bar on all your sites. You can disable this, e.g. in a production environment, by setting `show_errors` to `false` (default: `true`).
185
+ Upon building, the theme runs some basic verification to check if all necessary files and configurations are in place. If it encounters an error it shows so in adding an information bar on all your sites. You can disable this, e.g., in a production environment, by setting `show_errors` to `false` (default: `true`).
190
186
 
191
187
  Example:
192
188
 
@@ -231,14 +227,13 @@ defaults:
231
227
  layout: room
232
228
  ```
233
229
 
234
- In order to change the URL of the collection, simply edit the `permalink` property and replace the `:collection` tag (which translates to `talks`, `speakers` and `rooms`) with your desired value. Please note that the talk and speaker overview pages should residue in a folder of the same name.
230
+ To change the URL of the collection, simply edit the `permalink` property and replace the `:collection` tag (which translates to `talks`, `speakers` and `rooms`) with your desired value. Please note that the talk and speaker overview pages should residue in a folder of the same name.
235
231
 
236
232
  _Note:_ While you might want to change the URLs, the name of the three collections (`talks`, `speakers` and `rooms`) is fixed and cannot be changed.
237
233
 
238
-
239
234
  ### Language
240
235
 
241
- In order to adapt the language of the theme set the `lang` property. If you change it from its default, make sure you have copied the internationalization file from this repository to `_data/lang.yml`. Currently the following languages are included:
236
+ To adapt the language of the theme set the `lang` property. If you change it from its default, make sure you have copied the internationalization file from this repository to `_data/lang.yml`. The following languages are supported:
242
237
 
243
238
  - English: `en` (Default)
244
239
  - German: `de`
@@ -265,7 +260,7 @@ conference:
265
260
 
266
261
  ### Navigation Bar
267
262
 
268
- The navigation bar is located at the top and visible on every site. On the right it show the title of the website (`site.title`) followed by the links listed under the `links` property of the `navigation` property. See the _Content_ > _Links_ section below for the available properties per link.
263
+ The navigation bar is located at the top and visible on every site. On the right, it shows the title of the website (`site.title`) followed by the links listed under the `links` property of the `navigation` property. See the _Content_ > _Links_ section below for the available properties per link.
269
264
 
270
265
  Example:
271
266
 
@@ -284,7 +279,7 @@ conference:
284
279
  relative_url: /2019/
285
280
  ```
286
281
 
287
- Optionally, a logo or link of your organization hosting the conference can be shown on the right side of the navigation bar. It is activate through the `logo` property under the `navigation` property containing
282
+ Optionally, a logo or link of your organization hosting the conference can be shown on the right side of the navigation bar. It is activated through the `logo` property under the `navigation` property containing
288
283
 
289
284
  - the text to show (`name`),
290
285
  - an absolute link address (`url`), and
@@ -306,15 +301,15 @@ The navigation bar automatically collapses when the available space is too small
306
301
 
307
302
  ### Open Graph Link Preview
308
303
 
309
- The theme automatically includes the necessary `<meta>` tags to ease link previewing when sharing links based on the [Open Graph protocol](https://ogp.me/) and [Twitter Cards](https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/abouts-cards). These tags control how a link is presented when shared via different platform and apps. In order to disable these `<meta>` tags add the `disable: true` setting (default: `false`) to the `link_preview` property.
304
+ The theme automatically includes the necessary `<meta>` tags to ease link previewing when sharing links based on the [Open Graph protocol](https://ogp.me/) and [Twitter Cards](https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/abouts-cards). These tags control how a link is shown when shared via different platform and apps. To disable these `<meta>` tags add the `disable: true` setting (default: `false`) to the `link_preview` property.
310
305
 
311
- In order to generate a meaningful description for each of the links, the preposition for the conference title as given under the `title` property can be defined by using the `preposition` property. For example, if `title` is set to "Conference 2020" the corresponding `preposition` would be "at". The template can then use it to generate descriptions such as "Talk *at* Conference 2020".
306
+ To generate a meaningful description for each of the links, the preposition for the conference title as given under the `title` property can be defined by using the `preposition` property. For example, if `title` is set to "Conference 2020" the corresponding `preposition` would be "at". The template can then use it to generate descriptions such as "Talk _at_ Conference 2020".
312
307
 
313
- Optionally, an image which is shown as preview for all links can be specified. For sharing via Open Graph an image ratio of 1.91:1 and an ideal size of 1200x630 pixel is recommended. For sharing via Twitter an image ratio of 1:1 and a minimal size of 600x600 pixel (better 1200x1200 pixel) is recommended. SVG image files are not supported. It is activate through the `img` property under the `link_preview` property containing an image file shown for Open Graph (`open_graph`) and on the Twitter Cards (`twitter`), whereby the path to the image file relative to the `/assets/images/` folder has to be specified.
308
+ Optionally, an image that is shown as preview for all links can be specified. For sharing via Open Graph an image ratio of 1.91:1 and an ideal size of 1200x630 pixel is recommended. For sharing via Twitter an image ratio of 1:1 and a minimal size of 600x600 pixel (better 1200x1200 pixel) is recommended. SVG image files are not supported. It is activated through the `img` property under the `link_preview` property containing an image file shown for Open Graph (`open_graph`) and on the Twitter Cards (`twitter`), whereby the path to the image file relative to the `/assets/images/` folder has to be specified.
314
309
 
315
310
  ```yaml
316
311
  title: Conference 2020
317
- preposition: 'at'
312
+ preposition: "at"
318
313
 
319
314
  ...
320
315
 
@@ -322,13 +317,13 @@ conference:
322
317
  link_preview:
323
318
  disable: false
324
319
  img:
325
- twitter: 'twitter_preview.png' # inside /assets/images/
326
- open_graph: 'facebook_preview.png' # inside /assets/images/
320
+ twitter: "twitter_preview.png" # inside /assets/images/
321
+ open_graph: "facebook_preview.png" # inside /assets/images/
327
322
  ```
328
323
 
329
324
  ### Main Landing Page
330
325
 
331
- The main landing page is shown at the root of the website to greet new visitors. In order to show it you need to create a `index.md` file in the root of your website's folder and specify its layout as `layout: main`. The remaining customizations are specified in the `_config.yml` file.
326
+ The main landing page is shown at the root of the website to greet new visitors. To show it you need to create a `index.md` file in the root of your website's folder and specify its layout as `layout: main`. The remaining customizations are specified in the `_config.yml` file.
332
327
 
333
328
  The main page states your site's title (`site.title`) or a logo instead. The logo can be configured through the `logo` property under the `main` property containing
334
329
 
@@ -340,10 +335,10 @@ Example:
340
335
  conference:
341
336
  main:
342
337
  logo:
343
- img: 'main_logo.png'
338
+ img: "main_logo.png"
344
339
  ```
345
340
 
346
- The title/logo on the main page is followed by a description of your site (`site.description`) and the content of your `index.md` file. It ends with an optional list of links in the form of buttons. See the _Content_ > _Links_ section below for the available properties per link.
341
+ The title/logo on the main page is followed by a description of your site (`site.description`) and the content of your `index.md` file. It ends with an optional list of link buttons. See the _Content_ > _Links_ section below for the available properties per link.
347
342
 
348
343
  Example:
349
344
 
@@ -361,7 +356,7 @@ conference:
361
356
 
362
357
  ### Information Boxes
363
358
 
364
- One or multiple information banners or boxes can be shown at the top of the website just below the navigation bar. They are prominent but dismissable and can inform your visitors about recent changes. They are activate through the `info_bars` property which contains a list for each information banner to show. Each banner consists of
359
+ One or multiple information banners or boxes can be shown at the top of the website just below the navigation bar. They are prominent but dismissible and can inform your visitors about recent changes. They are activated through the `info_bars` property, which contains a list for each information banner to show. Each banner consists of
365
360
 
366
361
  - a title (`title`),
367
362
  - a color (`color`) following the Bootstrap color scheme (see below), possible values are:
@@ -394,42 +389,42 @@ conference:
394
389
 
395
390
  ### Live Indications & Streaming
396
391
 
397
- In order to help users navigating the program during the congress, a _Live_ indication can be shown next to talks which are currently taking place. A small JavaScript functions keeps the site automatically up-to-date (without the need to refresh) showing the indication as soon as the talk has started and hiding it once it is over (according to the timetable indicated in the `_data/program.yml` file).
392
+ To help users navigating the program during the conference, a _Live_ indication can be shown next to talks, which are currently taking place. A small JavaScript functions keeps the site automatically up-to-date (without the need to refresh) showing the indication as soon as the talk has started and hiding it once it is over (according to the timetable indicated in the `_data/program.yml` file).
398
393
 
399
- This can be further extended if some of the talks have an associated live stream: Upon clicking one of the live indications a modal will open containing the corresponding embedded live stream. The URL to the live stream has to be set via `live` property in each room (see the _Content_ > _Room_ section below). Instead of opening the modal an external link can also be used.
394
+ This can be further extended if some talks have an associated live stream: Upon clicking one of the live indications a modal will open containing the corresponding embedded live stream. The URL to the live stream has to be set via `live` property in each room (see the _Content_ > _Room_ section below). Instead of opening the modal an external link can also be used.
400
395
 
401
- In order to activate these functionalities, each day in the `program.yml` file must contain a `date` property (see section _Content_ > _Schedule / Program_ below) and the `live` property has to be set in the configuration file containing
396
+ To activate these functionalities, each day in the `program.yml` file must contain a `date` property (see section _Content_ > _Schedule / Program_ below) and the `live` property has to be set in the configuration file containing
402
397
 
403
398
  - how long a pause between two consecutive talks has to be for the live indication to pause (`stop`),
404
- - optionally under the `streaming` property:
405
- + if streaming should be enabled (`enable`), and if enabled
406
- + how many minutes the stream goes active before a talk (`prepend`),
407
- + how many minutes the stream stays active after a talk (`extend`),
408
- + how long a pause between two consecutive talks has to be for the stream to pause (`pause`), and
409
- + optionally an external (absolute) link to which the user will be redirected instead of opening the modal (`external`),
410
- - optionally under the `demo` property:
411
- + if a demonstration mode should be enabled (`enable`), whereby the JavaScript function cycles continuously through the entire program in a few minutes, and if enabled
412
- + how long the demonstration should take (`duration`), and
413
- + how long the pause between two demonstration cycle should be (`pause`).
399
+ - optionally, under the `streaming` property:
400
+ - if streaming should be enabled (`enable`), and if enabled
401
+ - how many minutes the stream goes active before a talk (`prepend`),
402
+ - how many minutes the stream stays active after a talk (`extend`),
403
+ - how long a pause between two consecutive talks has to be for the stream to pause (`pause`), and
404
+ - an external (absolute) link to which the user will be redirected instead of opening the modal (`external`),
405
+ - optionally, under the `demo` property:
406
+ - if a demonstration mode should be enabled (`enable`), whereby the JavaScript function cycles continuously through the entire program in a few minutes, and if enabled
407
+ - how long the demonstration should take (`duration`), and
408
+ - how long the pause between two demonstration cycles should be (`pause`).
414
409
 
415
410
  ```yaml
416
411
  conference:
417
412
  live:
418
- stop: 240 # in minutes
413
+ stop: 240 # in minutes
419
414
  streaming:
420
415
  enable: true
421
- pause: 60 # in minutes
422
- prepend: 5 # in minutes
423
- extend: 5 # in minutes
416
+ pause: 60 # in minutes
417
+ prepend: 5 # in minutes
418
+ extend: 5 # in minutes
424
419
  demo:
425
420
  enable: false
426
- duration: 300 # in seconds
427
- pause: 10 # in seconds
421
+ duration: 300 # in seconds
422
+ pause: 10 # in seconds
428
423
  ```
429
424
 
430
425
  ### Map
431
426
 
432
- In order to help users finding your venue, an [OpenStreetMap](https://www.openstreetmap.org/) container displaying a map can be shown on any page. The map's initial position is globally defined and thus the same for all map containers. You can define the initial position of the map by setting the default zoom level `default_zoom`, the center coordinates `home_coord`, and the map provider for the tiles `map_provider`. Alternative map providers can be found [here](https://leaflet-extras.github.io/leaflet-providers/preview/).
427
+ To help users finding your venue, an [OpenStreetMap](https://www.openstreetmap.org/) container displaying a map can be shown on any page. The map's initial position is globally defined and thus the same for all map containers. You can define the initial position of the map by setting the default zoom level `default_zoom`, the center coordinates `home_coord`, and the map provider for the tiles `map_provider`. Alternative map providers can be found [here](https://leaflet-extras.github.io/leaflet-providers/preview/).
433
428
  The map contains small control buttons to zoom in and out, center the map back to the initial position, and show the visitors current location (has to be manually activated and granted by the visitor).
434
429
 
435
430
  The map can be added to any page by setting `map: true` in its Front Matter or on the location main page by setting `conference.location.map: true` (see _Location Settings_ section below).
@@ -444,10 +439,12 @@ conference:
444
439
 
445
440
  ### Talk Settings
446
441
 
447
- Each talk can have one or multiple categories associated via FrontMatter (see the _Individual Pages: Talks_ section below for more details). Some of these categories can be elevated to so called main categories". These are used to color group the talks across the entire website, particularly in the program. In order to do so add the `main_categories` property under the `talks` property. It consists of a list of all main categories. Each main category consists of:
442
+ Talks can optionally be organized into tracks, where each track groups talks under a common subject. Tracks are visually distinct across the website, especially in the program, by a unique color. Additionally, each talk can have one or more associated tags. Both tracks and tags are linked via the talk's FrontMatter (refer to the _Individual Pages: Talks_ section for more details).
448
443
 
449
- - its name (`name`, must be corresponding to the listed categories in the talk's FrontMatter), and
450
- - a color (`color`) following the Bootstrap color scheme (see below), possible values are:
444
+ To define available tracks, add the `tracks` property under the `talks` property in the configuration file. This property is a list of tracks, with each track requiring:
445
+
446
+ - its `name`, which must match the track specified in the talk's FrontMatter.
447
+ - a color (`color`) following the Bootstrap color scheme (see below), possible values include:
451
448
  - `primary` (your website's main color, normally blue)
452
449
  - `secondary` (your website's secondary color, normally grey)
453
450
  - `success` (green)
@@ -457,27 +454,37 @@ Each talk can have one or multiple categories associated via FrontMatter (see th
457
454
  - `light` (white)
458
455
  - `dark` (dark grey)
459
456
 
460
- Each talk can have associated links listed at the end of its content. If these links have an icon associated (see _Content_ > _Talks_ below), they are also shown on the talk overview page (e.g. to show in the overview which talk has a video recording and which not). To disable the showing of icon links on the overview page, set the `hide_icons` property to `true` (default: `false`).
457
+ Instead of displaying the tag name, you can replace it with an icon. To define tags with icons, add the `tags` property under the `talks property in your configuration file. Each listed tag requires:
458
+
459
+ - its `name`, which must match the tag specified in the talk's FrontMatter.
460
+ - optionally, an icon to show instead of the tag's name (`icon: ` followed by the [FontAwesome](https://fontawesome.com/icons?d=gallery&s=solid&m=free) icon name to show).
461
+
462
+ Talks can also have associated links displayed at the end of their content. If these links have an icon (see _Content_ > _Talks_ below), they will also appear on the talk overview page (e.g., to indicate which talks have video recordings). To prevent icon links from showing on the overview page, set the `hide_link_icons` property to `true` (default is `false`).
461
463
 
462
464
  Example:
463
465
 
464
466
  ```yaml
465
467
  conference:
466
468
  talks:
467
- # Talk categories
468
- main_categories:
469
- - name: Cat A
469
+ # Talk tracks
470
+ tracks:
471
+ - name: Track A
470
472
  color: info
471
- - name: Cat B
473
+ - name: Track B
472
474
  color: success
473
475
 
474
- # Hide icons on talk overview page
475
- hide_icons: false
476
+ # Talk tags
477
+ tags:
478
+ - name: No recording
479
+ icon: video-slash
480
+
481
+ # Hide link icons on talk overview page
482
+ hide_link_icons: false
476
483
  ```
477
484
 
478
485
  ### Speaker Settings
479
486
 
480
- In the program as well as the speaker's overview the speaker's first name can be abbreviated to its first letter. Of course, you also have the option to not specify a first name for each speaker in the first place. In order to shorten the first name add the `show_firstname: true` setting (default: `false`) to the `speakers` property.
487
+ In the program as well as the speaker's overview the speaker's first name can be abbreviated to its first letter if present. To do so, add the `show_firstname: true` setting (default: `false`) to the `speakers` property.
481
488
 
482
489
  Example:
483
490
 
@@ -489,12 +496,12 @@ conference:
489
496
 
490
497
  ### Location Settings
491
498
 
492
- In case the location of your rooms is obvious (e.g. on a campus) you can decide to disable the location page and links to all the rooms. You still need to create the different rooms as files in the `_rooms/` directory, since they are needed as a reference. But there will not be any link pointing to it (effectively hiding them).
493
- In order to hide all rooms add the `hide: true` setting (default: `false`) to the `location` property.
499
+ If the location of your rooms is obvious (e.g., on a campus) you can decide to disable the location page and links to all the rooms. You still need to create the different rooms as files in the `_rooms/` directory, since they are needed as a reference. But there will not be any link pointing to it (effectively hiding them).
500
+ To hide all rooms add the `hide: true` setting (default: `false`) to the `location` property.
494
501
 
495
502
  If your `location` overview file is not located under `/location` you can indicate an alternative path by setting the `url` property (default: `/location`) under the `location` property.
496
503
 
497
- The location main page shows a navigation bar listing all the different rooms by name. Due to the quirks of Jekyll, the main page itself cannot be listed by title as defined in its Front Matter. Instead the title of the main landing page for the navigation bar is taken from the language files and defaults to "Directions". In order to change this, you can either change the language files directly (see the _Language_ section above), or you provide an alternative title by setting the `navbar_title` to the desired title under the `location` property.
504
+ The location main page shows a navigation bar listing all the different rooms by name. Due to the quirks of Jekyll, the main page itself cannot be listed by title as defined in its Front Matter. Instead, the title of the main landing page for the navigation bar is taken from the language files and defaults to "Directions". To change this, you can either change the language files directly (see the _Language_ section above), or you provide an alternative title by setting the `navbar_title` to the desired title under the `location` property.
498
505
 
499
506
  The `location` layout can include a map to point to your venue by adding the `map: true` setting (default: `true`) to the `location` property. See the _Map_ section above for more information.
500
507
 
@@ -504,8 +511,8 @@ Example:
504
511
  conference:
505
512
  location:
506
513
  hide: false
507
- url: '/location'
508
- navbar_title: 'Location'
514
+ url: "/location"
515
+ navbar_title: "Location"
509
516
  map: true
510
517
  ```
511
518
 
@@ -559,26 +566,26 @@ conference:
559
566
 
560
567
  ## Content
561
568
 
562
- The different talks, speakers and rooms are stored as a collection of file. Each file contains a small header in form of a YAML block (called [FrontMatter](https://jekyllrb.com/docs/front-matter/)) which is used to store additional information beside a description.
563
- The actual schedule defining when and in which room a talk takes place is stored as a [YAML data file](https://jekyllrb.com/docs/datafiles/).
569
+ The different talks, speakers and rooms are stored as a collection of files. Each file contains a small header in form of a YAML block (called [FrontMatter](https://jekyllrb.com/docs/front-matter/)) used to store additional information beside a description.
570
+ The schedule defining when and in which room a talk takes place is stored as a [YAML data file](https://jekyllrb.com/docs/datafiles/).
564
571
 
565
572
  ### Schedule / Program
566
573
 
567
- The schedule of the conference linking the talks with the rooms and indicating when each talk talks place and how long it goes is set in the `_data/program.yml` file. It contains a list of days, whereby each day contains a list of rooms, whereby each room contains a list of talks.
574
+ The schedule of the conference linking the talks with the rooms and indicating when each talk talks place and how long it goes, is set in the `_data/program.yml` file. It contains a list of days, whereby each day contains a list of rooms, whereby each room contains a list of talks.
568
575
 
569
576
  Each day consists of
570
577
 
571
578
  - a list of rooms (`rooms`) in which talks are taking place on that day
572
- - optionally, the day's `name`, e.g. the weekday
579
+ - optionally, the day's `name`, e.g., the weekday
573
580
  - optionally, the short form of the day's name (`abbr`), and
574
- - optionally only if no live indications are active, a `date` in the format `YYYY-MM-DD`.
581
+ - optionally and only if no live indications are active, a `date` in the format `YYYY-MM-DD`.
575
582
 
576
583
  Each room consists of
577
584
 
578
585
  - the room's `name` (must correspond to one of the room identifier), and
579
586
  - a list of talks (`talks`) which also can be empty `[]`.
580
587
 
581
- The order of the rooms in the list defines the order of the rooms as shown in the schedule on the program page. For the live streaming or the room overview the order of the rooms is alphabetical but can be adapted via the [main configuration file](https://jekyllrb.com/docs/collections/#sort-by-front-matter-key).
588
+ The order of the rooms in the list defines the order of the rooms as shown in the schedule on the program page. For the live-streaming or the room overview the order of the rooms is alphabetical but can be adapted via the [main configuration file](https://jekyllrb.com/docs/collections/#sort-by-front-matter-key).
582
589
 
583
590
  Each talk consists of
584
591
 
@@ -586,30 +593,30 @@ Each talk consists of
586
593
  - a starting time `time_start` given as `H:M` ([`strftime`](http://www.strfti.me) formated) or `H:M +∆` whereby ∆ is the day offset in relation to the date given for the given day, and
587
594
  - an end time `time_end`.
588
595
 
589
- The list of talks should (manually) be ordered by time, i.e. the first occurring talk should be listed first.
596
+ The list of talks should (manually) be ordered by time, i.e., the first occurring talk should be listed first.
590
597
 
591
598
  Example:
592
599
 
593
600
  ```yaml
594
601
  days:
595
- - name: Monday
596
- abbr: Mo
597
- date: 2020-01-31
598
- rooms:
599
- - name: Room A
600
- talks:
601
- - name: Vim Impetus Placerat Cotidieque Ad
602
- time_start: '12:00'
603
- time_end: '12:45'
604
- - name: Condimentum Vitae Sapien Pellentesque
605
- time_start: '12:45'
606
- time_end: '13:30'
607
-
608
- - name: Room B
609
- talks:
610
- - name: Arcu Non Odio
611
- time_start: '12:00'
612
- time_end: '13:00'
602
+ - name: Monday
603
+ abbr: Mo
604
+ date: 2020-01-31
605
+ rooms:
606
+ - name: Room A
607
+ talks:
608
+ - name: Vim Impetus Placerat Cotidieque Ad
609
+ time_start: "12:00"
610
+ time_end: "12:45"
611
+ - name: Condimentum Vitae Sapien Pellentesque
612
+ time_start: "12:45"
613
+ time_end: "13:30"
614
+
615
+ - name: Room B
616
+ talks:
617
+ - name: Arcu Non Odio
618
+ time_start: "12:00"
619
+ time_end: "13:00"
613
620
  ```
614
621
 
615
622
  ### Talks
@@ -618,10 +625,25 @@ Each talk is represented by a file in the `_talks/` directory. It must begin wit
618
625
 
619
626
  - the talk's `name` (used as identifier),
620
627
  - one or more existing `speakers` name(s),
621
- - optionally one or more `categories` of which one should be a main category as defined in the site's configuration,
622
- - optionally a list of `links` (see the _Links_ subsection below for the available properties per link; links with icons are treated separately and are also included on the talk overview page),
623
- - optionally a list of `live: links` (see the _Links_ subsection below for the available properties per link) which are shown below the live stream for the given talk in form of buttons, and
624
- - optionally `hide: true` if the talk's page should not be linked to.
628
+ - optionally, a `track` which should match the tracks defined in the site's configuration,
629
+ - optionally, a list of `tags`
630
+ - optionally, a list of `links` (see the _Links_ subsection below for the available properties):
631
+ - Links with an `icon` are treated separately and are also included on the talk overview page.
632
+ - Links with `live: true` are only shown below the live stream for the given talk in form of buttons.
633
+ - optionally, `hide: true` if the talk's page should not be linked to.
634
+
635
+ Example:
636
+
637
+ ```yaml
638
+ ---
639
+ name: Vim Impetus Placerat Cotidieque Ad
640
+ speakers:
641
+ - Tolga Philip
642
+ track: Track A
643
+ tags:
644
+ - Short
645
+ ---
646
+ ```
625
647
 
626
648
  ### Speakers
627
649
 
@@ -630,20 +652,34 @@ Each speaker is represented by a file in the `_speakers/` directory. It must beg
630
652
  - the speaker's `name` (used as identifier), as well as its
631
653
  - `first_name`,
632
654
  - `last_name`,
633
- - optionally a list of `links` (see the _Links_ subsection below for the available properties per link; links with icons are treated separately), and
634
- - optionally `hide: true` if the speaker's page should not be linked to.
655
+ - optionally, a list of `links` (see the _Links_ subsection below for the available properties):
656
+ - Links with an `icon` are treated separately and are also included on the speaker overview page.
657
+ - optionally, `hide: true` if the speaker's page should not be linked to.
635
658
 
636
659
  If the speaker's name consists only out of one word, populate the `last_name` property and leave the `first_name` property empty. The last name is generally used for sorting the speakers.
637
660
 
661
+ Example:
662
+
663
+ ```yaml
664
+ ---
665
+ name: Tolga Philip
666
+ first_name: Tolga
667
+ last_name: Philip
668
+ links:
669
+ - name: Profile
670
+ absolute_url: https://github.com
671
+ ---
672
+ ```
673
+
638
674
  ### Rooms
639
675
 
640
676
  Each room is represented by a file in the `_rooms/` directory. It must begin with valid [YAML Front Matter](https://jekyllrb.com/docs/frontmatter/) containing
641
677
 
642
678
  - the room's `name`
643
- - optionally `hide: true` if the room's page should not be linked to, and
644
- - optionally under the `live` property a URL pointing to a live stream for the given room during the conference (see the section _Live Indications & Streaming_ above), either:
645
- * as an `absolute_url`, or
646
- * a `relative_url`.
679
+ - optionally, `hide: true` if the room's page should not be linked to, and
680
+ - optionally under the `live` property, a URL pointing to a live stream for the given room during the conference (see the section _Live Indications & Streaming_ above), either:
681
+ - as an `absolute_url`, or
682
+ - a `relative_url`.
647
683
 
648
684
  Example:
649
685
 
@@ -654,8 +690,6 @@ hide: false
654
690
  live:
655
691
  absolute_url: https://github.com
656
692
  ---
657
-
658
- ...
659
693
  ```
660
694
 
661
695
  ### Links
@@ -663,31 +697,42 @@ live:
663
697
  Links are used at different location throughout the theme: They can either be used in the configuration file (for the landing page or the navigation bar), or in talks and for speakers. A link can thereby have the following properties:
664
698
 
665
699
  - the text to show (`name`),
666
- - optionally if it is disabled (`disabled: true`),
667
- - optionally if it should open in a iframe embedded in a popup-like modal in the site it self (`iframe: true`, e.g. for embedding videos thus having a default iframe ratio of 24:11)
668
- - optionally an icon to show (indicating the name of a [FontAwesome](https://fontawesome.com/icons?d=gallery&s=solid&m=free) icon to be shown if supported at the given location)
669
- - the actual link address:
670
- + given relatively to the site's base address: `relative_url:`,
671
- + given absolute: `absolute_url:`,
672
- + pointing to a file uploaded to the `/documents` folder (for talks `/documents/slides`, for speakers `/documents/bio`): `file:`
673
- + pointing to an external video: `video:`
700
+ - the link address:
701
+ - _relative_ to the site's base address: `relative_url:`,
702
+ - as an _absolute_ address: `absolute_url:`,
703
+ - pointing to a _file_ uploaded to the `/documents` folder: `file:`, or
704
+ - pointing to an external _video_: `video:`.
705
+ - optionally, if it is disabled (`disabled: true`),
706
+ - optionally, if it should open in a iframe embedded in a popup-like modal (`iframe: true`), and
707
+ - optionally, an icon to show in front of the title (`icon: ` followed by the [FontAwesome](https://fontawesome.com/icons?d=gallery&s=solid&m=free) icon name to show).
674
708
 
675
- Additionally, a navigation bar or main landing page link can also have the following properties:
709
+ Using the `file:` indicator, the
676
710
 
677
- - `menu` containing another list of links. This creates a dropdown menu of multiple sublinks. The sublinks have the same properties as regular links, or
678
- - `live` making the link only visible during the conference and adds a live indication. The `name` property can be omitted. Using the optional `name_inactive` property shows a placeholder text while the conference is **not** live. If streaming is enabled and any URL property is omitted, a click on the link will open the streaming modal (see section _Live Indications_ above).
711
+ - link address is set to
712
+ - the site's base address followed by `/documents/slides` and the value for _talks_,
713
+ - the site's base address followed by `/documents/bio` and the value for _speakers_, or
714
+ - the site's base address followed by `/documents` and the value for all remaining types.
715
+ - the link's `icon:` is set to `file-alt`.
679
716
 
680
- Using the `file:` indicator, the relative address is automatically set as well as the icon. Using the `video:` indicator, the link is automatically configured to open in an iframe with a corresponding title and the icon is set.
717
+ Using the `video:` indicator, the
681
718
 
682
- Example:
719
+ - link address is set to an absolute address as given by the value.
720
+ - the link's `iframe:` attribute is set to `true` top embed the video in a popup-like modal having a default iframe ratio of 24:11.
721
+ - the link's `icon:` is set to `video`.
683
722
 
684
- ```yaml
685
- links:
686
- - name: Slides
687
- file: slides.pdf
688
- - name: Recording
689
- video: https://media.ccc.de/
690
- ```
723
+ Additionally, a _talk_ link can also have the following property:
724
+
725
+ - `live: true` whereby the link is only shown below the live stream for the given talk in form of buttons.
726
+
727
+ Additionally, a _navigation bar_ or _main landing page_ link can also have the following properties:
728
+
729
+ - `live: true` making the link only visible during the conference and adds a live indication.
730
+ - The link is only shown if `name` is set. If `name` is an empty string, "Live Stream" is shown instead.
731
+ - If `name_inactive` is set, its value is used to be shown as a placeholder text, while the conference is **not** live. If `name_inactive` is an empty string, "Live Stream" is shown instead.
732
+ - If streaming is enabled and any URL property is omitted, a click on the link will open the streaming modal (see section _Live Indications_ above).
733
+ - `menu` containing another list of links. This creates a dropdown menu of multiple sublinks, while the URL of the parent link is ignored. The sublinks have the same properties as regular links.
734
+
735
+ #### Import link files
691
736
 
692
737
  There exists a Python file in this repository, `_tools/import_resources.py`, which can be used to import resources such as slides and other documents from [pretalx.com](https://pretalx.com/p/about/)) via its API. It automatically downloads all files, stores them and updates the links of the talks concerned.
693
738
 
@@ -706,13 +751,12 @@ There exists a Python file in this repository, `_tools/import_resources.py`, whi
706
751
  pip install -r _tools/requirements.txt
707
752
  ```
708
753
 
709
- 4. Execute the script, e.g. to show the help type
754
+ 4. Execute the script, e.g., to show the help type
710
755
 
711
756
  ```bash
712
757
  python _tools/import_resources.py --help
713
758
  ```
714
759
 
715
-
716
760
  ## Overview Pages
717
761
 
718
762
  For each of the three collections there exist a dedicated layout giving an overview among all items of the collection. Furthermore, there exists a layout to show the program as a time schedule. Simply create an empty page and associate the corresponding layout with it:
@@ -726,8 +770,8 @@ They can be empty but should contain the `layout` property in the FrontMatter he
726
770
 
727
771
  If you choose a different location for the overview pages you must:
728
772
 
729
- - in case of the `talks` and `speaker` overview file, adapt the URL of the two collections as described further above in the section _Collection URLs_, and
730
- - in case of the `location` and `program` file, adapt the corresponding `url` parameter as described further above in the sections _Location Settings_ and _Program Settings_.
773
+ - if of the `talks` and `speaker` overview file, adapt the URL of the two collections as described further above in the section _Collection URLs_, and
774
+ - if of the `location` and `program` file, adapt the corresponding `url` parameter as described further above in the sections _Location Settings_ and _Program Settings_.
731
775
 
732
776
  ### Location / Room Overview
733
777
 
@@ -741,7 +785,7 @@ The `stream-overview` layout contains all active streams on a single page (see t
741
785
 
742
786
  Additional static pages can easily be added as files and linked to via navigation bar or main landing page (see above on how to).
743
787
 
744
- Each of these pages can include a map at its end (e.g. to point to your venue) by adding the `map: true` setting to its Front Matter. See the _Map_ section above for more information.
788
+ Each of these pages can include a map at its end (e.g., to point to your venue) by adding the `map: true` setting to its Front Matter. See the _Map_ section above for more information.
745
789
 
746
790
  ## Design
747
791
 
@@ -754,14 +798,14 @@ Custom Bootstrap themes or simple color schemes such as designed with [Bootstrap
754
798
  ---
755
799
  ---
756
800
 
757
- $fa-font-path: '{{ site.baseurl }}/assets/webfonts';
801
+ $fa-font-path: "{{ site.baseurl }}/assets/webfonts";
758
802
 
759
- @import 'conference';
803
+ @import "conference";
760
804
  ```
761
805
 
762
806
  Do not skip the `$fa-font-path` variable or modify it as otherwise, the FontAwesome icons will not be able to load.
763
807
 
764
- 2. Add your Bootstrap variables in front of the `@import 'conference'` line, e.g. currently the primary color is set internally to green (instead of Bootstrap's default blue): `$primary: #074 !default;`
808
+ 2. Add your Bootstrap variables in front of the `@import 'conference'` line, e.g., currently the primary color is set internally to green (instead of Bootstrap's default blue): `$primary: #074 !default;`
765
809
  3. Add any additional CSS styles after it.
766
810
 
767
811
  ## Development
@@ -778,4 +822,4 @@ end
778
822
 
779
823
  This project is licensed under the MIT License. You can view [LICENSE.md](LICENSE.md) for more details.
780
824
 
781
- This project redistributes other opensource tools and libraries. You can view [REDISTRIBUTED.md](REDISTRIBUTED.md) for third party licenses.
825
+ This project redistributes other open source tools and libraries. You can view [REDISTRIBUTED.md](REDISTRIBUTED.md) for third party licenses.