jekyll-theme-conference 3.4.1 → 3.5.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 +16 -8
- data/_includes/js/conference.js +26 -16
- data/_includes/js/init.js +37 -0
- data/_includes/js/{bootstrap.js → lib/bootstrap.js} +0 -0
- data/_includes/js/{jquery-3.5.1.min.js → lib/jquery-3.5.1.min.js} +0 -0
- data/_includes/js/{leaflet-easybutton.js → lib/leaflet-easybutton.js} +0 -0
- data/_includes/js/{leaflet-locatecontrol.js → lib/leaflet-locatecontrol.js} +0 -0
- data/_includes/js/{leaflet-providers.js → lib/leaflet-providers.js} +0 -0
- data/_includes/js/{leaflet.js → lib/leaflet.js} +0 -0
- data/_includes/js/{popper.min.js → lib/popper.min.js} +0 -0
- data/_includes/js/{syncscroll.js → lib/syncscroll.js} +0 -0
- data/_includes/js/live.js +718 -0
- data/_includes/js/map.js +38 -0
- data/_includes/js/{conference-modal.js → modal.js} +13 -15
- data/_includes/js/{conference-program.js → program.js} +10 -17
- data/_includes/partials/footer.html +1 -1
- data/_includes/partials/get_live_timestamps.html +1 -1
- data/_includes/partials/header.html +1 -1
- data/_includes/partials/navbar.html +1 -1
- data/_includes/partials/show_live_button.html +2 -2
- data/_layouts/config.html +78 -0
- data/_layouts/data.html +3 -2
- data/_layouts/home.html +1 -1
- data/assets/js/config.json +3 -0
- metadata +17 -14
- data/_includes/js/conference-live.js +0 -720
- data/_includes/js/conference-map.js +0 -45
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b3463207643540289c9e9bc5f6c7bf57a63d0b1f48f3dc72e4a0dac3f98d2034
|
4
|
+
data.tar.gz: 1c475f305b05cea1a9866f025e2d215320b1b20a7c8ce8a79769d3e310732d3e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a250438190ceec15cfc5bebf1d73dffa1a07c0f3c5056b39ff180273abdd37dc16c0b8e2a69e16f7493730ac4cb017b86a08c6890933f714fc91010742a15e12
|
7
|
+
data.tar.gz: d1fec1808da818d9d241ecd3dede1253f60f4e4d2fde4b260433b32d57b8e0bc4714c1afa00a0746e7317fadb0de61f323f48ca7443b9d80610d5781bfd635d3
|
data/README.md
CHANGED
@@ -380,27 +380,35 @@ conference:
|
|
380
380
|
|
381
381
|
In order to help users navigating the program during the congress, a _Live_ indication can be shown next to talks which are currently taking place. A small JavaScript functions keeps the site automatically up-to-date (without the need to refresh) showing the indication as soon as the talk has started and hiding it once it is over (according to the timetable indicated in the `_data/program.yml` file).
|
382
382
|
|
383
|
-
This can be further extended if some of the talks have an associated live stream: Upon clicking one of the live indications a modal will open containing the corresponding live stream
|
383
|
+
This can be further extended if some of the talks have an associated live stream: Upon clicking one of the live indications a modal will open containing the corresponding embedded live stream. The URL to the live stream has to be set via `live` property in each room (see the _Content_ > _Room_ section below). Instead of opening the modal an external link can also be used.
|
384
384
|
|
385
|
-
In order to activate
|
385
|
+
In order to activate these functionalities, each day in the `program.yml` file must contain a `date` property (see section _Content_ > _Schedule / Program_ below) and the `live` property has to be set in the configuration file containing
|
386
386
|
|
387
387
|
- how long a pause between two consecutive talks has to be for the live indication to pause (`time_stop`),
|
388
|
-
- optionally
|
388
|
+
- optionally under the `streaming` property:
|
389
|
+
+ if streaming should be enabled (`enable`), and if enabled
|
389
390
|
+ how many minutes the stream goes active before a talk (`time_prepend`),
|
390
391
|
+ how many minutes the stream stays active after a talk (`time_extend`),
|
391
392
|
+ how long a pause between two consecutive talks has to be for the stream to pause (`time_pause`), and
|
392
393
|
+ optionally an external (absolute) link to which the user will be redirected instead of opening the modal (`external`),
|
393
|
-
- optionally
|
394
|
+
- optionally under the `demo` property:
|
395
|
+
+ if a demonstration mode should be enabled (`enable`), whereby the JavaScript function cycles continuously through the entire program in a few minutes, and if enabled
|
396
|
+
+ how long the demonstration should take (`duration`), and
|
397
|
+
+ how long the pause between two demonstration cycle should be (`pause`).
|
394
398
|
|
395
399
|
```yaml
|
396
400
|
conference:
|
397
401
|
live:
|
398
402
|
time_stop: 240 # in minutes
|
399
403
|
streaming:
|
404
|
+
enable: true
|
400
405
|
time_pause: 60 # in minutes
|
401
406
|
time_prepend: 5 # in minutes
|
402
407
|
time_extend: 5 # in minutes
|
403
|
-
demo:
|
408
|
+
demo:
|
409
|
+
enable: false
|
410
|
+
duration: 300 # in seconds
|
411
|
+
pause: 10 # in seconds
|
404
412
|
```
|
405
413
|
|
406
414
|
### Map
|
@@ -495,11 +503,11 @@ Example:
|
|
495
503
|
|
496
504
|
{% include js/conference.js %}
|
497
505
|
|
498
|
-
(
|
499
|
-
|
506
|
+
(() => {
|
507
|
+
const map = window.conference.map;
|
500
508
|
|
501
509
|
if (typeof map !== 'undefined') {
|
502
|
-
|
510
|
+
let main_station = L.marker([47.37785, 8.54035], {
|
503
511
|
icon: L.divIcon({
|
504
512
|
className: '',
|
505
513
|
html: '<span class="fas fa-train"></span> Main Station',
|
data/_includes/js/conference.js
CHANGED
@@ -1,32 +1,42 @@
|
|
1
|
-
//
|
2
|
-
|
1
|
+
// Libraries
|
2
|
+
// Bootstrap (Style Framework)
|
3
|
+
{% include js/lib/jquery-3.5.1.min.js %}
|
4
|
+
{% include js/lib/popper.min.js %}
|
5
|
+
{% include js/lib/bootstrap.js %}
|
3
6
|
|
4
|
-
//
|
5
|
-
|
6
|
-
|
7
|
-
|
7
|
+
// FontAwesome (Icons)
|
8
|
+
// Imported via CSS and webfonts
|
9
|
+
|
10
|
+
// Conference
|
11
|
+
window.conference = {
|
12
|
+
config: {
|
13
|
+
baseurl: '{{ site.baseurl }}'
|
14
|
+
}
|
15
|
+
};
|
8
16
|
|
9
|
-
// FontAwesome (Icons)
|
10
|
-
// Imported via CSS and webfonts
|
11
17
|
|
12
18
|
// Program
|
13
|
-
{% include js/
|
19
|
+
{% include js/lib/syncscroll.js %}
|
20
|
+
{% include js/program.js %}
|
14
21
|
|
15
22
|
// Leaflet (Map Display)
|
16
23
|
{% include partials/get_enable_map.html %}
|
17
24
|
{% if enable_map %}
|
18
|
-
{% include js/leaflet.js %}
|
19
|
-
{% include js/leaflet-easybutton.js %}
|
20
|
-
{% include js/leaflet-locatecontrol.js %}
|
21
|
-
{% include js/leaflet-providers.js %}
|
25
|
+
{% include js/lib/leaflet.js %}
|
26
|
+
{% include js/lib/leaflet-easybutton.js %}
|
27
|
+
{% include js/lib/leaflet-locatecontrol.js %}
|
28
|
+
{% include js/lib/leaflet-providers.js %}
|
22
29
|
|
23
|
-
{% include js/
|
30
|
+
{% include js/map.js %}
|
24
31
|
{% endif %}
|
25
32
|
|
26
33
|
// Modals ("Popups")
|
27
|
-
{% include js/
|
34
|
+
{% include js/modal.js %}
|
28
35
|
|
29
36
|
// Live and Streaming
|
30
37
|
{% if site.conference.live %}
|
31
|
-
{% include js/
|
38
|
+
{% include js/live.js %}
|
32
39
|
{% endif %}
|
40
|
+
|
41
|
+
// Load configuration and start initialization
|
42
|
+
{% include js/init.js %}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
const init = () => {
|
2
|
+
// Load configuration
|
3
|
+
const request = new Request(window.conference.config.baseurl + '/assets/js/config.json');
|
4
|
+
|
5
|
+
fetch(request)
|
6
|
+
.then(response =>
|
7
|
+
response.json()
|
8
|
+
)
|
9
|
+
.then(config => {
|
10
|
+
// Add configuration to global scope
|
11
|
+
window.conference.config = Object.assign(window.conference.config, config);
|
12
|
+
|
13
|
+
// Execute initialization functions
|
14
|
+
for (const [name, module] of Object.entries(window.conference)) {
|
15
|
+
if (name == 'config') {
|
16
|
+
continue;
|
17
|
+
}
|
18
|
+
|
19
|
+
let c;
|
20
|
+
if (name in config) {
|
21
|
+
c = config[name];
|
22
|
+
}
|
23
|
+
let l;
|
24
|
+
if (name in config.lang) {
|
25
|
+
l = config.lang[name];
|
26
|
+
}
|
27
|
+
|
28
|
+
module.init(c, l)
|
29
|
+
}
|
30
|
+
|
31
|
+
})
|
32
|
+
.catch((error) => {
|
33
|
+
console.log(error);
|
34
|
+
});
|
35
|
+
};
|
36
|
+
|
37
|
+
init();
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|