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.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +52 -40
  3. data/_includes/js/conference-live.js +188 -102
  4. data/_includes/js/conference-program.js +48 -0
  5. data/_includes/js/conference.js +11 -11
  6. data/_includes/js/jquery-3.5.1.min.js +2 -0
  7. data/_includes/partials/checks.html +66 -31
  8. data/_includes/partials/footer.html +3 -3
  9. data/_includes/partials/get_day_hash.html +20 -0
  10. data/_includes/partials/get_day_time.html +19 -0
  11. data/_includes/partials/get_link.html +41 -41
  12. data/_includes/partials/get_link_types.html +14 -14
  13. data/_includes/partials/get_live_timestamps.html +49 -0
  14. data/_includes/partials/get_main_category.html +9 -9
  15. data/_includes/partials/get_talk_time.html +7 -7
  16. data/_includes/partials/get_talk_timestamp.html +4 -0
  17. data/_includes/partials/get_time_pronoun.html +6 -0
  18. data/_includes/partials/header.html +15 -12
  19. data/_includes/partials/info_bar.html +22 -22
  20. data/_includes/partials/list_categories.html +2 -2
  21. data/_includes/partials/list_speakers.html +14 -18
  22. data/_includes/partials/list_sub_categories.html +7 -7
  23. data/_includes/partials/{live-modal.html → live_modal.html} +4 -7
  24. data/_includes/partials/navbar.html +25 -33
  25. data/_includes/partials/navbar_rooms.html +21 -20
  26. data/_includes/partials/{live_button.html → show_live_button.html} +6 -8
  27. data/_includes/partials/show_room.html +5 -5
  28. data/_includes/partials/show_talk.html +3 -3
  29. data/_includes/partials/show_talk_time.html +16 -2
  30. data/_layouts/data.html +91 -0
  31. data/_layouts/home.html +2 -10
  32. data/_layouts/program.html +179 -148
  33. data/_layouts/room.html +42 -38
  34. data/_layouts/speaker.html +40 -36
  35. data/_layouts/talk-overview.html +83 -53
  36. data/_layouts/talk.html +36 -34
  37. data/_sass/conference.scss +29 -7
  38. data/assets/icons/live.svg +33 -57
  39. data/assets/js/data.json +3 -0
  40. data/assets/js/main.js +0 -6
  41. metadata +13 -9
  42. data/_includes/js/conference-data.js +0 -87
  43. data/_includes/js/jquery-3.2.1.slim.min.js +0 -4
  44. data/_includes/partials/get_conf_time.html +0 -54
  45. data/_includes/partials/get_timestamp.html +0 -4
  46. data/_layouts/delete_hidden.html +0 -25
@@ -17,50 +17,54 @@
17
17
 
18
18
  {{ content }}
19
19
 
20
- <h5 class="mt-4 mb-2">
21
- {{ site.data.lang[site.conference.lang].location.talks | default: "Talks in this room" }}:
22
- </h5>
23
- <ul class="list-program list-unstyled">
24
- {% for r in site.data.program %}
25
- {% assign room_talks = false %}
26
- {% if this_room.name == r.room %}
27
- {% if r.talks.size > 0 %}
28
- {% for t in r.talks %}
29
- {% assign talk = site.talks | where: 'name', t.name | first %}
30
- {% include partials/get_main_category.html %}
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
31
 
32
- <li class="d-flex flex-row">
33
- <div class="flex-column">
34
- {% include partials/get_talk_time.html %}
35
- {% include partials/show_talk_time.html %}
32
+ <h6 class="mt-1 mb-0">
33
+ {{- day_name -}}
34
+ </h6>
36
35
 
37
- {% assign live_button_styleclass = "mb-1" %}
38
- {% include partials/live_button.html %}
39
- </div>
40
- <div class="flex-column ml-2 pl-2 mb-2 border-soft-{{ main_cat_color }}">
41
- <p class="mb-0">
42
- {% include partials/show_talk.html %}
43
- </p>
44
- <p class="font-weight-light mb-0">
45
- {% include partials/list_speakers.html %}
46
- </p>
47
- </div>
48
- </li>
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 %}
49
40
 
50
- {% endfor %}
51
- {% assign room_talks = true %}
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 -%}
52
64
 
53
- {% endif %}
54
- {% break %}
55
65
  {% endif %}
56
66
  {% endfor %}
57
- {% unless room_talks %}
58
- <li>
59
- <em>{{ site.data.lang[site.conference.lang].location.no_talks | default: "no talks planned" }}</em>
60
- </li>
61
- {% endunless %}
62
-
63
- </ul>
67
+ {% endfor %}
64
68
 
65
69
  {%- include partials/footer.html -%}
66
70
  {%- endunless -%}
@@ -18,12 +18,16 @@
18
18
  {% if has_icon_links %}
19
19
  <ul class="list-unstyled">
20
20
  {% for link in speaker.links %}
