jekyll-theme-conference 3.0.0 → 3.0.1

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: b4319ed637aa4734e12cd0d9eef3a807f314e8a9e4c0ff3a79b8781e8e00ebb9
4
- data.tar.gz: d0c52c4aa84e87fb5c9892b6509db3de79a640e2e3ad005359febda835c412be
3
+ metadata.gz: 77630ecb9f0ae81a9f53c52bf08d86fda4be6a75e92668e95f0a5f48ed270748
4
+ data.tar.gz: 32ff767339f60c06bff39b86cbf2d1126f1c149ab797a26f1b1ec9fcdfc49223
5
5
  SHA512:
6
- metadata.gz: 849e5facbe864d96c63fcdcd218ee4a4a4d8e63a9787aca58c10b1fafdf20704ce3d529caa519940ae65bd3a561ffc6127f2da243a823e676604b538e2f24c35
7
- data.tar.gz: 5bca6a3b8624e8e8f04797292cc969dd2f995fb74ffedd178dee2d59b0410cd93d1dd5479d8c64cdc99728ca7160e05c31e9537a93866093ed88bd65142e0a03
6
+ metadata.gz: 6b0edcba1a9c41fc6365312f1cba5056ce66dd351283a9af19266d558fe27dac3b01d2fa0f83a0567eacc293f91489b1af7922e868325f23b19996a6608b0ec9
7
+ data.tar.gz: 18c8a4f2e500b45d1e4ddba54eeb466b4b2b3d7bf9171554c15403f8e58812f7f06bd06f1864e25cf9b792811fcd6b0ad16c1448088d727b6c57ac1246dea23b
data/README.md CHANGED
@@ -552,7 +552,7 @@ Links are used at different location throughout the theme: They can either be us
552
552
  Additionally, a navigation bar or main landing page link can also have the following properties:
553
553
 
554
554
  - `menu` containing another list of links. This creates a dropdown menu of multiple sublinks. The sublinks have the same properties as regular links, or
555
- - `live` making the link only visible during the conference and adds a live indication. The `name` property can be omitted. If streaming is enabled and any URL property is omitted, a click on the link will open the streaming modal (see section _Live Indications_ above).
555
+ - `live` making the link only visible during the conference and adds a live indication. The `name` property can be omitted. Using the optional `name_inactive` property shows a placeholder text while the conference is **not** live. If streaming is enabled and any URL property is omitted, a click on the link will open the streaming modal (see section _Live Indications_ above).
556
556
 
557
557
  Using the `file:` indicator, the relative address is automatically set as well as the icon. Using the `video:` indicator, the link is automatically configured to open in an iframe with a corresponding title and the icon is set.
558
558
 
