jekyll-theme-conference 2.2.0 → 2.5.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.
@@ -1,5 +1,5 @@
1
1
  {% if room.hide or site.conference.location.hide %}
2
- <span class="badge badge-light font-weight-normal"><i class="far fa-square"></i> {{ room.name }}</span><!--
2
+ <span class="badge badge-light font-weight-normal text-left"><i class="far fa-square"></i> {{ room.name }}</span><!--
3
3
  {% else %}
4
4
  <a href="{{ room.url | prepend: site.baseurl }}" class="badge badge-light font-weight-normal"><i class="far fa-square"></i> {{ room.name }}</a><!--
5
5
  {% endif %}-->
@@ -1,3 +1,3 @@
1
- <span class="badge badge-light font-weight-normal">
1
+ <span class="badge badge-light font-weight-normal text-left">
2
2
  <i class="fas fa-stopwatch"></i> {{ talk_duration_min }}min
3
3
  </span>
@@ -1,3 +1,3 @@
1
- <a href="{{ site.conference.program.url | prepend: site.baseurl }}" class="badge badge-light font-weight-normal">
1
+ <a href="{{ site.conference.program.url | prepend: site.baseurl }}" class="badge badge-light font-weight-normal text-left">
2
2
  <i class="far fa-clock"></i> {{ talk_start_hour }}:{% if talk_start_min == 0 %}0{%endif %}{{ talk_start_min }}
3
3
  </a>
@@ -6,7 +6,7 @@
6
6
  {% if page.title %}
7
7
  {{ page.title }}
8
8
  {% else %}
9
- {{ site.data.lang[site.conference.lang].location.title }}
9
+ {{ site.data.lang[site.conference.lang].location.title | default: "Location" }}
10
10
  {% endif %}
11
11
  </h1>
12
12
 
@@ -1,63 +1,20 @@
1
1
  {% include partials/header.html %}
2
2
 
3
- {% for room in site.data.program %}
4
- {% assign t = room.talks | first %}
5
- {% include partials/get_talk_time.html %}
6
-
7
- {% assign update_var = false %}
8
-
9
- {% unless start_hour %}
10
- {% assign update_var = true %}
11
- {% else %}
12
- {% if talk_start_hour < start_hour %}
13
- {% assign update_var = true %}
14
- {% elsif talk_start_hour == start_hour and talk_start_min < start_min %}
15
- {% assign update_var = true %}
16
- {% endif %}
17
- {% endunless %}
18
-
19
- {% if update_var %}
20
- {% assign start_hour = talk_start_hour %}
21
- {% assign start_min = talk_start_min %}
22
- {% endif %}
23
-
24
- {% assign t = room.talks | last %}
25
- {% include partials/get_talk_time.html %}
26
-
27
- {% assign update_var = false %}
28
-
29
- {% unless end_hour %}
30
- {% assign update_var = true %}
31
- {% else %}
32
- {% if talk_end_hour > end_hour %}
33
- {% assign update_var = true %}
34
- {% elsif talk_end_hour == end_hour and talk_end_min > end_min %}
35
- {% assign update_var = true %}
36
- {% endif %}
37
- {% endunless %}
38
-
39
- {% if update_var %}
40
- {% assign end_hour = talk_end_hour %}
41
- {% assign end_min = talk_end_min %}
42
- {% endif %}
43
- {% endfor %}
44
-
45
- {% assign total_duration_min = end_hour | minus: start_hour | times: 60 | minus: start_min | plus: end_min %}
46
- {% assign nbr_steps = total_duration_min | divided_by: site.conference.program.time_steps %}
47
-
3
+ {% include partials/get_conf_time.html %}
4
+ {% assign nbr_steps = conf_duration_min | divided_by: site.conference.program.time_steps %}
48
5
 
49
6
  <h1 class="display-5 mb-4">
50
7
  {% if page.title %}
51
8
  {{ page.title }}
52
9
  {% else %}
