Add and configure redirect bundle.

This commit is contained in:
Oliver Davies 2017-07-10 07:05:12 +01:00
parent 9deeaf6772
commit 1c07b44f1b
112 changed files with 288 additions and 128 deletions

129
app.yml
View file

@ -12,132 +12,9 @@ sculpin:
composer:
install: yes
redirects:
"^/about": { to: "/" }
"^/blog/10-useful-drupal-6-modules": { to: "/blog/2010/06/25/10-useful-drupal-6-modules" }
"^/blog/2012/07/nomensa-accessible-media-player-drupal": { to: "/blog/install-nomensa-media-player-drupal/" }
"^/blog/2017/05/05/fixing-drupal-simpletest-issues-inside-docker-containers": { to: "/blog/2017/05/05/fixing-drupal-simpletest-docker" }
"^/blog/accessible-bristol-site-launched": { to: "/blog/2012/11/15/accessible-bristol-site-launched" }
"^/blog/add-date-popup-calendar-custom-form": { to: "/blog/2012/05/23/add-date-popup-calendar-custom-form" }
"^/blog/add-taxonomy-term-multiple-nodes-using-sql": { to: "/blog/2010/07/07/add-taxonomy-term-multiple-nodes-using-sql" }
"^/blog/adding-custom-theme-templates-drupal-7": { to: "/blog/2012/04/19/adding-custom-theme-templates-drupal-7" }
"^/blog/announcing-the-drupal-vm-config-generator": { to: "/blog/announcing-the-drupal-vm-generator" }
"^/blog/announcing-the-drupal-vm-generator": { to: "/blog/2016/02/15/announcing-the-drupal-vm-generator" }
"^/blog/automating-sculpin-jenkins": { to: "/blog/2015/07/21/automating-sculpin-jenkins" }
"^/blog/building-gmail-filters-with-php": { to: "/blog/2016/07/15/building-gmail-filters-with-php" }
"^/blog/change-content-type-multiple-nodes-using-sql": { to: "/blog/2010/07/01/change-content-type-multiple-nodes-using-sql" }
"^/blog/checking-if-user-logged-drupal-right-way": { to: "/blog/2013/01/09/checking-if-user-logged-drupal-right-way" }
"^/blog/checkout-specific-revision-svn-command-line": { to: "/blog/2012/05/23/checkout-specific-revision-svn-command-line" }
"^/blog/conditional-email-addresses-webform": { to: "/blog/2010/05/06/conditional-email-addresses-webform" }
"^/blog/create-a-zen-sub-theme-using-drush": { to: "/blog/2013/09/06/create-a-zen-sub-theme-using-drush" }
"^/blog/create-and-apply-patches": { to: "/blog/2010/10/10/create-and-apply-patches" }
"^/blog/create-better-photo-gallery-drupal-part-1": { to: "/blog/2010/08/11/create-better-photo-gallery-drupal-part-1" }
"^/blog/create-better-photo-gallery-drupal-part-2": { to: "/blog/2010/08/17/create-better-photo-gallery-drupal-part-2" }
"^/blog/create-better-photo-gallery-drupal-part-21": { to: "/blog/2010/10/22/create-better-photo-gallery-drupal-part-21" }
"^/blog/create-better-photo-gallery-drupal-part-3": { to: "/blog/2010/10/13/create-better-photo-gallery-drupal-part-3" }
"^/blog/create-block-social-media-icons-using-cck-views-and-nodequeue": { to: "/blog/2010/06/23/create-block-social-media-icons-using-cck-views-and-nodequeue" }
"^/blog/create-flickr-photo-gallery-using-feeds-cck-and-views": { to: "/blog/2010/06/28/create-flickr-photo-gallery-using-feeds-cck-and-views" }
"^/blog/create-multigroups-drupal-7-using-field-collections": { to: "/blog/2011/08/28/create-multigroups-drupal-7-using-field-collections" }
"^/blog/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush": { to: "/blog/2012/04/16/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush" }
"^/blog/create-slideshow-multiple-images-using-fancy-slide": { to: "/blog/2010/05/25/create-slideshow-multiple-images-using-fancy-slide" }
"^/blog/create-virtual-hosts-mac-os-x-using-virtualhostx": { to: "/blog/2010/07/02/create-virtual-hosts-mac-os-x-using-virtualhostx" }
"^/blog/creating-and-using-custom-tokens-drupal-7": { to: "/blog/2013/02/16/creating-and-using-custom-tokens-drupal-7" }
"^/blog/creating-local-and-staging-sites-drupals-domain-module-enabled": { to: "/blog/2013/07/17/creating-local-and-staging-sites-drupals-domain-module-enabled" }
"^/blog/display-custom-menu-drupal-7-theme-template-file": { to: "/blog/2012/08/18/display-custom-menu-drupal-7-theme-template-file" }
"^/blog/display-git-branch-or-tag-names-your-bash-prompt": { to: "/blog/2013/04/27/display-git-branch-or-tag-names-your-bash-prompt" }
"^/blog/display-number-facebook-fans-php": { to: "/blog/2011/03/15/display-number-facebook-fans-php" }
"^/blog/dividing-drupals-process-and-preprocess-functions-separate-files": { to: "/blog/2012/05/24/dividing-drupals-process-and-preprocess-functions-separate-files" }
"^/blog/dont-bootstrap-drupal-use-drush": { to: "/blog/2013/11/19/dont-bootstrap-drupal-use-drush" }
"^/blog/download-different-versions-drupal-drush": { to: "/blog/2013/12/31/download-different-versions-drupal-drush" }
"^/blog/drupal-association": { to: "/blog/2014/05/03/drupal-association" }
"^/blog/drupal-vm-generator-291-released": { to: "/blog/2016/12/30/drupal-vm-generator-291-released" }
"^/blog/drupalcamp-london-2014": { to: "/blog/2014/02/09/drupalcamp-london-2014" }
"^/blog/drush-make-drupalbristol": { to: "/blog/2014/07/02/drush-make-drupalbristol" }
"^/blog/easier-sculpin-commands-with-composer-and-npm-scripts": { to: "/blog/2017/01/07/easier-sculpin-commands-with-composer-and-npm-scripts" }
"^/blog/easily-embed-typekit-fonts-your-drupal-website": { to: "/blog/2011/02/14/easily-embed-typekit-fonts-your-drupal-website" }
"^/blog/fix-vagrant-loading-wrong-virtual-machine": { to: "/blog/2014/10/06/fix-vagrant-loading-wrong-virtual-machine" }
"^/blog/forward-one-domain-another-using-modrewrite-and-htaccess": { to: "/blog/2012/05/23/forward-one-domain-another-using-modrewrite-and-htaccess" }
"^/blog/git-format-patch": { to: "/blog/2014/05/21/git-format-patch" }
"^/blog/going-drupalcon": { to: "/blog/2013/07/26/going-drupalcon" }
"^/blog/how-to-define-a-minimum-drupal-core-version": { to: "/blog/2015/04/03/how-to-define-a-minimum-drupal-core-version" }
"^/blog/imagefield-import-archive": { to: "/blog/2011/05/23/imagefield-import-archive" }
"^/blog/improve-jpg-quality-imagecache-and-imageapi": { to: "/blog/2010/06/02/improve-jpg-quality-imagecache-and-imageapi" }
"^/blog/include-css-fonts-using-sass-each-loop": { to: "/blog/2014/11/18/include-css-fonts-using-sass-each-loop" }
"^/blog/include-local-drupal-settings-file-environment-configuration-and-overrides": { to: "/blog/2014/12/20/include-local-drupal-settings-file-environment-configuration-and-overrides" }
"^/blog/install-and-configure-subversion-svn-server-ubuntu": { to: "/blog/2011/10/19/install-and-configure-subversion-svn-server-ubuntu" }
"^/blog/install-nomensa-media-player-drupal": { to: "/blog/2012/07/14/install-nomensa-media-player-drupal" }
"^/blog/installing-nagios-centos": { to: "/blog/2012/04/17/installing-nagios-centos" }
"^/blog/leaving-nomensa-joining-precedent": { to: "/blog/2013/04/20/leaving-nomensa-joining-precedent" }
"^/blog/my-new-drupal-modules": { to: "/blog/2012/07/12/my-new-drupal-modules" }
"^/blog/my-sublime-text-2-settings": { to: "/blog/2012/10/25/my-sublime-text-2-settings" }
"^/blog/nginx-redirects-with-query-string-arguments": { to: "/blog/2017/01/31/nginx-redirects-with-query-string-arguments" }
"^/blog/open-sublime-text-2-mac-os-x-command-line": { to: "/blog/2012/11/17/open-sublime-text-2-mac-os-x-command-line" }
"^/blog/pantheon-settings-files": { to: "/blog/2014/11/27/pantheon-settings-files" }
"^/blog/prevent-apache-displaying-text-files-within-web-browser": { to: "/blog/2012/05/23/prevent-apache-displaying-text-files-within-web-browser" }
"^/blog/proctor-stevenson": { to: "/blog/2011/03/31/proctor-stevenson" }
"^/blog/proctors-hosting-next-drupal-meetup": { to: "/blog/2011/05/20/proctors-hosting-next-drupal-meetup" }
"^/blog/programmatically-load-an-entityform-in-drupal-7": { to: "/blog/2015/12/22/programmatically-load-an-entityform-in-drupal-7" }
"^/blog/quickest-way-install-sublime-text-2-ubuntu": { to: "/blog/2013/03/02/quickest-way-install-sublime-text-2-ubuntu" }
"^/blog/quickly-apply-patches-using-git-and-curl-or-wget": { to: "/blog/2013/12/24/quickly-apply-patches-using-git-and-curl-or-wget" }
"^/blog/quickly-create-zen-subthemes-using-zenophile": { to: "/blog/2010/05/10/quickly-create-zen-subthemes-using-zenophile" }
"^/blog/quickly-import-multiples-images-using-imagefieldimport-module": { to: "/blog/2010/05/29/quickly-import-multiples-images-using-imagefieldimport-module" }
"^/blog/reflections-speaking-unifieddiff": { to: "/blog/2012/09/06/reflections-speaking-unifieddiff" }
"^/blog/review-adminhover-module": { to: "/blog/2010/08/10/review-adminhover-module" }
"^/blog/review-image-caption-module": { to: "/blog/2010/08/20/review-image-caption-module" }
"^/blog/review-teleport-module": { to: "/blog/2010/07/12/review-teleport-module" }
"^/blog/sculpin-twig-resources": { to: "/blog/2015/07/19/sculpin-twig-resources" }
"^/blog/simplifying-drupal-migrations-with-xautoload": { to: "/blog/2016/05/03/simplifying-drupal-migrations-with-xautoload" }
"^/blog/site-upgraded-drupal-7": { to: "/blog/2012/01/04/site-upgraded-drupal-7" }
"^/blog/some-useful-git-aliases": { to: "/blog/2014/01/15/some-useful-git-aliases" }
"^/blog/some-useful-links-using-simpletest-drupal": { to: "/blog/2013/06/13/some-useful-links-using-simpletest-drupal" }
"^/blog/south-wales-drupal-user-group": { to: "/blog/2010/09/26/south-wales-drupal-user-group" }
"^/blog/style-drupal-6s-taxonomy-lists-php-css-and-jquery": { to: "/blog/2010/04/05/style-drupal-6s-taxonomy-lists-php-css-and-jquery" }
"^/blog/thanks": { to: "/blog/2014/05/06/thanks" }
"^/blog/updating-features-and-adding-components-using-drush": { to: "/blog/2014/10/21/updating-features-and-adding-components-using-drush" }
"^/blog/updating-forked-repositories-on-github": { to: "/blog/2015/06/18/updating-forked-repositories-on-github" }
"^/blog/use-authorized-keys-create-passwordless-ssh-connection": { to: "/blog/2012/02/01/use-authorized-keys-create-passwordless-ssh-connection" }
"^/blog/use-regular-expressions-search-and-replace-coda-or-textmate": { to: "/blog/2010/11/04/use-regular-expressions-search-and-replace-coda-or-textmate" }
"^/blog/use-sass-and-compass-drupal-7-using-sassy": { to: "/blog/2012/12/06/use-sass-and-compass-drupal-7-using-sassy" }
"^/blog/useful-vagrant-commands": { to: "/blog/2013/11/27/useful-vagrant-commands" }
"^/blog/using-imagecache-and-imagecrop-my-portfolio": { to: "/blog/2010/04/28/using-imagecache-and-imagecrop-my-portfolio" }
"^/blog/using-remote-files-when-developing-locally-with-stage-file-proxy-module": { to: "/blog/2014/11/20/using-remote-files-when-developing-locally-with-stage-file-proxy-module" }
"^/blog/what-git-flow": { to: "/blog/2014/03/03/what-git-flow" }
"^/blog/writing-article-linux-journal": { to: "/blog/2012/07/27/writing-article-linux-journal" }
"^/blog/writing-info-file-drupal-7-theme": { to: "/blog/2012/05/23/writing-info-file-drupal-7-theme" }
"^/consulting": { to: "/" }
"^/cv": { to: "https://gitprint.com/opdavies/cv/blob/master/README.md" }
"^/drupalgive": { to: "https://www.drupal.org/u/opdavies" }
"^/git-flow": { to: "/talks/git-flow" }
"^/portfolio": { to: "/projects" }
"^/services": { to: "/experience" }
"^/slides/bristol-dug/drupal-vm-generator": { to: "http://opdavies.github.io/slides-drupal-vm-generator" }
"^/slides/phpsw/building-static-websites-with-sculpin": { to: "https://opdavies.github.io/slides-phpsw-sculpin" }
"^/speaking": { to: "/talks" }
"^/talks/2012/09/05/what-is-this-drupal-thing-unified-diff": { to: "/talks/what-is-this-drupal-thing" }
"^/talks/2013/07/10/drupal-ldap-swdug": { to: "/talks/drupal-ldap" }
"^/talks/2014/03/01/git-flow-drupalcamp-london-2014": { to: "/talks/git-flow" }
"^/talks/2014/07/02/drush-make-drupalbristol-drupal-bristol": { to: "/talks/drush-make-drupalbristol" }
"^/talks/2014/08/19/drupal-association-swdug": { to: "/talks/drupal-association" }
"^/talks/2015/01/18/drupalorg-2015-drupalcamp-brighton-2015": { to: "/talks/drupalorg-in-2015-whats-coming-next" }
"^/talks/2015/02/28/drupalorg-2015-drupalcamp-london-2015": { to: "/talks/drupalorg-in-2015-whats-coming-next" }
"^/talks/2015/04/08/drupal-8-phpsw": { to: "/talks/drupal-8" }
"^/talks/2015/07/25/test-drive-twig-with-sculpin-drupalcamp-north-2015": { to: "/talks/test-drive-twig-with-sculpin" }
"^/talks/2015/08/25/dancing-for-drupal-umbristol": { to: "/talks/dancing-for-drupal" }
"^/talks/2015/10/14/sculpin-phpsw": { to: "/talks/sculpin" }
"^/talks/2016/03/05/drupal-8-module-development-drupalcamp-london-2016": { to: "/talks/getting-started-with-drupal-8-module-development" }
"^/talks/2016/03/09/drupal-vm-generator-nwdug": { to: "/talks/drupal-vm-generator" }
"^/talks/2016/04/02/drupal-vm-generator-drupal-bristol": { to: "/talks/drupal-vm-generator" }
"^/talks/2016/06/11/drupal-8-rejoining-the-herd-php-south-coast-2016": { to: "/talks/drupal-8-rejoining-the-herd" }
"^/talks/2016/07/23/drupal-vm-meet-symfony-console-drupalcamp-bristol-2016": { to: "/talks/drupal-vm-meet-symfony-console" }
"^/talks/2016/11/09/drupal-development-with-composer-phpsw": { to: "/talks/drupal-development-with-composer" }
"^/talks/2016/11/17/goodbye-drush-make-hello-composer-drupal-bristol": { to: "/talks/goodbye-drush-make-hello-composer" }
"^/talks/2017/01/18/getting-your-data-into-drupal-8-drupal-bristol": { to: "/talks/getting-your-data-into-drupal-8" }
"^/talks/2017/03/04/getting-your-data-into-drupal-8-drupalcamp-london-2017": { to: "/talks/getting-your-data-into-drupal-8" }
"^/talks/drupal-vm-generator-2": { to: "/talks/drupal-vm-generator" }
"^/talks/drupalorg-2015": { to: "/talks/drupalorg-in-2015-whats-coming-next" }
"^/talks/drupalorg-2015-2": { to: "/talks/drupalorg-in-2015-whats-coming-next" }
"^/terms-and-conditions": { to: "/terms" }
"^/work": { to: "/experience" }
# redirects:
# "^/cv": { to: "https://gitprint.com/opdavies/cv/blob/master/README.md" }
# "^/drupalgive": { to: "https://www.drupal.org/u/opdavies" }
deploy:
restart_php: false

