diff --git a/app/data/events.yml b/app/data/events.yml
index 13977a34c..f40257943 100644
--- a/app/data/events.yml
+++ b/app/data/events.yml
@@ -83,114 +83,113 @@ events:
dates:
- event: unifieddiff
date: '2012-09-05'
- talk: what-is-this-drupal-thing
+ talk_id: 1
- event: swdug
date: '2013-07-10'
- talk:
- title: Drupal and the LDAP Module
- type: Talk
+ talk_title: Drupal and the LDAP Module
- event: drupalcamp-london-14
date: '2014-03-01'
talk: git-flow
+ talk_id: 2
- event: drupal-bristol
date: '2014-08-19'
talk: drush-make-drupalbristol
+ talk_id: 3
- # - event: swdug
- # date: '2014-08-19'
- # talk:
- # title: About the Drupal Association
+ - event: swdug
+ date: '2014-08-19'
+ talk_title: About the Drupal Association
# type: Talk
- event: drupalcamp-brighton-15
date: '2015-01-18'
- talk: drupalorg-2015
+ talk_id: 4
- event: drupalcamp-london-15
date: '2015-02-28'
- talk: drupalorg-2015
+ talk_id: 4
- event: phpsw
date: '2015-04-08'
- talk: drupal-8
+ talk_id: 5
- event: drupalcamp-north-15
date: '2015-07-25'
- talk: test-drive-twig-with-sculpin
+ talk_id: 6
- event: umbristol
date: '2015-08-25'
- talk: dancing-for-drupal
+ talk_id: 7
- event: phpsw
date: '2015-10-14'
- talk: sculpin
+ talk_id: 8
feedback: https://joind.in/talk/view/15486
- event: drupalcamp-london-16
date: '2016-03-05'
- talk: drupal-8-module-development
+ talk_id: 9
- event: nwdug
date: '2016-03-08'
- talk: drupal-vm-generator
+ talk_id: 10
- event: drupal-bristol
date: '2016-04-02'
- talk: drupal-vm-generator
+ talk_id: 10
- event: phpsc16
date: '2016-06-11'
- talk: drupal-8-rejoining-the-herd
+ talk_id: 11
feedback: https://joind.in/talk/41d0f
- event: drupalcamp-bristol-16
date: '2016-07-23'
- talk: drupal-vm-meet-symfony-console
+ talk_id: 12
- event: phpsw
date: '2016-11-09'
- talk: drupal-development-with-composer
+ talk_id: 13
- event: drupal-bristol
date: '2016-11-17'
- talk: goodbye-drush-make-hello-composer
+ talk_id: 14
- event: drupal-bristol
date: '2017-01-18'
- talk: getting-your-data-into-drupal-8
+ talk_id: 15
- event: phpsw
date: '2017-02-08'
- talk: it-all-started-with-a-patch
+ talk_id: 16
feedback: https://joind.in/event/phpsw-new-skills-february-17/it-started-with-a-patch
- event: drupalcamp-london-17
date: '2017-03-04'
time: '16:15 - 17:00'
- talk: tdd-test-driven-drupal
+ talk_id: 17
- event: drupalcamp-london-17
date: '2017-03-04'
time: '12:05 - 12:50'
- talk: getting-your-data-into-drupal-8
+ talk_id: 15
- event: nomad-php
date: '2017-04-20'
time: '19:00 (CET)'
type: Lightning talk
- talk: deploying-php-fabric
+ talk_id: 18
- event: phpsw
date: '2017-09-13'
time: ~
feedback: https://joind.in/talk/a5ff3
- talk: deploying-php-fabric
+ talk_id: 18
- event: phpnw17
date: '2017-10-01'
time: '09:00 - 09:45'
- talk: deploying-php-fabric
+ talk_id: 18
diff --git a/source/_includes/talk/events.html.twig b/source/_includes/talk/events.html.twig
index b14c10853..a56554acb 100644
--- a/source/_includes/talk/events.html.twig
+++ b/source/_includes/talk/events.html.twig
@@ -2,7 +2,7 @@
Events
{% set events = [] %}
- {% for date in site.events.dates %}
+ {% for date in site.events.dates if date.talk_id == page.talk_id %}
{% set events = events|merge([{
date: date,
event: site.events.events[date.event],
@@ -11,6 +11,6 @@
{% include 'talks-table' with {
events: events,
- talk_page: true,
+ talk_page: true
} %}
diff --git a/source/_includes/talks-table.html.twig b/source/_includes/talks-table.html.twig
index f1a581f07..6d57ca49b 100644
--- a/source/_includes/talks-table.html.twig
+++ b/source/_includes/talks-table.html.twig
@@ -1,7 +1,7 @@
-
+
Date
{% if not talk_page %}
@@ -17,9 +17,9 @@
{% for row in events %}
-
+
- {{ row.date.date }}
+ {{ row.date.date|date(row.date.fuzzy_date ? 'F Y' : 'j F Y') }}
{% if row.date.time is defined %}
@@ -30,20 +30,30 @@
{% if not talk_page %}
- {% if row.date.talk.title is not defined %}
- {% for talk in data.talks if talk.id ends with '/' ~ row.date.talk ~ '.md' %}
+ {% if row.date.talk_title is not defined %}
+ {% for talk in data.talks if talk.talk_id == row.date.talk_id %}
{{ talk.title }}
{% endfor %}
{% else %}
- {{ row.date.talk.title }}
+ {{ row.date.talk_title }}
{% endif %}
+
+
+ {{ row.date.type|default('Talk') }}
+
{% endif %}
- {{ row.event.name }}
+ {% if row.event.website is defined %}
+
+ {{ row.event.name }}
+
+ {% else %}
+ {{ row.event.name }}
+ {% endif %}
{% if row.event.location is defined %}
@@ -52,9 +62,19 @@
{% endif %}
-
- feedback
-
+ {% if not upcoming %}
+
+ {% if row.date.feedback %}
+
+
+ joind.in
+
+ {% endif %}
+
+ {% endif %}
{% endfor %}
diff --git a/source/_talks/dancing-for-drupal.md b/source/_talks/dancing-for-drupal.md
index f800d0163..ef107cae4 100644
--- a/source/_talks/dancing-for-drupal.md
+++ b/source/_talks/dancing-for-drupal.md
@@ -1,4 +1,5 @@
---
+talk_id: 7
title: Dancing for Drupal
slides:
url: https://speakerdeck.com/opdavies/umbristol-dancing-for-drupal
diff --git a/source/_talks/deploying-php-fabric.md b/source/_talks/deploying-php-fabric.md
new file mode 100644
index 000000000..85f72fbb2
--- /dev/null
+++ b/source/_talks/deploying-php-fabric.md
@@ -0,0 +1,30 @@
+---
+talk_id: 18
+title: Deploying PHP Applications with Fabric
+slides:
+ url: https://speakerdeck.com/opdavies/deploying-php-applications-with-fabric
+ embed: ''
+video:
+ embed: 'VIDEO '
+ url: https://www.youtube.com/watch?v=kM0MDUJE8ys
+tags: [meetup, conference, php, fabric]
+meta:
+ og:
+ title: Deploying PHP Applcations with Fabric
+ description: "You've built your PHP application, now learn how to deploy it with Fabric."
+ type: website
+ image:
+ url: /assets/images/talks/deploying-php-fabric.png
+ width: 1280
+ height: 800
+ type: image/png
+redirect:
+ - talks/deploying-php-applications-with-fabric/
+---
+You’ve built your application, 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).
+
+My favourite deployment tool of late is [Fabric][1] – a Python based command line tool for running commands locally as well as on remote servers. It’s language and framework agnostic, and unopinionated so you define the steps and workflow that you need – from a basic few-step deployment to a full Capistrano style zero-downtime deployment.
+
+This talk will cover some introduction to Fabric and how to write your own fabfiles, and then look at some examples of different use case deployments for your PHP project.
+
+[1]: http://www.fabfile.org
diff --git a/source/_talks/drupal-8-module-development.md b/source/_talks/drupal-8-module-development.md
index 8524366f5..cac45f654 100644
--- a/source/_talks/drupal-8-module-development.md
+++ b/source/_talks/drupal-8-module-development.md
@@ -1,4 +1,5 @@
---
+talk_id: 9
title: Getting Started with Drupal 8 Module Development
tags: [conference, php, drupal, drupalcamp, drupal-8]
tweets: yes
diff --git a/source/_talks/drupal-8-rejoining-the-herd.md b/source/_talks/drupal-8-rejoining-the-herd.md
index fee35376b..b9ad8cbdc 100644
--- a/source/_talks/drupal-8-rejoining-the-herd.md
+++ b/source/_talks/drupal-8-rejoining-the-herd.md
@@ -1,4 +1,5 @@
---
+talk_id: 11
title: Drupal 8: Rejoining the Herd
tags: [conference, php, drupal, drupal-8]
slides:
diff --git a/source/_talks/drupal-8.md b/source/_talks/drupal-8.md
index ab02d5d64..122119bc2 100644
--- a/source/_talks/drupal-8.md
+++ b/source/_talks/drupal-8.md
@@ -1,4 +1,5 @@
---
+talk_id: 5
title: Drupal 8
type: Lightning talk
slides:
diff --git a/source/_talks/drupal-development-with-composer.md b/source/_talks/drupal-development-with-composer.md
index 32169ffed..7a074d8f6 100644
--- a/source/_talks/drupal-development-with-composer.md
+++ b/source/_talks/drupal-development-with-composer.md
@@ -1,4 +1,5 @@
---
+talk_id: 13
title: Modern Drupal Development with Composer
type: Lightning talk
tags: ['meetups', 'phpsw', 'drupal', 'composer']
diff --git a/source/_talks/drupal-vm-generator.md b/source/_talks/drupal-vm-generator.md
index 9867c58c9..f7f5688ae 100644
--- a/source/_talks/drupal-vm-generator.md
+++ b/source/_talks/drupal-vm-generator.md
@@ -1,4 +1,5 @@
---
+talk_id: 10
title: Drupal VM Generator
type: Lightning talk
code: https://github.com/opdavies/drupal-vm-generator
diff --git a/source/_talks/drupal-vm-meet-symfony-console.md b/source/_talks/drupal-vm-meet-symfony-console.md
index 51487342a..b4b3dd3cc 100644
--- a/source/_talks/drupal-vm-meet-symfony-console.md
+++ b/source/_talks/drupal-vm-meet-symfony-console.md
@@ -1,4 +1,5 @@
---
+talk_id: 12
title: Drupal VM, Meet Symfony Console
tags: [conference, php, drupal-vm, symfony]
slides:
diff --git a/source/_talks/drupalorg-2015.md b/source/_talks/drupalorg-2015.md
index a277fa452..1ee3f3425 100644
--- a/source/_talks/drupalorg-2015.md
+++ b/source/_talks/drupalorg-2015.md
@@ -1,4 +1,5 @@
---
+talk_id: 4
title: Drupal.org in 2015: What's Coming Next
tags: [conference, drupalcamp, drupalcamp-london, drupal-association]
slides:
diff --git a/source/_talks/drush-make-drupalbristol.md b/source/_talks/drush-make-drupalbristol.md
index 55f958aaf..7ab8100e5 100644
--- a/source/_talks/drush-make-drupalbristol.md
+++ b/source/_talks/drush-make-drupalbristol.md
@@ -1,4 +1,5 @@
---
+talk_id: 3
title: drush make drupalbristol
slides:
url: https://speakerdeck.com/opdavies/drush-make-drupalbristol
diff --git a/source/_talks/getting-your-data-into-drupal-8.md b/source/_talks/getting-your-data-into-drupal-8.md
index 84f2f0b3f..33ac00eda 100644
--- a/source/_talks/getting-your-data-into-drupal-8.md
+++ b/source/_talks/getting-your-data-into-drupal-8.md
@@ -1,4 +1,5 @@
---
+talk_id: 15
title: Getting (Your Data) Into Drupal 8
slides:
url: https://speakerdeck.com/opdavies/getting-your-data-into-drupal-8-drupal-bristol
diff --git a/source/_talks/git-flow.md b/source/_talks/git-flow.md
index 15e844a52..1379176aa 100644
--- a/source/_talks/git-flow.md
+++ b/source/_talks/git-flow.md
@@ -1,4 +1,5 @@
---
+talk_id: 2
title: Never Commit to Master - An Introduction to Git Flow
slides:
url: https://speakerdeck.com/opdavies/never-commit-to-master-an-introduction-to-git-flow
diff --git a/source/_talks/goodbye-drush-make-hello-composer.md b/source/_talks/goodbye-drush-make-hello-composer.md
index 27dd3dcef..044b5f4a0 100644
--- a/source/_talks/goodbye-drush-make-hello-composer.md
+++ b/source/_talks/goodbye-drush-make-hello-composer.md
@@ -1,4 +1,5 @@
---
+talk_id: 14
title: Goodbye Drush Make. Hello Composer!
tags: ['meetup', 'drupal', 'composer']
slides:
diff --git a/source/_talks/it-all-started-with-a-patch.md b/source/_talks/it-all-started-with-a-patch.md
index f73efbd47..211c3b6ba 100644
--- a/source/_talks/it-all-started-with-a-patch.md
+++ b/source/_talks/it-all-started-with-a-patch.md
@@ -1,4 +1,5 @@
---
+talk_id: 16
title: It All Started With A Patch
type: Lightning talk
tags: [meetup, phpsw, open-source]
diff --git a/source/_talks/sculpin.md b/source/_talks/sculpin.md
index fed58d572..e769f0808 100644
--- a/source/_talks/sculpin.md
+++ b/source/_talks/sculpin.md
@@ -1,4 +1,5 @@
---
+talk_id: 8
title: Building Static Websites with Sculpin
type: Lightning talk
slides:
diff --git a/source/_talks/tdd-test-driven-drupal.md b/source/_talks/tdd-test-driven-drupal.md
index aacd45416..67744abcd 100644
--- a/source/_talks/tdd-test-driven-drupal.md
+++ b/source/_talks/tdd-test-driven-drupal.md
@@ -1,4 +1,5 @@
---
+talk_id: 17
title: TDD - Test Driven Drupal
slides:
url: https://speakerdeck.com/opdavies/test-driven-drupal-development-with-simpletest-and-phpunit-drupalcamp-london-17
diff --git a/source/_talks/test-drive-twig-with-sculpin.md b/source/_talks/test-drive-twig-with-sculpin.md
index d9c68b47b..3b6355d68 100644
--- a/source/_talks/test-drive-twig-with-sculpin.md
+++ b/source/_talks/test-drive-twig-with-sculpin.md
@@ -1,4 +1,5 @@
---
+talk_id: 6
title: Test Drive Twig with Sculpin
slides:
url: https://speakerdeck.com/opdavies/test-drive-twig-with-sculpin
diff --git a/source/_talks/what-is-this-drupal-thing.md b/source/_talks/what-is-this-drupal-thing.md
index 268cfc7a6..0e675854d 100644
--- a/source/_talks/what-is-this-drupal-thing.md
+++ b/source/_talks/what-is-this-drupal-thing.md
@@ -1,4 +1,5 @@
---
+talk_id: 1
title: So, what is this Drupal thing?
video:
url: https://vimeo.com/49827006