diff --git a/Gemfile.lock b/Gemfile.lock index f4f7c45b..7563e1ee 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - jekyll-theme-conference (2.5.4) + jekyll-theme-conference (3.0.0) jekyll (~> 4.0) GEM diff --git a/README.md b/README.md index 80f0b974..01135a6f 100644 --- a/README.md +++ b/README.md @@ -2,17 +2,16 @@ ![Screenshot](screenshot.png) -This is a [Jekyll](http://jekyllrb.com) theme based on [Bootstrap 4](http://getbootstrap.com) which can be used to make a simple, responsive website for a one-day conference or workshop with parallel tracks containing: +This is a responsive [Jekyll](http://jekyllrb.com) theme based on [Bootstrap 4](http://getbootstrap.com) for conferences. It contains -- program / schedule, -- talk and speaker descriptions with - + links to slides, and - + embedded recordings, +- multiday program / schedule, +- talk and speaker descriptions, - map for directions, -- live indication and embedded video streaming. +- realtime live indications during the conference, and +- supports embedded video streaming or recordings. -All components such as talks, speakers or rooms are represented as collection of files. The schedule is given is defined via a simple structure stored in a [YAML](https://en.wikipedia.org/wiki/YAML) file. There is no need for databases and once generated the website consists only of static files. A script and workflows are available for easy import, e.g. [frab](https://github.com/frab/frab/wiki/Manual#introduction) compatible schedules. -The design is easily modifiable and is adapted for mobile uses and printing. +All components such as talks, speakers or rooms are represented as collection of files. The schedule is given is defined via a simple structure stored in a [YAML](https://en.wikipedia.org/wiki/YAML) file. There is no need for databases and once generated the website consists only of static files. A script and workflows are available for easy import, e.g. of [frab](https://github.com/frab/frab/wiki/Manual#introduction) compatible schedules. +The design is easily customizable and is adapted for mobile uses and printing. The theme was originally created for the yearly Winterkongress conference of the [Digital Society Switzerland](https://digitale-gesellschaft.ch/). You can see this theme in action here: @@ -322,10 +321,8 @@ In order to help users navigating the program during the congress, a _Live_ indi 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). -In order to activate the functionality the `live` property has to be set containing +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 -- the date of the day at which the conference takes place (`date`), -- the timezone in which the conference takes place (`timezone`), - how long a pause between two consecutive talks has to be for the live indication to pause (`time_stop`), - optionally if streaming is enabled (`streaming`) with indications + how many minutes the stream goes active before a talk (`time_prepend`), @@ -336,8 +333,6 @@ In order to activate the functionality the `live` property has to be set contain ```yaml conference: live: - date: 01.01.2020 - timezone: GMT+1 time_stop: 240 # in minutes streaming: time_pause: 60 # in minutes @@ -464,33 +459,52 @@ The actual schedule defining when and in which room a talk takes place is stored ### Schedule / Program -The schedule of the conference linking the talks with the rooms and indicating when each talk talks place and how long it goes is set in the `_data/program.yml` file. It consists of an array of rooms each consisting of a +The schedule of the conference linking the talks with the rooms and indicating when each talk talks place and how long it goes is set in the `_data/program.yml` file. It contains a list of days, whereby each day contains a list of rooms, whereby each room contains a list of talks. -- `room` name (must correspond to one of the room identifier), and -- an array of `talks` which also can be empty `[]`. +Each day consists of -The order of the room in the file defines the order of the rooms on the website (program and room listings). Each talk in the array consists of +- a list of rooms (`rooms`) in which talks are taking place on that day +- optionally, the day's `name`, e.g. the weekday +- optionally, the short form of the day's name (`abbr`), and +- optionally only if no live indications are active, a `date` in the format `YYYY-MM-DD`. + +Each room consists of + +- the room's `name` (must correspond to one of the room identifier), and +- a list of talks (`talks`) which also can be empty `[]`. + +The order of the rooms in the list defines the order of the rooms as shown in the schedule on the program page. For the live streaming or the room overview the order of the rooms is alphabetical but can be adapted via the [main configuration file](https://jekyllrb.com/docs/collections/#sort-by-front-matter-key). + +Each talk consists of - a `name` (must correspond to one of the talk identifier), - a starting time `time_start` given as `H:M` ([`strftime`](http://www.strfti.me) formated), and - an end time `time_end`. -The array should (manually) be ordered by time. Currently talks can only take place on the same day and multi-day conferences are not supported. +The list of talks should (manually) be ordered by time, i.e. the first occurring talk should be listed first. Example: ```yaml -- room: Room A - talks: - - name: Vim Impetus Placerat Cotidieque Ad - time_start: '12:00' - time_end: '12:45' - - name: Condimentum Vitae Sapien Pellentesque - time_start: '12:45' - time_end: '13:30' -- room: Room B - talks: - ... +days: +- name: Monday + abbr: Mo + date: 2020-01-31 + rooms: + - name: Room A + talks: + - name: Vim Impetus Placerat Cotidieque Ad + time_start: '12:00' + time_end: '12:45' + - name: Condimentum Vitae Sapien Pellentesque + time_start: '12:45' + time_end: '13:30' + + - name: Room B + talks: + - name: Arcu Non Odio + time_start: '12:00' + time_end: '13:00' ``` ### Talks diff --git a/_data/lang.yml b/_data/lang.yml index f2cf7123..f73c27ef 100644 --- a/_data/lang.yml +++ b/_data/lang.yml @@ -2,6 +2,7 @@ version: 5 en: pronoun: + on_: on at: at in: in for: for @@ -30,7 +31,6 @@ en: title: Location directions: Directions talks: Talks in this room - no_talks: no talks planned focus_conf: Center map on conference location focus_me: Show my current location program: @@ -45,6 +45,7 @@ en: de: pronoun: + on_: am at: um in: im Raum for: für @@ -73,7 +74,6 @@ de: title: Örtlichkeit directions: Anreise talks: Vorträge in diesem Raum - no_talks: keine Vorträge geplant focus_conf: Karte auf den Konferenz-Ort zentrieren focus_me: Meinen aktuellen Standort anzeigen program: @@ -88,6 +88,7 @@ de: fr: pronoun: + on_: le at: à in: dans for: pour @@ -116,7 +117,6 @@ fr: title: Lieu directions: Indications talks: Présentations dans cette salle - no_talks: pas des présentations prévues focus_conf: Centrer la carte sur le lieu de la conférence focus_me: Afficher ma localisation actuelle program: @@ -131,6 +131,7 @@ fr: pt: pronoun: + on_: no at: às in: em for: por @@ -159,7 +160,6 @@ pt: title: Localização directions: Indicações talks: Apresentações nesta sala - no_talks: não estão previstas apresentações focus_conf: Centralizar o mapa para o local da conferência focus_me: Mostrar minha localização atual program: diff --git a/_data/program.yml b/_data/program.yml index b0257471..068f51f4 100644 --- a/_data/program.yml +++ b/_data/program.yml @@ -1,20 +1,25 @@ -- room: Room A - talks: - - name: Vim Impetus Placerat Cotidieque Ad - time_start: '12:00' - time_end: '12:45' - - name: Condimentum Vitae Sapien Pellentesque - time_start: '12:45' - time_end: '13:30' +days: +- name: Monday + abbr: Mo + date: 2020-01-31 + rooms: + - name: Room A + talks: + - name: Vim Impetus Placerat Cotidieque Ad + time_start: '12:00' + time_end: '12:45' + - name: Condimentum Vitae Sapien Pellentesque + time_start: '12:45' + time_end: '13:30' -- room: Room B - talks: - - name: Arcu Non Odio - time_start: '12:00' - time_end: '13:00' + - name: Room B + talks: + - name: Arcu Non Odio + time_start: '12:00' + time_end: '13:00' -- room: Room C - talks: - - name: Eu Nisl Nunc Mi Ipsum Faucibus - time_start: '13:30' - time_end: '14:30' + - name: Room C + talks: + - name: Eu Nisl Nunc Mi Ipsum Faucibus + time_start: '13:30' + time_end: '14:30' diff --git a/_includes/js/conference-live.js b/_includes/js/conference-live.js index 32d18d10..cab2057f 100644 --- a/_includes/js/conference-live.js +++ b/_includes/js/conference-live.js @@ -1,11 +1,20 @@ - window.conference.live = (function() { - {%- include partials/get_conf_time.html -%} - {%- assign time_start = conf_start -%} - {%- assign time_end = conf_end -%} - {%- include partials/get_timestamp.html -%} - - let confStart = {{ timestamp_start }}; - let confEnd = {{ timestamp_end }}; +window.conference.live = (function() { + {% assign d = site.data.program.days | first -%} + {%- include partials/get_day_time.html -%} + {%- assign t = day_start_talk -%} + + {%- include partials/get_talk_timestamp.html -%} + {%- assign conf_start = timestamp_start -%} + + {%- assign d = site.data.program.days | last -%} + {%- include partials/get_day_time.html -%} + {%- assign t = day_end_talk -%} + + {%- include partials/get_talk_timestamp.html -%} + {%- assign conf_end = timestamp_end -%} + + let confStart = {{ conf_start }}; + let confEnd = {{ conf_end }}; let confDur = confEnd - confStart; let freezeTime = false; @@ -78,10 +87,22 @@ startUpdate(); }; - let setTime = function (newTime) { + let setTime = function (newTime, newDay=1) { pauseTime(); - let d = new Date(confStart * 1000); + let dayIdx; + if (Number.isInteger(newDay)) { + dayIdx = newDay-1; + } + else if (/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test(newDay)) { + dayIdx = data.days.find(o => o.name === newDay); + } + else { + dayIdx = data.days.find(o => o.name === newDay); + } + newDate = data.days[dayIdx].date; + + let d = new Date(newDate); newTime = newTime.split(':'); d.setHours(newTime[0], newTime[1]); @@ -90,12 +111,13 @@ update(); }; - let getTime = function (tConvert = time()) { + let getTime = function (tConvert=time()) { let d = new Date(tConvert * 1000); + let dStr = d.toISOString().slice(0,10); let h = d.getHours(); let m = d.getMinutes(); - return h + ":" + (m < 10 ? "0" : "") + m; + return dStr +" "+ h +":"+ (m < 10 ? "0" : "") + m; }; let timeUnit = function () { @@ -168,7 +190,7 @@ // Hide when active if (!liveHide[i].classList.contains('d-none')) { liveHide[i].classList.add('d-none'); - breal; + break; } } else { diff --git a/_includes/js/conference-program.js b/_includes/js/conference-program.js new file mode 100644 index 00000000..4c4d7b2d --- /dev/null +++ b/_includes/js/conference-program.js @@ -0,0 +1,48 @@ +// Vertical Scroll Sync +{% include js/syncscroll.js %} + +window.conference.program = (function() { + let updateHash = function (hash) { + let scrollPosition = $('body').scrollTop() || $('html').scrollTop(); + window.location.hash = hash; + $('html,body').scrollTop(scrollPosition); + }; + + let init = function () { + if ($('#day-list')) { + // Switch to day if page load with hash + var hash = window.location.hash; + if (hash) { + $('#day-list a[href="' + hash + '"]').tab('show'); + } + // Switch to day if today + else { + let d = new Date(); + let dStr = d.getFullYear() +"-"+ (d.getMonth()+1) +"-"+ d.getDate() + // since a timezone compensation is added when passed as string, today's date has also + // to be passed as string (as it is done below) + let today = new Date(dStr); + + $('a[data-toggle="tab"]').each(function () { + let d = new Date($(this).data('date')); + + if (today.getTime() === d.getTime()) { + $(this).tab('show'); + updateHash(this.hash); + } + }); + } + + // Add current selected day as hash to URL while keeping current scrolling position + $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) { + updateHash(this.hash); + }); + } + }; + + return { + init: init + }; +})(); + +window.conference.program.init(); diff --git a/_includes/js/conference.js b/_includes/js/conference.js index b01cadef..20f66231 100644 --- a/_includes/js/conference.js +++ b/_includes/js/conference.js @@ -1,18 +1,18 @@ -// Style Framework: Bootstrap +// Global app variable +window.conference = {}; + +// Bootstrap (Style Framework) {% include js/jquery-3.5.1.min.js %} {% include js/popper.min.js %} {% include js/bootstrap.js %} -// Icons: FontAwesome +// FontAwesome (Icons) // Imported via CSS and webfonts -// Vertical Scroll Sync: Syncscroll -{% include js/syncscroll.js %} - -// Global app variable -window.conference = {}; +// Program +{% include js/conference-program.js %} -// Map Display Framework: Leaflet +// Leaflet (Map Display) {% if site.conference.location.hide != true and site.conference.location.map.enable %} {% include js/leaflet.js %} {% include js/leaflet-easybutton.js %} @@ -22,10 +22,10 @@ window.conference = {}; {% include js/conference-map.js %} {% endif %} -// Bootstrap Extension: Modals +// Modals ("Popups") {% include js/conference-modal.js %} -// Live +// Live and Streaming {% if site.conference.live %} {% include js/conference-live.js %} {% endif %} diff --git a/_includes/partials/checks.html b/_includes/partials/checks.html index 222f973d..98f8c894 100644 --- a/_includes/partials/checks.html +++ b/_includes/partials/checks.html @@ -16,9 +16,17 @@ {%- assign errors = errors | push : "Your `_config.yml` configuration file does not define any main category for your talks. Have you set the `conference.talks.main_categories` property? See also [Talk Settings](https://github.com/DigitaleGesellschaft/jekyll-theme-conference/#talk-settings) section in the theme's README file." -%} {%- endif -%} -{%- assign program_size = site.data.program | size -%} -{%- if program_size == 0 -%} - {%- assign errors = errors | push : "Your schedule in `_data/program.yml` does not seem to contain any entry. Have you already created the file?" -%} +{%- assign nbr_days = site.data.program.days | size -%} +{%- if nbr_days == 0 -%} + {%- assign errors = errors | push : "Your schedule in `_data/program.yml` does not seem to contain any days. Have you already created the file?" -%} +{%- endif -%} +{%- if site.conference.live -%} + {%- for d in site.data.program.days -%} + {%- unless d.date or d.date == "" -%} + {%- assign error_msg = "Day " | append: forloop.index | append: " in your schedule should have a (non-empty) `date` property." -%} + {%- assign errors = errors | push : error_msg -%} + {%- endunless -%} + {%- endfor -%} {%- endif -%} {%- assign nbr_rooms = site.rooms | size -%} diff --git a/_includes/partials/footer.html b/_includes/partials/footer.html index b15b5efb..d64049b8 100644 --- a/_includes/partials/footer.html +++ b/_includes/partials/footer.html @@ -22,7 +22,7 @@ {%- if site.conference.live.streaming -%} - {%- include partials/live-modal.html -%} + {%- include partials/live_modal.html -%} {%- endif -%} diff --git a/_includes/partials/get_conf_time.html b/_includes/partials/get_conf_time.html deleted file mode 100644 index 3e9b26d1..00000000 --- a/_includes/partials/get_conf_time.html +++ /dev/null @@ -1,54 +0,0 @@ -{%- for room in site.data.program -%} - {%- assign t = room.talks | first -%} - {%- include partials/get_talk_time.html -%} - - {%- assign update_var = false -%} - - {%- unless conf_start_hour -%} - {%- assign update_var = true -%} - {%- else -%} - {%- if talk_start_hour < conf_start_hour -%} - {%- assign update_var = true -%} - {%- elsif talk_start_hour == conf_start_hour and talk_start_min < conf_start_min -%} - {%- assign update_var = true -%} - {%- endif -%} - {%- endunless -%} - - {%- if update_var -%} - {%- assign conf_start_hour = talk_start_hour -%} - {%- assign conf_start_min = talk_start_min -%} - {%- endif -%} - - {%- assign t = room.talks | last -%} - {%- include partials/get_talk_time.html -%} - - {%- assign update_var = false -%} - - {%- unless conf_end_hour -%} - {%- assign update_var = true -%} - {%- else -%} - {%- if talk_end_hour > conf_end_hour -%} - {%- assign update_var = true -%} - {%- elsif talk_end_hour == conf_end_hour and talk_end_min > conf_end_min -%} - {%- assign update_var = true -%} - {%- endif -%} - {%- endunless -%} - - {%- if update_var -%} - {%- assign conf_end_hour = talk_end_hour -%} - {%- assign conf_end_min = talk_end_min -%} - {%- endif -%} -{%- endfor -%} - -{%- if conf_start_min < 10 -%} - {%- assign conf_start = conf_start_hour | append: ":0" | append: conf_start_min -%} -{%- else -%} - {%- assign conf_start = conf_start_hour | append: ":" | append: conf_start_min -%} -{%- endif -%} -{%- if conf_end_min < 10 -%} - {%- assign conf_end = conf_end_hour | append: ":0" | append: conf_end_min -%} -{%- else -%} - {%- assign conf_end = conf_end_hour | append: ":" | append: conf_end_min -%} -{%- endif -%} - -{%- assign conf_duration_min = conf_end_hour | minus: conf_start_hour | times: 60 | minus: conf_start_min | plus: conf_end_min -%} diff --git a/_includes/partials/get_day_hash.html b/_includes/partials/get_day_hash.html new file mode 100644 index 00000000..e4670c77 --- /dev/null +++ b/_includes/partials/get_day_hash.html @@ -0,0 +1,20 @@ +{%- assign day_index = forloop.index -%} + +{%- if d.abbr -%} + {%- assign day_hash = d.abbr -%} + {%- assign day_abbr = d.abbr -%} +{%- elsif d.name -%} + {%- assign day_hash = d.name -%} + {%- assign day_abbr = d.name -%} +{%- else -%} + {%- assign day_hash = site.data.lang[site.conference.lang].live.time.day | append: "-" | append: day_index -%} + {%- assign day_abbr = site.data.lang[site.conference.lang].live.time.day | capitalize | append: " " | append: day_index -%} +{%- endif -%} + +{%- assign day_hash = day_hash | downcase | url_encode -%} + +{%- if d.name -%} + {%- assign day_name = d.name -%} +{%- else -%} + {%- assign day_name = day_abbr -%} +{%- endif -%} diff --git a/_includes/partials/get_day_time.html b/_includes/partials/get_day_time.html new file mode 100644 index 00000000..542cb8ad --- /dev/null +++ b/_includes/partials/get_day_time.html @@ -0,0 +1,19 @@ +{%- for r in d.rooms -%} + {%- assign t = r.talks | first -%} + {%- include partials/get_talk_time.html -%} + + {%- if forloop.index == 1 or talk_start_hour < day_start_hour or talk_start_hour == day_start_hour and talk_start_min < day_start_min-%} + {%- assign day_start_talk = t -%} + {%- assign day_start_hour = talk_start_hour -%} + {%- assign day_start_min = talk_start_min -%} + {%- endif -%} + + {%- assign t = r.talks | last -%} + {%- include partials/get_talk_time.html -%} + + {%- if forloop.index == 1 or talk_end_hour > day_end_hour or talk_end_hour == day_end_hour and talk_end_min > day_end_min-%} + {%- assign day_end_talk = t -%} + {%- assign day_end_hour = talk_end_hour -%} + {%- assign day_end_min = talk_end_min -%} + {%- endif -%} +{%- endfor -%} diff --git a/_includes/partials/get_live_timestamps.html b/_includes/partials/get_live_timestamps.html index 7c4ac64e..4e9d7a35 100644 --- a/_includes/partials/get_live_timestamps.html +++ b/_includes/partials/get_live_timestamps.html @@ -12,39 +12,38 @@ {%- assign live_starts = "" -%} {%- assign live_ends = "" -%} -{%- for r in site.data.program -%} - {%- assign last_end = 0 -%} - - {%- for t in r.talks -%} - {%- assign time_start = t.time_start -%} - {%- assign time_end = t.time_end -%} - {%- include partials/get_timestamp.html -%} - - {%- assign last_pause = timestamp_start | minus: last_end -%} - - {%- if forloop.last == true or last_pause >= min_pause and forloop.index0 > 0 -%} - {%- if forloop.last -%} - {%- assign last_end = timestamp_end -%} +{%- for d in site.data.program.days -%} + {%- for r in d.rooms -%} + {%- assign last_end = 0 -%} + + {%- for t in r.talks -%} + {%- include partials/get_talk_timestamp.html -%} + + {%- assign last_pause = timestamp_start | minus: last_end -%} + + {%- if forloop.last == true or last_pause >= min_pause and forloop.index0 > 0 -%} + {%- if forloop.last -%} + {%- assign last_end = timestamp_end -%} + {%- endif -%} + + {%- assign live_end = offset_end | times: 60 | plus: last_end %} + {%- if live_ends == "" -%} + {%- assign live_ends = live_end -%} + {%- else -%} + {%- assign live_ends = live_ends | append: "," | append: live_end -%} + {%- endif -%} {%- endif -%} - {%- assign live_end = offset_end | times: 60 | plus: last_end %} - {%- if live_ends == "" -%} - {%- assign live_ends = live_end -%} - {%- else -%} - {%- assign live_ends = live_ends | append: "," | append: live_end -%} + {%- if forloop.index0 == 0 or last_pause >= min_pause -%} + {%- assign live_start = offset_start | times: -60 | plus: timestamp_start -%} + {%- if live_starts == "" -%} + {%- assign live_starts = live_start -%} + {%- else -%} + {%- assign live_starts = live_starts | append: "," | append: live_start -%} + {%- endif -%} {%- endif -%} - {%- endif -%} - - {%- if forloop.index0 == 0 or last_pause >= min_pause -%} - {%- assign live_start = offset_start | times: -60 | plus: timestamp_start -%} - {%- if live_starts == "" -%} - {%- assign live_starts = live_start -%} - {%- else -%} - {%- assign live_starts = live_starts | append: "," | append: live_start -%} - {%- endif -%} - {%- endif -%} - {%- assign last_end = timestamp_end -%} + {%- assign last_end = timestamp_end -%} + {%- endfor -%} {%- endfor -%} - {%- endfor -%} diff --git a/_includes/partials/get_talk_timestamp.html b/_includes/partials/get_talk_timestamp.html new file mode 100644 index 00000000..10aad891 --- /dev/null +++ b/_includes/partials/get_talk_timestamp.html @@ -0,0 +1,4 @@ +{%- assign datetime_start = d.date | append: " " | append: t.time_start -%} +{%- assign timestamp_start = datetime_start | date: "%s" -%} +{%- assign datetime_end = d.date | append: " " | append: t.time_end -%} +{%- assign timestamp_end = datetime_end | date: "%s" -%} diff --git a/_includes/partials/get_time_pronoun.html b/_includes/partials/get_time_pronoun.html new file mode 100644 index 00000000..16bd1865 --- /dev/null +++ b/_includes/partials/get_time_pronoun.html @@ -0,0 +1,6 @@ +{%- assign nbr_days = site.data.program.days | size -%} +{%- if nbr_days > 1 and day_abbr -%} + {%- assign time_pronoun = site.data.lang[site.conference.lang].pronoun.on_ | default: "on" -%} +{%- else -%} + {%- assign time_pronoun = site.data.lang[site.conference.lang].pronoun.at | default: "at" -%} +{%- endif -%} diff --git a/_includes/partials/get_timestamp.html b/_includes/partials/get_timestamp.html deleted file mode 100644 index ec3ccd97..00000000 --- a/_includes/partials/get_timestamp.html +++ /dev/null @@ -1,4 +0,0 @@ -{%- assign datetime_start = site.conference.live.date | append: " " | append: time_start | append: " " | append: site.conference.live.timezone -%} -{%- assign timestamp_start = datetime_start | date: "%s" -%} -{%- assign datetime_end = site.conference.live.date | append: " " | append: time_end | append: " " | append: site.conference.live.timezone -%} -{%- assign timestamp_end = datetime_end | date: "%s" -%} diff --git a/_includes/partials/header.html b/_includes/partials/header.html index f93cfedb..79bf123f 100644 --- a/_includes/partials/header.html +++ b/_includes/partials/header.html @@ -12,17 +12,20 @@ - {%- if site.conference.live -%} - - {%- endif -%} + + + {% if site.conference.live -%} + + + {%- endif %} {%- if site.conference.live.streaming -%} {%- for room in site.rooms -%} - {%- if room.live -%} - + {%- if room.live %} + {%- endif -%} {%- endfor -%} - {%- endif -%} + {%- endif %} diff --git a/_includes/partials/live-modal.html b/_includes/partials/live_modal.html similarity index 89% rename from _includes/partials/live-modal.html rename to _includes/partials/live_modal.html index c29a21c5..cf10affa 100644 --- a/_includes/partials/live-modal.html +++ b/_includes/partials/live_modal.html @@ -29,16 +29,14 @@
{{ site.data.lang[site.conference.lang].program.legend | default: "Caption" }}
- {% for main_cat in site.conference.talks.main_categories %} + {%- for main_cat in site.conference.talks.main_categories %}
- {{ main_cat.name }} + {{- main_cat.name -}}
- {% endfor %} - {% endif %} + {%- endfor -%} + {%- endif -%} {% include partials/footer.html %} diff --git a/_layouts/room.html b/_layouts/room.html index 2223ae1e..e6e8cb6b 100644 --- a/_layouts/room.html +++ b/_layouts/room.html @@ -17,50 +17,54 @@

{{ content }} -

- {{ site.data.lang[site.conference.lang].location.talks | default: "Talks in this room" }}: -
- + {% endfor %} {%- include partials/footer.html -%} {%- endunless -%} diff --git a/_layouts/speaker.html b/_layouts/speaker.html index 489e933a..4af6402c 100644 --- a/_layouts/speaker.html +++ b/_layouts/speaker.html @@ -18,12 +18,16 @@

{% if has_icon_links %}