Remove talk IDs

This commit is contained in:
Oliver Davies 2017-09-05 20:22:34 +01:00
parent e1dbd21ef2
commit b23cdc30c1
23 changed files with 45 additions and 127 deletions

View file

@ -99,11 +99,11 @@ events:
date: '2014-08-19' date: '2014-08-19'
talk: drush-make-drupalbristol talk: drush-make-drupalbristol
- event: swdug # - event: swdug
date: '2014-08-19' # date: '2014-08-19'
talk: # talk:
title: About the Drupal Association # title: About the Drupal Association
type: Talk # type: Talk
- event: drupalcamp-brighton-15 - event: drupalcamp-brighton-15
date: '2015-01-18' date: '2015-01-18'
@ -171,7 +171,7 @@ 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'
talk: test-driven-drupal-simpletest-phpunit talk: tdd-test-driven-drupal
- event: drupalcamp-london-17 - event: drupalcamp-london-17
date: '2017-03-04' date: '2017-03-04'
@ -181,17 +181,16 @@ events:
- event: nomad-php - event: nomad-php
date: '2017-04-20' date: '2017-04-20'
time: '19:00 (CET)' time: '19:00 (CET)'
talk: type: Lightning talk
id: deploying-php-with-fabric talk: deploying-php-fabric
type: Lightning talk
- event: phpsw - event: phpsw
date: '2017-09-13' date: '2017-09-13'
time: ~ time: ~
talk: deploying-php-with-fabric
feedback: https://joind.in/talk/a5ff3 feedback: https://joind.in/talk/a5ff3
talk: deploying-php-fabric
- event: phpnw17 - event: phpnw17
date: '2017-10-01' date: '2017-10-01'
time: '09:00 - 09:45' time: '09:00 - 09:45'
talk: deploying-php-with-fabric talk: deploying-php-fabric

View file

