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
|
@@ -0,0 +1,112 @@
|
|
|
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].talk.overview | default: "Talks" -}}
|
|
8
|
+
{%- endif -%}
|
|
9
|
+
</h1>
|
|
10
|
+
|
|
11
|
+
{{ content }}
|
|
12
|
+
|
|
13
|
+
{% for main_category in site.conference.talks.main_categories %}
|
|
14
|
+
<h3 class="mt-4 mb-3">
|
|
15
|
+
<span class="badge border-soft-{{ main_category.color }} bg-soft-{{ main_category.color }} d-block d-sm-inline text-wrap">
|
|
16
|
+
{{ main_category.name }}
|
|
17
|
+
</span>
|
|
18
|
+
</h3>
|
|
19
|
+
<ul class="list-unstyled">
|
|
20
|
+
{% for talk in site.talks -%}
|
|
21
|
+
{%- for cat in talk.categories -%}
|
|
22
|
+
{%- if cat == main_category.name -%}
|
|
23
|
+
{%- assign main_cat = main_category.name -%}
|
|
24
|
+
<li class="pl-2 mb-2 border-soft-{{ main_category.color }}">
|
|
25
|
+
<p class="mb-0">
|
|
26
|
+
{% include partials/show_talk.html %}
|
|
27
|
+
</p>
|
|
28
|
+
<p class="font-weight-light mb-0">
|
|
29
|
+
{% include partials/list_speakers.html %}
|
|
30
|
+
</p>
|
|
31
|
+
|
|
32
|
+
{% if talk.hide -%}
|
|
33
|
+
{%- assign talk_scheduled = false -%}
|
|
34
|
+
{%- for d in site.data.program.days -%}
|
|
35
|
+
{%- include partials/get_day_hash.html -%}
|
|
36
|
+
{%- for r in d.rooms -%}
|
|
37
|
+
{%- assign room = site.rooms | where: 'name', r.name | first -%}
|
|
38
|
+
{%- for t in r.talks -%}
|
|
39
|
+
{%- if talk.name == t.name -%}
|
|
40
|
+
<p class="mb-0">
|
|
41
|
+
|
|
42
|
+
{%- if site.conference.live -%}
|
|
43
|
+
{%- include partials/get_talk_timestamp.html -%}
|
|
44
|
+
<span class="live-hide" data-start="{{ timestamp_start }}" data-end="{{ timestamp_end }}">
|
|
45
|
+
{%- endif -%}
|
|
46
|
+
|
|
47
|
+
{%- include partials/get_time_pronoun.html -%}
|
|
48
|
+
{%- include partials/get_talk_time.html -%}
|
|
49
|
+
{{- time_pronoun }} {% include partials/show_talk_time.html %}
|
|
50
|
+
|
|
51
|
+
{%- if site.conference.live -%}
|
|
52
|
+
</span>
|
|
53
|
+
{%- include partials/show_live_button.html -%}
|
|
54
|
+
{%- endif %}
|
|
55
|
+
|
|
56
|
+
{{ site.data.lang[site.conference.lang].pronoun.in | default: "in" }} {% include partials/show_room.html -%}
|
|
57
|
+
</p>
|
|
58
|
+
|
|
59
|
+
{%- assign talk_scheduled = true -%}
|
|
60
|
+
{%- break -%}
|
|
61
|
+
{%- endif -%}
|
|
62
|
+
{%- endfor -%}
|
|
63
|
+
|
|
64
|
+
{%- if talk_scheduled -%}
|
|
65
|
+
{%- break -%}
|
|
66
|
+
{%- endif -%}
|
|
67
|
+
{%- endfor -%}
|
|
68
|
+
|
|
69
|
+
{%- if talk_scheduled -%}
|
|
70
|
+
{%- break -%}
|
|
71
|
+
{%- endif -%}
|
|
72
|
+
{%- endfor -%}
|
|
73
|
+
{%- endif %}
|
|
74
|
+
|
|
75
|
+
<p class="mb-0">
|
|
76
|
+
{%- if site.conference.live and talk.hide != true -%}
|
|
77
|
+
{% for d in site.data.program.days -%}
|
|
78
|
+
{%- for r in d.rooms -%}
|
|
79
|
+
{%- for t in r.talks -%}
|
|
80
|
+
{%- if talk.name == t.name -%}
|
|
81
|
+
{%- assign live_button_styleclass = "mr-1" -%}
|
|
82
|
+
{%- include partials/show_live_button.html -%}
|
|
83
|
+
{%- endif -%}
|
|
84
|
+
{%- endfor -%}
|
|
85
|
+
{%- endfor -%}
|
|
86
|
+
{%- endfor -%}
|
|
87
|
+
{%- endif -%}
|
|
88
|
+
{%- include partials/list_sub_categories.html -%}
|
|
89
|
+
|
|
90
|
+
{%- include partials/get_link_types.html -%}
|
|
91
|
+
{%- if has_icon_links and site.conference.talks.hide_icons != true -%}
|
|
92
|
+
{% for link in talk.links -%}
|
|
93
|
+
{%- assign link_styleclass = "badge badge-light text-reset font-weight-normal mr-1" -%}
|
|
94
|
+
{%- include partials/get_link.html -%}
|
|
95
|
+
{%- if link_icon -%}
|
|
96
|
+
{{- link_tag -}}
|
|
97
|
+
<i class="fas fa-{{ link_icon }} text-secondary"></i>
|
|
98
|
+
</a>
|
|
99
|
+
{%- endif -%}
|
|
100
|
+
{%- endfor %}
|
|
101
|
+
{%- endif %}
|
|
102
|
+
</p>
|
|
103
|
+
|
|
104
|
+
</li>
|
|
105
|
+
{%- break -%}
|
|
106
|
+
{%- endif -%}
|
|
107
|
+
{%- endfor -%}
|
|
108
|
+
{%- endfor %}
|
|
109
|
+
</ul>
|
|
110
|
+
{%- endfor -%}
|
|
111
|
+
|
|
112
|
+
{% include partials/footer.html %}
|
data/_layouts/talk.html
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
{%- assign talk = page -%}
|
|
2
|
+
|
|
3
|
+
{%- unless talk.hide -%}
|
|
4
|
+
{%- include partials/header.html -%}
|
|
5
|
+
|
|
6
|
+
<div class="d-flex flex-md-row flex-column container-fluid mb-2 p-0">
|
|
7
|
+
<div class="h6 mt-2 mb-0 mr-1 pr-1 pb-1">
|
|
8
|
+
{% include partials/get_main_category.html %}
|
|
9
|
+
<span class="d-block d-sm-inline p-1 pl-2 pr-2 border-soft-{{ main_cat_color }} bg-soft-{{ main_cat_color }} font-weight-normal">
|
|
10
|
+
{{ main_cat }}
|
|
11
|
+
</span>
|
|
12
|
+
</div>
|
|
13
|
+
|
|
14
|
+
{% if talk.categories.size > 1 %}
|
|
15
|
+
<div class="h6 mt-2 mb-0 ml-1 pr-1 pb-1">
|
|
16
|
+
{% for cat in talk.categories %}
|
|
17
|
+
{% if cat != main_cat %}
|
|
18
|
+
<span class="mr-2">{{ cat }}</span>
|
|
19
|
+
{% endif %}
|
|
20
|
+
{% endfor %}
|
|
21
|
+
</div>
|
|
22
|
+
{% endif %}
|
|
23
|
+
</div>
|
|
24
|
+
|
|
25
|
+
<h1 class="font-weight-light text-break">{{ talk.name }}</h1>
|
|
26
|
+
|
|
27
|
+
<p class="mb-3 font-weight-light">
|
|
28
|
+
{% include partials/list_speakers.html %}
|
|
29
|
+
</p>
|
|
30
|
+
|
|
31
|
+
<div class="mb-3 p-0">
|
|
32
|
+
{% for d in site.data.program.days -%}
|
|
33
|
+
{%- include partials/get_day_hash.html -%}
|
|
34
|
+
{%- for r in d.rooms -%}
|
|
35
|
+
{%- for t in r.talks -%}
|
|
36
|
+
{%- if talk.name == t.name -%}
|
|
37
|
+
|
|
38
|
+
{%- if site.conference.live -%}
|
|
39
|
+
{%- include partials/get_talk_timestamp.html -%}
|
|
40
|
+
<span class="live-hide" data-start="{{ timestamp_start }}" data-end="{{ timestamp_end }}">
|
|
41
|
+
{%- endif -%}
|
|
42
|
+
|
|
43
|
+
{%- include partials/get_time_pronoun.html -%}
|
|
44
|
+
{%- include partials/get_talk_time.html -%}
|
|
45
|
+
<span class="d-none d-sm-inline">
|
|
46
|
+
{{- time_pronoun -}}
|
|
47
|
+
</span> {% include partials/show_talk_time.html -%}
|
|
48
|
+
|
|
49
|
+
{%- if site.conference.live -%}
|
|
50
|
+
</span>
|
|
51
|
+
{%- include partials/show_live_button.html -%}
|
|
52
|
+
{%- endif -%}
|
|
53
|
+
|
|
54
|
+
{%- assign room = site.rooms | where: 'name', r.name | first -%}
|
|
55
|
+
<span class="d-none d-sm-inline ml-1">
|
|
56
|
+
{{- site.data.lang[site.conference.lang].pronoun.in | default: "in" -}}
|
|
57
|
+
</span> {% include partials/show_room.html -%}
|
|
58
|
+
|
|
59
|
+
<span class="d-none d-sm-inline ml-1">
|
|
60
|
+
{{- site.data.lang[site.conference.lang].pronoun.for | default: "for" -}}
|
|
61
|
+
</span> {% include partials/show_talk_duration.html -%}
|
|
62
|
+
|
|
63
|
+
{% endif %}
|
|
64
|
+
{% endfor %}
|
|
65
|
+
{% endfor %}
|
|
66
|
+
{% endfor %}
|
|
67
|
+
</div>
|
|
68
|
+
|
|
69
|
+
{{ content }}
|
|
70
|
+
|
|
71
|
+
{% include partials/get_link_types.html %}
|
|
72
|
+
|
|
73
|
+
{% if has_icon_links %}
|
|
74
|
+
<ul class="list-unstyled">
|
|
75
|
+
{% for link in talk.links %}
|
|
76
|
+
{% assign link_styleclass = "text-reset" %}
|
|
77
|
+
{% include partials/get_link.html %}
|
|
78
|
+
|
|
79
|
+
{% if link_icon %}
|
|
80
|
+
<li class="mb-1">
|
|
81
|
+
{{ link_tag }}
|
|
82
|
+
<span class="badge bg-soft-{{ main_cat_color }} font-weight-normal mr-1">
|
|
83
|
+
<i class="fas fa-{{ link_icon }} fa-fw"></i>
|
|
84
|
+
</span>
|
|
85
|
+
{{- link.name }}
|
|
86
|
+
</a>
|
|
87
|
+
</li>
|
|
88
|
+
{% endif %}
|
|
89
|
+
{% endfor %}
|
|
90
|
+
</ul>
|
|
91
|
+
{% endif %}
|
|
92
|
+
|
|
93
|
+
{% if has_regular_links %}
|
|
94
|
+
<h5 class="mt-4 mb-1">{{ site.data.lang[site.conference.lang].more_information | default: "More information" }}:</h5>
|
|
95
|
+
|
|
96
|
+
<ul class="list-unstyled">
|
|
97
|
+
{% for link in talk.links %}
|
|
98
|
+
{% assign link_styleclass = "text-reset" %}
|
|
99
|
+
{% include partials/get_link.html %}
|
|
100
|
+
|
|
101
|
+
{% unless link_icon %}
|
|
102
|
+
<li class="mb-1 ml-2 pl-2 border-soft-{{ main_cat_color }}">
|
|
103
|
+
{{ link_tag }}
|
|
104
|
+
{{ link.name }}
|
|
105
|
+
</a>
|
|
106
|
+
</li>
|
|
107
|
+
{% endunless %}
|
|
108
|
+
{% endfor %}
|
|
109
|
+
</ul>
|
|
110
|
+
{% endif %}
|
|
111
|
+
|
|
112
|
+
<p class="d-print-none mt-5">
|
|
113
|
+
<a href="{{ page.collection | prepend: '/' | prepend: site.baseurl }}" class="btn btn-light">
|
|
114
|
+
<i class="fas fa-bullhorn"></i> {{ site.data.lang[site.conference.lang].overview | default: "Overview" }}
|
|
115
|
+
</a>
|
|
116
|
+
|
|
117
|
+
<a href="{{ site.conference.program.url | prepend: site.baseurl }}" class="btn btn-light">
|
|
118
|
+
<i class="far fa-calendar-alt"></i> {{ site.data.lang[site.conference.lang].program.title | default: "Program" }}
|
|
119
|
+
</a>
|
|
120
|
+
</p>
|
|
121
|
+
|
|
122
|
+
{%- include partials/footer.html -%}
|
|
123
|
+
{%- endunless -%}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Base styles
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
.alert {
|
|
6
|
+
position: relative;
|
|
7
|
+
padding: $alert-padding-y $alert-padding-x;
|
|
8
|
+
margin-bottom: $alert-margin-bottom;
|
|
9
|
+
border: $alert-border-width solid transparent;
|
|
10
|
+
@include border-radius($alert-border-radius);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// Headings for larger alerts
|
|
14
|
+
.alert-heading {
|
|
15
|
+
// Specified to prevent conflicts of changing $headings-color
|
|
16
|
+
color: inherit;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// Provide class for links that match alerts
|
|
20
|
+
.alert-link {
|
|
21
|
+
font-weight: $alert-link-font-weight;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
// Dismissible alerts
|
|
26
|
+
//
|
|
27
|
+
// Expand the right padding and account for the close button's positioning.
|
|
28
|
+
|
|
29
|
+
.alert-dismissible {
|
|
30
|
+
padding-right: $close-font-size + $alert-padding-x * 2;
|
|
31
|
+
|
|
32
|
+
// Adjust close link position
|
|
33
|
+
.close {
|
|
34
|
+
position: absolute;
|
|
35
|
+
top: 0;
|
|
36
|
+
right: 0;
|
|
37
|
+
z-index: 2;
|
|
38
|
+
padding: $alert-padding-y $alert-padding-x;
|
|
39
|
+
color: inherit;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
// Alternate styles
|
|
45
|
+
//
|
|
46
|
+
// Generate contextual modifier classes for colorizing the alert.
|
|
47
|
+
|
|
48
|
+
@each $color, $value in $theme-colors {
|
|
49
|
+
.alert-#{$color} {
|
|
50
|
+
@include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// Base class
|
|
2
|
+
//
|
|
3
|
+
// Requires one of the contextual, color modifier classes for `color` and
|
|
4
|
+
// `background-color`.
|
|
5
|
+
|
|
6
|
+
.badge {
|
|
7
|
+
display: inline-block;
|
|
8
|
+
padding: $badge-padding-y $badge-padding-x;
|
|
9
|
+
@include font-size($badge-font-size);
|
|
10
|
+
font-weight: $badge-font-weight;
|
|
11
|
+
line-height: 1;
|
|
12
|
+
text-align: center;
|
|
13
|
+
white-space: nowrap;
|
|
14
|
+
vertical-align: baseline;
|
|
15
|
+
@include border-radius($badge-border-radius);
|
|
16
|
+
@include transition($badge-transition);
|
|
17
|
+
|
|
18
|
+
@at-root a#{&} {
|
|
19
|
+
@include hover-focus() {
|
|
20
|
+
text-decoration: none;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Empty badges collapse automatically
|
|
25
|
+
&:empty {
|
|
26
|
+
display: none;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// Quick fix for badges in buttons
|
|
31
|
+
.btn .badge {
|
|
32
|
+
position: relative;
|
|
33
|
+
top: -1px;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Pill badges
|
|
37
|
+
//
|
|
38
|
+
// Make them extra rounded with a modifier to replace v3's badges.
|
|
39
|
+
|
|
40
|
+
.badge-pill {
|
|
41
|
+
padding-right: $badge-pill-padding-x;
|
|
42
|
+
padding-left: $badge-pill-padding-x;
|
|
43
|
+
@include border-radius($badge-pill-border-radius);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Colors
|
|
47
|
+
//
|
|
48
|
+
// Contextual variations (linked badges get darker on :hover).
|
|
49
|
+
|
|
50
|
+
@each $color, $value in $theme-colors {
|
|
51
|
+
.badge-#{$color} {
|
|
52
|
+
@include badge-variant($value);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
.breadcrumb {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-wrap: wrap;
|
|
4
|
+
padding: $breadcrumb-padding-y $breadcrumb-padding-x;
|
|
5
|
+
margin-bottom: $breadcrumb-margin-bottom;
|
|
6
|
+
@include font-size($breadcrumb-font-size);
|
|
7
|
+
list-style: none;
|
|
8
|
+
background-color: $breadcrumb-bg;
|
|
9
|
+
@include border-radius($breadcrumb-border-radius);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.breadcrumb-item {
|
|
13
|
+
display: flex;
|
|
14
|
+
|
|
15
|
+
// The separator between breadcrumbs (by default, a forward-slash: "/")
|
|
16
|
+
+ .breadcrumb-item {
|
|
17
|
+
padding-left: $breadcrumb-item-padding;
|
|
18
|
+
|
|
19
|
+
&::before {
|
|
20
|
+
display: inline-block; // Suppress underlining of the separator in modern browsers
|
|
21
|
+
padding-right: $breadcrumb-item-padding;
|
|
22
|
+
color: $breadcrumb-divider-color;
|
|
23
|
+
content: escape-svg($breadcrumb-divider);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built
|
|
28
|
+
// without `<ul>`s. The `::before` pseudo-element generates an element
|
|
29
|
+
// *within* the .breadcrumb-item and thereby inherits the `text-decoration`.
|
|
30
|
+
//
|
|
31
|
+
// To trick IE into suppressing the underline, we give the pseudo-element an
|
|
32
|
+
// underline and then immediately remove it.
|
|
33
|
+
+ .breadcrumb-item:hover::before {
|
|
34
|
+
text-decoration: underline;
|
|
35
|
+
}
|
|
36
|
+
// stylelint-disable-next-line no-duplicate-selectors
|
|
37
|
+
+ .breadcrumb-item:hover::before {
|
|
38
|
+
text-decoration: none;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
&.active {
|
|
42
|
+
color: $breadcrumb-active-color;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
// stylelint-disable selector-no-qualifying-type
|
|
2
|
+
|
|
3
|
+
// Make the div behave like a button
|
|
4
|
+
.btn-group,
|
|
5
|
+
.btn-group-vertical {
|
|
6
|
+
position: relative;
|
|
7
|
+
display: inline-flex;
|
|
8
|
+
vertical-align: middle; // match .btn alignment given font-size hack above
|
|
9
|
+
|
|
10
|
+
> .btn {
|
|
11
|
+
position: relative;
|
|
12
|
+
flex: 1 1 auto;
|
|
13
|
+
|
|
14
|
+
// Bring the hover, focused, and "active" buttons to the front to overlay
|
|
15
|
+
// the borders properly
|
|
16
|
+
@include hover() {
|
|
17
|
+
z-index: 1;
|
|
18
|
+
}
|
|
19
|
+
&:focus,
|
|
20
|
+
&:active,
|
|
21
|
+
&.active {
|
|
22
|
+
z-index: 1;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Optional: Group multiple button groups together for a toolbar
|
|
28
|
+
.btn-toolbar {
|
|
29
|
+
display: flex;
|
|
30
|
+
flex-wrap: wrap;
|
|
31
|
+
justify-content: flex-start;
|
|
32
|
+
|
|
33
|
+
.input-group {
|
|
34
|
+
width: auto;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.btn-group {
|
|
39
|
+
// Prevent double borders when buttons are next to each other
|
|
40
|
+
> .btn:not(:first-child),
|
|
41
|
+
> .btn-group:not(:first-child) {
|
|
42
|
+
margin-left: -$btn-border-width;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Reset rounded corners
|
|
46
|
+
> .btn:not(:last-child):not(.dropdown-toggle),
|
|
47
|
+
> .btn-group:not(:last-child) > .btn {
|
|
48
|
+
@include border-right-radius(0);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
> .btn:not(:first-child),
|
|
52
|
+
> .btn-group:not(:first-child) > .btn {
|
|
53
|
+
@include border-left-radius(0);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// Sizing
|
|
58
|
+
//
|
|
59
|
+
// Remix the default button sizing classes into new ones for easier manipulation.
|
|
60
|
+
|
|
61
|
+
.btn-group-sm > .btn { @extend .btn-sm; }
|
|
62
|
+
.btn-group-lg > .btn { @extend .btn-lg; }
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
//
|
|
66
|
+
// Split button dropdowns
|
|
67
|
+
//
|
|
68
|
+
|
|
69
|
+
.dropdown-toggle-split {
|
|
70
|
+
padding-right: $btn-padding-x * .75;
|
|
71
|
+
padding-left: $btn-padding-x * .75;
|
|
72
|
+
|
|
73
|
+
&::after,
|
|
74
|
+
.dropup &::after,
|
|
75
|
+
.dropright &::after {
|
|
76
|
+
margin-left: 0;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.dropleft &::before {
|
|
80
|
+
margin-right: 0;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.btn-sm + .dropdown-toggle-split {
|
|
85
|
+
padding-right: $btn-padding-x-sm * .75;
|
|
86
|
+
padding-left: $btn-padding-x-sm * .75;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.btn-lg + .dropdown-toggle-split {
|
|
90
|
+
padding-right: $btn-padding-x-lg * .75;
|
|
91
|
+
padding-left: $btn-padding-x-lg * .75;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
// The clickable button for toggling the menu
|
|
96
|
+
// Set the same inset shadow as the :active state
|
|
97
|
+
.btn-group.show .dropdown-toggle {
|
|
98
|
+
@include box-shadow($btn-active-box-shadow);
|
|
99
|
+
|
|
100
|
+
// Show no shadow for `.btn-link` since it has no other button styles.
|
|
101
|
+
&.btn-link {
|
|
102
|
+
@include box-shadow(none);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
//
|
|
108
|
+
// Vertical button groups
|
|
109
|
+
//
|
|
110
|
+
|
|
111
|
+
.btn-group-vertical {
|
|
112
|
+
flex-direction: column;
|
|
113
|
+
align-items: flex-start;
|
|
114
|
+
justify-content: center;
|
|
115
|
+
|
|
116
|
+
> .btn,
|
|
117
|
+
> .btn-group {
|
|
118
|
+
width: 100%;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
> .btn:not(:first-child),
|
|
122
|
+
> .btn-group:not(:first-child) {
|
|
123
|
+
margin-top: -$btn-border-width;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// Reset rounded corners
|
|
127
|
+
> .btn:not(:last-child):not(.dropdown-toggle),
|
|
128
|
+
> .btn-group:not(:last-child) > .btn {
|
|
129
|
+
@include border-bottom-radius(0);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
> .btn:not(:first-child),
|
|
133
|
+
> .btn-group:not(:first-child) > .btn {
|
|
134
|
+
@include border-top-radius(0);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
// Checkbox and radio options
|
|
140
|
+
//
|
|
141
|
+
// In order to support the browser's form validation feedback, powered by the
|
|
142
|
+
// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use
|
|
143
|
+
// `display: none;` or `visibility: hidden;` as that also hides the popover.
|
|
144
|
+
// Simply visually hiding the inputs via `opacity` would leave them clickable in
|
|
145
|
+
// certain cases which is prevented by using `clip` and `pointer-events`.
|
|
146
|
+
// This way, we ensure a DOM element is visible to position the popover from.
|
|
147
|
+
//
|
|
148
|
+
// See https://github.com/twbs/bootstrap/pull/12794 and
|
|
149
|
+
// https://github.com/twbs/bootstrap/pull/14559 for more information.
|
|
150
|
+
|
|
151
|
+
.btn-group-toggle {
|
|
152
|
+
> .btn,
|
|
153
|
+
> .btn-group > .btn {
|
|
154
|
+
margin-bottom: 0; // Override default `<label>` value
|
|
155
|
+
|
|
156
|
+
input[type="radio"],
|
|
157
|
+
input[type="checkbox"] {
|
|
158
|
+
position: absolute;
|
|
159
|
+
clip: rect(0, 0, 0, 0);
|
|
160
|
+
pointer-events: none;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
// stylelint-disable selector-no-qualifying-type
|
|
2
|
+
|
|
3
|
+
//
|
|
4
|
+
// Base styles
|
|
5
|
+
//
|
|
6
|
+
|
|
7
|
+
.btn {
|
|
8
|
+
display: inline-block;
|
|
9
|
+
font-family: $btn-font-family;
|
|
10
|
+
font-weight: $btn-font-weight;
|
|
11
|
+
color: $body-color;
|
|
12
|
+
text-align: center;
|
|
13
|
+
text-decoration: if($link-decoration == none, null, none);
|
|
14
|
+
white-space: $btn-white-space;
|
|
15
|
+
vertical-align: middle;
|
|
16
|
+
user-select: none;
|
|
17
|
+
background-color: transparent;
|
|
18
|
+
border: $btn-border-width solid transparent;
|
|
19
|
+
@include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius);
|
|
20
|
+
@include transition($btn-transition);
|
|
21
|
+
|
|
22
|
+
@include hover() {
|
|
23
|
+
color: $body-color;
|
|
24
|
+
text-decoration: none;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&:focus,
|
|
28
|
+
&.focus {
|
|
29
|
+
outline: 0;
|
|
30
|
+
box-shadow: $btn-focus-box-shadow;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Disabled comes first so active can properly restyle
|
|
34
|
+
&.disabled,
|
|
35
|
+
&:disabled {
|
|
36
|
+
opacity: $btn-disabled-opacity;
|
|
37
|
+
@include box-shadow(none);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
&:not(:disabled):not(.disabled) {
|
|
41
|
+
cursor: if($enable-pointer-cursor-for-buttons, pointer, null);
|
|
42
|
+
|
|
43
|
+
&:active,
|
|
44
|
+
&.active {
|
|
45
|
+
@include box-shadow($btn-active-box-shadow);
|
|
46
|
+
|
|
47
|
+
&:focus {
|
|
48
|
+
@include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// Future-proof disabling of clicks on `<a>` elements
|
|
55
|
+
a.btn.disabled,
|
|
56
|
+
fieldset:disabled a.btn {
|
|
57
|
+
pointer-events: none;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
//
|
|
62
|
+
// Alternate buttons
|
|
63
|
+
//
|
|
64
|
+
|
|
65
|
+
@each $color, $value in $theme-colors {
|
|
66
|
+
.btn-#{$color} {
|
|
67
|
+
@include button-variant($value, $value);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
@each $color, $value in $theme-colors {
|
|
72
|
+
.btn-outline-#{$color} {
|
|
73
|
+
@include button-outline-variant($value);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
//
|
|
79
|
+
// Link buttons
|
|
80
|
+
//
|
|
81
|
+
|
|
82
|
+
// Make a button look and behave like a link
|
|
83
|
+
.btn-link {
|
|
84
|
+
font-weight: $font-weight-normal;
|
|
85
|
+
color: $link-color;
|
|
86
|
+
text-decoration: $link-decoration;
|
|
87
|
+
|
|
88
|
+
@include hover() {
|
|
89
|
+
color: $link-hover-color;
|
|
90
|
+
text-decoration: $link-hover-decoration;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
&:focus,
|
|
94
|
+
&.focus {
|
|
95
|
+
text-decoration: $link-hover-decoration;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
&:disabled,
|
|
99
|
+
&.disabled {
|
|
100
|
+
color: $btn-link-disabled-color;
|
|
101
|
+
pointer-events: none;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// No need for an active state here
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
//
|
|
109
|
+
// Button Sizes
|
|
110
|
+
//
|
|
111
|
+
|
|
112
|
+
.btn-lg {
|
|
113
|
+
@include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.btn-sm {
|
|
117
|
+
@include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
//
|
|
122
|
+
// Block button
|
|
123
|
+
//
|
|
124
|
+
|
|
125
|
+
.btn-block {
|
|
126
|
+
display: block;
|
|
127
|
+
width: 100%;
|
|
128
|
+
|
|
129
|
+
// Vertically space out multiple block buttons
|
|
130
|
+
+ .btn-block {
|
|
131
|
+
margin-top: $btn-block-spacing-y;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// Specificity overrides
|
|
136
|
+
input[type="submit"],
|
|
137
|
+
input[type="reset"],
|
|
138
|
+
input[type="button"] {
|
|
139
|
+
&.btn-block {
|
|
140
|
+
width: 100%;
|
|
141
|
+
}
|
|
142
|
+
}
|