jekyll-theme-conference 3.1.1 → 3.1.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 +1 -1
- data/_includes/js/conference-live.js +41 -10
- data/_layouts/data.html +21 -9
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d6dfd46bcf846b9381cf7a9f0b88a063339e1ba62ca33bfd979c56b2ffb20621
|
4
|
+
data.tar.gz: 9d6fb33e2b5d0c1c690af32947d7c93f8ae3003f78b0c179d28ed7e3dfe825c9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b8ace8e151d2bac7f2a4f2624f8ab947cbb255c4c40de094e60ebb0205d87a5047bb33de6faea4deff3276ba6e6d0cea9f1bc920c0bacbc7946bcf999a251de
|
7
|
+
data.tar.gz: 96ee3c142c692447badd23a59244614d272f34ff86092fbe138465ac4257484de610ea3b2db9718b4fe7fbe7ff8179d7e69969818e1eba947c58cf3b7a7cfbb5
|
data/README.md
CHANGED
@@ -165,7 +165,7 @@ There exists a Python file in this repository, `_tools/create_entries.py`, which
|
|
165
165
|
|
166
166
|
In case you do not want to install the entire Ruby/Jekyll toolchain on your machine you can make use of [GitHub Actions](https://github.com/features/actions), Github's continuous integration platform. This repository contains multiple example Github Action configuration files in the `_tools/` folder:
|
167
167
|
|
168
|
-
- `build.yml`: automatically builds and minimizes the website upon adding a new tag starting with a `v` (e.g. `v2020.01.01`). It then attaches the generated website as an archive to a release for easy downloading.
|
168
|
+
- `build.yml`: automatically builds and minimizes the website upon adding a new tag starting with a `v` (e.g. `v2020.01.01`). It then attaches the generated website as an archive to a release for easy downloading. Requires `purgecss.config.js` to be copied to the project's root too.
|
169
169
|
- `test.yml`: automatically tries to build the website upon a new pull request. It can thus be used as status check before merging.
|
170
170
|
- `schedule.yml`: automatically generates the schedule and content files when a new pull request contains a `schedule.json` file (see the _Automatic Import_subsection above). Thus, it allows quick updates of the site's content from [pretalx.com](https://pretalx.com/p/about/) exports.
|
171
171
|
|
@@ -363,12 +363,21 @@ window.conference.live = (function() {
|
|
363
363
|
}
|
364
364
|
};
|
365
365
|
|
366
|
+
let getTalks = function (roomName) {
|
367
|
+
if (roomName in data.talks) {
|
368
|
+
return data.talks[roomName];
|
369
|
+
}
|
370
|
+
else {
|
371
|
+
return false;
|
372
|
+
}
|
373
|
+
};
|
374
|
+
|
366
375
|
let getNextTalk = function (roomName) {
|
367
376
|
// Get talk object for next talk in given room
|
368
377
|
let timeNow = time();
|
369
|
-
let talksHere =
|
378
|
+
let talksHere = getTalks(roomName);
|
370
379
|
|
371
|
-
if (
|
380
|
+
if (talksHere) {
|
372
381
|
if (timeNow < talksHere[talksHere.length-1].end) {
|
373
382
|
for (var i = 0; i < talksHere.length; i++) {
|
374
383
|
if (timeNow < talksHere[i].end) {
|
@@ -383,9 +392,9 @@ window.conference.live = (function() {
|
|
383
392
|
let getNextPause = function (roomName) {
|
384
393
|
// Get time object for next pause in given room
|
385
394
|
let timeNow = time();
|
386
|
-
let talksHere =
|
395
|
+
let talksHere = getTalks(roomName);
|
387
396
|
|
388
|
-
if (
|
397
|
+
if (talksHere) {
|
389
398
|
if (timeNow < talksHere[talksHere.length-1].end) {
|
390
399
|
for (var i = 1; i < talksHere.length; i++) {
|
391
400
|
if (timeNow < talksHere[i].start && streamPause*60 <= talksHere[i].start - talksHere[i-1].end) {
|
@@ -420,9 +429,29 @@ window.conference.live = (function() {
|
|
420
429
|
// Show stream with start/pause/end message (for given room) and keep updated
|
421
430
|
let timeNow = time();
|
422
431
|
|
423
|
-
let talksHere =
|
424
|
-
let roomStart
|
425
|
-
|
432
|
+
let talksHere = getTalks(roomName);
|
433
|
+
let roomStart, roomEnd;
|
434
|
+
if (talksHere) {
|
435
|
+
roomStart = talksHere[0].start;
|
436
|
+
roomEnd = talksHere[talksHere.length-1].end;
|
437
|
+
}
|
438
|
+
else {
|
439
|
+
// If no program for given room, take overall first and last talk
|
440
|
+
roomStart = 0;
|
441
|
+
roomEnd = 0;
|
442
|
+
for (let roomNameTalk in data.talks) {
|
443
|
+
talksHere = getTalks(roomNameTalk);
|
444
|
+
let crntRoomStart = talksHere[0].start;
|
445
|
+
let crntRoomEnd = talksHere[talksHere.length-1].end;
|
446
|
+
|
447
|
+
if (roomStart == 0 || roomStart > crntRoomStart) {
|
448
|
+
roomStart = crntRoomStart;
|
449
|
+
}
|
450
|
+
if (roomEnd == 0 || roomEnd < crntRoomEnd) {
|
451
|
+
roomEnd = crntRoomEnd;
|
452
|
+
}
|
453
|
+
}
|
454
|
+
}
|
426
455
|
|
427
456
|
if (typeof streamVideoTimer !== "undefined") {
|
428
457
|
clearInterval(streamVideoTimer);
|
@@ -485,7 +514,7 @@ window.conference.live = (function() {
|
|
485
514
|
clearInterval(streamInfoTimer);
|
486
515
|
}
|
487
516
|
|
488
|
-
if (timeNow >= talkNext.start - streamPause*60) {
|
517
|
+
if (talkNext && timeNow >= talkNext.start - streamPause*60) {
|
489
518
|
document.getElementById('stream-info').dataset.time = talkNext.start;
|
490
519
|
document.getElementById('stream-info-time').dataset.time = talkNext.start;
|
491
520
|
updateLive();
|
@@ -524,8 +553,10 @@ window.conference.live = (function() {
|
|
524
553
|
streamInfoTimer = setTimeout(setStreamInfo, delayStart(talkNext.start - streamPause*60) * 1000, roomName);
|
525
554
|
}
|
526
555
|
else if (demo) {
|
527
|
-
let talksHere =
|
528
|
-
|
556
|
+
let talksHere = getTalks(roomName);
|
557
|
+
if (talksHere) {
|
558
|
+
streamInfoTimer = setTimeout(setStreamInfo, delayStart(talksHere[0].start - streamPrepend*60) * 1000, roomName);
|
559
|
+
}
|
529
560
|
}
|
530
561
|
}
|
531
562
|
}
|
data/_layouts/data.html
CHANGED
@@ -12,13 +12,19 @@
|
|
12
12
|
],
|
13
13
|
|
14
14
|
"rooms": {
|
15
|
+
{%- assign first_room = true -%}
|
15
16
|
{%- for room in site.rooms %}
|
16
|
-
{%- if room.live
|
17
|
+
{%- if room.live -%}
|
18
|
+
{%- unless first_room -%}
|
19
|
+
,
|
20
|
+
{%- else -%}
|
21
|
+
{%- assign first_room = false -%}
|
22
|
+
{%- endunless %}
|
17
23
|
"{{ room.name }}": {
|
18
24
|
"id": {{ forloop.index }},
|
19
25
|
"name": "{{ room.name }}",
|
20
26
|
"href": "{{ room.live }}"
|
21
|
-
}
|
27
|
+
}
|
22
28
|
{%- endif -%}
|
23
29
|
{%- endfor %}
|
24
30
|
},
|
@@ -41,18 +47,24 @@
|
|
41
47
|
},
|
42
48
|
|
43
49
|
"talks": {
|
50
|
+
{%- assign first_room = true -%}
|
44
51
|
{%- for room in site.rooms -%}
|
45
|
-
{%- assign
|
52
|
+
{%- assign first_talk = true -%}
|
46
53
|
{%- for d in site.data.program.days -%}
|
47
54
|
{%- for r in d.rooms -%}
|
48
55
|
{%- if room.name == r.name and room.live %}
|
49
56
|
|
50
|
-
{%-
|
57
|
+
{%- if first_talk -%}
|
58
|
+
{%- unless first_room -%}
|
59
|
+
,
|
60
|
+
{%- else -%}
|
61
|
+
{%- assign first_room = false -%}
|
62
|
+
{%- endunless %}
|
51
63
|
"{{ room.name | replace: '"', '\"' }}": [
|
52
|
-
{%- assign
|
64
|
+
{%- assign first_talk = false %}
|
53
65
|
{%- else -%}
|
54
66
|
,
|
55
|
-
{%-
|
67
|
+
{%- endif -%}
|
56
68
|
|
57
69
|
{%- for t in r.talks %}
|
58
70
|
{%- assign talk = site.talks | where: 'name', t.name | first %}
|
@@ -82,9 +94,9 @@
|
|
82
94
|
{%- endfor -%}
|
83
95
|
{%- endfor -%}
|
84
96
|
|
85
|
-
{%-
|
86
|
-
]
|
87
|
-
{%-
|
97
|
+
{%- unless first_talk %}
|
98
|
+
]
|
99
|
+
{%- endunless -%}
|
88
100
|
{%- endfor %}
|
89
101
|
}
|
90
102
|
}
|