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.
@@ -0,0 +1,38 @@
1
+ window.conference.mapConfig = (() => {
2
+ let config;
3
+ let lang;
4
+
5
+ let map;
6
+
7
+ const setup = (elId) => {
8
+ map = L.map(elId).setView(config.map.home_coord, config.map.default_zoom);
9
+
10
+ L.tileLayer.provider(config.map.map_provider).addTo(map);
11
+
12
+ L.easyButton('far fa-star', () => {
13
+ map.flyTo(config.map.home_coord, config.map.default_zoom);
14
+ }, lang.location.focus_conf).addTo(map);
15
+
16
+ L.control.locate({
17
+ flyTo: true,
18
+ strings: {
19
+ title: lang.location.focus_me
20
+ }
21
+ }).addTo(map);
22
+ };
23
+
24
+ const init = (c, l) => {
25
+ config = c;
26
+ lang = l;
27
+
28
+ const elId = 'map';
29
+
30
+ if (document.getElementById(elId)) {
31
+ setup(elId);
32
+ }
33
+ };
34
+
35
+ return {
36
+ init: init
37
+ };
38
+ })();
@@ -1,15 +1,15 @@
1
- window.conference.modal = (function () {
1
+ window.conference.modal = (() => {
2
2
 
3
- let show = function (el, event) {
4
- let button = $(event.relatedTarget);
3
+ const show = (el, event) => {
4
+ const button = $(event.relatedTarget);
5
5
 
6
- let href = button.data('href');
7
- let format = button.data('format');
8
- let title = button.data('title');
9
- let subtitle = button.data('subtitle');
10
- let footer = button.data('footer');
6
+ const href = button.data('href');
7
+ const format = button.data('format');
8
+ const title = button.data('title');
9
+ const subtitle = button.data('subtitle');
10
+ const footer = button.data('footer');
11
11
 
12
- let modal = $(el);
12
+ const modal = $(el);
13
13
  modal.find('iframe').attr('src', href);
14
14
 
15
15
  if (title) {
@@ -51,8 +51,8 @@ window.conference.modal = (function () {
51
51
  }
52
52
  };
53
53
 
54
- let hide = function (el) {
55
- let modal = $(el);
54
+ const hide = (el) => {
55
+ const modal = $(el);
56
56
 
57
57
  modal.find('.modal-title h3').text('');
58
58
  modal.find('.modal-title h5').text('').addClass('d-none');
@@ -60,8 +60,8 @@ window.conference.modal = (function () {
60
60
  modal.find('.modal-footer p').html('');
61
61
  };
62
62
 
63
- let init = function() {
64
- let elSel = '#link-modal';
63
+ const init = () => {
64
+ const elSel = '#link-modal';
65
65
 
66
66
  $(elSel).on('show.bs.modal', function (event) {
67
67
  show(this, event);
@@ -76,5 +76,3 @@ window.conference.modal = (function () {
76
76
  };
77
77
 
78
78
  })();
79
-
80
- window.conference.modal.init();
@@ -1,30 +1,25 @@
1
- // Vertical Scroll Sync
2
- {% include js/syncscroll.js %}
3
-
4
- window.conference.program = (function() {
5
- let updateHash = function (hash) {
6
- let scrollPosition = $('body').scrollTop() || $('html').scrollTop();
1
+ window.conference.program = (() => {
2
+ const updateHash = (hash) => {
3
+ const scrollPosition = document.documentElement.scrollTop;
7
4
  window.location.hash = hash;
8
- $('html,body').scrollTop(scrollPosition);
5
+ document.documentElement.scrollTop = scrollPosition;
9
6
  };
10
7
 
11
- let init = function () {
8
+ const init = () => {
12
9
  if ($('#day-list')) {
13
10
  // Switch to day if page load with hash
14
- var hash = window.location.hash;
11
+ const hash = window.location.hash;
15
12
  if (hash) {
16
13
  $('#day-list a[href="' + hash + '"]').tab('show');
17
14
  }
15
+
18
16
  // Switch to day if today
19
17
  else {
20
- let d = new Date();
21
- let dStr = d.getFullYear() +"-"+ (d.getMonth()+1) +"-"+ d.getDate()
22
- // since a timezone compensation is added when passed as string, today's date has also
23
- // to be passed as string (as it is done below)
24
- let today = new Date(dStr);
18
+ let today = new Date();
19
+ today.setHours(0,0,0,0);
25
20
 
26
21
  $('a[data-toggle="tab"]').each(function () {
27
- let d = new Date($(this).data('date'));
22
+ const d = new Date($(this).data('date'));
28
23
 
29
24
  if (today.getTime() === d.getTime()) {
30
25
  $(this).tab('show');
@@ -44,5 +39,3 @@ window.conference.program = (function() {
44
39
  init: init
45
40
  };
46
41
  })();
47
-
48
- window.conference.program.init();
@@ -4,7 +4,7 @@
4
4
 
5
5
  {%- include partials/modal_link.html -%}
6
6
 
7
- {%- if site.conference.live.streaming -%}
7
+ {%- if site.conference.live.streaming.enable -%}
8
8
  {%- include partials/modal_live.html -%}
9
9
  {%- endif -%}
10
10
 
@@ -1,7 +1,7 @@
1
1
  {%- assign min_pause = site.conference.live.time_stop | default: 240 -%}
2
2
  {%- assign min_pause = min_pause | times: 60 -%}
3
3
 
4
- {%- if site.conference.live.streaming -%}
4
+ {%- if site.conference.live.streaming.enable -%}
5
5
  {%- assign offset_start = site.conference.live.streaming.time_prepend | default: 5 -%}
6
6
  {%- assign offset_end = site.conference.live.streaming.time_extend | default: 5 -%}
7
7
  {%- else -%}
@@ -22,7 +22,7 @@
22
22
  <link rel="prefetch" as="fetch" href="{{ site.baseurl }}/assets/js/data.json" type="application/json" crossorigin="anonymous" />
23
23
  {%- endif %}
24
24
 
25
- {%- if site.conference.live.streaming -%}
25
+ {%- if site.conference.live.streaming.enable -%}
26
26
  {%- for room in site.rooms -%}
27
27
  {%- if room.live %}
28
28
  <link rel="preconnect" href="{{ room.live }}" />
@@ -40,7 +40,7 @@
40
40
  {%- endif -%}
41
41
 
42
42
  <li class="nav-item live-show d-none" data-start="{{ live_starts }}" data-end="{{ live_ends }}">
43
- {%- if site.conference.live.streaming %}
43
+ {%- if site.conference.live.streaming.enable %}
44
44
  <a class="nav-link" title="
45
45
  {%- if link.name -%}
46
46
  {{- link.name -}}
@@ -1,7 +1,7 @@
1
1
  {%- if site.conference.live -%}
2
2
  {%- include partials/get_talk_timestamp.html -%}
3
3
 
4
- {%- if site.conference.live.streaming -%}
4
+ {%- if site.conference.live.streaming.enable -%}
5
5
  <a title="{{ link.name }}" {% if site.conference.live.streaming.external -%}
6
6
  href="{{ site.conference.live.streaming.external }}"
7
7
  {%- else -%}
@@ -12,7 +12,7 @@
12
12
  {%- endif %} class="live-show live-button badge badge-dark font-weight-normal text-center d-none {{ live_button_styleclass }}" data-start="{{ timestamp_start }}" data-end="{{ timestamp_end }}">
13
13
  <object data="{{ site.baseurl }}/assets/icons/live.svg" type="image/svg+xml">!</object>
14
14
  {{ site.data.lang[site.conference.lang].live.live | default: "Live" }}
15
- {%- if site.conference.live.streaming -%}
15
+ {%- if site.conference.live.streaming.enable -%}
16
16
  </a>
17
17
  {%- else -%}
18
18
  </span>
@@ -0,0 +1,78 @@
1
+ {
2
+ {%- include partials/get_enable_map.html -%}
3
+ {%- if enable_map %}
4
+ "map": {
5
+ "map_provider": "{{ site.conference.map.map_provider | default: 'OpenStreetMap.Mapnik' }}",
6
+ "home_coord": [{{ site.conference.map.home_coord }}],
7
+ "default_zoom": {{ site.conference.map.default_zoom | default: 17 }}
8
+ },
9
+ {%- endif %}
10
+
11
+ {% if site.conference.live -%}
12
+ "live": {
13
+ "time": {
14
+ {% assign d = site.data.program.days | first -%}
15
+ {%- include partials/get_day_time.html -%}
16
+ {%- assign t = day_start_talk -%}
17
+
18
+ {%- include partials/get_talk_timestamp.html -%}
19
+ {%- assign conf_start = timestamp_start -%}
20
+
21
+ {%- assign d = site.data.program.days | last -%}
22
+ {%- include partials/get_day_time.html -%}
23
+ {%- assign t = day_end_talk -%}
24
+
25
+ {%- include partials/get_talk_timestamp.html -%}
26
+ {%- assign conf_end = timestamp_end -%}
27
+
28
+ "start": {{ conf_start }},
29
+ "end": {{ conf_end }}
30
+ },
31
+
32
+ "streaming": {
33
+ "enable": {{ site.conference.live.streaming.enable | default: "false" }},
34
+ "pause": {{ site.conference.live.streaming.time_pause | default: 60 }},
35
+ "prepend": {{ site.conference.live.streaming.time_prepend | default: 5 }},
36
+ "extend": {{ site.conference.live.streaming.time_extend | default: 5 }}
37
+ },
38
+
39
+ "demo": {
40
+ "enable": {{ site.conference.live.demo.enable | default: "false" }},
41
+ "duration": {{ site.conference.live.demo.duration | default: 300 }},
42
+ "pause": {{ site.conference.live.demo.pause | default: 10 }}
43
+ }
44
+ },
45
+ {%- endif %}
46
+
47
+ "lang": {
48
+ {%- if enable_map %}
49
+ "map": {
50
+ "focus_conf": "{{ site.data.lang[site.conference.lang].location.focus_conf | default: "Center map on conference location" }}",
51
+ "focus_me": "{{ site.data.lang[site.conference.lang].location.focus_me | default: "Show me where I am" }}"
52
+ }
53
+ {%- endif -%}
54
+
55
+ {%- if site.conference.live and site.conference.live.streaming.enable -%}
56
+ {%- if enable_map %},{% endif %}
57
+ "live": {
58
+ "pre_stream": "{{ site.data.lang[site.conference.lang].live.pre_stream | default: "Live stream has not started yet." }}",
59
+ "post_stream": "{{ site.data.lang[site.conference.lang].live.post_stream | default: "Live stream has ended." }}",
60
+ "pause_stream": "{{ site.data.lang[site.conference.lang].live.pause_stream | default: "Live stream is currently paused." }}",
61
+ "time": {
62
+ "soon": "{{ site.data.lang[site.conference.lang].live.time.soon | default: "soon" }}",
63
+ "now": "{{ site.data.lang[site.conference.lang].live.time.now | default: "now" }}",
64
+ "in": "{{ site.data.lang[site.conference.lang].live.time.in | default: "in" }} ",
65
+ "since": "{{ site.data.lang[site.conference.lang].live.time.since | default: "since" }} ",
66
+ "weeks": "{{ site.data.lang[site.conference.lang].live.time.weeks | default: "weeks" }}",
67
+ "week": "{{ site.data.lang[site.conference.lang].live.time.week | default: "week" }}",
68
+ "days": "{{ site.data.lang[site.conference.lang].live.time.days | default: "days" }}",
69
+ "day": "{{ site.data.lang[site.conference.lang].live.time.day | default: "day" }}",
70
+ "hours": "{{ site.data.lang[site.conference.lang].live.time.hours | default: "hours" }}",
71
+ "hour": "{{ site.data.lang[site.conference.lang].live.time.hour | default: "hour" }}",
72
+ "minutes": "{{ site.data.lang[site.conference.lang].live.time.minutes | default: "minutes" }}",
73
+ "minute": "{{ site.data.lang[site.conference.lang].live.time.minute | default: "minute" }}"
74
+ }
75
+ }
76
+ {%- endif %}
77
+ }
78
+ }
data/_layouts/data.html CHANGED
@@ -1,5 +1,5 @@
1
- {% if site.conference.live and site.conference.live.streaming -%}
2
1
  {
2
+ {% if site.conference.live and site.conference.live.streaming.enable -%}
3
3
  "days": [
4
4
  {%- for d in site.data.program.days %}
5
5
  {
@@ -116,5 +116,6 @@
116
116
  {%- endunless -%}
117
117
  {%- endfor %}
118
118
  }
119
+
120
+ {%- endif %}
119
121
  }
120
- {%- endif -%}
data/_layouts/home.html CHANGED
@@ -59,7 +59,7 @@
59
59
  {%- endif -%}
60
60
 
61
61
  <span class="live-show d-none" data-start="{{ live_starts }}" data-end="{{ live_ends }}">
62
- {% if site.conference.live.streaming %}
62
+ {% if site.conference.live.streaming.enable %}
63
63
  <a class="{{ btn_default }}" title="{{ link_name }}" data-toggle="modal" data-target="#stream-modal" data-room="" href="#">
64
64
  {% else %}
65
65
  {% assign link_styleclass = "{{ btn_default }}" %}
@@ -0,0 +1,3 @@
1
+ ---
2
+ layout: config
3
+ ---
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-conference
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.1
4
+ version: 3.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lorenz Schmid
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-14 00:00:00.000000000 Z
11
+ date: 2022-02-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -61,19 +61,20 @@ extra_rdoc_files: []
61
61
  files:
62
62
  - LICENSE.md
63
63
  - README.md
64
- - _includes/js/bootstrap.js
65
- - _includes/js/conference-live.js
66
- - _includes/js/conference-map.js
67
- - _includes/js/conference-modal.js
68
- - _includes/js/conference-program.js
69
64
  - _includes/js/conference.js
70
- - _includes/js/jquery-3.5.1.min.js
71
- - _includes/js/leaflet-easybutton.js
72
- - _includes/js/leaflet-locatecontrol.js
73
- - _includes/js/leaflet-providers.js
74
- - _includes/js/leaflet.js
75
- - _includes/js/popper.min.js
76
- - _includes/js/syncscroll.js
65
+ - _includes/js/init.js
66
+ - _includes/js/lib/bootstrap.js
67
+ - _includes/js/lib/jquery-3.5.1.min.js
68
+ - _includes/js/lib/leaflet-easybutton.js
69
+ - _includes/js/lib/leaflet-locatecontrol.js
70
+ - _includes/js/lib/leaflet-providers.js
71
+ - _includes/js/lib/leaflet.js
72
+ - _includes/js/lib/popper.min.js
73
+ - _includes/js/lib/syncscroll.js
74
+ - _includes/js/live.js
75
+ - _includes/js/map.js
76
+ - _includes/js/modal.js
77
+ - _includes/js/program.js
77
78
  - _includes/partials/checks.html
78
79
  - _includes/partials/footer.html
79
80
  - _includes/partials/get_day_hash.html
@@ -103,6 +104,7 @@ files:
103
104
  - _includes/partials/show_talk.html
104
105
  - _includes/partials/show_talk_duration.html
105
106
  - _includes/partials/show_talk_time.html
107
+ - _layouts/config.html
106
108
  - _layouts/data.html
107
109
  - _layouts/default.html
108
110
  - _layouts/home.html
@@ -247,6 +249,7 @@ files:
247
249
  - _sass/leaflet/leaflet.css
248
250
  - assets/css/main.scss
249
251
  - assets/icons/live.svg
252
+ - assets/js/config.json
250
253
  - assets/js/data.json
251
254
  - assets/js/main.js
252
255
  - assets/webfonts/fa-brands-400.eot