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.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +45 -21
  3. data/_includes/js/conference.js +26 -16
  4. data/_includes/js/init.js +37 -0
  5. data/_includes/js/{bootstrap.js → lib/bootstrap.js} +0 -0
  6. data/_includes/js/{jquery-3.5.1.min.js → lib/jquery-3.5.1.min.js} +0 -0
  7. data/_includes/js/{leaflet-easybutton.js → lib/leaflet-easybutton.js} +0 -0
  8. data/_includes/js/{leaflet-locatecontrol.js → lib/leaflet-locatecontrol.js} +0 -0
  9. data/_includes/js/{leaflet-providers.js → lib/leaflet-providers.js} +0 -0
  10. data/_includes/js/{leaflet.js → lib/leaflet.js} +0 -0
  11. data/_includes/js/{popper.min.js → lib/popper.min.js} +0 -0
  12. data/_includes/js/{syncscroll.js → lib/syncscroll.js} +0 -0
  13. data/_includes/js/live.js +735 -0
  14. data/_includes/js/map.js +38 -0
  15. data/_includes/js/{conference-modal.js → modal.js} +13 -15
  16. data/_includes/js/{conference-program.js → program.js} +10 -16
  17. data/_includes/partials/checks.html +1 -1
  18. data/_includes/partials/footer.html +1 -1
  19. data/_includes/partials/get_live_timestamps.html +4 -4
  20. data/_includes/partials/get_page_title.html +1 -1
  21. data/_includes/partials/get_talk_timestamp.html +2 -2
  22. data/_includes/partials/header.html +1 -1
  23. data/_includes/partials/modal_live.html +3 -2
  24. data/_includes/partials/navbar.html +1 -1
  25. data/_includes/partials/show_live_button.html +2 -2
  26. data/_layouts/config.html +78 -0
  27. data/_layouts/data.html +29 -3
  28. data/_layouts/home.html +1 -1
  29. data/_layouts/location.html +1 -1
  30. data/_layouts/room.html +1 -1
  31. data/_layouts/stream-overview.html +1 -1
  32. data/assets/js/config.json +3 -0
  33. metadata +17 -14
  34. data/_includes/js/conference-live.js +0 -701
  35. data/_includes/js/conference-map.js +0 -45
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 50470940d27a0744cdf32312e829e73af0c6375241575e6eb074695edfee7028
4
- data.tar.gz: 1444781b0f41ffc7d267fe324b9cfabb5afd709ee27c24d95bd6b34d02d57060
3
+ metadata.gz: 0da457627a261ffda7837260a6b66294a383971e653ea3e3f05299cb8f672f8f
4
+ data.tar.gz: b02dc7da45e1e76386635952414d57c0c22727fa6e4c6e0968e5e55db58266d3
5
5
  SHA512:
6
- metadata.gz: 872ad7d006fbcb1c552dc863982d037e3eb9ba2ca8e8aab9d785d9e55ba0651c19c367ce03a0280317947e5ad2352b40eefc66a47e6bb5e3cbc1a3c36d298d91
7
- data.tar.gz: 8000b8d73b08f71554efad482cd8cf5518db22b01fc3828c985b669e5b013819785f4c41369ef5007ea375bf49f0b5b2195864e79d88c9d55bb089c9b5149388
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---streaming)
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---program)
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---room-overview)
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 embedded. 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.
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 the functionality, 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
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 (`time_stop`),
388
- - optionally if streaming is enabled (`streaming`) with indications
389
- + how many minutes the stream goes active before a talk (`time_prepend`),
390
- + how many minutes the stream stays active after a talk (`time_extend`),
391
- + how long a pause between two consecutive talks has to be for the stream to pause (`time_pause`), and
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 a demo mode setting, whereby the JavaScript function cycles through the entire program in five minutes for demonstration purposes (`demo: true`, default: `false`).
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
- time_stop: 240 # in minutes
402
+ stop: 240 # in minutes
399
403
  streaming:
400
- time_pause: 60 # in minutes
401
- time_prepend: 5 # in minutes
402
- time_extend: 5 # in minutes
403
- demo: false
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
- (function() {
499
- let map = window.conference.map;
506
+ (() => {
507
+ const map = window.conference.map;
500
508
 
501
509
  if (typeof map !== 'undefined') {
502
- var main_station = L.marker([47.37785, 8.54035], {
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), and
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 (`live`, see the section _Live Indications & Streaming_ above).
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
 
@@ -1,32 +1,42 @@
1
- // Global app variable
2
- window.conference = {};
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
- // Bootstrap (Style Framework)
5
- {% include js/jquery-3.5.1.min.js %}
6
- {% include js/popper.min.js %}
7
- {% include js/bootstrap.js %}
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/conference-program.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/conference-map.js %}
30
+ {% include js/map.js %}
24
31
  {% endif %}
25
32
 
26
33
  // Modals ("Popups")
27
- {% include js/conference-modal.js %}
34
+ {% include js/modal.js %}
28
35
 
29
36
  // Live and Streaming
30
37
  {% if site.conference.live %}
31
- {% include js/conference-live.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