View file

@ -1,5 +1,6 @@
<?php
use Mavimo\Sculpin\Bundle\RedirectBundle\SculpinRedirectBundle;
use Opdavies\Sculpin\Bundle\ContentGeneratorBundle\SculpinContentGeneratorBundle;
use Opdavies\Sculpin\Bundle\GistEmbedBundle\SculpinGistEmbedBundle;
use Opdavies\Sculpin\Bundle\TwigMarkdownBundle\SculpinTwigMarkdownBundle;
@ -20,6 +21,7 @@ class SculpinKernel extends AbstractKernel
return [
SculpinContentGeneratorBundle::class,
SculpinGistEmbedBundle::class,
SculpinRedirectBundle::class,
SculpinRelatedPostsBundle::class,
SculpinTwigMarkdownBundle::class,
SculpinTwigSortByFieldBundle::class

View file

@ -10,6 +10,7 @@
"behat/mink-extension": "@stable",
"behat/mink-goutte-driver": "@stable",
"dflydev/embedded-composer": "^1.0@dev",
"mavimo/sculpin-redirect-bundle": "@dev",
"opdavies/sculpin-content-generator-bundle": "@stable",
"opdavies/sculpin-gist-embed-bundle": "^0.1",
"opdavies/sculpin-twig-markdown-bundle": "^0.1",

49
composer.lock generated
View file

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"content-hash": "80a5430a08133725f4c575f27e2dc276",
"content-hash": "07647295865a5f602f8121fef18afc29",
"packages": [
{
"name": "behat/behat",
@ -1603,6 +1603,52 @@
],
"time": "2016-06-02T10:59:52+00:00"
},
{
"name": "mavimo/sculpin-redirect-bundle",
"version": "dev-master",
"target-dir": "Mavimo/Sculpin/Bundle/RedirectBundle",
"source": {
"type": "git",
"url": "https://github.com/mavimo/sculpin-redirect-bundle.git",
"reference": "5c42c401942008de04aa1e1d64161ca105568e2a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/mavimo/sculpin-redirect-bundle/zipball/5c42c401942008de04aa1e1d64161ca105568e2a",
"reference": "5c42c401942008de04aa1e1d64161ca105568e2a",
"shasum": ""
},
"require": {
"php": ">=5.3.2"
},
"type": "library",
"autoload": {
"psr-0": {
"Mavimo\\Sculpin\\Bundle\\RedirectBundle": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Marco Vito Moscaritolo",
"email": "marco@mavimo.org",
"homepage": "http://www.mavimo.org"
}
],
"description": "Sculpin Redirect Bundle",
"homepage": "https://sculpin.io",
"keywords": [
"blog",
"blogging",
"redirect",
"site",
"static"
],
"time": "2014-01-04 14:40:02"
},
{
"name": "michelf/php-markdown",
"version": "1.5.1",
@ -3782,6 +3828,7 @@
"behat/mink-extension": 0,
"behat/mink-goutte-driver": 0,
"dflydev/embedded-composer": 20,
"mavimo/sculpin-redirect-bundle": 20,
"opdavies/sculpin-content-generator-bundle": 0,
"sculpin/sculpin": 20
},

View file

@ -7,6 +7,8 @@ tags:
- drupal-theming
- taxonomy
use: [posts]
redirect:
- blog/style-drupal-6s-taxonomy-lists-php-css-and-jquery/
---
Whilst developing this, and other Drupal websites for clients, I decided that I wanted to categorise content using the taxonomy system. However, I wasn't happy with the way that Drupal displayed the terms lists by default, and I started comparing this to other websites that I look at.

View file

@ -9,6 +9,8 @@ tags:
- imagecrop
- imagefield
use: [posts]
redirect:
- blog/using-imagecache-and-imagecrop-my-portfolio/
---
Whilst working on my own portfolio/testimonial website, I decided to have a portfolio page displaying the name of each site and a thumbnail image. For this Blog post, I'll be using a site called [Popcorn Strips](http://popcornstrips.com) which I built for a friend earlier this year as an example.

View file

@ -7,6 +7,8 @@ tags:
- conditional-email
- webform
use: [posts]
redirect:
- blog/conditional-email-addresses-webform/
---
I created a new Webform to serve as a simple Contact form, but left the main configuration until after I created the form components. I added 'Name', 'Email', 'Subject' and 'Message' fields, as well as a 'Category' select list. Below 'Options', I entered each of my desired options in the following format:

View file

@ -8,6 +8,8 @@ tags:
- zen
- zenophile
use: [posts]
redirect:
- blog/quickly-create-zen-subthemes-using-zenophile/
---
If you use the [Zen](http://drupal.org/project/zen) theme, then you should also be using the [Zenophile](http://drupal.org/project/zenophile) module!

View file

@ -8,6 +8,8 @@ tags:
- fancy-slide
- slideshow
use: [posts]
redirect:
- blog/create-slideshow-multiple-images-using-fancy-slide/
---
Whilst updating my About page, I thought about creating a slideshow of several images instead of just the one static image. When I looking on Drupal.org, the only slideshow modules were to create slideshows of images that were attached to different nodes - not multiple images attached to one node. Then, I found the [Fancy Slide](http://drupal.org/project/fancy_slide) module. It's a jQuery Slideshow module with features that include integration with the [CCK](http://drupal.org/project/cck), [ImageCache](http://drupal.org/project/imagecache) and [Nodequeue](http://drupal.org/project/nodequeue) modules.

View file

@ -10,6 +10,8 @@ tags:
- cck
- imagefield
use: [posts]
redirect:
- blog/quickly-import-multiples-images-using-imagefieldimport-module/
---
**Thanks to Bob at [Mustardseed Media](http://mustardseedmedia.com) for [tweeting](http://twitter.com/mustardseedinc/status/14713096905) about this module. It's undoubtedly saved me hours of work today alone!**

View file

@ -6,6 +6,8 @@ tags:
- drupal-6
- imagecache
use: [posts]
redirect:
- blog/improve-jpg-quality-imagecache-and-imageapi/
---
Whilst uploading images for my Projects and Testimonials sections, I noticed that the Imagecache-scaled images weren't as high a quality the originals on my Mac. I did some searching online and found out that, by default, Drupal resamples uploaded jpgs to 75% of their original quality.

View file

@ -9,6 +9,8 @@ tags:
- nodequeue
- oliverdavies.co.uk
use: [posts]
redirect:
- blog/create-block-social-media-icons-using-cck-views-and-nodequeue/
---
I recently decided that I wanted to have a block displayed in a sidebar on my site containing icons and links to my social media profiles - [Twitter](http://twitter.com/opdavies), [Facebook](http://facebook.com/opdavies) etc. I tried the [Follow](http://drupal.org/project/follow) module, but it lacked the option to add extra networks such my [Drupal.org](http://drupal.org/user/381388) account, and my [RSS feed](http://oliverdavies.co.uk/rss.xml). I started to create my own version, and then found [this Blog post](http://www.hankpalan.com/blog/drupal-themes/add-your-social-connections-drupal-icons) by Hank Palan.

View file

@ -6,6 +6,8 @@ tags:
- drupal
- drupal-modules
use: [posts]
redirect:
- blog/10-useful-drupal-6-modules/
---
Aside from the obvious candidates such as Views, CCK etc, here are a list of 10 contributed modules that I currently use on each Drupal project.

View file

@ -13,6 +13,8 @@ tags:
- flickr
- imagefield
use: [posts]
redirect:
- blog/create-flickr-photo-gallery-using-feeds-cck-and-views/
---
In this tutorial, I'll show you how to create a photo gallery which uses photos imported from [Flickr](http://www.flickr.com).

View file

@ -10,6 +10,8 @@ tags:
- database
- content-types
use: [posts]
redirect:
- blog/change-content-type-multiple-nodes-using-sql/
---
In this post, I will be changing values within my Drupal 6 site's database to quickly change the content type of multiple nodes. I will be using a test development site with the core Blog module installed, and converting Blog posts to a custom content type called 'News article'.

View file

@ -8,6 +8,8 @@ tags:
- virtual-hosts
- virtualhostx
use: [posts]
redirect:
- blog/create-virtual-hosts-mac-os-x-using-virtualhostx/
---
This isn't a Drupal related topic per se, but it is a walk-through of one of the applications that I use whilst doing Drupal development work. I assume, like most Mac OS X users, I use [MAMP](http://www.mamp.info/en/index.html) to run Apache, MySQL and PHP locally whilst developing. I also use virtual hosts in Apache to create local .dev domains which are as close as possible to the actual live domains. For example, if I was developing a site called mysite.com, my local development version would be mysite.dev.

View file

@ -9,6 +9,8 @@ tags:
- sequal-pro
- database
use: [posts]
redirect:
- blog/add-taxonomy-term-multiple-nodes-using-sql/
---
**Update:** This can also be done using the [Views Bulk Operations](http://drupal.org/project/views_bulk_operations) module.

View file

@ -7,6 +7,8 @@ tags:
- drupal-modules
- teleport
use: [posts]
redirect:
- blog/review-teleport-module/
---
As a heavily-reliant [Quicksilver](http://en.wikipedia.org/wiki/Quicksilver_%28software%29) user on my MacBook Pro, I was glad when I found the [Teleport](http://drupal.org/project/teleport) module for [Drupal](http://drupal.org) *(due to Elliott Rothman's [tweet](http://twitter.com/elliotttt/status/18044234238))*.

View file

@ -8,6 +8,8 @@ tags:
- admin:hover
- administration
use: [posts]
redirect:
- blog/review-adminhover-module/
---
Sorry for the lack of Blog posts lately, but [my new job](http://horseandcountry.tv) that I started a few weeks ago has certainly been keeping me busy! I've got a few more posts that I'm preparing content for, and I'll hopefully be back into my weekly-post routine before too long!

View file

@ -12,6 +12,8 @@ tags:
- views-attach
- drupal
use: [posts]
redirect:
- blog/create-better-photo-gallery-drupal-part-1/
---
Recently, I converted a client's static HTML website, along with their Coppermine Photo Gallery, into a Drupal-powered website.

View file

@ -8,6 +8,8 @@ tags:
- sql
- sequel-pro
use: [posts]
redirect:
- blog/create-better-photo-gallery-drupal-part-2/
---
At the end of my last post, I'd finished creating the first part of the new photo gallery, but I wanted to change the dates of the published photos to reflect the ones on the client's original website.

View file

@ -8,6 +8,8 @@ tags:
- imagefield
- image-caption
use: [posts]
redirect:
- blog/review-image-caption-module/
---
Up until as recent as last week, whenever I added an image into one of my Blog posts, I was manually adding the caption below each image and styling it accordingly. That was until I installed the [Image Caption](http://drupal.org/project/image_caption) module.

View file

@ -7,6 +7,8 @@ tags:
- swdug
- meetups
use: [posts]
redirect:
- blog/south-wales-drupal-user-group/
---
If you do Drupal, and you're in the area, come and join us for the first South Wales Drupal User Group Meetup!

View file

@ -7,6 +7,8 @@ tags:
- modules
- patches
use: [posts]
redirect:
- blog/create-and-apply-patches/
---
{% block excerpt %}
Earlier this year, I posted a solution to [an issue](http://drupal.org/node/753898) on the Drupal.org issue queue. Originally, I just posted the code back onto the issue, but have now created a patch that can easily be applied to any Drupal 6 installation. Here is a run-through of the process of creating and applying a patch. In this case, I made changes to the `user_pass_validate()` function that's found within `modules/user/user.pages.inc`.

View file

@ -4,6 +4,8 @@ slug: create-better-photo-gallery-drupal-part-3
tags:
- drupal
use: [posts]
redirect:
- blog/create-better-photo-gallery-drupal-part-3/
---
The next part of the new gallery that I want to implement is to group the galleries by their respective categories. The first step is to edit my original photo_gallery view and add an additional display.

View file

@ -4,6 +4,8 @@ slug: create-better-photo-gallery-drupal-part-21
tags:
- drupal
use: [posts]
redirect:
- blog/create-better-photo-gallery-drupal-part-21/
---
Today, I realised that I hadn't published the code that I used to create the total figures of galleries and photos at the top of the gallery (I said at the end of [Part 2](/blog/create-better-photo-gallery-drupal-part-2/ "Create a Better Photo Gallery in Drupal - Part 2") that I'd include it in [Part 3](/blog/create-better-photo-gallery-drupal-part-3/ "Create a Better Photo Gallery in Drupal - Part 3"), but I forgot). So, here it is:

View file

@ -9,6 +9,8 @@ tags:
- regular-expression
- textmate
use: [posts]
redirect:
- blog/use-regular-expressions-search-and-replace-coda-or-textmate/
---
As in [the original post](/blog/add-taxonomy-term-multiple-nodes-using-sql/ "Quickly adding a taxonomy term to multiple nodes using SQL"), I'd generated a list of node ID values, and needed to add structure the SQL update statment formatted in a certain way. However, I changed my inital query slightly to out put the same nid value twice.

View file

@ -6,6 +6,8 @@ tags:
- drupal-6
- typekit
use: [posts]
redirect:
- blog/easily-embed-typekit-fonts-your-drupal-website/
---
To begin with, you will need to [register for a TypeKit account](https://typekit.com/plans) - there is a free version if you just want to try it out.

View file

@ -5,6 +5,8 @@ slug: display-number-facebook-fans-php
tags:
- php
use: [posts]
redirect:
- blog/display-number-facebook-fans-php/
---
Replace the $page_id value with your Page ID number (unless you want to show the number of fans for this site).You can find your Page ID by logging into your Facebook account, going to 'Adverts and Pages', clicking 'Edit page', and looking at the URL.

View file

@ -4,6 +4,8 @@ slug: proctor-stevenson
tags:
- personal
use: [posts]
redirect:
- blog/proctor-stevenson/
---
2 weeks ago, I handed in my notice of resignation to [Horse & Country TV](http://horseandcountry.tv)because I've been offered a new role at [Proctor & Stevenson](http://proctors.co.uk) - a Marketing Design and Communications agency in Bristol.

View file

@ -5,6 +5,8 @@ tags:
- meetups
- drupal-bristol
use: [posts]
redirect:
- blog/proctors-hosting-next-drupal-meetup/
---
My employer, [Proctor & Stevenson](http://www.proctors.co.uk), are going to be hosting the next Bristol & South West Drupal meetup on the 25th May at our offices.

View file

@ -4,6 +4,8 @@ tags:
- drupal-planet
- imagefield-import
use: [posts]
redirect:
- blog/imagefield-import-archive/
---
I've finally uploaded my first module onto Drupal.org!

View file

@ -10,6 +10,8 @@ tags:
- entity-api
- multigroup
use: [posts]
redirect:
- blog/create-multigroups-drupal-7-using-field-collections/
---
One of my favourite things lately in Drupal 6 has been CCK 3, and more specifically, the Content Multigroups sub-module. Basically this allows you to create a fieldset of various CCK fields, and then repeat that multiple times. For example, I use it on this site whist creating invoices for clients. I have a fieldset called 'Line Item', containing 'Description', 'Quantity' and 'Price' fields. With a standard fieldset, I could only have one instance of each field - however, using a multigroup, I can create multiple groups of line items which I then use within the invoice.

View file

@ -6,6 +6,8 @@ tags:
- ubuntu
- version-control
use: [posts]
redirect:
- blog/install-and-configure-subversion-svn-server-ubuntu/
---
Recently, I needed to set up a Subversion (SVN) server on a Ubuntu Linux server. This post is going to outline the steps taken, and the commands used, to install and configure the service.

View file

@ -2,6 +2,8 @@
title: Site Upgraded to Drupal 7
slug: site-upgraded-drupal-7
use: [posts]
redirect:
- blog/site-upgraded-drupal-7/
---
As the vast majority of the Drupal websites that I currently work on are built on Drupal 7, I thought that it was time that I upgraded this site. Following the [core upgrade process](http://drupal.org/node/570162) and the [CCK migration process](http://drupal.org/node/1144136), everything was upgraded smoothly without any issues.

View file

@ -5,6 +5,8 @@ tags:
- linux
- ssh
use: [posts]
redirect:
- blog/use-authorized-keys-create-passwordless-ssh-connection/
---
If you're accessing Linux servers or automating tasks between servers, rather than having to enter your user password every time, you can also use SSH public key authentication. This is a simple process that involves creating a local key and storing it within the *authorized_keys* file on the remote server.

View file

@ -9,6 +9,8 @@ tags:
- drupal-planet
- drupal
use: [posts]
redirect:
- blog/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush/
---
In this tutorial I'll be showing how to create an [Omega](http://drupal.org/project/omega) subtheme using the [Omega Tools](http://drupal.org/project/omega_tools) module, and have it working with the [LESS CSS preprocessor](http://lesscss.org).

View file

@ -6,6 +6,8 @@ tags:
- centos
- linux
use: [posts]
redirect:
- blog/installing-nagios-centos/
---
A great post details that details the steps needed to install [Nagios](http://nagios.org) - a popular open source system and network monitoring software application - on CentOS.

View file

@ -7,6 +7,8 @@ tags:
- drupal-planet
- drupal
use: [posts]
redirect:
- blog/adding-custom-theme-templates-drupal-7/
---
{% block excerpt %}
Today, I had a situation where I was displaying a list of teasers for news article nodes. The article content type had several different fields assigned to it, including main and thumbnail images. In this case, I wanted to have different output and fields displayed when a teaser was displayed compared to when a complete node was displayed.

View file

@ -6,6 +6,8 @@ tags:
- code
- drupal
use: [posts]
redirect:
- blog/prevent-apache-displaying-text-files-within-web-browser/
---
{% block excerpt %}
When you download [Drupal](http://drupal.org/project/drupal), there are several text files that are placed in the root of your installation. You don't want or need these to be visible to anyone attempting to view them in a browser - especially CHANGELOG.txt as that includes the exact version of Drupal you are running and could therefore have security implications.

View file

@ -5,6 +5,8 @@ tags:
- svn
- version-control
use: [posts]
redirect:
- blog/checkout-specific-revision-svn-command-line/
---
{% block excerpt %}
How to checkout a specific revision from a SVN (Subversion) repository.

View file

@ -10,6 +10,8 @@ tags:
- drupal-planet
- drupal
use: [posts]
redirect:
- blog/add-date-popup-calendar-custom-form/
---
{% block excerpt %}
How to use a date popup calendar within your custom module.

View file

@ -8,6 +8,8 @@ tags:
- apache
- mod_rewrite
use: [posts]
redirect:
- blog/forward-one-domain-another-using-modrewrite-and-htaccess/
---
{% block excerpt %}
How to use the .htaccess file to forward to a different domain.

View file

@ -7,6 +7,8 @@ tags:
- drupal
- code
use: [posts]
redirect:
- blog/writing-info-file-drupal-7-theme/
---
{% block excerpt %}
An example .info file for a Drupal 7 theme.

View file

@ -8,6 +8,8 @@ tags:
- theming
- preprocessing
use: [posts]
redirect:
- blog/dividing-drupals-process-and-preprocess-functions-separate-files/
---
{% block excerpt %}
If you use a lot of process and preprocess functions within your Drupal theme, then your template.php can get very long and it can become difficult to find a certain piece of code.

View file

@ -9,6 +9,8 @@ tags:
- drupal-planet
- accessibility
use: [posts]
redirect:
- blog/my-new-drupal-modules/
---
{% block excerpt %}
After a busy few days, I've released two new contrib Drupal modules.

View file

@ -7,6 +7,9 @@ tags:
- drupal-planet
- nomensa
use: [posts]
redirect:
- blog/2012/07/nomensa-accessible-media-player-drupal/
- blog/install-nomensa-media-player-drupal/
---
{% block excerpt %}
This week I released the first version of the Nomensa Accessible Media Player module for Drupal 7. Here's some instructions of how to install and configure it.

View file

@ -9,6 +9,8 @@ tags:
- writing
- linux-journal
use: [posts]
redirect:
- blog/writing-article-linux-journal/
---
{% block excerpt %}
I'm absolutely delighted to announce that I'm going to be writing an article for [Linux Journal](http://www.linuxjournal.com) magazine's upcoming Drupal special.

View file

@ -9,6 +9,8 @@ tags:
- php
- aria
use: [posts]
redirect:
- blog/display-custom-menu-drupal-7-theme-template-file/
---
{% block excerpt %}
For reference, this is the code needed to display a menu in a Drupal 7 template file, including the navigation ARIA role.

View file

@ -5,6 +5,8 @@ slug: reflections-speaking-unifieddiff
tags:
- talks
use: [posts]
redirect:
- blog/reflections-speaking-unifieddiff/
---
{% block excerpt %}
Yesterday evening I went along and spoke at the [UnifiedDiff meetup](http://www.unifieddiff.co.uk) in Cardiff, having offered previously to do a presentation providing an introduction to Drupal.

View file

@ -4,6 +4,8 @@ description: <a href="http://www.sublimetext.com/2" title="Sublime Text 2">Subli
tags:
- sublime-text
use: [posts]
redirect:
- blog/my-sublime-text-2-settings/
---
{% block excerpt %}
[Sublime Text 2](http://www.sublimetext.com/2) has been my text editor of choice for the past few months, and I use it at home, in work, and on any virtual machines that I run. So rather than having to manually re-enter my settings each time, I thought that I'd document them here for future reference.

View file

@ -6,6 +6,8 @@ tags:
- accessible-bristol
- nomensa
use: [posts]
redirect:
- blog/accessible-bristol-site-launched/
---
{% block excerpt %}
I'm happy to announce that the [Accessible Bristol](http://www.accessiblebristol.org.uk) website was launched this week, on Drupal 7.

View file

@ -6,6 +6,8 @@ tags:
- mac-os-x
- terminal
use: [posts]
redirect:
- blog/open-sublime-text-2-mac-os-x-command-line/
---
{% block excerpt %}
How to open Sublime Text from the command line.

View file

@ -11,6 +11,8 @@ tags:
- preprocessing
- sass
use: [posts]
redirect:
- blog/use-sass-and-compass-drupal-7-using-sassy/
---
{% block excerpt %}
I've recently started using [SASS](http://sass-lang.com) rather than LESS to do my CSS preprocessing - namely due to its integration with [Compass](http://compass-style.org) and it's built-in CSS3 mixins. Here are three modules that provide the ability to use SASS within Drupal.

View file

@ -9,6 +9,8 @@ tags:
- drupal-planet
- php
use: [posts]
redirect:
- blog/checking-if-user-logged-drupal-right-way/
---
{% block excerpt %}
I see this regularly when working on Drupal sites when someone wants to check whether the current user is logged in to Drupal (authenticated) or not (anonymous).

View file

@ -7,6 +7,8 @@ tags:
- drupal-7
- tokens
use: [posts]
redirect:
- blog/creating-and-using-custom-tokens-drupal-7/
---
{% block excerpt %}
This post outlines the steps required to create your own custom tokens in Drupal.

View file

@ -6,6 +6,8 @@ tags:
- sublime-text
- ubuntu
use: [posts]
redirect:
- blog/quickest-way-install-sublime-text-2-ubuntu/
---
{% block excerpt %}
After reading numerous blog posts about how to install [Sublime Text 2](http://www.sublimetext.com/2 "Sublime Text 2") in [Ubuntu](http://www.ubuntu.com/2 "Ubuntu"), this is definitely the quickest way!

View file

@ -6,6 +6,8 @@ tags:
- precedent
- personal
use: [posts]
redirect:
- blog/leaving-nomensa-joining-precedent/
---
{% block excerpt %}
Yesterday was my last day working at [Nomensa](http://www.nomensa.com "Nomensa"). Next week, I'll be starting as a Senior Developer at [Precedent](http://www.precedent.co.uk "Precedent").

View file

@ -8,6 +8,8 @@ tags:
- git
- terminal
use: [posts]
redirect:
- blog/display-git-branch-or-tag-names-your-bash-prompt/
---
{% block excerpt %}
Whilst watching [Drupalize.me](http://drupalize.me "Drupalize.me")'s recent [Introduction to Git series](http://drupalize.me/series/introduction-git-series "Introduction to Git on Drupalize.me"), I thought it was useful the way that the current Git branch or tag name was displayed in the bash prompt. Here's how to do it.

View file

@ -8,6 +8,8 @@ tags:
- drupal-planet
- drupal
use: [posts]
redirect:
- blog/some-useful-links-using-simpletest-drupal/
---
{% block excerpt %}
Here are some useful links that I've found when researching about unit testing in Drupal using SimpleTest.

View file

@ -8,6 +8,8 @@ tags:
- domain
- table-prefixing
use: [posts]
redirect:
- blog/creating-local-and-staging-sites-drupals-domain-module-enabled/
---
{% block excerpt %}
The [Domain Access project](https://drupal.org/project/domain "The Domain Access project on Drupal.org") is a suite of modules that provide tools for running a group of affiliated sites from one Drupal installation and a single shared database. The issue is that the domains are stored within the database so these are copied across when the data is migrated between environments, whereas the domains are obviously going to change.

View file

@ -5,6 +5,8 @@ tags:
- drupalcon
- precedent
use: [posts]
redirect:
- blog/going-drupalcon/
---
{% block excerpt %}
[Precedent](http://www.precedent.co.uk) are sending myself and two of our other Drupal Developers to [Drupalcon Prague](http://prague2013.drupal.org).

View file

@ -8,6 +8,8 @@ tags:
- zen
- theming
use: [posts]
redirect:
- blog/create-a-zen-sub-theme-using-drush/
---
{% block excerpt %}
How to use [Drush](https://drupal.org/project/drush) to quickly build a new sub-theme of [Zen](https://drupal.org/project/zen).

View file

@ -5,6 +5,8 @@ tags:
- drupal-planet
- php
use: [posts]
redirect:
- blog/dont-bootstrap-drupal-use-drush/
---
{% block excerpt %}
There are times when doing Drupal development when you need to run a custom PHP script, maybe moving data from one field to another, that doesn't warrant the time and effort to create a custom module. In this scenario, it would be quicker to write a .php script and bootstrap Drupal to gain access to functions like `node_load()` and `db_query()`.

View file

@ -4,6 +4,8 @@ description: Here are the basic commands that you need to adminster a virtual ma
tags:
- vagrant
use: [posts]
redirect:
- blog/useful-vagrant-commands/
---
{% block excerpt %}
[Vagrant](http://www.vagrantup.com "About Vagrant") is a tool for managing virtual machines within [VirtualBox](https://www.virtualbox.org) from the command line. Here are some useful commands to know when using Vagrant.

View file

@ -5,6 +5,8 @@ tags:
- git
- drupal-planet
use: [posts]
redirect:
- blog/quickly-apply-patches-using-git-and-curl-or-wget/
---
{% block excerpt %}
Testing a patch file is usually a two-step process. First you download the patch file from the source, and then you run a separate command to apply it.

View file

@ -6,8 +6,9 @@ tags:
- drupal
- drupal-planet
- drush
use: [posts]
redirect:
- blog/download-different-versions-drupal-drush/
---
{% block excerpt %}
If you use [Drush](https://raw.github.com/drush-ops/drush/master/README.md "About Drush"), it's likely that you've used the `drush pm-download` (or `drush dl` for short) command to start a new project. This command downloads projects from Drupal.org, but if you don't specify a project or type "drush dl drupal", the command will download the current stable version of Drupal core. Currently, this will be Drupal 7 with that being the current stable version of core at the time of writing this post.

View file

@ -3,6 +3,8 @@ title: Some Useful Git Aliases
tags:
- git
use: [posts]
redirect:
- blog/some-useful-git-aliases/
---
{% block excerpt %}
Here are some bash aliases that I use and find helpful for quickly writing Git and Git Flow commands.

View file

@ -7,6 +7,8 @@ tags:
- git
- git-flow
use: [posts]
redirect:
- blog/drupalcamp-london-2014/
---
{% block excerpt %}
It's all booked, I'm going to be attending [DrupalCamp London](http://2014.drupalcamplondon.co.uk) this year, my first DrupalCamp!

View file

@ -9,6 +9,8 @@ tags:
- talks
tweets: true
use: [posts]
redirect:
- blog/what-git-flow/
---
{% block excerpt %}
Here are my slides from my "What is Git Flow?" session at [DrupalCamp London](http://2014.drupalcamplondon.co.uk).

View file

@ -4,6 +4,8 @@ tags:
- drupal
- personal
use: [posts]
redirect:
- blog/drupal-association/
---
{% block excerpt %}
Today was my last day working at [Precedent](http://www.precedent.com). Next week, I'll be starting my [new job](https://assoc.drupal.org/node/18923 "Drupal.org Developer") at the [Drupal Association](http://assoc.drupal.org) working on Drupal's home - [Drupal.org](http://www.drupal.org).

View file

@ -5,6 +5,8 @@ tags:
- drupal-association
- personal
use: [posts]
redirect:
- blog/thanks/
---
{% block excerpt %}
This is just a quick post to thank everyone for their comments and congratulations after my previous post about [joining the Drupal Association](/blog/drupal-association/). Im looking forward to my first day in the job tomorrow.

View file

@ -7,6 +7,8 @@ tags:
- drupal-planet
- git
use: [posts]
redirect:
- blog/git-format-patch/
---
{% block excerpt %}
An explanation of the "git format-patch" command, and how it could be used in Drupal's Git workflow.

View file

@ -7,6 +7,8 @@ tags:
- drupal-bristol
- talks
use: [posts]
redirect:
- blog/drush-make-drupalbristol/
---
{% block excerpt %}
Here are my slides from this month's talk night at the [Drupal Bristol user group](https://groups.drupal.org/bristol-and-west-uk).

View file

@ -7,6 +7,8 @@ tags:
meta:
description: How to fix it when Vagrant loads the wrong virtual machine.
use: [posts]
redirect:
- blog/fix-vagrant-loading-wrong-virtual-machine/
---
{% block excerpt %}
A few times recently, I've had instances where [Vagrant](https://www.vagrantup.com) seems to have forgotten which virtual machine it's supposed to load, probably due to renaming a project directory or the .vagrant directory being moved accidentally.

View file

@ -7,6 +7,8 @@ tags:
- drush
- features
use: [posts]
redirect:
- blog/updating-features-and-adding-components-using-drush/
---
{% block excerpt %}
If you use the [Features module](http://drupal.org/project/features) to manage your Drupal configuration, it can be time consuming to update features through the UI, especially if you are working on a remote server and need to keep downloading and uploading files.

View file

@ -8,6 +8,8 @@ tags:
- fonts
- sass
use: [posts]
redirect:
- blog/include-css-fonts-using-sass-each-loop/
---
{% block excerpt %}
How to use an @each loop in SASS to quickly include multiple font files within your stylesheet.

View file

@ -5,6 +5,8 @@ tags:
- drupal-planet
- servers
use: [posts]
redirect:
- blog/using-remote-files-when-developing-locally-with-stage-file-proxy-module/
---
{% block excerpt %}
How to install and configure the [Stage File Proxy](https://www.drupal.org/project/stage_file_proxy) module to serve remote images on your local Drupal site.

View file

@ -7,6 +7,8 @@ tags:
- pantheon
- settings.php
use: [posts]
redirect:
- blog/pantheon-settings-files/
---
{% block excerpt %}
I was recently doing some work on a site hosted on [Pantheon](http://getpantheon.com) and came across an issue, for which part of the suggested fix was to ensure that the `$base_url` variable was explicitly defined within settings.php (this is also best practice on all Drupal sites).

View file

@ -9,6 +9,8 @@ tags:
- drupal-planet
- settings.php
use: [posts]
redirect:
- blog/include-local-drupal-settings-file-environment-configuration-and-overrides/
---
{% block excerpt %}
How to create and include a local settings file to define and override environment-specific variables, and keep sensitive things like your database credentials and API keys safe.

View file

@ -11,6 +11,8 @@ meta:
description: 'How to define a minimum Drupal core version for your module or theme.'
type: article
use: [posts]
redirect:
- blog/how-to-define-a-minimum-drupal-core-version/
---
This week, my first code patch was [committed to Drupal core](https://www.drupal.org/node/2394517#comment-9773143). The patch adds the `user_has_role()` function to the user module, to simplify the way to check whether a user in Drupal has been assigned a specific role. This is something that I normally write a custom function for each project, but it's now available in Drupal core as of [7.36](https://www.drupal.org/drupal-7.36-release-notes).

View file

@ -9,6 +9,8 @@ tags:
- phpstorm
- sculpin
use: [posts]
redirect:
- blog/updating-forked-repositories-on-github/
---
{% block content %}
## Sculpin

View file

@ -6,6 +6,8 @@ tags:
- jenkins
slug: automating-sculpin-jenkins
use: [posts]
redirect:
- blog/automating-sculpin-jenkins/
---
As part of re-building this site with [Sculpin](http://sculpin.io), I wanted to automate the deployments, as in I wouldn't need to run a script like [publish.sh](https://raw.githubusercontent.com/sculpin/sculpin-blog-skeleton/master/publish.sh) locally and have that deploy my code onto my server. Not only did that mean that my local workflow was simpler (update, commit and push, rather than update, commit, push and deploy), but if I wanted to make a quick edit or hotfix, I could log into GitHub or Bitbucket (wherever I decided to host the source code) from any computer or my phone, make the change and have it deployed for me.

View file

@ -8,6 +8,8 @@ tags:
meta:
description: How to programmatically load, render and embed an entityform in Drupal 7.
use: [posts]
redirect:
- blog/programmatically-load-an-entityform-in-drupal-7/
---
{% block excerpt %}
I recently had my first experience using the [Entityform module](https://www.drupal.org/project/entityform) in a project. It was quite easy to configure with different form types, but then I needed to embed the form into an overlay. I was expecting to use the `drupal_get_form()` function and render it, but this didnt work.

View file

@ -7,6 +7,9 @@ tags:
- drupal-vm-generator
- symfony
use: [posts]
redirect:
- blog/announcing-the-drupal-vm-config-generator/
- blog/announcing-the-drupal-vm-generator/
---
{% block excerpt %}
For the past few weeks Ive been working on a personal side project, based on Drupal VM. Its called the [Drupal VM Generator][1], and over the weekend Ive added the final features and fixed the remaining issues, and tagged the 1.0.0 release.

View file

@ -7,6 +7,8 @@ tags:
- drupal-7
- php
use: [posts]
redirect:
- blog/simplifying-drupal-migrations-with-xautoload/
---
{% block excerpt %}
How to use the [xautoload][1] module to autoload migration classes within your Drupal 7 migration modules.

View file

@ -4,6 +4,8 @@ tags:
- php
- gmail
use: [posts]
redirect:
- blog/building-gmail-filters-with-php/
---
Earlier this week I wrote a small PHP library called [GmailFilterBuilder][0] that allows you to write Gmail filters in PHP and export them to XML.

View file

@ -2,6 +2,8 @@
title: Drupal VM Generator 2.9.1 Released
tags: ['drupal-vm-generator', releases]
use: [posts]
redirect:
- blog/drupal-vm-generator-291-released/
---
{% block excerpt %}
I spent some time yesterday working on the [Drupal VM Generator][0], and have released versions 2.8.1, 2.9.0 and 2.9.1.

View file

@ -2,6 +2,8 @@
title: Easier Sculpin Commands with Composer and NPM Scripts
tags: [composer, gulp, sculpin]
use: [posts]
redirect:
- blog/easier-sculpin-commands-with-composer-and-npm-scripts/
---
{% block excerpt %}
In this video, I show you how I've simplied my Sculpin and Gulp workflow using custom Composer and NPM scripts.

View file

@ -2,6 +2,8 @@
title: Nginx Redirects With Query String Arguments
tags: [nginx]
use: [posts]
redirect:
- blog/nginx-redirects-with-query-string-arguments/
---
{% block excerpt %}
This is an example of how my Nginx configuration looked to redirect from an old domain to a new one, and also to redirect from the root `example.com` domain to the canonical `www` subdomain.

View file

@ -10,6 +10,8 @@ slug: fixing-drupal-simpletest-docker
meta:
og:
description: How I managed to get my Drupal SimpleTest tests to run and pass within Docker containers.
redirect:
- blog/2017/05/05/fixing-drupal-simpletest-issues-inside-docker-containers/
---
{% block excerpt %}
Ive been a Drupal VM user for a long time, but lately Ive been using a combination Drupal VM and Docker for my local development environment. There were a couple of issues preventing me from completely switching to Docker - one of which being that when I tried running of my Simpletest tests, a lot of them would fail where they would pass when run within Drupal VM.

View file

@ -7,6 +7,8 @@ slides:
embed: <script async class="speakerdeck-embed" data-id="ffa9b6dea6dc4a8eb207b9982ed6e1bd" data-ratio="1.33333333333333" src="//speakerdeck.com/assets/embed.js"></script>
tags: [meetup, umbristol, drupal]
tweets: yes
redirect:
- talks/2015/08/25/dancing-for-drupal-umbristol/
---
As part of their [CMS Dance-Off][1], I was selected to speak about Drupal alongside other speakers representing Umbraco, Sitecore and Episerver.

View file

@ -19,6 +19,8 @@ meta:
type: 'image/png'
height: 540
width: 960
redirect:
- talks/2016/03/05/drupal-8-module-development-drupalcamp-london-2016/
---
New to object-orientated PHP, Symfony or YAML, and want to get started building modules in Drupal 8? This is the session for you!

View file

@ -6,6 +6,8 @@ tags: [conference, php, drupal, drupal-8]
slides:
url: https://speakerdeck.com/opdavies/drupal-rejoining-the-herd
embed: <script async class="speakerdeck-embed" data-id="440fd6592f474741bc606c96bc32c104" data-ratio="1.37081659973226" src="//speakerdeck.com/assets/embed.js"></script>
redirect:
- talks/2016/06/11/drupal-8-rejoining-the-herd-php-south-coast-2016/
---
[Drupal 8][0] was (finally) released on November 19th 2015, after almost 4 years of work and code commits by over 3,200 different contributors. Whilst its pretty much the same as the Drupal that we know and, hopefully, love, a lot has changed behind the scenes and under the hood!

View file

@ -10,6 +10,8 @@ video:
embed: <iframe width="560" height="315" src="https://www.youtube.com/embed/36zCxPrOOzM" frameborder="0" allowfullscreen></iframe>
tags: [meetup, phpsw, drupal, drupal-8]
tweets: yes
redirect:
- talks/2015/04/08/drupal-8-phpsw/
---
This was a ten minute lightning talk, designed to highlight the major changes coming in Drupal 8.

View file

@ -9,6 +9,8 @@ slides:
video:
url: https://www.youtube.com/watch?v=Yi_FPI3xHwc
embed: '<iframe width="560" height="315" src="https://www.youtube.com/embed/Yi_FPI3xHwc" frameborder="0" allowfullscreen></iframe>'
redirect:
- talks/2016/11/09/drupal-development-with-composer-phpsw/
---
Building a Drupal application? You no longer need to download archives to add new modules or update core, or deal with Drupal specific tools to manage your codebase.

View file

@ -10,6 +10,10 @@ slides:
video:
url: https://youtu.be/U1pbKAAO2Wo?t=3696
embed: <iframe width="560" height="315" src="https://www.youtube.com/embed/U1pbKAAO2Wo?start=3696" frameborder="0" allowfullscreen></iframe>
redirect:
- talks/2016/03/09/drupal-vm-generator-nwdug/
- talks/2016/04/02/drupal-vm-generator-drupal-bristol/
- talks/drupal-vm-generator-2/
---
An short talk about the [Drupal VM Generator][1] project.

View file

@ -7,6 +7,8 @@ slides:
url: https://speakerdeck.com/opdavies/drupal-vm-meet-symfony-console
embed: <script async class="speakerdeck-embed" data-id="56c79770f73f4e47a542a30243437c49" data-ratio="1.37081659973226" src="//speakerdeck.com/assets/embed.js"></script>
image: drupal-vm-meet-symfony-console.png
redirect:
- talks/2016/07/23/drupal-vm-meet-symfony-console-drupalcamp-bristol-2016/
---
_TL;DR - Come and learn about Symfony Console, with examples from a real-world project._

View file

@ -6,4 +6,9 @@ tags: [conference, drupalcamp, drupalcamp-london, drupal-association]
slides:
url: https://speakerdeck.com/opdavies/drupal-dot-org-in-15
embed: <script async class="speakerdeck-embed" data-id="0cf8d7b647c94ae289e9db2b46a9e8f2" data-ratio="1.77777777777778" src="//speakerdeck.com/assets/embed.js"></script>
redirect:
- talks/2015/01/18/drupalorg-2015-drupalcamp-brighton-2015/
- talks/2015/02/28/drupalorg-2015-drupalcamp-london-2015/
- talks/drupalorg-2015-2/
- talks/drupalorg-2015/
---

View file

@ -6,4 +6,6 @@ slides:
url: https://speakerdeck.com/opdavies/drush-make-drupalbristol
embed: <script async class="speakerdeck-embed" data-id="42605700f102013198de5a5f6f23ab67" data-ratio="1.29456384323641" src="//speakerdeck.com/assets/embed.js"></script>
tags: [meetup, drupal, drupal-bristol, drush, drush-make]
redirect:
- talks/2014/07/02/drush-make-drupalbristol-drupal-bristol/
---

Some files were not shown because too many files have changed in this diff Show more