From 255dc31bae5a57ab646aa5d0f8a70c99e3d30aa2 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 5 Mar 2017 22:46:31 +0000 Subject: [PATCH] Start adding event data, rebuild talks page --- app/SculpinKernel.php | 2 + composer.json | 3 +- composer.lock | 211 ++++++++++++------ ...02-08-it-all-started-with-a-patch-phpsw.md | 2 + ...ta-into-drupal-8-drupalcamp-london-2017.md | 3 + ...mpletest-phpunit-drupalcamp-london-2017.md | 2 + source/talks.html.twig | 45 ++-- 7 files changed, 170 insertions(+), 98 deletions(-) diff --git a/app/SculpinKernel.php b/app/SculpinKernel.php index 48b981e6..dcda74e0 100644 --- a/app/SculpinKernel.php +++ b/app/SculpinKernel.php @@ -2,6 +2,7 @@ use Opdavies\Sculpin\Bundle\ContentGeneratorBundle\SculpinContentGeneratorBundle; use Opdavies\Sculpin\Bundle\GistEmbedBundle\SculpinGistEmbedBundle; +use Opdavies\Sculpin\Bundle\TwigSortByFieldBundle\SculpinTwigSortByFieldBundle; use Sculpin\Bundle\SculpinBundle\HttpKernel\AbstractKernel; use Tsphethean\Sculpin\Bundle\RelatedPostsBundle\SculpinRelatedPostsBundle; @@ -19,6 +20,7 @@ class SculpinKernel extends AbstractKernel SculpinContentGeneratorBundle::class, SculpinGistEmbedBundle::class, SculpinRelatedPostsBundle::class, + SculpinTwigSortByFieldBundle::class, ]; } } diff --git a/composer.json b/composer.json index 1e08b3bf..157271ea 100644 --- a/composer.json +++ b/composer.json @@ -6,12 +6,13 @@ "test": "behat" }, "require": { + "php": "^5.5", "behat/mink-extension": "@stable", "behat/mink-goutte-driver": "@stable", "dflydev/embedded-composer": "^1.0@dev", "opdavies/sculpin-content-generator-bundle": "@stable", "opdavies/sculpin-gist-embed-bundle": "dev-master", - "php": "^5.5", + "opdavies/sculpin-twig-sort-by-field-bundle": "dev-master", "sculpin/sculpin": "^2.1@dev", "tsphethean/sculpin-related-posts-bundle": "~0.1.0" }, diff --git a/composer.lock b/composer.lock index 8227f18f..68c31a73 100644 --- a/composer.lock +++ b/composer.lock @@ -4,8 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "f5b418bcffa381556538abe1c659036a", - "content-hash": "3c2abfae369d41fb0f11d86bbecdd0dd", + "content-hash": "23b35e60c5c1518a04da384491bdb09f", "packages": [ { "name": "behat/behat", @@ -86,7 +85,7 @@ "symfony", "testing" ], - "time": "2016-09-25 09:40:39" + "time": "2016-09-25T09:40:39+00:00" }, { "name": "behat/gherkin", @@ -145,7 +144,7 @@ "gherkin", "parser" ], - "time": "2016-09-18 12:16:14" + "time": "2016-09-18T12:16:14+00:00" }, { "name": "behat/mink", @@ -203,7 +202,7 @@ "testing", "web" ], - "time": "2016-03-05 08:26:18" + "time": "2016-03-05T08:26:18+00:00" }, { "name": "behat/mink-browserkit-driver", @@ -259,7 +258,7 @@ "browser", "testing" ], - "time": "2016-03-05 08:59:47" + "time": "2016-03-05T08:59:47+00:00" }, { "name": "behat/mink-extension", @@ -318,7 +317,7 @@ "test", "web" ], - "time": "2016-02-15 07:55:18" + "time": "2016-02-15T07:55:18+00:00" }, { "name": "behat/mink-goutte-driver", @@ -373,7 +372,7 @@ "headless", "testing" ], - "time": "2016-03-05 09:04:22" + "time": "2016-03-05T09:04:22+00:00" }, { "name": "behat/transliterator", @@ -413,7 +412,7 @@ "slug", "transliterator" ], - "time": "2015-09-28 16:26:35" + "time": "2015-09-28T16:26:35+00:00" }, { "name": "composer/ca-bundle", @@ -471,7 +470,7 @@ "ssl", "tls" ], - "time": "2016-09-04 19:00:06" + "time": "2016-09-04T19:00:06+00:00" }, { "name": "composer/composer", @@ -548,7 +547,7 @@ "dependency", "package" ], - "time": "2016-09-12 09:27:20" + "time": "2016-09-12T09:27:20+00:00" }, { "name": "composer/semver", @@ -610,7 +609,7 @@ "validation", "versioning" ], - "time": "2016-08-30 16:08:34" + "time": "2016-08-30T16:08:34+00:00" }, { "name": "composer/spdx-licenses", @@ -671,7 +670,7 @@ "spdx", "validator" ], - "time": "2016-09-28 07:17:45" + "time": "2016-09-28T07:17:45+00:00" }, { "name": "dflydev/ant-path-matcher", @@ -720,7 +719,7 @@ "path", "pattern" ], - "time": "2012-12-03 05:03:00" + "time": "2012-12-03T05:03:00+00:00" }, { "name": "dflydev/apache-mime-types", @@ -775,7 +774,7 @@ "mime", "mimetypes" ], - "time": "2013-05-14 02:02:01" + "time": "2013-05-14T02:02:01+00:00" }, { "name": "dflydev/canal", @@ -830,7 +829,7 @@ "mime", "type" ], - "time": "2013-05-14 05:22:25" + "time": "2013-05-14T05:22:25+00:00" }, { "name": "dflydev/dot-access-configuration", @@ -890,7 +889,7 @@ "config", "configuration" ], - "time": "2014-11-14 03:26:12" + "time": "2014-11-14T03:26:12+00:00" }, { "name": "dflydev/dot-access-data", @@ -944,7 +943,7 @@ "dot", "notation" ], - "time": "2015-08-13 03:51:18" + "time": "2015-08-13T03:51:18+00:00" }, { "name": "dflydev/embedded-composer", @@ -1063,7 +1062,7 @@ "placeholder", "resolver" ], - "time": "2012-10-28 21:08:28" + "time": "2012-10-28T21:08:28+00:00" }, { "name": "dflydev/symfony-finder-factory", @@ -1116,7 +1115,7 @@ "finder", "syfony" ], - "time": "2012-11-09 16:45:28" + "time": "2012-11-09T16:45:28+00:00" }, { "name": "doctrine/inflector", @@ -1183,7 +1182,7 @@ "singularize", "string" ], - "time": "2014-12-20 21:24:13" + "time": "2014-12-20T21:24:13+00:00" }, { "name": "evenement/evenement", @@ -1223,7 +1222,7 @@ "keywords": [ "event-dispatcher" ], - "time": "2012-05-30 15:01:08" + "time": "2012-05-30T15:01:08+00:00" }, { "name": "fabpot/goutte", @@ -1272,7 +1271,7 @@ "keywords": [ "scraper" ], - "time": "2015-11-05 12:58:44" + "time": "2015-11-05T12:58:44+00:00" }, { "name": "guzzle/guzzle", @@ -1365,7 +1364,7 @@ "web service" ], "abandoned": "guzzlehttp/guzzle", - "time": "2012-12-19 23:06:35" + "time": "2012-12-19T23:06:35+00:00" }, { "name": "guzzlehttp/guzzle", @@ -1427,7 +1426,7 @@ "rest", "web service" ], - "time": "2016-10-08 15:01:37" + "time": "2016-10-08T15:01:37+00:00" }, { "name": "guzzlehttp/promises", @@ -1478,7 +1477,7 @@ "keywords": [ "promise" ], - "time": "2016-05-18 16:56:05" + "time": "2016-05-18T16:56:05+00:00" }, { "name": "guzzlehttp/psr7", @@ -1536,7 +1535,7 @@ "stream", "uri" ], - "time": "2016-06-24 23:00:38" + "time": "2016-06-24T23:00:38+00:00" }, { "name": "justinrainbow/json-schema", @@ -1602,7 +1601,7 @@ "json", "schema" ], - "time": "2016-06-02 10:59:52" + "time": "2016-06-02T10:59:52+00:00" }, { "name": "michelf/php-markdown", @@ -1653,7 +1652,7 @@ "keywords": [ "markdown" ], - "time": "2015-12-22 18:18:12" + "time": "2015-12-22T18:18:12+00:00" }, { "name": "netcarver/textile", @@ -1706,7 +1705,7 @@ "plaintext", "textile" ], - "time": "2014-01-02 09:39:06" + "time": "2014-01-02T09:39:06+00:00" }, { "name": "opdavies/sculpin-content-generator-bundle", @@ -1754,7 +1753,7 @@ "keywords": [ "sculpin" ], - "time": "2016-09-11 11:57:47" + "time": "2016-09-11T11:57:47+00:00" }, { "name": "opdavies/sculpin-gist-embed-bundle", @@ -1799,6 +1798,48 @@ ], "time": "2016-04-05 19:57:22" }, + { + "name": "opdavies/sculpin-twig-sort-by-field-bundle", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/opdavies/sculpin-twig-sort-by-field-bundle.git", + "reference": "41b193d878238d505799635fdee95876c5be1894" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/opdavies/sculpin-twig-sort-by-field-bundle/zipball/41b193d878238d505799635fdee95876c5be1894", + "reference": "41b193d878238d505799635fdee95876c5be1894", + "shasum": "" + }, + "require": { + "snilius/twig-sort-by-field": "^0.1" + }, + "suggest": { + "sculpin/sculpin": "@stable" + }, + "type": "library", + "autoload": { + "psr-4": { + "Opdavies\\Sculpin\\Bundle\\TwigSortByFieldBundle\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Oliver Davies", + "email": "oliver@oliverdavies.uk", + "homepage": "https://www.oliverdavies.uk" + } + ], + "keywords": [ + "sculpin" + ], + "time": "2017-03-05 22:11:49" + }, { "name": "psr/http-message", "version": "1.0.1", @@ -1847,7 +1888,7 @@ "request", "response" ], - "time": "2016-08-06 14:39:51" + "time": "2016-08-06T14:39:51+00:00" }, { "name": "psr/log", @@ -1894,7 +1935,7 @@ "psr", "psr-3" ], - "time": "2016-10-10 12:19:37" + "time": "2016-10-10T12:19:37+00:00" }, { "name": "react/event-loop", @@ -1937,7 +1978,7 @@ "keywords": [ "event-loop" ], - "time": "2013-01-05 11:41:26" + "time": "2013-01-05T11:41:26+00:00" }, { "name": "react/http", @@ -1979,7 +2020,7 @@ "keywords": [ "http" ], - "time": "2012-12-26 16:33:04" + "time": "2012-12-26T16:33:04+00:00" }, { "name": "react/socket", @@ -2021,7 +2062,7 @@ "keywords": [ "Socket" ], - "time": "2012-12-14 00:58:14" + "time": "2012-12-14T00:58:14+00:00" }, { "name": "react/stream", @@ -2066,7 +2107,7 @@ "pipe", "stream" ], - "time": "2012-12-14 00:58:14" + "time": "2012-12-14T00:58:14+00:00" }, { "name": "sculpin/sculpin", @@ -2200,7 +2241,7 @@ "license": [ "MIT" ], - "time": "2016-05-24 19:51:53" + "time": "2016-05-24T19:51:53+00:00" }, { "name": "seld/cli-prompt", @@ -2248,7 +2289,7 @@ "input", "prompt" ], - "time": "2016-04-18 09:31:41" + "time": "2016-04-18T09:31:41+00:00" }, { "name": "seld/jsonlint", @@ -2294,7 +2335,7 @@ "parser", "validator" ], - "time": "2016-09-14 15:17:56" + "time": "2016-09-14T15:17:56+00:00" }, { "name": "seld/phar-utils", @@ -2338,7 +2379,46 @@ "keywords": [ "phra" ], - "time": "2015-10-13 18:44:15" + "time": "2015-10-13T18:44:15+00:00" + }, + { + "name": "snilius/twig-sort-by-field", + "version": "v0.1.5", + "source": { + "type": "git", + "url": "https://github.com/victorhaggqvist/Twig-sort-by-field.git", + "reference": "6d02c6d49f93d78526e24ecf8999d322f291aa44" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/victorhaggqvist/Twig-sort-by-field/zipball/6d02c6d49f93d78526e24ecf8999d322f291aa44", + "reference": "6d02c6d49f93d78526e24ecf8999d322f291aa44", + "shasum": "" + }, + "require-dev": { + "doctrine/collections": "^1.3", + "php": ">=5.5.9", + "phpunit/phpunit": "~4.5", + "twig/extensions": "~1.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Snilius\\Twig\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Victor Häggqvist", + "email": "victor@snilius.com" + } + ], + "description": "A Twig Extension filter to sort an array of entries (objects or arrays) by the specified field", + "time": "2016-01-27T00:29:51+00:00" }, { "name": "symfony/browser-kit", @@ -2395,7 +2475,7 @@ ], "description": "Symfony BrowserKit Component", "homepage": "https://symfony.com", - "time": "2016-09-06 11:02:40" + "time": "2016-09-06T11:02:40+00:00" }, { "name": "symfony/class-loader", @@ -2448,7 +2528,7 @@ ], "description": "Symfony ClassLoader Component", "homepage": "https://symfony.com", - "time": "2016-09-06 23:19:39" + "time": "2016-09-06T23:19:39+00:00" }, { "name": "symfony/config", @@ -2501,7 +2581,7 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "time": "2016-09-14 20:31:12" + "time": "2016-09-14T20:31:12+00:00" }, { "name": "symfony/console", @@ -2562,7 +2642,7 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2016-09-28 00:10:16" + "time": "2016-09-28T00:10:16+00:00" }, { "name": "symfony/css-selector", @@ -2615,7 +2695,7 @@ ], "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", - "time": "2016-09-06 11:02:40" + "time": "2016-09-06T11:02:40+00:00" }, { "name": "symfony/debug", @@ -2672,7 +2752,7 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2016-09-06 10:55:00" + "time": "2016-09-06T10:55:00+00:00" }, { "name": "symfony/dependency-injection", @@ -2735,7 +2815,7 @@ ], "description": "Symfony DependencyInjection Component", "homepage": "https://symfony.com", - "time": "2016-09-24 09:47:20" + "time": "2016-09-24T09:47:20+00:00" }, { "name": "symfony/dom-crawler", @@ -2791,7 +2871,7 @@ ], "description": "Symfony DomCrawler Component", "homepage": "https://symfony.com", - "time": "2016-08-05 08:37:39" + "time": "2016-08-05T08:37:39+00:00" }, { "name": "symfony/event-dispatcher", @@ -2851,7 +2931,7 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2016-07-28 16:56:28" + "time": "2016-07-28T16:56:28+00:00" }, { "name": "symfony/filesystem", @@ -2900,7 +2980,7 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2016-09-06 10:55:00" + "time": "2016-09-06T10:55:00+00:00" }, { "name": "symfony/finder", @@ -2949,7 +3029,7 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2016-09-28 00:10:16" + "time": "2016-09-28T00:10:16+00:00" }, { "name": "symfony/http-foundation", @@ -3002,7 +3082,7 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2016-07-17 13:54:30" + "time": "2016-07-17T13:54:30+00:00" }, { "name": "symfony/http-kernel", @@ -3084,7 +3164,7 @@ ], "description": "Symfony HttpKernel Component", "homepage": "https://symfony.com", - "time": "2016-10-03 18:44:05" + "time": "2016-10-03T18:44:05+00:00" }, { "name": "symfony/polyfill-apcu", @@ -3137,7 +3217,7 @@ "portable", "shim" ], - "time": "2016-05-18 14:26:46" + "time": "2016-05-18T14:26:46+00:00" }, { "name": "symfony/polyfill-mbstring", @@ -3196,7 +3276,7 @@ "portable", "shim" ], - "time": "2016-05-18 14:26:46" + "time": "2016-05-18T14:26:46+00:00" }, { "name": "symfony/process", @@ -3245,7 +3325,7 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2016-09-29 14:03:54" + "time": "2016-09-29T14:03:54+00:00" }, { "name": "symfony/translation", @@ -3309,7 +3389,7 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "time": "2016-09-06 11:02:40" + "time": "2016-09-06T11:02:40+00:00" }, { "name": "symfony/yaml", @@ -3358,7 +3438,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2016-09-02 01:57:56" + "time": "2016-09-02T01:57:56+00:00" }, { "name": "tsphethean/sculpin-related-posts-bundle", @@ -3403,7 +3483,7 @@ "site", "static" ], - "time": "2014-03-21 14:38:52" + "time": "2014-03-21T14:38:52+00:00" }, { "name": "twig/extensions", @@ -3455,7 +3535,7 @@ "i18n", "text" ], - "time": "2016-09-22 16:50:57" + "time": "2016-09-22T16:50:57+00:00" }, { "name": "twig/twig", @@ -3516,7 +3596,7 @@ "keywords": [ "templating" ], - "time": "2016-10-05 18:57:41" + "time": "2016-10-05T18:57:41+00:00" }, { "name": "webignition/internet-media-type", @@ -3566,7 +3646,7 @@ "media type", "media-type" ], - "time": "2015-02-20 16:52:30" + "time": "2015-02-20T16:52:30+00:00" }, { "name": "webignition/quoted-string", @@ -3607,7 +3687,7 @@ "parser", "quoted-string" ], - "time": "2012-08-15 16:52:06" + "time": "2012-08-15T16:52:06+00:00" }, { "name": "webignition/string-parser", @@ -3648,7 +3728,7 @@ "parser", "string" ], - "time": "2014-04-23 09:31:03" + "time": "2014-04-23T09:31:03+00:00" } ], "packages-dev": [], @@ -3660,6 +3740,7 @@ "dflydev/embedded-composer": 20, "opdavies/sculpin-content-generator-bundle": 0, "opdavies/sculpin-gist-embed-bundle": 20, + "opdavies/sculpin-twig-sort-by-field-bundle": 20, "sculpin/sculpin": 20 }, "prefer-stable": false, diff --git a/source/_talks/2017-02-08-it-all-started-with-a-patch-phpsw.md b/source/_talks/2017-02-08-it-all-started-with-a-patch-phpsw.md index e292bbe3..080d5edc 100644 --- a/source/_talks/2017-02-08-it-all-started-with-a-patch-phpsw.md +++ b/source/_talks/2017-02-08-it-all-started-with-a-patch-phpsw.md @@ -6,5 +6,7 @@ slides: https://speakerdeck.com/opdavies/it-all-started-with-a-patch-phpsw slides_embed: logo: assets/images/talks/logos/phpsw.png logo_link: http://phpsw.uk/talks/it-started-with-a-patch +events: + - { title: PHPSW, date: 2017-02-08 } --- A crash course of why and how to get involved with open source. diff --git a/source/_talks/2017-03-04-getting-your-data-into-drupal-8-drupalcamp-london-2017.md b/source/_talks/2017-03-04-getting-your-data-into-drupal-8-drupalcamp-london-2017.md index a83f3557..a57bb2c2 100644 --- a/source/_talks/2017-03-04-getting-your-data-into-drupal-8-drupalcamp-london-2017.md +++ b/source/_talks/2017-03-04-getting-your-data-into-drupal-8-drupalcamp-london-2017.md @@ -6,6 +6,9 @@ logo_link: http://drupalcamp.london/session/getting-your-data-drupal-8 slides: https://speakerdeck.com/opdavies/getting-your-data-into-drupal-8-drupal-bristol slides_embed: tags: [drupalcamp, migration, drupal-8] +events: + - { title: DrupalCamp London 2017, date: 2017-03-05 } + - { title: Drupal Bristol, date: 2017-01-18 } --- 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/2017-03-04-test-driven-drupal-simpletest-phpunit-drupalcamp-london-2017.md b/source/_talks/2017-03-04-test-driven-drupal-simpletest-phpunit-drupalcamp-london-2017.md index e4971e0a..87cad353 100644 --- a/source/_talks/2017-03-04-test-driven-drupal-simpletest-phpunit-drupalcamp-london-2017.md +++ b/source/_talks/2017-03-04-test-driven-drupal-simpletest-phpunit-drupalcamp-london-2017.md @@ -6,6 +6,8 @@ logo_link: http://drupalcamp.london/session/test-driven-drupal-development-simpl slides: https://speakerdeck.com/opdavies/test-driven-drupal-development-with-simpletest-and-phpunit-drupalcamp-london-2017 slides_embed: tags: [drupalcamp, simpletest, phpunit, testing] +events: + - { title: DrupalCamp London 2017, date: 2017-03-05 } --- 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.html.twig b/source/talks.html.twig index e7964975..0d409cc9 100644 --- a/source/talks.html.twig +++ b/source/talks.html.twig @@ -7,37 +7,18 @@ use: [talks, posts] ---

Talks

-

I regularly speak at conferences and user groups about a range of subjects including Drupal, Sculpin and Git. If you would like to me to speak at your group or conference, please get in touch.

+{% set events = [] %} -

There is also information about events that I’ve attended and spoken at on my Lanyrd and Joind.in profiles.

+{% for talk in data.talks %} + {% for event in talk.events %} + {% set event = event|merge({ talk: talk }) %} + {% set events = events|merge([event]) %} + {% endfor %} +{% endfor %} -{% set now = 'now'|date('U') %} - -{% include "talks-table" with { talks: data.talks } %} - - +{% for event in events|sortbyfield('date')|reverse %} + {{ event.title }}
+ {{ event.date }}
+ {{ event.talk.title }}
+ {{ event.talk.url }}

+{% endfor %}