From b23cdc30c11ab738648a50e9fdbb20676d02270d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 5 Sep 2017 20:22:34 +0100 Subject: [PATCH 1/4] Remove talk IDs --- app/data/events.yml | 21 +++---- source/_includes/talk/events.html.twig | 12 ++-- source/_includes/talks-table.html.twig | 62 +++++++------------ source/_talks/dancing-for-drupal.md | 2 - source/_talks/deploying-php-with-fabric.md | 32 ---------- source/_talks/drupal-8-module-development.md | 2 - source/_talks/drupal-8-rejoining-the-herd.md | 2 - source/_talks/drupal-8.md | 1 - .../drupal-development-with-composer.md | 1 - source/_talks/drupal-vm-generator.md | 1 - .../_talks/drupal-vm-meet-symfony-console.md | 2 - source/_talks/drupalorg-2015.md | 2 - source/_talks/drush-make-drupalbristol.md | 2 - .../_talks/getting-your-data-into-drupal-8.md | 3 +- source/_talks/git-flow.md | 2 - .../goodbye-drush-make-hello-composer.md | 2 - source/_talks/it-all-started-with-a-patch.md | 1 - source/_talks/sculpin.md | 1 - ...t-phpunit.md => tdd-test-driven-drupal.md} | 8 ++- source/_talks/test-drive-twig-with-sculpin.md | 2 - source/_talks/what-is-this-drupal-thing.md | 2 - source/talks.md | 6 +- source/talks/archive.md | 3 +- 23 files changed, 45 insertions(+), 127 deletions(-) delete mode 100644 source/_talks/deploying-php-with-fabric.md rename source/_talks/{test-driven-drupal-simpletest-phpunit.md => tdd-test-driven-drupal.md} (91%) diff --git a/app/data/events.yml b/app/data/events.yml index ec3b62203..13977a34c 100644 --- a/app/data/events.yml +++ b/app/data/events.yml @@ -99,11 +99,11 @@ events: date: '2014-08-19' talk: drush-make-drupalbristol - - event: swdug - date: '2014-08-19' - talk: - title: About the Drupal Association - type: Talk + # - event: swdug + # date: '2014-08-19' + # talk: + # title: About the Drupal Association + # type: Talk - event: drupalcamp-brighton-15 date: '2015-01-18' @@ -171,7 +171,7 @@ events: - event: drupalcamp-london-17 date: '2017-03-04' time: '16:15 - 17:00' - talk: test-driven-drupal-simpletest-phpunit + talk: tdd-test-driven-drupal - event: drupalcamp-london-17 date: '2017-03-04' @@ -181,17 +181,16 @@ events: - event: nomad-php date: '2017-04-20' time: '19:00 (CET)' - talk: - id: deploying-php-with-fabric - type: Lightning talk + type: Lightning talk + talk: deploying-php-fabric - event: phpsw date: '2017-09-13' time: ~ - talk: deploying-php-with-fabric feedback: https://joind.in/talk/a5ff3 + talk: deploying-php-fabric - event: phpnw17 date: '2017-10-01' time: '09:00 - 09:45' - talk: deploying-php-with-fabric + talk: deploying-php-fabric diff --git a/source/_includes/talk/events.html.twig b/source/_includes/talk/events.html.twig index a43848a67..b14c10853 100644 --- a/source/_includes/talk/events.html.twig +++ b/source/_includes/talk/events.html.twig @@ -3,14 +3,10 @@ {% set events = [] %} {% for date in site.events.dates %} - {% set key = (date.talk.id is defined) ? date.talk.id : date.talk %} - {% set talk = (page.id is defined) ? page.id : page.url|split('/')|last %} - {% if key == talk %} - {% set events = events|merge([{ - date: date, - event: site.events.events[date.event], - }]) %} - {% endif %} + {% set events = events|merge([{ + date: date, + event: site.events.events[date.event], + }]) %} {% endfor %} {% include 'talks-table' with { diff --git a/source/_includes/talks-table.html.twig b/source/_includes/talks-table.html.twig index 0ba9615d6..f1a581f07 100644 --- a/source/_includes/talks-table.html.twig +++ b/source/_includes/talks-table.html.twig @@ -17,62 +17,44 @@ {% for row in events %} - {% set talk = false %} - {% set key = row.date.talk.id ?: row.date.talk %} - - {% for item in row.talks if key == item.filename|split('.')|first %} - {% set talk = item %} - {% endfor %} - + - {{ row.date.date|date(row.date.fuzzy_date ? 'F Y' : 'j F Y') }} + {{ row.date.date }} - {% if row.date.time %} - {{ row.date.time }} + {% if row.date.time is defined %} + + {{ row.date.time }} + {% endif %} {% if not talk_page %} - {% if row.date.talk.title is defined %} - {{ row.date.talk.title }} + {% if row.date.talk.title is not defined %} + {% for talk in data.talks if talk.id ends with '/' ~ row.date.talk ~ '.md' %} + + {{ talk.title }} + + {% endfor %} {% else %} - {{ talk.title }} + {{ row.date.talk.title }} {% endif %} - - - {{ row.date.talk.type ?: talk.type }} - {% endif %} - {% if row.event.website %} - - {{ row.event.name }} - - {% else %} - {{ row.event.name }} - {% endif %} + {{ row.event.name }} - - {{ row.event.location }} - + {% if row.event.location is defined %} + + {{ row.event.location }} + + {% endif %} - {% if not upcoming %} - - {% if row.date.feedback %} - - - joind.in - - {% endif %} - - {% endif %} + + feedback + {% endfor %} diff --git a/source/_talks/dancing-for-drupal.md b/source/_talks/dancing-for-drupal.md index 02a766039..f800d0163 100644 --- a/source/_talks/dancing-for-drupal.md +++ b/source/_talks/dancing-for-drupal.md @@ -1,7 +1,5 @@ --- -id: dancing-for-drupal title: Dancing for Drupal -type: Talk slides: url: https://speakerdeck.com/opdavies/umbristol-dancing-for-drupal embed: diff --git a/source/_talks/deploying-php-with-fabric.md b/source/_talks/deploying-php-with-fabric.md deleted file mode 100644 index 7a9242826..000000000 --- a/source/_talks/deploying-php-with-fabric.md +++ /dev/null @@ -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: '' -video: - embed: '' - 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/ ---- -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 bcd38eb9d..8524366f5 100644 --- a/source/_talks/drupal-8-module-development.md +++ b/source/_talks/drupal-8-module-development.md @@ -1,7 +1,5 @@ --- -id: drupal-8-module-development title: Getting Started with Drupal 8 Module Development -type: Talk tags: [conference, php, drupal, drupalcamp, drupal-8] tweets: yes code: https://github.com/opdavies/dclondon16-d8-module diff --git a/source/_talks/drupal-8-rejoining-the-herd.md b/source/_talks/drupal-8-rejoining-the-herd.md index 9d4e8c3e7..fee35376b 100644 --- a/source/_talks/drupal-8-rejoining-the-herd.md +++ b/source/_talks/drupal-8-rejoining-the-herd.md @@ -1,7 +1,5 @@ --- -id: drupal-8-rejoining-the-herd title: Drupal 8: Rejoining the Herd -type: Talk tags: [conference, php, drupal, drupal-8] slides: url: https://speakerdeck.com/opdavies/drupal-rejoining-the-herd diff --git a/source/_talks/drupal-8.md b/source/_talks/drupal-8.md index 3f18f7150..ab02d5d64 100644 --- a/source/_talks/drupal-8.md +++ b/source/_talks/drupal-8.md @@ -1,5 +1,4 @@ --- -id: drupal-8 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 b0fb5ee03..32169ffed 100644 --- a/source/_talks/drupal-development-with-composer.md +++ b/source/_talks/drupal-development-with-composer.md @@ -1,5 +1,4 @@ --- -id: drupal-development-with-composer 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 02e00fc59..9867c58c9 100644 --- a/source/_talks/drupal-vm-generator.md +++ b/source/_talks/drupal-vm-generator.md @@ -1,5 +1,4 @@ --- -id: drupal-vm-generator 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 737543aac..51487342a 100644 --- a/source/_talks/drupal-vm-meet-symfony-console.md +++ b/source/_talks/drupal-vm-meet-symfony-console.md @@ -1,7 +1,5 @@ --- -id: drupal-vm-meet-symfony-console title: Drupal VM, Meet Symfony Console -type: Talk tags: [conference, php, drupal-vm, symfony] slides: url: https://speakerdeck.com/opdavies/drupal-vm-meet-symfony-console diff --git a/source/_talks/drupalorg-2015.md b/source/_talks/drupalorg-2015.md index 72ea6fef3..a277fa452 100644 --- a/source/_talks/drupalorg-2015.md +++ b/source/_talks/drupalorg-2015.md @@ -1,7 +1,5 @@ --- -id: drupalorg-2015 title: Drupal.org in 2015: What's Coming Next -type: Talk tags: [conference, drupalcamp, drupalcamp-london, drupal-association] slides: url: https://speakerdeck.com/opdavies/drupal-dot-org-in-15 diff --git a/source/_talks/drush-make-drupalbristol.md b/source/_talks/drush-make-drupalbristol.md index 30abc3603..55f958aaf 100644 --- a/source/_talks/drush-make-drupalbristol.md +++ b/source/_talks/drush-make-drupalbristol.md @@ -1,7 +1,5 @@ --- -id: drush-make-drupalbristol title: drush make drupalbristol -type: Talk slides: url: https://speakerdeck.com/opdavies/drush-make-drupalbristol embed: diff --git a/source/_talks/getting-your-data-into-drupal-8.md b/source/_talks/getting-your-data-into-drupal-8.md index 5d7147d1c..84f2f0b3f 100644 --- a/source/_talks/getting-your-data-into-drupal-8.md +++ b/source/_talks/getting-your-data-into-drupal-8.md @@ -1,7 +1,5 @@ --- -id: getting-your-data-into-drupal-8 title: Getting (Your Data) Into Drupal 8 -type: Talk slides: url: https://speakerdeck.com/opdavies/getting-your-data-into-drupal-8-drupal-bristol embed: '' @@ -22,6 +20,7 @@ meta: redirect: - 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/ +use: [talks] --- If you’ve moved a site from Drupal 6 to 7, the chances are that you’ve 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. diff --git a/source/_talks/git-flow.md b/source/_talks/git-flow.md index c7c321595..15e844a52 100644 --- a/source/_talks/git-flow.md +++ b/source/_talks/git-flow.md @@ -1,7 +1,5 @@ --- -id: git-flow title: Never Commit to Master - An Introduction to Git Flow -type: Talk slides: url: https://speakerdeck.com/opdavies/never-commit-to-master-an-introduction-to-git-flow embed: diff --git a/source/_talks/goodbye-drush-make-hello-composer.md b/source/_talks/goodbye-drush-make-hello-composer.md index d5124be3b..27dd3dcef 100644 --- a/source/_talks/goodbye-drush-make-hello-composer.md +++ b/source/_talks/goodbye-drush-make-hello-composer.md @@ -1,7 +1,5 @@ --- -id: goodbye-drush-make-hello-composer title: Goodbye Drush Make. Hello Composer! -type: Talk tags: ['meetup', 'drupal', 'composer'] slides: url: http://bit.ly/slides-goodbye-drush-make-hello-composer2 diff --git a/source/_talks/it-all-started-with-a-patch.md b/source/_talks/it-all-started-with-a-patch.md index 9de10ea85..f73efbd47 100644 --- a/source/_talks/it-all-started-with-a-patch.md +++ b/source/_talks/it-all-started-with-a-patch.md @@ -1,5 +1,4 @@ --- -id: it-all-started-with-a-patch 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 7f380c481..fed58d572 100644 --- a/source/_talks/sculpin.md +++ b/source/_talks/sculpin.md @@ -1,5 +1,4 @@ --- -id: sculpin title: Building Static Websites with Sculpin type: Lightning talk slides: diff --git a/source/_talks/test-driven-drupal-simpletest-phpunit.md b/source/_talks/tdd-test-driven-drupal.md similarity index 91% rename from source/_talks/test-driven-drupal-simpletest-phpunit.md rename to source/_talks/tdd-test-driven-drupal.md index 8daabc008..aacd45416 100644 --- a/source/_talks/test-driven-drupal-simpletest-phpunit.md +++ b/source/_talks/tdd-test-driven-drupal.md @@ -1,6 +1,5 @@ --- -title: Test Driven Drupal Development with SimpleTest and PHPUnit -type: Talk +title: TDD - Test Driven Drupal slides: url: https://speakerdeck.com/opdavies/test-driven-drupal-development-with-simpletest-and-phpunit-drupalcamp-london-17 embed: '' @@ -10,7 +9,7 @@ video: tags: [drupalcamp, simpletest, phpunit, testing] meta: 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." type: website image: @@ -18,6 +17,9 @@ meta: width: 2560 height: 1440 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. diff --git a/source/_talks/test-drive-twig-with-sculpin.md b/source/_talks/test-drive-twig-with-sculpin.md index b80400d1c..d9c68b47b 100644 --- a/source/_talks/test-drive-twig-with-sculpin.md +++ b/source/_talks/test-drive-twig-with-sculpin.md @@ -1,7 +1,5 @@ --- -id: test-drive-twig-with-sculpin title: Test Drive Twig with Sculpin -type: Talk slides: url: https://speakerdeck.com/opdavies/test-drive-twig-with-sculpin embed: diff --git a/source/_talks/what-is-this-drupal-thing.md b/source/_talks/what-is-this-drupal-thing.md index a0c7aacbd..268cfc7a6 100644 --- a/source/_talks/what-is-this-drupal-thing.md +++ b/source/_talks/what-is-this-drupal-thing.md @@ -1,7 +1,5 @@ --- -id: what-is-this-drupal-thing title: So, what is this Drupal thing? -type: Talk video: url: https://vimeo.com/49827006 embed: diff --git a/source/talks.md b/source/talks.md index 6cc77b903..bbe1d8b9d 100644 --- a/source/talks.md +++ b/source/talks.md @@ -21,14 +21,12 @@ There is also information about events that I’ve attended and spoken at on my {% if date.date >= 'today'|date('Y-m-d') %} {% set upcoming_events = upcoming_events|reverse|merge([{ date: date, - event: site.events.events[date.event], - talks: data.talks, + event: site.events.events[date.event] }]) %} {% else %} {% set past_events = past_events|merge([{ date: date, - event: site.events.events[date.event], - talks: data.talks, + event: site.events.events[date.event] }]) %} {% endif %} {% endfor %} diff --git a/source/talks/archive.md b/source/talks/archive.md index 77e03fd94..2e7be820d 100644 --- a/source/talks/archive.md +++ b/source/talks/archive.md @@ -13,12 +13,11 @@ Here are a list of my previous conference and user group talks: {% set events = events|merge([{ date: date, event: site.events.events[date.event], - talks: data.talks, }]) %} {% endif %} {% endfor %} -{% include 'talks-table' with { events: events } %} +{% include 'talks-table' %} Upcoming talks can be found on the [talks page][0]. From 113e4e5f3b51181cd8c526dd9eb4484a50cd0ae7 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 6 Sep 2017 07:34:18 +0100 Subject: [PATCH 2/4] Use numeric talk IDs --- app/data/events.yml | 55 +++++++++---------- source/_includes/talk/events.html.twig | 4 +- source/_includes/talks-table.html.twig | 40 ++++++++++---- source/_talks/dancing-for-drupal.md | 1 + source/_talks/deploying-php-fabric.md | 30 ++++++++++ source/_talks/drupal-8-module-development.md | 1 + source/_talks/drupal-8-rejoining-the-herd.md | 1 + source/_talks/drupal-8.md | 1 + .../drupal-development-with-composer.md | 1 + source/_talks/drupal-vm-generator.md | 1 + .../_talks/drupal-vm-meet-symfony-console.md | 1 + source/_talks/drupalorg-2015.md | 1 + source/_talks/drush-make-drupalbristol.md | 1 + .../_talks/getting-your-data-into-drupal-8.md | 1 + source/_talks/git-flow.md | 1 + .../goodbye-drush-make-hello-composer.md | 1 + source/_talks/it-all-started-with-a-patch.md | 1 + source/_talks/sculpin.md | 1 + source/_talks/tdd-test-driven-drupal.md | 1 + source/_talks/test-drive-twig-with-sculpin.md | 1 + source/_talks/what-is-this-drupal-thing.md | 1 + 21 files changed, 106 insertions(+), 40 deletions(-) create mode 100644 source/_talks/deploying-php-fabric.md 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 @@
- + {% if not talk_page %} @@ -17,9 +17,9 @@ {% for row in events %} - + {% endif %} - + {% if not upcoming %} + + {% 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: '' + 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 From 3f64be24cdd7086a3cd081c5de6a5b97384e5e3d Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 6 Sep 2017 07:41:30 +0100 Subject: [PATCH 3/4] Update permalink for talks --- app/config/sculpin_kernel.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/config/sculpin_kernel.yml b/app/config/sculpin_kernel.yml index 8ce8aac1e..69911e700 100644 --- a/app/config/sculpin_kernel.yml +++ b/app/config/sculpin_kernel.yml @@ -6,5 +6,5 @@ sculpin_content_types: permalink: projects/:slug_title/ taxonomies: [skills, tags] talks: - permalink: talks/:slug_title/ + permalink: talks/:basename/ taxonomies: [tags] From 9ea2fec048a9a6334ce3e19f515ecdf39db0f936 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 6 Sep 2017 08:43:49 +0100 Subject: [PATCH 4/4] Ensure talk paths match or redirect --- .../_talks/{sculpin.md => building-static-websites-sculpin.md} | 1 + source/_talks/drupal-8-module-development.md | 1 + source/_talks/drupalorg-2015.md | 1 + ...th-composer.md => modern-drupal-development-with-composer.md} | 0 ...t-is-this-drupal-thing.md => so-what-is-this-drupal-thing.md} | 0 5 files changed, 3 insertions(+) rename source/_talks/{sculpin.md => building-static-websites-sculpin.md} (95%) rename source/_talks/{drupal-development-with-composer.md => modern-drupal-development-with-composer.md} (100%) rename source/_talks/{what-is-this-drupal-thing.md => so-what-is-this-drupal-thing.md} (100%) diff --git a/source/_talks/sculpin.md b/source/_talks/building-static-websites-sculpin.md similarity index 95% rename from source/_talks/sculpin.md rename to source/_talks/building-static-websites-sculpin.md index e769f0808..71ebe6166 100644 --- a/source/_talks/sculpin.md +++ b/source/_talks/building-static-websites-sculpin.md @@ -13,6 +13,7 @@ video: url: https://www.youtube.com/watch?v=aN53arCKZAU redirect: - talks/2015/10/14/sculpin-phpsw/ + - talks/building-static-websites-with-sculpin/ --- [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. diff --git a/source/_talks/drupal-8-module-development.md b/source/_talks/drupal-8-module-development.md index cac45f654..3733ced5c 100644 --- a/source/_talks/drupal-8-module-development.md +++ b/source/_talks/drupal-8-module-development.md @@ -20,6 +20,7 @@ meta: width: 960 redirect: - talks/2016/03/05/drupal-8-module-development-drupalcamp-london-2016/ + - talks/getting-started-with-drupal-8-module-development/ --- New to object-orientated PHP, Symfony or YAML, and want to get started building modules in Drupal 8? This is the session for you! diff --git a/source/_talks/drupalorg-2015.md b/source/_talks/drupalorg-2015.md index 1ee3f3425..55acddd0e 100644 --- a/source/_talks/drupalorg-2015.md +++ b/source/_talks/drupalorg-2015.md @@ -10,4 +10,5 @@ redirect: - talks/2015/02/28/drupalorg-2015-drupalcamp-london-2015/ - talks/drupalorg-2015-2/ - talks/drupalorg-2015/ + - talks/drupalorg-in-2015-whats-coming-next/ --- diff --git a/source/_talks/drupal-development-with-composer.md b/source/_talks/modern-drupal-development-with-composer.md similarity index 100% rename from source/_talks/drupal-development-with-composer.md rename to source/_talks/modern-drupal-development-with-composer.md diff --git a/source/_talks/what-is-this-drupal-thing.md b/source/_talks/so-what-is-this-drupal-thing.md similarity index 100% rename from source/_talks/what-is-this-drupal-thing.md rename to source/_talks/so-what-is-this-drupal-thing.md
Date
- {{ 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') }} + - {{ 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 row.date.feedback %} + + + joind.in + + {% endif %} +