devops4lib-jekyll-theme-conference 0.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 +7 -0
- data/LICENSE.md +9 -0
- data/README.md +781 -0
- data/_includes/js/conference.js +55 -0
- data/_includes/js/init.js +39 -0
- data/_includes/js/lib/a_popper.min.js +4 -0
- data/_includes/js/lib/bootstrap.js +6 -0
- data/_includes/js/lib/jquery-3.5.1.min.js +2 -0
- data/_includes/js/lib/leaflet-easybutton.js +376 -0
- data/_includes/js/lib/leaflet-locatecontrol.js +4 -0
- data/_includes/js/lib/leaflet-providers.js +877 -0
- data/_includes/js/lib/leaflet.js +5 -0
- data/_includes/js/lib/syncscroll.js +140 -0
- data/_includes/js/live.js +779 -0
- data/_includes/js/map.js +43 -0
- data/_includes/js/modal.js +78 -0
- data/_includes/js/program.js +41 -0
- data/_includes/partials/checks.html +69 -0
- data/_includes/partials/footer.html +18 -0
- data/_includes/partials/get_day_hash.html +20 -0
- data/_includes/partials/get_day_time.html +21 -0
- data/_includes/partials/get_enable_map.html +11 -0
- data/_includes/partials/get_link.html +85 -0
- data/_includes/partials/get_link_types.html +15 -0
- data/_includes/partials/get_live_timestamps.html +49 -0
- data/_includes/partials/get_main_category.html +9 -0
- data/_includes/partials/get_page_description.html +23 -0
- data/_includes/partials/get_page_title.html +33 -0
- data/_includes/partials/get_room_live_href.html +8 -0
- data/_includes/partials/get_talk_time.html +24 -0
- data/_includes/partials/get_talk_timestamp.html +15 -0
- data/_includes/partials/get_time_pronoun.html +6 -0
- data/_includes/partials/header.html +67 -0
- data/_includes/partials/info_bar.html +38 -0
- data/_includes/partials/list_categories.html +4 -0
- data/_includes/partials/list_page_meta.html +23 -0
- data/_includes/partials/list_speakers.html +22 -0
- data/_includes/partials/list_sub_categories.html +8 -0
- data/_includes/partials/modal_link.html +21 -0
- data/_includes/partials/modal_live.html +49 -0
- data/_includes/partials/navbar.html +97 -0
- data/_includes/partials/navbar_rooms.html +36 -0
- data/_includes/partials/show_live_button.html +21 -0
- data/_includes/partials/show_room.html +5 -0
- data/_includes/partials/show_talk.html +5 -0
- data/_includes/partials/show_talk_duration.html +3 -0
- data/_includes/partials/show_talk_time.html +17 -0
- data/_layouts/config.html +78 -0
- data/_layouts/data.html +126 -0
- data/_layouts/default.html +5 -0
- data/_layouts/home.html +87 -0
- data/_layouts/location.html +25 -0
- data/_layouts/page.html +13 -0
- data/_layouts/program.html +201 -0
- data/_layouts/room.html +70 -0
- data/_layouts/speaker-overview.html +47 -0
- data/_layouts/speaker.html +111 -0
- data/_layouts/stream-overview.html +43 -0
- data/_layouts/talk-overview.html +112 -0
- data/_layouts/talk.html +123 -0
- data/_sass/bootstrap/_alert.scss +52 -0
- data/_sass/bootstrap/_badge.scss +54 -0
- data/_sass/bootstrap/_breadcrumb.scss +44 -0
- data/_sass/bootstrap/_button-group.scss +163 -0
- data/_sass/bootstrap/_buttons.scss +142 -0
- data/_sass/bootstrap/_card.scss +286 -0
- data/_sass/bootstrap/_carousel.scss +197 -0
- data/_sass/bootstrap/_close.scss +40 -0
- data/_sass/bootstrap/_code.scss +48 -0
- data/_sass/bootstrap/_custom-forms.scss +524 -0
- data/_sass/bootstrap/_dropdown.scss +192 -0
- data/_sass/bootstrap/_forms.scss +347 -0
- data/_sass/bootstrap/_functions.scss +144 -0
- data/_sass/bootstrap/_grid.scss +73 -0
- data/_sass/bootstrap/_images.scss +42 -0
- data/_sass/bootstrap/_input-group.scss +192 -0
- data/_sass/bootstrap/_jumbotron.scss +17 -0
- data/_sass/bootstrap/_list-group.scss +154 -0
- data/_sass/bootstrap/_media.scss +8 -0
- data/_sass/bootstrap/_mixins.scss +47 -0
- data/_sass/bootstrap/_modal.scss +240 -0
- data/_sass/bootstrap/_nav.scss +123 -0
- data/_sass/bootstrap/_navbar.scss +324 -0
- data/_sass/bootstrap/_pagination.scss +74 -0
- data/_sass/bootstrap/_popover.scss +170 -0
- data/_sass/bootstrap/_print.scss +141 -0
- data/_sass/bootstrap/_progress.scss +47 -0
- data/_sass/bootstrap/_reboot.scss +484 -0
- data/_sass/bootstrap/_root.scss +20 -0
- data/_sass/bootstrap/_spinners.scss +56 -0
- data/_sass/bootstrap/_tables.scss +185 -0
- data/_sass/bootstrap/_toasts.scss +46 -0
- data/_sass/bootstrap/_tooltip.scss +115 -0
- data/_sass/bootstrap/_transitions.scss +20 -0
- data/_sass/bootstrap/_type.scss +125 -0
- data/_sass/bootstrap/_utilities.scss +18 -0
- data/_sass/bootstrap/_variables.scss +1142 -0
- data/_sass/bootstrap/bootstrap-grid.scss +29 -0
- data/_sass/bootstrap/bootstrap-reboot.scss +12 -0
- data/_sass/bootstrap/bootstrap.scss +44 -0
- data/_sass/bootstrap/mixins/_alert.scss +13 -0
- data/_sass/bootstrap/mixins/_background-variant.scss +23 -0
- data/_sass/bootstrap/mixins/_badge.scss +17 -0
- data/_sass/bootstrap/mixins/_border-radius.scss +76 -0
- data/_sass/bootstrap/mixins/_box-shadow.scss +20 -0
- data/_sass/bootstrap/mixins/_breakpoints.scss +123 -0
- data/_sass/bootstrap/mixins/_buttons.scss +110 -0
- data/_sass/bootstrap/mixins/_caret.scss +62 -0
- data/_sass/bootstrap/mixins/_clearfix.scss +7 -0
- data/_sass/bootstrap/mixins/_deprecate.scss +10 -0
- data/_sass/bootstrap/mixins/_float.scss +14 -0
- data/_sass/bootstrap/mixins/_forms.scss +178 -0
- data/_sass/bootstrap/mixins/_gradients.scss +45 -0
- data/_sass/bootstrap/mixins/_grid-framework.scss +80 -0
- data/_sass/bootstrap/mixins/_grid.scss +69 -0
- data/_sass/bootstrap/mixins/_hover.scss +37 -0
- data/_sass/bootstrap/mixins/_image.scss +36 -0
- data/_sass/bootstrap/mixins/_list-group.scss +21 -0
- data/_sass/bootstrap/mixins/_lists.scss +7 -0
- data/_sass/bootstrap/mixins/_nav-divider.scss +11 -0
- data/_sass/bootstrap/mixins/_pagination.scss +22 -0
- data/_sass/bootstrap/mixins/_reset-text.scss +17 -0
- data/_sass/bootstrap/mixins/_resize.scss +6 -0
- data/_sass/bootstrap/mixins/_screen-reader.scss +34 -0
- data/_sass/bootstrap/mixins/_size.scss +7 -0
- data/_sass/bootstrap/mixins/_table-row.scss +39 -0
- data/_sass/bootstrap/mixins/_text-emphasis.scss +17 -0
- data/_sass/bootstrap/mixins/_text-hide.scss +11 -0
- data/_sass/bootstrap/mixins/_text-truncate.scss +8 -0
- data/_sass/bootstrap/mixins/_transition.scss +26 -0
- data/_sass/bootstrap/mixins/_visibility.scss +8 -0
- data/_sass/bootstrap/utilities/_align.scss +8 -0
- data/_sass/bootstrap/utilities/_background.scss +19 -0
- data/_sass/bootstrap/utilities/_borders.scss +75 -0
- data/_sass/bootstrap/utilities/_clearfix.scss +3 -0
- data/_sass/bootstrap/utilities/_display.scss +26 -0
- data/_sass/bootstrap/utilities/_embed.scss +39 -0
- data/_sass/bootstrap/utilities/_flex.scss +51 -0
- data/_sass/bootstrap/utilities/_float.scss +11 -0
- data/_sass/bootstrap/utilities/_interactions.scss +5 -0
- data/_sass/bootstrap/utilities/_overflow.scss +5 -0
- data/_sass/bootstrap/utilities/_position.scss +32 -0
- data/_sass/bootstrap/utilities/_screenreaders.scss +11 -0
- data/_sass/bootstrap/utilities/_shadows.scss +6 -0
- data/_sass/bootstrap/utilities/_sizing.scss +20 -0
- data/_sass/bootstrap/utilities/_spacing.scss +73 -0
- data/_sass/bootstrap/utilities/_stretched-link.scss +19 -0
- data/_sass/bootstrap/utilities/_text.scss +72 -0
- data/_sass/bootstrap/utilities/_visibility.scss +13 -0
- data/_sass/bootstrap/vendor/_rfs.scss +204 -0
- data/_sass/conference.scss +255 -0
- data/_sass/font-awesome/_animated.scss +20 -0
- data/_sass/font-awesome/_bordered-pulled.scss +20 -0
- data/_sass/font-awesome/_core.scss +21 -0
- data/_sass/font-awesome/_fixed-width.scss +6 -0
- data/_sass/font-awesome/_icons.scss +1462 -0
- data/_sass/font-awesome/_larger.scss +23 -0
- data/_sass/font-awesome/_list.scss +18 -0
- data/_sass/font-awesome/_mixins.scss +56 -0
- data/_sass/font-awesome/_rotated-flipped.scss +24 -0
- data/_sass/font-awesome/_screen-reader.scss +5 -0
- data/_sass/font-awesome/_shims.scss +2066 -0
- data/_sass/font-awesome/_stacked.scss +31 -0
- data/_sass/font-awesome/_variables.scss +1479 -0
- data/_sass/font-awesome/brands.scss +23 -0
- data/_sass/font-awesome/fontawesome.scss +16 -0
- data/_sass/font-awesome/regular.scss +23 -0
- data/_sass/font-awesome/scss/_animated.scss +20 -0
- data/_sass/font-awesome/scss/_bordered-pulled.scss +20 -0
- data/_sass/font-awesome/scss/_core.scss +21 -0
- data/_sass/font-awesome/scss/_fixed-width.scss +6 -0
- data/_sass/font-awesome/scss/_icons.scss +1441 -0
- data/_sass/font-awesome/scss/_larger.scss +23 -0
- data/_sass/font-awesome/scss/_list.scss +18 -0
- data/_sass/font-awesome/scss/_mixins.scss +56 -0
- data/_sass/font-awesome/scss/_rotated-flipped.scss +24 -0
- data/_sass/font-awesome/scss/_screen-reader.scss +5 -0
- data/_sass/font-awesome/scss/_shims.scss +2066 -0
- data/_sass/font-awesome/scss/_stacked.scss +31 -0
- data/_sass/font-awesome/scss/_variables.scss +1458 -0
- data/_sass/font-awesome/scss/brands.scss +23 -0
- data/_sass/font-awesome/scss/fontawesome.scss +16 -0
- data/_sass/font-awesome/scss/regular.scss +23 -0
- data/_sass/font-awesome/scss/solid.scss +24 -0
- data/_sass/font-awesome/scss/v4-shims.scss +6 -0
- data/_sass/font-awesome/solid.scss +24 -0
- data/_sass/font-awesome/v4-shims.scss +6 -0
- data/_sass/leaflet/leaflet-easybutton.scss +56 -0
- data/_sass/leaflet/leaflet-locatecontrol.scss +2 -0
- data/_sass/leaflet/leaflet.scss +640 -0
- data/assets/css/main.scss +6 -0
- data/assets/icons/live.svg +57 -0
- data/assets/js/config.json +3 -0
- data/assets/js/data.json +3 -0
- data/assets/js/main.js +4 -0
- data/assets/webfonts/fa-brands-400.eot +0 -0
- data/assets/webfonts/fa-brands-400.svg +3717 -0
- data/assets/webfonts/fa-brands-400.ttf +0 -0
- data/assets/webfonts/fa-brands-400.woff +0 -0
- data/assets/webfonts/fa-brands-400.woff2 +0 -0
- data/assets/webfonts/fa-regular-400.eot +0 -0
- data/assets/webfonts/fa-regular-400.svg +801 -0
- data/assets/webfonts/fa-regular-400.ttf +0 -0
- data/assets/webfonts/fa-regular-400.woff +0 -0
- data/assets/webfonts/fa-regular-400.woff2 +0 -0
- data/assets/webfonts/fa-solid-900.eot +0 -0
- data/assets/webfonts/fa-solid-900.svg +5028 -0
- data/assets/webfonts/fa-solid-900.ttf +0 -0
- data/assets/webfonts/fa-solid-900.woff +0 -0
- data/assets/webfonts/fa-solid-900.woff2 +0 -0
- metadata +296 -0
data/_layouts/home.html
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
{% include partials/header.html %}
|
|
2
|
+
|
|
3
|
+
<div class="jumbotron">
|
|
4
|
+
<h1 class="display-3 text-break">
|
|
5
|
+
{% if site.conference.main.logo.img %}
|
|
6
|
+
<img src="{{ site.conference.main.logo.img | prepend: '/assets/images/' | prepend: site.baseurl }}" class="w-75 d-none d-md-inline" alt="{{ site.title }}" />
|
|
7
|
+
<img src="{{ site.conference.main.logo.img | prepend: '/assets/images/' | prepend: site.baseurl }}" class="w-100 d-md-none" alt="{{ site.title }}" />
|
|
8
|
+
{% elsif page.title %}
|
|
9
|
+
{{ page.title }}
|
|
10
|
+
{% else %}
|
|
11
|
+
{{ site.title }}
|
|
12
|
+
{% endif %}
|
|
13
|
+
</h1>
|
|
14
|
+
{% if site.description != none %}
|
|
15
|
+
<p class="lead">
|
|
16
|
+
{{ site.description | markdownify | replace: '<p>', '<p class="lead">' }}
|
|
17
|
+
</p>
|
|
18
|
+
{% endif %}
|
|
19
|
+
|
|
20
|
+
<hr class="my-4">
|
|
21
|
+
|
|
22
|
+
{{ content }}
|
|
23
|
+
|
|
24
|
+
{% if site.conference.main.links %}
|
|
25
|
+
<div class="lead d-print-none">
|
|
26
|
+
{% assign btn_default = 'btn btn-outline-primary btn-lg mt-2 ml-1' %}
|
|
27
|
+
{% for link in site.conference.main.links %}
|
|
28
|
+
|
|
29
|
+
{% if link.menu %}
|
|
30
|
+
<div class="dropdown d-inline">
|
|
31
|
+
<a class="{{ btn_default }} dropdown-toggle" href="#" role="button" id="main-dropdown{{ forloop.index0 }}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
32
|
+
{{ link.name }}
|
|
33
|
+
</a>
|
|
34
|
+
<div class="dropdown-menu" aria-labelledby="main-dropdown{{ forloop.index0 }}">
|
|
35
|
+
{% assign parent_link = link %}
|
|
36
|
+
{% for link in parent_link.menu %}
|
|
37
|
+
{% assign link_styleclass = "dropdown-item" %}
|
|
38
|
+
{% include partials/get_link.html %}
|
|
39
|
+
{{ link_tag }}
|
|
40
|
+
{{ link.name }}
|
|
41
|
+
</a>
|
|
42
|
+
{% endfor %}
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
|
|
46
|
+
{% elsif link.live %}
|
|
47
|
+
{%- include partials/get_live_timestamps.html -%}
|
|
48
|
+
|
|
49
|
+
{%- if link.name -%}
|
|
50
|
+
{%- assign link_name = link.name -%}
|
|
51
|
+
{%- else -%}
|
|
52
|
+
{%- assign link_name = site.data.lang[site.conference.lang].live.stream | default: "Live Stream" -%}
|
|
53
|
+
{%- endif -%}
|
|
54
|
+
|
|
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 -%}
|
|
60
|
+
|
|
61
|
+
<span class="live-show d-none" data-start="{{ live_starts }}" data-end="{{ live_ends }}">
|
|
62
|
+
{% if site.conference.live.streaming.enable %}
|
|
63
|
+
<a class="{{ btn_default }}" title="{{ link_name }}" data-toggle="modal" data-target="#stream-modal" data-room="" href="#">
|
|
64
|
+
{% else %}
|
|
65
|
+
{% assign link_styleclass = "{{ btn_default }}" %}
|
|
66
|
+
{% include partials/get_link.html %}
|
|
67
|
+
{{ link_tag }}
|
|
68
|
+
{% endif %}
|
|
69
|
+
|
|
70
|
+
{{ link_name }}
|
|
71
|
+
</a>
|
|
72
|
+
</span>
|
|
73
|
+
|
|
74
|
+
{% else %}
|
|
75
|
+
{% assign link_styleclass = btn_default %}
|
|
76
|
+
{% include partials/get_link.html %}
|
|
77
|
+
{{ link_tag }}
|
|
78
|
+
{{ link.name }}
|
|
79
|
+
</a>
|
|
80
|
+
{% endif %}
|
|
81
|
+
{% endfor %}
|
|
82
|
+
</p>
|
|
83
|
+
{% endif %}
|
|
84
|
+
|
|
85
|
+
</div>
|
|
86
|
+
|
|
87
|
+
{% include partials/footer.html %}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{% include partials/header.html %}
|
|
2
|
+
|
|
3
|
+
{% assign this_room = page %}
|
|
4
|
+
|
|
5
|
+
<h1 class="display-5 mb-3 text-break">
|
|
6
|
+
{% if page.title %}
|
|
7
|
+
{{ page.title }}
|
|
8
|
+
{% else %}
|
|
9
|
+
{{ site.data.lang[site.conference.lang].location.directions | default: "Directions" }}
|
|
10
|
+
{% endif %}
|
|
11
|
+
</h1>
|
|
12
|
+
|
|
13
|
+
{% assign this_room = page %}
|
|
14
|
+
|
|
15
|
+
{% unless site.conference.location.hide %}
|
|
16
|
+
{% include partials/navbar_rooms.html %}
|
|
17
|
+
{% endunless %}
|
|
18
|
+
|
|
19
|
+
{{ content }}
|
|
20
|
+
|
|
21
|
+
{% if site.conference.location.map %}
|
|
22
|
+
<div id="map" class="mt-4 mb-3"></div>
|
|
23
|
+
{% endif %}
|
|
24
|
+
|
|
25
|
+
{% include partials/footer.html %}
|
data/_layouts/page.html
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{% include partials/header.html %}
|
|
2
|
+
|
|
3
|
+
{% if page.title -%}
|
|
4
|
+
<h1 class="display-5 mb-3 text-break">{{ page.title }}</h1>
|
|
5
|
+
{%- endif %}
|
|
6
|
+
|
|
7
|
+
{{ content }}
|
|
8
|
+
|
|
9
|
+
{% if page.map %}
|
|
10
|
+
<div id="map" class="mt-4 mb-3"></div>
|
|
11
|
+
{% endif %}
|
|
12
|
+
|
|
13
|
+
{% include partials/footer.html %}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
{% include partials/header.html %}
|
|
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 %} text-break">
|
|
5
|
+
{%- if page.title -%}
|
|
6
|
+
{{- page.title -}}
|
|
7
|
+
{%- else -%}
|
|
8
|
+
{{- site.data.lang[site.conference.lang].program.title | default: "Program" -}}
|
|
9
|
+
{%- endif -%}
|
|
10
|
+
</h1>
|
|
11
|
+
|
|
12
|
+
{{ content }}
|
|
13
|
+
|
|
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 -%}{%- include partials/get_talk_timestamp.html %} data-ts="{{ timestamp_start }}" {%- 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>
|
|
35
|
+
<tr>
|
|
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 -%}
|
|
49
|
+
</th>
|
|
50
|
+
{%- unless forloop.last %}
|
|
51
|
+
<th class="col-space p-0" scope="col"></th>
|
|
52
|
+
{%- endunless -%}
|
|
53
|
+
{%- endfor %}
|
|
54
|
+
</tr>
|
|
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
|
+
{%- if day_end_day > day_start_day -%}
|
|
65
|
+
{%- assign day_end_hour = day_end_day | minus: day_start_day | times: 24 | plus: day_end_hour -%}
|
|
66
|
+
{%- endif -%}
|
|
67
|
+
|
|
68
|
+
{%- assign day_duration_min = day_end_hour | minus: day_start_hour | times: 60 | minus: day_start_min | plus: day_end_min -%}
|
|
69
|
+
{%- assign nbr_steps = day_duration_min | divided_by: site.conference.program.time_steps -%}
|
|
70
|
+
|
|
71
|
+
<!--
|
|
72
|
+
The shadow of a previous program block should be above a later program block, thus
|
|
73
|
+
the earlier a program block the higher its z-index (opposite to the actual rendering).
|
|
74
|
+
|
|
75
|
+
Bootstrap uses as lowest z-index for its overlapping elements a z-index of 1000 (for
|
|
76
|
+
$zindex-dropdown).
|
|
77
|
+
-->
|
|
78
|
+
{%- assign z-index-max = 999 -%}
|
|
79
|
+
|
|
80
|
+
{%- for i in (1..nbr_steps) -%}
|
|
81
|
+
{%- assign current_day = 0 -%}
|
|
82
|
+
{%- assign current_hour = i | minus: 1 | times: site.conference.program.time_steps | plus: day_start_min | divided_by: 60 | floor | plus: day_start_hour -%}
|
|
83
|
+
{%- if current_hour >= 24 -%}
|
|
84
|
+
{%- assign current_day = current_hour | divided_by: 24 | floor -%}
|
|
85
|
+
{%- assign current_hour = current_hour | modulo: 24 -%}
|
|
86
|
+
{%- endif -%}
|
|
87
|
+
{%- assign current_min = i | minus: 1 | times: site.conference.program.time_steps | plus: day_start_min | modulo: 60 -%}
|
|
88
|
+
{%- if current_min < 10 -%}
|
|
89
|
+
{%- assign current_time = current_hour | append: ':0' | append: current_min -%}
|
|
90
|
+
{%- else -%}
|
|
91
|
+
{%- assign current_time = current_hour | append: ':' | append: current_min -%}
|
|
92
|
+
{%- endif -%}
|
|
93
|
+
|
|
94
|
+
<tr>
|
|
95
|
+
|
|
96
|
+
{%- if current_min == 0 -%}
|
|
97
|
+
<th scope="row" class="col-title text-right" style="z-index: {{ z-index-max }}">
|
|
98
|
+
{{- current_time -}}
|
|
99
|
+
</th>
|
|
100
|
+
{%- elsif site.conference.program.show_alltimes -%}
|
|
101
|
+
<th scope="row" class="col-title text-right text-muted font-weight-normal" style="z-index: {{ z-index-max }}">
|
|
102
|
+
:{{ current_min }}
|
|
103
|
+
</th>
|
|
104
|
+
{%- else -%}
|
|
105
|
+
<th scope="row" class="col-title" style="z-index: {{ z-index-max }}"></th>
|
|
106
|
+
{%- endif %}
|
|
107
|
+
<td class="col-space p-0"></td>
|
|
108
|
+
|
|
109
|
+
{%- for r in d.rooms -%}
|
|
110
|
+
{%- assign room = site.rooms | where: 'name', r.name | first -%}
|
|
111
|
+
|
|
112
|
+
{%- assign active_talk = false -%}
|
|
113
|
+
{%- for t in r.talks -%}
|
|
114
|
+
{%- assign talk = site.talks | where: 'name', t.name | first -%}
|
|
115
|
+
|
|
116
|
+
{%- include partials/get_talk_time.html -%}
|
|
117
|
+
|
|
118
|
+
{%- assign d_start_hour = current_day | minus: talk_start_day | times: 24 | plus: current_hour | minus: talk_start_hour -%}
|
|
119
|
+
{%- assign d_start_min = current_min | minus: talk_start_min -%}
|
|
120
|
+
{%- assign d_end_hour = current_day | minus: talk_end_day | times: 24 | plus: current_hour | minus: talk_end_hour -%}
|
|
121
|
+
{%- assign d_end_min = current_min | minus: talk_end_min -%}
|
|
122
|
+
|
|
123
|
+
{%- assign has_started = false -%}
|
|
124
|
+
{%- if d_start_hour == 0 and d_start_min > 0 -%}
|
|
125
|
+
{%- assign has_started = true -%}
|
|
126
|
+
{%- endif -%}
|
|
127
|
+
{%- if d_start_hour > 0 -%}
|
|
128
|
+
{%- assign has_started = true -%}
|
|
129
|
+
{%- endif -%}
|
|
130
|
+
|
|
131
|
+
{%- assign has_ended = false -%}
|
|
132
|
+
{%- if d_end_hour == 0 and d_end_min >= 0 -%}
|
|
133
|
+
{%- assign has_ended = true -%}
|
|
134
|
+
{%- endif -%}
|
|
135
|
+
{%- if d_end_hour > 0 -%}
|
|
136
|
+
{%- assign has_ended = true -%}
|
|
137
|
+
{%- endif -%}
|
|
138
|
+
|
|
139
|
+
{%- if has_started == true and has_ended == false -%}
|
|
140
|
+
{%- assign active_talk = true -%}
|
|
141
|
+
{%- endif -%}
|
|
142
|
+
|
|
143
|
+
{%- if d_start_hour == 0 and d_start_min == 0 -%}
|
|
144
|
+
|
|
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 }}">
|
|
148
|
+
|
|
149
|
+
{%- assign live_button_styleclass = "mb-2" %}
|
|
150
|
+
{%- include partials/show_live_button.html %}
|
|
151
|
+
|
|
152
|
+
<p class="mb-2">
|
|
153
|
+
{%- include partials/show_talk.html %}
|
|
154
|
+
</p>
|
|
155
|
+
<p class="font-weight-light mb-2">
|
|
156
|
+
{%- include partials/list_speakers.html %}
|
|
157
|
+
</p>
|
|
158
|
+
<p class="mb-1">
|
|
159
|
+
{%- include partials/list_sub_categories.html %}
|
|
160
|
+
</p>
|
|
161
|
+
</td>
|
|
162
|
+
{%- assign active_talk = true %}
|
|
163
|
+
|
|
164
|
+
{%- endif %}
|
|
165
|
+
|
|
166
|
+
{%- endfor %}
|
|
167
|
+
|
|
168
|
+
{%- unless active_talk == true %}
|
|
169
|
+
<td class="p-0"></td>
|
|
170
|
+
{%- endunless -%}
|
|
171
|
+
|
|
172
|
+
{%- if forloop.last != true %}
|
|
173
|
+
<td class="col-space p-0"></td>
|
|
174
|
+
{%- endif -%}
|
|
175
|
+
|
|
176
|
+
{%- endfor %}
|
|
177
|
+
|
|
178
|
+
</tr>
|
|
179
|
+
{%- endfor %}
|
|
180
|
+
</tbody>
|
|
181
|
+
</table>
|
|
182
|
+
</div>
|
|
183
|
+
|
|
184
|
+
{%- if nbr_days > 1 %}
|
|
185
|
+
</div>
|
|
186
|
+
{%- endif -%}
|
|
187
|
+
{%- endfor -%}
|
|
188
|
+
{%- if nbr_days > 1 %}
|
|
189
|
+
</div>
|
|
190
|
+
{%- endif -%}
|
|
191
|
+
|
|
192
|
+
{%- if site.conference.talks.main_categories %}
|
|
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 -}}
|
|
197
|
+
</div>
|
|
198
|
+
{%- endfor -%}
|
|
199
|
+
{%- endif -%}
|
|
200
|
+
|
|
201
|
+
{% include partials/footer.html %}
|
data/_layouts/room.html
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{%- assign this_room = page -%}
|
|
2
|
+
|
|
3
|
+
{%- unless this_room.hide or site.conference.location.hide -%}
|
|
4
|
+
{%- include partials/header.html -%}
|
|
5
|
+
|
|
6
|
+
<!-- title for print: -->
|
|
7
|
+
<h1 class="display-5 mb-3 d-none d-print-inline">
|
|
8
|
+
{{ this_room.name }}
|
|
9
|
+
</h1>
|
|
10
|
+
|
|
11
|
+
<!-- title shown in browser: -->
|
|
12
|
+
<h1 class="display-5 mb-3 d-print-none text-break">
|
|
13
|
+
{{ site.data.lang[site.conference.lang].location.rooms | default: "Rooms" }}
|
|
14
|
+
</h1>
|
|
15
|
+
|
|
16
|
+
{% include partials/navbar_rooms.html %}
|
|
17
|
+
|
|
18
|
+
{{ content }}
|
|
19
|
+
|
|
20
|
+
{% assign room_talks = false %}
|
|
21
|
+
{% for d in site.data.program.days %}
|
|
22
|
+
{% include partials/get_day_hash.html %}
|
|
23
|
+
{% for r in d.rooms %}
|
|
24
|
+
{% if this_room.name == r.name and r.talks.size > 0 %}
|
|
25
|
+
{% unless room_talks %}
|
|
26
|
+
<h5 class="mt-4 mb-2">
|
|
27
|
+
{{ site.data.lang[site.conference.lang].location.talks | default: "Talks in this room" }}:
|
|
28
|
+
</h5>
|
|
29
|
+
{% assign room_talks = true %}
|
|
30
|
+
{% endunless %}
|
|
31
|
+
|
|
32
|
+
<h6 class="mt-1 mb-0">
|
|
33
|
+
{{- day_name -}}
|
|
34
|
+
</h6>
|
|
35
|
+
|
|
36
|
+
<table class="list-program">
|
|
37
|
+
{%- for t in r.talks -%}
|
|
38
|
+
{%- assign talk = site.talks | where: 'name', t.name | first -%}
|
|
39
|
+
{%- include partials/get_main_category.html %}
|
|
40
|
+
|
|
41
|
+
<tr>
|
|
42
|
+
<td class="pr-2">
|
|
43
|
+
{%- include partials/get_talk_time.html -%}
|
|
44
|
+
{%- assign talk_day_hide = true -%}
|
|
45
|
+
{%- assign talk_time_styleclass = "w-100" -%}
|
|
46
|
+
{% include partials/show_talk_time.html %}
|
|
47
|
+
|
|
48
|
+
{%- assign live_button_styleclass = "w-100" -%}
|
|
49
|
+
{% include partials/show_live_button.html %}
|
|
50
|
+
</td>
|
|
51
|
+
<td class="pl-2 border-soft-{{ main_cat_color }}">
|
|
52
|
+
<p class="mb-0">
|
|
53
|
+
{%- include partials/show_talk.html -%}
|
|
54
|
+
</p>
|
|
55
|
+
<p class="font-weight-light mb-0">
|
|
56
|
+
{%- include partials/list_speakers.html -%}
|
|
57
|
+
</p>
|
|
58
|
+
</td>
|
|
59
|
+
</tr>
|
|
60
|
+
{%- endfor -%}
|
|
61
|
+
|
|
62
|
+
</table>
|
|
63
|
+
{%- break -%}
|
|
64
|
+
|
|
65
|
+
{% endif %}
|
|
66
|
+
{% endfor %}
|
|
67
|
+
{% endfor %}
|
|
68
|
+
|
|
69
|
+
{%- include partials/footer.html -%}
|
|
70
|
+
{%- endunless -%}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{% include partials/header.html %}
|
|
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].speaker.overview | default: "Speakers" }}
|
|
8
|
+
{% endif %}
|
|
9
|
+
</h1>
|
|
10
|
+
|
|
11
|
+
{{ content }}
|
|
12
|
+
|
|
13
|
+
<div class="speakerlist">
|
|
14
|
+
{% assign cur_letter = false %}
|
|
15
|
+
{% assign speakers = site.speakers | sort_natural: 'last_name' %}
|
|
16
|
+
{% for speaker in speakers %}
|
|
17
|
+
|
|
18
|
+
{% assign last_letter = speaker.last_name | slice: 0 | capitalize %}
|
|
19
|
+
{% if cur_letter != last_letter %}
|
|
20
|
+
{% if cur_letter %}
|
|
21
|
+
</ul>
|
|
22
|
+
</div>
|
|
23
|
+
{% endif %}
|
|
24
|
+
|
|
25
|
+
{% assign cur_letter = last_letter %}
|
|
26
|
+
<div class="speakergroup">
|
|
27
|
+
<h3>{{ cur_letter }}</h3>
|
|
28
|
+
<ul class="list-unstyled">
|
|
29
|
+
{% endif %}
|
|
30
|
+
|
|
31
|
+
<li class="font-weight-light">
|
|
32
|
+
{% if speaker.hide %}
|
|
33
|
+
{{ speaker.first_name }} {{ speaker.last_name }}
|
|
34
|
+
{% else %}
|
|
35
|
+
<a href="{{ speaker.url | prepend: site.baseurl }}">
|
|
36
|
+
{{ speaker.first_name }} {{ speaker.last_name }}
|
|
37
|
+
</a>
|
|
38
|
+
{% endif %}
|
|
39
|
+
</li>
|
|
40
|
+
|
|
41
|
+
{% endfor %}
|
|
42
|
+
|
|
43
|
+
</ul>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
{% include partials/footer.html %}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
{%- assign speaker = page -%}
|
|
2
|
+
|
|
3
|
+
{%- unless speaker.hide -%}
|
|
4
|
+
{%- include partials/header.html -%}
|
|
5
|
+
|
|
6
|
+
<p class="h6">
|
|
7
|
+
{{ site.data.lang[site.conference.lang].speaker.title | default: "Speaker" }}
|
|
8
|
+
</p>
|
|
9
|
+
|
|
10
|
+
<h1 class="font-weight-light mb-3 text-break">
|
|
11
|
+
{{ speaker.first_name }} {{ speaker.last_name }}
|
|
12
|
+
</h1>
|
|
13
|
+
|
|
14
|
+
{{ content }}
|
|
15
|
+
|
|
16
|
+
{% include partials/get_link_types.html %}
|
|
17
|
+
|
|
18
|
+
{% if has_icon_links %}
|
|
19
|
+
<ul class="list-unstyled">
|
|
20
|
+
{% for link in speaker.links %}
|
|
21
|
+
{% assign link_styleclass = "text-reset" %}
|
|
22
|
+
{% include partials/get_link.html %}
|
|
23
|
+
|
|
24
|
+
{% if link_icon %}
|
|
25
|
+
<li class="mb-1">
|
|
26
|
+
{{ link_tag }}
|
|
27
|
+
<span class="badge badge-light font-weight-normal mr-1">
|
|
28
|
+
<i class="fas fa-{{ link_icon }} fa-fw"></i>
|
|
29
|
+
</span>
|
|
30
|
+
{{- link.name }}
|
|
31
|
+
</a>
|
|
32
|
+
</li>
|
|
33
|
+
{% endif %}
|
|
34
|
+
{% endfor %}
|
|
35
|
+
</ul>
|
|
36
|
+
{% endif %}
|
|
37
|
+
|
|
38
|
+
{% if has_regular_links %}
|
|
39
|
+
<h5 class="mt-4 mb-1">{{ site.data.lang[site.conference.lang].more_information | default: "More Information" }}:</h5>
|
|
40
|
+
|
|
41
|
+
<ul class="list-unstyled">
|
|
42
|
+
{% for link in speaker.links %}
|
|
43
|
+
{% assign link_styleclass = "text-reset" %}
|
|
44
|
+
{% include partials/get_link.html %}
|
|
45
|
+
|
|
46
|
+
{% unless link_icon %}
|
|
47
|
+
<li class="mb-1 ml-2 pl-2 border-soft-primary">
|
|
48
|
+
{{ link_tag }}
|
|
49
|
+
{{ link.name }}
|
|
50
|
+
</a>
|
|
51
|
+
</li>
|
|
52
|
+
{% endunless %}
|
|
53
|
+
{% endfor %}
|
|
54
|
+
</ul>
|
|
55
|
+
{% endif %}
|
|
56
|
+
|
|
57
|
+
{% assign active_speaker = false %}
|
|
58
|
+
{% for talk in site.talks %}
|
|
59
|
+
{% for speaker_name in talk.speakers %}
|
|
60
|
+
{% if speaker_name == speaker.name %}
|
|
61
|
+
{% assign active_speaker = true %}
|
|
62
|
+
{% break %}
|
|
63
|
+
{% endif %}
|
|
64
|
+
{% endfor %}
|
|
65
|
+
{% endfor %}
|
|
66
|
+
|
|
67
|
+
{% if active_speaker %}
|
|
68
|
+
<h5 class="mt-4 mb-0">{{ site.data.lang[site.conference.lang].speaker.talks | default: "Talks at this conference" }}:</h5>
|
|
69
|
+
|
|
70
|
+
<table class="list-program">
|
|
71
|
+
{%- for d in site.data.program.days -%}
|
|
72
|
+
{%- include partials/get_day_hash.html -%}
|
|
73
|
+
{%- for r in d.rooms -%}
|
|
74
|
+
{%- for t in r.talks -%}
|
|
75
|
+
{%- assign talk = site.talks | where: 'name', t.name | first -%}
|
|
76
|
+
|
|
77
|
+
{%- for speaker_name in talk.speakers -%}
|
|
78
|
+
{%- if speaker_name == speaker.name -%}
|
|
79
|
+
|
|
80
|
+
{%- include partials/get_main_category.html -%}
|
|
81
|
+
|
|
82
|
+
<tr>
|
|
83
|
+
<td class="pr-2 py-0">
|
|
84
|
+
{%- include partials/get_talk_time.html -%}
|
|
85
|
+
{%- assign talk_time_styleclass = "w-100" -%}
|
|
86
|
+
{%- include partials/show_talk_time.html -%}
|
|
87
|
+
</td>
|
|
88
|
+
<td class="pl-2 py-0 align-baseline border-soft-{{ main_cat_color }}">
|
|
89
|
+
<span class="mr-2">
|
|
90
|
+
{%- include partials/show_talk.html -%}
|
|
91
|
+
</span>
|
|
92
|
+
{%- include partials/show_live_button.html -%}
|
|
93
|
+
</td>
|
|
94
|
+
</tr>
|
|
95
|
+
|
|
96
|
+
{%- endif -%}
|
|
97
|
+
{%- endfor -%}
|
|
98
|
+
{%- endfor -%}
|
|
99
|
+
{%- endfor -%}
|
|
100
|
+
{%- endfor -%}
|
|
101
|
+
</table>
|
|
102
|
+
{% endif %}
|
|
103
|
+
|
|
104
|
+
<p class="d-print-none mt-5">
|
|
105
|
+
<a href="{{ page.collection | prepend: '/' | prepend: site.baseurl }}" class="btn btn-light">
|
|
106
|
+
<i class="fas fa-users"></i> {{ site.data.lang[site.conference.lang].overview | default: "Overview" }}
|
|
107
|
+
</a>
|
|
108
|
+
</p>
|
|
109
|
+
|
|
110
|
+
{%- include partials/footer.html -%}
|
|
111
|
+
{%- endunless -%}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{% include partials/header.html %}
|
|
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].live.stream | default: "Live Streams" }}
|
|
8
|
+
{% endif %}
|
|
9
|
+
</h1>
|
|
10
|
+
|
|
11
|
+
{{ content }}
|
|
12
|
+
|
|
13
|
+
{%- assign nbr_streams = 0 -%}
|
|
14
|
+
{%- for room in site.rooms -%}
|
|
15
|
+
{%- if room.live -%}
|
|
16
|
+
{%- assign mod_nbr_streams = nbr_streams | modulo: 2 -%}
|
|
17
|
+
{%- if mod_nbr_streams == 0 %}
|
|
18
|
+
<div class="row">
|
|
19
|
+
{%- endif %}
|
|
20
|
+
|
|
21
|
+
<div class="col-md mb-4">
|
|
22
|
+
<h3>{{ room.name }}</h3>
|
|
23
|
+
<div class="embed-responsive embed-responsive-16by9">
|
|
24
|
+
{%- include partials/get_room_live_href.html %}
|
|
25
|
+
<iframe class="embed-responsive-item" src="{{ room_live_href }}" allowfullscreen></iframe>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
|
|
29
|
+
{%- if mod_nbr_streams == 1 %}
|
|
30
|
+
</div>
|
|
31
|
+
{%- endif -%}
|
|
32
|
+
|
|
33
|
+
{%- assign nbr_streams = nbr_streams | plus: 1 -%}
|
|
34
|
+
{%- endif -%}
|
|
35
|
+
{%- endfor %}
|
|
36
|
+
|
|
37
|
+
{% assign mod_nbr_streams = nbr_streams | modulo: 2 %}
|
|
38
|
+
{%- if mod_nbr_streams == 1 %}
|
|
39
|
+
<div class="col-md"></div>
|
|
40
|
+
</div>
|
|
41
|
+
{%- endif %}
|
|
42
|
+
|
|
43
|
+
{% include partials/footer.html %}
|