This commit is contained in:
Oliver Davies 2017-07-11 18:57:51 +01:00
parent 0692d8ff00
commit 47e2ffcfda
247 changed files with 409 additions and 383 deletions

View file

@ -1 +0,0 @@
ghpages.oliverdavies.uk

View file

@ -7,11 +7,9 @@
clear: both; }
.experience-item-website {
display: inline-block;
margin-bottom: 2px; }
.experience-item-role {
color: #777777;
margin-bottom: .625rem; }
.experience-item-logo {

File diff suppressed because one or more lines are too long

View file

@ -8186,6 +8186,9 @@ main p img {
.text-right {
text-align: right; }
.text-light {
color: #777; }
.availability p:last-of-type {
margin-bottom: 0; }

File diff suppressed because one or more lines are too long

View file

@ -5,8 +5,6 @@
display: table; }
.testimonial:after {
clear: both; }
.testimonial__role {
color: #777; }
.testimonial__image {
height: 75px;
margin: 0 0 10px 10px;

View file

@ -1 +1 @@
{"version":3,"sources":["testimonials.sass","../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_clearfix.scss","_mixins.sass"],"names":[],"mappings":"AAIA;EAEI,oBAAoB,EAYO;EAd/B;ICWI,aAAa;IACb,eAAe,EAChB;EDbH;ICeI,YAAY,EACb;EDhBH;IAKQ,YAAY,EAAG;EALvB;IAQQ,aAAa;IACb,sBAAsB;IACtB,YAAY,EAIS;IEbzB;MFDJ;QAaY,aAAa;QACb,YAAY,EAAK,EAAA","file":"testimonials.css","sourcesContent":["@import '../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/clearfix';\n@import '../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/variables';\n@import 'mixins';\n\n.testimonial {\n @include clearfix;\n margin-bottom: 10px;\n\n &__role {\n color: #777; }\n\n &__image {\n height: 75px;\n margin: 0 0 10px 10px;\n width: 75px;\n\n @include until($screen-sm) {\n height: 90px;\n width: 90px; } } }\n","// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n// contenteditable attribute is included anywhere else in the document.\n// Otherwise it causes space to appear at the top and bottom of elements\n// that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n// `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n@mixin clearfix() {\n &:before,\n &:after {\n content: \" \"; // 1\n display: table; // 2\n }\n &:after {\n clear: both;\n }\n}\n","@mixin from($device) {\n @media screen and (min-width: $device) {\n @content; } }\n\n@mixin until($device) {\n @media screen and (max-width: $device - 1px) {\n @content; } }\n\n@mixin mobile {\n @media screen and (max-width: $screen-tablet - 1px) {\n @content; } }\n\n@mixin tablet {\n @media screen and (min-width: $screen-tablet) {\n @content; } }\n\n@mixin tablet-only {\n @media screen and (min-width: $screen-tablet) and (max-width: $screen-desktop - 1px) {\n @content; } }\n\n@mixin touch {\n @media screen and (max-width: $screen-desktop - 1px) {\n @content; } }\n\n@mixin desktop {\n @media screen and (min-width: $screen-desktop) {\n @content; } }\n\n@mixin desktop-only {\n @media screen and (min-width: $screen-desktop) and (max-width: $screen-lg - 1px) {\n @content; } }\n\n@mixin widescreen {\n @media screen and (min-width: $screen-lg) {\n @content; } }\n"]}
{"version":3,"sources":["testimonials.sass","../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_clearfix.scss","_mixins.sass"],"names":[],"mappings":"AAIA;EAEI,oBAAoB,EASO;EAX/B;ICWI,aAAa;IACb,eAAe,EAChB;EDbH;ICeI,YAAY,EACb;EDhBH;IAKQ,aAAa;IACb,sBAAsB;IACtB,YAAY,EAIS;IEVzB;MFDJ;QAUY,aAAa;QACb,YAAY,EAAK,EAAA","file":"testimonials.css","sourcesContent":["@import '../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/clearfix';\n@import '../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/variables';\n@import 'mixins';\n\n.testimonial {\n @include clearfix;\n margin-bottom: 10px;\n\n &__image {\n height: 75px;\n margin: 0 0 10px 10px;\n width: 75px;\n\n @include until($screen-sm) {\n height: 90px;\n width: 90px; } } }\n","// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n// contenteditable attribute is included anywhere else in the document.\n// Otherwise it causes space to appear at the top and bottom of elements\n// that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n// `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n@mixin clearfix() {\n &:before,\n &:after {\n content: \" \"; // 1\n display: table; // 2\n }\n &:after {\n clear: both;\n }\n}\n","@mixin from($device) {\n @media screen and (min-width: $device) {\n @content; } }\n\n@mixin until($device) {\n @media screen and (max-width: $device - 1px) {\n @content; } }\n\n@mixin mobile {\n @media screen and (max-width: $screen-tablet - 1px) {\n @content; } }\n\n@mixin tablet {\n @media screen and (min-width: $screen-tablet) {\n @content; } }\n\n@mixin tablet-only {\n @media screen and (min-width: $screen-tablet) and (max-width: $screen-desktop - 1px) {\n @content; } }\n\n@mixin touch {\n @media screen and (max-width: $screen-desktop - 1px) {\n @content; } }\n\n@mixin desktop {\n @media screen and (min-width: $screen-desktop) {\n @content; } }\n\n@mixin desktop-only {\n @media screen and (min-width: $screen-desktop) and (max-width: $screen-lg - 1px) {\n @content; } }\n\n@mixin widescreen {\n @media screen and (min-width: $screen-lg) {\n @content; } }\n"]}

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Style Drupal 6&#039;s Taxonomy Lists with PHP, CSS and jQuery</h1>
<p class="posted">5th April 2010</p>
<p class="posted text-light">5th April 2010</p>
<p>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.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Using ImageCache and ImageCrop for my Portfolio</h1>
<p class="posted">28th April 2010</p>
<p class="posted text-light">28th April 2010</p>
<p>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 <a href="http://popcornstrips.com">Popcorn Strips</a> which I built for a friend earlier this year as an example.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Conditional Email Addresses in a Webform</h1>
<p class="posted">6th May 2010</p>
<p class="posted text-light">6th May 2010</p>
<p>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:</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Quickly Create Zen Subthemes Using Zenophile</h1>
<p class="posted">10th May 2010</p>
<p class="posted text-light">10th May 2010</p>
<p>If you use the <a href="http://drupal.org/project/zen">Zen</a> theme, then you should also be using the <a href="http://drupal.org/project/zenophile">Zenophile</a> module!</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Create a Slideshow of Multiple Images Using Fancy Slide</h1>
<p class="posted">25th May 2010</p>
<p class="posted text-light">25th May 2010</p>
<p>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 <a href="http://drupal.org/project/fancy_slide">Fancy Slide</a> module. It's a jQuery Slideshow module with features that include integration with the <a href="http://drupal.org/project/cck">CCK</a>, <a href="http://drupal.org/project/imagecache">ImageCache</a> and <a href="http://drupal.org/project/nodequeue">Nodequeue</a> modules.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Quickly Import Multiples Images Using the Imagefield_Import Module</h1>
<p class="posted">29th May 2010</p>
<p class="posted text-light">29th May 2010</p>
<p><strong>Thanks to Bob at <a href="http://mustardseedmedia.com">Mustardseed Media</a> for <a href="http://twitter.com/mustardseedinc/status/14713096905">tweeting</a> about this module. It's undoubtedly saved me hours of work today alone!</strong></p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Improve JPG Quality in Imagecache and ImageAPI</h1>
<p class="posted">2nd June 2010</p>
<p class="posted text-light">2nd June 2010</p>
<p>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.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Create a Block of Social Media Icons using CCK, Views and Nodequeue</h1>
<p class="posted">23rd June 2010</p>
<p class="posted text-light">23rd June 2010</p>
<p>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 - <a href="http://twitter.com/opdavies">Twitter</a>, <a href="http://facebook.com/opdavies">Facebook</a> etc. I tried the <a href="http://drupal.org/project/follow">Follow</a> module, but it lacked the option to add extra networks such my <a href="http://drupal.org/user/381388">Drupal.org</a> account, and my <a href="http://oliverdavies.co.uk/rss.xml">RSS feed</a>. I started to create my own version, and then found <a href="http://www.hankpalan.com/blog/drupal-themes/add-your-social-connections-drupal-icons">this Blog post</a> by Hank Palan.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>10 Useful Drupal 6 Modules</h1>
<p class="posted">25th June 2010</p>
<p class="posted text-light">25th June 2010</p>
<p>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.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Create a Flickr Photo Gallery Using Feeds, CCK and Views</h1>
<p class="posted">28th June 2010</p>
<p class="posted text-light">28th June 2010</p>
<p>In this tutorial, I'll show you how to create a photo gallery which uses photos imported from <a href="http://www.flickr.com">Flickr</a>.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Change the Content Type of Multiple Nodes Using SQL</h1>
<p class="posted">1st July 2010</p>
<p class="posted text-light">1st July 2010</p>
<p>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'.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Create Virtual Hosts on Mac OS X Using VirtualHostX</h1>
<p class="posted">2nd July 2010</p>
<p class="posted text-light">2nd July 2010</p>
<p>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 <a href="http://www.mamp.info/en/index.html">MAMP</a> 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.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Add a Taxonomy Term to Multiple Nodes Using SQL</h1>
<p class="posted">7th July 2010</p>
<p class="posted text-light">7th July 2010</p>
<p><strong>Update:</strong> This can also be done using the <a href="http://drupal.org/project/views_bulk_operations">Views Bulk Operations</a> module.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Review of the Teleport Module</h1>
<p class="posted">12th July 2010</p>
<p class="posted text-light">12th July 2010</p>
<p>As a heavily-reliant <a href="http://en.wikipedia.org/wiki/Quicksilver_%28software%29">Quicksilver</a> user on my MacBook Pro, I was glad when I found the <a href="http://drupal.org/project/teleport">Teleport</a> module for <a href="http://drupal.org">Drupal</a> <em>(due to Elliott Rothman's <a href="http://twitter.com/elliotttt/status/18044234238">tweet</a>)</em>.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Review of the Admin:hover Module</h1>
<p class="posted">10th August 2010</p>
<p class="posted text-light">10th August 2010</p>
<p>Sorry for the lack of Blog posts lately, but <a href="http://horseandcountry.tv">my new job</a> 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!</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Create a Better Photo Gallery in Drupal - Part 1</h1>
<p class="posted">11th August 2010</p>
<p class="posted text-light">11th August 2010</p>
<p>Recently, I converted a client's static HTML website, along with their Coppermine Photo Gallery, into a Drupal-powered website.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Create a Better Photo Gallery in Drupal - Part 2</h1>
<p class="posted">17th August 2010</p>
<p class="posted text-light">17th August 2010</p>
<p>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.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Review of the Image Caption Module</h1>
<p class="posted">20th August 2010</p>
<p class="posted text-light">20th August 2010</p>
<p>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 <a href="http://drupal.org/project/image_caption">Image Caption</a> module.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>The Inaugural Meetup for the South Wales Drupal User Group</h1>
<p class="posted">26th September 2010</p>
<p class="posted text-light">26th September 2010</p>
<p>If you do Drupal, and you're in the area, come and join us for the first South Wales Drupal User Group Meetup!</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>How to Create and Apply Patches</h1>
<p class="posted">10th October 2010</p>
<p class="posted text-light">10th October 2010</p>
<p>To begin with, a download a fresh copy of Drupal 6.19 and created a copy of the original user.pages.inc file. Within the duplicate file, I made the same changes to the function that I did in earlier code, and saved the changes. Now, within my Terminal, I can navigate to Drupal's root directory and create the patch.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Create a Better Photo Gallery in Drupal - Part 3</h1>
<p class="posted">13th October 2010</p>
<p class="posted text-light">13th October 2010</p>
<p>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.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Create a Better Photo Gallery in Drupal - Part 2.1</h1>
<p class="posted">22nd October 2010</p>
<p class="posted text-light">22nd October 2010</p>
<p>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 <a href="/blog/create-better-photo-gallery-drupal-part-2/" title="Create a Better Photo Gallery in Drupal - Part 2">Part 2</a> that I'd include it in <a href="/blog/create-better-photo-gallery-drupal-part-3/" title="Create a Better Photo Gallery in Drupal - Part 3">Part 3</a>, but I forgot). So, here it is:</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Use Regular Expressions to Search and Replace in Coda or TextMate</h1>
<p class="posted">4th November 2010</p>
<p class="posted text-light">4th November 2010</p>
<p>As in <a href="/blog/add-taxonomy-term-multiple-nodes-using-sql/" title="Quickly adding a taxonomy term to multiple nodes using SQL">the original post</a>, 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.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Easily Embed TypeKit Fonts into your Drupal Website</h1>
<p class="posted">14th February 2011</p>
<p class="posted text-light">14th February 2011</p>
<p>To begin with, you will need to <a href="https://typekit.com/plans">register for a TypeKit account</a> - there is a free version if you just want to try it out.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Display the Number of Facebook fans in PHP</h1>
<p class="posted">15th March 2011</p>
<p class="posted text-light">15th March 2011</p>
<p>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.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Proctor &amp; Stevenson</h1>
<p class="posted">31st March 2011</p>
<p class="posted text-light">31st March 2011</p>
<p>2 weeks ago, I handed in my notice of resignation to <a href="http://horseandcountry.tv">Horse &amp; Country TV</a>because I've been offered a new role at <a href="http://proctors.co.uk">Proctor &amp; Stevenson</a> - a Marketing Design and Communications agency in Bristol.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Proctors Hosting the next Drupal Meetup</h1>
<p class="posted">20th May 2011</p>
<p class="posted text-light">20th May 2011</p>
<p>My employer, <a href="http://www.proctors.co.uk">Proctor &amp; Stevenson</a>, are going to be hosting the next Bristol &amp; South West Drupal meetup on the 25th May at our offices.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Imagefield Import Archive</h1>
<p class="posted">23rd May 2011</p>
<p class="posted text-light">23rd May 2011</p>
<p>I've finally uploaded my first module onto Drupal.org!</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Create Multigroups in Drupal 7 using Field Collections</h1>
<p class="posted">28th August 2011</p>
<p class="posted text-light">28th August 2011</p>
<p>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.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>How to Install and Configure Subversion (SVN) Server on Ubuntu</h1>
<p class="posted">19th October 2011</p>
<p class="posted text-light">19th October 2011</p>
<p>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.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Site Upgraded to Drupal 7</h1>
<p class="posted">4th January 2012</p>
<p class="posted text-light">4th January 2012</p>
<p>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 <a href="http://drupal.org/node/570162">core upgrade process</a> and the <a href="http://drupal.org/node/1144136">CCK migration process</a>, everything was upgraded smoothly without any issues.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>How to use Authorized Keys to Create a Passwordless SSH Connection</h1>
<p class="posted">1st February 2012</p>
<p class="posted text-light">1st February 2012</p>
<p>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 <em>authorized_keys</em> file on the remote server.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Create an Omega Subtheme with LESS CSS Preprocessor using Omega Tools and Drush</h1>
<p class="posted">16th April 2012</p>
<p class="posted text-light">16th April 2012</p>
<p>In this tutorial I'll be showing how to create an <a href="http://drupal.org/project/omega">Omega</a> subtheme using the <a href="http://drupal.org/project/omega_tools">Omega Tools</a> module, and have it working with the <a href="http://lesscss.org">LESS CSS preprocessor</a>.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Installing Nagios on CentOS</h1>
<p class="posted">17th April 2012</p>
<p class="posted text-light">17th April 2012</p>
<p>A great post details that details the steps needed to install <a href="http://nagios.org">Nagios</a> - a popular open source system and network monitoring software application - on CentOS.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Adding Custom Theme Templates in Drupal 7</h1>
<p class="posted">19th April 2012</p>
<p class="posted text-light">19th April 2012</p>
<p>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.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>How to add a date popup calendar onto a custom form</h1>
<p class="posted">23rd May 2012</p>
<p class="posted text-light">23rd May 2012</p>
<p>First, I need to download the <a href="http://drupal.org/project/date" title="Date module on Drupal.org">Date</a> module, and make my module dependent on date_popup by adding the following line into my module's .info file.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Checkout a specific revision from SVN from the command line</h1>
<p class="posted">23rd May 2012</p>
<p class="posted text-light">23rd May 2012</p>
<p>If you're checking out the repository for the first time:</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Forward one domain to another using mod_rewrite and .htaccess</h1>
<p class="posted">23rd May 2012</p>
<p class="posted text-light">23rd May 2012</p>
<p>Within the mod_rewrite section of your .htaccess file, add the following lines:</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Prevent Apache from displaying text files within a web browser</h1>
<p class="posted">23rd May 2012</p>
<p class="posted text-light">23rd May 2012</p>
<p>When you download <a href="http://drupal.org/project/drupal">Drupal</a>, 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 <code>CHANGELOG.txt</code> as that includes the exact version of Drupal you are running and could therefore have security implications.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Writing a .info file for a Drupal 7 theme</h1>
<p class="posted">23rd May 2012</p>
<p class="posted text-light">23rd May 2012</p>
<pre><code class="language-ini">name = My Theme
description = A description of my theme

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Dividing Drupal&#039;s process and preprocess functions into separate files</h1>
<p class="posted">24th May 2012</p>
<p class="posted text-light">24th May 2012</p>
<p>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. Following the example of the <a href="http://drupal.org/project/omega" title="The Omega theme on Drupal.org">Omega theme</a>, I've started separating my process and preprocess functions into their own files. For example, mytheme_preprocess_node can be placed within a preprocess/node.inc file, and mytheme_process_page can be placed within process/page.inc.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>My new Drupal modules</h1>
<p class="posted">12th July 2012</p>
<p class="posted text-light">12th July 2012</p>
<p>After a busy few days, I've released two new contrib Drupal modules:</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Install and Configure the Nomensa Accessible Media Player in Drupal</h1>
<p class="posted">14th July 2012</p>
<p class="posted text-light">14th July 2012</p>
<p><em>The official documentation for this module is now located at <a href="https://www.drupal.org/node/2383447">https://www.drupal.org/node/2383447</a>. This post was accurate at the time of writing, whereas the documentation page will be kept up to date with any future changes.</em></p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Writing an Article for Linux Journal</h1>
<p class="posted">27th July 2012</p>
<p class="posted text-light">27th July 2012</p>
<p>I'm absolutely delighted to announce that I'm going to be writing an article for <a href="http://www.linuxjournal.com">Linux Journal</a> magazine's upcoming Drupal special. The article is going to be entitled "Speeding Up Your Drupal Development Using Installation Profiles and Distributions" and will be mentioning existing distributions available on Drupal.org, but mainly focussing on the steps needed to create your own custom distribution. Needless to say, I'm quite excited about it!</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Display a Custom Menu in a Drupal 7 Theme Template File</h1>
<p class="posted">18th August 2012</p>
<p class="posted text-light">18th August 2012</p>
<p>For reference, this is the code needed to display a menu in a Drupal 7 template file, including the navigation ARIA role.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Reflections on speaking at UnifiedDiff</h1>
<p class="posted">6th September 2012</p>
<p class="posted text-light">6th September 2012</p>
<p>Yesterday evening I went along and spoke at the <a href="http://www.unifieddiff.co.uk">UnifiedDiff meetup</a> in Cardiff, having offered previously to do a presentation providing an introduction to Drupal.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>My Sublime Text 2 settings</h1>
<p class="posted">25th October 2012</p>
<p class="posted text-light">25th October 2012</p>
<p><a href="http://www.sublimetext.com/2">Sublime Text 2</a> 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. These preferences ensure that the code is compliant with <a href="http://drupal.org/coding-standards" title="Drupal coding standards on Drupal.org">Drupal coding standards</a> - using two spaces instead of a tab, no trailing whitespace, blank line at the end of a file etc.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Accessible Bristol site launched</h1>
<p class="posted">15th November 2012</p>
<p class="posted text-light">15th November 2012</p>
<p>I'm happy to announce that the <a href="http://www.accessiblebristol.org.uk">Accessible Bristol</a> website was launched this week, on Drupal 7. The site has been developed over the past few months, and uses the <a href="http://drupal.org/project/user_relationships">User Relationships</a> and <a href="http://drupal.org/project/privatemsg">Privatemsg</a> modules to provide a community-based platform where people with an interest in accessibility can register and network with each other.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Open Sublime Text 2 from the Mac OS X Command Line</h1>
<p class="posted">17th November 2012</p>
<p class="posted text-light">17th November 2012</p>
<p>Paste the following code into the Mac OS X Terminal, assuming that you've installed Sublime Text 2 into the /Applications folder.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>How to use SASS and Compass in Drupal 7 using Sassy</h1>
<p class="posted">6th December 2012</p>
<p class="posted text-light">6th December 2012</p>
<p>I've recently started using <a href="http://sass-lang.com">SASS</a> rather than LESS to do my CSS preprocessing - namely due to its integration with <a href="http://compass-style.org">Compass</a> and it's built-in CSS3 mixins. There are three modules that provide the ability to use SASS within Drupal:</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Checking if a user is logged into Drupal (the right way)</h1>
<p class="posted">9th January 2013</p>
<p class="posted text-light">9th January 2013</p>
<p>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):</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Creating and using custom tokens in Drupal 7</h1>
<p class="posted">16th February 2013</p>
<p class="posted text-light">16th February 2013</p>
<p>This post outlines the steps required to create your own custom tokens in Drupal.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>The Quickest way to Install Sublime Text 2 in Ubuntu</h1>
<p class="posted">2nd March 2013</p>
<p class="posted text-light">2nd March 2013</p>
<p>After reading numerous blog posts about how to install <a href="http://www.sublimetext.com/2" title="Sublime Text 2">Sublime Text 2</a> in <a href="http://www.ubuntu.com/2" title="Ubuntu">Ubuntu</a>, this is definitely the quickest way! Just paste the following lines into your Terminal:</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Leaving Nomensa, Joining Precedent</h1>
<p class="posted">20th April 2013</p>
<p class="posted text-light">20th April 2013</p>
<p>Yesterday was my last day working at <a href="http://www.nomensa.com" title="Nomensa">Nomensa</a>. Next week, I'll be starting as a Senior Developer at <a href="http://www.precedent.co.uk" title="Precedent">Precedent</a>.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Display Git Branch or Tag Names in your Bash Prompt</h1>
<p class="posted">27th April 2013</p>
<p class="posted text-light">27th April 2013</p>
<p>Whilst watching <a href="http://drupalize.me" title="Drupalize.me">Drupalize.me</a>'s recent <a href="http://drupalize.me/series/introduction-git-series" title="Introduction to Git on Drupalize.me">Introduction to Git series</a>, I thought it was useful the way that the current Git branch or tag name was displayed in the bash prompt.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Some useful links for using SimpleTest in Drupal</h1>
<p class="posted">13th June 2013</p>
<p class="posted text-light">13th June 2013</p>
<p>Here are some useful links that I've found when researching about unit testing in Drupal using SimpleTest:</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Creating Local and Staging sites with Drupal&#039;s Domain Module Enabled</h1>
<p class="posted">17th July 2013</p>
<p class="posted text-light">17th July 2013</p>
<p>The <a href="https://drupal.org/project/domain" title="The Domain Access project on Drupal.org">Domain Access project</a> 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.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Going to DrupalCon</h1>
<p class="posted">26th July 2013</p>
<p class="posted text-light">26th July 2013</p>
<p><a href="http://www.precedent.co.uk">Precedent</a> are sending myself and two of our other Drupal Developers to <a href="http://prague2013.drupal.org">Drupalcon Prague</a>.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Create a Zen Sub-theme Using Drush</h1>
<p class="posted">6th September 2013</p>
<p class="posted text-light">6th September 2013</p>
<p>First, download the <a href="https://drupal.org/project/zen" title="The Zen theme">Zen</a> theme if you haven't already done so.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Don&#039;t Bootstrap Drupal, Use Drush</h1>
<p class="posted">19th November 2013</p>
<p class="posted text-light">19th November 2013</p>
<p>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 <code>node_load()</code> and <code>db_query()</code>.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Useful Vagrant Commands</h1>
<p class="posted">27th November 2013</p>
<p class="posted text-light">27th November 2013</p>
<p><a href="http://www.vagrantup.com" title="About Vagrant">Vagrant</a> is a tool for managing virtual machines within <a href="https://www.virtualbox.org">VirtualBox</a> from the command line. Here are some useful commands to know when using Vagrant:</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Quickly Apply Patches Using Git and curl or wget</h1>
<p class="posted">24th December 2013</p>
<p class="posted text-light">24th December 2013</p>
<p>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.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Download Different Versions of Drupal with Drush</h1>
<p class="posted">31st December 2013</p>
<p class="posted text-light">31st December 2013</p>
<p>I still maintain a number of Drupal 6 sites and occassionally need to download Drupal 6 core as opposed to Drupal 7. I'm also experimenting with Drupal 8 so I need to download that as well.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Some Useful Git Aliases</h1>
<p class="posted">15th January 2014</p>
<p class="posted text-light">15th January 2014</p>
<p>Here are some bash aliases that I use and find helpful for quickly writing Git and Git Flow commands. These should be placed within your <code>~/.bashrc</code> or <code>~/.bash_profile</code> file:</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>DrupalCamp London 2014</h1>
<p class="posted">9th February 2014</p>
<p class="posted text-light">9th February 2014</p>
<p>It's all booked, I'm going to be attending <a href="http://2014.drupalcamplondon.co.uk">DrupalCamp London</a> this year, my first DrupalCamp!</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>DrupalCamp London: What is Git Flow?</h1>
<p class="posted">3rd March 2014</p>
<p class="posted text-light">3rd March 2014</p>
<p>Here are my slides from my "What is Git Flow?" session at <a href="http://2014.drupalcamplondon.co.uk">DrupalCamp London</a>.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Drupal Association</h1>
<p class="posted">3rd May 2014</p>
<p class="posted text-light">3rd May 2014</p>
<p>Today was my last day working at <a href="http://www.precedent.com">Precedent</a>. Next week, I'll be starting my <a href="https://assoc.drupal.org/node/18923" title="Drupal.org Developer">new job</a> at the <a href="http://assoc.drupal.org">Drupal Association</a> working on Drupal's home - <a href="http://www.drupal.org">Drupal.org</a>.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Thanks</h1>
<p class="posted">6th May 2014</p>
<p class="posted text-light">6th May 2014</p>
<p>This is just a quick post to thank everyone for their comments and congratulations after my previous post about <a href="/blog/drupal-association/">joining the Drupal Association</a>. Im looking forward to my first day in the job tomorrow.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>git format-patch is your Friend</h1>
<p class="posted">21st May 2014</p>
<p class="posted text-light">21st May 2014</p>
<h2 id="the-problem">The Problem</h2>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>drush make drupalbristol</h1>
<p class="posted">2nd July 2014</p>
<p class="posted text-light">2nd July 2014</p>
<p>Here are my slides from this month's talk night at the <a href="https://groups.drupal.org/bristol-and-west-uk">Drupal Bristol user group</a>.</p>

View file

@ -85,7 +85,7 @@
<main class="col-md-9">
<h1>How to fix Vagrant Loading the Wrong Virtual Machine</h1>
<p class="posted">6th October 2014</p>
<p class="posted text-light">6th October 2014</p>
<p>A few times recently, I've had instances where <a href="https://www.vagrantup.com">Vagrant</a> 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.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Updating Features and Adding Components Using Drush</h1>
<p class="posted">21st October 2014</p>
<p class="posted text-light">21st October 2014</p>
<p>If you use the <a href="http://drupal.org/project/features">Features module</a> 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.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Include CSS Fonts by Using a SASS each Loop</h1>
<p class="posted">18th November 2014</p>
<p class="posted text-light">18th November 2014</p>
<p>Using a file structure similar to this, organise your font files into directories, using the the font name for both the directory name and for the file names.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Using Remote Files when Developing Locally with Stage File Proxy Module</h1>
<p class="posted">20th November 2014</p>
<p class="posted text-light">20th November 2014</p>
<p>Download the <a href="https://www.drupal.org/project/stage_file_proxy">Stage File Proxy</a> module from Drupal.org and enable it on your site.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Include environment-specific settings files on Pantheon</h1>
<p class="posted">27th November 2014</p>
<p class="posted text-light">27th November 2014</p>
<p>I was recently doing some work on a site hosted on <a href="http://getpantheon.com">Pantheon</a> and came across an issue, for which part of the suggested fix was to ensure that the <code>$base_url</code> variable was explicitly defined within settings.php (this is also best practice on all Drupal sites).</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Include a Local Drupal Settings file for Environment Configuration and Overrides</h1>
<p class="posted">20th December 2014</p>
<p class="posted text-light">20th December 2014</p>
<p>At the bottom of settings.php, add the following code:</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Configuring the Reroute Email Module</h1>
<p class="posted">22nd December 2014</p>
<p class="posted text-light">22nd December 2014</p>
<p><a href="https://www.drupal.org/project/reroute_email">Reroute Email</a> module uses <code>hook_mail_alter()</code> to prevent emails from being sent to users from non-production sites. It allows you to enter one or more email addresses that will receive the emails instead of delivering them to the original user.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>2014</h1>
<p class="posted">20th March 2015</p>
<p class="posted text-light">20th March 2015</p>
<p>A lot happened in 2014. Here are some of the main things that I'd like to highlight:</p>

View file

@ -92,7 +92,7 @@
<main class="col-md-9">
<h1>How to Define a Minimum Drupal Core Version</h1>
<p class="posted">3rd April 2015</p>
<p class="posted text-light">3rd April 2015</p>
<p>This week, my first code patch was <a href="https://www.drupal.org/node/2394517#comment-9773143">committed to Drupal core</a>. The patch adds the <code>user_has_role()</code> 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 <a href="https://www.drupal.org/drupal-7.36-release-notes">7.36</a>.</p>

View file

@ -85,7 +85,7 @@
<main class="col-md-9">
<h1>Updating Forked Repositories on GitHub</h1>
<p class="posted">18th June 2015</p>
<p class="posted text-light">18th June 2015</p>
<h2 id="sculpin">Sculpin</h2>

View file

@ -85,7 +85,7 @@
<main class="col-md-9">
<h1>Sculpin and Twig Resources</h1>
<p class="posted">19th July 2015</p>
<p class="posted text-light">19th July 2015</p>
<p>Heres a list of resources that I compiled whilst preparing for my <a href="http://drupalcampnorth.org/session/test-drive-twig-sculpin">Sculpin and Twig talk</a> at <a href="http://drupalcampnorth.org">DrupalCamp North</a>.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Automating Sculpin Builds with Jenkins CI</h1>
<p class="posted">21st July 2015</p>
<p class="posted text-light">21st July 2015</p>
<p>As part of re-building this site with <a href="http://sculpin.io">Sculpin</a>, I wanted to automate the deployments, as in I wouldn't need to run a script like <a href="https://raw.githubusercontent.com/sculpin/sculpin-blog-skeleton/master/publish.sh">publish.sh</a> 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.</p>

View file

@ -85,7 +85,7 @@
<main class="col-md-9">
<h1>Programmatically Load an Entityform in Drupal 7</h1>
<p class="posted">22nd December 2015</p>
<p class="posted text-light">22nd December 2015</p>
<p>I recently had my first experience using the <a href="https://www.drupal.org/project/entityform">Entityform module</a> 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 <code>drupal_get_form()</code> function and render it, but this didnt work.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Announcing the Drupal VM Generator</h1>
<p class="posted">15th February 2016</p>
<p class="posted text-light">15th February 2016</p>
<p>For the past few weeks Ive been working on a personal side project, based on Drupal VM. Its called the <a href="https://github.com/opdavies/drupal-vm-generator">Drupal VM Generator</a>, and over the weekend Ive added the final features and fixed the remaining issues, and tagged the 1.0.0 release.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Simplifying Drupal Migrations with xautoload</h1>
<p class="posted">3rd May 2016</p>
<p class="posted text-light">3rd May 2016</p>
<h2 id="what-is-xautoload%3F">What is xautoload?</h2>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Building Gmail Filters with PHP</h1>
<p class="posted">15th July 2016</p>
<p class="posted text-light">15th July 2016</p>
<p>Earlier this week I wrote a small PHP library called <a href="https://github.com/opdavies/gmail-filter-builder">GmailFilterBuilder</a> that allows you to write Gmail filters in PHP and export them to XML.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Drupal VM Generator 2.9.1 Released</h1>
<p class="posted">30th December 2016</p>
<p class="posted text-light">30th December 2016</p>
<p>I spent some time yesterday working on the <a href="http://www.drupalvmgenerator.com">Drupal VM Generator</a>, and have released versions 2.8.1, 2.9.0 and 2.9.1.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Easier Sculpin Commands with Composer and NPM Scripts</h1>
<p class="posted">7th January 2017</p>
<p class="posted text-light">7th January 2017</p>
<p>My website includes several various command line tools - e.g. <a href="https://sculpin.io">Sculpin</a>, <a href="http://gulpjs.com">Gulp</a> and <a href="http://behat.org">Behat</a> - each needing different arguments and options, depending on the command being run. For example, for Sculpin, I normally include several additional options when viewing the site locally - the full command that I use is <code>./vendor/bin/sculpin generate --watch --server --clean --no-interaction</code>. Typing this repeatedly is time consuming and could be easily mis-typed, forgotten or confused with other commands.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Nginx Redirects With Query String Arguments</h1>
<p class="posted">31st January 2017</p>
<p class="posted text-light">31st January 2017</p>
<p>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 <code>example.com</code> domain to the canonical <code>www</code> subdomain.</p>

View file

@ -85,7 +85,7 @@
<main class="col-md-9">
<h1>Fixing Drupal SimpleTest issues inside Docker Containers</h1>
<p class="posted">5th May 2017</p>
<p class="posted text-light">5th May 2017</p>
<p><strong>TL;DR</strong> You need to include the name of your web server container as the <code>--url</code> option to <code>run-scripts.php</code>.</p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Updating Override Node Options Tests</h1>
<p class="posted">5th May 2017</p>
<p class="posted text-light">5th May 2017</p>
<p>Recently, I reviewed <a href="https://www.drupal.org/node/974730">a patch</a> in the <a href="https://www.drupal.org/project/override_node_options">Override Node Options</a> module issue queue. For those not familiar with it, the module adds extra permissions for node options like "authored by" and "published on" which are normally only available to users with the <code>administer nodes</code> permission. What the patch does is to optionally add another set of permissions that enable options for all content types - e.g. "override published option for all node types", in addition to or instead of the content type specific ones.</p>

View file

@ -85,7 +85,7 @@
<main class="col-md-9">
<h1>DrupalCamp Bristol 2017 - Early Bird Tickets, Call for Sessions, Sponsors</h1>
<p class="posted">15th May 2017</p>
<p class="posted text-light">15th May 2017</p>
<p><img src="/assets/images/blog/drupalcamp-bristol-17-logo.jpg" alt="DrupalCamp Bristol 2017 logo" class="is-centered"></p>

View file

@ -84,7 +84,7 @@
<main class="col-md-9">
<h1>Turning Your Custom Drupal Module into a Feature</h1>
<p class="posted">20th May 2017</p>
<p class="posted text-light">20th May 2017</p>
<p>Yesterday I was fixing a bug in an inherited Drupal 7 custom module, and I decided that I was going to add some tests to ensure that the bug was fixed and doesnt get accidentially re-introduced in the future. The test though required me to have a particular content type and fields which are specific to this site, so werent present within the standard installation profile used to run tests.</p>

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