@ -3,14 +3,10 @@
{% set events = [] %} {% set events = [] %}
{% for date in site.events.dates %} {% for date in site.events.dates %}
{% set key = (date.talk.id is defined) ? date.talk.id : date.talk %} {% set events = events|merge([{
{% set talk = (page.id is defined) ? page.id : page.url|split('/')|last %} date: date,
{% if key == talk %} event: site.events.events[date.event],
{% set events = events|merge([{ }]) %}
date: date,
event: site.events.events[date.event],
}]) %}
{% endif %}
{% endfor %} {% endfor %}
{% include 'talks-table' with { {% include 'talks-table' with {

View file

@ -17,62 +17,44 @@
</thead> </thead>
<tbody> <tbody>
{% for row in events %} {% for row in events %}
{% set talk = false %} <tr>
{% set key = row.date.talk.id ?: row.date.talk %}
{% for item in row.talks if key == item.filename|split('.')|first %}
{% set talk = item %}
{% endfor %}
<tr class="striped--near-white">
<td class="pa2"> <td class="pa2">
{{ row.date.date|date(row.date.fuzzy_date ? 'F Y' : 'j F Y') }} {{ row.date.date }}
{% if row.date.time %} {% if row.date.time is defined %}
<small class="db">{{ row.date.time }}</small> <small class="db black-50">
{{ row.date.time }}
</small>
{% endif %} {% endif %}
</td> </td>
{% if not talk_page %} {% if not talk_page %}
<td class="pa2"> <td class="pa2">
{% if row.date.talk.title is defined %} {% if row.date.talk.title is not defined %}
{{ row.date.talk.title }} {% for talk in data.talks if talk.id ends with '/' ~ row.date.talk ~ '.md' %}
<a href="{{ talk.url }}">
{{ talk.title }}
</a>
{% endfor %}
{% else %} {% else %}
<a href="{{ talk.url }}" class="blue">{{ talk.title }}</a> {{ row.date.talk.title }}
{% endif %} {% endif %}
<small class="db">
{{ row.date.talk.type ?: talk.type }}
</small>
</td> </td>
{% endif %} {% endif %}
<td class="pa2"> <td class="pa2">
{% if row.event.website %} {{ row.event.name }}
<a href="{{ row.event.website }}" class="blue">
{{ row.event.name }}
</a>
{% else %}
{{ row.event.name }}
{% endif %}
<small class="db"> {% if row.event.location is defined %}
{{ row.event.location }} <small class="db black-50">
</small> {{ row.event.location }}
</small>
{% endif %}
</td> </td>
{% if not upcoming %} <td class="pa2">
<td class="ph2"> feedback
{% if row.date.feedback %} </td>
<a
href="{{ row.date.feedback }}"
class="bg-blue br2 pa2 white-90 no-underline dib dim"
title="Read or leave feedback for this talk">
<i class="fa fa-comment-o mr1"></i>
joind.in
</a>
{% endif %}
</td>
{% endif %}
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>

View file

@ -1,7 +1,5 @@
--- ---
id: dancing-for-drupal
title: Dancing for Drupal title: Dancing for Drupal
type: Talk
slides: slides:
url: https://speakerdeck.com/opdavies/umbristol-dancing-for-drupal url: https://speakerdeck.com/opdavies/umbristol-dancing-for-drupal
embed: <script async class="speakerdeck-embed" data-id="ffa9b6dea6dc4a8eb207b9982ed6e1bd" data-ratio="1.33333333333333" src="//speakerdeck.com/assets/embed.js"></script> embed: <script async class="speakerdeck-embed" data-id="ffa9b6dea6dc4a8eb207b9982ed6e1bd" data-ratio="1.33333333333333" src="//speakerdeck.com/assets/embed.js"></script>

View file

@ -1,32 +0,0 @@
---
id: deploying-php-with-fabric
title: Deploying PHP Applications with Fabric
type: Talk
slides:
url: https://speakerdeck.com/opdavies/deploying-php-applications-with-fabric
embed: '<script async class="speakerdeck-embed" data-id="c147618ce07546ca92f92983c52d6a41" data-ratio="1.77777777777778" src="//speakerdeck.com/assets/embed.js"></script>'
video:
embed: '<iframe width="560" height="315" src="https://www.youtube.com/embed/kM0MDUJE8ys" frameborder="0" allowfullscreen></iframe>'
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
slug: deploying-php-fabric
redirect:
- talks/deploying-php-applications-with-fabric/
---
Youve 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. Its 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

View file

@ -1,7 +1,5 @@
--- ---
id: drupal-8-module-development
title: Getting Started with Drupal 8 Module Development title: Getting Started with Drupal 8 Module Development
type: Talk
tags: [conference, php, drupal, drupalcamp, drupal-8] tags: [conference, php, drupal, drupalcamp, drupal-8]
tweets: yes tweets: yes
code: https://github.com/opdavies/dclondon16-d8-module code: https://github.com/opdavies/dclondon16-d8-module

View file

@ -1,7 +1,5 @@
--- ---
id: drupal-8-rejoining-the-herd
title: Drupal 8: Rejoining the Herd title: Drupal 8: Rejoining the Herd
type: Talk
tags: [conference, php, drupal, drupal-8] tags: [conference, php, drupal, drupal-8]
slides: slides:
url: https://speakerdeck.com/opdavies/drupal-rejoining-the-herd url: https://speakerdeck.com/opdavies/drupal-rejoining-the-herd

View file

@ -1,5 +1,4 @@
--- ---
id: drupal-8
title: Drupal 8 title: Drupal 8
type: Lightning talk type: Lightning talk
slides: slides:

View file

@ -1,5 +1,4 @@
--- ---
id: drupal-development-with-composer
title: Modern Drupal Development with Composer title: Modern Drupal Development with Composer
type: Lightning talk type: Lightning talk
tags: ['meetups', 'phpsw', 'drupal', 'composer'] tags: ['meetups', 'phpsw', 'drupal', 'composer']

View file

@ -1,5 +1,4 @@
--- ---
id: drupal-vm-generator
title: Drupal VM Generator title: Drupal VM Generator
type: Lightning talk type: Lightning talk
code: https://github.com/opdavies/drupal-vm-generator code: https://github.com/opdavies/drupal-vm-generator

View file

@ -1,7 +1,5 @@
--- ---
id: drupal-vm-meet-symfony-console
title: Drupal VM, Meet Symfony Console title: Drupal VM, Meet Symfony Console
type: Talk
tags: [conference, php, drupal-vm, symfony] tags: [conference, php, drupal-vm, symfony]
slides: slides:
url: https://speakerdeck.com/opdavies/drupal-vm-meet-symfony-console url: https://speakerdeck.com/opdavies/drupal-vm-meet-symfony-console

View file

@ -1,7 +1,5 @@
--- ---
id: drupalorg-2015
title: Drupal.org in 2015: What's Coming Next title: Drupal.org in 2015: What's Coming Next
type: Talk
tags: [conference, drupalcamp, drupalcamp-london, drupal-association] tags: [conference, drupalcamp, drupalcamp-london, drupal-association]
slides: slides:
url: https://speakerdeck.com/opdavies/drupal-dot-org-in-15 url: https://speakerdeck.com/opdavies/drupal-dot-org-in-15

View file

@ -1,7 +1,5 @@
--- ---
id: drush-make-drupalbristol
title: drush make drupalbristol title: drush make drupalbristol
type: Talk
slides: slides:
url: https://speakerdeck.com/opdavies/drush-make-drupalbristol url: https://speakerdeck.com/opdavies/drush-make-drupalbristol
embed: <script async class="speakerdeck-embed" data-id="42605700f102013198de5a5f6f23ab67" data-ratio="1.29456384323641" src="//speakerdeck.com/assets/embed.js"></script> embed: <script async class="speakerdeck-embed" data-id="42605700f102013198de5a5f6f23ab67" data-ratio="1.29456384323641" src="//speakerdeck.com/assets/embed.js"></script>

View file

@ -1,7 +1,5 @@
--- ---
id: getting-your-data-into-drupal-8
title: Getting (Your Data) Into Drupal 8 title: Getting (Your Data) Into Drupal 8
type: Talk
slides: slides:
url: https://speakerdeck.com/opdavies/getting-your-data-into-drupal-8-drupal-bristol url: https://speakerdeck.com/opdavies/getting-your-data-into-drupal-8-drupal-bristol
embed: '<script async class="speakerdeck-embed" data-id="63e5dfce996e46699e304d50e896477b" data-ratio="1.77777777777778" src="//speakerdeck.com/assets/embed.js"></script>' embed: '<script async class="speakerdeck-embed" data-id="63e5dfce996e46699e304d50e896477b" data-ratio="1.77777777777778" src="//speakerdeck.com/assets/embed.js"></script>'
@ -22,6 +20,7 @@ meta:
redirect: redirect:
- talks/2017/01/18/getting-your-data-into-drupal-8-drupal-bristol/ - talks/2017/01/18/getting-your-data-into-drupal-8-drupal-bristol/
- talks/2017/03/04/getting-your-data-into-drupal-8-drupalcamp-london-2017/ - talks/2017/03/04/getting-your-data-into-drupal-8-drupalcamp-london-2017/
use: [talks]
--- ---
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

@ -1,7 +1,5 @@
--- ---
id: git-flow
title: Never Commit to Master - An Introduction to Git Flow title: Never Commit to Master - An Introduction to Git Flow
type: Talk
slides: slides:
url: https://speakerdeck.com/opdavies/never-commit-to-master-an-introduction-to-git-flow url: https://speakerdeck.com/opdavies/never-commit-to-master-an-introduction-to-git-flow
embed: <script async class="speakerdeck-embed" data-id="201559e0f103013198dd5a5f6f23ab67" data-ratio="1.29456384323641" src="//speakerdeck.com/assets/embed.js"></script> embed: <script async class="speakerdeck-embed" data-id="201559e0f103013198dd5a5f6f23ab67" data-ratio="1.29456384323641" src="//speakerdeck.com/assets/embed.js"></script>

View file

@ -1,7 +1,5 @@
--- ---
id: goodbye-drush-make-hello-composer
title: Goodbye Drush Make. Hello Composer! title: Goodbye Drush Make. Hello Composer!
type: Talk
tags: ['meetup', 'drupal', 'composer'] tags: ['meetup', 'drupal', 'composer']
slides: slides:
url: http://bit.ly/slides-goodbye-drush-make-hello-composer2 url: http://bit.ly/slides-goodbye-drush-make-hello-composer2

View file

@ -1,5 +1,4 @@
--- ---
id: it-all-started-with-a-patch
title: It All Started With A Patch title: It All Started With A Patch
type: Lightning talk type: Lightning talk
tags: [meetup, phpsw, open-source] tags: [meetup, phpsw, open-source]

View file

@ -1,5 +1,4 @@
--- ---
id: sculpin
title: Building Static Websites with Sculpin title: Building Static Websites with Sculpin
type: Lightning talk type: Lightning talk
slides: slides:

View file

@ -1,6 +1,5 @@
--- ---
title: Test Driven Drupal Development with SimpleTest and PHPUnit title: TDD - Test Driven Drupal
type: Talk
slides: slides:
url: https://speakerdeck.com/opdavies/test-driven-drupal-development-with-simpletest-and-phpunit-drupalcamp-london-17 url: https://speakerdeck.com/opdavies/test-driven-drupal-development-with-simpletest-and-phpunit-drupalcamp-london-17
embed: '<script async class="speakerdeck-embed" data-id="4f12722ed400468b93ebb32a23b3c757" data-ratio="1.77777777777778" src="//speakerdeck.com/assets/embed.js"></script>' embed: '<script async class="speakerdeck-embed" data-id="4f12722ed400468b93ebb32a23b3c757" data-ratio="1.77777777777778" src="//speakerdeck.com/assets/embed.js"></script>'
@ -10,7 +9,7 @@ video:
tags: [drupalcamp, simpletest, phpunit, testing] tags: [drupalcamp, simpletest, phpunit, testing]
meta: meta:
og: og:
title: Test Driven Drupal Development with SimpleTest and PHPUnit title: TDD - Test Driven Drupal
description: "How to write tests and follow TDD for Drupal applications." description: "How to write tests and follow TDD for Drupal applications."
type: website type: website
image: image:
@ -18,6 +17,9 @@ meta:
width: 2560 width: 2560
height: 1440 height: 1440
type: image/png type: image/png
redirect:
- /talks/test-driven-drupal-development-with-simpletest-and-phpunit/
use: [talks]
--- ---
Testing is important. Why? It allows developers to add new features and edit and refactor existing code without the worry of adding regressions, reduces the reliance on manual testing to discover bugs, and by taking a test driven approach, your implementation code is leaner as you only write what is needed for your tests to pass. Testing is important. Why? It allows developers to add new features and edit and refactor existing code without the worry of adding regressions, reduces the reliance on manual testing to discover bugs, and by taking a test driven approach, your implementation code is leaner as you only write what is needed for your tests to pass.

View file

@ -1,7 +1,5 @@
--- ---
id: test-drive-twig-with-sculpin
title: Test Drive Twig with Sculpin title: Test Drive Twig with Sculpin
type: Talk
slides: slides:
url: https://speakerdeck.com/opdavies/test-drive-twig-with-sculpin url: https://speakerdeck.com/opdavies/test-drive-twig-with-sculpin
embed: <script async class="speakerdeck-embed" data-id="54589d2e50a3476a9a75aed809e9edf1" data-ratio="1.77777777777778" src="//speakerdeck.com/assets/embed.js"></script> embed: <script async class="speakerdeck-embed" data-id="54589d2e50a3476a9a75aed809e9edf1" data-ratio="1.77777777777778" src="//speakerdeck.com/assets/embed.js"></script>

View file

@ -1,7 +1,5 @@
--- ---
id: what-is-this-drupal-thing
title: So, what is this Drupal thing? title: So, what is this Drupal thing?
type: Talk
video: video:
url: https://vimeo.com/49827006 url: https://vimeo.com/49827006
embed: <iframe src="https://player.vimeo.com/video/49827006" width="640" height="360" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe> embed: <iframe src="https://player.vimeo.com/video/49827006" width="640" height="360" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>

View file

@ -21,14 +21,12 @@ There is also information about events that Ive attended and spoken at on my
{% if date.date >= 'today'|date('Y-m-d') %} {% if date.date >= 'today'|date('Y-m-d') %}
{% set upcoming_events = upcoming_events|reverse|merge([{ {% set upcoming_events = upcoming_events|reverse|merge([{
date: date, date: date,
event: site.events.events[date.event], event: site.events.events[date.event]
talks: data.talks,
}]) %} }]) %}
{% else %} {% else %}
{% set past_events = past_events|merge([{ {% set past_events = past_events|merge([{
date: date, date: date,
event: site.events.events[date.event], event: site.events.events[date.event]
talks: data.talks,
}]) %} }]) %}
{% endif %} {% endif %}
{% endfor %} {% endfor %}

View file

@ -13,12 +13,11 @@ Here are a list of my previous conference and user group talks:
{% set events = events|merge([{ {% set events = events|merge([{
date: date, date: date,
event: site.events.events[date.event], event: site.events.events[date.event],
talks: data.talks,
}]) %} }]) %}
{% endif %} {% endif %}
{% endfor %} {% endfor %}
{% include 'talks-table' with { events: events } %} {% include 'talks-table' %}
Upcoming talks can be found on the [talks page][0]. Upcoming talks can be found on the [talks page][0].