Use timestamps for talk dates

This commit is contained in:
Oliver Davies 2019-02-13 01:10:14 +00:00
parent 9337c69aa8
commit bc20b198b5
28 changed files with 65 additions and 64 deletions

View file

@ -12,7 +12,7 @@ youtube:
id: aN53arCKZAU id: aN53arCKZAU
events: events:
- event: phpsw - event: phpsw
date: '2015-10-14' date: 2015-10-14
joindin: https://joind.in/talk/view/15486 joindin: https://joind.in/talk/view/15486
--- ---
[Sculpin][0] is a static site generator written in PHP. It converts Markdown files, Twig templates and standard HTML into a static HTML site that can be easily deployed. [Sculpin][0] is a static site generator written in PHP. It converts Markdown files, Twig templates and standard HTML into a static HTML site that can be easily deployed.

View file

@ -10,6 +10,7 @@ tags:
- drupal - drupal
- drupal-8 - drupal-8
events: events:
- { event: drupal_bristol, date: '2018-07-25' } - event: drupal_bristol
date: 2018-07-25
--- ---
A short notice talk on configuration management in Drupal 8, and things Ive learned working on my current Drupal 8 project. A short notice talk on configuration management in Drupal 8, and things Ive learned working on my current Drupal 8 project.

View file

@ -8,7 +8,7 @@ tags: [meetup, umbristol, drupal]
tweets: yes tweets: yes
events: events:
- event: umbristol - event: umbristol
date: '2015-08-25' date: 2015-08-25
--- ---
As part of their [CMS Dance-Off][1], I was selected to speak about Drupal alongside other speakers representing Umbraco, Sitecore and Episerver. As part of their [CMS Dance-Off][1], I was selected to speak about Drupal alongside other speakers representing Umbraco, Sitecore and Episerver.

View file

@ -14,10 +14,10 @@ meta:
type: website type: website
events: events:
- event: drupalcamp_dublin_17 - event: drupalcamp_dublin_17
date: '2017-10-20' date: 2017-10-20
time: '15:00 - 15:40' time: '15:00 - 15:40'
- event: drupal_somerset - event: drupal_somerset
date: '2017-10-26' date: 2017-10-26
--- ---
Youve built your website, and now you just need to deploy it. There are various ways that this could be done - from (S)FTP, to SCP and rsync, to running commands like “git pull” and “composer install” directly on the server (not recommended). Youve built your website, and now you just need to deploy it. There are various ways that this could be done - from (S)FTP, to SCP and rsync, to running commands like “git pull” and “composer install” directly on the server (not recommended).

View file

@ -8,7 +8,7 @@ tags: [meetup, php, ansible, ansistrano]
events: events:
- -
event: drupal_bristol event: drupal_bristol
date: '2019-01-23' date: 2019-01-23
--- ---
Great! Youve built your website, and now you just need to deploy it. There are various ways that this could be done - from (S)FTP, to SCP and rsync, to running commands like `git pull` and `composer install` directly on the server which is not ideal. Great! Youve built your website, and now you just need to deploy it. There are various ways that this could be done - from (S)FTP, to SCP and rsync, to running commands like `git pull` and `composer install` directly on the server which is not ideal.

View file

@ -17,14 +17,14 @@ meta:
type: image/png type: image/png
events: events:
- event: nomad_php - event: nomad_php
date: '2017-04-20' date: 2017-04-20
time: '19:00 (CET)' time: '19:00 (CET)'
type: 'Lightning talk' type: 'Lightning talk'
- event: phpsw - event: phpsw
date: '2017-09-13' date: 2017-09-13
joindin: https://joind.in/talk/a5ff3 joindin: https://joind.in/talk/a5ff3
- event: phpnw_17 - event: phpnw_17
date: '2017-10-01' date: 2017-10-01
time: '09:00 - 09:45' time: '09:00 - 09:45'
joindin: https://joind.in/talk/4e35d joindin: https://joind.in/talk/4e35d
--- ---

View file

@ -19,7 +19,7 @@ meta:
width: 960 width: 960
events: events:
- event: drupalcamp_london_16 - event: drupalcamp_london_16
date: '2016-03-05' date: 2016-03-05
--- ---
New to object-orientated PHP, Symfony or YAML, and want to get started building modules in Drupal 8? This is the session for you! New to object-orientated PHP, Symfony or YAML, and want to get started building modules in Drupal 8? This is the session for you!