21
+ {% assign link_styleclass = "text-reset" %}
21
22
  {% include partials/get_link.html %}
22
23
 
23
24
  {% if link_icon %}
24
- <li class="mb-1 ml-2">
25
+ <li class="mb-1">
25
26
  {{ link_tag }}
26
- <i class="fas fa-{{ link_icon }} pr-1"></i>&nbsp;{{ link.name }}
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 }}
27
31
  </a>
28
32
  </li>
29
33
  {% endif %}
@@ -61,40 +65,40 @@
61
65
  {% endfor %}
62
66
 
63
67
  {% if active_speaker %}
64
- <h5 class="mt-4 mb-1">{{ site.data.lang[site.conference.lang].speaker.talks | default: "Talks at this conference" }}:</h5>
65
-
66
- <ul class="list-program list-unstyled">
67
- {% for r in site.data.program %}
68
- {% if r.talks.size > 0 %}
69
- {% for t in r.talks %}
70
- {% assign talk = site.talks | where: 'name', t.name | first %}
71
-
72
- {% for speaker_name in talk.speakers %}
73
- {% if speaker_name == speaker.name %}
74
-
75
- {% include partials/get_main_category.html %}
76
-
77
- <li class="d-flex flex-row">
78
- <div class="flex-column">
79
- {% include partials/get_talk_time.html %}
80
- {% include partials/show_talk_time.html %}
81
- </div>
82
- <div class="flex-column ml-2 pl-2 mb-2 border-soft-{{ main_cat_color }}">
83
- <p class="mb-0">
84
- {% include partials/show_talk.html %}
85
-
86
- {% assign live_button_styleclass = "ml-2" %}
87
- {% include partials/live_button.html %}
88
- </p>
89
- </div>
90
- </li>
91
-
92
- {% endif %}
93
- {% endfor %}
94
- {% endfor %}
95
- {% endif %}
96
- {% endfor %}
97
- </ul>
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>
98
102
  {% endif %}
99
103
 
100
104
  <p class="d-print-none mt-5">
@@ -1,11 +1,11 @@
1
1
  {% include partials/header.html %}
2
2
 
3
3
  <h1 class="display-5 mb-4">
4
- {% if page.title %}
5
- {{ page.title }}
6
- {% else %}
7
- {{ site.data.lang[site.conference.lang].talk.overview | default: "Talks" }}
8
- {% endif %}
4
+ {%- if page.title -%}
5
+ {{- page.title -}}
6
+ {%- else -%}
7
+ {{- site.data.lang[site.conference.lang].talk.overview | default: "Talks" -}}
8
+ {%- endif -%}
9
9
  </h1>
10
10
 
11
11
  {{ content }}
@@ -17,66 +17,96 @@
17
17
  </span>
18
18
  </h3>
19
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-3 mb-2 border-soft-{{ main_category.color }}">
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
25
  <p class="mb-0">
26
26
  {% include partials/show_talk.html %}
27
27
  </p>
28
28
  <p class="font-weight-light mb-0">
29
29
  {% include partials/list_speakers.html %}
30
30
  </p>
31
- <p class="mb-0">
32
- {% for r in site.data.program %}
33
- {% for t in r.talks %}
34
- {% if talk.name == t.name %}
35
- {% include partials/live_button.html %}
36
- {% endif %}
37
- {% endfor %}
38
- {% endfor %}
39
- {% include partials/list_sub_categories.html %}
40
31
 
41
- {% include partials/get_link_types.html %}
42
- {% if has_icon_links and site.conference.talks.hide_icons != true %}
43
- <span class="ml-1">
44
- {% for link in talk.links %}
45
- {% assign link_styleclass = "text-secondary" %}
46
- {% include partials/get_link.html %}
47
- {% if link_icon %}
48
- {{ link_tag -}}
49
- <i class="fas fa-{{ link_icon }} p-1"></i></a>
50
- {% endif %}
51
- {% endfor %}
52
- </span>
53
- {% endif %}
54
- </p>
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
55
 
56
- {% if talk.hide %}
57
- <p class="mb-0">
58
- {% for r in site.data.program %}
59
- {% for t in r.talks %}
60
- {% if talk.name == t.name %}
61
- {% include partials/get_talk_time.html %}
62
- {% assign room = site.rooms | where: 'name', r.room | first %}
63
- {% break %}
64
- {% endif %}
65
- {% endfor %}
66
- {% endfor %}
56
+ {{ site.data.lang[site.conference.lang].pronoun.in | default: "in" }} {% include partials/show_room.html -%}
57
+ </p>
67
58
 
68
- {{ site.data.lang[site.conference.lang].pronoun.at | default: "at" }} {% include partials/show_talk_time.html %}
59
+ {%- assign talk_scheduled = true -%}
60
+ {%- break -%}
61
+ {%- endif -%}
62
+ {%- endfor -%}
69
63
 
