jekyll-theme-conference 3.6.7 → 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d8bdd1485da018cf75b0fd718f064cbf1bc69e450550ee90bc90d9dcc82c6a43
4
- data.tar.gz: c752b33abeda1d546170e16a5d187a2b083e79b89b83e829dbb0a46635b253e9
3
+ metadata.gz: 91d9e46cba9a70512c6a6151e82369891cbdb710cc05f079b74f67a0da67f65b
4
+ data.tar.gz: 1a6ff15d9fabded3d8b9c451be8826d0ee346e83611437e4a3f6fe858c0aeb89
5
5
  SHA512:
6
- metadata.gz: 6f05431d3e0f9f21f04594c81874df6610ebb3b9ab46e6e9deee9cb0dd3264d262611a6d0bea8fe5472ca60fa92175e23672338dd2ccef9c62619bf6639674d7
7
- data.tar.gz: 4ca82e19cd2f771a3872d7c082dfd8754579e303da448369baf12d847d4d59686cba7781d1dd520b8a710f4a9d9e4cbd8ebb9bef9193059616a7618bd7f77140
6
+ metadata.gz: 861b02c1ee5c839b42a49bd2ee3938c9bdb417317d25c72f3e25416ec3cce8d0b76a2d80bdacfcb240c12e8d32cba0fda2f076e9b86360a26be47d9c41797e94
7
+ data.tar.gz: 35a8e11eda40e08d5254ae59539f5226a4bebeba308221d8cac166d6a56c00376fe00649a961b4ab5c455ba006f24eee22520c7a96da35ae9d3afadbe540d2c1
data/README.md CHANGED
@@ -439,10 +439,12 @@ conference:
439
439
 
440
440
  ### Talk Settings
441
441
 
442
- 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. 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).
443
443
 
