jekyll-theme-conference 2.5.4 → 3.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +53 -41
  3. data/_includes/js/conference-live.js +199 -104
  4. data/_includes/js/conference-modal.js +32 -15
  5. data/_includes/js/conference-program.js +48 -0
  6. data/_includes/js/conference.js +11 -11
  7. data/_includes/js/jquery-3.5.1.min.js +2 -0
  8. data/_includes/partials/checks.html +66 -31
  9. data/_includes/partials/footer.html +4 -21
  10. data/_includes/partials/get_day_hash.html +20 -0
  11. data/_includes/partials/get_day_time.html +19 -0
  12. data/_includes/partials/get_link.html +56 -64
  13. data/_includes/partials/get_link_types.html +14 -14
  14. data/_includes/partials/get_live_timestamps.html +49 -0
  15. data/_includes/partials/get_main_category.html +9 -9
  16. data/_includes/partials/get_talk_time.html +7 -7
  17. data/_includes/partials/get_talk_timestamp.html +4 -0
  18. data/_includes/partials/get_time_pronoun.html +6 -0
  19. data/_includes/partials/header.html +15 -12
  20. data/_includes/partials/info_bar.html +22 -22
  21. data/_includes/partials/list_categories.html +2 -2
  22. data/_includes/partials/list_speakers.html +14 -18
  23. data/_includes/partials/list_sub_categories.html +7 -7
  24. data/_includes/partials/modal_link.html +21 -0
  25. data/_includes/partials/{live-modal.html → modal_live.html} +7 -10
  26. data/_includes/partials/navbar.html +32 -32
  27. data/_includes/partials/navbar_rooms.html +21 -20
  28. data/_includes/partials/{live_button.html → show_live_button.html} +6 -8
  29. data/_includes/partials/show_room.html +5 -5
  30. data/_includes/partials/show_talk.html +3 -3
  31. data/_includes/partials/show_talk_time.html +16 -2
  32. data/_layouts/data.html +91 -0
  33. data/_layouts/home.html +17 -18
  34. data/_layouts/program.html +179 -148
  35. data/_layouts/room.html +42 -38
  36. data/_layouts/speaker.html +40 -36
  37. data/_layouts/talk-overview.html +83 -53
  38. data/_layouts/talk.html +36 -34
  39. data/_sass/conference.scss +49 -17
  40. data/assets/icons/live.svg +33 -57
  41. data/assets/js/data.json +3 -0
  42. data/assets/js/main.js +0 -6
  43. metadata +15 -10
  44. data/_includes/js/conference-data.js +0 -87
  45. data/_includes/js/jquery-3.2.1.slim.min.js +0 -4
  46. data/_includes/partials/get_conf_time.html +0 -54
  47. data/_includes/partials/get_timestamp.html +0 -4
  48. data/_layouts/delete_hidden.html +0 -25
data/_layouts/room.html CHANGED
@@ -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 %}
data/_layouts/talk.html CHANGED
@@ -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;
@@ -67,17 +79,24 @@ $fa-font-path: '/assets/webfonts' !default;
67
79
 
68
80
  // General
69
81
 
82
+ // Keep images in container
83
+ main.container img {
84
+ max-width: 100%;
85
+ height: auto;
86
+ }
87
+
70
88
  // No bottom margin on info-bar
71
89
  .alert > p:last-of-type {
72
90
  margin-bottom: 0;
73
91
  }
74
92
 
75
- // Live button icon
93
+ // Live icon
76
94
  .live-button > object {
77
95
  width: 0.85em;
78
96
  height: 0.85em;
79
- color: white;
97
+ color: inherit;
80
98
  }
99
+
81
100
  // Live button font size in navigation bar
82
101
  .nav-link .live-button {
83
102
  font-size: 1em;
@@ -117,22 +136,26 @@ $fa-font-path: '/assets/webfonts' !default;
117
136
  // First row defines width for all columns
118
137
  table-layout: fixed;
119
138
 
120
- // Table width
121
- min-width: 100%;
139
+ // Columns define table width
140
+ width: auto;
122
141
 
123
142
  // Column widths
124
- tr {
143
+ th, td {
144
+ // Total available container width is 1110px
145
+
146
+ // Width of columns with content (default)
147
+ width: 245px;
148
+ min-width: 245px;
149
+
125
150
  // Spacing between columns
126
- > :nth-child(even) {
127
- width: 10px;
128
- }
129
- // Width of columns with content
130
- > :nth-child(odd) {
131
- width: 180px;
151
+ &.col-space {
152
+ width: 15px;
153
+ min-width: 15px;
132
154
  }
133
155
  // Width of first column containing timestamps
134
- > :nth-child(1) {
135
- width: 4rem;
156
+ &.col-title {
157
+ width: 70px;
158
+ min-width: 70px;
136
159
  }
137
160
  }
138
161
  }
@@ -149,11 +172,20 @@ $fa-font-path: '/assets/webfonts' !default;
149
172
  }
150
173
 
151
174
  // Program per Room
152
- .list-program li > div.flex-column:first-of-type {
153
- width: 4em;
175
+ .list-program {
176
+ border: 0 none white;
177
+
178
+ border-collapse: separate;
179
+ border-spacing: 0 0.5em;
154
180
 
155
- & > * {
156
- width: 4.6em;
181
+ tr {
182
+ td:first-child {
183
+ vertical-align: top;
184
+ }
185
+
186
+ td:last-child {
187
+ width: 100%;
188
+ }
157
189
  }
158
190
  }
159
191