320 lines
14 KiB
HTML
320 lines
14 KiB
HTML
<!DOCTYPE html>
|
||
<html class="no-js" lang="en-GB">
|
||
<head>
|
||
<title>Blog | Oliver Davies</title>
|
||
|
||
<meta charset="UTF-8">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
|
||
|
||
<meta property="og:url" content="https://www.oliverdavies.uk/blog/page/2.html">
|
||
<meta property="og:title" content="Blog"/>
|
||
|
||
|
||
|
||
<meta property="og:image" content="https://www.oliverdavies.uk/assets/images/me-precedent.jpg"/>
|
||
<meta property="og:image:height" content="327"/>
|
||
<meta property="og:image:type" content="image/jpg">
|
||
<meta property="og:image:width" content="327"/>
|
||
|
||
|
||
|
||
<link rel="stylesheet" href="https://www.oliverdavies.uk/assets/css/main.css">
|
||
<link rel="stylesheet" href="https://www.oliverdavies.uk/assets/css/blog.css">
|
||
|
||
<link rel="apple-touch-icon" href="/assets/images/me-precedent.jpg?s=57" sizes="57x57">
|
||
<link rel="apple-touch-icon" href="/assets/images/me-precedent.jpg?s=114" sizes="114x114">
|
||
<link rel="apple-touch-icon" href="/assets/images/me-precedent.jpg?s=72" sizes="72x72">
|
||
<link rel="apple-touch-icon" href="/assets/images/me-precedent.jpg?s=144" sizes="144x144">
|
||
<link rel="apple-touch-icon" href="/assets/images/me-precedent.jpg?s=60" sizes="60x60">
|
||
<link rel="apple-touch-icon" href="/assets/images/me-precedent.jpg?s=120" sizes="120x120">
|
||
<link rel="apple-touch-icon" href="/assets/images/me-precedent.jpg?s=76" sizes="76x76">
|
||
<link rel="apple-touch-icon" href="/assets/images/me-precedent.jpg?s=152" sizes="152x152">
|
||
|
||
<link rel="icon" href="/assets/images/me-precedent.jpg?s=160" sizes="160x160">
|
||
<link rel="icon" href="/assets/images/me-precedent.jpg?s=96" sizes="96x96">
|
||
<link rel="icon" href="/assets/images/me-precedent.jpg?s=32" sizes="32x32">
|
||
<link rel="icon" href="/assets/images/me-precedent.jpg?s=16" sizes="16x16">
|
||
</head>
|
||
<body class="page--blog page--blog__list">
|
||
<nav class="navbar navbar-inverse navbar-fixed-top">
|
||
<div class="container">
|
||
<div class="navbar-header">
|
||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
|
||
<span class="sr-only">Toggle navigation</span>
|
||
<span class="icon-bar"></span>
|
||
<span class="icon-bar"></span>
|
||
<span class="icon-bar"></span>
|
||
</button>
|
||
<a class="navbar-brand" href="https://www.oliverdavies.uk/">Oliver Davies</a>
|
||
</div>
|
||
|
||
<div id="navbar" class="collapse navbar-collapse" role="navigation">
|
||
<ul class="nav navbar-nav">
|
||
<li class="">
|
||
<a href="/">About</a>
|
||
</li>
|
||
|
||
<li class="">
|
||
<a href="/experience">Experience</a>
|
||
</li>
|
||
|
||
<li class="">
|
||
<a href="/testimonials">Testimonials</a>
|
||
</li>
|
||
|
||
<li class="">
|
||
<a href="/talks">Talks</a>
|
||
</li>
|
||
|
||
<li class="active">
|
||
<a href="/blog">Blog</a>
|
||
</li>
|
||
|
||
<li class="">
|
||
<a href="/contact">Contact</a>
|
||
</li>
|
||
</ul>
|
||
</div> </div>
|
||
</nav>
|
||
|
||
<div class="container">
|
||
<div class="row">
|
||
<main class="col-md-9">
|
||
<h1>Blog</h1>
|
||
|
||
<ul class="posts">
|
||
<li class="post">
|
||
<h2>Programmatically Load an Entityform in Drupal 7</h2>
|
||
|
||
<p class="posted">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 didn’t work.</p>
|
||
|
||
<p>Here are the steps that I took to be able to load, render and embed the form.</p>
|
||
|
||
|
||
<a href="/blog/2015/12/22/programmatically-load-an-entityform-in-drupal-7">Read more →</a>
|
||
</li>
|
||
<li class="post">
|
||
<h2>Automating Sculpin Builds with Jenkins CI</h2>
|
||
|
||
<p class="posted">21st July 2015</p>
|
||
|
||
|
||
<p>As part of re-building this site with Sculpin, I wanted to automate the deployments, as in I wouldn't need to run a script like 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, …</p>
|
||
|
||
<a href="/blog/2015/07/21/automating-sculpin-jenkins">Read more →</a>
|
||
</li>
|
||
<li class="post">
|
||
<h2>Sculpin and Twig Resources</h2>
|
||
|
||
<p class="posted">19th July 2015</p>
|
||
|
||
|
||
<p>Here’s 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>
|
||
|
||
|
||
<a href="/blog/2015/07/19/sculpin-twig-resources">Read more →</a>
|
||
</li>
|
||
<li class="post">
|
||
<h2>Updating Forked Repositories on GitHub</h2>
|
||
|
||
<p class="posted">18th June 2015</p>
|
||
|
||
|
||
<p>Sculpin
|
||
|
||
People may or may not know, but this site runs on Sculpin, a PHP based static site generator (this may be the first time that I've mentioned it on this site). The source code is hosted on GitHub, and I've listed the site on the Community page on the Sculpin …</p>
|
||
|
||
<a href="/blog/2015/06/18/updating-forked-repositories-on-github">Read more →</a>
|
||
</li>
|
||
<li class="post">
|
||
<h2>How to Define a Minimum Drupal Core Version</h2>
|
||
|
||
<p class="posted">3rd April 2015</p>
|
||
|
||
|
||
<p>This week, my first code patch was committed to Drupal core. 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 …</p>
|
||
|
||
<a href="/blog/2015/04/03/how-to-define-a-minimum-drupal-core-version">Read more →</a>
|
||
</li>
|
||
<li class="post">
|
||
<h2>2014</h2>
|
||
|
||
<p class="posted">20th March 2015</p>
|
||
|
||
|
||
<p>A lot happened in 2014. Here are some of the main things that I'd like to highlight.</p>
|
||
|
||
|
||
<a href="/blog/2015/03/20/2014">Read more →</a>
|
||
</li>
|
||
<li class="post">
|
||
<h2>Include a Local Drupal Settings file for Environment Configuration and Overrides</h2>
|
||
|
||
<p class="posted">20th December 2014</p>
|
||
|
||
|
||
<p>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.</p>
|
||
|
||
|
||
<a href="/blog/2014/12/20/include-local-drupal-settings-file-environment-configuration-and-overrides">Read more →</a>
|
||
</li>
|
||
<li class="post">
|
||
<h2>Include environment-specific settings files on Pantheon</h2>
|
||
|
||
<p class="posted">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>
|
||
|
||
<p>The way that was recommended was by using a <code>switch()</code> function based on Pantheon's environment variable. For example:</p>
|
||
|
||
|
||
<a href="/blog/2014/11/27/pantheon-settings-files">Read more →</a>
|
||
</li>
|
||
<li class="post">
|
||
<h2>Using Remote Files when Developing Locally with Stage File Proxy Module</h2>
|
||
|
||
<p class="posted">20th November 2014</p>
|
||
|
||
|
||
<p>How to install and configure the <a href="https://www.drupal.org/project/stage_file_proxy">Stage File Proxy</a> module to serve remote images on your local Drupal site.</p>
|
||
|
||
|
||
<a href="/blog/2014/11/20/using-remote-files-when-developing-locally-with-stage-file-proxy-module">Read more →</a>
|
||
</li>
|
||
<li class="post">
|
||
<h2>Include CSS Fonts by Using a SASS each Loop</h2>
|
||
|
||
<p class="posted">18th November 2014</p>
|
||
|
||
|
||
<p>How to use an @each loop in SASS to quickly include multiple font files within your stylesheet.</p>
|
||
|
||
|
||
<a href="/blog/2014/11/18/include-css-fonts-using-sass-each-loop">Read more →</a>
|
||
</li>
|
||
</ul>
|
||
|
||
<ul class="pager">
|
||
<li class="next"><a href="https://www.oliverdavies.uk/blog">Newer →</a></li>
|
||
<li class="previous"><a href="https://www.oliverdavies.uk/blog/page/3.html">← Older</a></li>
|
||
</ul>
|
||
</main>
|
||
|
||
<div class="col-md-3">
|
||
<div class="panel badges text-center">
|
||
<a class="badge--da-member" href="https://assoc.drupal.org/membership" title="I’m a Drupal Association member.">
|
||
<img
|
||
src="//images.oliverdavies.uk/assets/images/da-individual-member.png"
|
||
alt="Drupal Association Individual Member"
|
||
width="152"
|
||
>
|
||
</a>
|
||
|
||
<a href="http://drupalcores.com/#opdavies">
|
||
<img
|
||
alt="I built Drupal 8 with hand holding a wrench on blue background"
|
||
src="//images.oliverdavies.uk/assets/images/drupal-8.jpg"
|
||
/>
|
||
</a>
|
||
|
||
<img
|
||
src="//images.oliverdavies.uk/assets/images/badges/acquia-certified-developer-drupal-8.png"
|
||
alt="Acquia Certified Developer - Drupal 8 Exam Badge"
|
||
height="147" width="147"
|
||
/>
|
||
|
||
<a href="http://conference.phpnw.org.uk/phpnw17">
|
||
<img src="//images.oliverdavies.uk/assets/images/badges/phpnw17.png" alt="">
|
||
</a>
|
||
</div>
|
||
<div class="availability panel panel-default">
|
||
<div class="panel-heading">Availability</div>
|
||
|
||
<div class="panel-body">
|
||
<p>
|
||
<i class="fa fa-thumbs-o-up text-warning"></i>
|
||
|
||
|
||
Currently have limited part-time capacity
|
||
</p>
|
||
<p>
|
||
<i class="fa fa-thumbs-o-down text-danger"></i>
|
||
|
||
Currently no spare full-time capacity.
|
||
|
||
</p>
|
||
</div>
|
||
</div>
|
||
<div class="latest-posts panel panel-default">
|
||
<div class="latest-posts__heading panel-heading">Latest blog posts</div>
|
||
|
||
<ul class="list-group">
|
||
<li class="post list-group-item">
|
||
<span class="post__title">
|
||
<a href="/blog/2017/06/09/introducing-the-drupal-meetups-twitterbot">
|
||
Introducing the Drupal Meetups Twitterbot
|
||
</a>
|
||
</span> -
|
||
<span class="post__date">9th June, 2017</span>
|
||
</li>
|
||
<li class="post list-group-item">
|
||
<span class="post__title">
|
||
<a href="/blog/2017/05/20/turning-drupal-module-into-feature">
|
||
Turning Your Custom Drupal Module into a Feature
|
||
</a>
|
||
</span> -
|
||
<span class="post__date">20th May, 2017</span>
|
||
</li>
|
||
<li class="post list-group-item">
|
||
<span class="post__title">
|
||
<a href="/blog/2017/05/15/drupalcamp-bristol-early-bird-tickets-sessions-sponsors">
|
||
DrupalCamp Bristol 2017 - Early Bird Tickets, Call for Sessions, Sponsors
|
||
</a>
|
||
</span> -
|
||
<span class="post__date">15th May, 2017</span>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
|
||
</div> </div>
|
||
<footer class="container">
|
||
<p class="copyright">
|
||
© 2010-2017 Oliver Davies. Built with <a href="https://sculpin.io">Sculpin</a>.
|
||
</p>
|
||
|
||
<div class="meetups">
|
||
<h2>Things that I organise</h2>
|
||
<ul>
|
||
<li class="meetups--drupal-bristol">
|
||
<a href="http://www.drupalbristol.org.uk" title="Drupal Bristol">
|
||
<img src="//images.oliverdavies.uk/assets/images/meetups/drupal-bristol.jpeg" alt="Drupal Bristol">
|
||
</a>
|
||
</li>
|
||
<li class="meetups--drupalcamp-bristol">
|
||
<a href="http://www.drupalcampbristol.co.uk" title="DrupalCamp Bristol">
|
||
<img src="//images.oliverdavies.uk/assets/images/meetups/drupalcamp-bristol.png" alt="DrupalCamp Bristol">
|
||
</a>
|
||
</li>
|
||
<li class="meetups--phpsw">
|
||
<a href="http://phpsw.uk" title="PHPSW">
|
||
<img src="//images.oliverdavies.uk/assets/images/meetups/phpsw.jpeg" alt="PHPSW">
|
||
</a>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</footer>
|
||
|
||
<script src="https://www.oliverdavies.uk/assets/js/site.js"></script>
|
||
|
||
<script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-11967257-1', 'auto'); ga('send', 'pageview');</script>
|
||
|
||
</body>
|
||
</html>
|