jekyll-theme-conference 2.5.1 → 3.0.1
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 +4 -4
- data/README.md +89 -54
- data/_includes/js/conference-live.js +308 -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 +6 -22
- 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} +20 -9
- data/_includes/partials/navbar.html +33 -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 +54 -6
- 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 +29 -7
- data/assets/icons/live.svg +33 -57
- data/assets/js/data.json +3 -0
- data/assets/js/main.js +0 -6
- metadata +14 -8
- 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
|
@@ -22,13 +22,61 @@
|
|
|
22
22
|
{{ content }}
|
|
23
23
|
|
|
24
24
|
{% if site.conference.main.links %}
|
|
25
|
-
<
|
|
25
|
+
<div class="lead d-print-none">
|
|
26
26
|
{% for link in site.conference.main.links %}
|
|
27
|
-
|
|
28
|
-
{%
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
|
|
28
|
+
{% if link.menu %}
|
|
29
|
+
<div class="dropdown d-inline">
|
|
30
|
+
<a class="btn btn-outline-primary btn-lg mt-2 dropdown-toggle" href="#" role="button" id="main-dropdown{{ forloop.index0 }}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
31
|
+
{{ link.name }}
|
|
32
|
+
</a>
|
|
33
|
+
<div class="dropdown-menu" aria-labelledby="main-dropdown{{ forloop.index0 }}">
|
|
34
|
+
{% assign parent_link = link %}
|
|
35
|
+
{% for link in parent_link.menu %}
|
|
36
|
+
{% assign link_styleclass = "dropdown-item" %}
|
|
37
|
+
{% include partials/get_link.html %}
|
|
38
|
+
{{ link_tag }}
|
|
39
|
+
{{ link.name }}
|
|
40
|
+
</a>
|
|
41
|
+
{% endfor %}
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
{% elsif link.live %}
|
|
46
|
+
{%- include partials/get_live_timestamps.html -%}
|
|
47
|
+
|
|
48
|
+
{%- if link.name -%}
|
|
49
|
+
{%- assign link_name = link.name -%}
|
|
50
|
+
{%- else -%}
|
|
51
|
+
{%- assign link_name = site.data.lang[site.conference.lang].live.streaming | default: "Live Stream" -%}
|
|
52
|
+
{%- endif -%}
|
|
53
|
+
|
|
54
|
+
{%- if link.name_inactive -%}
|
|
55
|
+
<span class="live-hide btn btn-outline-primary btn-lg mt-2 disabled" data-start="{{ live_starts }}" data-end="{{ live_ends }}">
|
|
56
|
+
{{ link.name_inactive }}
|
|
57
|
+
</span>
|
|
58
|
+
{%- endif -%}
|
|
59
|
+
|
|
60
|
+
<span class="live-show d-none" data-start="{{ live_starts }}" data-end="{{ live_ends }}">
|
|
61
|
+
{% if site.conference.live.streaming %}
|
|
62
|
+
<a class="btn btn-outline-primary btn-lg mt-2" title="{{ link_name }}" data-toggle="modal" data-target="#stream-modal" data-room="" href="#">
|
|
63
|
+
{% else %}
|
|
64
|
+
{% assign link_styleclass = "btn btn-outline-primary btn-lg mt-2" %}
|
|
65
|
+
{% include partials/get_link.html %}
|
|
66
|
+
{{ link_tag }}
|
|
67
|
+
{% endif %}
|
|
68
|
+
|
|
69
|
+
{{ link_name }}
|
|
70
|
+
</a>
|
|
71
|
+
</span>
|
|
72
|
+
|
|
73
|
+
{% else %}
|
|
74
|
+
{% assign link_styleclass = "btn btn-outline-primary btn-lg mt-2" %}
|
|
75
|
+
{% include partials/get_link.html %}
|
|
76
|
+
{{ link_tag }}
|
|
77
|
+
{{ link.name }}
|
|
78
|
+
</a>
|
|
79
|
+
{% endif %}
|
|
32
80
|
{% endfor %}
|
|
33
81
|
</p>
|
|
34
82
|
{% endif %}
|
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">
|
|
34
|
+
<thead>
|
|
62
35
|
<tr>
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
36
|
+
<th scope="col" class="text-right">#<span class="invisible">I0</span></th>
|
|
37
|
+
<th class="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="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">
|
|
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="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="text-right text-muted font-weight-normal" style="z-index: {{ z-index-max }}">
|
|
93
|
+
:{{ current_min }}
|
|
94
|
+
</th>
|
|
95
|
+
{%- else -%}
|
|
96
|
+
<th scope="row" style="z-index: {{ z-index-max }}"></th>
|
|
97
|
+
{%- endif %}
|
|
98
|
+
<td class="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" 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="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 %}
|