70
- {{ site.data.lang[site.conference.lang].pronoun.in | default: "in" }} {% include partials/show_room.html %}
71
- </p>
72
- {% endif %}
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>
73
103
 
74
104
  </li>
75
- {% break %}
76
- {% endif %}
77
- {% endfor %}
78
- {% endfor %}
105
+ {%- break -%}
106
+ {%- endif -%}
107
+ {%- endfor -%}
108
+ {%- endfor %}
79
109
  </ul>
80
- {% endfor %}
110
+ {%- endfor -%}
81
111
 
82
112
  {% include partials/footer.html %}
@@ -29,40 +29,39 @@
29
29
  </p>
30
30
 
31
31
  <div class="mb-3 p-0">
32
- {% for r in site.data.program %}
33
- {% for t in r.talks %}
34
- {% if talk.name == t.name %}
35
-
36
- {% if site.conference.live %}
37
- {% assign time_start = t.time_start %}
38
- {% assign time_end = t.time_end %}
39
- {% include partials/get_timestamp.html %}
40
- <span class="live-hide" data-start="{{ timestamp_start }}" data-end="{{ timestamp_end }}">
41
- {% endif %}
42
-
43
- {% include partials/get_talk_time.html %}
44
- <span class="d-none d-sm-inline">
45
- {{ site.data.lang[site.conference.lang].pronoun.at | default: "at" }}
46
- </span>
47
- {% include partials/show_talk_time.html %}
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 -%}
48
62
 
49
- {% if site.conference.live %}
50
- </span>
51
- {% include partials/live_button.html %}
52
63
  {% endif %}
53
-
54
- {% assign room = site.rooms | where: 'name', r.room | first %}
55
- <span class="d-none d-sm-inline ml-1">
56
- {{ site.data.lang[site.conference.lang].pronoun.in | default: "in" }}
57
- </span>
58
- {% include partials/show_room.html %}
59
-
60
- <span class="d-none d-sm-inline ml-1">
61
- {{ site.data.lang[site.conference.lang].pronoun.for | default: "for" }}
62
- </span>
63
- {% include partials/show_talk_duration.html %}
64
-
65
- {% endif %}
64
+ {% endfor %}
66
65
  {% endfor %}
67
66
  {% endfor %}
68
67
  </div>
@@ -78,9 +77,12 @@
78
77
  {% include partials/get_link.html %}
79
78
 
80
79
  {% if link_icon %}
81
- <li class="mb-1 ml-2">
80
+ <li class="mb-1">
82
81
  {{ link_tag }}
83
- <i class="fas fa-{{ link_icon }} pr-1 text-{{ main_cat_color }}"></i>&nbsp;{{ link.name }}
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 }}
84
86
  </a>
85
87
  </li>
86
88
  {% endif %}
@@ -48,6 +48,18 @@ $fa-font-path: '/assets/webfonts' !default;
48
48
  }
49
49
  }
50
50
 
51
+ // Button group for lists
52
+ ul.btn-group {
53
+ > li:not(:first-child) > .btn {
54
+ margin-left: -$btn-border-width;
55
+ @include border-left-radius(0);
56
+ }
57
+
58
+ > li:not(:last-child) > .btn {
59
+ @include border-right-radius(0);
60
+ }
61
+ }
62
+
51
63
  // Extend Bootstrap Elements
52
64
  .display-5 {
53
65
  font-size: 3rem;
@@ -72,12 +84,13 @@ $fa-font-path: '/assets/webfonts' !default;
72
84
  margin-bottom: 0;
73
85
  }
74
86
 
75
- // Live button icon
87
+ // Live icon
76
88
  .live-button > object {
77
89
  width: 0.85em;
78
90
  height: 0.85em;
79
- color: white;
91
+ color: inherit;
80
92
  }
93
+
81
94
  // Live button font size in navigation bar
82
95
  .nav-link .live-button {
83
96
  font-size: 1em;
@@ -132,7 +145,7 @@ $fa-font-path: '/assets/webfonts' !default;
132
145
  }
133
146
  // Width of first column containing timestamps
134
147
  > :nth-child(1) {
135
- width: 4rem;
148
+ width: 4.5em;
136
149
  }
137
150
  }
138
151
  }
@@ -149,11 +162,20 @@ $fa-font-path: '/assets/webfonts' !default;
149
162
  }
150
163
 
151
164
  // Program per Room
152
- .list-program li > div.flex-column:first-of-type {
153
- width: 4em;
165
+ .list-program {
166
+ border: 0 none white;
154
167
 
155
- & > * {
156
- width: 4.6em;
168
+ border-collapse: separate;
169
+ border-spacing: 0 0.5em;
170
+
171
+ tr {
172
+ td:first-child {
173
+ vertical-align: top;
174
+ }
175
+
176
+ td:last-child {
177
+ width: 100%;
178
+ }
157
179
  }
158
180
  }
159
181