53
- {{ site.data.lang[site.conference.lang].program.title }}
10
+ {{ site.data.lang[site.conference.lang].program.title | default: "Program" }}
54
11
  {% endif %}
55
12
  </h1>
56
13
 
57
14
  {{ content }}
58
15
 
59
16
  <div class="sticky-top syncscroll overflow-hidden" name="sync-table">
60
- <table class="table">
17
+ <table class="table mb-0">
61
18
  <thead>
62
19
  <tr>
63
20
  <th scope="col" class="text-center">#</th>
@@ -94,8 +51,8 @@
94
51
  {% assign z-index-max = 999 %}
95
52
 
96
53
  {% for i in (1..nbr_steps) %}
97
- {% assign current_hour = i | minus: 1 | times: site.conference.program.time_steps | plus: start_min | divided_by: 60 | floor | plus: start_hour | modulo: 24 %}
98
- {% assign current_min = i | minus: 1 | times: site.conference.program.time_steps | plus: start_min | modulo: 60 %}
54
+ {% assign current_hour = i | minus: 1 | times: site.conference.program.time_steps | plus: conf_start_min | divided_by: 60 | floor | plus: conf_start_hour | modulo: 24 %}
55
+ {% assign current_min = i | minus: 1 | times: site.conference.program.time_steps | plus: conf_start_min | modulo: 60 %}
99
56
  {% if current_min < 10 %}
100
57
  {% assign current_time = current_hour | append: ':0' | append: current_min %}
101
58
  {% else %}
@@ -157,6 +114,9 @@
157
114
  {% include partials/get_main_category.html %}
158
115
  <td rowspan="{{ talk_nbr_steps }}" class="alert alert-{{ main_cat_color }} shadow-sm" style="z-index: {{ z-index-max | minus: i }}">
159
116
 
117
+ {% assign live_button_styleclass = "mb-2" %}
118
+ {% include partials/live_button.html %}
119
+
160
120
  <p class="mb-2">
161
121
  {% include partials/show_talk.html %}
162
122
  </p>
@@ -190,7 +150,7 @@
190
150
  </div>
191
151
 
192
152
  {% if site.conference.talks.main_categories %}
193
- <h5 class="mt-4">{{ site.data.lang[site.conference.lang].talks.legend }}</h5>
153
+ <h5 class="mt-4">{{ site.data.lang[site.conference.lang].program.legend | default: "Caption" }}</h5>
194
154
  {% for main_cat in site.conference.talks.main_categories %}
195
155
  <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
156
  {{ main_cat.name }}
@@ -7,7 +7,7 @@
7
7
 
8
8
  <!-- title shown in browser: -->
9
9
  <h1 class="display-5 mb-3 d-print-none">
10
- {{ site.data.lang[site.conference.lang].location.title }}
10
+ {{ site.data.lang[site.conference.lang].location.title | default: "Location" }}
11
11
  </h1>
12
12
 
13
13
  {% assign this_room = page %}
@@ -16,7 +16,7 @@
16
16
  {{ content }}
17
17
 
18
18
  <h5 class="mt-4 mb-2">
19
- {{ site.data.lang[site.conference.lang].location.talks }}:
19
+ {{ site.data.lang[site.conference.lang].location.talks | default: "Talks in this room" }}:
20
20
  </h5>
21
21
  <ul class="list-program list-unstyled">
22
22
  {% for r in site.data.program %}
@@ -31,6 +31,9 @@
31
31
  <div class="flex-column">
32
32
  {% include partials/get_talk_time.html %}
33
33
  {% include partials/show_talk_time.html %}
34
+
35
+ {% assign live_button_styleclass = "mb-1" %}
36
+ {% include partials/live_button.html %}
34
37
  </div>
35
38
  <div class="flex-column ml-2 pl-2 mb-2 border-soft-{{ main_cat_color }}">
36
39
  <p class="mb-0">
@@ -51,7 +54,7 @@
51
54
  {% endfor %}
