Add schedules for the other halls
This commit is contained in:
parent
038b8099fc
commit
efdab41b1a
|
@ -129,6 +129,7 @@
|
|||
{{/eventCount}}
|
||||
|
||||
<section>
|
||||
<h2>Tweet</h2>
|
||||
<h1>#yapceu</h1>
|
||||
</section>
|
||||
</script>
|
||||
|
|
|
@ -0,0 +1,140 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>YAPC::EU Interlude</title>
|
||||
|
||||
<meta charset="utf-8">
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/2.6.2/css/reveal.css">
|
||||
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/2.6.2/css/theme/night.css">
|
||||
<link type="text/css" rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto+Condensed:300italic,300,400italic,400,700italic,700&subset=latin,cyrillic">
|
||||
<link rel="stylesheet" type="text/css" href="styles.css">
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/2.6.2/lib/js/head.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/2.6.2/js/reveal.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.6.0/moment.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/ractive.js/0.3.7/ractive.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.6.0/underscore-min.js"></script>
|
||||
<script src="schedule-musala.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="reveal">
|
||||
<div class="slides">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script id="agenda_template" type="text/ractive">
|
||||
<section id="agenda">
|
||||
<table class="reveal">
|
||||
<tbody>
|
||||
{{#pastEvents}}
|
||||
<tr class="past_event">
|
||||
<td>{{startTime.format('HH:mm')}}</td>
|
||||
<td>{{title}}</td>
|
||||
<td>
|
||||
{{#speakers}}
|
||||
{{name}}
|
||||
{{/speakers}}
|
||||
</td>
|
||||
</tr>
|
||||
{{/pastEvents}}
|
||||
|
||||
{{#nextEvent}}
|
||||
<tr class="next_event">
|
||||
<td>{{startTime.format('HH:mm')}}</td>
|
||||
<td>{{title}}</td>
|
||||
<td>
|
||||
{{#speakers}}
|
||||
{{name}}
|
||||
{{/speakers}}
|
||||
</td>
|
||||
</tr>
|
||||
{{/nextEvent}}
|
||||
|
||||
{{#futureEvents}}
|
||||
<tr class="future_event">
|
||||
<td>{{startTime.format('HH:mm')}}</td>
|
||||
<td>{{title}}</td>
|
||||
<td>
|
||||
{{#speakers}}
|
||||
{{name}}
|
||||
{{/speakers}}
|
||||
</td>
|
||||
</tr>
|
||||
{{/futureEvents}}
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
</script>
|
||||
|
||||
<script id="current_talk_template" type="text/ractive">
|
||||
<section id="current_talk">
|
||||
<h3>At the Moment</h3>
|
||||
<h1>{{currentEvent.title}}</h1>
|
||||
<p>{{currentEvent.description}}</p>
|
||||
</section>
|
||||
</script>
|
||||
|
||||
<script id="current_speaker_template" type="text/ractive">
|
||||
<section>
|
||||
<h3>Speaker</h3>
|
||||
<h1>{{name}}</h1>
|
||||
<p>{{description}}</p>
|
||||
</section>
|
||||
</script>
|
||||
|
||||
<script id="next_speaker_template" type="text/ractive">
|
||||
<section>
|
||||
<h3>Next Speaker</h3>
|
||||
<h1>{{name}}</h1>
|
||||
<p>{{description}}</p>
|
||||
</section>
|
||||
</script>
|
||||
|
||||
<script id="next_talk_template" type="text/ractive">
|
||||
<section id="next_talk">
|
||||
<h3>Next</h3>
|
||||
<h1>{{nextEvent.title}}</h1>
|
||||
<p>{{nextEvent.description}}</p>
|
||||
<h4>({{nextEvent.startTime.fromNow()}})</h4>
|
||||
</section>
|
||||
</script>
|
||||
|
||||
<script id="slides_template" type="text/ractive">
|
||||
<section data-state="update-safe">
|
||||
<h1>YAPC::EU</h1>
|
||||
<h2>Sofia 2014</h2>
|
||||
</section>
|
||||
|
||||
{{#eventCount}}
|
||||
<section>
|
||||
{{> agenda_template}}
|
||||
|
||||
{{#currentEvent}}
|
||||
{{> current_talk_template}}
|
||||
{{/currentEvent}}
|
||||
|
||||
{{#currentEvent.speakers}}
|
||||
{{> current_speaker_template}}
|
||||
{{/currentEvent.speakers}}
|
||||
|
||||
{{#nextEvent}}
|
||||
{{> next_talk_template}}
|
||||
{{/nextEvent}}
|
||||
|
||||
{{#nextEvent.speakers}}
|
||||
{{> next_speaker_template}}
|
||||
{{/nextEvent.speakers}}
|
||||
</section>
|
||||
{{/eventCount}}
|
||||
|
||||
<section>
|
||||
<h2>Tweet</h2>
|
||||
<h1>#yapceu</h1>
|
||||
</section>
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" src="ractive-init.js"></script>
|
||||
<script type="text/javascript" src="reveal-init.js"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,140 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>YAPC::EU Interlude</title>
|
||||
|
||||
<meta charset="utf-8">
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/2.6.2/css/reveal.css">
|
||||
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/2.6.2/css/theme/night.css">
|
||||
<link type="text/css" rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto+Condensed:300italic,300,400italic,400,700italic,700&subset=latin,cyrillic">
|
||||
<link rel="stylesheet" type="text/css" href="styles.css">
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/2.6.2/lib/js/head.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/2.6.2/js/reveal.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.6.0/moment.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/ractive.js/0.3.7/ractive.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.6.0/underscore-min.js"></script>
|
||||
<script src="schedule-rodopi.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="reveal">
|
||||
<div class="slides">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script id="agenda_template" type="text/ractive">
|
||||
<section id="agenda">
|
||||
<table class="reveal">
|
||||
<tbody>
|
||||
{{#pastEvents}}
|
||||
<tr class="past_event">
|
||||
<td>{{startTime.format('HH:mm')}}</td>
|
||||
<td>{{title}}</td>
|
||||
<td>
|
||||
{{#speakers}}
|
||||
{{name}}
|
||||
{{/speakers}}
|
||||
</td>
|
||||
</tr>
|
||||
{{/pastEvents}}
|
||||
|
||||
{{#nextEvent}}
|
||||
<tr class="next_event">
|
||||
<td>{{startTime.format('HH:mm')}}</td>
|
||||
<td>{{title}}</td>
|
||||
<td>
|
||||
{{#speakers}}
|
||||
{{name}}
|
||||
{{/speakers}}
|
||||
</td>
|
||||
</tr>
|
||||
{{/nextEvent}}
|
||||
|
||||
{{#futureEvents}}
|
||||
<tr class="future_event">
|
||||
<td>{{startTime.format('HH:mm')}}</td>
|
||||
<td>{{title}}</td>
|
||||
<td>
|
||||
{{#speakers}}
|
||||
{{name}}
|
||||
{{/speakers}}
|
||||
</td>
|
||||
</tr>
|
||||
{{/futureEvents}}
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
</script>
|
||||
|
||||
<script id="current_talk_template" type="text/ractive">
|
||||
<section id="current_talk">
|
||||
<h3>At the Moment</h3>
|
||||
<h1>{{currentEvent.title}}</h1>
|
||||
<p>{{currentEvent.description}}</p>
|
||||
</section>
|
||||
</script>
|
||||
|
||||
<script id="current_speaker_template" type="text/ractive">
|
||||
<section>
|
||||
<h3>Speaker</h3>
|
||||
<h1>{{name}}</h1>
|
||||
<p>{{description}}</p>
|
||||
</section>
|
||||
</script>
|
||||
|
||||
<script id="next_speaker_template" type="text/ractive">
|
||||
<section>
|
||||
<h3>Next Speaker</h3>
|
||||
<h1>{{name}}</h1>
|
||||
<p>{{description}}</p>
|
||||
</section>
|
||||
</script>
|
||||
|
||||
<script id="next_talk_template" type="text/ractive">
|
||||
<section id="next_talk">
|
||||
<h3>Next</h3>
|
||||
<h1>{{nextEvent.title}}</h1>
|
||||
<p>{{nextEvent.description}}</p>
|
||||
<h4>({{nextEvent.startTime.fromNow()}})</h4>
|
||||
</section>
|
||||
</script>
|
||||
|
||||
<script id="slides_template" type="text/ractive">
|
||||
<section data-state="update-safe">
|
||||
<h1>YAPC::EU</h1>
|
||||
<h2>Sofia 2014</h2>
|
||||
</section>
|
||||
|
||||
{{#eventCount}}
|
||||
<section>
|
||||
{{> agenda_template}}
|
||||
|
||||
{{#currentEvent}}
|
||||
{{> current_talk_template}}
|
||||
{{/currentEvent}}
|
||||
|
||||
{{#currentEvent.speakers}}
|
||||
{{> current_speaker_template}}
|
||||
{{/currentEvent.speakers}}
|
||||
|
||||
{{#nextEvent}}
|
||||
{{> next_talk_template}}
|
||||
{{/nextEvent}}
|
||||
|
||||
{{#nextEvent.speakers}}
|
||||
{{> next_speaker_template}}
|
||||
{{/nextEvent.speakers}}
|
||||
</section>
|
||||
{{/eventCount}}
|
||||
|
||||
<section>
|
||||
<h2>Tweet</h2>
|
||||
<h1>#yapceu</h1>
|
||||
</section>
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" src="ractive-init.js"></script>
|
||||
<script type="text/javascript" src="reveal-init.js"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,133 @@
|
|||
function Schedule() {
|
||||
var events = [];
|
||||
|
||||
this.addEvent = function(event) {
|
||||
events.push(event);
|
||||
events = _.sortBy(events, function(event) {
|
||||
return event.startTime.unix()
|
||||
});
|
||||
}
|
||||
|
||||
this.upcomingEvents = function() {
|
||||
return _.select(events, function(event) {
|
||||
return event.startTime.isAfter(moment());
|
||||
});
|
||||
}
|
||||
|
||||
this.nextEvent = function() {
|
||||
return _.first(this.upcomingEvents());
|
||||
}
|
||||
|
||||
this.currentEvent = function() {
|
||||
var latestEvent = _.last(this.pastEvents());
|
||||
var nextEvent = this.nextEvent();
|
||||
if (typeof nextEvent != 'undefined' && moment(nextEvent.startTime).subtract('minutes', 10).isAfter(moment())) {
|
||||
return latestEvent;
|
||||
} else {
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
this.futureEvents = function() {
|
||||
return this.upcomingEvents().splice(1);
|
||||
}
|
||||
|
||||
this.pastEvents = function() {
|
||||
return _.select(events, function(event) {
|
||||
return event.startTime.isBefore(moment());
|
||||
});
|
||||
}
|
||||
|
||||
this.allEvents = function() {
|
||||
return events;
|
||||
}
|
||||
|
||||
this.addDelay = function(time) {
|
||||
_.each(this.upcomingEvents(), function(event, index, agenda) {
|
||||
event.startTime.add(time);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
var schedule = new Schedule();
|
||||
|
||||
schedule.addEvent({
|
||||
title: 'Auditing and toughening as part of the Security Development Lifecycle',
|
||||
startTime: moment({hour: 11, minute: 30}),
|
||||
speakers: [
|
||||
{
|
||||
name: 'John Lightsey',
|
||||
description: ''
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
schedule.addEvent({
|
||||
title: 'Lunch 🍔',
|
||||
startTime: moment({hour: 12, minute: 20})
|
||||
});
|
||||
|
||||
schedule.addEvent({
|
||||
title: 'Geocoding the World (in Perl)',
|
||||
startTime: moment({hour: 13, minute: 20}),
|
||||
speakers: [
|
||||
{
|
||||
name: 'Alex Balhatchet (Kaoru)',
|
||||
description: 'CTO at Lokku Ltd. Their main brand is the property search engine Nestoria (http://www.nestoria.com/) which operates in nine countries. They\'ve made numerous contributions to CPAN, check them out: https://github.com/lokku. They also have a developer blog which you can read here: http://devblog.nestoria.com/'
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
schedule.addEvent({
|
||||
title: 'Adventures in civic hacking - FixMyStreet\'s Open311 support',
|
||||
startTime: moment({hour: 13, minute: 50}),
|
||||
speakers: [
|
||||
{
|
||||
name: 'osfameron',
|
||||
description: 'mySociety, DoES Liverpool (coworking/hackspace), co-author of Designing the Internet of Things'
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
schedule.addEvent({
|
||||
title: 'A geo search engine in a few lines of perl',
|
||||
startTime: moment({hour: 14, minute: 20}),
|
||||
speakers: [
|
||||
{
|
||||
name: 'Ervin Ruci (eruci)',
|
||||
description: ''
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
schedule.addEvent({
|
||||
title: 'Running Slovenian national video and audio archive on Perl Dancer.',
|
||||
startTime: moment({hour: 14, minute: 50}),
|
||||
speakers: [
|
||||
{
|
||||
name: 'Simun Kodzoman',
|
||||
description: ''
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
schedule.addEvent({
|
||||
title: 'Perl in Automotive Logistics',
|
||||
startTime: moment({hour: 15, minute: 20}),
|
||||
speakers: [
|
||||
{
|
||||
name: 'Luboš Kolouch (kolcon)',
|
||||
description: 'He\'s an IT Manager who loves to find balance between technical, people and commercial aspects of projects. He like IT Security, Linux and coding in Perl.'
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
schedule.addEvent({
|
||||
title: 'Coffee Break ☕',
|
||||
startTime: moment({hour: 15, minute: 40})
|
||||
});
|
||||
|
||||
schedule.addEvent({
|
||||
title: 'Official conference dinner 🍸',
|
||||
startTime: moment({hour: 19, minute: 00})
|
||||
});
|
|
@ -0,0 +1,144 @@
|
|||
function Schedule() {
|
||||
var events = [];
|
||||
|
||||
this.addEvent = function(event) {
|
||||
events.push(event);
|
||||
events = _.sortBy(events, function(event) {
|
||||
return event.startTime.unix()
|
||||
});
|
||||
}
|
||||
|
||||
this.upcomingEvents = function() {
|
||||
return _.select(events, function(event) {
|
||||
return event.startTime.isAfter(moment());
|
||||
});
|
||||
}
|
||||
|
||||
this.nextEvent = function() {
|
||||
return _.first(this.upcomingEvents());
|
||||
}
|
||||
|
||||
this.currentEvent = function() {
|
||||
var latestEvent = _.last(this.pastEvents());
|
||||
var nextEvent = this.nextEvent();
|
||||
if (typeof nextEvent != 'undefined' && moment(nextEvent.startTime).subtract('minutes', 10).isAfter(moment())) {
|
||||
return latestEvent;
|
||||
} else {
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
this.futureEvents = function() {
|
||||
return this.upcomingEvents().splice(1);
|
||||
}
|
||||
|
||||
this.pastEvents = function() {
|
||||
return _.select(events, function(event) {
|
||||
return event.startTime.isBefore(moment());
|
||||
});
|
||||
}
|
||||
|
||||
this.allEvents = function() {
|
||||
return events;
|
||||
}
|
||||
|
||||
this.addDelay = function(time) {
|
||||
_.each(this.upcomingEvents(), function(event, index, agenda) {
|
||||
event.startTime.add(time);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
var schedule = new Schedule();
|
||||
|
||||
schedule.addEvent({
|
||||
title: 'Perl Secret',
|
||||
startTime: moment({hour: 11, minute: 30}),
|
||||
speakers: [
|
||||
{
|
||||
name: 'Mihai Pop',
|
||||
description: ''
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
schedule.addEvent({
|
||||
title: 'Translation with context',
|
||||
startTime: moment({hour: 12, minute: 30}),
|
||||
speakers: [
|
||||
{
|
||||
name: 'Mark Overmeer (markov)',
|
||||
description: 'Perl, Perl and UNIX'
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
schedule.addEvent({
|
||||
title: 'Lunch 🍔',
|
||||
startTime: moment({hour: 12, minute: 20})
|
||||
});
|
||||
|
||||
schedule.addEvent({
|
||||
title: 'Some Dist::Zilla::Plugin:: best practices',
|
||||
startTime: moment({hour: 13, minute: 20}),
|
||||
speakers: [
|
||||
{
|
||||
name: 'Olivier Mengué (dolmen)',
|
||||
description: '15 years of Perl programming (6 years as a full time Perl developer). Worked as a professional Perl developer on a portable (various Unix, Linux, Windows) daemon application built with POE. Currently working with Perl in an embedded environment for home automation with AnyEvent, Dist::Zilla...'
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
schedule.addEvent({
|
||||
title: 'Video and audio with Perl and DLNA (and Chromecast)',
|
||||
startTime: moment({hour: 13, minute: 50}),
|
||||
speakers: [
|
||||
{
|
||||
name: 'Max Maischein (Corion)',
|
||||
description: ''
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
schedule.addEvent({
|
||||
title: 'Home Automation With Perl',
|
||||
startTime: moment({hour: 14, minute: 20}),
|
||||
speakers: [
|
||||
{
|
||||
name: 'Maroš Kollár (maros)',
|
||||
description: ' Perl aficionado since 1998 and one of the YAPC::EU 2007 organizers.'
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
schedule.addEvent({
|
||||
title: 'Open source deep sky images using perl',
|
||||
startTime: moment({hour: 14, minute: 50}),
|
||||
speakers: [
|
||||
{
|
||||
name: 'StrayTaoist',
|
||||
description: 'Rarely seen in public, and even then only from behind. Willing to tell you how and why you are wrong.'
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
schedule.addEvent({
|
||||
title: 'Get Me to the Pub Please',
|
||||
startTime: moment({hour: 15, minute: 20}),
|
||||
speakers: [
|
||||
{
|
||||
name: 'Sue Spence (virtualsue)',
|
||||
description: ' Perl programmer, currently working at UK2 in London.'
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
schedule.addEvent({
|
||||
title: 'Coffee Break ☕',
|
||||
startTime: moment({hour: 15, minute: 40})
|
||||
});
|
||||
|
||||
schedule.addEvent({
|
||||
title: 'Official conference dinner 🍸',
|
||||
startTime: moment({hour: 19, minute: 00})
|
||||
});
|
|
@ -62,12 +62,12 @@ schedule.addEvent({
|
|||
});
|
||||
|
||||
schedule.addEvent({
|
||||
title: 'How The Camel Is De-Cocooning',
|
||||
title: 'Perl 6 in context',
|
||||
startTime: moment({hour: 11, minute: 30}),
|
||||
speakers: [
|
||||
{
|
||||
name: 'liz',
|
||||
description: 'Made some interesting modules, to be found at CPAN. Co-organiser YAPC::Europe::2001 in Amsterdam. Chairman of YAPC::Europe::Foundation (YEF)'
|
||||
name: 'Herbert Breunung (lichtkind)',
|
||||
description: ' Perl Artist since 2003. Main project: Kephra, Perl 6 Tablets. Main Interests: Wisdom, also Gui programming with Wx and Perl 6.'
|
||||
}
|
||||
]
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue