jekyll-theme-conference 4.0.1 → 4.0.2
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 +6 -4
- data/_includes/get_program_config.html +5 -1
- data/_includes/get_start_times.html +12 -0
- data/_layouts/program.html +74 -30
- data/_sass/theme.scss +3 -0
- data/assets/css/conference-only.bundle.css +1 -1
- data/assets/css/conference.bundle.css +1 -1
- data/assets/js/leaflet.bundle.js +3 -3
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fb6885a7dd29e4d0448899ed9ceb3697e4c662bf8d5d7526111b75cd74701686
|
|
4
|
+
data.tar.gz: 619841748b22d87bcc3f9e93d5ddc193fed314f8a52abd27853f1e1d7c4ce3a1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 87ed50dda511d8308a865682c62b91ab77050139543d39efdc4ff8958d698f9112be253d4a68c005e169215432baa1a8ef65075832ffa56a3408da5370aa5d3a
|
|
7
|
+
data.tar.gz: 492c12d703bcf061bee43117efcf04a197cc396349c77195c673191b670a4f5555975ef7352315d2c3f11f552d6b536c4f07a35c5b9c0d5178608f968786e98e
|
data/README.md
CHANGED
|
@@ -127,15 +127,15 @@ To install:
|
|
|
127
127
|
bundle
|
|
128
128
|
```
|
|
129
129
|
|
|
130
|
-
4. Add `remote_theme: "DigitaleGesellschaft/jekyll-theme-conference@
|
|
130
|
+
4. Add `remote_theme: "DigitaleGesellschaft/jekyll-theme-conference@v4.0.1"` to your `_config.yml` file. Remove any other `theme:` or `remote_theme:` entry.
|
|
131
131
|
|
|
132
132
|
```yaml
|
|
133
|
-
remote_theme: "DigitaleGesellschaft/jekyll-theme-conference@
|
|
133
|
+
remote_theme: "DigitaleGesellschaft/jekyll-theme-conference@v4.0.2"
|
|
134
134
|
```
|
|
135
135
|
|
|
136
136
|
5. Continue with the [_Setup_](#setup) section below to customize the theme and add content for your conference.
|
|
137
137
|
|
|
138
|
-
To update the theme, change the version tag in the `remote_theme` value (e.g., `@
|
|
138
|
+
To update the theme, change the version tag in the `remote_theme` value (e.g., `@v4.0.0` to `@v4.1.0`).
|
|
139
139
|
|
|
140
140
|
|
|
141
141
|
## Setup
|
|
@@ -706,8 +706,10 @@ window.conference.awaitReady().then(async () => {
|
|
|
706
706
|
Program settings are configured directly in the Front Matter of the program page (the page with `layout: program`). The program page's Front Matter supports the following properties:
|
|
707
707
|
|
|
708
708
|
- `title`: The title shown on the program page (defaults to "Program")
|
|
709
|
-
- `time_steps`: The time interval in minutes for each row in the schedule grid (default: `15`)
|
|
709
|
+
- `time_steps`: The time interval in minutes for each row in the schedule grid or `start` to show only the intervals that correspond to a talk start time (default: `15`)
|
|
710
710
|
- `show_alltimes`: Show time labels for all intervals, not just full hours (default: `false`)
|
|
711
|
+
- `show_first_hour`: Always show hour in time label of first row (default: `false`)
|
|
712
|
+
- `hide_legend`: Hide track legends at the bottom of program table (default: `false`)
|
|
711
713
|
|
|
712
714
|
```yaml
|
|
713
715
|
---
|
|
@@ -12,7 +12,11 @@
|
|
|
12
12
|
{%- if program_page -%}
|
|
13
13
|
{%- assign program_url = program_page.url -%}
|
|
14
14
|
{%- if program_page.time_steps -%}
|
|
15
|
-
{%-
|
|
15
|
+
{%- if program_page.time_steps == "start" -%}
|
|
16
|
+
{%- assign program_time_steps = 1 -%}
|
|
17
|
+
{%- else -%}
|
|
18
|
+
{%- assign program_time_steps = program_page.time_steps -%}
|
|
19
|
+
{%- endif -%}
|
|
16
20
|
{%- endif -%}
|
|
17
21
|
{%- endif -%}
|
|
18
22
|
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{%- assign selected_day = site.data.program.days | where: "date", d.date | first -%}
|
|
2
|
+
{%- assign start_times = "" | split: "," -%}
|
|
3
|
+
|
|
4
|
+
{%- if selected_day -%}
|
|
5
|
+
{%- for room in selected_day.rooms -%}
|
|
6
|
+
{%- for talk in room.talks -%}
|
|
7
|
+
{%- unless start_times contains talk.time_start -%}
|
|
8
|
+
{%- assign start_times = start_times | push: talk.time_start -%}
|
|
9
|
+
{%- endunless -%}
|
|
10
|
+
{%- endfor -%}
|
|
11
|
+
{%- endfor -%}
|
|
12
|
+
{%- endif -%}
|
data/_layouts/program.html
CHANGED
|
@@ -64,32 +64,55 @@
|
|
|
64
64
|
{%- assign day_end_hour = day_end_day | minus: day_start_day | times: 24 | plus: day_end_hour -%}
|
|
65
65
|
{%- endif -%}
|
|
66
66
|
|
|
67
|
-
{%-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
{%- assign
|
|
72
|
-
|
|
73
|
-
{%-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
67
|
+
{%- unless page.time_steps == "start" -%}
|
|
68
|
+
{%- assign time_steps = page.time_steps | default: 15 -%}
|
|
69
|
+
|
|
70
|
+
{%- assign day_duration_min = day_end_hour | minus: day_start_hour | times: 60 | minus: day_start_min | plus: day_end_min -%}
|
|
71
|
+
{%- assign nbr_steps = day_duration_min | divided_by: time_steps -%}
|
|
72
|
+
{%- else -%}
|
|
73
|
+
{%- assign time_steps = 1 -%}
|
|
74
|
+
{%- include get_start_times.html -%}
|
|
75
|
+
{%- assign nbr_steps = start_times.size %}
|
|
76
|
+
{%- endunless -%}
|
|
77
|
+
|
|
78
|
+
{%- for step_idx in (1..nbr_steps) -%}
|
|
79
|
+
|
|
80
|
+
{%- unless page.time_steps == "start" -%}
|
|
81
|
+
{%- assign current_hour = step_idx | minus: 1 | times: time_steps | plus: day_start_min | divided_by: 60 | floor | plus: day_start_hour | modulo: 24 -%}
|
|
82
|
+
{%- assign current_min = step_idx | minus: 1 | times: time_steps | plus: day_start_min | modulo: 60 -%}
|
|
80
83
|
{%- else -%}
|
|
81
|
-
{
|
|
82
|
-
|
|
84
|
+
{% assign start_time_idx = step_idx | minus: 1 %}
|
|
85
|
+
{% assign current_time = start_times[start_time_idx] %}
|
|
86
|
+
|
|
87
|
+
{% assign current_hour = current_time | split: ":" | first | plus: 0 %}
|
|
88
|
+
{% assign current_min = current_time | split: ":" | last | plus: 0 %}
|
|
89
|
+
{%- endunless -%}
|
|
83
90
|
|
|
84
91
|
<tr class="h-100">
|
|
85
92
|
|
|
86
|
-
{%- if current_min == 0 -%}
|
|
93
|
+
{%- if current_min == 0 or page.time_steps == "start" -%}
|
|
87
94
|
<th scope="row" class="program-time text-end">
|
|
88
|
-
{
|
|
95
|
+
{%- if current_min < 10 -%}
|
|
96
|
+
{{- current_hour | append: ':0' | append: current_min -}}
|
|
97
|
+
{%- else -%}
|
|
98
|
+
{{- current_hour | append: ':' | append: current_min -}}
|
|
99
|
+
{%- endif -%}
|
|
89
100
|
</th>
|
|
90
101
|
{%- elsif page.show_alltimes -%}
|
|
91
102
|
<th scope="row" class="program-time text-end text-muted fw-normal">
|
|
92
|
-
|
|
103
|
+
{%- if page.show_first_hour and step_idx == 1 -%}
|
|
104
|
+
{%- if current_min < 10 -%}
|
|
105
|
+
{{- current_hour | append: ':0' | append: current_min -}}
|
|
106
|
+
{%- else -%}
|
|
107
|
+
{{- current_hour | append: ':' | append: current_min -}}
|
|
108
|
+
{%- endif -%}
|
|
109
|
+
{%- else -%}
|
|
110
|
+
{%- if current_min < 10 -%}
|
|
111
|
+
{{- ':0' | append: current_min -}}
|
|
112
|
+
{%- else -%}
|
|
113
|
+
{{- ':' | append: current_min -}}
|
|
114
|
+
{%- endif -%}
|
|
115
|
+
{%- endif -%}
|
|
93
116
|
</th>
|
|
94
117
|
{%- else -%}
|
|
95
118
|
<th scope="row"></th>
|
|
@@ -105,24 +128,26 @@
|
|
|
105
128
|
|
|
106
129
|
{%- include get_talk_time.html -%}
|
|
107
130
|
|
|
108
|
-
{%- assign d_start_hour =
|
|
131
|
+
{%- assign d_start_hour = current_hour | minus: talk_start_hour -%}
|
|
109
132
|
{%- assign d_start_min = current_min | minus: talk_start_min -%}
|
|
110
|
-
{%- assign d_end_hour =
|
|
133
|
+
{%- assign d_end_hour = current_hour | minus: talk_end_hour -%}
|
|
111
134
|
{%- assign d_end_min = current_min | minus: talk_end_min -%}
|
|
112
135
|
|
|
113
|
-
{%-
|
|
114
|
-
|
|
115
|
-
|
|
136
|
+
{%- if talk_start_hour > talk_end_hour -%}
|
|
137
|
+
{%- if current_hour >= talk_start_hour -%}
|
|
138
|
+
{%- assign d_end_hour = current_hour | minus: 24 | minus: talk_end_hour -%}
|
|
139
|
+
{%- else -%}
|
|
140
|
+
{%- assign d_start_hour = current_hour | plus: 24 | minus: talk_start_hour -%}
|
|
141
|
+
{%- endif -%}
|
|
116
142
|
{%- endif -%}
|
|
117
|
-
|
|
143
|
+
|
|
144
|
+
{%- assign has_started = false -%}
|
|
145
|
+
{%- if d_start_hour > 0 or d_start_hour == 0 and d_start_min >= 0 -%}
|
|
118
146
|
{%- assign has_started = true -%}
|
|
119
147
|
{%- endif -%}
|
|
120
148
|
|
|
121
149
|
{%- assign has_ended = false -%}
|
|
122
|
-
{%- if d_end_hour == 0 and d_end_min >= 0 -%}
|
|
123
|
-
{%- assign has_ended = true -%}
|
|
124
|
-
{%- endif -%}
|
|
125
|
-
{%- if d_end_hour > 0 -%}
|
|
150
|
+
{%- if d_end_hour > 0 or d_end_hour == 0 and d_end_min >= 0 -%}
|
|
126
151
|
{%- assign has_ended = true -%}
|
|
127
152
|
{%- endif -%}
|
|
128
153
|
|
|
@@ -132,7 +157,24 @@
|
|
|
132
157
|
|
|
133
158
|
{%- if d_start_hour == 0 and d_start_min == 0 -%}
|
|
134
159
|
|
|
135
|
-
{%-
|
|
160
|
+
{%- unless page.time_steps == "start" -%}
|
|
161
|
+
{%- assign talk_nbr_steps = talk_duration_min | divided_by: time_steps -%}
|
|
162
|
+
{%- else -%}
|
|
163
|
+
{%- assign talk_nbr_steps = 0 -%}
|
|
164
|
+
{%- for start_time in start_times -%}
|
|
165
|
+
{%- assign start_hour = start_time | split: ":" | first | plus: 0 -%}
|
|
166
|
+
{%- assign start_min = start_time | split: ":" | last | plus: 0 -%}
|
|
167
|
+
{%- assign d_start_hour = start_hour | minus: talk_start_hour -%}
|
|
168
|
+
{%- if talk_start_hour > talk_end_hour and start_hour < talk_start_hour -%}
|
|
169
|
+
{%- assign d_start_hour = d_start_hour | plus: 24 -%}
|
|
170
|
+
{%- endif -%}
|
|
171
|
+
{%- assign start_ts = d_start_hour | times: 60 | plus: start_min | minus: talk_start_min -%}
|
|
172
|
+
{%- if start_ts >= 0 and start_ts < talk_duration_min -%}
|
|
173
|
+
{%- assign talk_nbr_steps = talk_nbr_steps | plus: 1 -%}
|
|
174
|
+
{%- endif -%}
|
|
175
|
+
{%- endfor -%}
|
|
176
|
+
{%- endunless -%}
|
|
177
|
+
|
|
136
178
|
{%- include get_track_properties.html -%}
|
|
137
179
|
<td rowspan="{{ talk_nbr_steps }}" class="program-talk p-0 h-100">
|
|
138
180
|
<div class="h-100 p-2 bg-{{ track_color }}-subtle text-{{ track_color }}-emphasis border-4 border-start border-{{ track_color }}-subtle shadow-sm overflow-hidden">
|
|
@@ -181,12 +223,14 @@
|
|
|
181
223
|
{%- endif -%}
|
|
182
224
|
|
|
183
225
|
{%- if site.conference.talks.tracks %}
|
|
184
|
-
|
|
226
|
+
{%- unless page.hide_legend -%}
|
|
227
|
+
<h5 class="mt-4">{{ site.data.lang[site.conference.lang].program.legend | default: "Caption" }}</h5>
|
|
185
228
|
{%- for track_prop in site.conference.talks.tracks %}
|
|
186
229
|
<div class="d-block d-sm-inline-block m-1 p-1 ps-2 pe-2 bg-{{ track_prop.color | default: 'light' }}-subtle text-{{ track_prop.color | default: 'light' }}-emphasis border-start border-4 border-{{ track_prop.color | default: 'light' }}-subtle fw-normal">
|
|
187
230
|
{{- track_prop.name -}}
|
|
188
231
|
</div>
|
|
189
232
|
{%- endfor -%}
|
|
233
|
+
{%- endunless -%}
|
|
190
234
|
{%- endif -%}
|
|
191
235
|
|
|
192
236
|
{% include footer.html %}
|
data/_sass/theme.scss
CHANGED
|
@@ -20,16 +20,19 @@
|
|
|
20
20
|
|
|
21
21
|
width: 4rem;
|
|
22
22
|
min-width: 4rem;
|
|
23
|
+
max-width: 4rem;
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
.program-talk {
|
|
26
27
|
width: 15rem;
|
|
27
28
|
min-width: 15rem;
|
|
29
|
+
max-width: 15rem;
|
|
28
30
|
}
|
|
29
31
|
|
|
30
32
|
.program-space {
|
|
31
33
|
width: 1rem;
|
|
32
34
|
min-width: 1rem;
|
|
35
|
+
max-width: 1rem;
|
|
33
36
|
}
|
|
34
37
|
}
|
|
35
38
|
|