@@ -485,7 +485,7 @@ window.conference.live = (function() {
485
485
 
486
486
  let setStream = function (roomName) {
487
487
  streamModal.find('.modal-footer .btn').removeClass('active');
488
- streamModal.find('#stream-select').selectedIndex = -1;
488
+ streamModal.find('#stream-select').val(0);
489
489
 
490
490
  // Recover room name in case of empty default
491
491
  let room = getRoom(roomName);
@@ -495,7 +495,7 @@ window.conference.live = (function() {
495
495
  setStreamInfo(roomName);
496
496
 
497
497
  streamModal.find('#stream-button' + room.id).addClass('active');
498
- streamModal.find('#stream-select').selectedIndex = room.id;
498
+ streamModal.find('#stream-select').val(room.id);
499
499
  };
500
500
 
501
501
  let updateStream = function () {
@@ -4,31 +4,47 @@ window.conference.modal = (function () {
4
4
  let button = $(event.relatedTarget);
5
5
 
6
6
  let href = button.data('href');
7
- let header = button.data('header');
7
+ let format = button.data('format');
8
8
  let title = button.data('title');
9
+ let subtitle = button.data('subtitle');
9
10
  let footer = button.data('footer');
10
- let desc = button.data('desc');
11
11
 
12
12
  let modal = $(el);
13
13
  modal.find('iframe').attr('src', href);
14
14
 
15
- if (header) {
16
- modal.find('.modal-title').html(header);
17
- }
18
- else if (title) {
19
- modal.find('.modal-title').text(title);
15
+ if (title) {
16
+ if (format == 'html') {
17
+ modal.find('.modal-title h3').html(title);
18
+ if (subtitle) {
19
+ modal.find('.modal-title h5').html(subtitle).removeClass('d-none');
20
+ }
21
+ else {
22
+ modal.find('.modal-title h5').text('').addClass('d-none');
23
+ }
24
+ }
25
+ else {
26
+ modal.find('.modal-title h3').text(title);
27
+ if (subtitle) {
28
+ modal.find('.modal-title h5').text(subtitle).removeClass('d-none');
29
+ }
30
+ else {
31
+ modal.find('.modal-title h5').text('').addClass('d-none');
32
+ }
33
+ }
20
34
  }
21
35
  else {
22
- modal.find('.modal-title').text('');
36
+ modal.find('.modal-title h3').text('');
37
+ modal.find('.modal-title h5').text('').addClass('d-none');
23
38
  }
24
39
 
25
40
  if (footer) {
26
41
  modal.find('.modal-footer').removeClass('d-none');
27
- modal.find('.modal-description').html(footer);
28
- }
29
- else if (desc) {
30
- modal.find('.modal-footer').removeClass('d-none');
31
- modal.find('.modal-description').text(desc);
42
+ if (format == 'html') {
43
+ modal.find('.modal-footer p').html(footer);
44
+ }
45
+ else {
46
+ modal.find('.modal-footer p').text(footer);
47
+ }
32
48
  }
33
49
  else {
34
50
  modal.find('.modal-footer').addClass('d-none');
@@ -38,9 +54,10 @@ window.conference.modal = (function () {
38
54
  let hide = function (el, event) {
39
55
  let modal = $(el);
40
56
 
41
- modal.find('.modal-title').text('');
57
+ modal.find('.modal-title h3').text('');
58
+ modal.find('.modal-title h5').text('').addClass('d-none');
42
59
  modal.find('iframe').attr('src', '');
43
- modal.find('.modal-description').html('');
60
+ modal.find('.modal-footer p').html('');
44
61
  };
45
62
 
46
63
  let init = function() {
@@ -2,27 +2,10 @@
2
2
  </main>
3
3
  <footer class="container"></footer>
4
4
 
5
- <div class="modal fade" id="link-modal" tabindex="-1" role="dialog" aria-labelledby="link-modal-label" aria-hidden="true">
6
- <div class="modal-dialog modal-dialog-centered modal-lg" role="document">
7
- <div class="modal-content">
8
- <div class="modal-header">
9
- <h5 class="modal-title" id="link-modal-label"></h5>
10
- <button type="button" class="close" data-dismiss="modal" aria-label="Close">
11
- <span aria-hidden="true">&times;</span>
12
- </button>
13
- </div>
14
- <div class="modal-body embed-responsive embed-responsive-16by9">
15
- <iframe class="embed-responsive-item" src="" allowfullscreen></iframe>
16
- </div>
17
- <div class="modal-footer justify-content-start">
18
- <p class="modal-description"></p>
19
- </div>
20
- </div>
21
- </div>
22
- </div>
5
+ {%- include partials/modal_link.html -%}
23
6
 
24
7
  {%- if site.conference.live.streaming -%}
25
- {%- include partials/live_modal.html -%}
8
+ {%- include partials/modal_live.html -%}
26
9
  {%- endif -%}
27
10
 
28
11
  <!-- Append build time to avoid caching of live program embedded in JavaScript file -->
@@ -29,34 +29,30 @@
29
29
  {%- assign link_iframe = true -%}
30
30
 
31
31
  {%- if talk -%}
32
- {%- capture modal_header -%}
33
- <h3 class="font-weight-light">
34
- {%- if talk.hide -%}
32
+ {%- capture modal_title -%}
33
+ {%- if talk.hide -%}
34
+ {{ talk.name }}
35
+ {%- else -%}
36
+ <a class="text-reset" href="{{ talk.url | prepend: site.baseurl }}">
35
37
  {{ talk.name }}
36
- {%- else -%}
37
- <a class="text-reset" href="{{ talk.url | prepend: site.baseurl }}">
38
- {{ talk.name }}
39
- </a>
40
- {%- endif -%}
41
- </h3>
42
- <p class="mb-0 font-weight-light">
43
- {%- include partials/list_speakers.html -%}
44
- </p>
38
+ </a>
39
+ {%- endif -%}
40
+ {%- endcapture -%}
41
+ {%- capture modal_subtitle -%}
42
+ {%- include partials/list_speakers.html -%}
45
43
  {%- endcapture -%}
46
44
 
47
45
  {%- elsif speaker -%}
48
- {%- capture modal_header -%}
49
- <h3 class="mb-0 font-weight-light">
50
- {%- if speaker.hide -%}
46
+ {%- capture modal_title -%}
47
+ {%- if speaker.hide -%}
48
+ {{ speaker.first_name }} {{ speaker.last_name }}
49
+ {%- else -%}
50
+ <a class="text-reset" href="{{ speaker.url | prepend: site.baseurl }}">
51
51
  {{ speaker.first_name }} {{ speaker.last_name }}
52
- {%- else -%}
53
- <a class="text-reset" href="{{ speaker.url | prepend: site.baseurl }}">
54
- {{ speaker.first_name }} {{ speaker.last_name }}
55
- </a>
56
- {%- endif -%}
57
- </h3>
52
+ </a>
53
+ {%- endif -%}
58
54
  {%- endcapture -%}
59
- {%- assign modal_desc = link.name -%}
55
+ {%- assign modal_footer = link.name -%}
60
56
 
61
57
  {%- endif -%}
62
58
 
@@ -70,18 +66,14 @@
70
66
  <a class="disabled{% if link_styleclass %} {{ link_styleclass }}{% endif %}" href="#">
71
67
 
72
68
  {%- elsif link_iframe -%}
73
- <a {% if link_styleclass %}class="{{ link_styleclass }}"{% endif %} title="{{ link.name }}" data-toggle="modal" data-target="#link-modal" data-href="{{ link_href }}" href="#" {% if modal_header -%}
74
- data-header="{{ modal_header | strip_newlines | escape }}"
75
- {%- elsif modal_title -%}
76
- data-title="{{ modal_title }}"
69
+ <a {% if link_styleclass %}class="{{ link_styleclass }}"{% endif %} title="{{ link.name }}" data-toggle="modal" data-target="#link-modal" data-href="{{ link_href }}" href="#" {% if modal_title -%}
70
+ data-format='html' data-title="{{ modal_title | strip_newlines | escape }}" {%- if modal_subtitle %} data-subtitle="{{ modal_subtitle | strip_newlines | escape }}"{%- endif -%}
77
71
  {%- elsif link.name -%}
78
- data-title="{{ link.name }}"
72
+ data-format='text' data-title="{{ link.name }}"
79
73
  {%- endif %} {% if modal_footer -%}
80
- data-footer="{{ modal_footer | strip_newlines | escape }}"
81
- {%- elsif modal_desc -%}
82
- data-desc="{{ modal_desc }}"
74
+ data-format='html' data-footer="{{ modal_footer | strip_newlines | escape }}"
83
75
  {%- elsif link.description -%}
84
- data-desc="{{ link.description }}"
76
+ data-format='text' data-footer="{{ link.description }}"
85
77
  {%- endif %}>
86
78
 
87
79
  {%- else -%}
@@ -0,0 +1,21 @@
1
+ <div class="modal fade" id="link-modal" tabindex="-1" role="dialog" aria-labelledby="link-modal-label" aria-hidden="true">
2
+ <div class="modal-dialog modal-dialog-centered modal-lg" role="document">
3
+ <div class="modal-content">
4
+ <div class="modal-header">
5
+ <div class="modal-title" id="link-modal-label">
6
+ <h3 class="mb-2 font-weight-light"></h3>
7
+ <h5 class="mb-0 font-weight-light"></h5>
8
+ </div>
9
+ <button type="button" class="close" data-dismiss="modal" aria-label="Close">
10
+ <span aria-hidden="true">&times;</span>
11
+ </button>
12
+ </div>
13
+ <div class="modal-body embed-responsive embed-responsive-16by9">
14
+ <iframe class="embed-responsive-item" src="" allowfullscreen></iframe>
15
+ </div>
16
+ <div class="modal-footer justify-content-start">
17
+ <p></p>
18
+ </div>
19
+ </div>
20
+ </div>
21
+ </div>
@@ -1,5 +1,5 @@
1
1
  <div class="modal fade" id="stream-modal" tabindex="-1" role="dialog" aria-labelledby="link-modal-label" aria-hidden="true">
2
- <div class="modal-dialog modal-dialog-centered modal-lg" role="document">
2
+ <div class="modal-dialog modal-lg" role="document">
3
3
  <div class="modal-content">
4
4
 
5
5
  <div class="modal-header">
@@ -20,7 +20,7 @@
20
20
 
21
21
  <div class="modal-footer flex-column justify-content-start d-none live-past" id="stream-info" data-time="">
22
22
  <div class="my-0 small align-self-start live-time" id="stream-info-time" data-time=""></div>
23
- <div class="pl-3 align-self-start" id="stream-info-color">
23
+ <div class="pl-2 align-self-start" id="stream-info-color">
24
24
  <p class="mb-0">
25
25
  <a class="text-reset" href="#" id="stream-info-talk"></a>
26
26
  </p>
@@ -37,7 +37,7 @@
37
37
  <div class="form-group w-100 d-block d-sm-none">
38
38
  <select class="form-control" id="stream-select">
39
39
  {%- for room in site.rooms -%}
40
- <option {% unless room.live %}disabled{% endunless %}>{{ room.name }}</option>
40
+ <option value="{{ forloop.index }}" {% unless room.live %}disabled{% endunless %}>{{ room.name }}</option>
41
41
  {%- endfor %}
42
42
  </select>
43
43
  </div>
@@ -31,6 +31,14 @@
31
31
  {%- elsif link.live -%}
32
32
  {%- include partials/get_live_timestamps.html -%}
33
33
 
34
+ {%- if link.name_inactive -%}
35
+ <li class="nav-item live-hide" data-start="{{ live_starts }}" data-end="{{ live_ends }}">
36
+ <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">
37
+ {{ link.name_inactive }}
38
+ </a>
39
+ </li>
40
+ {%- endif -%}
41
+
34
42
  <li class="nav-item live-show d-none" data-start="{{ live_starts }}" data-end="{{ live_ends }}">
35
43
  {%- if site.conference.live.streaming %}
36
44
  <a class="nav-link" title="{% if link.name %}{{ link.name }}{% else %}{{ site.data.lang[site.conference.lang].live.streaming | default: "Live Stream" }}{% endif %}" data-toggle="modal" data-target="#stream-modal" data-room="" href="#">
@@ -45,11 +45,17 @@
45
45
  {% elsif link.live %}
46
46
  {%- include partials/get_live_timestamps.html -%}
47
47
 
48
- {% if link.name %}
49
- {% assign link_name = link.name %}
50
- {% else %}
51
- {% assign link_name = site.data.lang[site.conference.lang].live.streaming | default: "Live Stream" %}
52
- {% endif %}
48
+ {%- if link.name -%}
49
+ {%- assign link_name = link.name -%}
50
+ {%- else -%}
51
+ {%- assign link_name = site.data.lang[site.conference.lang].live.streaming | default: "Live Stream" -%}
52
+ {%- endif -%}
53
+
54
+ {%- if link.name_inactive -%}
55
+ <span class="live-hide btn btn-outline-primary btn-lg mt-2 disabled" data-start="{{ live_starts }}" data-end="{{ live_ends }}">
56
+ {{ link.name_inactive }}
57
+ </span>
58
+ {%- endif -%}
53
59
 
54
60
  <span class="live-show d-none" data-start="{{ live_starts }}" data-end="{{ live_ends }}">
55
61
  {% if site.conference.live.streaming %}
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.0.0
4
+ version: 3.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lorenz Schmid
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-28 00:00:00.000000000 Z
11
+ date: 2020-12-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -90,7 +90,8 @@ files:
90
90
  - _includes/partials/list_categories.html
91
91
  - _includes/partials/list_speakers.html
92
92
  - _includes/partials/list_sub_categories.html
93
- - _includes/partials/live_modal.html
93
+ - _includes/partials/modal_link.html
94
+ - _includes/partials/modal_live.html
94
95
  - _includes/partials/navbar.html
95
96
  - _includes/partials/navbar_rooms.html
96
97
  - _includes/partials/show_live_button.html