View file

@ -12,10 +12,10 @@ youtube:
id: JyDjC7gGDpU id: JyDjC7gGDpU
events: events:
- event: drupal_bristol - event: drupal_bristol
date: '2018-04-18' date: 2018-04-18
joindin: https://joind.in/talk/14851 joindin: https://joind.in/talk/14851
- event: drupalcamp_london_19 - event: drupalcamp_london_19
date: '2019-03-01' date: 2019-03-01
fuzzy_date: true fuzzy_date: true
--- ---
A demo of some of the open source projects that Ive been working on lately that are based on information from the Drupal.org API, including a PHP library for the API itself as well as some Drupal 8 modules that use it. A demo of some of the open source projects that Ive been working on lately that are based on information from the Drupal.org API, including a PHP library for the API itself as well as some Drupal 8 modules that use it.

View file

@ -7,7 +7,7 @@ speakerdeck:
url: https://speakerdeck.com/opdavies/drupal-rejoining-the-herd url: https://speakerdeck.com/opdavies/drupal-rejoining-the-herd
events: events:
- event: php_south_coast_16 - event: php_south_coast_16
date: '2016-06-11' date: 2016-06-11
joindin: https://joind.in/talk/41d0f joindin: https://joind.in/talk/41d0f
--- ---
[Drupal 8][0] was (finally) released on November 19th 2015, after almost 4 years of work and code commits by over 3,200 different contributors. Whilst its pretty much the same as the Drupal that we know and, hopefully, love, a lot has changed behind the scenes and under the hood! [Drupal 8][0] was (finally) released on November 19th 2015, after almost 4 years of work and code commits by over 3,200 different contributors. Whilst its pretty much the same as the Drupal that we know and, hopefully, love, a lot has changed behind the scenes and under the hood!

View file

@ -10,7 +10,7 @@ tags: [meetup, phpsw, drupal, drupal-8]
tweets: yes tweets: yes
events: events:
- event: phpsw - event: phpsw
date: '2015-04-08' date: 2015-04-08
--- ---
This was a ten minute lightning talk, designed to highlight the major changes coming in Drupal 8. This was a ten minute lightning talk, designed to highlight the major changes coming in Drupal 8.

View file

@ -11,9 +11,9 @@ youtube:
id: U1pbKAAO2Wo id: U1pbKAAO2Wo
events: events:
- event: nwdug - event: nwdug
date: '2016-03-08' date: 2016-03-08
- event: drupal_bristol - event: drupal_bristol
date: '2016-04-02' date: 2016-04-02
--- ---
An short talk about the [Drupal VM Generator][1] project. An short talk about the [Drupal VM Generator][1] project.

View file

@ -8,7 +8,7 @@ speakerdeck:
image: drupal-vm-meet-symfony-console.png image: drupal-vm-meet-symfony-console.png
events: events:
- event: drupalcamp_bristol_16 - event: drupalcamp_bristol_16
date: '2016-07-23' date: 2016-07-23
--- ---
_TL;DR - Come and learn about Symfony Console, with examples from a real-world project._ _TL;DR - Come and learn about Symfony Console, with examples from a real-world project._

View file

@ -7,8 +7,8 @@ speakerdeck:
url: https://speakerdeck.com/opdavies/drupal-dot-org-in-15 url: https://speakerdeck.com/opdavies/drupal-dot-org-in-15
events: events:
- event: drupalcamp_brighton_15 - event: drupalcamp_brighton_15
date: '2015-01-18' date: 2015-01-18
- event: drupalcamp_london_15 - event: drupalcamp_london_15
date: '2015-02-28' date: 2015-02-28
--- ---
A retrospective of the Drupal Associations work in 2014 and a look forward to what well be working on in 2015. A retrospective of the Drupal Associations work in 2014 and a look forward to what well be working on in 2015.

View file

@ -7,6 +7,6 @@ speakerdeck:
tags: [meetup, drupal, drupal_bristol, drush, drush-make] tags: [meetup, drupal, drupal_bristol, drush, drush-make]
events: events:
- event: drupal_bristol - event: drupal_bristol
date: '2014-08-19' date: 2014-08-19
--- ---
An introduction to Drush Make and how to use it to build reusable custom installation profiles or entire websites. An introduction to Drush Make and how to use it to build reusable custom installation profiles or entire websites.

View file