52
55
  {% unless room_talks %}
53
56
  <li>
54
- <em>{{ site.data.lang[site.conference.lang].location.no_talks }}</em>
57
+ <em>{{ site.data.lang[site.conference.lang].location.no_talks | default: "no talks planned" }}</em>
55
58
  </li>
56
59
  {% endunless %}
57
60
 
@@ -4,7 +4,7 @@
4
4
  {% if page.title %}
5
5
  {{ page.title }}
6
6
  {% else %}
7
- {{ site.data.lang[site.conference.lang].speaker.overview }}
7
+ {{ site.data.lang[site.conference.lang].speaker.overview | default: "Speakers" }}
8
8
  {% endif %}
9
9
  </h1>
10
10
 
@@ -3,7 +3,7 @@
3
3
  {% assign speaker = page %}
4
4
 
5
5
  <p class="h6">
6
- {{ site.data.lang[site.conference.lang].speaker.title }}
6
+ {{ site.data.lang[site.conference.lang].speaker.title | default: "Speaker" }}
7
7
  </p>
8
8
 
9
9
  <h1 class="font-weight-light mb-3">
@@ -17,7 +17,6 @@
17
17
  {% if has_icon_links %}
18
18
  <ul class="list-unstyled">
19
19
  {% for link in speaker.links %}
20
- {% assign link_styleclass = "" %}
21
20
  {% include partials/get_link.html %}
22
21
 
23
22
  {% if link_icon %}
@@ -33,7 +32,7 @@
33
32
  {% endif %}
34
33
 
35
34
  {% if has_regular_links %}
36
- <h5 class="mt-4 mb-1">{{ site.data.lang[site.conference.lang].more_information }}:</h5>
35
+ <h5 class="mt-4 mb-1">{{ site.data.lang[site.conference.lang].more_information | default: "More Information" }}:</h5>
37
36
 
38
37
  <ul class="list-unstyled">
39
38
  {% for link in speaker.links %}
@@ -62,7 +61,7 @@
62
61
  {% endfor %}
63
62
 
64
63
  {% if active_speaker %}
65
- <h5 class="mt-4 mb-1">{{ site.data.lang[site.conference.lang].speaker.talks }}:</h5>
64
+ <h5 class="mt-4 mb-1">{{ site.data.lang[site.conference.lang].speaker.talks | default: "Talks at this conference" }}:</h5>
66
65
 
67
66
  <ul class="list-program list-unstyled">
68
67
  {% for r in site.data.program %}
@@ -83,6 +82,9 @@
83
82
  <div class="flex-column ml-2 pl-2 mb-2 border-soft-{{ main_cat_color }}">
84
83
  <p class="mb-0">
85
84
  {% include partials/show_talk.html %}
85
+
86
+ {% assign live_button_styleclass = "ml-2" %}
87
+ {% include partials/live_button.html %}
86
88
  </p>
87
89
  </div>
88
90
  </li>
@@ -98,7 +100,7 @@
98
100
  <p class="d-print-none mt-5">
99
101
  <a href="{{ page.collection | prepend: '/' | prepend: site.baseurl }}" class="btn btn-light">
100
102
  <i class="fas fa-users"></i>
101
- {{ site.data.lang[site.conference.lang].overview }}
103
+ {{ site.data.lang[site.conference.lang].overview | default: "Overview" }}
102
104
  </a>
103
105
  </p>
104
106
 
@@ -4,7 +4,7 @@
4
4
  {% if page.title %}
5
5
  {{ page.title }}
6
6
  {% else %}
7
- {{ site.data.lang[site.conference.lang].talk.overview }}
7
+ {{ site.data.lang[site.conference.lang].talk.overview | default: "Talks" }}
8
8
  {% endif %}
9
9
  </h1>
10
10
 
@@ -29,13 +29,20 @@
29
29
  {% include partials/list_speakers.html %}
30
30
  </p>
31
31
  <p class="mb-0">
