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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b2ae0a8593b5af0caa18dddfbb46fc921b089d9f932ba6c3af44d787669c99c0
4
- data.tar.gz: de8cf5e47442a94d1f411ad6309cfd3d4ae2f964e341e4f9b1f47e14de7eca1e
3
+ metadata.gz: b3463207643540289c9e9bc5f6c7bf57a63d0b1f48f3dc72e4a0dac3f98d2034
4
+ data.tar.gz: 1c475f305b05cea1a9866f025e2d215320b1b20a7c8ce8a79769d3e310732d3e
5
5
  SHA512:
6
- metadata.gz: 3d347ca521f8ff60e328e9d6e1b0fa1557d78ac4dfd598f681ca2f3aba9683ea95d31b8d053295d5fd5cbe8c8cc7f56628a25b4eaf1a7149696b1611d6e1d84c
7
- data.tar.gz: 6ef6506cb582b1620e4fa78b13b561b129076c208b2ca98993ea20c83faf77f12f2d28706dbac7a2cc944311133d585ce19b95dcd6cebfd44991b6f632de83fd
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 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
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
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 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
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: false
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',
@@ -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