444
- - its name (`name`, must be corresponding to the listed categories in the talk's FrontMatter), and
445
- - 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:
446
448
  - `primary` (your website's main color, normally blue)
447
449
  - `secondary` (your website's secondary color, normally grey)
448
450
  - `success` (green)
@@ -452,22 +454,32 @@ Each talk can have one or multiple categories associated via FrontMatter (see th
452
454
  - `light` (white)
453
455
  - `dark` (dark grey)
454
456
 
455
- 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`).
456
463
 
457
464
  Example:
458
465
 
459
466
  ```yaml
460
467
  conference:
461
468
  talks:
462
- # Talk categories
463
- main_categories:
464
- - name: Cat A
469
+ # Talk tracks
470
+ tracks:
471
+ - name: Track A
465
472
  color: info
466
- - name: Cat B
473
+ - name: Track B
467
474
  color: success
468
475
 
469
- # Hide icons on talk overview page
470
- 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
471
483
  ```
472
484
 
473
485
  ### Speaker Settings
@@ -613,7 +625,8 @@ Each talk is represented by a file in the `_talks/` directory. It must begin wit
613
625
 
614
626
  - the talk's `name` (used as identifier),
615
627
  - one or more existing `speakers` name(s),
616
- - optionally, one or more `categories` of which one should be a main category as defined in the site's configuration,
628
+ - optionally, a `track` which should match the tracks defined in the site's configuration,
629
+ - optionally, a list of `tags`
617
630
  - optionally, a list of `links` (see the _Links_ subsection below for the available properties):
618
631
  - Links with an `icon` are treated separately and are also included on the talk overview page.
619
632
  - Links with `live: true` are only shown below the live stream for the given talk in form of buttons.
@@ -626,9 +639,9 @@ Example:
626
639
  name: Vim Impetus Placerat Cotidieque Ad
627
640
  speakers:
628
641
  - Tolga Philip
629
- categories:
630
- - Cat B
631
- - Talk
642
+ track: Track A
643
+ tags:
644
+ - Short
632
645
  ---
633
646
  ```
634
647
 
@@ -1,69 +1,105 @@
1
- {%- assign errors = '' | split: ',' -%}
2
-
3
- {%- unless site.data.lang.version -%}
4
- {%- unless site.conference.lang == "en" -%}
5
- {%- assign errors = errors | push : "The internationalization file containing different strings for this template seems to be missing. Have you copied the `_data/lang.yml` file from the [theme's repository](https://github.com/DigitaleGesellschaft/jekyll-theme-conference/blob/main/_data/lang.yml) to you local website folder?" -%}
6
- {%- endunless -%}
7
- {%- elsif site.data.lang.version != 8 -%}
8
- {%- assign errors = errors | push : "The internationalization file in `_data/lang.yml` seems to be outdated and does not correspond to the current version of the theme. Grab the current version from the [theme's repository](https://github.com/DigitaleGesellschaft/jekyll-theme-conference/blob/main/_data/lang.yml)." -%}
9
- {%- endunless -%}
10
- {%- unless site.conference.lang == "en" or site.conference.lang == "de" or site.conference.lang == "fr" or site.conference.lang == "pt" -%}
11
- {%- assign errors = errors | push : "Unknown language selected for `site.conference.lang` parameter. Supported are `en`, `de`, `fr`, and `pt`." -%}
12
- {%- endunless -%}
13
-
14
- {%- assign main_category_size = site.conference.talks.main_categories | size -%}
15
- {%- if main_category_size == 0 -%}
16
- {%- assign errors = errors | push : "Your `_config.yml` configuration file does not define any main category for your talks. Have you set the `conference.talks.main_categories` property? See also [Talk Settings](https://github.com/DigitaleGesellschaft/jekyll-theme-conference/#talk-settings) section in the theme's README file." -%}
17
- {%- endif -%}
18
-
19
- {%- assign nbr_days = site.data.program.days | size -%}
20
- {%- if nbr_days == 0 -%}
21
- {%- assign errors = errors | push : "Your schedule in `_data/program.yml` does not seem to contain any days. Have you already created the file?" -%}
22
- {%- endif -%}
23
- {%- if site.conference.live -%}
24
- {%- for d in site.data.program.days -%}
25
- {%- unless d.date or d.date == "" -%}
26
- {%- assign error_msg = "Day " | append: forloop.index | append: " in your schedule should have a (non-empty) `date` property." -%}
27
- {%- assign errors = errors | push : error_msg -%}
28
- {%- endunless -%}
29
- {%- endfor -%}
30
- {%- endif -%}
31
-
32
- {%- assign nbr_rooms = site.rooms | size -%}
33
- {%- if nbr_rooms == 0 -%}
34
- {%- assign errors = errors | push : "The `rooms` collection does not seem to contain any entry. Have you accidentially renamed the collection or is your `_rooms/` folder empty?" -%}
35
- {%- else -%}
36
- {%- for room in site.rooms -%}
37
- {%- assign nbr_rooms_name = site.rooms | where: 'name', room.name | size %}
38
- {%- if nbr_rooms_name > 1 -%}
39
- {%- assign error_msg = "The room with the `name` _" | append: room.name | append: "_ oocures more than once but should be unique." -%}
40
- {%- assign errors = errors | push : error_msg -%}
41
- {%- endif -%}
42
- {%- endfor -%}
43
- {%- endif -%}
44
-
45
- {%- assign nbr_speakers = site.speakers | size -%}
46
- {%- if nbr_speakers == 0 -%}
47
- {%- assign errors = errors | push : "The `speakers` collection does not seem to contain any entry. Have you accidentially renamed the collection or is your `_speakers/` folder empty?" -%}
48
- {%- else -%}
49
- {%- for speaker in site.speakers -%}
50
- {%- assign nbr_speakers_name = site.speakers | where: 'name', speaker.name | size %}
51
- {%- if nbr_speakers_name > 1 -%}
52
- {%- assign error_msg = "The speaker with the `name` _" | append: speaker.name | append: "_ oocures more than once but should be unique." -%}
53
- {%- assign errors = errors | push : error_msg -%}
54
- {%- endif -%}
55
- {%- endfor -%}
56
- {%- endif -%}
57
-
58
- {%- assign nbr_talks = site.talks | size -%}
59
- {%- if nbr_talks == 0 -%}
60
- {%- assign errors = errors | push : "The `talks` collection does not seem to contain any entry. Have you accidentially renamed the collection or is your `_talks/` folder empty?" -%}
61
- {%- else -%}
62
- {%- for talk in site.talks -%}
63
- {%- assign nbr_talks_name = site.talks | where: 'name', talk.name | size %}
64
- {%- if nbr_talks_name > 1 -%}
65
- {%- assign error_msg = "The talk with the `name` _" | append: talk.name | append: "_ oocures more than once but should be unique." -%}
66
- {%- assign errors = errors | push : error_msg -%}
67
- {%- endif -%}
68
- {%- endfor -%}
69
- {%- endif -%}
1
+ {%- assign errors = '' | split: ',' -%}
2
+
3
+ {%- unless site.data.lang.version -%}
4
+ {%- unless site.conference.lang == "en" -%}
5
+ {%- assign errors = errors | push: "The internationalization file containing different strings for this template seems to be missing. Have you copied the `_data/lang.yml` file from the [theme's repository](https://github.com/DigitaleGesellschaft/jekyll-theme-conference/blob/main/_data/lang.yml) to you local website folder?" -%}
6
+ {%- endunless -%}
7
+ {%- elsif site.data.lang.version != 8 -%}
8
+ {%- assign errors = errors | push: "The internationalization file in `_data/lang.yml` seems to be outdated and does not correspond to the current version of the theme. Grab the current version from the [theme's repository](https://github.com/DigitaleGesellschaft/jekyll-theme-conference/blob/main/_data/lang.yml)." -%}
9
+ {%- endunless -%}
10
+ {%- unless site.conference.lang == "en" or site.conference.lang == "de" or site.conference.lang == "fr" or site.conference.lang == "pt" -%}
11
+ {%- assign errors = errors | push: "Unknown language selected for `site.conference.lang` parameter. Supported are `en`, `de`, `fr`, and `pt`." -%}
12
+ {%- endunless -%}
13
+
14
+ {%- assign missing_tracks = "" | split: "," -%}
15
+ {%- assign talks_with_categories = 0 -%}
16
+ {%- for talk in site.talks -%}
17
+ {%- assign missing_track = 1 -%}
18
+ {%- for track in site.conference.talks.tracks -%}
19
+ {%- if talk.track == track.name -%}
20
+ {%- assign missing_track = 0 -%}
21
+ {%- break -%}
22
+ {%- endif -%}
23
+ {%- endfor -%}
24
+ {%- if missing_track > 0 -%}
25
+ {%- unless missing_tracks contains talk.track -%}
26
+ {%- assign missing_tracks = missing_tracks | push: talk.track -%}
27
+ {%- endunless -%}
28
+ {%- endif -%}
29
+ {%- if talk.categories.size > 0 -%}
30
+ {%- assign talks_with_categories = talks_with_categories | plus: 1 -%}
31
+ {%- endif -%}
32
+ {%- endfor -%}
33
+ {%- assign main_categories_size = site.conference.talks.main_categories | size -%}
34
+ {%- if main_categories_size > 0 -%}
35
+ {%- assign errors = errors | push: "Your `_config.yml` file contains an outdated property name. Please rename `conference.talks.main_categories` to `conference.talks.tracks` in your configuration. For more details, refer to the [Talk Settings](https://github.com/DigitaleGesellschaft/jekyll-theme-conference/#talk-settings) section in the theme's README." -%}
36
+ {%- endif -%}
37
+ {%- if talks_with_categories > 0 -%}
38
+ {%- assign errors = errors | push: "The `categories` property in the FrontMatter of some of your talks is deprecated. Please update it by reorganizing the content into `track` and `tags` properties instead. For more details, refer to the [Talk Settings](https://github.com/DigitaleGesellschaft/jekyll-theme-conference/#talk-settings) section in the theme's README." -%}
39
+ {%- endif -%}
40
+ {%- if missing_tracks.size > 0 -%}
41
+ {%- capture error_msg -%}
42
+ It looks like some of your talks are assigned to tracks not defined in your `_config.yml` file. Please add the following missing tracks to the `conference.talks.tracks` property in your configuration:
43
+ {%- for missing_track in missing_tracks %}
44
+ - {{ missing_track }}
45
+ {% endfor %}
46
+ For more details, refer to the [Talk Settings](https://github.com/DigitaleGesellschaft/jekyll-theme-conference/#talk-settings) section in the theme's README
47
+ {%- endcapture -%}
48
+ {%- assign errors = errors | push: error_msg -%}
49
+ {%- endif -%}
50
+
51
+ {%- if site.conference.talks.hide_icons == true -%}
52
+ {%- assign errors = errors | push: "Your `_config.yml` file contains an outdated property name. Please rename `conference.talks.hide_icons` to `conference.talks.hide_link_icons` in your configuration. For more details, refer to the [Talk Settings](https://github.com/DigitaleGesellschaft/jekyll-theme-conference/#talk-settings) section in the theme's README." -%}
53
+ {%- endif -%}
54
+
55
+ {%- assign nbr_days = site.data.program.days | size -%}
56
+ {%- if nbr_days == 0 -%}
57
+ {%- assign errors = errors | push: "Your schedule in `_data/program.yml` does not seem to contain any days. Have you already created the file?" -%}
58
+ {%- endif -%}
59
+ {%- if site.conference.live -%}
60
+ {%- for d in site.data.program.days -%}
61
+ {%- unless d.date or d.date == "" -%}
62
+ {%- assign error_msg = "Day " | append: forloop.index | append: " in your schedule should have a (non-empty) `date` property." -%}
63
+ {%- assign errors = errors | push: error_msg -%}
64
+ {%- endunless -%}
65
+ {%- endfor -%}
66
+ {%- endif -%}
67
+
68
+ {%- assign nbr_rooms = site.rooms | size -%}
69
+ {%- if nbr_rooms == 0 -%}
70
+ {%- assign errors = errors | push: "The `rooms` collection does not seem to contain any entry. Have you accidentally renamed the collection or is your `_rooms/` folder empty?" -%}
71
+ {%- else -%}
72
+ {%- for room in site.rooms -%}
73
+ {%- assign nbr_rooms_name = site.rooms | where: 'name', room.name | size -%}
74
+ {%- if nbr_rooms_name > 1 -%}
75
+ {%- assign error_msg = "The room with the `name` _" | append: room.name | append: "_ occurs more than once but should be unique." -%}
76
+ {%- assign errors = errors | push: error_msg -%}
77
+ {%- endif -%}
78
+ {%- endfor -%}
79
+ {%- endif -%}
80
+
81
+ {%- assign nbr_speakers = site.speakers | size -%}
82
+ {%- if nbr_speakers == 0 -%}
83
+ {%- assign errors = errors | push: "The `speakers` collection does not seem to contain any entry. Have you accidentally renamed the collection or is your `_speakers/` folder empty?" -%}
84
+ {%- else -%}
85
+ {%- for speaker in site.speakers -%}
86
+ {%- assign nbr_speakers_name = site.speakers | where: 'name', speaker.name | size -%}
87
+ {%- if nbr_speakers_name > 1 -%}
88
+ {%- assign error_msg = "The speaker with the `name` _" | append: speaker.name | append: "_ occurs more than once but should be unique." -%}
89
+ {%- assign errors = errors | push: error_msg -%}
90
+ {%- endif -%}
91
+ {%- endfor -%}
92
+ {%- endif -%}
93
+
94
+ {%- assign nbr_talks = site.talks | size -%}
95
+ {%- if nbr_talks == 0 -%}
96
+ {%- assign errors = errors | push: "The `talks` collection does not seem to contain any entry. Have you accidentally renamed the collection or is your `_talks/` folder empty?" -%}
97
+ {%- else -%}
98
+ {%- for talk in site.talks -%}
99
+ {%- assign nbr_talks_name = site.talks | where: 'name', talk.name | size -%}
100
+ {%- if nbr_talks_name > 1 -%}
101
+ {%- assign error_msg = "The talk with the `name` _" | append: talk.name | append: "_ occurs more than once but should be unique." -%}
102
+ {%- assign errors = errors | push: error_msg -%}
103
+ {%- endif -%}
104
+ {%- endfor -%}
105
+ {%- endif -%}
@@ -0,0 +1,13 @@
1
+ {% assign tag_icon = "" %}
2
+ {% for tag_prop in site.conference.talks.tags %}
3
+ {% if tag == tag_prop.name %}
4
+ {% if tag_prop.icon %}
5
+ {% assign tag_icon = tag_prop.icon %}
6
+ {% endif %}
7
+ {% endif %}
8
+ {% endfor %}
9
+
10
+ {% assign tag_html = tag %}
11
+ {% if tag_icon.size > 0 %}
12
+ {% assign tag_html = '<i class="fas fa-' | append: tag_icon | append: '"></i>'' %}
13
+ {% endif %}
@@ -0,0 +1,81 @@
1
+ <li class="pl-2 mb-2 border-soft-{{ track.color | default: 'light' }}">
2
+ <p class="mb-0">
3
+ {% include partials/show_talk.html %}
4
+ </p>
5
+ <p class="font-weight-light mb-0">
6
+ {% include partials/list_speakers.html %}
7
+ </p>
8
+
9
+ {% if talk.hide -%}
10
+ {%- assign talk_scheduled = false -%}
11
+ {%- for d in site.data.program.days -%}
12
+ {%- include partials/get_day_hash.html -%}
13
+ {%- for r in d.rooms -%}
14
+ {%- assign room = site.rooms | where: 'name', r.name | first -%}
15
+ {%- for t in r.talks -%}
16
+ {%- if talk.name == t.name -%}
17
+ <p class="mb-0">
18
+
19
+ {%- if site.conference.live -%}
20
+ {%- include partials/get_talk_timestamp.html -%}
21
+ <span class="live-hide" data-start="{{ timestamp_start }}" data-end="{{ timestamp_end }}">
22
+ {%- endif -%}
23
+
24
+ {%- include partials/get_time_pronoun.html -%}
25
+ {%- include partials/get_talk_time.html -%}
26
+ {{- time_pronoun }} {% include partials/show_talk_time.html %}
27
+
28
+ {%- if site.conference.live -%}
29
+ </span>
30
+ {%- include partials/show_live_button.html -%}
31
+ {%- endif %}
32
+
33
+ {{ site.data.lang[site.conference.lang].pronoun.in | default: "in" }} {% include partials/show_room.html -%}
34
+ </p>
35
+
36
+ {%- assign talk_scheduled = true -%}
37
+ {%- break -%}
38
+ {%- endif -%}
39
+ {%- endfor -%}
40
+
41
+ {%- if talk_scheduled -%}
42
+ {%- break -%}
43
+ {%- endif -%}
44
+ {%- endfor -%}
45
+
46
+ {%- if talk_scheduled -%}
47
+ {%- break -%}
48
+ {%- endif -%}
49
+ {%- endfor -%}
50
+ {%- endif %}
51
+
52
+ <p class="mb-0">
53
+ {%- if site.conference.live and talk.hide != true -%}
54
+ {% for d in site.data.program.days -%}
55
+ {%- for r in d.rooms -%}
56
+ {%- for t in r.talks -%}
57
+ {%- if talk.name == t.name -%}
58
+ {%- assign live_button_styleclass = "mr-1" -%}
59
+ {%- include partials/show_live_button.html -%}
60
+ {%- endif -%}
61
+ {%- endfor -%}
62
+ {%- endfor -%}
63
+ {%- endfor -%}
64
+ {%- endif -%}
65
+ {%- include partials/list_tags.html -%}
66
+
67
+ {%- include partials/get_link_types.html -%}
68
+ {%- if has_icon_links > 0 and site.conference.talks.hide_link_icons != true -%}
69
+ {% for link in talk.links -%}
70
+ {%- assign link_styleclass = "badge badge-light text-reset font-weight-normal mr-1" -%}
71
+ {%- include partials/get_link.html link_type="icon" -%}
72
+ {%- if link_valid -%}
73
+ {{- link_tag -}}
74
+ <i class="fas fa-{{ link_icon }} text-secondary"></i>
75
+ </a>
76
+ {%- endif -%}
77
+ {%- endfor %}
78
+ {%- endif %}
79
+ </p>
80
+
81
+ </li>
@@ -0,0 +1,6 @@
1
+ {%- for track in site.conference.talks.tracks -%}
2
+ {%- if talk.track == track.name -%}
3
+ {%- assign track_color = track.color | default: 'light' -%}
4
+ {%- break -%}
5
+ {%- endif -%}
6
+ {%- endfor -%}
@@ -0,0 +1,7 @@
1
+ {%- assign has_tags = false -%}
2
+
3
+ {%- for tag in talk.tags -%}
4
+ {%- assign has_tags = true -%}
5
+ {%- include partials/get_tag_icon.html -%}
6
+ <span class="badge badge-light text-reset font-weight-normal">{{ tag_html }}</span>&nbsp;
7
+ {%- endfor -%}
data/_layouts/data.html CHANGED
@@ -82,8 +82,8 @@
82
82
  "href": "",
83
83
  {%- endunless -%}
84
84
 
85
- {%- include partials/get_main_category.html %}
86
- "color": "{{ main_cat_color }}",
85
+ {%- include partials/get_track_properties.html %}
86
+ "color": "{{ track_color }}",
87
87
  "speakers": [
88
88
  {%- for speaker_name in talk.speakers %}
89
89
  "{{ speaker_name}}"{%- unless forloop.last -%},{%- endunless -%}
@@ -143,8 +143,8 @@
143
143
  {%- if d_start_hour == 0 and d_start_min == 0 -%}
144
144
 
145
145
  {%- assign talk_nbr_steps = talk_duration_min | divided_by: site.conference.program.time_steps -%}
146
- {%- include partials/get_main_category.html -%}
147
- <td rowspan="{{ talk_nbr_steps }}" class="alert alert-{{ main_cat_color }} shadow-sm overflow-hidden" style="z-index: {{ z-index-max | minus: i }}">
146
+ {%- include partials/get_track_properties.html -%}
147
+ <td rowspan="{{ talk_nbr_steps }}" class="alert alert-{{ track_color }} shadow-sm overflow-hidden" style="z-index: {{ z-index-max | minus: i }}">
148
148
 
149
149
  {%- assign live_button_styleclass = "mb-2" %}
150
150
  {%- include partials/show_live_button.html %}
@@ -156,7 +156,7 @@
156
156
  {%- include partials/list_speakers.html %}
157
157
  </p>
158
158
  <p class="mb-1">
159
- {%- include partials/list_sub_categories.html %}
159
+ {%- include partials/list_tags.html %}
160
160
  </p>
161
161
  </td>
162
162
  {%- assign active_talk = true %}
@@ -189,11 +189,11 @@
189
189
  </div>
190
190
  {%- endif -%}
191
191
 
192
- {%- if site.conference.talks.main_categories %}
192
+ {%- if site.conference.talks.tracks %}
193
193
  <h5 class="mt-4">{{ site.data.lang[site.conference.lang].program.legend | default: "Caption" }}</h5>
194
- {%- for main_cat in site.conference.talks.main_categories %}
195
- <div class="d-block d-sm-inline-block m-1 p-1 pl-2 pr-2 border-soft-{{ main_cat.color }} bg-soft-{{ main_cat.color }} font-weight-normal">
196
- {{- main_cat.name -}}
194
+ {%- for track in site.conference.talks.tracks %}
195
+ <div class="d-block d-sm-inline-block m-1 p-1 pl-2 pr-2 border-soft-{{ track.color | default: 'light' }} bg-soft-{{ track.color | default: 'light' }} font-weight-normal">
196
+ {{- track.name -}}
197
197
  </div>
198
198
  {%- endfor -%}
199
199
  {%- endif -%}
data/_layouts/room.html CHANGED
@@ -36,7 +36,7 @@
36
36
  <table class="list-program">
37
37
  {%- for t in r.talks -%}
38
38
  {%- assign talk = site.talks | where: 'name', t.name | first -%}
39
- {%- include partials/get_main_category.html %}
39
+ {%- include partials/get_track_properties.html %}
40
40
 
41
41
  <tr>
42
42
  <td class="pr-2">
@@ -48,7 +48,7 @@
48
48
  {%- assign live_button_styleclass = "w-100" -%}
49
49
  {% include partials/show_live_button.html %}
50
50
  </td>
51
- <td class="pl-2 border-soft-{{ main_cat_color }}">
51
+ <td class="pl-2 border-soft-{{ track_color }}">
52
52
  <p class="mb-0">
53
53
  {%- include partials/show_talk.html -%}
54
54
  </p>
@@ -77,7 +77,7 @@
77
77
  {%- for speaker_name in talk.speakers -%}
78
78
  {%- if speaker_name == speaker.name -%}
79
79
 
80
- {%- include partials/get_main_category.html -%}
80
+ {%- include partials/get_track_properties.html -%}
81
81
 
82
82
  <tr>
83
83
  <td class="pr-2 py-0">
@@ -85,7 +85,7 @@
85
85
  {%- assign talk_time_styleclass = "w-100" -%}
86
86
  {%- include partials/show_talk_time.html -%}
87
87
  </td>
88
- <td class="pl-2 py-0 align-baseline border-soft-{{ main_cat_color }}">
88
+ <td class="pl-2 py-0 align-baseline border-soft-{{ track_color }}">
89
89
  <span class="mr-2">
90
90
  {%- include partials/show_talk.html -%}
91
91
  </span>
@@ -1,112 +1,36 @@
1
1
  {% include partials/header.html %}
2
2
 
3
- <h1 class="display-5 mb-4 text-break">
4
- {%- if page.title -%}
5
- {{- page.title -}}
6
- {%- else -%}
7
- {{- site.data.lang[site.conference.lang].talk.overview | default: "Talks" -}}
8
- {%- endif -%}
9
- </h1>
10
-
11
- {{ content }}
12
-
13
- {% for main_category in site.conference.talks.main_categories %}
3
+ <h1 class="display-5 mb-4 text-break">
4
+ {%- if page.title -%}
5
+ {{- page.title -}}
6
+ {%- else -%}
7
+ {{- site.data.lang[site.conference.lang].talk.overview | default: "Talks" -}}
8
+ {%- endif -%}
9
+ </h1>
10
+
11
+ {{ content }}
12
+
13
+ {% if site.conference.talks.tracks %}
14
+ {% for track in site.conference.talks.tracks %}
14
15
  <h3 class="mt-4 mb-3">
15
- <span class="badge border-soft-{{ main_category.color }} bg-soft-{{ main_category.color }} d-block d-sm-inline text-wrap">
16
- {{ main_category.name }}
16
+ <span class="badge border-soft-{{ track.color | default: 'light' }} bg-soft-{{ track.color | default: 'light' }} d-block d-sm-inline text-wrap">
17
+ {{ track.name }}
17
18
  </span>
18
19
  </h3>
19
20
  <ul class="list-unstyled">
20
21
  {% for talk in site.talks -%}
21
- {%- for cat in talk.categories -%}
22
- {%- if cat == main_category.name -%}
23
- {%- assign main_cat = main_category.name -%}
24
- <li class="pl-2 mb-2 border-soft-{{ main_category.color }}">
25
- <p class="mb-0">
26
- {% include partials/show_talk.html %}
27
- </p>
28
- <p class="font-weight-light mb-0">
29
- {% include partials/list_speakers.html %}
30
- </p>
31
-
32
- {% if talk.hide -%}
33
- {%- assign talk_scheduled = false -%}
34
- {%- for d in site.data.program.days -%}
35
- {%- include partials/get_day_hash.html -%}
36
- {%- for r in d.rooms -%}
37
- {%- assign room = site.rooms | where: 'name', r.name | first -%}
38
- {%- for t in r.talks -%}
39
- {%- if talk.name == t.name -%}
40
- <p class="mb-0">
41
-
42
- {%- if site.conference.live -%}
43
- {%- include partials/get_talk_timestamp.html -%}
44
- <span class="live-hide" data-start="{{ timestamp_start }}" data-end="{{ timestamp_end }}">
45
- {%- endif -%}
46
-
47
- {%- include partials/get_time_pronoun.html -%}
48
- {%- include partials/get_talk_time.html -%}
49
- {{- time_pronoun }} {% include partials/show_talk_time.html %}
50
-
51
- {%- if site.conference.live -%}
52
- </span>
53
- {%- include partials/show_live_button.html -%}
54
- {%- endif %}
55
-
56
- {{ site.data.lang[site.conference.lang].pronoun.in | default: "in" }} {% include partials/show_room.html -%}
57
- </p>
58
-
59
- {%- assign talk_scheduled = true -%}
60
- {%- break -%}
61
- {%- endif -%}
62
- {%- endfor -%}
63
-
64
- {%- if talk_scheduled -%}
65
- {%- break -%}
66
- {%- endif -%}
67
- {%- endfor -%}
68
-
69
- {%- if talk_scheduled -%}
70
- {%- break -%}
71
- {%- endif -%}
72
- {%- endfor -%}
73
- {%- endif %}
74
-
75
- <p class="mb-0">
76
- {%- if site.conference.live and talk.hide != true -%}
77
- {% for d in site.data.program.days -%}
78
- {%- for r in d.rooms -%}
79
- {%- for t in r.talks -%}
80
- {%- if talk.name == t.name -%}
81
- {%- assign live_button_styleclass = "mr-1" -%}
82
- {%- include partials/show_live_button.html -%}
83
- {%- endif -%}
84
- {%- endfor -%}
85
- {%- endfor -%}
86
- {%- endfor -%}
87
- {%- endif -%}
88
- {%- include partials/list_sub_categories.html -%}
89
-
90
- {%- include partials/get_link_types.html -%}
91
- {%- if has_icon_links > 0 and site.conference.talks.hide_icons != true -%}
92
- {% for link in talk.links -%}
93
- {%- assign link_styleclass = "badge badge-light text-reset font-weight-normal mr-1" -%}
94
- {%- include partials/get_link.html link_type="icon" -%}
95
- {%- if link_valid -%}
96
- {{- link_tag -}}
97
- <i class="fas fa-{{ link_icon }} text-secondary"></i>
98
- </a>
99
- {%- endif -%}
100
- {%- endfor %}
101
- {%- endif %}
102
- </p>
103
-
104
- </li>
105
- {%- break -%}
106
- {%- endif -%}
107
- {%- endfor -%}
22
+ {% if talk.track == track.name %}
23
+ {% include partials/get_talk_overview_talk.html %}
24
+ {% endif %}
108
25
  {%- endfor %}
109
26
  </ul>
110
- {%- endfor -%}
27
+ {% endfor %}
28
+ {% else %}
29
+ <ul class="list-unstyled">
30
+ {% for talk in site.talks -%}
31
+ {% include partials/get_talk_overview_talk.html %}
32
+ {%- endfor %}
33
+ </ul>
34
+ {% endif %}
111
35
 
112
36
  {% include partials/footer.html %}
data/_layouts/talk.html CHANGED
@@ -3,24 +3,27 @@
3
3
  {%- unless talk.hide -%}
4
4
  {%- include partials/header.html -%}
5
5
 
6
- <div class="d-flex flex-md-row flex-column container-fluid mb-2 p-0">
7
- <div class="h6 mt-2 mb-0 mr-1 pr-1 pb-1">
8
- {% include partials/get_main_category.html %}
9
- <span class="d-block d-sm-inline p-1 pl-2 pr-2 border-soft-{{ main_cat_color }} bg-soft-{{ main_cat_color }} font-weight-normal">
10
- {{ main_cat }}
11
- </span>
6
+ {% if talk.track or talk.tags.size > 0 %}
7
+ <div class="d-flex flex-md-row flex-column container-fluid mb-2 p-0">
8
+ {% if talk.track %}
9
+ <div class="h6 mt-2 mb-0 mr-1 pr-1 pb-1">
10
+ {% include partials/get_track_properties.html %}
11
+ <span class="d-block d-sm-inline p-1 pl-2 pr-2 border-soft-{{ track_color }} bg-soft-{{ track_color }} font-weight-normal">
12
+ {{ talk.track }}
13
+ </span>
14
+ </div>
15
+ {% endif %}
16
+
17
+ {% if talk.tags.size > 0 %}
18
+ <div class="h6 mt-2 mb-0 ml-1 pr-1 pb-1">
19
+ {% for tag in talk.tags %}
20
+ {%- include partials/get_tag_icon.html -%}
21
+ <span class="mr-2">{{ tag_html }}</span>
22
+ {% endfor %}
23
+ </div>
24
+ {% endif %}
12
25
  </div>
13
-
14
- {% if talk.categories.size > 1 %}
15
- <div class="h6 mt-2 mb-0 ml-1 pr-1 pb-1">
16
- {% for cat in talk.categories %}
17
- {% if cat != main_cat %}
18
- <span class="mr-2">{{ cat }}</span>
19
- {% endif %}
20
- {% endfor %}
21
- </div>
22
- {% endif %}
23
- </div>
26
+ {% endif %}
24
27
 
25
28
  <h1 class="font-weight-light text-break">{{ talk.name }}</h1>
26
29
 
@@ -79,7 +82,7 @@
79
82
  {% if link_valid %}
80
83
  <li class="mb-1">
81
84
  {{ link_tag }}
82
- <span class="badge bg-soft-{{ main_cat_color }} font-weight-normal mr-1">
85
+ <span class="badge bg-soft-{{ track_color | default: 'light' }} font-weight-normal mr-1">
83
86
  <i class="fas fa-{{ link_icon }} fa-fw"></i>
84
87
  </span>
85
88
  {{- link.name }}
@@ -99,7 +102,7 @@
99
102
  {% include partials/get_link.html link_type="regular" %}
100
103
 
101
104
  {% if link_valid %}
102
- <li class="mb-1 ml-2 pl-2 border-soft-{{ main_cat_color }}">
105
+ <li class="mb-1 ml-2 pl-2 border-soft-{{ track_color | default: 'light' }}">
103
106
  {{ link_tag }}
104
107
  {{ link.name }}
105
108
  </a>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-conference
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.6.7
4
+ version: 3.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lorenz Schmid
@@ -83,19 +83,20 @@ files:
83
83
  - _includes/partials/get_link.html
84
84
  - _includes/partials/get_link_types.html
85
85
  - _includes/partials/get_live_timestamps.html
86
- - _includes/partials/get_main_category.html
87
86
  - _includes/partials/get_page_description.html
88
87
  - _includes/partials/get_page_title.html
89
88
  - _includes/partials/get_room_live_href.html
89
+ - _includes/partials/get_tag_icon.html
90
+ - _includes/partials/get_talk_overview_talk.html
90
91
  - _includes/partials/get_talk_time.html
91
92
  - _includes/partials/get_talk_timestamp.html
92
93
  - _includes/partials/get_time_pronoun.html
94
+ - _includes/partials/get_track_properties.html
93
95
  - _includes/partials/header.html
94
96
  - _includes/partials/info_bar.html
95
- - _includes/partials/list_categories.html
96
97
  - _includes/partials/list_page_meta.html
97
98
  - _includes/partials/list_speakers.html
98
- - _includes/partials/list_sub_categories.html
99
+ - _includes/partials/list_tags.html
99
100
  - _includes/partials/modal_link.html
100
101
  - _includes/partials/modal_live.html
101
102
  - _includes/partials/navbar.html
@@ -1,9 +0,0 @@
1
- {%- for main_cat in site.conference.talks.main_categories -%}
2
- {%- for cat in talk.categories -%}
3
- {%- if cat == main_cat.name -%}
4
- {%- assign main_cat = main_cat.name -%}
5
- {%- assign main_cat_color = main_cat.color -%}
6
- {%- break -%}
7
- {%- endif -%}
8
- {%- endfor -%}
9
- {%- endfor -%}
@@ -1,4 +0,0 @@
1
- {%- include partials/get_main_category.html -%}
2
-
3
- <span class="badge badge-{{ main_cat_color }}">{{ main_cat }}</span>
4
- {%- include partials/list_sub_categories.html -%}
@@ -1,8 +0,0 @@
1
- {%- assign has_sub_categories = false -%}
2
-
3
- {%- for cat in talk.categories -%}
4
- {%- if cat != main_cat -%}
5
- {%- assign has_sub_categories = true -%}
6
- <span class="badge badge-light text-reset font-weight-normal">{{ cat }}</span>&nbsp;
7
- {%- endif -%}
8
- {%- endfor -%}