@ -20,9 +20,9 @@ meta:
use: [talks] use: [talks]
events: events:
- event: drupal_bristol - event: drupal_bristol
date: '2017-01-18' date: 2017-01-18
- event: drupalcamp_london_17 - event: drupalcamp_london_17
date: '2017-03-04' date: 2017-03-04
time: '12:05 - 12:50' time: '12:05 - 12:50'
--- ---
If youve moved a site from Drupal 6 to 7, the chances are that youve either used the upgrade path to update your old site in-place, or you built a new site from scratch and used the Migrate module from contrib to migrate your data from the old database. If youve moved a site from Drupal 6 to 7, the chances are that youve either used the upgrade path to update your old site in-place, or you built a new site from scratch and used the Migrate module from contrib to migrate your data from the old database.

View file

@ -10,6 +10,6 @@ tags: [conference, drupalcamp, drupalcamp-london, git, git-flow]
tweets: yes tweets: yes
events: events:
- event: drupalcamp_london_14 - event: drupalcamp_london_14
date: '2014-03-01' date: 2014-03-01
--- ---
An introduction to the Git Flow branching model and the git-flow plugin, and how Ive used them to manage a Drupal development project. An introduction to the Git Flow branching model and the git-flow plugin, and how Ive used them to manage a Drupal development project.

View file

@ -9,9 +9,9 @@ youtube:
id: ZL2FtRTX9Y8 id: ZL2FtRTX9Y8
events: events:
- event: drupal_bristol - event: drupal_bristol
date: '2016-11-17' date: 2016-11-17
- event: php_uk_18 - event: php_uk_18
date: '2018-02-16' date: 2018-02-16
time: '14:40 - 15:40' time: '14:40 - 15:40'
joindin: https://joind.in/talk/650ab joindin: https://joind.in/talk/650ab
--- ---

View file

@ -10,6 +10,6 @@ youtube:
id: 5FYMRR61sdo id: 5FYMRR61sdo
events: events:
- event: phpsw - event: phpsw
date: '2017-02-08' date: 2017-02-08
--- ---
A crash course of why and how to get involved with open source. A crash course of why and how to get involved with open source.

View file

@ -10,7 +10,7 @@ youtube:
id: Yi_FPI3xHwc id: Yi_FPI3xHwc
events: events:
- event: phpsw - event: phpsw
date: '2016-11-09' date: 2016-11-09
--- ---
Building a Drupal application? You no longer need to download archives to add new modules or update core, or deal with Drupal specific tools to manage your codebase. Building a Drupal application? You no longer need to download archives to add new modules or update core, or deal with Drupal specific tools to manage your codebase.

View file

@ -5,6 +5,6 @@ vimeo:
tags: [meetup, drupal, unified-diff] tags: [meetup, drupal, unified-diff]
events: events:
- event: unified_diff - event: unified_diff
date: '2012-09-05' date: 2012-09-05
--- ---
My very first talk, where I talk about Drupal, what it is and what it can do. My very first talk, where I talk about Drupal, what it is and what it can do.

View file

@ -8,9 +8,9 @@ speakerdeck:
tags: [css, tailwind, meetup] tags: [css, tailwind, meetup]
events: events:
- event: drupal_bristol - event: drupal_bristol
date: '2018-01-17' date: 2018-01-17
- event: php_south_wales - event: php_south_wales
date: '2018-07-31' date: 2018-07-31
meta: meta:
og: og:
title: Taking Flight with Tailwind CSS title: Taking Flight with Tailwind CSS

View file

@ -21,20 +21,20 @@ meta:
use: [talks] use: [talks]
events: events:
- event: drupalcamp_london_17 - event: drupalcamp_london_17
date: '2017-03-04' date: 2017-03-04
time: '16:15 - 17:00' time: '16:15 - 17:00'
- event: drupalcamp_dublin_17 - event: drupalcamp_dublin_17
date: '2017-10-21' date: 2017-10-21
time: '12:00 - 12:40' time: '12:00 - 12:40'
- event: drupal_bristol - event: drupal_bristol
date: '2017-11-22' date: 2017-11-22
- event: drupal_somerset - event: drupal_somerset
date: '2018-06-14' date: 2018-06-14
- event: drupal_dev_days_18 - event: drupal_dev_days_18
date: '2018-07-05' date: 2018-07-05
time: '12:15 - 13:00' time: '12:15 - 13:00'
- event: drupalcamp_london_19 - event: drupalcamp_london_19
date: '2019-03-01' date: 2019-03-01
fuzzy_date: true fuzzy_date: true
--- ---
{% block content %} {% block content %}

