10-useful-drupal-6-modules-i-use-every-project /blog/10-useful-drupal-6-modules 2010/04/05/styling-drupal-6s-taxonomy-lists-with-php-css-and-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-jquery 2010/04/28/using-imagecache-and-imagecrop-for-my-portfolio /blog/using-imagecache-imagecrop-my-portfolio 2010/05/29/importing-images-using-the-imagefieldimport-module /blog/quickly-import-multiples-images-using-imagefieldimport-module 2010/06/23/creating-a-block-of-social-media-icons-using-cck-views-and-nodequeue /blog/create-block-social-media-icons-using-cck-views-nodequeue 2010/07/05/thanks /blog/thanks 2010/08/17/create-a-better-photo-gallery-in-drupal-part-2 /blog/create-better-photo-gallery-drupal-part-2 2014/05/21/git-format-patch /blog/git-format-patch-your-friend 2PxmyqP /articles/examples-of-laravel-collections-in-drupal 39CoG /articles/drupalcamp-london-testing-workshop 3eGQr https://github.com/howToCodeWell/howToCodeWellFM/blob/c927e0b3589f1d7375002f7fd70f0bfc9fc90449/composer.json#L17 6UhLN https://github.com/opdavies/sculpin-twig-markdown-bundle/pull/1 6i3YZ https://www.youtube.com/watch?v=vUK5sEbd-dk 9rv0Z https://www.drupal.org/project/override_node_options/issues/3109852 BhMZi https://git.drupalcode.org/search?utf8=%E2%9C%93&snippets=&scope=&repository_ref=8.x-1.x&search=baz&project_id=23203 NBi5h https://git.drupalcode.org/search?utf8=%E2%9C%93&search=bar&group_id=&project_id=23203&search_code=true&repository_ref=8.x-1.x&nav_source=navbar P5KQ5 https://www.npmjs.com/package/tailwindcss-skip-link S8ZDA /articles/rebuilding-bartik-with-vuejs-tailwind-css-part-2 Wh48P https://github.com/opdavies/oliverdavies.uk/blob/master/source/_partials/talk/video.html.twig XbzS2 https://github.com/opdavies/gmail-filter-builder YK1VH /articles/psr4-autoloading-test-cases-drupal-7 YilTZ https://drupalcamp.london/tickets/training about / about/speaker-information /speaker-information acquia-certifications https://certification.acquia.com/registry?fname=Oliver&lname=Davies&city=&state=&country=United+Kingdom&org=&exam=All acquia-certified https://certification.acquia.com/?fname=Oliver&lname=Davies ansible https://galaxy.ansible.com/opdavies ansible-molecule /articles/test-driven-ansible-role-development-molecule ansistrano-code https://github.com/opdavies/dransible ansistrano-demo https://www.youtube.com/watch?v=PLS4ET7FAcU ansistrano-slides /talks/deploying-php-ansible-ansistrano articles/10-useful-drupal-6-modules /blog/10-useful-drupal-6-modules articles/2010/04/05/style-drupal-6s-taxonomy-lists-php-css-and-jquery /blog/2010/04/05/style-drupal-6s-taxonomy-lists-php-css-and-jquery articles/2010/04/28/using-imagecache-and-imagecrop-my-portfolio /blog/2010/04/28/using-imagecache-and-imagecrop-my-portfolio articles/2010/05/06/conditional-email-addresses-webform /blog/2010/05/06/conditional-email-addresses-webform articles/2010/05/10/quickly-create-zen-subthemes-using-zenophile /blog/2010/05/10/quickly-create-zen-subthemes-using-zenophile articles/2010/05/25/create-slideshow-multiple-images-using-fancy-slide /blog/2010/05/25/create-slideshow-multiple-images-using-fancy-slide articles/2010/05/29/quickly-import-multiples-images-using-imagefieldimport-module /blog/2010/05/29/quickly-import-multiples-images-using-imagefieldimport-module articles/2010/06/02/improve-jpg-quality-imagecache-and-imageapi /blog/2010/06/02/improve-jpg-quality-imagecache-and-imageapi articles/2010/06/23/create-block-social-media-icons-using-cck-views-and-nodequeue /blog/2010/06/23/create-block-social-media-icons-using-cck-views-and-nodequeue articles/2010/06/25/10-useful-drupal-6-modules /blog/2010/06/25/10-useful-drupal-6-modules articles/2010/06/28/create-flickr-photo-gallery-using-feeds-cck-and-views /blog/2010/06/28/create-flickr-photo-gallery-using-feeds-cck-and-views articles/2010/07/01/change-content-type-multiple-nodes-using-sql /blog/2010/07/01/change-content-type-multiple-nodes-using-sql articles/2010/07/02/create-virtual-hosts-mac-os-x-using-virtualhostx /blog/2010/07/02/create-virtual-hosts-mac-os-x-using-virtualhostx articles/2010/07/07/add-taxonomy-term-multiple-nodes-using-sql /blog/2010/07/07/add-taxonomy-term-multiple-nodes-using-sql articles/2010/07/12/review-teleport-module /blog/2010/07/12/review-teleport-module articles/2010/07/create-virtual-hosts-mac-os-x-using-virtualhostx /blog/create-virtual-hosts-mac-os-x-using-virtualhostx articles/2010/08/10/review-adminhover-module /blog/2010/08/10/review-adminhover-module articles/2010/08/11/create-better-photo-gallery-drupal-part-1 /blog/2010/08/11/create-better-photo-gallery-drupal-part-1 articles/2010/08/17/create-better-photo-gallery-drupal-part-2 /blog/2010/08/17/create-better-photo-gallery-drupal-part-2 articles/2010/08/20/review-image-caption-module /blog/2010/08/20/review-image-caption-module articles/2010/09/26/south-wales-drupal-user-group /blog/2010/09/26/south-wales-drupal-user-group articles/2010/10/10/create-and-apply-patches /blog/2010/10/10/create-and-apply-patches articles/2010/10/13/create-better-photo-gallery-drupal-part-3 /blog/2010/10/13/create-better-photo-gallery-drupal-part-3 articles/2010/10/22/create-better-photo-gallery-drupal-part-21 /blog/2010/10/22/create-better-photo-gallery-drupal-part-21 articles/2010/11/04/use-regular-expressions-search-and-replace-coda-or-textmate /blog/2010/11/04/use-regular-expressions-search-and-replace-coda-or-textmate articles/2011/02/14/easily-embed-typekit-fonts-your-drupal-website /blog/2011/02/14/easily-embed-typekit-fonts-your-drupal-website articles/2011/03/15/display-number-facebook-fans-php /blog/2011/03/15/display-number-facebook-fans-php articles/2011/03/31/proctor-stevenson /blog/2011/03/31/proctor-stevenson articles/2011/05/20/proctors-hosting-next-drupal-meetup /blog/2011/05/20/proctors-hosting-next-drupal-meetup articles/2011/05/23/imagefield-import-archive /blog/2011/05/23/imagefield-import-archive articles/2011/08/28/create-multigroups-drupal-7-using-field-collections /blog/2011/08/28/create-multigroups-drupal-7-using-field-collections articles/2011/10/19/install-and-configure-subversion-svn-server-ubuntu /blog/2011/10/19/install-and-configure-subversion-svn-server-ubuntu articles/2012/01/04/site-upgraded-drupal-7 /blog/2012/01/04/site-upgraded-drupal-7 articles/2012/02/01/use-authorize-keys-create-passwordless-ssh-connection /blog/2012/02/01/use-authorize-keys-create-passwordless-ssh-connection articles/2012/04/16/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush /blog/2012/04/16/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush articles/2012/04/17/installing-nagios-centos /blog/2012/04/17/installing-nagios-centos articles/2012/04/19/adding-custom-theme-templates-drupal-7 /blog/2012/04/19/adding-custom-theme-templates-drupal-7 articles/2012/05/23/add-date-popup-calendar-custom-form /blog/2012/05/23/add-date-popup-calendar-custom-form articles/2012/05/23/checkout-specific-revision-svn-command-line /blog/2012/05/23/checkout-specific-revision-svn-command-line articles/2012/05/23/forward-one-domain-another-using-mod-rewrite-and-htaccess /blog/2012/05/23/forward-one-domain-another-using-mod-rewrite-and-htaccess articles/2012/05/23/prevent-apache-displaying-text-files-within-web-browser /blog/2012/05/23/prevent-apache-displaying-text-files-within-web-browser articles/2012/05/23/writing-info-file-drupal-7-theme /blog/2012/05/23/writing-info-file-drupal-7-theme articles/2012/05/24/dividing-drupals-process-and-preprocess-functions-separate-files /blog/2012/05/24/dividing-drupals-process-and-preprocess-functions-separate-files articles/2012/07/12/my-new-drupal-modules /blog/2012/07/12/my-new-drupal-modules articles/2012/07/14/install-nomensa-media-player-drupal /blog/2012/07/14/install-nomensa-media-player-drupal articles/2012/07/27/writing-article-linux-journal /blog/2012/07/27/writing-article-linux-journal articles/2012/08/18/display-custom-menu-drupal-7-theme-template-file /blog/2012/08/18/display-custom-menu-drupal-7-theme-template-file articles/2012/09/06/reflections-speaking-unifieddiff /blog/2012/09/06/reflections-speaking-unifieddiff articles/2012/10/25/my-sublime-text-2-settings /blog/2012/10/25/my-sublime-text-2-settings articles/2012/11/15/accessible-bristol-site-launched /blog/2012/11/15/accessible-bristol-site-launched articles/2012/11/17/open-sublime-text-2-mac-os-x-command-line /blog/2012/11/17/open-sublime-text-2-mac-os-x-command-line articles/2012/12/06/use-sass-and-compass-drupal-7-using-sassy /blog/2012/12/06/use-sass-and-compass-drupal-7-using-sassy articles/2013/01/09/checking-if-user-logged-drupal-right-way /blog/2013/01/09/checking-if-user-logged-drupal-right-way articles/2013/02/16/creating-and-using-custom-tokens-drupal-7 /blog/2013/02/16/creating-and-using-custom-tokens-drupal-7 articles/2013/03/02/quickest-way-install-sublime-text-2-ubuntu /blog/2013/03/02/quickest-way-install-sublime-text-2-ubuntu articles/2013/04/20/leaving-nomensa-joining-precedent /blog/2013/04/20/leaving-nomensa-joining-precedent articles/2013/04/27/display-git-branch-or-tag-names-your-bash-prompt /blog/2013/04/27/display-git-branch-or-tag-names-your-bash-prompt articles/2013/06/13/some-useful-links-using-simpletest-drupal /blog/2013/06/13/some-useful-links-using-simpletest-drupal articles/2013/07/17/creating-local-and-staging-sites-drupals-domain-module-enabled /blog/2013/07/17/creating-local-and-staging-sites-drupals-domain-module-enabled articles/2013/07/26/going-drupalcon /blog/2013/07/26/going-drupalcon articles/2013/09/06/create-a-zen-sub-theme-using-drush /blog/2013/09/06/create-a-zen-sub-theme-using-drush articles/2013/11/19/dont-bootstrap-drupal-use-drush /blog/2013/11/19/dont-bootstrap-drupal-use-drush articles/2013/11/27/useful-vagrant-commands /blog/2013/11/27/useful-vagrant-commands articles/2013/12/24/quickly-apply-patches-using-git-and-curl-or-wget /blog/2013/12/24/quickly-apply-patches-using-git-and-curl-or-wget articles/2013/12/31/download-different-versions-drupal-drush /blog/2013/12/31/download-different-versions-drupal-drush articles/2013/12/quickly-apply-patches-using-git-and-curl-or-wget /blog/quickly-apply-patches-using-git-curl-or-wget articles/2014/01/15/some-useful-git-aliases /blog/2014/01/15/some-useful-git-aliases articles/2014/02/09/drupalcamp-london-2014 /blog/2014/02/09/drupalcamp-london-2014 articles/2014/03/03/what-git-flow /blog/2014/03/03/what-git-flow articles/2014/05/03/drupal-association /blog/2014/05/03/drupal-association articles/2014/05/06/thanks /blog/2014/05/06/thanks articles/2014/05/21/git-format-patch /blog/2014/05/21/git-format-patch articles/2014/07/02/drush-make-drupalbristol /blog/2014/07/02/drush-make-drupalbristol articles/2014/10/06/fix-vagrant-loading-wrong-virtual-machine /blog/2014/10/06/fix-vagrant-loading-wrong-virtual-machine articles/2014/10/21/updating-features-and-adding-components-using-drush /blog/2014/10/21/updating-features-and-adding-components-using-drush articles/2014/11/18/include-css-fonts-using-sass-each-loop /blog/2014/11/18/include-css-fonts-using-sass-each-loop articles/2014/11/20/using-remote-files-when-developing-locally-with-stage-file-proxy-module /blog/2014/11/20/using-remote-files-when-developing-locally-with-stage-file-proxy-module articles/2014/11/27/pantheon-settings-files /blog/2014/11/27/pantheon-settings-files articles/2014/12/20/include-local-drupal-settings-file-environment-configuration-and-overrides /blog/2014/12/20/include-local-drupal-settings-file-environment-configuration-and-overrides articles/2015/04/03/how-to-define-a-minimum-drupal-core-version /blog/2015/04/03/how-to-define-a-minimum-drupal-core-version articles/2015/06/18/updating-forked-repositories-on-github /blog/2015/06/18/updating-forked-repositories-on-github articles/2015/07/19/sculpin-twig-resources /blog/2015/07/19/sculpin-twig-resources articles/2015/07/21/automating-sculpin-jenkins /blog/2015/07/21/automating-sculpin-jenkins articles/2015/12/22/programmatically-load-an-entityform-in-drupal-7 /blog/2015/12/22/programmatically-load-an-entityform-in-drupal-7 articles/2016/02/15/announcing-the-drupal-vm-generator /blog/2016/02/15/announcing-the-drupal-vm-generator articles/2016/05/03/simplifying-drupal-migrations-with-xautoload /blog/2016/05/03/simplifying-drupal-migrations-with-xautoload articles/2016/07/15/building-gmail-filters-with-php /blog/2016/07/15/building-gmail-filters-with-php articles/2016/12/30/drupal-vm-generator-291-released /blog/2016/12/30/drupal-vm-generator-291-released articles/2017/01/07/easier-sculpin-commands-with-composer-and-npm-scripts /blog/2017/01/07/easier-sculpin-commands-with-composer-and-npm-scripts articles/2017/01/31/nginx-redirects-with-query-string-arguments /blog/2017/01/31/nginx-redirects-with-query-string-arguments articles/2017/05/05/fixing-drupal-simpletest-docker /blog/2017/05/05/fixing-drupal-simpletest-docker articles/2017/05/05/fixing-drupal-simpletest-issues-inside-docker-containers /blog/2017/05/05/fixing-drupal-simpletest-issues-inside-docker-containers articles/2017/05/20/turning-drupal-module-into-feature /blog/turning-your-custom-drupal-module-feature articles/2017/06/09/introducing-the-drupal-meetups-twitterbot /blog/2017/06/09/introducing-the-drupal-meetups-twitterbot articles/2017/11/07/tdd-test-driven-drupal /blog/2017/11/07/tdd-test-driven-drupal articles/2017/11/07/writing-drupal-module-test-driven-development-tdd /blog/2017/11/07/writing-drupal-module-test-driven-development-tdd articles/2018/01/30/drupalcamp-bristol-2018 /blog/2018/01/30/drupalcamp-bristol-2018 articles/2018/02/05/using-tailwind-css-in-your-drupal-theme /blog/2018/02/05/using-tailwind-css-in-your-drupal-theme articles/2018/02/27/looking-forward-to-drupalcamp-london /blog/2018/02/27/looking-forward-to-drupalcamp-london articles/2018/02/27/queuing-private-messages-in-drupal-8 /blog/2018/02/27/queuing-private-messages-in-drupal-8 articles/2018/02/28/building-the-new-phpsw-website /blog/2018/02/28/building-the-new-phpsw-website articles/2018/03/02/yay-the-mediacurrent-contrib-half-hour-is-back /blog/2018/03/02/yay-the-mediacurrent-contrib-half-hour-is-back articles/2018/03/04/tweets-from-drupalcamp-london /blog/2018/03/04/tweets-from-drupalcamp-london articles/2018/05/06/creating-a-custom-phpunit-command-for-docksal /blog/2018/05/06/creating-a-custom-phpunit-command-for-docksal articles/accessible-bristol-site-launched /blog/accessible-bristol-site-launched articles/add-date-popup-calendar-custom-form /blog/add-date-popup-calendar-custom-form articles/add-taxonomy-term-multiple-nodes-using-sql /blog/add-taxonomy-term-multiple-nodes-using-sql articles/adding-custom-theme-templates-drupal-7 /blog/adding-custom-theme-templates-drupal-7 articles/announcing-the-drupal-vm-generator /blog/announcing-the-drupal-vm-generator articles/automating-sculpin-jenkins /blog/automating-sculpin-jenkins articles/building-gmail-filters-with-php /blog/building-gmail-filters-with-php articles/building-the-new-phpsw-website /blog/building-the-new-phpsw-website articles/change-content-type-multiple-nodes-using-sql /blog/change-content-type-multiple-nodes-using-sql articles/checking-if-user-logged-drupal-right-way /blog/checking-if-user-logged-drupal-right-way articles/checkout-specific-revision-svn-command-line /blog/checkout-specific-revision-svn-command-line articles/conditional-email-addresses-webform /blog/conditional-email-addresses-webform articles/create-a-zen-sub-theme-using-drush /blog/create-a-zen-sub-theme-using-drush articles/create-and-apply-patches /blog/create-and-apply-patches articles/create-better-photo-gallery-drupal-part-1 /blog/create-better-photo-gallery-drupal-part-1 articles/create-better-photo-gallery-drupal-part-2 /blog/create-better-photo-gallery-drupal-part-2 articles/create-better-photo-gallery-drupal-part-21 /blog/create-better-photo-gallery-drupal-part-21 articles/create-better-photo-gallery-drupal-part-3 /blog/create-better-photo-gallery-drupal-part-3 articles/create-block-social-media-icons-using-cck-views-and-nodequeue /blog/create-block-social-media-icons-using-cck-views-and-nodequeue articles/create-flickr-photo-gallery-using-feeds-cck-and-views /blog/create-flickr-photo-gallery-using-feeds-cck-and-views articles/create-multigroups-drupal-7-using-field-collections /blog/create-multigroups-drupal-7-using-field-collections articles/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush /blog/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush articles/create-slideshow-multiple-images-using-fancy-slide /blog/create-slideshow-multiple-images-using-fancy-slide articles/create-virtual-hosts-mac-os-x-using-virtualhostx /blog/create-virtual-hosts-mac-os-x-using-virtualhostx articles/creating-a-custom-phpunit-command-for-docksal /blog/creating-a-custom-phpunit-command-for-docksal articles/creating-and-using-custom-tokens-drupal-7 /blog/creating-and-using-custom-tokens-drupal-7 articles/creating-local-and-staging-sites-drupals-domain-module-enabled /blog/creating-local-and-staging-sites-drupals-domain-module-enabled articles/display-custom-menu-drupal-7-theme-template-file /blog/display-custom-menu-drupal-7-theme-template-file articles/display-git-branch-or-tag-names-your-bash-prompt /blog/display-git-branch-or-tag-names-your-bash-prompt articles/display-number-facebook-fans-php /blog/display-number-facebook-fans-php articles/dividing-drupals-process-and-preprocess-functions-separate-files /blog/dividing-drupals-process-and-preprocess-functions-separate-files articles/dont-bootstrap-drupal-use-drush /blog/dont-bootstrap-drupal-use-drush articles/download-different-versions-drupal-drush /blog/download-different-versions-drupal-drush articles/drupal-association /blog/drupal-association articles/drupal-vm-generator-291-released /blog/drupal-vm-generator-291-released articles/drupalcamp-bristol-2018 /blog/drupalcamp-bristol-2018 articles/drupalcamp-london-2014 /blog/drupalcamp-london-2014 articles/drush-make-drupalbristol /blog/drush-make-drupalbristol articles/easier-sculpin-commands-with-composer-and-npm-scripts /blog/easier-sculpin-commands-with-composer-and-npm-scripts articles/easily-embed-typekit-fonts-your-drupal-website /blog/easily-embed-typekit-fonts-your-drupal-website articles/fix-vagrant-loading-wrong-virtual-machine /blog/fix-vagrant-loading-wrong-virtual-machine articles/fixing-drupal-simpletest-issues-inside-docker-containers /blog/fixing-drupal-simpletest-issues-inside-docker-containers articles/forward-one-domain-another-using-mod-rewrite-and-htaccess /blog/forward-one-domain-another-using-mod-rewrite-and-htaccess articles/git-format-patch /blog/git-format-patch articles/going-drupalcon /blog/going-drupalcon articles/how-to-define-a-minimum-drupal-core-version /blog/how-to-define-a-minimum-drupal-core-version articles/imagefield-import-archive /blog/imagefield-import-archive articles/improve-jpg-quality-imagecache-and-imageapi /blog/improve-jpg-quality-imagecache-and-imageapi articles/include-css-fonts-using-sass-each-loop /blog/include-css-fonts-using-sass-each-loop articles/include-local-drupal-settings-file-environment-configuration-and-overrides /blog/include-local-drupal-settings-file-environment-configuration-and-overrides articles/install-and-configure-subversion-svn-server-ubuntu /blog/install-and-configure-subversion-svn-server-ubuntu articles/install-nomensa-media-player-drupal /blog/install-nomensa-media-player-drupal articles/installing-nagios-centos /blog/installing-nagios-centos articles/introducing-the-drupal-meetups-twitterbot /blog/introducing-the-drupal-meetups-twitterbot articles/leaving-nomensa-joining-precedent /blog/leaving-nomensa-joining-precedent articles/looking-forward-to-drupalcamp-london /blog/looking-forward-to-drupalcamp-london articles/my-new-drupal-modules /blog/my-new-drupal-modules articles/my-sublime-text-2-settings /blog/my-sublime-text-2-settings articles/nginx-redirects-with-query-string-arguments /blog/nginx-redirects-with-query-string-arguments articles/open-sublime-text-2-mac-os-x-command-line /blog/open-sublime-text-2-mac-os-x-command-line articles/pantheon-settings-files /blog/pantheon-settings-files articles/prevent-apache-displaying-text-files-within-web-browser /blog/prevent-apache-displaying-text-files-within-web-browser articles/proctor-stevenson /blog/proctor-stevenson articles/proctors-hosting-next-drupal-meetup /blog/proctors-hosting-next-drupal-meetup articles/programmatically-load-an-entityform-in-drupal-7 /blog/programmatically-load-an-entityform-in-drupal-7 articles/queuing-private-messages-in-drupal-8 /blog/queuing-private-messages-in-drupal-8 articles/quickest-way-install-sublime-text-2-ubuntu /blog/quickest-way-install-sublime-text-2-ubuntu articles/quickly-apply-patches-using-git-and-curl-or-wget /blog/quickly-apply-patches-using-git-and-curl-or-wget articles/quickly-create-zen-subthemes-using-zenophile /blog/quickly-create-zen-subthemes-using-zenophile articles/quickly-import-multiples-images-using-imagefieldimport-module /blog/quickly-import-multiples-images-using-imagefieldimport-module articles/reflections-speaking-unifieddiff /blog/reflections-speaking-unifieddiff articles/review-adminhover-module /blog/review-adminhover-module articles/review-image-caption-module /blog/review-image-caption-module articles/review-teleport-module /blog/review-teleport-module articles/sculpin-twig-resources /blog/sculpin-twig-resources articles/simplifying-drupal-migrations-with-xautoload /blog/simplifying-drupal-migrations-with-xautoload articles/site-upgraded-drupal-7 /blog/site-upgraded-drupal-7 articles/some-useful-git-aliases /blog/some-useful-git-aliases articles/some-useful-links-using-simpletest-drupal /blog/some-useful-links-using-simpletest-drupal articles/south-wales-drupal-user-group /blog/south-wales-drupal-user-group articles/style-drupal-6s-taxonomy-lists-php-css-and-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-and-jquery articles/tdd-test-driven-drupal /blog/tdd-test-driven-drupal articles/thanks /blog/thanks articles/tweets-from-drupalcamp-london /blog/tweets-from-drupalcamp-london articles/updating-features-and-adding-components-using-drush /blog/updating-features-and-adding-components-using-drush articles/updating-forked-repositories-on-github /blog/updating-forked-repositories-on-github articles/use-authorized-keys-create-passwordless-ssh-connection /blog/use-authorized-keys-create-passwordless-ssh-connection articles/use-regular-expressions-search-and-replace-coda-or-textmate /blog/use-regular-expressions-search-and-replace-coda-or-textmate articles/use-sass-and-compass-drupal-7-using-sassy /blog/use-sass-and-compass-drupal-7-using-sassy articles/useful-vagrant-commands /blog/useful-vagrant-commands articles/using-imagecache-and-imagecrop-my-portfolio /blog/using-imagecache-and-imagecrop-my-portfolio articles/using-remote-files-when-developing-locally-with-stage-file-proxy-module /blog/using-remote-files-when-developing-locally-stage-file-proxy-module articles/using-remote-files-when-developing-locally-with-stage-file-proxy-module /blog/using-remote-files-when-developing-locally-with-stage-file-proxy-module articles/using-tailwind-css-in-your-drupal-theme /blog/using-tailwind-css-in-your-drupal-theme articles/what-git-flow /blog/what-git-flow articles/writing-article-linux-journal /blog/writing-article-linux-journal articles/writing-info-file-drupal-7-theme /blog/writing-info-file-drupal-7-theme articles/yay-the-mediacurrent-contrib-half-hour-is-back /blog/yay-mediacurrent-contrib-half-hour-back articles/yay-the-mediacurrent-contrib-half-hour-is-back /blog/yay-the-mediacurrent-contrib-half-hour-is-back atNOQ https://youtu.be/r41dkD2EOo8 automatically-updating-talk-created-date https://gist.github.com/opdavies/4e75e1753d8603113f07f8264bb783d6 blog.xml /feed blog/10-years-working-full-time-drupal /blog/10-years-working-full-time-drupal-php blog/2010/04/05/style-drupal-6s-taxonomy-lists-php-css-and-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-and-jquery blog/2010/04/05/styling-drupal-6s-taxonomy-lists-with-php-css-and-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-jquery blog/2010/04/28/using-imagecache-and-imagecrop-my-portfolio /blog/using-imagecache-and-imagecrop-my-portfolio blog/2010/05/06/conditional-email-addresses-webform /blog/conditional-email-addresses-webform blog/2010/05/10/quickly-create-zen-subthemes-using-zenophile /blog/quickly-create-zen-subthemes-using-zenophile blog/2010/05/25/create-slideshow-multiple-images-using-fancy-slide /blog/create-slideshow-multiple-images-using-fancy-slide blog/2010/05/29/quickly-import-multiples-images-using-imagefieldimport-module /blog/quickly-import-multiples-images-using-imagefieldimport-module blog/2010/06/02/improve-jpg-quality-imagecache-and-imageapi /blog/improve-jpg-quality-imagecache-and-imageapi blog/2010/06/23/create-block-social-media-icons-using-cck-views-and-nodequeue /blog/create-block-social-media-icons-using-cck-views-and-nodequeue blog/2010/06/25/10-useful-drupal-6-modules /blog/10-useful-drupal-6-modules blog/2010/06/28/create-flickr-photo-gallery-using-feeds-cck-and-views /blog/create-flickr-photo-gallery-using-feeds-cck-and-views blog/2010/07/01/change-content-type-multiple-nodes-using-sql /blog/change-content-type-multiple-nodes-using-sql blog/2010/07/02/create-virtual-hosts-mac-os-x-using-virtualhostx /blog/create-virtual-hosts-mac-os-x-using-virtualhostx blog/2010/07/07/add-taxonomy-term-multiple-nodes-using-sql /blog/add-taxonomy-term-multiple-nodes-using-sql blog/2010/07/07/quickly-adding-taxonomy-term-multiple-nodes-using-sql /blog/add-taxonomy-term-multiple-nodes-using-sql blog/2010/07/12/overview-teleport-module /blog/review-teleport-module blog/2010/07/12/review-teleport-module /blog/review-teleport-module blog/2010/08/10/review-adminhover-module /blog/review-adminhover-module blog/2010/08/11/create-better-photo-gallery-drupal-part-1 /blog/create-better-photo-gallery-drupal-part-1 blog/2010/08/11/how-create-better-photo-gallery-drupal-part-1 /blog/create-better-photo-gallery-drupal-part-1 blog/2010/08/17/create-better-photo-gallery-drupal-part-2 /blog/create-better-photo-gallery-drupal-part-2 blog/2010/08/20/review-image-caption-module /blog/review-image-caption-module blog/2010/09/26/south-wales-drupal-user-group /blog/south-wales-drupal-user-group blog/2010/10/10/create-and-apply-patches /blog/create-and-apply-patches blog/2010/10/13/create-better-photo-gallery-drupal-part-3 /blog/create-better-photo-gallery-drupal-part-3 blog/2010/10/22/create-better-photo-gallery-drupal-part-21 /blog/create-better-photo-gallery-drupal-part-21 blog/2010/11/04/use-regular-expressions-search-and-replace-coda-or-textmate /blog/use-regular-expressions-search-and-replace-coda-or-textmate blog/2011/02/14/easily-embed-typekit-fonts-your-drupal-website /blog/easily-embed-typekit-fonts-your-drupal-website blog/2011/03/15/display-number-facebook-fans-php /blog/display-number-facebook-fans-php blog/2011/03/31/proctor-stevenson /blog/proctor-stevenson blog/2011/05/20/proctors-hosting-next-drupal-meetup /blog/proctors-hosting-next-drupal-meetup blog/2011/05/23/imagefield-import-archive /blog/imagefield-import-archive blog/2011/08/28/create-multigroups-drupal-7-using-field-collections /blog/create-multigroups-drupal-7-using-field-collections blog/2011/10/19/install-and-configure-subversion-svn-server-ubuntu /blog/install-and-configure-subversion-svn-server-ubuntu blog/2012/01/04/site-upgraded-drupal-7 /blog/site-upgraded-drupal-7 blog/2012/02/01/use-authorize-keys-create-passwordless-ssh-connection /blog/use-authorized-keys-create-passwordless-ssh-connection blog/2012/04/16/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush /blog/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush blog/2012/04/17/installing-nagios-centos /blog/installing-nagios-centos blog/2012/04/19/adding-custom-theme-templates-drupal-7 /blog/adding-custom-theme-templates-drupal-7 blog/2012/05/23/add-date-popup-calendar-custom-form /blog/add-date-popup-calendar-custom-form blog/2012/05/23/checkout-specific-revision-svn-command-line /blog/checkout-specific-revision-svn-command-line blog/2012/05/23/forward-one-domain-another-using-mod-rewrite-and-htaccess /blog/forward-one-domain-another-using-mod-rewrite-and-htaccess blog/2012/05/23/forward-one-domain-another-using-modrewrite-and-htaccess /blog/forward-one-domain-another-using-modrewrite-htaccess blog/2012/05/23/prevent-apache-displaying-text-files-within-web-browser /blog/prevent-apache-displaying-text-files-within-web-browser blog/2012/05/23/writing-info-file-drupal-7-theme /blog/writing-info-file-drupal-7-theme blog/2012/05/24/dividing-drupals-process-and-preprocess-functions-separate-files /blog/dividing-drupals-process-and-preprocess-functions-separate-files blog/2012/05/forward-one-domain-another-using-modrewrite-and-htaccess /blog/forward-one-domain-another-using-modrewrite-htaccess blog/2012/07/12/my-new-drupal-modules /blog/my-new-drupal-modules blog/2012/07/14/install-nomensa-media-player-drupal /blog/install-nomensa-media-player-drupal blog/2012/07/27/writing-article-linux-journal /blog/writing-article-linux-journal blog/2012/07/install-and-configure-nomensa-accessible-media-player-drupal /blog/install-configure-nomensa-accessible-media-player-drupal blog/2012/07/nomensa-accessible-media-player-drupal /blog/install-configure-nomensa-accessible-media-player-drupal blog/2012/08/18/display-custom-menu-drupal-7-theme-template-file /blog/display-custom-menu-drupal-7-theme-template-file blog/2012/09/06/reflections-speaking-unifieddiff /blog/reflections-speaking-unifieddiff blog/2012/10/25/my-sublime-text-2-settings /blog/my-sublime-text-2-settings blog/2012/11/15/accessible-bristol-site-launched /blog/accessible-bristol-site-launched blog/2012/11/17/open-sublime-text-2-mac-os-x-command-line /blog/open-sublime-text-2-mac-os-x-command-line blog/2012/12/06/use-sass-and-compass-drupal-7-using-sassy /blog/use-sass-and-compass-drupal-7-using-sassy blog/2013/01/09/checking-if-user-logged-drupal-right-way /blog/checking-if-user-logged-drupal-right-way blog/2013/02/16/creating-and-using-custom-tokens-drupal-7 /blog/creating-and-using-custom-tokens-drupal-7 blog/2013/03/02/quickest-way-install-sublime-text-2-ubuntu /blog/quickest-way-install-sublime-text-2-ubuntu blog/2013/04/20/leaving-nomensa-joining-precedent /blog/leaving-nomensa-joining-precedent blog/2013/04/27/display-git-branch-or-tag-names-your-bash-prompt /blog/display-git-branch-or-tag-names-your-bash-prompt blog/2013/06/13/some-useful-links-using-simpletest-drupal /blog/some-useful-links-using-simpletest-drupal blog/2013/07/17/creating-local-and-staging-sites-drupals-domain-module-enabled /blog/creating-local-and-staging-sites-drupals-domain-module-enabled blog/2013/07/26/going-drupalcon /blog/going-drupalcon blog/2013/09/06/create-a-zen-sub-theme-using-drush /blog/create-a-zen-sub-theme-using-drush blog/2013/09/create-zen-sub-theme-using-drush /blog/create-zen-sub-theme-using-drush blog/2013/11/19/dont-bootstrap-drupal-use-drush /blog/dont-bootstrap-drupal-use-drush blog/2013/11/27/useful-vagrant-commands /blog/useful-vagrant-commands blog/2013/12/24/quickly-apply-patches-using-git-and-curl-or-wget /blog/quickly-apply-patches-using-git-and-curl-or-wget blog/2013/12/31/download-different-versions-drupal-drush /blog/download-different-versions-drupal-drush blog/2014/01/15/some-useful-git-aliases /blog/some-useful-git-aliases blog/2014/02/09/drupalcamp-london-2014 /blog/drupalcamp-london-2014 blog/2014/03/03/what-git-flow /blog/what-git-flow blog/2014/05/03/drupal-association /blog/drupal-association blog/2014/05/06/thanks /blog/thanks blog/2014/05/21/git-format-patch /blog/git-format-patch blog/2014/07/02/drush-make-drupalbristol /blog/drush-make-drupalbristol blog/2014/10/06/fix-vagrant-loading-wrong-virtual-machine /blog/fix-vagrant-loading-wrong-virtual-machine blog/2014/10/21/updating-features-and-adding-components-using-drush /blog/updating-features-and-adding-components-using-drush blog/2014/11/18/include-css-fonts-using-sass-each-loop /blog/include-css-fonts-using-sass-each-loop blog/2014/11/20/using-remote-files-when-developing-locally-with-stage-file-proxy-module /blog/using-remote-files-when-developing-locally-with-stage-file-proxy-module blog/2014/11/27/pantheon-settings-files /blog/pantheon-settings-files blog/2014/12/20/include-local-drupal-settings-file-environment-configuration-and-overrides /blog/include-local-drupal-settings-file-environment-configuration-and-overrides blog/2015/04/03/how-to-define-a-minimum-drupal-core-version /blog/how-to-define-a-minimum-drupal-core-version blog/2015/06/18/updating-forked-repositories-on-github /blog/updating-forked-repositories-on-github blog/2015/07/19/sculpin-twig-resources /blog/sculpin-twig-resources blog/2015/07/21/automating-sculpin-jenkins /blog/automating-sculpin-jenkins blog/2015/12/22/programmatically-load-an-entityform-in-drupal-7 /blog/programmatically-load-an-entityform-in-drupal-7 blog/2016/02/15/announcing-the-drupal-vm-generator /blog/announcing-the-drupal-vm-generator blog/2016/05/03/simplifying-drupal-migrations-with-xautoload /blog/simplifying-drupal-migrations-with-xautoload blog/2016/07/15/building-gmail-filters-with-php /blog/building-gmail-filters-with-php blog/2016/12/30/drupal-vm-generator-291-released /blog/drupal-vm-generator-291-released blog/2017/01/07/easier-sculpin-commands-with-composer-and-npm-scripts /blog/easier-sculpin-commands-with-composer-and-npm-scripts blog/2017/01/31/nginx-redirects-with-query-string-arguments /blog/nginx-redirects-with-query-string-arguments blog/2017/05/05/fixing-drupal-simpletest-docker /blog/2017/05/05/fixing-drupal-simpletest-issues-inside-docker-containers blog/2017/05/05/fixing-drupal-simpletest-issues-inside-docker-containers /blog/fixing-drupal-simpletest-issues-inside-docker-containers blog/2017/05/20/turning-drupal-module-into-feature /blog/turning-your-custom-drupal-module-feature blog/2017/06/09/introducing-the-drupal-meetups-twitterbot /blog/introducing-the-drupal-meetups-twitterbot blog/2017/07/13/publishing-sculpin-sites-with-github-pages /blog/publishing-sculpin-sites-github-pages blog/2017/11/07/tdd-test-driven-drupal /blog/tdd-test-driven-drupal blog/2017/11/07/writing-drupal-module-test-driven-development-tdd /blog/2017/11/07/tdd-test-driven-drupal blog/2018/01/30/drupalcamp-bristol-2018 /blog/drupalcamp-bristol-2018 blog/2018/02/05/using-tailwind-css-in-your-drupal-theme /blog/using-tailwind-css-in-your-drupal-theme blog/2018/02/27/looking-forward-to-drupalcamp-london /blog/looking-forward-to-drupalcamp-london blog/2018/02/27/queuing-private-messages-in-drupal-8 /blog/queuing-private-messages-in-drupal-8 blog/2018/02/28/building-the-new-phpsw-website /blog/building-the-new-phpsw-website blog/2018/03/02/yay-the-mediacurrent-contrib-half-hour-is-back /blog/yay-the-mediacurrent-contrib-half-hour-is-back blog/2018/03/04/tweets-from-drupalcamp-london /blog/tweets-from-drupalcamp-london blog/2018/04/23/back-to-the-future-git-diff-apply /blog/back-future-gits-diff-apply-commands blog/2018/05/06/creating-a-custom-phpunit-command-for-docksal /blog/creating-a-custom-phpunit-command-for-docksal blog/add-date-popup-calendar-custom-form /blog/how-add-date-popup-calendar-custom-form blog/adding-methods-decorating-entity-metadata-wrapper /blog/decorating-entity-metadata-wrapper-add-refactor-methods blog/announcing-the-drupal-vm-config-generator /blog/announcing-the-drupal-vm-generator blog/back-to-the-future-git-diff-apply /blog/back-future-gits-diff-apply-commands blog/building-gmail-filters-in-php /blog/building-gmail-filters-php blog/building-presentation-slides-reveal-js-tailwind-css /blog/building-presentation-slides-rst2pdf blog/building-speaker-leaderboard-php-south-wales-using-drupal-symfony /blog/building-speaker-leaderboard-php-south-wales-drupal-symfony blog/create-and-apply-patches /blog/how-create-apply-patches blog/create-flickr-photo-gallery-using-feeds-cck-and-views /blog/create-flickr-photo-gallery-using-feeds-cck-views blog/creating-and-using-custom-tokens-drupal-7 /blog/creating-using-custom-tokens-drupal-7 blog/creating-custom-docksal-commands /blog/creating-custom-phpunit-command-docksal blog/creating-custom-docksal-commands /blog/creating-custom-phpunit-command-docksal blog/debugging-drupal-commerce-promotions-illiminate-collections /blog/debugging-drupal-commerce-illuminate-collections blog/decorating-entity-metadata-wrapper-add-add-refactor-methods /blog/decorating-entity-metadata-wrapper-add-refactor-methods blog/dev-book-club-refactoring-chapter-1 /blog/dev-book-club-notes-refactoring-chapter-1 blog/drupal-8-commerce-fixing-no-such-customer-error-checkout /blog/drupal-8-commerce-fixing-error-on-user-checkout blog/drupal-8-commerce-fixing-no-such-customer-error-on-checkout /blog/drupal-8-commerce-fixing-no-such-customer-error-checkout blog/drupalcamp-london-2019-tickets /blog/drupalcamp-london-2019-tickets-available-call-sessions blog/drush-make-drupalbristol /talks/drush-make-drupalbristol blog/easier-git-repository-cloning-with-insteadof /blog/easier-git-repository-cloning-insteadof blog/easier-sculpin-commands-with-composer-and-npm-scripts /blog/easier-sculpin-commands-composer-npm-scripts blog/editing-meetup-videos-kdenlive /blog/editing-meetup-videos-linux-kdenlive blog/examples-of-laravel-collections-in-drupal /blog/using-laravel-collections-drupal blog/examples-of-laravel-collections-in-drupal /blog/using-laravel-collections-drupal blog/experimenting-with-events-in-drupal-8 /blog/experimenting-events-drupal-8 blog/fix-vagrant-loading-wrong-virtual-machine /blog/how-fix-vagrant-loading-wrong-virtual-machine blog/fixing-drupal-simpletest-docker /blog/fixing-drupal-simpletest-issues-inside-docker-containers blog/fixing-drupal-simpletest-docker /blog/fixing-drupal-simpletest-issues-inside-docker-containers blog/forward-one-domain-another-using-modrewrite-and-htaccess /blog/forward-one-domain-another-using-modrewrite-htaccess blog/git-format-patch /blog/git-format-patch-your-friend blog/how-easily-embed-typekit-fonts-your-drupal-website /blog/easily-embed-typekit-fonts-your-drupal-website blog/how-style-drupal-6s-taxonomy-lists-php-css-and-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-jquery blog/install-and-configure-subversion-svn-server-ubuntu /blog/how-install-configure-subversion-svn-server-ubuntu blog/live-blogging-symfonylive-london /blog/live-blogging-symfonylive-london-2019 blog/minimum-core-version /blog/how-define-minimum-drupal-core-version blog/nginx-redirects-with-query-string-arguments /blog/nginx-redirects-query-string-arguments blog/null-users-and-system-users-in-drupal /blog/null-users-system-users-drupal blog/overridding-phpcs-configuration-drupal-ci /blog/overriding-phpcs-configuration-drupal-ci blog/pantheon-settings-files /blog/include-environment-specific-settings-files-pantheon blog/pdfpc-pdf-presenter-console-notes /blog/presenting-pdf-slides-using-pdfpc-pdf-presenter-console blog/php-apps-subdirectory-nginx /blog/how-put-your-php-application-subdirectory-another-site-nginx blog/php-apps-subdirectory-nginx /blog/how-put-your-php-application-subdirectory-another-site-nginx blog/published-my-first-docker-images-docker-hub /blog/published-my-first-docker-images-docker-hub-adr-tools-sculpin-rst2pdf blog/publishing-sculpin-sites-with-github-pages /blog/publishing-sculpin-sites-github-pages blog/queuing-private-messages-in-drupal-8 /blog/queuing-private-messages-drupal-8 blog/quick-project-switching-in-phpstorm /blog/quick-project-switching-phpstorm blog/quick-project-switching-in-phpstorm /blog/quick-project-switching-phpstorm blog/quickly-apply-patches-using-git-and-curl-or-wget /blog/quickly-apply-patches-using-git-curl-or-wget blog/rebuilding-bartik-with-vuejs-tailwind-css /blog/rebuilding-bartik-drupals-default-theme-vuejs-tailwind-css blog/rebuilding-bartik-with-vuejs-tailwind-css-part-2 /blog/rebuilding-bartik-drupals-default-theme-vuejs-tailwind-css-part-2 blog/rebuilding-uis-tailwind-css /blog/uis-ive-rebuilt-tailwind-css blog/restructuring-my-tailwindjs-config-files /blog/restructuring-my-tailwindjs-configuration-files blog/retrieving-profile-data-user-using-entity-metadata-wrapper /blog/cleanly-retrieving-user-profile-data-using-entity-metadata-wrapper blog/running-drupal-with-symfony-local-server /blog/running-drupal-88-symfony-local-server blog/running-phpunit-tests-docksal-phpstorm /blog/how-run-drupal-8-phpunit-tests-within-docksal-phpstorm blog/simplifying-drupal-migrations-with-xautoload /blog/simplifying-drupal-migrations-xautoload blog/speaking-drupalcon-barcelona-2020 /blog/speaking-drupalcon-europe-2020 blog/speaking-during-lockdown /blog/speaking-remotely-during-covid-19 blog/speaking-remotely-during-lockdown /blog/speaking-remotely-during-covid-19 blog/survey-results-my-drupalcon-europe-session /blog/survey-results-my-drupalcon-europe-session-test-driven-drupal blog/system-users-null-users /blog/null-users-and-system-users-in-drupal blog/test-driven-drupal-presentation-drupalcon-europe-0 /blog/test-driven-drupal-presentation-drupalcon-europe blog/test-driven-drupal-session-drupalcon-europe /blog/test-driven-drupal-presentation-drupalcon-europe blog/test-driven-drupal-session-video-drupalcon-europe /blog/test-driven-drupal-presentation-drupalcon-europe blog/testing-tailwind-css-plugins-with-jest /blog/testing-tailwind-css-plugins-jest blog/tweets-from-drupalcamp-london /blog/tweets-drupalcamp-london blog/updating-features-and-adding-components-using-drush /blog/updating-features-adding-components-using-drush blog/use-regular-expressions-search-and-replace-coda-or-textmate /blog/use-regular-expressions-search-replace-coda-or-textmate blog/using-environment-variables-settings-docksal /blog/how-use-environment-variables-your-drupal-settings-docksal blog/using-tailwind-css-in-your-drupal-theme /blog/using-tailwind-css-your-drupal-theme blog/using-the-pcss-extension-postcss-webpack-encore /blog/using-pcss-extension-postcss-webpack-encore blog/weeknotes-june-5th /blog/weeknotes-2021-06-05 blog/writing-drupal-module-test-driven-development-tdd /blog/writing-new-drupal-8-module-using-test-driven-development-tdd book /test-driven-drupal calendar https://savvycal.com/opdavies/chat cms-philly /articles/presenting-on-tailwind-css-and-ansible-at-cms-philly code-enigma-interview https://blog.codeenigma.com/interview-with-a-drupal-expert-9fcd8e0fad28 contrib-half-hour https://www.youtube.com/playlist?list=PLu-MxhbnjI9rHroPvZO5LEUhr58Yl0j_F contribution-day https://github.com/microserve-io/contribution-day/ cv https://cv.oliverdavies.uk d0P5z /talks/drupal-8-php-libraries-drupalorg-api dcbristol-cfp https://www.papercall.io/drupalcamp-bristol-2019 dcbristol17-videos https://www.youtube.com/playlist?list=PLOwPvExSyLLngtd6R4PUD9MCXa6QL_obA dcbristol19-announced /articles/drupalcamp-bristol-2019-speakers-sessions-announced dclondon-sat https://drupalcamp.london/schedule/saturday dclondon-sun https://drupalcamp.london/schedule/sunday dclondon20 /articles/drupalcamp-london-testing-workshop ddev-phpunit-command /blog/creating-custom-phpunit-command-ddev deploying-php-ansible /talks/deploying-php-ansible-ansistrano dks7E https://www.youtube.com/watch?v=PLS4ET7FAcU do-library https://github.com/opdavies/drupalorg-api-php do-projects https://github.com/opdavies/drupal-module-drupalorg-projects docksal-phpunit-phpstorm /articles/running-phpunit-tests-docksal-phpstorm docksal-posts /articles/tags/docksal dransible https://github.com/opdavies/dransible dransible-drupal-9 /blog/upgrading-dransible-project-drupal-9 drupal-bristol-march-19 https://docs.google.com/presentation/d/1pk9LIN-hHX73kvDdo-lzgmKlAeH33_K_uvI0t7A-rvY/edit?usp=sharing drupal-core-live-stream https://www.youtube.com/watch?v=OK4FWwh1gQU drupal-core-testing-gate https://www.drupal.org/core/gates#testing drupal-first-time-issues https://www.drupal.org/project/issues/search?text=&projects=&assigned=&submitted=&project_issue_followers=&status%5B%5D=Open&issue_tags_op=%3D&issue_tags=Novice drupal-forum-post http://www.webmaster-forums.net/webmasters-corner/developing-my-website-using-php-and-mysql#comment-1231537 drupal-marketplace-uk https://www.drupal.org/drupal-services?offices%5B%5D=24460 drupal-meetups-twitterbot /articles/introducing-the-drupal-meetups-twitterbot drupal-novice-issues https://www.drupal.org/project/issues/search?text=&projects=&assigned=&submitted=&project_issue_followers=&status%5B%5D=Open&issue_tags_op=%3D&issue_tags=Novice drupal-php-developer-consultant-uk /drupal-php-developer drupal-tailwind-demo https://www.youtube.com/watch?v=1eM-Gw6GI4g drupal-tailwindcss https://www.drupal.org/project/tailwindcss drupal-vuejs /talks/decoupling-drupal-vuejs/ drupalcamp-london-2019-tickets /articles/drupalcamp-london-2019-tickets drupalcamp-nyc-training https://www.youtube.com/watch?v=3M9c4UUzKm0 drupalorg https://www.drupal.org/u/opdavies drupalorg-project-issues https://www.drupal.org/project/issues/search?projects=Override+Node+Options%2C+Tailwind+CSS+Starter+Kit%2C+Block+ARIA+Landmark+Roles%2C+Copyright+Block+module%2C+System+User%2C+Null+User%2C+Collection+class%2C+Pathauto+Menu+Link%2C+Webform+ARIA&project_issue_followers=&status%5B%5D=1&status%5B%5D=13&status%5B%5D=8&status%5B%5D=14&status%5B%5D=15&issue_tags_op=%3D drupalversary https://github.com/opdavies/drupal-module-drupalversary elewant https://elewant.com/shepherd/admire/opdavies first-drupal-core-issue https://www.drupal.org/project/drupal/issues/753898 first-npm-package https://www.npmjs.com/package/tailwindcss-vuejs freeagent https://opdavies.freeagent.com git-flow /talks/git-flow gitlab https://gitlab.com/opdavies gitstore https://enjoy.gitstore.app/maintainers/opdavies gmail-filters https://gitlab.com/opdavies/gmail-filters images/me-precedent.jpg /sites/default/files/images/social-avatar.jpg inviqa-tailwind-demo https://play.tailwindcss.com/Yfmw8O5UNN inviqa-tailwind-notes https://gist.github.com/opdavies/e6f0f4938506a6859acf1aca8b4e1a74 join-php-south-wales-slack https://join.slack.com/t/phpsouthwales/shared_invite/zt-4vuetc43-AvtEK1WqNzp5k1w4yWKOJA jy6rW https://www.meetup.com/PHP-South-Wales/events/264731393 kB6Jd /articles/running-drupal-with-symfony-local-server/ kmDRA https://www.bbc.co.uk/news/uk-46561779 leeds-php-drupal-9 https://www.meetup.com/leedsphp/events/272504993 links / london-half-term-map https://www.google.com/maps/d/u/0/viewer?mid=1d-7ruqjlm2vKF_Fwhu_-5CDfr2TyUuhB&hl=en&ll=51.50411420613797%2C-0.12409831347656564&z=13 luke-dinosaurs https://luke-dinosaurs.netlify.com/ luke-recycling https://luke-recycling.netlify.com/ microserve-issues https://www.drupal.org/project/issues/search?status[]=Open&issue_tags=Microserve microserve-issues-need-review https://www.drupal.org/project/issues/search?projects=&project_issue_followers=&status%5B%5D=8&issue_tags_op=%3D&issue_tags=Microserve npm https://www.npmjs.com/~opdavies oFlkS /articles/test-driven-drupal-on-gitstore-leanpub oliver-davies-uk-based-drupal-symfony-developer /oliver-davies-uk-based-drupal-php-developer photo-lab-fun-family-portraits https://www.apple.com/uk/today/event/photo-lab-fun-family-portraits/6512343695143329889 php-ansible /talks/deploying-php-ansible-ansistrano php-south-wales-sept-19 https://joind.in/event/php-south-wales---september-2019-double-docker php-south-wales-slack-invite https://join.slack.com/t/phpsouthwales/shared_invite/zt-4vuetc43-AvtEK1WqNzp5k1w4yWKOJA php-south-wales-videos https://www.youtube.com/channel/UCzQRSSaIV2Ajvl81BxPQDZA pv176 https://www.sainsburys.co.uk/shop/gb/groceries/paper---notebooks-44/sainsburys-home-midnight-opulence-a4-floral-notebook-133870966-p qSHAl /articles/published-my-first-npm-package/ qT1Rb https://github.com/opdavies/drupal-meetups-twitterbot rebuilding-acquia https://rebuilding-acquia.oliverdavies.uk rebuilding-bartik /articles/rebuilding-bartik-with-vuejs-tailwind-css rebuilding-bristol-js https://github.com/opdavies/rebuilding-bristol-js rebuilding-pantheon https://play.tailwindcss.com/LND98XihGI?layout=horizontal rebuilding-platformsh https://rebuilding-platformsh.oliverdavies.uk rebuilding-symfony https://github.com/opdavies/rebuilding-symfony rk29B https://www.meetup.com/PHP-South-Wales/events/268422525 rss /feed ruralelec-slider https://www.youtube.com/watch?v=-x80ymicm5E s9MjJ https://symfonycasts.com/screencast/symfony sIGnJ https://microserve.io sculpin-encore-versioning https://github.com/opdavies/oliverdavies.uk/commit/d192b04aefa6e7a21bfc1f2e0fe0a16111e0e8a2 skills https://opdavies-skills-tailwindcss.netlify.com/ slides-drupal-9 https://slides-upgrading-to-drupal-9.oliverdavies.uk slides-upgrading-to-drupal-9 https://slides-upgrading-to-drupal-9.oliverdavies.uk slides-upgrading-to-drupal-9/index.html https://slides-upgrading-to-drupal-9.oliverdavies.uk slides-working-with-workspace https://slides-working-with-workspace.oliverdavies.uk speaker-info /about/speaker-information speaking-videos https://www.youtube.com/playlist?list=PLHn41Ay7w7kfAzczswrANch5oHAPZBlvu sprint-day https://github.com/microserve-io/contribution-day/ sprint-setup https://github.com/microserve-io/contribution-day/ stream https://www.youtube.com/channel/UCkeK0qF9HHUPQH_fvn4ghqQ/live swap-markdown-parser https://github.com/opdavies/sculpin-twig-markdown-bundle-example/tree/swap-markdown-parser symfony https://connect.symfony.com/profile/opdavies symfony-server /articles/running-drupal-with-symfony-local-server symfonylive /articles/live-blogging-symfonylive-london symposium https://symposiumapp.com/u/opdavies tailwind-css-talk /talks/taking-flight-tailwind-css tailwind-repos https://github.com/opdavies?utf8=%E2%9C%93&tab=repositories&q=tailwindcss tailwind-talk /talks/taking-flight-with-tailwind-css tailwindcss-demo http://tailwindcss-demo.oliverdavies.uk/ talks-offer-tweet https://twitter.com/opdavies/status/1250870367712935938 talks/2012/09/05/what-is-this-drupal-thing-unified-diff /talks/what-is-this-drupal-thing talks/2013/07/10/drupal-ldap-swdug /talks/drupal-ldap talks/2014/03/01/git-flow-drupalcamp-london-2014 /talks/git-flow talks/2014/07/02/drush-make-drupalbristol-drupal-bristol /talks/drush-make-drupalbristol talks/2014/08/19/drupal-association-swdug /talks/drupal-association talks/2015/01/18/drupalorg-2015-drupalcamp-brighton-2015 /talks/drupalorg-in-2015-whats-coming-next talks/2015/02/28/drupalorg-2015-drupalcamp-london-2015 /talks/drupalorg-in-2015-whats-coming-next talks/2015/04/08/drupal-8-phpsw /talks/drupal-8 talks/2015/07/25/test-drive-twig-with-sculpin-drupalcamp-north-2015 /talks/test-drive-twig-with-sculpin talks/2015/08/25/dancing-for-drupal-umbristol /talks/dancing-for-drupal talks/2015/10/14/sculpin-phpsw /talks/sculpin talks/2016/03/05/drupal-8-module-development-drupalcamp-london-2016 /talks/getting-started-with-drupal-8-module-development talks/2016/03/09/drupal-vm-generator-nwdug /talks/drupal-vm-generator talks/2016/04/02/drupal-vm-generator-drupal-bristol /talks/drupal-vm-generator talks/2016/06/11/drupal-8-rejoining-the-herd-php-south-coast-2016 /talks/drupal-8-rejoining-the-herd talks/2016/07/23/drupal-vm-meet-symfony-console-drupalcamp-bristol-2016 /talks/drupal-vm-meet-symfony-console talks/2016/11/09/drupal-development-with-composer-phpsw /talks/drupal-development-with-composer talks/2016/11/17/goodbye-drush-make-hello-composer-drupal-bristol /talks/goodbye-drush-make-hello-composer talks/2017/01/18/getting-your-data-into-drupal-8-drupal-bristol /talks/getting-your-data-into-drupal-8 talks/2017/03/04/getting-your-data-into-drupal-8-drupalcamp-london-2017 /talks/getting-your-data-into-drupal-8 talks/ansible-ansistrano https://www.oliverdavies.uk/talks/deploying-php-ansible-ansistrano talks/archive /talks talks/deploying-php-applications-with-fabric /talks/deploying-php-fabric talks/drupal-vm-generator-2 /talks/drupal-vm-generator talks/drupalorg-2015-2 /talks/drupalorg-2015 talks/drupalorg-in-2015-whats-coming-next /talks/drupalorg-2015 talks/getting-started-with-drupal-8-module-development /drupal-8-module-development talks/having-fun-drupal-8-php-libraries-drupalorg-api /talks/drupal-8-php-libraries-drupalorg-api talks/never-commit-master-introduction-git-flow /talks/git-flow talks/sculpin /talks/building-static-websites-sculpin talks/tailwind /talks/taking-flight-with-tailwind-css/ talks/using-laravel-collections-outside-laravel /talks/using-illuminate-collections-outside-laravel talks/working-workspace /talks/working-with-workspace tdd-blog https://github.com/opdavies/drupal-module-tdd-blog tdd-test-driven-drupal /talks/tdd-test-driven-drupal/ test-driven-drupal-book /test-driven-drupal testing-drupal https://www.oliverdavies.uk/talks/tdd-test-driven-drupal testing-drupal-intro https://inviqa.com/blog/drupal-automated-testing-introduction testing-tailwind-plugins /articles/testing-tailwindcss-plugins-with-jest testing-workshop https://github.com/opdavies/workshop-drupal-automated-testing testing-workshop-code https://github.com/opdavies/workshop-drupal-automated-testing-code todoist-filters https://gist.github.com/opdavies/6709fbdac5c3babbd94137bcc8b8e3c2 twitter-tweaks https://github.com/opdavies/chrome-extension-twitter-tweaks upgrading-to-drupal-9 /talks/upgrading-your-site-drupal-9 uxbjV https://www.drupal.org/project/copyright_block vyTEF https://www.npmjs.com/package/tailwindcss-vuejs webpack-encore-pcss-regex https://regexr.com/51iaf wordcamp-bristol-tailwindcss https://2019.bristol.wordcamp.org/session/taking-flight-with-tailwind-css wordpress-tailwind https://github.com/opdavies/wordcamp-bristol-2019 working-with-workspace /talks/working-with-workspace workshop-drupal-testing https://github.com/opdavies/workshop-drupal-automated-testing workspace-demo https://github.com/opdavies/working-with-workspace-demo wp-tailwind https://wp-tailwind.oliverdavies.uk wp-tailwind-repo https://github.com/opdavies/wordcamp-bristol-2019 wp-tailwind-starter https://github.com/opdavies/wordpress-tailwindcss-startker-kit wp-tailwind-static https://wp-tailwind.oliverdavies.uk yXhoS /talks/things-you-should-know-about-php https://oliverdavies.uk/* https://www.oliverdavies.uk/:splat 301! https://romantic-williams-0ab86a.netlify.com/* https://www.oliverdavies.uk/:splat 301! https://www.oliverdavies.uk/articles/* https://www.oliverdavies.uk/blog/:splat 301!