jekyll-theme-conference 2.5.3 → 3.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +85 -50
- data/_includes/js/conference-live.js +193 -104
- data/_includes/js/conference-modal.js +32 -15
- data/_includes/js/conference-program.js +48 -0
- data/_includes/js/conference.js +11 -11
- data/_includes/js/jquery-3.5.1.min.js +2 -0
- data/_includes/partials/checks.html +66 -31
- data/_includes/partials/footer.html +4 -21
- data/_includes/partials/get_day_hash.html +20 -0
- data/_includes/partials/get_day_time.html +19 -0
- data/_includes/partials/get_link.html +56 -64
- data/_includes/partials/get_link_types.html +14 -14
- data/_includes/partials/get_live_timestamps.html +49 -0
- data/_includes/partials/get_main_category.html +9 -9
- data/_includes/partials/get_talk_time.html +7 -7
- data/_includes/partials/get_talk_timestamp.html +4 -0
- data/_includes/partials/get_time_pronoun.html +6 -0
- data/_includes/partials/header.html +15 -12
- data/_includes/partials/info_bar.html +22 -22
- data/_includes/partials/list_categories.html +2 -2
- data/_includes/partials/list_speakers.html +14 -18
- data/_includes/partials/list_sub_categories.html +7 -7
- data/_includes/partials/modal_link.html +21 -0
- data/_includes/partials/{live-modal.html → modal_live.html} +7 -10
- data/_includes/partials/navbar.html +32 -32
- data/_includes/partials/navbar_rooms.html +21 -20
- data/_includes/partials/{live_button.html → show_live_button.html} +6 -8
- data/_includes/partials/show_room.html +5 -5
- data/_includes/partials/show_talk.html +3 -3
- data/_includes/partials/show_talk_duration.html +1 -1
- data/_includes/partials/show_talk_time.html +16 -2
- data/_layouts/data.html +91 -0
- data/_layouts/home.html +17 -18
- data/_layouts/program.html +179 -148
- data/_layouts/room.html +42 -38
- data/_layouts/speaker.html +41 -39
- data/_layouts/talk-overview.html +83 -53
- data/_layouts/talk.html +38 -39
- data/_sass/conference.scss +43 -17
- data/assets/icons/live.svg +33 -57
- data/assets/js/data.json +3 -0
- data/assets/js/main.js +0 -6
- metadata +14 -9
- data/_includes/js/conference-data.js +0 -87
- data/_includes/js/jquery-3.2.1.slim.min.js +0 -4
- data/_includes/partials/get_conf_time.html +0 -54
- data/_includes/partials/get_timestamp.html +0 -4
- data/_layouts/delete_hidden.html +0 -25
@@ -4,40 +4,41 @@
|
|
4
4
|
{{ site.data.lang[site.conference.lang].location.directions | default: "Directions" }}
|
5
5
|
</a>
|
6
6
|
</li>
|
7
|
-
{
|
8
|
-
{% assign room = site.rooms | where: 'name', r.room | first %}
|
7
|
+
{%- for room in site.rooms -%}
|
9
8
|
<li class="nav-item">
|
10
|
-
{
|
9
|
+
{%- if room.hide %}
|
11
10
|
<span class="nav-item nav-link disabled">
|
12
11
|
{{ room.name }}
|
13
12
|
</span>
|
14
|
-
{
|
13
|
+
{%- else %}
|
15
14
|
<a class="nav-link {% if this_room.name == room.name %}active{% endif %}" href="{{ room.url | prepend: site.baseurl }}">
|
16
15
|
{{ room.name }}
|
17
16
|
</a>
|
18
|
-
{
|
17
|
+
{%- endif %}
|
19
18
|
</li>
|
20
|
-
{
|
21
|
-
{
|
22
|
-
{
|
23
|
-
{
|
24
|
-
{
|
25
|
-
{
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
19
|
+
{%- endfor -%}
|
20
|
+
{%- for room in site.rooms -%}
|
21
|
+
{%- assign room_displayed = false -%}
|
22
|
+
{%- for d in site.data.program.days -%}
|
23
|
+
{%- for r in d.rooms -%}
|
24
|
+
{%- if room.name == r.name -%}
|
25
|
+
{%- assign room_displayed = true -%}
|
26
|
+
{%- break -%}
|
27
|
+
{%- endif -%}
|
28
|
+
{%- endfor -%}
|
29
|
+
{%- endfor -%}
|
30
|
+
{%- unless room_displayed %}
|
30
31
|
<li class="nav-item">
|
31
|
-
{
|
32
|
+
{%- if room.hide or site.conference.location.hide %}
|
32
33
|
<span class="nav-item nav-link disabled">
|
33
34
|
{{ room.name }}
|
34
35
|
</span>
|
35
|
-
{
|
36
|
+
{%- else %}
|
36
37
|
<a class="nav-link {% if this_room.name == room.name %}active{% endif %}" href="{{ room.url | prepend: site.baseurl }}">
|
37
38
|
{{ room.name }}
|
38
39
|
</a>
|
39
|
-
{
|
40
|
+
{%- endif %}
|
40
41
|
</li>
|
41
|
-
{
|
42
|
-
{
|
42
|
+
{%- endunless -%}
|
43
|
+
{%- endfor %}
|
43
44
|
</ul>
|
@@ -1,13 +1,11 @@
|
|
1
|
-
{
|
2
|
-
{
|
3
|
-
{% assign time_end = t.time_end %}
|
4
|
-
{% include partials/get_timestamp.html %}
|
1
|
+
{%- if site.conference.live -%}
|
2
|
+
{%- include partials/get_talk_timestamp.html -%}
|
5
3
|
|
6
4
|
{%- if site.conference.live.streaming -%}
|
7
|
-
<a title="{{ link.name }}" data-toggle="modal" data-target="#stream-modal" data-room="{{ r.
|
5
|
+
<a title="{{ link.name }}" data-toggle="modal" data-target="#stream-modal" data-room="{{ r.name }}" href="#"
|
8
6
|
{%- else -%}
|
9
7
|
<span
|
10
|
-
{%- endif %} class="live-show live-button badge badge-dark font-weight-normal text-
|
8
|
+
{%- endif %} class="live-show live-button badge badge-dark font-weight-normal text-center d-none {{ live_button_styleclass }}" data-start="{{ timestamp_start }}" data-end="{{ timestamp_end }}">
|
11
9
|
<object data="{{ site.baseurl }}/assets/icons/live.svg" type="image/svg+xml">!</object>
|
12
10
|
{{ site.data.lang[site.conference.lang].live.live | default: "Live" }}
|
13
11
|
{%- if site.conference.live.streaming -%}
|
@@ -15,5 +13,5 @@
|
|
15
13
|
{%- else -%}
|
16
14
|
</span>
|
17
15
|
{%- endif -%}
|
18
|
-
{
|
19
|
-
{
|
16
|
+
{%- assign live_button_styleclass = "" -%}
|
17
|
+
{%- endif -%}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
{
|
2
|
-
<span class="badge badge-light font-weight-normal text-left"><i class="far fa-square"></i
|
3
|
-
{
|
4
|
-
<a href="{{ room.url | prepend: site.baseurl }}" class="badge badge-light font-weight-normal"><i class="far fa-square"></i
|
5
|
-
{
|
1
|
+
{%- if room.hide or site.conference.location.hide -%}
|
2
|
+
<span class="badge badge-light font-weight-normal text-left"><i class="far fa-square"></i> {{ room.name }}</span>
|
3
|
+
{%- else -%}
|
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
|
+
{%- endif -%}
|
@@ -1,3 +1,17 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
{%- assign nbr_days = site.data.program.days | size -%}
|
2
|
+
|
3
|
+
<a href="
|
4
|
+
{{- site.conference.program.url | prepend: site.baseurl -}}
|
5
|
+
{%- if nbr_days > 1 and day_hash -%}
|
6
|
+
#{{ day_hash }}
|
7
|
+
{%- endif -%}
|
8
|
+
" class="badge badge-light font-weight-normal text-left {{ talk_time_styleclass }}">
|
9
|
+
<i class="far fa-clock"></i>
|
10
|
+
{%- if nbr_days > 1 and day_abbr -%}
|
11
|
+
{%- unless talk_day_hide -%} {{ day_abbr }}, {% endunless -%}
|
12
|
+
{%- assign talk_day_hide = false -%}
|
13
|
+
{% endif -%}
|
14
|
+
{{- talk_start_hour -}}:{%- if talk_start_min == 0 -%}0{%- endif -%}{{- talk_start_min -}}
|
3
15
|
</a>
|
16
|
+
|
17
|
+
{%- assign talk_time_styleclass = "" -%}
|
data/_layouts/data.html
ADDED
@@ -0,0 +1,91 @@
|
|
1
|
+
{% if site.conference.live and site.conference.live.streaming -%}
|
2
|
+
{
|
3
|
+
"days": [
|
4
|
+
{%- for d in site.data.program.days %}
|
5
|
+
{
|
6
|
+
{%- include partials/get_day_hash.html %}
|
7
|
+
"name": "{{ day_name }}",
|
8
|
+
"hash": "{{ day_hash }}",
|
9
|
+
"date": "{{ d.date }}"
|
10
|
+
}{%- unless forloop.last -%},{%- endunless %}
|
11
|
+
{%- endfor %}
|
12
|
+
],
|
13
|
+
|
14
|
+
"rooms": {
|
15
|
+
{%- for room in site.rooms %}
|
16
|
+
{%- if room.live %}
|
17
|
+
"{{ room.name }}": {
|
18
|
+
"id": {{ forloop.index }},
|
19
|
+
"name": "{{ room.name }}",
|
20
|
+
"href": "{{ room.live }}"
|
21
|
+
}{%- unless forloop.last -%},{%- endunless %}
|
22
|
+
{%- endif -%}
|
23
|
+
{%- endfor %}
|
24
|
+
},
|
25
|
+
|
26
|
+
"speakers": {
|
27
|
+
{%- for speaker in site.speakers %}
|
28
|
+
"{{ speaker.name }}" : {
|
29
|
+
{%- if site.conference.speakers.show_firstname %}
|
30
|
+
"name": "{{ speaker.first_name | append: ' ' | append: speaker.last_name }}",
|
31
|
+
{%- else %}
|
32
|
+
"name": "{{ speaker.first_name | slice: 0 | append : '. ' | append: speaker.last_name }}",
|
33
|
+
{%- endif -%}
|
34
|
+
{%- if speaker.hide %}
|
35
|
+
"href": ""
|
36
|
+
{%- else %}
|
37
|
+
"href": "{{ speaker.url | prepend: site.baseurl }}"
|
38
|
+
{%- endif %}
|
39
|
+
}{%- unless forloop.last -%},{%- endunless %}
|
40
|
+
{%- endfor %}
|
41
|
+
},
|
42
|
+
|
43
|
+
"talks": {
|
44
|
+
{%- for room in site.rooms -%}
|
45
|
+
{%- assign room_has_talks = false %}
|
46
|
+
{%- for d in site.data.program.days -%}
|
47
|
+
{%- for r in d.rooms -%}
|
48
|
+
{%- if room.name == r.name and room.live %}
|
49
|
+
|
50
|
+
{%- unless room_has_talks %}
|
51
|
+
"{{ room.name | replace: '"', '\"' }}": [
|
52
|
+
{%- assign room_has_talks = true %}
|
53
|
+
{%- else -%}
|
54
|
+
,
|
55
|
+
{%- endunless -%}
|
56
|
+
|
57
|
+
{%- for t in r.talks %}
|
58
|
+
{%- assign talk = site.talks | where: 'name', t.name | first %}
|
59
|
+
{
|
60
|
+
"name": "{{ talk.name | replace: '"', '\"' }}",
|
61
|
+
|
62
|
+
{%- unless talk.hide %}
|
63
|
+
"href": "{{ talk.url | prepend: site.baseurl }}",
|
64
|
+
{%- else %}
|
65
|
+
"href": "",
|
66
|
+
{%- endunless -%}
|
67
|
+
|
68
|
+
{%- include partials/get_main_category.html %}
|
69
|
+
"color": "{{ main_cat_color }}",
|
70
|
+
"speakers": [
|
71
|
+
{%- for speaker_name in talk.speakers %}
|
72
|
+
"{{ speaker_name}}"{%- unless forloop.last -%},{%- endunless -%}
|
73
|
+
{%- endfor %}
|
74
|
+
],
|
75
|
+
|
76
|
+
{%- include partials/get_talk_timestamp.html %}
|
77
|
+
"start": {{ timestamp_start }},
|
78
|
+
"end": {{ timestamp_end }}
|
79
|
+
}{%- unless forloop.last -%},{%- endunless -%}
|
80
|
+
{%- endfor -%}
|
81
|
+
{%- endif -%}
|
82
|
+
{%- endfor -%}
|
83
|
+
{%- endfor -%}
|
84
|
+
|
85
|
+
{%- if room_has_talks %}
|
86
|
+
]{%- unless forloop.last -%},{%- endunless -%}
|
87
|
+
{%- endif -%}
|
88
|
+
{%- endfor %}
|
89
|
+
}
|
90
|
+
}
|
91
|
+
{%- endif -%}
|
data/_layouts/home.html
CHANGED
@@ -23,11 +23,12 @@
|
|
23
23
|
|
24
24
|
{% if site.conference.main.links %}
|
25
25
|
<div class="lead d-print-none">
|
26
|
+
{% assign btn_default = 'btn btn-outline-primary btn-lg mt-2 ml-1' %}
|
26
27
|
{% for link in site.conference.main.links %}
|
27
28
|
|
28
29
|
{% if link.menu %}
|
29
30
|
<div class="dropdown d-inline">
|
30
|
-
<a class="
|
31
|
+
<a class="{{ btn_default }} dropdown-toggle" href="#" role="button" id="main-dropdown{{ forloop.index0 }}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
31
32
|
{{ link.name }}
|
32
33
|
</a>
|
33
34
|
<div class="dropdown-menu" aria-labelledby="main-dropdown{{ forloop.index0 }}">
|
@@ -43,27 +44,25 @@
|
|
43
44
|
</div>
|
44
45
|
|
45
46
|
{% elsif link.live %}
|
46
|
-
{
|
47
|
-
{% assign time_start = conf_start %}
|
48
|
-
{% assign time_end = conf_end %}
|
49
|
-
{% include partials/get_timestamp.html %}
|
47
|
+
{%- include partials/get_live_timestamps.html -%}
|
50
48
|
|
51
|
-
{
|
52
|
-
|
53
|
-
{
|
54
|
-
|
49
|
+
{%- if link.name -%}
|
50
|
+
{%- assign link_name = link.name -%}
|
51
|
+
{%- else -%}
|
52
|
+
{%- assign link_name = site.data.lang[site.conference.lang].live.streaming | default: "Live Stream" -%}
|
53
|
+
{%- endif -%}
|
55
54
|
|
56
|
-
{
|
57
|
-
{
|
58
|
-
|
59
|
-
|
60
|
-
{
|
55
|
+
{%- if link.name_inactive -%}
|
56
|
+
<span class="live-hide {{ btn_default }} disabled" data-start="{{ live_starts }}" data-end="{{ live_ends }}">
|
57
|
+
{{ link.name_inactive }}
|
58
|
+
</span>
|
59
|
+
{%- endif -%}
|
61
60
|
|
62
|
-
<span class="live-show d-none" data-start="{{
|
61
|
+
<span class="live-show d-none" data-start="{{ live_starts }}" data-end="{{ live_ends }}">
|
63
62
|
{% if site.conference.live.streaming %}
|
64
|
-
<a class="
|
63
|
+
<a class="{{ btn_default }}" title="{{ link_name }}" data-toggle="modal" data-target="#stream-modal" data-room="" href="#">
|
65
64
|
{% else %}
|
66
|
-
{% assign link_styleclass = "
|
65
|
+
{% assign link_styleclass = "{{ btn_default }}" %}
|
67
66
|
{% include partials/get_link.html %}
|
68
67
|
{{ link_tag }}
|
69
68
|
{% endif %}
|
@@ -73,7 +72,7 @@
|
|
73
72
|
</span>
|
74
73
|
|
75
74
|
{% else %}
|
76
|
-
{% assign link_styleclass =
|
75
|
+
{% assign link_styleclass = btn_default %}
|
77
76
|
{% include partials/get_link.html %}
|
78
77
|
{{ link_tag }}
|
79
78
|
{{ link.name }}
|
data/_layouts/program.html
CHANGED
@@ -1,161 +1,192 @@
|
|
1
1
|
{% include partials/header.html %}
|
2
|
-
|
3
|
-
|
4
|
-
{%
|
5
|
-
|
6
|
-
|
7
|
-
{
|
8
|
-
{{
|
9
|
-
{
|
10
|
-
{{ site.data.lang[site.conference.lang].program.title | default: "Program" }}
|
11
|
-
{% endif %}
|
2
|
+
{% assign nbr_days = site.data.program.days | size -%}
|
3
|
+
|
4
|
+
<h1 class="display-5 {% if nbr_days > 1 -%} mb-2 {%- else -%} mb-4 {%- endif %}">
|
5
|
+
{%- if page.title -%}
|
6
|
+
{{- page.title -}}
|
7
|
+
{%- else -%}
|
8
|
+
{{- site.data.lang[site.conference.lang].program.title | default: "Program" -}}
|
9
|
+
{%- endif -%}
|
12
10
|
</h1>
|
13
11
|
|
14
12
|
{{ content }}
|
15
13
|
|
16
|
-
|
17
|
-
<
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
<
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
</thead>
|
38
|
-
</table>
|
39
|
-
</div>
|
40
|
-
|
41
|
-
<div class="syncscroll overflow-y-hidden" name="sync-table">
|
42
|
-
<table class="table">
|
43
|
-
<tbody>
|
44
|
-
<!--
|
45
|
-
The shadow of a previous program block should be above a later program block, thus
|
46
|
-
the earlier a program block the higher its z-index (opposite to the actual rendering).
|
47
|
-
|
48
|
-
Bootstrap uses as lowest z-index for its overlapping elements a z-index of 1000 (for
|
49
|
-
$zindex-dropdown).
|
50
|
-
-->
|
51
|
-
{% assign z-index-max = 999 %}
|
52
|
-
|
53
|
-
{% for i in (1..nbr_steps) %}
|
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 %}
|
56
|
-
{% if current_min < 10 %}
|
57
|
-
{% assign current_time = current_hour | append: ':0' | append: current_min %}
|
58
|
-
{% else %}
|
59
|
-
{% assign current_time = current_hour | append: ':' | append: current_min %}
|
60
|
-
{% endif %}
|
61
|
-
|
14
|
+
{%- if nbr_days > 1 %}
|
15
|
+
<ul class="nav justify-content-center mb-3 btn-group" id="day-list" role="tablist">
|
16
|
+
{%- for d in site.data.program.days -%}
|
17
|
+
{%- include partials/get_day_hash.html %}
|
18
|
+
<li class="nav-item" role="presentation">
|
19
|
+
<a class="nav-link btn btn-outline-secondary {%- if forloop.index == 1 %} active{% endif %}" id="tab-{{ day_hash }}" data-toggle="tab" {%- if d.date %} data-date="{{ d.date }}" {%- endif %} href="#{{ day_hash }}" role="tab" aria-controls="{{ day_hash }}" aria-selected="{% if forloop.index == 1 %}true{% else %}false{% endif %}">{{ day_name }}</a>
|
20
|
+
</li>
|
21
|
+
{%- endfor %}
|
22
|
+
</ul>
|
23
|
+
<div class="tab-content" id="day-content">
|
24
|
+
{%- endif %}
|
25
|
+
|
26
|
+
{%- for d in site.data.program.days -%}
|
27
|
+
{%- if nbr_days > 1 -%}
|
28
|
+
{%- include partials/get_day_hash.html %}
|
29
|
+
<div class="tab-pane {%- if forloop.index == 1 %} active{% endif %}" id="{{ day_hash }}" role="tabpanel" aria-labelledby="tab-{{ day_hash }}">
|
30
|
+
{%- endif %}
|
31
|
+
|
32
|
+
<div class="sticky-top syncscroll overflow-hidden" name="sync-table">
|
33
|
+
<table class="table mb-0 mx-auto">
|
34
|
+
<thead>
|
62
35
|
<tr>
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
36
|
+
<th scope="col" class="col-title text-right">#<span class="invisible">I0</span></th>
|
37
|
+
<th class="col-space p-0" scope="col"></th>
|
38
|
+
{%- assign nbr_rooms = d.rooms | size -%}
|
39
|
+
{%- for r in d.rooms -%}
|
40
|
+
{%- assign room = site.rooms | where: 'name', r.name | first %}
|
41
|
+
<th scope="col" class="text-center">
|
42
|
+
{%- if room.hide or site.conference.location.hide -%}
|
43
|
+
{{- room.name -}}
|
44
|
+
{%- else -%}
|
45
|
+
<a class="text-reset" href="{{ room.url | prepend: site.baseurl }}">
|
46
|
+
{{- room.name -}}
|
47
|
+
</a>
|
48
|
+
{%- endif -%}
|
67
49
|
</th>
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
{% else %}
|
73
|
-
<th scope="row" style="z-index: {{ z-index-max }}"></th>
|
74
|
-
{% endif %}
|
75
|
-
<td class="p-0"></td>
|
76
|
-
|
77
|
-
{% for r in site.data.program %}
|
78
|
-
{% assign room = site.rooms | where: 'name', r.room | first %}
|
79
|
-
|
80
|
-
{% assign active_talk = false %}
|
81
|
-
{% for t in r.talks %}
|
82
|
-
{% assign talk = site.talks | where: 'name', t.name | first %}
|
83
|
-
|
84
|
-
{% include partials/get_talk_time.html %}
|
85
|
-
|
86
|
-
{% assign d_start_hour = current_hour | minus: talk_start_hour %}
|
87
|
-
{% assign d_start_min = current_min | minus: talk_start_min %}
|
88
|
-
{% assign d_end_hour = current_hour | minus: talk_end_hour %}
|
89
|
-
{% assign d_end_min = current_min | minus: talk_end_min %}
|
90
|
-
|
91
|
-
{% assign has_started = false %}
|
92
|
-
{% if d_start_hour == 0 and d_start_min > 0 %}
|
93
|
-
{% assign has_started = true %}
|
94
|
-
{% endif %}
|
95
|
-
{% if d_start_hour > 0 %}
|
96
|
-
{% assign has_started = true %}
|
97
|
-
{% endif %}
|
98
|
-
|
99
|
-
{% assign has_ended = false %}
|
100
|
-
{% if d_end_hour == 0 and d_end_min >= 0 %}
|
101
|
-
{% assign has_ended = true %}
|
102
|
-
{% endif %}
|
103
|
-
{% if d_end_hour > 0 %}
|
104
|
-
{% assign has_ended = true %}
|
105
|
-
{% endif %}
|
106
|
-
|
107
|
-
{% if has_started and has_ended == false %}
|
108
|
-
{% assign active_talk = true %}
|
109
|
-
{% endif %}
|
110
|
-
|
111
|
-
{% if d_start_hour == 0 and d_start_min == 0 %}
|
112
|
-
|
113
|
-
{% assign talk_nbr_steps = talk_duration_min | divided_by: site.conference.program.time_steps %}
|
114
|
-
{% include partials/get_main_category.html %}
|
115
|
-
<td rowspan="{{ talk_nbr_steps }}" class="alert alert-{{ main_cat_color }} shadow-sm" style="z-index: {{ z-index-max | minus: i }}">
|
116
|
-
|
117
|
-
{% assign live_button_styleclass = "mb-2" %}
|
118
|
-
{% include partials/live_button.html %}
|
119
|
-
|
120
|
-
<p class="mb-2">
|
121
|
-
{% include partials/show_talk.html %}
|
122
|
-
</p>
|
123
|
-
<p class="font-weight-light mb-2">
|
124
|
-
{% include partials/list_speakers.html %}
|
125
|
-
</p>
|
126
|
-
<p class="mb-1">
|
127
|
-
{% include partials/list_sub_categories.html %}
|
128
|
-
</p>
|
129
|
-
</td>
|
130
|
-
{% assign active_talk = true %}
|
131
|
-
|
132
|
-
{% endif %}
|
133
|
-
|
134
|
-
{% endfor %}
|
135
|
-
|
136
|
-
{% unless active_talk %}
|
137
|
-
<td class="p-0"></td>
|
138
|
-
{% endunless %}
|
139
|
-
|
140
|
-
{% if forloop.last != true %}
|
141
|
-
<td class="p-0"></td>
|
142
|
-
{% endif %}
|
143
|
-
|
144
|
-
{% endfor %}
|
145
|
-
|
50
|
+
{%- unless forloop.last %}
|
51
|
+
<th class="col-space p-0" scope="col"></th>
|
52
|
+
{%- endunless -%}
|
53
|
+
{%- endfor %}
|
146
54
|
</tr>
|
147
|
-
|
148
|
-
</
|
149
|
-
</
|
150
|
-
|
151
|
-
|
152
|
-
|
55
|
+
</thead>
|
56
|
+
</table>
|
57
|
+
</div>
|
58
|
+
|
59
|
+
<div class="syncscroll overflow-y-hidden" name="sync-table">
|
60
|
+
<table class="table mx-auto">
|
61
|
+
<tbody>
|
62
|
+
{%- include partials/get_day_time.html -%}
|
63
|
+
|
64
|
+
{%- assign day_duration_min = day_end_hour | minus: day_start_hour | times: 60 | minus: day_start_min | plus: day_end_min -%}
|
65
|
+
{%- assign nbr_steps = day_duration_min | divided_by: site.conference.program.time_steps -%}
|
66
|
+
|
67
|
+
<!--
|
68
|
+
The shadow of a previous program block should be above a later program block, thus
|
69
|
+
the earlier a program block the higher its z-index (opposite to the actual rendering).
|
70
|
+
|
71
|
+
Bootstrap uses as lowest z-index for its overlapping elements a z-index of 1000 (for
|
72
|
+
$zindex-dropdown).
|
73
|
+
-->
|
74
|
+
{%- assign z-index-max = 999 -%}
|
75
|
+
|
76
|
+
{%- for i in (1..nbr_steps) -%}
|
77
|
+
{%- assign current_hour = i | minus: 1 | times: site.conference.program.time_steps | plus: day_start_min | divided_by: 60 | floor | plus: day_start_hour | modulo: 24 -%}
|
78
|
+
{%- assign current_min = i | minus: 1 | times: site.conference.program.time_steps | plus: day_start_min | modulo: 60 -%}
|
79
|
+
{%- if current_min < 10 -%}
|
80
|
+
{%- assign current_time = current_hour | append: ':0' | append: current_min -%}
|
81
|
+
{%- else -%}
|
82
|
+
{%- assign current_time = current_hour | append: ':' | append: current_min -%}
|
83
|
+
{%- endif -%}
|
84
|
+
|
85
|
+
<tr>
|
86
|
+
|
87
|
+
{%- if current_min == 0 -%}
|
88
|
+
<th scope="row" class="col-title text-right" style="z-index: {{ z-index-max }}">
|
89
|
+
{{- current_time -}}
|
90
|
+
</th>
|
91
|
+
{%- elsif site.conference.program.show_alltimes -%}
|
92
|
+
<th scope="row" class="col-title text-right text-muted font-weight-normal" style="z-index: {{ z-index-max }}">
|
93
|
+
:{{ current_min }}
|
94
|
+
</th>
|
95
|
+
{%- else -%}
|
96
|
+
<th scope="row" class="col-title" style="z-index: {{ z-index-max }}"></th>
|
97
|
+
{%- endif %}
|
98
|
+
<td class="col-space p-0"></td>
|
99
|
+
|
100
|
+
{%- for r in d.rooms -%}
|
101
|
+
{%- assign room = site.rooms | where: 'name', r.name | first -%}
|
102
|
+
|
103
|
+
{%- assign active_talk = false -%}
|
104
|
+
{%- for t in r.talks -%}
|
105
|
+
{%- assign talk = site.talks | where: 'name', t.name | first -%}
|
106
|
+
|
107
|
+
{%- include partials/get_talk_time.html -%}
|
108
|
+
|
109
|
+
{%- assign d_start_hour = current_hour | minus: talk_start_hour -%}
|
110
|
+
{%- assign d_start_min = current_min | minus: talk_start_min -%}
|
111
|
+
{%- assign d_end_hour = current_hour | minus: talk_end_hour -%}
|
112
|
+
{%- assign d_end_min = current_min | minus: talk_end_min -%}
|
113
|
+
|
114
|
+
{%- assign has_started = false -%}
|
115
|
+
{%- if d_start_hour == 0 and d_start_min > 0 -%}
|
116
|
+
{%- assign has_started = true -%}
|
117
|
+
{%- endif -%}
|
118
|
+
{%- if d_start_hour > 0 -%}
|
119
|
+
{%- assign has_started = true -%}
|
120
|
+
{%- endif -%}
|
121
|
+
|
122
|
+
{%- assign has_ended = false -%}
|
123
|
+
{%- if d_end_hour == 0 and d_end_min >= 0 -%}
|
124
|
+
{%- assign has_ended = true -%}
|
125
|
+
{%- endif -%}
|
126
|
+
{%- if d_end_hour > 0 -%}
|
127
|
+
{%- assign has_ended = true -%}
|
128
|
+
{%- endif -%}
|
129
|
+
|
130
|
+
{%- if has_started and has_ended == false -%}
|
131
|
+
{%- assign active_talk = true -%}
|
132
|
+
{%- endif -%}
|
133
|
+
|
134
|
+
{%- if d_start_hour == 0 and d_start_min == 0 -%}
|
135
|
+
|
136
|
+
{%- assign talk_nbr_steps = talk_duration_min | divided_by: site.conference.program.time_steps -%}
|
137
|
+
{%- include partials/get_main_category.html -%}
|
138
|
+
<td rowspan="{{ talk_nbr_steps }}" class="alert alert-{{ main_cat_color }} shadow-sm overflow-hidden" style="z-index: {{ z-index-max | minus: i }}">
|
139
|
+
|
140
|
+
{%- assign live_button_styleclass = "mb-2" %}
|
141
|
+
{%- include partials/show_live_button.html %}
|
142
|
+
|
143
|
+
<p class="mb-2">
|
144
|
+
{%- include partials/show_talk.html %}
|
145
|
+
</p>
|
146
|
+
<p class="font-weight-light mb-2">
|
147
|
+
{%- include partials/list_speakers.html %}
|
148
|
+
</p>
|
149
|
+
<p class="mb-1">
|
150
|
+
{%- include partials/list_sub_categories.html %}
|
151
|
+
</p>
|
152
|
+
</td>
|
153
|
+
{%- assign active_talk = true %}
|
154
|
+
|
155
|
+
{%- endif %}
|
156
|
+
|
157
|
+
{%- endfor %}
|
158
|
+
|
159
|
+
{%- unless active_talk %}
|
160
|
+
<td class="p-0"></td>
|
161
|
+
{%- endunless -%}
|
162
|
+
|
163
|
+
{%- if forloop.last != true %}
|
164
|
+
<td class="col-space p-0"></td>
|
165
|
+
{%- endif -%}
|
166
|
+
|
167
|
+
{%- endfor %}
|
168
|
+
|
169
|
+
</tr>
|
170
|
+
{%- endfor %}
|
171
|
+
</tbody>
|
172
|
+
</table>
|
173
|
+
</div>
|
174
|
+
|
175
|
+
{%- if nbr_days > 1 %}
|
176
|
+
</div>
|
177
|
+
{%- endif -%}
|
178
|
+
{%- endfor -%}
|
179
|
+
{%- if nbr_days > 1 %}
|
180
|
+
</div>
|
181
|
+
{%- endif -%}
|
182
|
+
|
183
|
+
{%- if site.conference.talks.main_categories %}
|
153
184
|
<h5 class="mt-4">{{ site.data.lang[site.conference.lang].program.legend | default: "Caption" }}</h5>
|
154
|
-
{
|
185
|
+
{%- for main_cat in site.conference.talks.main_categories %}
|
155
186
|
<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">
|
156
|
-
{{ main_cat.name }}
|
187
|
+
{{- main_cat.name -}}
|
157
188
|
</div>
|
158
|
-
{
|
159
|
-
{
|
189
|
+
{%- endfor -%}
|
190
|
+
{%- endif -%}
|
160
191
|
|
161
192
|
{% include partials/footer.html %}
|