jekyll-theme-conference 3.4.0 → 3.6.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 +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
|