32
+ {% for r in site.data.program %}
33
+ {% for t in r.talks %}
34
+ {% if talk.name == t.name %}
35
+ {% include partials/live_button.html %}
36
+ {% endif %}
37
+ {% endfor %}
38
+ {% endfor %}
32
39
  {% include partials/list_sub_categories.html %}
33
40
 
34
41
  {% include partials/get_link_types.html %}
35
42
  {% if has_icon_links and site.conference.talks.hide_icons != true %}
36
- <span class="{% if has_sub_categories %}ml-1{% endif %}">
43
+ <span class="ml-1">
37
44
  {% for link in talk.links %}
38
- {% assign link_styleclass = "" %}
45
+ {% assign link_styleclass = "text-secondary" %}
39
46
  {% include partials/get_link.html %}
40
47
  {% if link_icon %}
41
48
  {{ link_tag -}}
@@ -58,9 +65,9 @@
58
65
  {% endfor %}
59
66
  {% endfor %}
60
67
 
61
- {{ site.data.lang[site.conference.lang].pronoun.at }} {% include partials/show_talk_time.html %}
68
+ {{ site.data.lang[site.conference.lang].pronoun.at | default: "at" }} {% include partials/show_talk_time.html %}
62
69
 
63
- {{ site.data.lang[site.conference.lang].pronoun.in }} {% include partials/show_room.html %}
70
+ {{ site.data.lang[site.conference.lang].pronoun.in | default: "in" }} {% include partials/show_room.html %}
64
71
  </p>
65
72
  {% endif %}
66
73
 
@@ -32,20 +32,32 @@
32
32
  {% for t in r.talks %}
33
33
  {% if talk.name == t.name %}
34
34
 
35
+ {% if site.conference.live %}
36
+ {% assign time_start = t.time_start %}
37
+ {% assign time_end = t.time_end %}
38
+ {% include partials/get_timestamp.html %}
39
+ <span class="live-hide" data-start="{{ timestamp_start }}" data-end="{{ timestamp_end }}">
40
+ {% endif %}
41
+
35
42
  {% include partials/get_talk_time.html %}
36
43
  <span class="d-none d-sm-inline">
37
- {{ site.data.lang[site.conference.lang].pronoun.at }}
44
+ {{ site.data.lang[site.conference.lang].pronoun.at | default: "at" }}
38
45
  </span>
39
46
  {% include partials/show_talk_time.html %}
40
47
 
48
+ {% if site.conference.live %}
49
+ </span>
50
+ {% include partials/live_button.html %}
51
+ {% endif %}
52
+
41
53
  {% assign room = site.rooms | where: 'name', r.room | first %}
42
54
  <span class="d-none d-sm-inline ml-1">
43
- {{ site.data.lang[site.conference.lang].pronoun.in }}
55
+ {{ site.data.lang[site.conference.lang].pronoun.in | default: "in" }}
44
56
  </span>
45
57
  {% include partials/show_room.html %}
46
58
 
47
59
  <span class="d-none d-sm-inline ml-1">
48
- {{ site.data.lang[site.conference.lang].pronoun.for }}
60
+ {{ site.data.lang[site.conference.lang].pronoun.for | default: "for" }}
49
61
  </span>
50
62
  {% include partials/show_talk_duration.html %}
51
63
 
@@ -61,13 +73,13 @@
61
73
  {% if has_icon_links %}
62
74
  <ul class="list-unstyled">
63
75
  {% for link in talk.links %}
64
- {% assign link_styleclass = "" %}
76
+ {% assign link_styleclass = "text-reset" %}
65
77
  {% include partials/get_link.html %}
66
78
 
67
79
  {% if link_icon %}
68
80
  <li class="mb-1 ml-2">
69
81
  {{ link_tag }}
70
- <i class="fas fa-{{ link_icon }} pr-1"></i>
82
+ <i class="fas fa-{{ link_icon }} pr-1 text-{{ main_cat_color }}"></i>
71
83
  {{ link.name }}
