jekyll-theme-conference 3.4.1 → 3.5.0

Sign up to get free protection for your applications and to get access to all the features.
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