jekyll-theme-conference 3.4.0 → 3.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +45 -21
- 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 +735 -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 -16
- data/_includes/partials/checks.html +1 -1
- data/_includes/partials/footer.html +1 -1
- data/_includes/partials/get_live_timestamps.html +4 -4
- data/_includes/partials/get_page_title.html +1 -1
- data/_includes/partials/get_talk_timestamp.html +2 -2
- data/_includes/partials/header.html +1 -1
- data/_includes/partials/modal_live.html +3 -2
- 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 +29 -3
- data/_layouts/home.html +1 -1
- data/_layouts/location.html +1 -1
- data/_layouts/room.html +1 -1
- data/_layouts/stream-overview.html +1 -1
- data/assets/js/config.json +3 -0
- metadata +17 -14
- data/_includes/js/conference-live.js +0 -701
- 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: 0da457627a261ffda7837260a6b66294a383971e653ea3e3f05299cb8f672f8f
|
4
|
+
data.tar.gz: b02dc7da45e1e76386635952414d57c0c22727fa6e4c6e0968e5e55db58266d3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 23c9ce1a8794dc7f25d5973c3ce70fd1c3dbb599ffc73c5a5e9fe4135a001e4ca173671d2433f66b15dd0bdc517fee1637a52325a2f233107d0590b1f554563e
|
7
|
+
data.tar.gz: ab334e1c2cd367f9ff3eebbc4d00760fc19a0ea0a1a7ea20df8d3bcc8ed0740a73464bb4b29db87452c780c4ade88b094766cff5377166a0249272105c5f50ee
|
data/README.md
CHANGED
@@ -35,20 +35,20 @@ The theme was originally created for the yearly Winterkongress conference of the
|
|
35
35
|
* [Open Graph Link Preview](#open-graph-link-preview)
|
36
36
|
* [Main Landing Page](#main-landing-page)
|
37
37
|
* [Information Boxes](#information-boxes)
|
38
|
-
* [Live Indications & Streaming](#live-indications
|
38
|
+
* [Live Indications & Streaming](#live-indications--streaming)
|
39
39
|
* [Map](#map)
|
40
40
|
* [Talk Settings](#talk-settings)
|
41
41
|
* [Speaker Settings](#speaker-settings)
|
42
42
|
* [Location Settings](#location-settings)
|
43
43
|
* [Program Settings](#program-settings)
|
44
44
|
- [Content](#content)
|
45
|
-
* [Schedule / Program](#schedule
|
45
|
+
* [Schedule / Program](#schedule--program)
|
46
46
|
* [Talks](#talks)
|
47
47
|
* [Speakers](#speakers)
|
48
48
|
* [Rooms](#rooms)
|
49
49
|
* [Links](#links)
|
50
50
|
- [Overview Pages](#overview-pages)
|
51
|
-
* [Location / Room Overview](#location
|
51
|
+
* [Location / Room Overview](#location--room-overview)
|
52
52
|
* [Live Stream Overview](#live-stream-overview)
|
53
53
|
* [Additional Pages](#additional-pages)
|
54
54
|
- [Design](#design)
|
@@ -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
|
-
- how long a pause between two consecutive talks has to be for the live indication to pause (`
|
388
|
-
- optionally
|
389
|
-
+
|
390
|
-
+ how many minutes the stream
|
391
|
-
+ how
|
387
|
+
- how long a pause between two consecutive talks has to be for the live indication to pause (`stop`),
|
388
|
+
- optionally under the `streaming` property:
|
389
|
+
+ if streaming should be enabled (`enable`), and if enabled
|
390
|
+
+ how many minutes the stream goes active before a talk (`prepend`),
|
391
|
+
+ how many minutes the stream stays active after a talk (`extend`),
|
392
|
+
+ how long a pause between two consecutive talks has to be for the stream to pause (`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
|
+
stop: 240 # in minutes
|
399
403
|
streaming:
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
+
enable: true
|
405
|
+
pause: 60 # in minutes
|
406
|
+
prepend: 5 # in minutes
|
407
|
+
extend: 5 # in minutes
|
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',
|
@@ -590,7 +598,8 @@ Each talk is represented by a file in the `_talks/` directory. It must begin wit
|
|
590
598
|
- the talk's `name` (used as identifier),
|
591
599
|
- one or more existing `speakers` name(s),
|
592
600
|
- optionally one or more `categories` of which one should be a main category as defined in the site's configuration,
|
593
|
-
- optionally a list of `links` (see the _Links_ subsection below for the available properties per link; links with icons are treated separately and are also included on the talk overview page),
|
601
|
+
- optionally a list of `links` (see the _Links_ subsection below for the available properties per link; links with icons are treated separately and are also included on the talk overview page),
|
602
|
+
- optionally a list of `live: links` (see the _Links_ subsection below for the available properties per link) which are shown below the live stream for the given talk in form of buttons, and
|
594
603
|
- optionally `hide: true` if the talk's page should not be linked to.
|
595
604
|
|
596
605
|
### Speakers
|
@@ -611,7 +620,22 @@ Each room is represented by a file in the `_rooms/` directory. It must begin wit
|
|
611
620
|
|
612
621
|
- the room's `name`
|
613
622
|
- optionally `hide: true` if the room's page should not be linked to, and
|
614
|
-
- optionally a URL pointing to a live stream for the given room during the conference (
|
623
|
+
- optionally under the `live` property a URL pointing to a live stream for the given room during the conference (see the section _Live Indications & Streaming_ above), either:
|
624
|
+
* as an `absolute_url`, or
|
625
|
+
* a `relative_url`.
|
626
|
+
|
627
|
+
Example:
|
628
|
+
|
629
|
+
```yaml
|
630
|
+
---
|
631
|
+
name: The Room
|
632
|
+
hide: false
|
633
|
+
live:
|
634
|
+
absolute_url: https://github.com
|
635
|
+
---
|
636
|
+
|
637
|
+
...
|
638
|
+
```
|
615
639
|
|
616
640
|
### Links
|
617
641
|
|
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
|