From 55f36834417d5be7a1c9f6decbd0f1a7ca60c6fa Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sat, 24 Jul 2021 02:11:36 +0100 Subject: [PATCH] Remove duplicate redirects Remove redirects from articles to blog posts, which are already covered by the wildcard redirect. --- .../nginx/root/etc/nginx/conf.d/default.conf | 205 ------------------ 1 file changed, 205 deletions(-) diff --git a/tools/docker/images/nginx/root/etc/nginx/conf.d/default.conf b/tools/docker/images/nginx/root/etc/nginx/conf.d/default.conf index ca3e8cca..7217410c 100644 --- a/tools/docker/images/nginx/root/etc/nginx/conf.d/default.conf +++ b/tools/docker/images/nginx/root/etc/nginx/conf.d/default.conf @@ -32,211 +32,6 @@ map $uri $new_uri { ~^/ansistrano-demo$ https://www.youtube.com/watch?v=PLS4ET7FAcU; ~^/ansistrano-slides$ /talks/deploying-php-ansible-ansistrano; ~^/articles/(.*)$ /blog/$1; - ~^/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/rebuilding-bartik-with-vuejs-tailwind-css$ /blog/rebuilding-bartik-drupals-default-theme-vuejs-tailwind-css; - ~^/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/testing-tailwindcss-plugins-with-jest/?$ /blog/testing-tailwind-css-plugins-jest; - ~^/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-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$ /rss.xml;