View file

@ -9,7 +9,7 @@ tags: [conference, drupalcamp, drupalcamp-north, sculpin, twig]
tweets: yes tweets: yes
events: events:
- event: drupalcamp_north_15 - event: drupalcamp_north_15
date: '2015-07-25' date: 2015-07-25
--- ---
[Sculpin][1] is a static site generator written in PHP, and based on [Symfony components][2]. It uses [YAML][3] and [Twig][4], which makes it very appealing to Drupal people wanting to learn these in preparation for Drupal 8. [Sculpin][1] is a static site generator written in PHP, and based on [Symfony components][2]. It uses [YAML][3] and [Twig][4], which makes it very appealing to Drupal people wanting to learn these in preparation for Drupal 8.

View file

@ -12,6 +12,6 @@ meta:
url: /images/talks/things-you-should-know-about-php.png url: /images/talks/things-you-should-know-about-php.png
events: events:
- event: ssdc - event: ssdc
date: '2019-01-28' date: 2019-01-28
--- ---
An introduction to PHP, presented to the Swansea Software Development Community (SSDC). An introduction to PHP, presented to the Swansea Software Development Community (SSDC).

View file

@ -10,9 +10,9 @@ tags: [nomad-php, lightning-talk, laravel, collections]
type: Lightning talk type: Lightning talk
events: events:
- event: nomad_php - event: nomad_php
date: '2017-12-21' date: 2017-12-21
time: 19:00 CET time: 19:00 CET
- event: php_south_wales - event: php_south_wales
date: '2018-08-28' date: 2018-08-28
--- ---
Laravel Collections are a powerful object-orientated way of interacting with PHP arrays, but did you know that they can be used outside of Laravel, in any PHP project? This short talk shows how we can use Composer to include Laravel Collections within a non-Laravel project and put them to use within your own code. Laravel Collections are a powerful object-orientated way of interacting with PHP arrays, but did you know that they can be used outside of Laravel, in any PHP project? This short talk shows how we can use Composer to include Laravel Collections within a non-Laravel project and put them to use within your own code.

View file

@ -8,24 +8,24 @@ talks:
- title: 'Drupal and the LDAP module' - title: 'Drupal and the LDAP module'
events: events:
- event: swdug - event: swdug
date: '2013-07-10' date: 2013-07-10
- title: 'About the Drupal Association' - title: 'About the Drupal Association'
events: events:
- event: swdug - event: swdug
date: '2014-08-19' date: 2014-08-19
- title: 'Automated testing with Drupal 8 and PHPUnit' - title: 'Automated testing with Drupal 8 and PHPUnit'
type: Workshop type: Workshop
events: events:
- event: drupal_bristol - event: drupal_bristol
date: '2018-06-27' date: 2018-06-27
- title: 'Episode #175 - Automated Testing' - title: 'Episode #175 - Automated Testing'
type: Podcast type: Podcast
url: http://talkingdrupal.com/175 url: http://talkingdrupal.com/175
events: events:
- event: talking_drupal - event: talking_drupal
date: '2018-09-05' date: 2018-09-05
--- ---
{% block content %} {% block content %}
<div class="markup mb-8"> <div class="markup mb-8">

View file

