From 0bf1abbd6b72a9fc2fe1452278a4f35f942c3c9b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 11 Jan 2024 20:52:18 +0000 Subject: [PATCH] Move assets to an S3 bucket --- app/config/sculpin_site.yml | 41 +++++++++--------- app/config/sculpin_site_prod.yml | 1 + source/_daily_emails/2022-10-17.md | 2 +- source/_daily_emails/2024-01-05.md | 4 +- source/_includes/about-me.html.twig | 2 +- source/_layouts/base.html.twig | 6 +-- source/_pages/press.md | 2 +- source/_talks/deploying-php-fabric.md | 2 +- source/_talks/drupal-8-module-development.md | 2 +- .../drupal-8-php-libraries-drupalorg-api.md | 2 +- .../_talks/getting-your-data-into-drupal-8.md | 2 +- .../_talks/taking-flight-with-tailwind-css.md | 2 +- source/_talks/tdd-test-driven-drupal.md | 2 +- .../things-you-should-know-about-php.md | 2 +- source/{ => assets}/images/14-drupalorg.jpg | Bin .../images/badges/acquia-cloud-pro.png | Bin .../images/badges/acquia-d8-back-end.png | Bin .../images/badges/acquia-d8-developer.png | Bin .../images/badges/acquia-d8-front-end.png | Bin .../images/badges/acquia-d8-grand-master.png | Bin .../images/badges/da-individual-member.png | Bin .../{ => assets}/images/badges/drupal-8.jpg | Bin .../badges/drupal-association-member.svg | 0 .../images/badges/drupal-dev-days-2018.png | Bin .../images/badges/drupalcares-supporter.svg | 0 source/{ => assets}/images/badges/phpnw17.png | Bin .../commerce-stripe-error/remote-id-table.png | Bin .../blog/continuous-integration-spiderman.jpg | Bin .../blog/custom-module-as-a-feature.png | Bin .../images/blog/docker-xdebug.png | Bin .../images/blog/docksal-phpunit-command/1.gif | Bin .../images/blog/docksal-phpunit-command/2.gif | Bin .../images/blog/docksal-phpunit-command/3.gif | Bin .../images/blog/drupal-meetups-twitterbot.png | Bin .../blog/drupal-symfony-server/terminal.png | Bin .../blog/drupalcamp-bristol-17-logo.jpg | Bin .../images/blog/drupalcamp-dublin.jpg | Bin .../blog/drupalvm-generate-example-2.gif | Bin .../images/blog/drupalvm-generate-example.gif | Bin .../images/blog/drupalvm-generate-release.png | Bin .../images/blog/drupalvm-generate-repo.png | Bin .../images/blog/events-drupal-8/1.png | Bin .../images/blog/events-drupal-8/1_.png | Bin .../blog/forked-github-repo-commits.png | Bin .../images/blog/git-format-patch.png | Bin .../blog/github-fork-rebase-phpstorm.png | Bin .../{ => assets}/images/blog/github-pages.png | Bin .../images/blog/jackson-octocat.png | Bin .../images/blog/minimum-drupal-version-d7.png | Bin .../blog/my-commit-to-the-rebased-branch.png | Bin .../images/blog/neovim-xdebug-breakpoint.png | Bin .../images/blog/neovim-xdebug-dap.png | Bin .../images/blog/nginx-redirect-with-args.gif | Bin .../drupal-8-users-field-data-table.png | Bin .../blog/oliverdavies-uk-jenkins-git-poll.png | Bin .../blog/oliverdavies-uk-jenkins-git-repo.png | Bin .../oliverdavies-uk-jenkins-git-timer.png | Bin .../blog/oliverdavies-uk-jenkins-shell.png | Bin ...ode-options-refactor-tests-new-passing.png | Bin .../cli-interpreter-1.png | Bin .../cli-interpreter-2.png | Bin .../cli-interpreter-3.png | Bin .../phpstorm-phpunit-docksal/deployment-1.png | Bin .../phpstorm-phpunit-docksal/deployment-2.png | Bin .../phpstorm-phpunit-docksal/deployment-3.png | Bin .../keyboard-shortcuts-1.png | Bin .../keyboard-shortcuts-2.png | Bin .../phpstorm-phpunit-docksal/phpunit-1.png | Bin .../phpstorm-phpunit-docksal/phpunit-2.png | Bin .../phpstorm-phpunit-docksal/phpunit-3.png | Bin .../phpstorm-phpunit-docksal/phpunit-4.png | Bin .../running-tests-1.png | Bin .../running-tests-2.png | Bin .../test-failure-1.png | Bin .../test-failure-2.png | Bin .../cms-philly-logo.png | Bin .../images/blog/private-message-queue.png | Bin .../adding-keyboard-shortcut-1.png | Bin .../adding-keyboard-shortcut-2.png | Bin .../find-action.png | Bin .../open-recent.png | Bin .../welcome-screen.png | Bin .../1-applications-grid.png | Bin .../2-applications-list.png | Bin .../3-environments.png | Bin .../4-environment.png | Bin .../drupal-message.png | Bin .../skip-link.png | Bin .../original.png | Bin .../rebuilt-desktop.png | Bin .../rebuilt-mobile.png | Bin .../proxy.png | Bin .../terminal.png | Bin .../drupalcon-schedule.jpg | Bin .../{ => assets}/images/blog/tdd-drupal-1.png | Bin .../{ => assets}/images/blog/tdd-drupal-2.png | Bin .../{ => assets}/images/blog/tdd-drupal-3.png | Bin .../{ => assets}/images/blog/tdd-drupal-4.png | Bin .../running-tests.png | Bin .../lead.jpg | Bin .../using-tailwind-drupal/important-1.png | Bin .../using-tailwind-drupal/important-2.png | Bin .../blog/using-tailwind-drupal/prefix-1.png | Bin .../blog/using-tailwind-drupal/prefix-2.png | Bin .../images/experience/appnovation.png | Bin .../images/experience/cti-digital.png | Bin .../images/experience/develop_me.svg | 0 .../images/experience/drupal-association.png | Bin .../images/experience/horse-and-country.jpg | Bin .../{ => assets}/images/experience/inviqa.jpg | Bin .../images/experience/lab-class.png | Bin .../images/experience/microserve.png | Bin .../images/experience/nomensa.png | Bin .../images/experience/precedent.jpg | Bin .../images/experience/proctors.jpg | Bin source/{ => assets}/images/loading.gif | Bin source/{ => assets}/images/me-phpnw.png | Bin source/{ => assets}/images/me-precedent.jpg | Bin .../images/meetups/accessible-bristol.png | Bin .../images/meetups/drupal-bristol.jpeg | Bin .../images/meetups/drupalcamp-bristol.png | Bin source/{ => assets}/images/meetups/nwdug.jpg | Bin source/{ => assets}/images/meetups/phpnw.gif | Bin source/{ => assets}/images/meetups/phpnw.jpg | Bin source/{ => assets}/images/meetups/phpsw.jpeg | Bin source/{ => assets}/images/meetups/swdug.png | Bin source/{ => assets}/images/meetups/swlug.png | Bin .../images/meetups/unified-diff.png | Bin source/{ => assets}/images/od-logo.jpg | Bin source/{ => assets}/images/php-neovim-1.png | Bin source/{ => assets}/images/php-neovim-2.png | Bin .../{ => assets}/images/sculpin-jackson.png | Bin .../images/talks/dancing-for-drupal.png | Bin .../{ => assets}/images/talks/dclondon16.png | Bin .../images/talks/deploying-php-fabric.png | Bin source/{ => assets}/images/talks/drupal-8.png | Bin .../talks/drupal-rejoining-php-herd.png | Bin .../images/talks/drupal-vm-generator.png | Bin .../talks/drupal-vm-meet-symfony-console.png | Bin .../talks/drupalorg-2014-retrospective.png | Bin .../images/talks/drush-make-composer-2.png | Bin .../images/talks/drush-make-composer.png | Bin .../images/talks/drush-make-drupalbristol.png | Bin .../drush-make-is-dead-long-live-composer.png | Bin .../images/talks/fabric-drupal.png | Bin .../talks/getting-your-data-into-drupal-8.png | Bin source/{ => assets}/images/talks/git-flow.png | Bin .../images/talks/having-fun-drupalorg-api.png | Bin .../talks/it-all-started-with-a-patch.png | Bin .../images/talks/laravel-collections.png | Bin .../images/talks/logos/drupal-bristol.jpg | Bin .../talks/logos/drupalcamp-brighton-2015.png | Bin .../talks/logos/drupalcamp-bristol-2016.png | Bin .../talks/logos/drupalcamp-london-2014.png | Bin .../talks/logos/drupalcamp-london-2015.png | Bin .../talks/logos/drupalcamp-london-2017.png | Bin .../talks/logos/drupalcamp-north-2015.png | Bin .../images/talks/logos/nomad-php.png | Bin .../images/talks/logos/nwdug.jpeg | Bin .../talks/logos/php-south-coast-2016.png | Bin .../{ => assets}/images/talks/logos/phpsw.png | Bin .../{ => assets}/images/talks/logos/swdug.png | Bin .../images/talks/logos/umbristol.jpeg | Bin .../images/talks/logos/unified-diff.png | Bin .../modern-drupal-development-composer.png | Bin .../images/talks/static-websites-sculpin.png | Bin .../images/talks/taking-flight-tailwind.jpg | Bin .../images/talks/test-drive-twig-sculpin.png | Bin .../talks/test-driven-drupal-development.png | Bin .../things-you-should-know-about-php.png | Bin source/images/social-avatar.jpg | Bin 22247 -> 0 bytes 171 files changed, 37 insertions(+), 35 deletions(-) rename source/{ => assets}/images/14-drupalorg.jpg (100%) rename source/{ => assets}/images/badges/acquia-cloud-pro.png (100%) rename source/{ => assets}/images/badges/acquia-d8-back-end.png (100%) rename source/{ => assets}/images/badges/acquia-d8-developer.png (100%) rename source/{ => assets}/images/badges/acquia-d8-front-end.png (100%) rename source/{ => assets}/images/badges/acquia-d8-grand-master.png (100%) rename source/{ => assets}/images/badges/da-individual-member.png (100%) rename source/{ => assets}/images/badges/drupal-8.jpg (100%) rename source/{ => assets}/images/badges/drupal-association-member.svg (100%) rename source/{ => assets}/images/badges/drupal-dev-days-2018.png (100%) rename source/{ => assets}/images/badges/drupalcares-supporter.svg (100%) rename source/{ => assets}/images/badges/phpnw17.png (100%) rename source/{ => assets}/images/blog/commerce-stripe-error/remote-id-table.png (100%) rename source/{ => assets}/images/blog/continuous-integration-spiderman.jpg (100%) rename source/{ => assets}/images/blog/custom-module-as-a-feature.png (100%) rename source/{ => assets}/images/blog/docker-xdebug.png (100%) rename source/{ => assets}/images/blog/docksal-phpunit-command/1.gif (100%) rename source/{ => assets}/images/blog/docksal-phpunit-command/2.gif (100%) rename source/{ => assets}/images/blog/docksal-phpunit-command/3.gif (100%) rename source/{ => assets}/images/blog/drupal-meetups-twitterbot.png (100%) rename source/{ => assets}/images/blog/drupal-symfony-server/terminal.png (100%) rename source/{ => assets}/images/blog/drupalcamp-bristol-17-logo.jpg (100%) rename source/{ => assets}/images/blog/drupalcamp-dublin.jpg (100%) rename source/{ => assets}/images/blog/drupalvm-generate-example-2.gif (100%) rename source/{ => assets}/images/blog/drupalvm-generate-example.gif (100%) rename source/{ => assets}/images/blog/drupalvm-generate-release.png (100%) rename source/{ => assets}/images/blog/drupalvm-generate-repo.png (100%) rename source/{ => assets}/images/blog/events-drupal-8/1.png (100%) rename source/{ => assets}/images/blog/events-drupal-8/1_.png (100%) rename source/{ => assets}/images/blog/forked-github-repo-commits.png (100%) rename source/{ => assets}/images/blog/git-format-patch.png (100%) rename source/{ => assets}/images/blog/github-fork-rebase-phpstorm.png (100%) rename source/{ => assets}/images/blog/github-pages.png (100%) rename source/{ => assets}/images/blog/jackson-octocat.png (100%) rename source/{ => assets}/images/blog/minimum-drupal-version-d7.png (100%) rename source/{ => assets}/images/blog/my-commit-to-the-rebased-branch.png (100%) rename source/{ => assets}/images/blog/neovim-xdebug-breakpoint.png (100%) rename source/{ => assets}/images/blog/neovim-xdebug-dap.png (100%) rename source/{ => assets}/images/blog/nginx-redirect-with-args.gif (100%) rename source/{ => assets}/images/blog/null-users-system-users/drupal-8-users-field-data-table.png (100%) rename source/{ => assets}/images/blog/oliverdavies-uk-jenkins-git-poll.png (100%) rename source/{ => assets}/images/blog/oliverdavies-uk-jenkins-git-repo.png (100%) rename source/{ => assets}/images/blog/oliverdavies-uk-jenkins-git-timer.png (100%) rename source/{ => assets}/images/blog/oliverdavies-uk-jenkins-shell.png (100%) rename source/{ => assets}/images/blog/override-node-options-refactor-tests-new-passing.png (100%) rename source/{ => assets}/images/blog/phpstorm-phpunit-docksal/cli-interpreter-1.png (100%) rename source/{ => assets}/images/blog/phpstorm-phpunit-docksal/cli-interpreter-2.png (100%) rename source/{ => assets}/images/blog/phpstorm-phpunit-docksal/cli-interpreter-3.png (100%) rename source/{ => assets}/images/blog/phpstorm-phpunit-docksal/deployment-1.png (100%) rename source/{ => assets}/images/blog/phpstorm-phpunit-docksal/deployment-2.png (100%) rename source/{ => assets}/images/blog/phpstorm-phpunit-docksal/deployment-3.png (100%) rename source/{ => assets}/images/blog/phpstorm-phpunit-docksal/keyboard-shortcuts-1.png (100%) rename source/{ => assets}/images/blog/phpstorm-phpunit-docksal/keyboard-shortcuts-2.png (100%) rename source/{ => assets}/images/blog/phpstorm-phpunit-docksal/phpunit-1.png (100%) rename source/{ => assets}/images/blog/phpstorm-phpunit-docksal/phpunit-2.png (100%) rename source/{ => assets}/images/blog/phpstorm-phpunit-docksal/phpunit-3.png (100%) rename source/{ => assets}/images/blog/phpstorm-phpunit-docksal/phpunit-4.png (100%) rename source/{ => assets}/images/blog/phpstorm-phpunit-docksal/running-tests-1.png (100%) rename source/{ => assets}/images/blog/phpstorm-phpunit-docksal/running-tests-2.png (100%) rename source/{ => assets}/images/blog/phpstorm-phpunit-docksal/test-failure-1.png (100%) rename source/{ => assets}/images/blog/phpstorm-phpunit-docksal/test-failure-2.png (100%) rename source/{ => assets}/images/blog/presenting-on-tailwind-css-and-ansible-at-cms-philly/cms-philly-logo.png (100%) rename source/{ => assets}/images/blog/private-message-queue.png (100%) rename source/{ => assets}/images/blog/quick-project-switching-phpstorm/adding-keyboard-shortcut-1.png (100%) rename source/{ => assets}/images/blog/quick-project-switching-phpstorm/adding-keyboard-shortcut-2.png (100%) rename source/{ => assets}/images/blog/quick-project-switching-phpstorm/find-action.png (100%) rename source/{ => assets}/images/blog/quick-project-switching-phpstorm/open-recent.png (100%) rename source/{ => assets}/images/blog/quick-project-switching-phpstorm/welcome-screen.png (100%) rename source/{ => assets}/images/blog/rebuilding-acquia-vue-tailwind/1-applications-grid.png (100%) rename source/{ => assets}/images/blog/rebuilding-acquia-vue-tailwind/2-applications-list.png (100%) rename source/{ => assets}/images/blog/rebuilding-acquia-vue-tailwind/3-environments.png (100%) rename source/{ => assets}/images/blog/rebuilding-acquia-vue-tailwind/4-environment.png (100%) rename source/{ => assets}/images/blog/rebuilding-bartik-vue-tailwind-part-2/drupal-message.png (100%) rename source/{ => assets}/images/blog/rebuilding-bartik-vue-tailwind-part-2/skip-link.png (100%) rename source/{ => assets}/images/blog/rebuilding-bartik-vue-tailwind/original.png (100%) rename source/{ => assets}/images/blog/rebuilding-bartik-vue-tailwind/rebuilt-desktop.png (100%) rename source/{ => assets}/images/blog/rebuilding-bartik-vue-tailwind/rebuilt-mobile.png (100%) rename source/{ => assets}/images/blog/running-drupal-with-symfony-local-server/proxy.png (100%) rename source/{ => assets}/images/blog/running-drupal-with-symfony-local-server/terminal.png (100%) rename source/{ => assets}/images/blog/speaking-drupalcon-amsterdam/drupalcon-schedule.jpg (100%) rename source/{ => assets}/images/blog/tdd-drupal-1.png (100%) rename source/{ => assets}/images/blog/tdd-drupal-2.png (100%) rename source/{ => assets}/images/blog/tdd-drupal-3.png (100%) rename source/{ => assets}/images/blog/tdd-drupal-4.png (100%) rename source/{ => assets}/images/blog/testing-tailwindcss-plugins/running-tests.png (100%) rename source/{ => assets}/images/blog/testing-workshop-drupalcamp-london/lead.jpg (100%) rename source/{ => assets}/images/blog/using-tailwind-drupal/important-1.png (100%) rename source/{ => assets}/images/blog/using-tailwind-drupal/important-2.png (100%) rename source/{ => assets}/images/blog/using-tailwind-drupal/prefix-1.png (100%) rename source/{ => assets}/images/blog/using-tailwind-drupal/prefix-2.png (100%) rename source/{ => assets}/images/experience/appnovation.png (100%) rename source/{ => assets}/images/experience/cti-digital.png (100%) rename source/{ => assets}/images/experience/develop_me.svg (100%) rename source/{ => assets}/images/experience/drupal-association.png (100%) rename source/{ => assets}/images/experience/horse-and-country.jpg (100%) rename source/{ => assets}/images/experience/inviqa.jpg (100%) rename source/{ => assets}/images/experience/lab-class.png (100%) rename source/{ => assets}/images/experience/microserve.png (100%) rename source/{ => assets}/images/experience/nomensa.png (100%) rename source/{ => assets}/images/experience/precedent.jpg (100%) rename source/{ => assets}/images/experience/proctors.jpg (100%) rename source/{ => assets}/images/loading.gif (100%) rename source/{ => assets}/images/me-phpnw.png (100%) rename source/{ => assets}/images/me-precedent.jpg (100%) rename source/{ => assets}/images/meetups/accessible-bristol.png (100%) rename source/{ => assets}/images/meetups/drupal-bristol.jpeg (100%) rename source/{ => assets}/images/meetups/drupalcamp-bristol.png (100%) rename source/{ => assets}/images/meetups/nwdug.jpg (100%) rename source/{ => assets}/images/meetups/phpnw.gif (100%) rename source/{ => assets}/images/meetups/phpnw.jpg (100%) rename source/{ => assets}/images/meetups/phpsw.jpeg (100%) rename source/{ => assets}/images/meetups/swdug.png (100%) rename source/{ => assets}/images/meetups/swlug.png (100%) rename source/{ => assets}/images/meetups/unified-diff.png (100%) rename source/{ => assets}/images/od-logo.jpg (100%) rename source/{ => assets}/images/php-neovim-1.png (100%) rename source/{ => assets}/images/php-neovim-2.png (100%) rename source/{ => assets}/images/sculpin-jackson.png (100%) rename source/{ => assets}/images/talks/dancing-for-drupal.png (100%) rename source/{ => assets}/images/talks/dclondon16.png (100%) rename source/{ => assets}/images/talks/deploying-php-fabric.png (100%) rename source/{ => assets}/images/talks/drupal-8.png (100%) rename source/{ => assets}/images/talks/drupal-rejoining-php-herd.png (100%) rename source/{ => assets}/images/talks/drupal-vm-generator.png (100%) rename source/{ => assets}/images/talks/drupal-vm-meet-symfony-console.png (100%) rename source/{ => assets}/images/talks/drupalorg-2014-retrospective.png (100%) rename source/{ => assets}/images/talks/drush-make-composer-2.png (100%) rename source/{ => assets}/images/talks/drush-make-composer.png (100%) rename source/{ => assets}/images/talks/drush-make-drupalbristol.png (100%) rename source/{ => assets}/images/talks/drush-make-is-dead-long-live-composer.png (100%) rename source/{ => assets}/images/talks/fabric-drupal.png (100%) rename source/{ => assets}/images/talks/getting-your-data-into-drupal-8.png (100%) rename source/{ => assets}/images/talks/git-flow.png (100%) rename source/{ => assets}/images/talks/having-fun-drupalorg-api.png (100%) rename source/{ => assets}/images/talks/it-all-started-with-a-patch.png (100%) rename source/{ => assets}/images/talks/laravel-collections.png (100%) rename source/{ => assets}/images/talks/logos/drupal-bristol.jpg (100%) rename source/{ => assets}/images/talks/logos/drupalcamp-brighton-2015.png (100%) rename source/{ => assets}/images/talks/logos/drupalcamp-bristol-2016.png (100%) rename source/{ => assets}/images/talks/logos/drupalcamp-london-2014.png (100%) rename source/{ => assets}/images/talks/logos/drupalcamp-london-2015.png (100%) rename source/{ => assets}/images/talks/logos/drupalcamp-london-2017.png (100%) rename source/{ => assets}/images/talks/logos/drupalcamp-north-2015.png (100%) rename source/{ => assets}/images/talks/logos/nomad-php.png (100%) rename source/{ => assets}/images/talks/logos/nwdug.jpeg (100%) rename source/{ => assets}/images/talks/logos/php-south-coast-2016.png (100%) rename source/{ => assets}/images/talks/logos/phpsw.png (100%) rename source/{ => assets}/images/talks/logos/swdug.png (100%) rename source/{ => assets}/images/talks/logos/umbristol.jpeg (100%) rename source/{ => assets}/images/talks/logos/unified-diff.png (100%) rename source/{ => assets}/images/talks/modern-drupal-development-composer.png (100%) rename source/{ => assets}/images/talks/static-websites-sculpin.png (100%) rename source/{ => assets}/images/talks/taking-flight-tailwind.jpg (100%) rename source/{ => assets}/images/talks/test-drive-twig-sculpin.png (100%) rename source/{ => assets}/images/talks/test-driven-drupal-development.png (100%) rename source/{ => assets}/images/talks/things-you-should-know-about-php.png (100%) delete mode 100644 source/images/social-avatar.jpg diff --git a/app/config/sculpin_site.yml b/app/config/sculpin_site.yml index 149c6e6f..2c2e0182 100644 --- a/app/config/sculpin_site.yml +++ b/app/config/sculpin_site.yml @@ -3,6 +3,7 @@ name: Oliver Davies slogan: Certified Drupal expert, Developer and Consultant email: oliver+website@oliverdavies.uk assets_version: 3 +assets_url: https://oliverdavies-uk.s3.eu-west-2.amazonaws.com meta: description: |- @@ -35,21 +36,21 @@ testimonials: name: Alexander Carr title: Full Stack Software Engineer at School of Code image: - url: /assets/images/recommendations/alexander-carr.jpg + url: '%site.assets_url%/assets/images/recommendations/alexander-carr.jpg' - text: | These emails are superb and make for very interesting reading. Thank you! name: Adam Nuttall title: Drupal Engineer image: - url: /assets/images/recommendations/adam-nuttall.jpg + url: '%site.assets_url%/assets/images/recommendations/adam-nuttall.jpg' - text: Oliver's approach to testing is a continual reminder of his commitment to delivering high-quality, bug-free, software. name: Mike Karthauser title: Senior Software Engineer image: - url: /assets/images/recommendations/mike-karthauser.jpg + url: '%site.assets_url%/assets/images/recommendations/mike-karthauser.jpg' - text: | I had the opportunity and good fortune to work with Oliver solving two problems that I was having on a Drupal Commerce site. I have done several Drupal sites using UberCart, but since it is deprecated, I chose to use Commerce. I had searched, posted to forums, and other normal means to find answers to my problems, to no response and to no avail. @@ -68,14 +69,14 @@ testimonials: name: Marcos Duran title: Senior Software Engineer image: - url: /assets/images/recommendations/marcos-duran.jpg + url: '%site.assets_url%/assets/images/recommendations/marcos-duran.jpg' - text: | I like the "$ git log -S" and "$ git log --grep" commands, will definitely be using these, thanks! name: Stephen Mulvihill title: Solutions Architect image: - url: /assets/images/recommendations/stephen-mulvihill.jpg + url: '%site.assets_url%/assets/images/recommendations/stephen-mulvihill.jpg' - text: | Just wanted to say that your blog is amazing <3 I absolutely love it and usually share it with colleagues and some of the kids at my Code Club. @@ -84,7 +85,7 @@ testimonials: name: Patty O'Callaghan title: Tech Lead image: - url: /assets/images/recommendations/patty-ocallaghan.jpg + url: '%site.assets_url%/assets/images/recommendations/patty-ocallaghan.jpg' - text: | I've wanted to explore testing for a while, but as a PHP developer with 10 years of Drupal experience who'd written next to no tests, I really needed guidance. Oliver's expertise in testing and TDD motivated me to seek his help. @@ -98,7 +99,7 @@ testimonials: title: Senior Drupal Developer url: https://www.playingwithpixels.co.uk image: - url: /assets/images/recommendations/tawny.jpg + url: '%site.assets_url%/assets/images/recommendations/tawny.jpg' - text: | I've worked with Oliver for a number of years on B2C and B2B web projects and he has always demonstrated himself to be an expert in his field. @@ -110,7 +111,7 @@ testimonials: title: Director, Bastion Insurance url: https://www.bastioninsurance.co.uk image: - url: /assets/images/recommendations/joe-howell.jpg + url: '%site.assets_url%/assets/images/recommendations/joe-howell.jpg' - text: | We use Oliver for maintaining a couple of Drupal sites for which we no longer have the skills ourselves. We became aware of Oliver through his work in the Drupal community, and about a year ago we approached him to help us with the deep dive aspects of maintaining and developing Drupal sites. He's been really helpful and very responsive. Much appreciated! @@ -118,7 +119,7 @@ testimonials: title: Senior Systems Administrator at the University of Bristol url: https://bristol.ac.uk image: - url: /assets/images/recommendations/jon-hallett.jpeg + url: '%site.assets_url%/assets/images/recommendations/jon-hallett.jpeg' - text: | For over a decade we have worked with Oliver on a number of different projects. Initially our collaboration consisted of web maintenance and troubleshooting but we soon tapped Oliver to design, build and maintain a custom awards site which includes both submission and judging functionality. Oliver has deep and wide-ranging skills and I would certainly recommend his services! @@ -126,7 +127,7 @@ testimonials: title: Cofounder url: https://www.daylightbooks.org image: - url: /assets/images/recommendations/michael-itkoff.jpg + url: '%site.assets_url%/assets/images/recommendations/michael-itkoff.jpg' - text: | Working with Oliver on the Seren website has been easy and beneficial. @@ -142,7 +143,7 @@ testimonials: title: Publisher at Poetry Wales Press Ltd (Seren Books) url: https://www.serenbooks.com image: - url: /assets/images/recommendations/mick-felton.jpg + url: '%site.assets_url%/assets/images/recommendations/mick-felton.jpg' - text: | Oliver is a pleasure to work with, and I would engage him again without hesitation. He communicates regularly, ensures that he meets requirements, and suggests improvements to the potential solutions to the brief. @@ -150,7 +151,7 @@ testimonials: title: Director at Rohallion url: https://rohallion.agency image: - url: /assets/images/recommendations/duncan.jpeg + url: '%site.assets_url%/assets/images/recommendations/duncan.jpeg' - text: | A fantastic and highly knowledgeable Drupal Developer. Oliver saved a struggling Drupal project with his wealth of Drupal experience. @@ -158,7 +159,7 @@ testimonials: title: Web Development Manager url: ~ image: - url: /assets/images/recommendations/adam.jpeg + url: '%site.assets_url%/assets/images/recommendations/adam.jpeg' - text: | I had the pleasure of working with Oliver whilst building the first version of our drupal based intranet. His knowledge of Drupal and the wider infrastructure required to run a site was really invaluable. @@ -170,7 +171,7 @@ testimonials: title: Web Dev Manager / DevOps / Team Manager at Admiral Group Plc url: https://admiral.com image: - url: /assets/images/recommendations/huw.jpeg + url: '%site.assets_url%/assets/images/recommendations/huw.jpeg' - text: | Oliver really knows his stuff. Whether you are just starting out or looking to take your knowledge to the next level, his patient and clear way of explaining will help get you there. @@ -178,7 +179,7 @@ testimonials: title: Head of Web Development url: ~ image: - url: /assets/images/recommendations/scott-euser.jpg + url: '%site.assets_url%/assets/images/recommendations/scott-euser.jpg' - text: | Oliver was great to work with. He has expert knowledge with Drupal and delivered exactly what we were looking for on time. He's understanding, friendly and easy to get along with. I would enjoy working with him again in the future. @@ -193,7 +194,7 @@ testimonials: title: Senior Drupal Developer at Microserve url: ~ image: - url: /assets/images/recommendations/alan.jpeg + url: '%site.assets_url%/assets/images/recommendations/alan.jpeg' - text: | Oliver has been an outstanding contributor to the Drupal Association team. He is a talented developer who writes great code and applies his curiosity and love of learning to every project. He is also a fantastic team member, who gives to the team as much as he gets. @@ -203,7 +204,7 @@ testimonials: title: Executive Director at the Drupal Association url: https://www.drupal.org/association image: - url: /assets/images/recommendations/holly-ross.png + url: '%site.assets_url%/assets/images/recommendations/holly-ross.png' - text: | @@ -214,7 +215,7 @@ testimonials: title: CTO at Drupal Association url: https://joshuami.com image: - url: /assets/images/recommendations/josh-mitchell.png + url: '%site.assets_url%/assets/images/recommendations/josh-mitchell.png' - text: | Oliver was fantastic to work with - pro-active and highly responsive, he worked well remotely and as part of a project team. His understanding of the project requirement(s) and ability to translate it into working code was essential and he delivered. @@ -222,7 +223,7 @@ testimonials: title: Director of Business Development at Tincan url: ~ image: - url: /assets/images/recommendations/brian-healy.png + url: '%site.assets_url%/assets/images/recommendations/brian-healy.png' - text: | Oliver is an amazing colleague, he's professional, full of knowledge and I could not recommend him more. @@ -230,7 +231,7 @@ testimonials: title: Developer at Microserve url: ~ image: - url: /assets/images/recommendations/chris-jarvis.jpg + url: '%site.assets_url%/assets/images/recommendations/chris-jarvis.jpg' - text: | Oliver is seasoned Drupal and all round highly skilled and experienced web developer. I have worked with Oliver on an important project where he was reliable, prompt and ensured strict client deadline delivery and confidentiality at all times. diff --git a/app/config/sculpin_site_prod.yml b/app/config/sculpin_site_prod.yml index fe9ea9be..0bbbc874 100644 --- a/app/config/sculpin_site_prod.yml +++ b/app/config/sculpin_site_prod.yml @@ -1,3 +1,4 @@ imports: - sculpin_site.yml url: https://www.oliverdavies.uk +assets_url: https://oliverdavies-uk.s3.eu-west-2.amazonaws.com diff --git a/source/_daily_emails/2022-10-17.md b/source/_daily_emails/2022-10-17.md index 33c12d6c..a570ab03 100644 --- a/source/_daily_emails/2022-10-17.md +++ b/source/_daily_emails/2022-10-17.md @@ -6,7 +6,7 @@ permalink: 'archive/2022/10/17/14-years-drupalorg' Today I saw that my Drupal.org profile is showing that I’ve been on that website for 14 years. -![A screenshot of my Drupal.org profile showing "On Drupal.org for 14 years 1 hour".](/images/14-drupalorg.jpg) +![A screenshot of my Drupal.org profile showing "On Drupal.org for 14 years 1 hour".]({{site.assets_url}}/assets/images/14-drupalorg.jpg) Drupal.org is the online home of the open-source Drupal CMS project, and where I registered to ask questions on the forums as I started to learn Drupal. More recently, it’s been where I’ve uploaded and maintain my own contributed projects and contribute patches to others, including Drupal core. diff --git a/source/_daily_emails/2024-01-05.md b/source/_daily_emails/2024-01-05.md index d8ec2b4d..344e4c88 100644 --- a/source/_daily_emails/2024-01-05.md +++ b/source/_daily_emails/2024-01-05.md @@ -16,11 +16,11 @@ Yesterday, I posted a screenshot from my [automated testing in Drupal email cour Here it is again: -![Screenshot of a lesson from my automated testing email course]({{site.url}}/images/php-neovim-1.png) +![Screenshot of a lesson from my automated testing email course]({{site.assets_url}}/assets/images/php-neovim-1.png) I also posted a screenshot of the accompanying code in my text editor, Neovim, which had a few likes. -![Screenshot of Drupal code in Neovim]({{site.url}}/images/php-neovim-2.png) +![Screenshot of Drupal code in Neovim]({{site.assets_url}}/assets/images/php-neovim-2.png) Since July 2021, I've used Neovim as my daily driver for writing all my code, which I spoke about during my [Working without Workspace talk]. diff --git a/source/_includes/about-me.html.twig b/source/_includes/about-me.html.twig index 823b4bfd..4fe0ab56 100644 --- a/source/_includes/about-me.html.twig +++ b/source/_includes/about-me.html.twig @@ -6,7 +6,7 @@
- Picture of Oliver + Picture of Oliver
diff --git a/source/_layouts/base.html.twig b/source/_layouts/base.html.twig index 0485d305..53045c97 100644 --- a/source/_layouts/base.html.twig +++ b/source/_layouts/base.html.twig @@ -6,15 +6,15 @@ - + - + - + diff --git a/source/_pages/press.md b/source/_pages/press.md index 0408a7aa..eb07af99 100644 --- a/source/_pages/press.md +++ b/source/_pages/press.md @@ -36,7 +36,7 @@ Oliver is a Software Developer and Drupal expert with {{ macros.yearsExperience ## Photo -![](/assets/images/social-avatar.jpg) +![]({{site.assets_url}}/assets/images/social-avatar.jpg) [drupal]: https://www.drupal.org/u/opdavies [github]: https://github.com/opdavies diff --git a/source/_talks/deploying-php-fabric.md b/source/_talks/deploying-php-fabric.md index 5189c8e3..02568dbd 100644 --- a/source/_talks/deploying-php-fabric.md +++ b/source/_talks/deploying-php-fabric.md @@ -12,7 +12,7 @@ meta: description: "You've built your PHP application, now learn how to deploy it with Fabric." type: website image: - url: /images/talks/deploying-php-fabric.png + url: '%site.assets_url%/assets/images/talks/deploying-php-fabric.png' width: 2560 height: 1440 type: image/png diff --git a/source/_talks/drupal-8-module-development.md b/source/_talks/drupal-8-module-development.md index ab540142..ad898421 100644 --- a/source/_talks/drupal-8-module-development.md +++ b/source/_talks/drupal-8-module-development.md @@ -15,7 +15,7 @@ meta: og: title: Getting Started with Drupal 8 Module Development image: - url: /images/talks/dclondon16.png + url: '%site.assets_url%/assets/images/talks/dclondon16.png' type: "image/png" height: 540 width: 960 diff --git a/source/_talks/drupal-8-php-libraries-drupalorg-api.md b/source/_talks/drupal-8-php-libraries-drupalorg-api.md index 3bf4f75c..8d4e4800 100644 --- a/source/_talks/drupal-8-php-libraries-drupalorg-api.md +++ b/source/_talks/drupal-8-php-libraries-drupalorg-api.md @@ -6,7 +6,7 @@ speakerdeck: ratio: "1.77777777777778" url: https://speakerdeck.com/opdavies/having-fun-with-drupal-8-php-libraries-and-the-drupal-dot-org-api image: - url: /images/talks/having-fun-drupalorg-api.png + url: '%site.assets_url%/assets/images/talks/having-fun-drupalorg-api.png' width: 2000 height: 1125 type: image/png diff --git a/source/_talks/getting-your-data-into-drupal-8.md b/source/_talks/getting-your-data-into-drupal-8.md index 602862b5..7d5d787e 100644 --- a/source/_talks/getting-your-data-into-drupal-8.md +++ b/source/_talks/getting-your-data-into-drupal-8.md @@ -15,7 +15,7 @@ meta: description: "How I migrated the Drupal Bristol website onto Drupal 8." type: website image: - url: /images/talks/getting-your-data-into-drupal-8.png + url: '%site.assets_url%/assets/images/talks/getting-your-data-into-drupal-8.png' width: 2560 height: 1440 type: image/png diff --git a/source/_talks/taking-flight-with-tailwind-css.md b/source/_talks/taking-flight-with-tailwind-css.md index 31dbd5b3..54749b08 100644 --- a/source/_talks/taking-flight-with-tailwind-css.md +++ b/source/_talks/taking-flight-with-tailwind-css.md @@ -99,7 +99,7 @@ meta: description: An introduction to utility CSS and Tailwind. type: website image: - url: "/images/talks/taking-flight-tailwind.jpg" + url: '%site.assets_url%/assets/images/talks/taking-flight-tailwind.jpg' width: 2560 height: 1440 type: "image/png" diff --git a/source/_talks/tdd-test-driven-drupal.md b/source/_talks/tdd-test-driven-drupal.md index 2dbf4af4..318c939b 100644 --- a/source/_talks/tdd-test-driven-drupal.md +++ b/source/_talks/tdd-test-driven-drupal.md @@ -9,7 +9,7 @@ video: type: youtube id: 81J0dPvqG-g image: - url: /images/talks/test-driven-drupal-development.png + url: '%site.assets_url%/assets/images/talks/test-driven-drupal-development.png' width: 2560 height: 1440 type: image/png diff --git a/source/_talks/things-you-should-know-about-php.md b/source/_talks/things-you-should-know-about-php.md index 36769138..67faf6ee 100644 --- a/source/_talks/things-you-should-know-about-php.md +++ b/source/_talks/things-you-should-know-about-php.md @@ -11,7 +11,7 @@ video: meta: og: image: - url: /images/talks/things-you-should-know-about-php.png + url: '%site.assets_url%/assets/images/talks/things-you-should-know-about-php.png' events: - name: Swansea Software Development Meetup (SSDC) location: Swansea, UK diff --git a/source/images/14-drupalorg.jpg b/source/assets/images/14-drupalorg.jpg similarity index 100% rename from source/images/14-drupalorg.jpg rename to source/assets/images/14-drupalorg.jpg diff --git a/source/images/badges/acquia-cloud-pro.png b/source/assets/images/badges/acquia-cloud-pro.png similarity index 100% rename from source/images/badges/acquia-cloud-pro.png rename to source/assets/images/badges/acquia-cloud-pro.png diff --git a/source/images/badges/acquia-d8-back-end.png b/source/assets/images/badges/acquia-d8-back-end.png similarity index 100% rename from source/images/badges/acquia-d8-back-end.png rename to source/assets/images/badges/acquia-d8-back-end.png diff --git a/source/images/badges/acquia-d8-developer.png b/source/assets/images/badges/acquia-d8-developer.png similarity index 100% rename from source/images/badges/acquia-d8-developer.png rename to source/assets/images/badges/acquia-d8-developer.png diff --git a/source/images/badges/acquia-d8-front-end.png b/source/assets/images/badges/acquia-d8-front-end.png similarity index 100% rename from source/images/badges/acquia-d8-front-end.png rename to source/assets/images/badges/acquia-d8-front-end.png diff --git a/source/images/badges/acquia-d8-grand-master.png b/source/assets/images/badges/acquia-d8-grand-master.png similarity index 100% rename from source/images/badges/acquia-d8-grand-master.png rename to source/assets/images/badges/acquia-d8-grand-master.png diff --git a/source/images/badges/da-individual-member.png b/source/assets/images/badges/da-individual-member.png similarity index 100% rename from source/images/badges/da-individual-member.png rename to source/assets/images/badges/da-individual-member.png diff --git a/source/images/badges/drupal-8.jpg b/source/assets/images/badges/drupal-8.jpg similarity index 100% rename from source/images/badges/drupal-8.jpg rename to source/assets/images/badges/drupal-8.jpg diff --git a/source/images/badges/drupal-association-member.svg b/source/assets/images/badges/drupal-association-member.svg similarity index 100% rename from source/images/badges/drupal-association-member.svg rename to source/assets/images/badges/drupal-association-member.svg diff --git a/source/images/badges/drupal-dev-days-2018.png b/source/assets/images/badges/drupal-dev-days-2018.png similarity index 100% rename from source/images/badges/drupal-dev-days-2018.png rename to source/assets/images/badges/drupal-dev-days-2018.png diff --git a/source/images/badges/drupalcares-supporter.svg b/source/assets/images/badges/drupalcares-supporter.svg similarity index 100% rename from source/images/badges/drupalcares-supporter.svg rename to source/assets/images/badges/drupalcares-supporter.svg diff --git a/source/images/badges/phpnw17.png b/source/assets/images/badges/phpnw17.png similarity index 100% rename from source/images/badges/phpnw17.png rename to source/assets/images/badges/phpnw17.png diff --git a/source/images/blog/commerce-stripe-error/remote-id-table.png b/source/assets/images/blog/commerce-stripe-error/remote-id-table.png similarity index 100% rename from source/images/blog/commerce-stripe-error/remote-id-table.png rename to source/assets/images/blog/commerce-stripe-error/remote-id-table.png diff --git a/source/images/blog/continuous-integration-spiderman.jpg b/source/assets/images/blog/continuous-integration-spiderman.jpg similarity index 100% rename from source/images/blog/continuous-integration-spiderman.jpg rename to source/assets/images/blog/continuous-integration-spiderman.jpg diff --git a/source/images/blog/custom-module-as-a-feature.png b/source/assets/images/blog/custom-module-as-a-feature.png similarity index 100% rename from source/images/blog/custom-module-as-a-feature.png rename to source/assets/images/blog/custom-module-as-a-feature.png diff --git a/source/images/blog/docker-xdebug.png b/source/assets/images/blog/docker-xdebug.png similarity index 100% rename from source/images/blog/docker-xdebug.png rename to source/assets/images/blog/docker-xdebug.png diff --git a/source/images/blog/docksal-phpunit-command/1.gif b/source/assets/images/blog/docksal-phpunit-command/1.gif similarity index 100% rename from source/images/blog/docksal-phpunit-command/1.gif rename to source/assets/images/blog/docksal-phpunit-command/1.gif diff --git a/source/images/blog/docksal-phpunit-command/2.gif b/source/assets/images/blog/docksal-phpunit-command/2.gif similarity index 100% rename from source/images/blog/docksal-phpunit-command/2.gif rename to source/assets/images/blog/docksal-phpunit-command/2.gif diff --git a/source/images/blog/docksal-phpunit-command/3.gif b/source/assets/images/blog/docksal-phpunit-command/3.gif similarity index 100% rename from source/images/blog/docksal-phpunit-command/3.gif rename to source/assets/images/blog/docksal-phpunit-command/3.gif diff --git a/source/images/blog/drupal-meetups-twitterbot.png b/source/assets/images/blog/drupal-meetups-twitterbot.png similarity index 100% rename from source/images/blog/drupal-meetups-twitterbot.png rename to source/assets/images/blog/drupal-meetups-twitterbot.png diff --git a/source/images/blog/drupal-symfony-server/terminal.png b/source/assets/images/blog/drupal-symfony-server/terminal.png similarity index 100% rename from source/images/blog/drupal-symfony-server/terminal.png rename to source/assets/images/blog/drupal-symfony-server/terminal.png diff --git a/source/images/blog/drupalcamp-bristol-17-logo.jpg b/source/assets/images/blog/drupalcamp-bristol-17-logo.jpg similarity index 100% rename from source/images/blog/drupalcamp-bristol-17-logo.jpg rename to source/assets/images/blog/drupalcamp-bristol-17-logo.jpg diff --git a/source/images/blog/drupalcamp-dublin.jpg b/source/assets/images/blog/drupalcamp-dublin.jpg similarity index 100% rename from source/images/blog/drupalcamp-dublin.jpg rename to source/assets/images/blog/drupalcamp-dublin.jpg diff --git a/source/images/blog/drupalvm-generate-example-2.gif b/source/assets/images/blog/drupalvm-generate-example-2.gif similarity index 100% rename from source/images/blog/drupalvm-generate-example-2.gif rename to source/assets/images/blog/drupalvm-generate-example-2.gif diff --git a/source/images/blog/drupalvm-generate-example.gif b/source/assets/images/blog/drupalvm-generate-example.gif similarity index 100% rename from source/images/blog/drupalvm-generate-example.gif rename to source/assets/images/blog/drupalvm-generate-example.gif diff --git a/source/images/blog/drupalvm-generate-release.png b/source/assets/images/blog/drupalvm-generate-release.png similarity index 100% rename from source/images/blog/drupalvm-generate-release.png rename to source/assets/images/blog/drupalvm-generate-release.png diff --git a/source/images/blog/drupalvm-generate-repo.png b/source/assets/images/blog/drupalvm-generate-repo.png similarity index 100% rename from source/images/blog/drupalvm-generate-repo.png rename to source/assets/images/blog/drupalvm-generate-repo.png diff --git a/source/images/blog/events-drupal-8/1.png b/source/assets/images/blog/events-drupal-8/1.png similarity index 100% rename from source/images/blog/events-drupal-8/1.png rename to source/assets/images/blog/events-drupal-8/1.png diff --git a/source/images/blog/events-drupal-8/1_.png b/source/assets/images/blog/events-drupal-8/1_.png similarity index 100% rename from source/images/blog/events-drupal-8/1_.png rename to source/assets/images/blog/events-drupal-8/1_.png diff --git a/source/images/blog/forked-github-repo-commits.png b/source/assets/images/blog/forked-github-repo-commits.png similarity index 100% rename from source/images/blog/forked-github-repo-commits.png rename to source/assets/images/blog/forked-github-repo-commits.png diff --git a/source/images/blog/git-format-patch.png b/source/assets/images/blog/git-format-patch.png similarity index 100% rename from source/images/blog/git-format-patch.png rename to source/assets/images/blog/git-format-patch.png diff --git a/source/images/blog/github-fork-rebase-phpstorm.png b/source/assets/images/blog/github-fork-rebase-phpstorm.png similarity index 100% rename from source/images/blog/github-fork-rebase-phpstorm.png rename to source/assets/images/blog/github-fork-rebase-phpstorm.png diff --git a/source/images/blog/github-pages.png b/source/assets/images/blog/github-pages.png similarity index 100% rename from source/images/blog/github-pages.png rename to source/assets/images/blog/github-pages.png diff --git a/source/images/blog/jackson-octocat.png b/source/assets/images/blog/jackson-octocat.png similarity index 100% rename from source/images/blog/jackson-octocat.png rename to source/assets/images/blog/jackson-octocat.png diff --git a/source/images/blog/minimum-drupal-version-d7.png b/source/assets/images/blog/minimum-drupal-version-d7.png similarity index 100% rename from source/images/blog/minimum-drupal-version-d7.png rename to source/assets/images/blog/minimum-drupal-version-d7.png diff --git a/source/images/blog/my-commit-to-the-rebased-branch.png b/source/assets/images/blog/my-commit-to-the-rebased-branch.png similarity index 100% rename from source/images/blog/my-commit-to-the-rebased-branch.png rename to source/assets/images/blog/my-commit-to-the-rebased-branch.png diff --git a/source/images/blog/neovim-xdebug-breakpoint.png b/source/assets/images/blog/neovim-xdebug-breakpoint.png similarity index 100% rename from source/images/blog/neovim-xdebug-breakpoint.png rename to source/assets/images/blog/neovim-xdebug-breakpoint.png diff --git a/source/images/blog/neovim-xdebug-dap.png b/source/assets/images/blog/neovim-xdebug-dap.png similarity index 100% rename from source/images/blog/neovim-xdebug-dap.png rename to source/assets/images/blog/neovim-xdebug-dap.png diff --git a/source/images/blog/nginx-redirect-with-args.gif b/source/assets/images/blog/nginx-redirect-with-args.gif similarity index 100% rename from source/images/blog/nginx-redirect-with-args.gif rename to source/assets/images/blog/nginx-redirect-with-args.gif diff --git a/source/images/blog/null-users-system-users/drupal-8-users-field-data-table.png b/source/assets/images/blog/null-users-system-users/drupal-8-users-field-data-table.png similarity index 100% rename from source/images/blog/null-users-system-users/drupal-8-users-field-data-table.png rename to source/assets/images/blog/null-users-system-users/drupal-8-users-field-data-table.png diff --git a/source/images/blog/oliverdavies-uk-jenkins-git-poll.png b/source/assets/images/blog/oliverdavies-uk-jenkins-git-poll.png similarity index 100% rename from source/images/blog/oliverdavies-uk-jenkins-git-poll.png rename to source/assets/images/blog/oliverdavies-uk-jenkins-git-poll.png diff --git a/source/images/blog/oliverdavies-uk-jenkins-git-repo.png b/source/assets/images/blog/oliverdavies-uk-jenkins-git-repo.png similarity index 100% rename from source/images/blog/oliverdavies-uk-jenkins-git-repo.png rename to source/assets/images/blog/oliverdavies-uk-jenkins-git-repo.png diff --git a/source/images/blog/oliverdavies-uk-jenkins-git-timer.png b/source/assets/images/blog/oliverdavies-uk-jenkins-git-timer.png similarity index 100% rename from source/images/blog/oliverdavies-uk-jenkins-git-timer.png rename to source/assets/images/blog/oliverdavies-uk-jenkins-git-timer.png diff --git a/source/images/blog/oliverdavies-uk-jenkins-shell.png b/source/assets/images/blog/oliverdavies-uk-jenkins-shell.png similarity index 100% rename from source/images/blog/oliverdavies-uk-jenkins-shell.png rename to source/assets/images/blog/oliverdavies-uk-jenkins-shell.png diff --git a/source/images/blog/override-node-options-refactor-tests-new-passing.png b/source/assets/images/blog/override-node-options-refactor-tests-new-passing.png similarity index 100% rename from source/images/blog/override-node-options-refactor-tests-new-passing.png rename to source/assets/images/blog/override-node-options-refactor-tests-new-passing.png diff --git a/source/images/blog/phpstorm-phpunit-docksal/cli-interpreter-1.png b/source/assets/images/blog/phpstorm-phpunit-docksal/cli-interpreter-1.png similarity index 100% rename from source/images/blog/phpstorm-phpunit-docksal/cli-interpreter-1.png rename to source/assets/images/blog/phpstorm-phpunit-docksal/cli-interpreter-1.png diff --git a/source/images/blog/phpstorm-phpunit-docksal/cli-interpreter-2.png b/source/assets/images/blog/phpstorm-phpunit-docksal/cli-interpreter-2.png similarity index 100% rename from source/images/blog/phpstorm-phpunit-docksal/cli-interpreter-2.png rename to source/assets/images/blog/phpstorm-phpunit-docksal/cli-interpreter-2.png diff --git a/source/images/blog/phpstorm-phpunit-docksal/cli-interpreter-3.png b/source/assets/images/blog/phpstorm-phpunit-docksal/cli-interpreter-3.png similarity index 100% rename from source/images/blog/phpstorm-phpunit-docksal/cli-interpreter-3.png rename to source/assets/images/blog/phpstorm-phpunit-docksal/cli-interpreter-3.png diff --git a/source/images/blog/phpstorm-phpunit-docksal/deployment-1.png b/source/assets/images/blog/phpstorm-phpunit-docksal/deployment-1.png similarity index 100% rename from source/images/blog/phpstorm-phpunit-docksal/deployment-1.png rename to source/assets/images/blog/phpstorm-phpunit-docksal/deployment-1.png diff --git a/source/images/blog/phpstorm-phpunit-docksal/deployment-2.png b/source/assets/images/blog/phpstorm-phpunit-docksal/deployment-2.png similarity index 100% rename from source/images/blog/phpstorm-phpunit-docksal/deployment-2.png rename to source/assets/images/blog/phpstorm-phpunit-docksal/deployment-2.png diff --git a/source/images/blog/phpstorm-phpunit-docksal/deployment-3.png b/source/assets/images/blog/phpstorm-phpunit-docksal/deployment-3.png similarity index 100% rename from source/images/blog/phpstorm-phpunit-docksal/deployment-3.png rename to source/assets/images/blog/phpstorm-phpunit-docksal/deployment-3.png diff --git a/source/images/blog/phpstorm-phpunit-docksal/keyboard-shortcuts-1.png b/source/assets/images/blog/phpstorm-phpunit-docksal/keyboard-shortcuts-1.png similarity index 100% rename from source/images/blog/phpstorm-phpunit-docksal/keyboard-shortcuts-1.png rename to source/assets/images/blog/phpstorm-phpunit-docksal/keyboard-shortcuts-1.png diff --git a/source/images/blog/phpstorm-phpunit-docksal/keyboard-shortcuts-2.png b/source/assets/images/blog/phpstorm-phpunit-docksal/keyboard-shortcuts-2.png similarity index 100% rename from source/images/blog/phpstorm-phpunit-docksal/keyboard-shortcuts-2.png rename to source/assets/images/blog/phpstorm-phpunit-docksal/keyboard-shortcuts-2.png diff --git a/source/images/blog/phpstorm-phpunit-docksal/phpunit-1.png b/source/assets/images/blog/phpstorm-phpunit-docksal/phpunit-1.png similarity index 100% rename from source/images/blog/phpstorm-phpunit-docksal/phpunit-1.png rename to source/assets/images/blog/phpstorm-phpunit-docksal/phpunit-1.png diff --git a/source/images/blog/phpstorm-phpunit-docksal/phpunit-2.png b/source/assets/images/blog/phpstorm-phpunit-docksal/phpunit-2.png similarity index 100% rename from source/images/blog/phpstorm-phpunit-docksal/phpunit-2.png rename to source/assets/images/blog/phpstorm-phpunit-docksal/phpunit-2.png diff --git a/source/images/blog/phpstorm-phpunit-docksal/phpunit-3.png b/source/assets/images/blog/phpstorm-phpunit-docksal/phpunit-3.png similarity index 100% rename from source/images/blog/phpstorm-phpunit-docksal/phpunit-3.png rename to source/assets/images/blog/phpstorm-phpunit-docksal/phpunit-3.png diff --git a/source/images/blog/phpstorm-phpunit-docksal/phpunit-4.png b/source/assets/images/blog/phpstorm-phpunit-docksal/phpunit-4.png similarity index 100% rename from source/images/blog/phpstorm-phpunit-docksal/phpunit-4.png rename to source/assets/images/blog/phpstorm-phpunit-docksal/phpunit-4.png diff --git a/source/images/blog/phpstorm-phpunit-docksal/running-tests-1.png b/source/assets/images/blog/phpstorm-phpunit-docksal/running-tests-1.png similarity index 100% rename from source/images/blog/phpstorm-phpunit-docksal/running-tests-1.png rename to source/assets/images/blog/phpstorm-phpunit-docksal/running-tests-1.png diff --git a/source/images/blog/phpstorm-phpunit-docksal/running-tests-2.png b/source/assets/images/blog/phpstorm-phpunit-docksal/running-tests-2.png similarity index 100% rename from source/images/blog/phpstorm-phpunit-docksal/running-tests-2.png rename to source/assets/images/blog/phpstorm-phpunit-docksal/running-tests-2.png diff --git a/source/images/blog/phpstorm-phpunit-docksal/test-failure-1.png b/source/assets/images/blog/phpstorm-phpunit-docksal/test-failure-1.png similarity index 100% rename from source/images/blog/phpstorm-phpunit-docksal/test-failure-1.png rename to source/assets/images/blog/phpstorm-phpunit-docksal/test-failure-1.png diff --git a/source/images/blog/phpstorm-phpunit-docksal/test-failure-2.png b/source/assets/images/blog/phpstorm-phpunit-docksal/test-failure-2.png similarity index 100% rename from source/images/blog/phpstorm-phpunit-docksal/test-failure-2.png rename to source/assets/images/blog/phpstorm-phpunit-docksal/test-failure-2.png diff --git a/source/images/blog/presenting-on-tailwind-css-and-ansible-at-cms-philly/cms-philly-logo.png b/source/assets/images/blog/presenting-on-tailwind-css-and-ansible-at-cms-philly/cms-philly-logo.png similarity index 100% rename from source/images/blog/presenting-on-tailwind-css-and-ansible-at-cms-philly/cms-philly-logo.png rename to source/assets/images/blog/presenting-on-tailwind-css-and-ansible-at-cms-philly/cms-philly-logo.png diff --git a/source/images/blog/private-message-queue.png b/source/assets/images/blog/private-message-queue.png similarity index 100% rename from source/images/blog/private-message-queue.png rename to source/assets/images/blog/private-message-queue.png diff --git a/source/images/blog/quick-project-switching-phpstorm/adding-keyboard-shortcut-1.png b/source/assets/images/blog/quick-project-switching-phpstorm/adding-keyboard-shortcut-1.png similarity index 100% rename from source/images/blog/quick-project-switching-phpstorm/adding-keyboard-shortcut-1.png rename to source/assets/images/blog/quick-project-switching-phpstorm/adding-keyboard-shortcut-1.png diff --git a/source/images/blog/quick-project-switching-phpstorm/adding-keyboard-shortcut-2.png b/source/assets/images/blog/quick-project-switching-phpstorm/adding-keyboard-shortcut-2.png similarity index 100% rename from source/images/blog/quick-project-switching-phpstorm/adding-keyboard-shortcut-2.png rename to source/assets/images/blog/quick-project-switching-phpstorm/adding-keyboard-shortcut-2.png diff --git a/source/images/blog/quick-project-switching-phpstorm/find-action.png b/source/assets/images/blog/quick-project-switching-phpstorm/find-action.png similarity index 100% rename from source/images/blog/quick-project-switching-phpstorm/find-action.png rename to source/assets/images/blog/quick-project-switching-phpstorm/find-action.png diff --git a/source/images/blog/quick-project-switching-phpstorm/open-recent.png b/source/assets/images/blog/quick-project-switching-phpstorm/open-recent.png similarity index 100% rename from source/images/blog/quick-project-switching-phpstorm/open-recent.png rename to source/assets/images/blog/quick-project-switching-phpstorm/open-recent.png diff --git a/source/images/blog/quick-project-switching-phpstorm/welcome-screen.png b/source/assets/images/blog/quick-project-switching-phpstorm/welcome-screen.png similarity index 100% rename from source/images/blog/quick-project-switching-phpstorm/welcome-screen.png rename to source/assets/images/blog/quick-project-switching-phpstorm/welcome-screen.png diff --git a/source/images/blog/rebuilding-acquia-vue-tailwind/1-applications-grid.png b/source/assets/images/blog/rebuilding-acquia-vue-tailwind/1-applications-grid.png similarity index 100% rename from source/images/blog/rebuilding-acquia-vue-tailwind/1-applications-grid.png rename to source/assets/images/blog/rebuilding-acquia-vue-tailwind/1-applications-grid.png diff --git a/source/images/blog/rebuilding-acquia-vue-tailwind/2-applications-list.png b/source/assets/images/blog/rebuilding-acquia-vue-tailwind/2-applications-list.png similarity index 100% rename from source/images/blog/rebuilding-acquia-vue-tailwind/2-applications-list.png rename to source/assets/images/blog/rebuilding-acquia-vue-tailwind/2-applications-list.png diff --git a/source/images/blog/rebuilding-acquia-vue-tailwind/3-environments.png b/source/assets/images/blog/rebuilding-acquia-vue-tailwind/3-environments.png similarity index 100% rename from source/images/blog/rebuilding-acquia-vue-tailwind/3-environments.png rename to source/assets/images/blog/rebuilding-acquia-vue-tailwind/3-environments.png diff --git a/source/images/blog/rebuilding-acquia-vue-tailwind/4-environment.png b/source/assets/images/blog/rebuilding-acquia-vue-tailwind/4-environment.png similarity index 100% rename from source/images/blog/rebuilding-acquia-vue-tailwind/4-environment.png rename to source/assets/images/blog/rebuilding-acquia-vue-tailwind/4-environment.png diff --git a/source/images/blog/rebuilding-bartik-vue-tailwind-part-2/drupal-message.png b/source/assets/images/blog/rebuilding-bartik-vue-tailwind-part-2/drupal-message.png similarity index 100% rename from source/images/blog/rebuilding-bartik-vue-tailwind-part-2/drupal-message.png rename to source/assets/images/blog/rebuilding-bartik-vue-tailwind-part-2/drupal-message.png diff --git a/source/images/blog/rebuilding-bartik-vue-tailwind-part-2/skip-link.png b/source/assets/images/blog/rebuilding-bartik-vue-tailwind-part-2/skip-link.png similarity index 100% rename from source/images/blog/rebuilding-bartik-vue-tailwind-part-2/skip-link.png rename to source/assets/images/blog/rebuilding-bartik-vue-tailwind-part-2/skip-link.png diff --git a/source/images/blog/rebuilding-bartik-vue-tailwind/original.png b/source/assets/images/blog/rebuilding-bartik-vue-tailwind/original.png similarity index 100% rename from source/images/blog/rebuilding-bartik-vue-tailwind/original.png rename to source/assets/images/blog/rebuilding-bartik-vue-tailwind/original.png diff --git a/source/images/blog/rebuilding-bartik-vue-tailwind/rebuilt-desktop.png b/source/assets/images/blog/rebuilding-bartik-vue-tailwind/rebuilt-desktop.png similarity index 100% rename from source/images/blog/rebuilding-bartik-vue-tailwind/rebuilt-desktop.png rename to source/assets/images/blog/rebuilding-bartik-vue-tailwind/rebuilt-desktop.png diff --git a/source/images/blog/rebuilding-bartik-vue-tailwind/rebuilt-mobile.png b/source/assets/images/blog/rebuilding-bartik-vue-tailwind/rebuilt-mobile.png similarity index 100% rename from source/images/blog/rebuilding-bartik-vue-tailwind/rebuilt-mobile.png rename to source/assets/images/blog/rebuilding-bartik-vue-tailwind/rebuilt-mobile.png diff --git a/source/images/blog/running-drupal-with-symfony-local-server/proxy.png b/source/assets/images/blog/running-drupal-with-symfony-local-server/proxy.png similarity index 100% rename from source/images/blog/running-drupal-with-symfony-local-server/proxy.png rename to source/assets/images/blog/running-drupal-with-symfony-local-server/proxy.png diff --git a/source/images/blog/running-drupal-with-symfony-local-server/terminal.png b/source/assets/images/blog/running-drupal-with-symfony-local-server/terminal.png similarity index 100% rename from source/images/blog/running-drupal-with-symfony-local-server/terminal.png rename to source/assets/images/blog/running-drupal-with-symfony-local-server/terminal.png diff --git a/source/images/blog/speaking-drupalcon-amsterdam/drupalcon-schedule.jpg b/source/assets/images/blog/speaking-drupalcon-amsterdam/drupalcon-schedule.jpg similarity index 100% rename from source/images/blog/speaking-drupalcon-amsterdam/drupalcon-schedule.jpg rename to source/assets/images/blog/speaking-drupalcon-amsterdam/drupalcon-schedule.jpg diff --git a/source/images/blog/tdd-drupal-1.png b/source/assets/images/blog/tdd-drupal-1.png similarity index 100% rename from source/images/blog/tdd-drupal-1.png rename to source/assets/images/blog/tdd-drupal-1.png diff --git a/source/images/blog/tdd-drupal-2.png b/source/assets/images/blog/tdd-drupal-2.png similarity index 100% rename from source/images/blog/tdd-drupal-2.png rename to source/assets/images/blog/tdd-drupal-2.png diff --git a/source/images/blog/tdd-drupal-3.png b/source/assets/images/blog/tdd-drupal-3.png similarity index 100% rename from source/images/blog/tdd-drupal-3.png rename to source/assets/images/blog/tdd-drupal-3.png diff --git a/source/images/blog/tdd-drupal-4.png b/source/assets/images/blog/tdd-drupal-4.png similarity index 100% rename from source/images/blog/tdd-drupal-4.png rename to source/assets/images/blog/tdd-drupal-4.png diff --git a/source/images/blog/testing-tailwindcss-plugins/running-tests.png b/source/assets/images/blog/testing-tailwindcss-plugins/running-tests.png similarity index 100% rename from source/images/blog/testing-tailwindcss-plugins/running-tests.png rename to source/assets/images/blog/testing-tailwindcss-plugins/running-tests.png diff --git a/source/images/blog/testing-workshop-drupalcamp-london/lead.jpg b/source/assets/images/blog/testing-workshop-drupalcamp-london/lead.jpg similarity index 100% rename from source/images/blog/testing-workshop-drupalcamp-london/lead.jpg rename to source/assets/images/blog/testing-workshop-drupalcamp-london/lead.jpg diff --git a/source/images/blog/using-tailwind-drupal/important-1.png b/source/assets/images/blog/using-tailwind-drupal/important-1.png similarity index 100% rename from source/images/blog/using-tailwind-drupal/important-1.png rename to source/assets/images/blog/using-tailwind-drupal/important-1.png diff --git a/source/images/blog/using-tailwind-drupal/important-2.png b/source/assets/images/blog/using-tailwind-drupal/important-2.png similarity index 100% rename from source/images/blog/using-tailwind-drupal/important-2.png rename to source/assets/images/blog/using-tailwind-drupal/important-2.png diff --git a/source/images/blog/using-tailwind-drupal/prefix-1.png b/source/assets/images/blog/using-tailwind-drupal/prefix-1.png similarity index 100% rename from source/images/blog/using-tailwind-drupal/prefix-1.png rename to source/assets/images/blog/using-tailwind-drupal/prefix-1.png diff --git a/source/images/blog/using-tailwind-drupal/prefix-2.png b/source/assets/images/blog/using-tailwind-drupal/prefix-2.png similarity index 100% rename from source/images/blog/using-tailwind-drupal/prefix-2.png rename to source/assets/images/blog/using-tailwind-drupal/prefix-2.png diff --git a/source/images/experience/appnovation.png b/source/assets/images/experience/appnovation.png similarity index 100% rename from source/images/experience/appnovation.png rename to source/assets/images/experience/appnovation.png diff --git a/source/images/experience/cti-digital.png b/source/assets/images/experience/cti-digital.png similarity index 100% rename from source/images/experience/cti-digital.png rename to source/assets/images/experience/cti-digital.png diff --git a/source/images/experience/develop_me.svg b/source/assets/images/experience/develop_me.svg similarity index 100% rename from source/images/experience/develop_me.svg rename to source/assets/images/experience/develop_me.svg diff --git a/source/images/experience/drupal-association.png b/source/assets/images/experience/drupal-association.png similarity index 100% rename from source/images/experience/drupal-association.png rename to source/assets/images/experience/drupal-association.png diff --git a/source/images/experience/horse-and-country.jpg b/source/assets/images/experience/horse-and-country.jpg similarity index 100% rename from source/images/experience/horse-and-country.jpg rename to source/assets/images/experience/horse-and-country.jpg diff --git a/source/images/experience/inviqa.jpg b/source/assets/images/experience/inviqa.jpg similarity index 100% rename from source/images/experience/inviqa.jpg rename to source/assets/images/experience/inviqa.jpg diff --git a/source/images/experience/lab-class.png b/source/assets/images/experience/lab-class.png similarity index 100% rename from source/images/experience/lab-class.png rename to source/assets/images/experience/lab-class.png diff --git a/source/images/experience/microserve.png b/source/assets/images/experience/microserve.png similarity index 100% rename from source/images/experience/microserve.png rename to source/assets/images/experience/microserve.png diff --git a/source/images/experience/nomensa.png b/source/assets/images/experience/nomensa.png similarity index 100% rename from source/images/experience/nomensa.png rename to source/assets/images/experience/nomensa.png diff --git a/source/images/experience/precedent.jpg b/source/assets/images/experience/precedent.jpg similarity index 100% rename from source/images/experience/precedent.jpg rename to source/assets/images/experience/precedent.jpg diff --git a/source/images/experience/proctors.jpg b/source/assets/images/experience/proctors.jpg similarity index 100% rename from source/images/experience/proctors.jpg rename to source/assets/images/experience/proctors.jpg diff --git a/source/images/loading.gif b/source/assets/images/loading.gif similarity index 100% rename from source/images/loading.gif rename to source/assets/images/loading.gif diff --git a/source/images/me-phpnw.png b/source/assets/images/me-phpnw.png similarity index 100% rename from source/images/me-phpnw.png rename to source/assets/images/me-phpnw.png diff --git a/source/images/me-precedent.jpg b/source/assets/images/me-precedent.jpg similarity index 100% rename from source/images/me-precedent.jpg rename to source/assets/images/me-precedent.jpg diff --git a/source/images/meetups/accessible-bristol.png b/source/assets/images/meetups/accessible-bristol.png similarity index 100% rename from source/images/meetups/accessible-bristol.png rename to source/assets/images/meetups/accessible-bristol.png diff --git a/source/images/meetups/drupal-bristol.jpeg b/source/assets/images/meetups/drupal-bristol.jpeg similarity index 100% rename from source/images/meetups/drupal-bristol.jpeg rename to source/assets/images/meetups/drupal-bristol.jpeg diff --git a/source/images/meetups/drupalcamp-bristol.png b/source/assets/images/meetups/drupalcamp-bristol.png similarity index 100% rename from source/images/meetups/drupalcamp-bristol.png rename to source/assets/images/meetups/drupalcamp-bristol.png diff --git a/source/images/meetups/nwdug.jpg b/source/assets/images/meetups/nwdug.jpg similarity index 100% rename from source/images/meetups/nwdug.jpg rename to source/assets/images/meetups/nwdug.jpg diff --git a/source/images/meetups/phpnw.gif b/source/assets/images/meetups/phpnw.gif similarity index 100% rename from source/images/meetups/phpnw.gif rename to source/assets/images/meetups/phpnw.gif diff --git a/source/images/meetups/phpnw.jpg b/source/assets/images/meetups/phpnw.jpg similarity index 100% rename from source/images/meetups/phpnw.jpg rename to source/assets/images/meetups/phpnw.jpg diff --git a/source/images/meetups/phpsw.jpeg b/source/assets/images/meetups/phpsw.jpeg similarity index 100% rename from source/images/meetups/phpsw.jpeg rename to source/assets/images/meetups/phpsw.jpeg diff --git a/source/images/meetups/swdug.png b/source/assets/images/meetups/swdug.png similarity index 100% rename from source/images/meetups/swdug.png rename to source/assets/images/meetups/swdug.png diff --git a/source/images/meetups/swlug.png b/source/assets/images/meetups/swlug.png similarity index 100% rename from source/images/meetups/swlug.png rename to source/assets/images/meetups/swlug.png diff --git a/source/images/meetups/unified-diff.png b/source/assets/images/meetups/unified-diff.png similarity index 100% rename from source/images/meetups/unified-diff.png rename to source/assets/images/meetups/unified-diff.png diff --git a/source/images/od-logo.jpg b/source/assets/images/od-logo.jpg similarity index 100% rename from source/images/od-logo.jpg rename to source/assets/images/od-logo.jpg diff --git a/source/images/php-neovim-1.png b/source/assets/images/php-neovim-1.png similarity index 100% rename from source/images/php-neovim-1.png rename to source/assets/images/php-neovim-1.png diff --git a/source/images/php-neovim-2.png b/source/assets/images/php-neovim-2.png similarity index 100% rename from source/images/php-neovim-2.png rename to source/assets/images/php-neovim-2.png diff --git a/source/images/sculpin-jackson.png b/source/assets/images/sculpin-jackson.png similarity index 100% rename from source/images/sculpin-jackson.png rename to source/assets/images/sculpin-jackson.png diff --git a/source/images/talks/dancing-for-drupal.png b/source/assets/images/talks/dancing-for-drupal.png similarity index 100% rename from source/images/talks/dancing-for-drupal.png rename to source/assets/images/talks/dancing-for-drupal.png diff --git a/source/images/talks/dclondon16.png b/source/assets/images/talks/dclondon16.png similarity index 100% rename from source/images/talks/dclondon16.png rename to source/assets/images/talks/dclondon16.png diff --git a/source/images/talks/deploying-php-fabric.png b/source/assets/images/talks/deploying-php-fabric.png similarity index 100% rename from source/images/talks/deploying-php-fabric.png rename to source/assets/images/talks/deploying-php-fabric.png diff --git a/source/images/talks/drupal-8.png b/source/assets/images/talks/drupal-8.png similarity index 100% rename from source/images/talks/drupal-8.png rename to source/assets/images/talks/drupal-8.png diff --git a/source/images/talks/drupal-rejoining-php-herd.png b/source/assets/images/talks/drupal-rejoining-php-herd.png similarity index 100% rename from source/images/talks/drupal-rejoining-php-herd.png rename to source/assets/images/talks/drupal-rejoining-php-herd.png diff --git a/source/images/talks/drupal-vm-generator.png b/source/assets/images/talks/drupal-vm-generator.png similarity index 100% rename from source/images/talks/drupal-vm-generator.png rename to source/assets/images/talks/drupal-vm-generator.png diff --git a/source/images/talks/drupal-vm-meet-symfony-console.png b/source/assets/images/talks/drupal-vm-meet-symfony-console.png similarity index 100% rename from source/images/talks/drupal-vm-meet-symfony-console.png rename to source/assets/images/talks/drupal-vm-meet-symfony-console.png diff --git a/source/images/talks/drupalorg-2014-retrospective.png b/source/assets/images/talks/drupalorg-2014-retrospective.png similarity index 100% rename from source/images/talks/drupalorg-2014-retrospective.png rename to source/assets/images/talks/drupalorg-2014-retrospective.png diff --git a/source/images/talks/drush-make-composer-2.png b/source/assets/images/talks/drush-make-composer-2.png similarity index 100% rename from source/images/talks/drush-make-composer-2.png rename to source/assets/images/talks/drush-make-composer-2.png diff --git a/source/images/talks/drush-make-composer.png b/source/assets/images/talks/drush-make-composer.png similarity index 100% rename from source/images/talks/drush-make-composer.png rename to source/assets/images/talks/drush-make-composer.png diff --git a/source/images/talks/drush-make-drupalbristol.png b/source/assets/images/talks/drush-make-drupalbristol.png similarity index 100% rename from source/images/talks/drush-make-drupalbristol.png rename to source/assets/images/talks/drush-make-drupalbristol.png diff --git a/source/images/talks/drush-make-is-dead-long-live-composer.png b/source/assets/images/talks/drush-make-is-dead-long-live-composer.png similarity index 100% rename from source/images/talks/drush-make-is-dead-long-live-composer.png rename to source/assets/images/talks/drush-make-is-dead-long-live-composer.png diff --git a/source/images/talks/fabric-drupal.png b/source/assets/images/talks/fabric-drupal.png similarity index 100% rename from source/images/talks/fabric-drupal.png rename to source/assets/images/talks/fabric-drupal.png diff --git a/source/images/talks/getting-your-data-into-drupal-8.png b/source/assets/images/talks/getting-your-data-into-drupal-8.png similarity index 100% rename from source/images/talks/getting-your-data-into-drupal-8.png rename to source/assets/images/talks/getting-your-data-into-drupal-8.png diff --git a/source/images/talks/git-flow.png b/source/assets/images/talks/git-flow.png similarity index 100% rename from source/images/talks/git-flow.png rename to source/assets/images/talks/git-flow.png diff --git a/source/images/talks/having-fun-drupalorg-api.png b/source/assets/images/talks/having-fun-drupalorg-api.png similarity index 100% rename from source/images/talks/having-fun-drupalorg-api.png rename to source/assets/images/talks/having-fun-drupalorg-api.png diff --git a/source/images/talks/it-all-started-with-a-patch.png b/source/assets/images/talks/it-all-started-with-a-patch.png similarity index 100% rename from source/images/talks/it-all-started-with-a-patch.png rename to source/assets/images/talks/it-all-started-with-a-patch.png diff --git a/source/images/talks/laravel-collections.png b/source/assets/images/talks/laravel-collections.png similarity index 100% rename from source/images/talks/laravel-collections.png rename to source/assets/images/talks/laravel-collections.png diff --git a/source/images/talks/logos/drupal-bristol.jpg b/source/assets/images/talks/logos/drupal-bristol.jpg similarity index 100% rename from source/images/talks/logos/drupal-bristol.jpg rename to source/assets/images/talks/logos/drupal-bristol.jpg diff --git a/source/images/talks/logos/drupalcamp-brighton-2015.png b/source/assets/images/talks/logos/drupalcamp-brighton-2015.png similarity index 100% rename from source/images/talks/logos/drupalcamp-brighton-2015.png rename to source/assets/images/talks/logos/drupalcamp-brighton-2015.png diff --git a/source/images/talks/logos/drupalcamp-bristol-2016.png b/source/assets/images/talks/logos/drupalcamp-bristol-2016.png similarity index 100% rename from source/images/talks/logos/drupalcamp-bristol-2016.png rename to source/assets/images/talks/logos/drupalcamp-bristol-2016.png diff --git a/source/images/talks/logos/drupalcamp-london-2014.png b/source/assets/images/talks/logos/drupalcamp-london-2014.png similarity index 100% rename from source/images/talks/logos/drupalcamp-london-2014.png rename to source/assets/images/talks/logos/drupalcamp-london-2014.png diff --git a/source/images/talks/logos/drupalcamp-london-2015.png b/source/assets/images/talks/logos/drupalcamp-london-2015.png similarity index 100% rename from source/images/talks/logos/drupalcamp-london-2015.png rename to source/assets/images/talks/logos/drupalcamp-london-2015.png diff --git a/source/images/talks/logos/drupalcamp-london-2017.png b/source/assets/images/talks/logos/drupalcamp-london-2017.png similarity index 100% rename from source/images/talks/logos/drupalcamp-london-2017.png rename to source/assets/images/talks/logos/drupalcamp-london-2017.png diff --git a/source/images/talks/logos/drupalcamp-north-2015.png b/source/assets/images/talks/logos/drupalcamp-north-2015.png similarity index 100% rename from source/images/talks/logos/drupalcamp-north-2015.png rename to source/assets/images/talks/logos/drupalcamp-north-2015.png diff --git a/source/images/talks/logos/nomad-php.png b/source/assets/images/talks/logos/nomad-php.png similarity index 100% rename from source/images/talks/logos/nomad-php.png rename to source/assets/images/talks/logos/nomad-php.png diff --git a/source/images/talks/logos/nwdug.jpeg b/source/assets/images/talks/logos/nwdug.jpeg similarity index 100% rename from source/images/talks/logos/nwdug.jpeg rename to source/assets/images/talks/logos/nwdug.jpeg diff --git a/source/images/talks/logos/php-south-coast-2016.png b/source/assets/images/talks/logos/php-south-coast-2016.png similarity index 100% rename from source/images/talks/logos/php-south-coast-2016.png rename to source/assets/images/talks/logos/php-south-coast-2016.png diff --git a/source/images/talks/logos/phpsw.png b/source/assets/images/talks/logos/phpsw.png similarity index 100% rename from source/images/talks/logos/phpsw.png rename to source/assets/images/talks/logos/phpsw.png diff --git a/source/images/talks/logos/swdug.png b/source/assets/images/talks/logos/swdug.png similarity index 100% rename from source/images/talks/logos/swdug.png rename to source/assets/images/talks/logos/swdug.png diff --git a/source/images/talks/logos/umbristol.jpeg b/source/assets/images/talks/logos/umbristol.jpeg similarity index 100% rename from source/images/talks/logos/umbristol.jpeg rename to source/assets/images/talks/logos/umbristol.jpeg diff --git a/source/images/talks/logos/unified-diff.png b/source/assets/images/talks/logos/unified-diff.png similarity index 100% rename from source/images/talks/logos/unified-diff.png rename to source/assets/images/talks/logos/unified-diff.png diff --git a/source/images/talks/modern-drupal-development-composer.png b/source/assets/images/talks/modern-drupal-development-composer.png similarity index 100% rename from source/images/talks/modern-drupal-development-composer.png rename to source/assets/images/talks/modern-drupal-development-composer.png diff --git a/source/images/talks/static-websites-sculpin.png b/source/assets/images/talks/static-websites-sculpin.png similarity index 100% rename from source/images/talks/static-websites-sculpin.png rename to source/assets/images/talks/static-websites-sculpin.png diff --git a/source/images/talks/taking-flight-tailwind.jpg b/source/assets/images/talks/taking-flight-tailwind.jpg similarity index 100% rename from source/images/talks/taking-flight-tailwind.jpg rename to source/assets/images/talks/taking-flight-tailwind.jpg diff --git a/source/images/talks/test-drive-twig-sculpin.png b/source/assets/images/talks/test-drive-twig-sculpin.png similarity index 100% rename from source/images/talks/test-drive-twig-sculpin.png rename to source/assets/images/talks/test-drive-twig-sculpin.png diff --git a/source/images/talks/test-driven-drupal-development.png b/source/assets/images/talks/test-driven-drupal-development.png similarity index 100% rename from source/images/talks/test-driven-drupal-development.png rename to source/assets/images/talks/test-driven-drupal-development.png diff --git a/source/images/talks/things-you-should-know-about-php.png b/source/assets/images/talks/things-you-should-know-about-php.png similarity index 100% rename from source/images/talks/things-you-should-know-about-php.png rename to source/assets/images/talks/things-you-should-know-about-php.png diff --git a/source/images/social-avatar.jpg b/source/images/social-avatar.jpg deleted file mode 100644 index 7aaf7b11a4948f24bbc40467904a60db627c8ec2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22247 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