72
84
  </a>
73
85
  </li>
@@ -77,7 +89,7 @@
77
89
  {% endif %}
78
90
 
79
91
  {% if has_regular_links %}
80
- <h5 class="mt-4 mb-1">{{ site.data.lang[site.conference.lang].more_information }}:</h5>
92
+ <h5 class="mt-4 mb-1">{{ site.data.lang[site.conference.lang].more_information | default: "More information" }}:</h5>
81
93
 
82
94
  <ul class="list-unstyled">
83
95
  {% for link in talk.links %}
@@ -85,7 +97,7 @@
85
97
  {% include partials/get_link.html %}
86
98
 
87
99
  {% unless link_icon %}
88
- <li class="mb-1 ml-2 pl-2 border-soft-primary">
100
+ <li class="mb-1 ml-2 pl-2 border-soft-{{ main_cat_color }}">
89
101
  {{ link_tag }}
90
102
  {{ link.name }}
91
103
  </a>
@@ -98,12 +110,12 @@
98
110
  <p class="d-print-none mt-5">
99
111
  <a href="{{ page.collection | prepend: '/' | prepend: site.baseurl }}" class="btn btn-light">
100
112
  <i class="fas fa-bullhorn"></i>
101
- {{ site.data.lang[site.conference.lang].overview }}
113
+ {{ site.data.lang[site.conference.lang].overview | default: "Overview" }}
102
114
  </a>
103
115
 
104
116
  <a href="{{ site.conference.program.url | prepend: site.baseurl }}" class="btn btn-light">
105
117
  <i class="far fa-calendar-alt"></i>
106
- {{ site.data.lang[site.conference.lang].program.title }}
118
+ {{ site.data.lang[site.conference.lang].program.title | default: "Program" }}
107
119
  </a>
108
120
  </p>
109
121
 
@@ -67,11 +67,27 @@ $fa-font-path: '/assets/webfonts' !default;
67
67
 
68
68
  // General
69
69
 
70
+ // Show pointer cursor on links opening modals
71
+ .cursor-pointer {
72
+ cursor: pointer;
73
+ }
74
+
70
75
  // No bottom margin on info-bar
71
76
  .alert > p:last-of-type {
72
77
  margin-bottom: 0;
73
78
  }
74
79
 
80
+ // Live button icon
81
+ .live-button > object {
82
+ width: 0.85em;
83
+ height: 0.85em;
84
+ color: white;
85
+ }
86
+ // Live button font size in navigation bar
87
+ .nav-link .live-button {
88
+ font-size: 1em;
89
+ }
90
+
75
91
  // Program
76
92
 
77
93
  // Sticky header and first column
@@ -140,6 +156,10 @@ $fa-font-path: '/assets/webfonts' !default;
140
156
  // Program per Room
141
157
  .list-program li > div.flex-column:first-of-type {
142
158
  width: 4em;
159
+
160
+ & > * {
161
+ width: 4.6em;
162
+ }
143
163
  }
144
164
 
145
165
  // Speaker
@@ -163,28 +183,6 @@ $fa-font-path: '/assets/webfonts' !default;
163
183
  }
164
184
  }
165
185
 
166
- // Modal Iframe
167
- // Adapt iframe size to window while preserving video ratio
168
- .modal-body {
169
- position: relative;
170
- width: 100%;
171
- height: 0;
172
- padding-bottom: 56.25%;
173
-
174
- iframe {
175
- position: absolute;
176
- width: 100%;
177
- height: 100%;
178
- left: 0;
179
- top: 0;
180
- }
181
- }
182
-
183
- // Add pointer cursor to links opening modals
184
- .cursor-pointer {
185
- cursor: pointer;
186
- }
187
-
188
186
 
189
187
  // Print
190
188
  @media print {
@@ -214,4 +212,12 @@ $fa-font-path: '/assets/webfonts' !default;
214
212
  .table th {
215
213
  position: inherit;
216
214
  }
215
+
216
+ // Remove live buttons
217
+ .live-show {
218
+ display: none;
219
+ }
220
+ .live-hide {
221
+ display: inline-block !important;
222
+ }
217
223
  }
@@ -0,0 +1,81 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!--
3
+ Original source of icon:
4
+ Font Awesome Free 5.15.1 by @fontawesome
5
+ https://fontawesome.com/license/free
6
+ CC BY 4.0 https://creativecommons.org/licenses/by/4.0/
7
+
8
+ Modified as following:
9
+ - Original path split from one into three separate paths (for each of the visual distinctive shapes)
10
+ - Animation of each path
11
+ - Removed attributes from SVG element to pass W3 validator
12
+ -->
13
+ <svg
14
+ focusable="false"
15
+ role="img"
16
+ viewBox="0 0 448 512"
17
+ xmlns="http://www.w3.org/2000/svg">
18
+ <path
19
+ id="dot"
20
+ fill="white"
21
+ d="M 128.081,415.959 C 128.081,451.328 99.409,480 64.04,480 28.671,480 0,451.328 0,415.959 0,380.59 28.672,351.918 64.041,351.918 c 35.369,0 64.04,28.673 64.04,64.041 z">
22
+ <animate
23
+ id="dot_hide"
24
+ attributeType="CSS"
25
+ attributeName="opacity"
26
+ from="0"
27
+ to="0"
28
+ dur="0.5s"
29
+ begin="0s;dot_animate.end+7.35s" />
30
+ <animate
31
+ id="dot_animate"
32
+ attributeType="CSS"
33
+ attributeName="opacity"
34
+ from="0"
35
+ to="1"
36
+ dur="0.15s"
37
+ begin="dot_hide.end" />
38
+ </path>
39
+ <path
40
+ id="arc_small"
41
+ fill="white"
42
+ d="M 303.741,463.209 C 295.387,308.609 171.556,184.622 16.791,176.259 7.656,175.765 0,183.105 0,192.253 v 48.069 c 0,8.415 6.49,15.472 14.887,16.018 111.832,7.284 201.473,96.702 208.772,208.772 0.547,8.397 7.604,14.887 16.018,14.887 h 48.069 c 9.149,10e-4 16.489,-7.655 15.995,-16.79 z">
43
+ <animate
44
+ id="arc_small_hide"
45
+ attributeType="CSS"
46
+ attributeName="opacity"
47
+ from="0"
48
+ to="0"
49
+ dur="0.65s"
50
+ begin="dot_hide.begin" />
51
+ <animate
52
+ id="arc_small_animate"
53
+ attributeType="CSS"
54
+ attributeName="opacity"
55
+ from="0"
56
+ to="1"
57
+ dur="0.2s"
58
+ begin="arc_small_hide.end" />
59
+ </path>
60
+ <path
61
+ id="arc_large"
62
+ fill="white"
63
+ d="M 447.99,463.497 C 439.596,229.677 251.465,40.445 16.503,32.01 7.473,31.686 0,38.981 0,48.016 v 48.068 c 0,8.625 6.835,15.645 15.453,15.999 191.179,7.839 344.627,161.316 352.465,352.465 0.353,8.618 7.373,15.453 15.999,15.453 h 48.068 c 9.034,-10e-4 16.329,-7.474 16.005,-16.504 z">
64
+ <animate
65
+ id="arc_large_hide"
66
+ attributeType="CSS"
67
+ attributeName="opacity"
68
+ from="0"
69
+ to="0"
70
+ dur="0.85s"
71
+ begin="dot_hide.begin" />
72
+ <animate
73
+ id="arc_large_animate"
74
+ attributeType="CSS"
75
+ attributeName="opacity"
76
+ from="0"
77
+ to="1"
78
+ dur="0.25s"
79
+ begin="arc_large_hide.end" />
80
+ </path>
81
+ </svg>