@ -19,7 +19,7 @@ class TalksExtension extends Twig_Extension
$this->today = (new \DateTime()) $this->today = (new \DateTime())
->modify('today') ->modify('today')
->setTimezone(new \DateTimeZone('Europe/London')) ->setTimezone(new \DateTimeZone('Europe/London'))
->format('Y-m-d'); ->getTimestamp();
} }
/** /**

View file

@ -42,14 +42,14 @@ class FormatTalksTest extends TestCase
[ [
'title' => 'Talk A', 'title' => 'Talk A',
'events' => [ 'events' => [
['event' => 'event-a', 'date' => '2018-01-01', 'time' => '09:00'], ['event' => 'event-a', 'date' => strtotime('2018-01-01'), 'time' => '09:00'],
['event' => 'event-b', 'date' => '2018-01-30', 'time' => '12:00'], ['event' => 'event-b', 'date' => strtotime('2018-01-30'), 'time' => '12:00'],
], ],
], ],
[ [
'title' => 'Talk B', 'title' => 'Talk B',
'events' => [ 'events' => [
['event' => 'event-b', 'date' => '2018-01-31', 'time' => '17:00'], ['event' => 'event-b', 'date' => strtotime('2018-01-31'), 'time' => '17:00'],
], ],
], ],
]; ];
@ -63,7 +63,7 @@ class FormatTalksTest extends TestCase
$this->assertArrayHasKey('talk', $result); $this->assertArrayHasKey('talk', $result);
$this->assertEquals([ $this->assertEquals([
'date' => '2018-01-01', 'date' => '1514764800',
'event' => 'event-a', 'event' => 'event-a',
'location' => 'Somewhere', 'location' => 'Somewhere',
'name' => 'Event A', 'name' => 'Event A',
@ -79,7 +79,7 @@ class FormatTalksTest extends TestCase
$this->assertArrayHasKey('talk', $result); $this->assertArrayHasKey('talk', $result);
$this->assertEquals([ $this->assertEquals([
'date' => '2018-01-30', 'date' => 1517270400,
'event' => 'event-b', 'event' => 'event-b',
'location' => 'Somewhere else', 'location' => 'Somewhere else',
'name' => 'Event B', 'name' => 'Event B',
@ -98,9 +98,9 @@ class FormatTalksTest extends TestCase
/** @test */ /** @test */
public function get_all_events() public function get_all_events()
{ {
$eventA = ['date' => (new DateTime('+1 week'))->format('Y-m-d')]; $eventA = ['date' => (new DateTime('+1 week'))->getTimestamp()];
$eventB = ['date' => (new DateTime('-2 weeks'))->format('Y-m-d')]; $eventB = ['date' => (new DateTime('-2 weeks'))->getTimestamp()];
$eventC = ['date' => (new DateTime('today'))->format('Y-m-d')]; $eventC = ['date' => (new DateTime('today'))->getTimestamp()];
$talks = [ $talks = [
['events' => [$eventA, $eventB]], ['events' => [$eventA, $eventB]],
@ -121,11 +121,11 @@ class FormatTalksTest extends TestCase
/** @test */ /** @test */
public function get_upcoming_events() public function get_upcoming_events()
{ {
$eventA = ['date' => (new DateTime('+1 week'))->format('Y-m-d')]; $eventA = ['date' => (new DateTime('+1 week'))->getTimestamp()];
$eventB = ['date' => (new DateTime('-2 weeks'))->format('Y-m-d')]; $eventB = ['date' => (new DateTime('-2 weeks'))->getTimestamp()];
$eventC = ['date' => (new DateTime('today'))->format('Y-m-d')]; $eventC = ['date' => (new DateTime('today'))->getTimestamp()];
$eventD = ['date' => (new DateTime('+1 day'))->format('Y-m-d')]; $eventD = ['date' => (new DateTime('+1 day'))->getTimestamp()];
$eventE = ['date' => (new DateTime('+2 weeks'))->format('Y-m-d')]; $eventE = ['date' => (new DateTime('+2 weeks'))->getTimestamp()];
$talks = [ $talks = [
['events' => [$eventA, $eventC]], ['events' => [$eventA, $eventC]],
@ -146,12 +146,12 @@ class FormatTalksTest extends TestCase
/** @test */ /** @test */
public function get_past_events() public function get_past_events()
{ {
$eventA = ['date' => (new DateTime('+1 week'))->format('Y-m-d')]; $eventA = ['date' => (new DateTime('+1 week'))->getTimestamp()];
$eventB = ['date' => (new DateTime('-2 weeks'))->format('Y-m-d')]; $eventB = ['date' => (new DateTime('-2 weeks'))->getTimestamp()];
$eventC = ['date' => (new DateTime('today'))->format('Y-m-d')]; $eventC = ['date' => (new DateTime('today'))->getTimestamp()];
$eventD = ['date' => (new DateTime('+1 day'))->format('Y-m-d')]; $eventD = ['date' => (new DateTime('+1 day'))->getTimestamp()];
$eventE = ['date' => (new DateTime('-2 days'))->format('Y-m-d')]; $eventE = ['date' => (new DateTime('-2 days'))->getTimestamp()];
$eventF = ['date' => (new DateTime('-2 months'))->format('Y-m-d')]; $eventF = ['date' => (new DateTime('-2 months'))->getTimestamp()];
$talks = [ $talks = [
['events' => [$eventD]], ['events' => [$eventD]],