jekyll-theme-conference 3.0.0 → 3.0.1

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: 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