scopesessions.org/6_video.html

135 lines
4.5 KiB
HTML
Raw Normal View History

---
layout: page
title: Video showcase
icon: video
visible: false
permalink: /video/
---
2017-01-21 14:01:27 +01:00
{% assign allTopics = "" | split:"|" %}
{% for post in site.posts %}
{% for talk in post.talks %}
{% if talk.talk_video_url %}
{% for topic in talk.topics %}
{% assign talkTopics = topic | split:"," %}
{% for talkTopic in talkTopics %}
{% assign tt = talkTopic | strip | downcase %}
{% unless allTopics contains tt %}
{% assign allTopics = allTopics | push: tt %}
{% endunless %}
{% endfor %}
{% endfor %}
{% endif %}
{% endfor %}
{% endfor %}
{% assign allTopicsABC = allTopics | sort %}
<div class="button-group filter-button-group">
<button data-filter="*">show all</button>
{% for thisTopic in allTopicsABC %}
<button data-filter=".{{thisTopic | strip | replace: " ", "-"}}">{{thisTopic | capitalize }}</button>
{% endfor %}
</div>
<div id="video-roster" class="content container-fluid">
{% for post in site.posts %}
{% for talk in post.talks %}
{% if talk.talk_video_url %}
{% assign vimeo_id = talk.talk_video_url %}
{% if talk.topics %}
{% assign tags = (talk.topics | split:",") %}
{% endif %}
2017-01-21 14:01:27 +01:00
<div class="videobox {% for tag in tags | uniq %}{{tag | strip | replace: " ", "-" | downcase}} {% endfor %}{{post.location | strip | replace: " ", "-" | downcase}}" vimeo="{{vimeo_id}}">
<div class="video-title">{{talk.artist}}</div>
<img class="playbutton" src="/images/play-button.png" />
<div class="video-description"><h3>{{talk.title}}</h3><p><span class="video-session">#{{ post.number }}</span>: <span class="video-artist">{{talk.artist}}</span> / {{talk.artist_website}} {{talk.description}}</p></div>
</div>
{% endif %}
{% endfor %}
{% endfor %}
<div id="videotext"></div>
<div id="videoplayer">
<div id="player"></div>
<div id="close-button"></div>
</div>
</div> <!-- container -->
<script>
jQuery( document ).ready(function() {
jQuery('.videobox').each(function() {
var $this = jQuery(this);
jQuery.getJSON('https://vimeo.com/api/oembed.json?url=' + encodeURIComponent(jQuery(this).attr('vimeo')), {format: "json"}, function(data) {
$this.css('background', 'url("' + data.thumbnail_url + '")');
$this.css('background-size', 'cover');
//$this.css('height', (($this.width()/4)*3));
});
$this.on('mouseover', function() {
var offset = $this.offset();
var center = jQuery(window).width()/2;
if( offset.left > center) {
jQuery('#videotext').css('right', '');
jQuery('#videotext').css('left', '20px');
} else {
jQuery('#videotext').css('left', '');
jQuery('#videotext').css('right', '20px');
}
jQuery('#videotext').html($this.html());
$this.find("img").show();
timer = window.setTimeout(function() {
jQuery('#videotext').show(300);
}, 500);
});
$this.on('mouseout', function() {
jQuery('#videotext').hide();
$this.find("img").hide();
if (timer) {
window.clearTimeout(timer);
}
});
$this.on('click', function() {
jQuery('#videotext').hide();
$this.find("img").hide();
if (timer) {
window.clearTimeout(timer);
}
jQuery.getJSON('https://vimeo.com/api/oembed.json?url=' + encodeURIComponent(jQuery(this).attr('vimeo')), {format: "json"}, function(data) {
var player = jQuery('#videoplayer #player');
player.html(data.html)
player.find( "iframe" ).attr('width', "100%").attr('height', "100%");
var src = player.find( "iframe" ).attr('src');
player.find( "iframe" ).attr('src', src + "?title=0&amp;byline=0&amp;portrait=0&amp;autoplay=1");
});
jQuery('#videoplayer').fadeIn(300);
});
jQuery('#videoplayer').on('click', function() {
jQuery(this).fadeOut(500, function() {
jQuery('#videoplayer #player').html('');
});
});
});
2017-01-21 14:01:27 +01:00
$('#video-roster').isotope({
// options
itemSelector: '.videobox'
});
// init Isotope
var $grid = $('#video-roster').isotope({
});
// filter items on button click
$('.filter-button-group').on( 'click', 'button', function() {
var filterValue = $(this).attr('data-filter');
$grid.isotope({ filter: filterValue });
});
});
</script>