jekyll-theme-conference 2.5.4 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +52 -40
- data/_includes/js/conference-live.js +188 -102
- 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 +3 -3
- data/_includes/partials/get_day_hash.html +20 -0
- data/_includes/partials/get_day_time.html +19 -0
- data/_includes/partials/get_link.html +41 -41
- 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/{live-modal.html → live_modal.html} +4 -7
- data/_includes/partials/navbar.html +25 -33
- 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_time.html +16 -2
- data/_layouts/data.html +91 -0
- data/_layouts/home.html +2 -10
- data/_layouts/program.html +179 -148
- data/_layouts/room.html +42 -38
- data/_layouts/speaker.html +40 -36
- data/_layouts/talk-overview.html +83 -53
- data/_layouts/talk.html +36 -34
- 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 +13 -9
- data/_includes/js/conference-data.js +0 -87
- data/_includes/js/jquery-3.2.1.slim.min.js +0 -4
- data/_includes/partials/get_conf_time.html +0 -54
- data/_includes/partials/get_timestamp.html +0 -4
- data/_layouts/delete_hidden.html +0 -25
@@ -1,9 +1,9 @@
|
|
1
|
-
{
|
2
|
-
{
|
3
|
-
{
|
4
|
-
{
|
5
|
-
{
|
6
|
-
{
|
7
|
-
{
|
8
|
-
{
|
9
|
-
{
|
1
|
+
{%- for main_cat in site.conference.talks.main_categories -%}
|
2
|
+
{%- for cat in talk.categories -%}
|
3
|
+
{%- if cat == main_cat.name -%}
|
4
|
+
{%- assign main_cat = main_cat.name -%}
|
5
|
+
{%- assign main_cat_color = main_cat.color -%}
|
6
|
+
{%- break -%}
|
7
|
+
{%- endif -%}
|
8
|
+
{%- endfor -%}
|
9
|
+
{%- endfor -%}
|
@@ -1,9 +1,9 @@
|
|
1
|
-
{
|
2
|
-
{
|
1
|
+
{%- assign talk_start = t.time_start -%}
|
2
|
+
{%- assign talk_end = t.time_end -%}
|
3
3
|
|
4
|
-
{
|
5
|
-
{
|
6
|
-
{
|
7
|
-
{
|
4
|
+
{%- assign talk_start_hour = talk_start | split: ':' | first -%}
|
5
|
+
{%- assign talk_start_min = talk_start | split: ':' | last | divided_by: site.conference.program.time_steps | floor | times: site.conference.program.time_steps -%}
|
6
|
+
{%- assign talk_end_hour = talk_end | split: ':' | first -%}
|
7
|
+
{%- assign talk_end_min = talk_end | split: ':' | last | divided_by: site.conference.program.time_steps | ceil | times: site.conference.program.time_steps -%}
|
8
8
|
|
9
|
-
{
|
9
|
+
{%- assign talk_duration_min = talk_end_hour | minus: talk_start_hour | times: 60 | minus: talk_start_min | plus: talk_end_min -%}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
{%- assign nbr_days = site.data.program.days | size -%}
|
2
|
+
{%- if nbr_days > 1 and day_abbr -%}
|
3
|
+
{%- assign time_pronoun = site.data.lang[site.conference.lang].pronoun.on_ | default: "on" -%}
|
4
|
+
{%- else -%}
|
5
|
+
{%- assign time_pronoun = site.data.lang[site.conference.lang].pronoun.at | default: "at" -%}
|
6
|
+
{%- endif -%}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<!DOCTYPE html>
|
2
|
-
<html lang="{{ site.conference.lang }}">
|
2
|
+
<html lang="{{ site.conference.lang | default: 'en' }}">
|
3
3
|
|
4
4
|
<head>
|
5
5
|
<meta charset="utf-8" />
|
@@ -10,36 +10,39 @@
|
|
10
10
|
</title>
|
11
11
|
<meta name="description" content="{{ site.description }}" />
|
12
12
|
|
13
|
-
<link rel="stylesheet" href="{{ site.baseurl }}/assets/css/main.css" />
|
13
|
+
<link rel="stylesheet" href="{{ site.baseurl }}/assets/css/main.css?t={{ site.time | date: "%s" }}" />
|
14
14
|
|
15
|
-
{
|
16
|
-
|
17
|
-
{
|
15
|
+
<link rel="preload" as="font" href="{{ site.baseurl }}/assets/webfonts/fa-regular-400.woff2" type="font/woff2" crossorigin="anonymous" />
|
16
|
+
<link rel="preload" as="font" href="{{ site.baseurl }}/assets/webfonts/fa-solid-900.woff2" type="font/woff2" crossorigin="anonymous" />
|
17
|
+
{% if site.conference.live -%}
|
18
|
+
<link rel="prefetch" as="image" href="{{ site.baseurl }}/assets/icons/live.svg" type="image/svg+xml" crossorigin="anonymous" />
|
19
|
+
<link rel="prefetch" as="fetch" href="{{ site.baseurl }}/assets/js/data.json" type="application/json" crossorigin="anonymous" />
|
20
|
+
{%- endif %}
|
18
21
|
|
19
22
|
{%- if site.conference.live.streaming -%}
|
20
23
|
{%- for room in site.rooms -%}
|
21
|
-
{%- if room.live
|
22
|
-
|
24
|
+
{%- if room.live %}
|
25
|
+
<link rel="preconnect" href="{{ room.live }}" />
|
23
26
|
{%- endif -%}
|
24
27
|
{%- endfor -%}
|
25
|
-
{%- endif
|
28
|
+
{%- endif %}
|
26
29
|
</head>
|
27
30
|
|
28
31
|
<body class="pb-4">
|
29
32
|
<header>
|
30
33
|
<!-- navigation bar (web only): -->
|
31
|
-
{
|
34
|
+
{%- include partials/navbar.html -%}
|
32
35
|
|
33
|
-
{
|
36
|
+
{%- unless page.url == "/" -%}
|
34
37
|
<!-- site title (print only): -->
|
35
38
|
<div class="container d-none d-print-block mt-4 mb-4">
|
36
39
|
<h1 class="display-4">
|
37
40
|
{{ site.title }}
|
38
41
|
</h1>
|
39
42
|
</div>
|
40
|
-
{
|
43
|
+
{%- endunless -%}
|
41
44
|
|
42
45
|
</header>
|
43
46
|
<main class="container">
|
44
47
|
|
45
|
-
{
|
48
|
+
{%- include partials/info_bar.html -%}
|
@@ -1,30 +1,30 @@
|
|
1
|
-
{
|
2
|
-
{
|
3
|
-
{
|
4
|
-
{
|
1
|
+
{%- if site.conference.show_errors -%}
|
2
|
+
{%- include partials/checks.html -%}
|
3
|
+
{%- if errors.size > 0 -%}
|
4
|
+
{%- for error in errors %}
|
5
5
|
<div class="alert alert-danger fade show" role="alert">
|
6
6
|
<h5 class="alert-heading">There was an error when generating when generating the site!</h5>
|
7
7
|
|
8
8
|
{{ error | markdownify }}
|
9
9
|
</div>
|
10
|
-
{
|
11
|
-
{
|
12
|
-
{
|
10
|
+
{%- endfor -%}
|
11
|
+
{%- endif -%}
|
12
|
+
{%- endif -%}
|
13
13
|
|
14
|
-
{
|
15
|
-
{
|
16
|
-
{
|
17
|
-
{
|
18
|
-
{
|
19
|
-
{
|
20
|
-
{
|
21
|
-
{
|
14
|
+
{%- if site.conference.info_bars.size > 0 -%}
|
15
|
+
{%- for info_bar in site.conference.info_bars -%}
|
16
|
+
{%- if page.url == "/" and info_bar.pages_only != true -%}
|
17
|
+
{%- assign show_info_bar = true -%}
|
18
|
+
{%- endif -%}
|
19
|
+
{%- if page.url != "/" and info_bar.main_only != true -%}
|
20
|
+
{%- assign show_info_bar = true -%}
|
21
|
+
{%- endif -%}
|
22
22
|
|
23
|
-
{
|
23
|
+
{%- if show_info_bar %}
|
24
24
|
<div class="alert alert-{{ info_bar.color }} alert-dismissible fade show" role="alert">
|
25
|
-
{
|
25
|
+
{%- if info_bar.title %}
|
26
26
|
<h4 class="alert-heading">{{ info_bar.title }}</h4>
|
27
|
-
{
|
27
|
+
{%- endif %}
|
28
28
|
|
29
29
|
{{ info_bar.text | markdownify }}
|
30
30
|
|
@@ -32,7 +32,7 @@
|
|
32
32
|
<span aria-hidden="true">×</span>
|
33
33
|
</button>
|
34
34
|
</div>
|
35
|
-
{
|
36
|
-
{
|
37
|
-
{
|
38
|
-
{
|
35
|
+
{%- endif -%}
|
36
|
+
{%- assign show_info_bar = false -%}
|
37
|
+
{%- endfor -%}
|
38
|
+
{%- endif -%}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
{
|
1
|
+
{%- include partials/get_main_category.html -%}
|
2
2
|
|
3
3
|
<span class="badge badge-{{ main_cat_color }}">{{ main_cat }}</span>
|
4
|
-
{
|
4
|
+
{%- include partials/list_sub_categories.html -%}
|
@@ -1,20 +1,16 @@
|
|
1
|
-
{
|
2
|
-
{
|
3
|
-
{
|
4
|
-
{
|
5
|
-
{
|
6
|
-
{
|
7
|
-
{
|
1
|
+
{%- for speaker_name in talk.speakers -%}
|
2
|
+
{%- assign speaker = site.speakers | where: 'name', speaker_name | first -%}
|
3
|
+
{%- if site.conference.speakers.show_firstname -%}
|
4
|
+
{%- assign speaker_short = speaker.first_name | append: ' ' | append: speaker.last_name -%}
|
5
|
+
{%- else -%}
|
6
|
+
{%- assign speaker_short = speaker.first_name | slice: 0 | append : '. ' | append: speaker.last_name -%}
|
7
|
+
{%- endif -%}
|
8
8
|
|
9
|
-
{
|
10
|
-
{{ speaker_short }}
|
11
|
-
{
|
12
|
-
<a class="text-reset" href="{{ speaker.url | prepend: site.baseurl }}">{{ speaker_short }}</a
|
13
|
-
{
|
14
|
-
{
|
15
|
-
-->,
|
16
|
-
{% else %}
|
17
|
-
-->
|
18
|
-
{% endif %}
|
9
|
+
{%- if speaker.hide -%}
|
10
|
+
{{ speaker_short }}
|
11
|
+
{%- else -%}
|
12
|
+
<a class="text-reset" href="{{ speaker.url | prepend: site.baseurl }}">{{ speaker_short }}</a>
|
13
|
+
{%- endif -%}
|
14
|
+
{%- if forloop.last != true %}, {% endif -%}
|
19
15
|
|
20
|
-
{
|
16
|
+
{%- endfor -%}
|
@@ -1,8 +1,8 @@
|
|
1
|
-
{
|
1
|
+
{%- assign has_sub_categories = false -%}
|
2
2
|
|
3
|
-
{
|
4
|
-
{
|
5
|
-
{
|
6
|
-
<span class="badge badge-light text-reset font-weight-normal">{{ cat }}</span
|
7
|
-
{
|
8
|
-
{
|
3
|
+
{%- for cat in talk.categories -%}
|
4
|
+
{%- if cat != main_cat -%}
|
5
|
+
{%- assign has_sub_categories = true -%}
|
6
|
+
<span class="badge badge-light text-reset font-weight-normal">{{ cat }}</span>
|
7
|
+
{%- endif -%}
|
8
|
+
{%- endfor -%}
|
@@ -29,19 +29,16 @@
|
|
29
29
|
</div>
|
30
30
|
|
31
31
|
<div class="modal-footer justify-content-around">
|
32
|
-
{
|
33
|
-
{% assign room = site.rooms | where: 'name', r.room | first %}
|
34
|
-
|
32
|
+
{%- for room in site.rooms -%}
|
35
33
|
<a id="stream-button{{ forloop.index }}" href="#" class="btn btn-outline-primary d-none d-sm-inline {% unless room.live %}disabled{% endunless %}" role="button" data-room="{{ room.name }}">
|
36
34
|
{{ room.name }}
|
37
35
|
</a>
|
38
|
-
{
|
36
|
+
{%- endfor %}
|
39
37
|
<div class="form-group w-100 d-block d-sm-none">
|
40
38
|
<select class="form-control" id="stream-select">
|
41
|
-
{
|
42
|
-
{% assign room = site.rooms | where: 'name', r.room | first %}
|
39
|
+
{%- for room in site.rooms -%}
|
43
40
|
<option {% unless room.live %}disabled{% endunless %}>{{ room.name }}</option>
|
44
|
-
{
|
41
|
+
{%- endfor %}
|
45
42
|
</select>
|
46
43
|
</div>
|
47
44
|
</div>
|
@@ -9,44 +9,36 @@
|
|
9
9
|
|
10
10
|
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
11
11
|
<ul class="navbar-nav mr-auto">
|
12
|
-
{
|
12
|
+
{%- for link in site.conference.navigation.links -%}
|
13
13
|
|
14
|
-
{
|
14
|
+
{%- if link.menu %}
|
15
15
|
<li class="nav-item dropdown">
|
16
16
|
<a class="nav-link dropdown-toggle" href="#" id="navbar-dropdown{{ forloop.index0 }}" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
17
17
|
{{ link.name }}
|
18
18
|
</a>
|
19
19
|
<div class="dropdown-menu" aria-labelledby="navbar-dropdown{{ forloop.index0 }}">
|
20
|
-
{
|
21
|
-
{
|
22
|
-
{
|
23
|
-
{
|
20
|
+
{%- assign parent_link = link -%}
|
21
|
+
{%- for link in parent_link.menu -%}
|
22
|
+
{%- assign link_styleclass = "dropdown-item" -%}
|
23
|
+
{%- include partials/get_link.html %}
|
24
24
|
{{ link_tag }}
|
25
25
|
{{ link.name }}
|
26
26
|
</a>
|
27
|
-
{
|
27
|
+
{%- endfor %}
|
28
28
|
</div>
|
29
29
|
</li>
|
30
30
|
|
31
|
-
{
|
32
|
-
{
|
33
|
-
{% assign time_start = conf_start %}
|
34
|
-
{% assign time_end = conf_end %}
|
35
|
-
{% include partials/get_timestamp.html %}
|
31
|
+
{%- elsif link.live -%}
|
32
|
+
{%- include partials/get_live_timestamps.html -%}
|
36
33
|
|
37
|
-
|
38
|
-
|
39
|
-
{% assign timestamp_start = offset_start | times: -60 | plus: timestamp_start %}
|
40
|
-
{% assign timestamp_end = offset_end | times: 60 | plus: timestamp_end %}
|
41
|
-
|
42
|
-
<li class="nav-item live-show d-none" data-start="{{ timestamp_start }}" data-end="{{ timestamp_end }}">
|
43
|
-
{% if site.conference.live.streaming %}
|
34
|
+
<li class="nav-item live-show d-none" data-start="{{ live_starts }}" data-end="{{ live_ends }}">
|
35
|
+
{%- if site.conference.live.streaming %}
|
44
36
|
<a class="nav-link" title="{% if link.name %}{{ link.name }}{% else %}{{ site.data.lang[site.conference.lang].live.streaming | default: "Live Stream" }}{% endif %}" data-toggle="modal" data-target="#stream-modal" data-room="" href="#">
|
45
|
-
{
|
46
|
-
{
|
47
|
-
{
|
37
|
+
{%- else %}
|
38
|
+
{%- assign link_styleclass = "nav-link" -%}
|
39
|
+
{%- include partials/get_link.html %}
|
48
40
|
{{ link_tag }}
|
49
|
-
{
|
41
|
+
{%- endif %}
|
50
42
|
|
51
43
|
{{ link.name | default: "" }}
|
52
44
|
|
@@ -57,30 +49,30 @@
|
|
57
49
|
</a>
|
58
50
|
</li>
|
59
51
|
|
60
|
-
{
|
52
|
+
{%- else %}
|
61
53
|
<li class="nav-item {% if page.url contains link.relative_url %}active{% endif %}">
|
62
|
-
{
|
63
|
-
{
|
54
|
+
{%- assign link_styleclass = "nav-link" -%}
|
55
|
+
{%- include partials/get_link.html -%}
|
64
56
|
{{ link_tag }}
|
65
57
|
{{ link.name }}
|
66
58
|
</a>
|
67
59
|
</li>
|
68
|
-
{
|
69
|
-
{
|
60
|
+
{%- endif -%}
|
61
|
+
{%- endfor %}
|
70
62
|
</ul>
|
71
63
|
</div>
|
72
64
|
|
73
|
-
{
|
65
|
+
{%- if site.conference.navigation.logo %}
|
74
66
|
<div class="navbar-brand navbar-logo mr-0 w-25 text-right overflow-hidden">
|
75
67
|
<a href="{{ site.conference.navigation.logo.url }}">
|
76
|
-
{
|
68
|
+
{%- if site.conference.navigation.logo.img %}
|
77
69
|
<img src="{{ site.conference.navigation.logo.img | prepend: '/assets/images/' | prepend: site.baseurl }}" class="align-middle" alt="{{ site.conference.navigation.logo.name }}" />
|
78
|
-
{
|
70
|
+
{%- else %}
|
79
71
|
{{ site.conference.navigation.logo.name }}
|
80
|
-
{
|
72
|
+
{%- endif %}
|
81
73
|
</a>
|
82
74
|
</div>
|
83
|
-
{
|
75
|
+
{%- endif %}
|
84
76
|
|
85
77
|
</div>
|
86
78
|
</nav>
|
@@ -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> {{ room.name }}</span
|
3
|
-
{
|
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
|
-
{
|
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 -%}
|