Merge branch 'favourite-posts'

This commit is contained in:
Oliver Davies 2019-01-15 22:22:17 +00:00
commit 358dc3200b
32 changed files with 170 additions and 143 deletions

View file

@ -3,7 +3,7 @@ sculpin:
sculpin_content_types:
posts:
permalink: blog/:basename/
permalink: articles/:basename/
taxonomies: [tags]
talks:
permalink: talks/:basename/

View file

@ -60,9 +60,9 @@ export default {
pattern: '^/talks/?',
},
{
title: 'Blog',
href: '/blog',
pattern: '^/blog/?',
title: 'Articles',
href: '/articles',
pattern: '^/articles/?',
},
{
title: 'Book',

View file

@ -7,7 +7,7 @@
@import 'components/blockquote'
@import 'components/button'
@import 'components/listing'
@import 'components/markdown'
@import 'components/markup'
@import 'components/note'
@import 'components/slides'
@import 'components/table'

View file

@ -1,4 +1,3 @@
.markdown,
.markup
@apply leading-normal
@ -14,16 +13,6 @@
code
@apply inline-block px-1 py-1 border border-grey-light font-bold
p:last-child
@apply mb-0
p,
ul,
ol,
blockquote,
table
@apply mb-4
pre
@apply my-8

View file

@ -20,5 +20,8 @@
"tailwindcss-visuallyhidden": "^1.0.1",
"tailwindcss-vuejs": "^1.0.0",
"vue": "^2.5.17"
},
"dependencies": {
"tailwindcss-spaced-items": "https://github.com/opdavies/tailwindcss-spaced-items.git#fix-margin-auto"
}
}

View file

@ -15,7 +15,7 @@
{% include 'post/header' %}
{% include 'post/intro-image' %}
<div class="markdown mb-6">
<div class="markup spaced-y-4 mb-6">
{% include 'post/old-post-message' %}
{% block content %}{% endblock %}
</div>

View file

@ -1,7 +1,7 @@
{% extends 'default' %}
{% block content_wrapper %}
<div class="markdown">
<div class="markup">
{% block content %}{% endblock %}
</div>

View file

@ -9,5 +9,5 @@
</div>
<div class="markup">
<p>{{ post.excerpt }}</p>
<p class="text-sm">{{ post.excerpt }}</p>
</div>

View file

@ -8,7 +8,7 @@
</a>
</h3>
<div class="markdown flex-1">
<div class="markup flex-1">
{{ project.description }}
</div>

View file

@ -4,6 +4,7 @@ excerpt: How to use PHP to generate and export filters for Gmail.
tags:
- php
- gmail
promoted: true
---
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

@ -77,7 +77,7 @@ As the site was previously using HTTPS, I didnt want to have to go back to HT
[1]: https://github.com/opdavies/oliverdavies.uk
[2]: https://help.github.com/articles/configuring-a-publishing-source-for-github-pages/#publishing-your-github-pages-site-from-a-docs-folder-on-your-master-branch
[3]: https://github.com/opdavies/oliverdavies.uk/blob/master/publish.sh
[4]: /blog/2015/07/21/automating-sculpin-jenkins
[4]: /articles/2015/07/21/automating-sculpin-jenkins
[5]: https://github.com/blog/572-bypassing-jekyll-on-github-pages
[6]: https://blog.cloudflare.com/secure-and-fast-github-pages-with-cloudflare
[7]: https://github.com/blog/2186-https-for-github-pages

View file

@ -8,6 +8,7 @@ meta:
width: 2560
height: 1440
type: image/png
promoted: true
---
<p class="text-center" markdown="1">![](/images/blog/drupalcamp-dublin.jpg)</p>

View file

@ -287,7 +287,7 @@ Since writing this post, Ive had a [pull request][8] accepted for this comman
[4]: https://www.drupal.org/docs/8/phpunit
[5]: https://github.com/docksal/docksal/blob/develop/examples/.docksal/commands/phpcs
[6]: /talks/tdd-test-driven-drupal
[7]: /blog/tags/testing
[7]: /articles/tags/testing
[8]: https://github.com/docksal/addons/pull/15
[9]: https://blog.docksal.io/installing-addons-in-a-docksal-project-172a6c2d8a5b
[10]: https://github.com/docksal/addons

View file

@ -50,8 +50,8 @@ Im giving the [Test Driven Drupal][9] talk at the [Drupal Dev Days conference
[3]: {{site.companies['microserve'].url}}
[4]: https://github.com/drupal-composer/drupal-project
[5]: https://www.drupal.org/project/examples
[6]: /blog/creating-a-custom-phpunit-command-for-docksal
[7]: /blog/using-environment-variables-settings-docksal
[6]: /articles/creating-a-custom-phpunit-command-for-docksal
[7]: /articles/using-environment-variables-settings-docksal
[8]: https://github.com/opdavies/drupal-testing-workshop-exercises
[9]: /talks/tdd-test-driven-drupal
[10]: https://www.drupal.org/project/private_message_queue

View file

@ -8,6 +8,7 @@ tags:
- phpstorm
- phpunit
- testing
promoted: true
---
Ive recently re-watched [A Clean PHPUnit Workflow in PHPStorm][0] on [Laracasts][1], where Jeffrey configures PhpStorm to run tests from within the IDE. With Drupal 8 using PHPUnit too, I decided to try and do the same with a local D8 site.

View file

@ -7,6 +7,7 @@ tags:
- drupal-planet
- php
- symfony
promoted: true
---
Ive been experimenting with moving some code to Drupal 8, and Im quite intrigued by a different way that Ive tried to structure it - using event subscribers, building on some of the takeaways from Drupal Dev Days.

View file

@ -9,6 +9,7 @@ tags:
- illuminate-collections
- laravel-collections
- php
promoted: true
---
Today I found another instance where I decided to use [Illuminate Collections][0] within my Drupal 8 code; whilst I was debugging an issue where a [Drupal Commerce][1] promotion was incorrectly being applied to an order.

View file

@ -29,4 +29,4 @@ DrupalCamp London is the 1-3 March 2019. Early bird tickets are available until
[0]: https://twitter.com/DrupalCampLDN/status/1064584179113971712
[1]: https://drupalcamp.london
[2]: https://drupalcamp.london/get-involved/submit-a-session
[3]: /blog/tweets-drupalcamp-london
[3]: /articles/tweets-drupalcamp-london

View file

@ -7,6 +7,7 @@ tags:
- tweet
- vuejs
has_tweets: true
promoted: true
---
Earlier this week, I built a clone of [Drupal][0]s default theme, Bartik, with [Vue.js][1] and [Tailwind CSS][2]. You can [view the code on GitHub][3] and the [site itself on Netlify][4].

View file

@ -1,108 +1,110 @@
/about /
/blog/2010/04/05/style-drupal-6s-taxonomy-lists-php-css-and-jquery /blog/style-drupal-6s-taxonomy-lists-php-css-and-jquery
/blog/2010/04/28/using-imagecache-and-imagecrop-my-portfolio /blog/using-imagecache-and-imagecrop-my-portfolio
/blog/2010/05/06/conditional-email-addresses-webform /blog/conditional-email-addresses-webform
/blog/2010/05/10/quickly-create-zen-subthemes-using-zenophile /blog/quickly-create-zen-subthemes-using-zenophile
/blog/2010/05/25/create-slideshow-multiple-images-using-fancy-slide /blog/create-slideshow-multiple-images-using-fancy-slide
/blog/2010/05/29/quickly-import-multiples-images-using-imagefieldimport-module /blog/quickly-import-multiples-images-using-imagefieldimport-module
/blog/2010/06/02/improve-jpg-quality-imagecache-and-imageapi /blog/improve-jpg-quality-imagecache-and-imageapi
/blog/2010/06/23/create-block-social-media-icons-using-cck-views-and-nodequeue /blog/create-block-social-media-icons-using-cck-views-and-nodequeue
/blog/2010/06/25/10-useful-drupal-6-modules /blog/10-useful-drupal-6-modules
/blog/2010/06/28/create-flickr-photo-gallery-using-feeds-cck-and-views /blog/create-flickr-photo-gallery-using-feeds-cck-and-views
/blog/2010/07/01/change-content-type-multiple-nodes-using-sql /blog/change-content-type-multiple-nodes-using-sql
/blog/2010/07/02/create-virtual-hosts-mac-os-x-using-virtualhostx /blog/create-virtual-hosts-mac-os-x-using-virtualhostx
/blog/2010/07/07/add-taxonomy-term-multiple-nodes-using-sql /blog/add-taxonomy-term-multiple-nodes-using-sql
/blog/2010/07/12/review-teleport-module /blog/review-teleport-module
/blog/2010/08/10/review-adminhover-module /blog/review-adminhover-module
/blog/2010/08/11/create-better-photo-gallery-drupal-part-1 /blog/create-better-photo-gallery-drupal-part-1
/blog/2010/08/17/create-better-photo-gallery-drupal-part-2 /blog/create-better-photo-gallery-drupal-part-2
/blog/2010/08/20/review-image-caption-module /blog/review-image-caption-module
/blog/2010/09/26/south-wales-drupal-user-group /blog/south-wales-drupal-user-group
/blog/2010/10/10/create-and-apply-patches /blog/create-and-apply-patches
/blog/2010/10/13/create-better-photo-gallery-drupal-part-3 /blog/create-better-photo-gallery-drupal-part-3
/blog/2010/10/22/create-better-photo-gallery-drupal-part-21 /blog/create-better-photo-gallery-drupal-part-21
/blog/2010/11/04/use-regular-expressions-search-and-replace-coda-or-textmate /blog/use-regular-expressions-search-and-replace-coda-or-textmate
/blog/2011/02/14/easily-embed-typekit-fonts-your-drupal-website /blog/easily-embed-typekit-fonts-your-drupal-website
/blog/2011/03/15/display-number-facebook-fans-php /blog/display-number-facebook-fans-php
/blog/2011/03/31/proctor-stevenson /blog/proctor-stevenson
/blog/2011/05/20/proctors-hosting-next-drupal-meetup /blog/proctors-hosting-next-drupal-meetup
/blog/2011/05/23/imagefield-import-archive /blog/imagefield-import-archive
/blog/2011/08/28/create-multigroups-drupal-7-using-field-collections /blog/create-multigroups-drupal-7-using-field-collections
/blog/2011/10/19/install-and-configure-subversion-svn-server-ubuntu /blog/install-and-configure-subversion-svn-server-ubuntu
/blog/2012/01/04/site-upgraded-drupal-7 /blog/site-upgraded-drupal-7
/blog/2012/02/01/use-authorized-keys-create-passwordless-ssh-connection /blog/use-authorized-keys-create-passwordless-ssh-connection
/blog/2012/04/16/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush /blog/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush
/blog/2012/04/17/installing-nagios-centos /blog/installing-nagios-centos
/blog/2012/04/19/adding-custom-theme-templates-drupal-7 /blog/adding-custom-theme-templates-drupal-7
/blog/2012/05/23/add-date-popup-calendar-custom-form /blog/add-date-popup-calendar-custom-form
/blog/2012/05/23/checkout-specific-revision-svn-command-line /blog/checkout-specific-revision-svn-command-line
/blog/2012/05/23/forward-one-domain-another-using-mod-rewrite-and-htaccess /blog/forward-one-domain-another-using-mod-rewrite-and-htaccess
/blog/2012/05/23/prevent-apache-displaying-text-files-within-web-browser /blog/prevent-apache-displaying-text-files-within-web-browser
/blog/2012/05/23/writing-info-file-drupal-7-theme /blog/writing-info-file-drupal-7-theme
/blog/2012/05/24/dividing-drupals-process-and-preprocess-functions-separate-files /blog/dividing-drupals-process-and-preprocess-functions-separate-files
/blog/2012/07/12/my-new-drupal-modules /blog/my-new-drupal-modules
/blog/2012/07/14/install-nomensa-media-player-drupal /blog/install-nomensa-media-player-drupal
/blog/2012/07/27/writing-article-linux-journal /blog/writing-article-linux-journal
/blog/2012/08/18/display-custom-menu-drupal-7-theme-template-file /blog/display-custom-menu-drupal-7-theme-template-file
/blog/2012/09/06/reflections-speaking-unifieddiff /blog/reflections-speaking-unifieddiff
/blog/2012/10/25/my-sublime-text-2-settings /blog/my-sublime-text-2-settings
/blog/2012/11/15/accessible-bristol-site-launched /blog/accessible-bristol-site-launched
/blog/2012/11/17/open-sublime-text-2-mac-os-x-command-line /blog/open-sublime-text-2-mac-os-x-command-line
/blog/2012/12/06/use-sass-and-compass-drupal-7-using-sassy /blog/use-sass-and-compass-drupal-7-using-sassy
/blog/2013/01/09/checking-if-user-logged-drupal-right-way /blog/checking-if-user-logged-drupal-right-way
/blog/2013/02/16/creating-and-using-custom-tokens-drupal-7 /blog/creating-and-using-custom-tokens-drupal-7
/blog/2013/03/02/quickest-way-install-sublime-text-2-ubuntu /blog/quickest-way-install-sublime-text-2-ubuntu
/blog/2013/04/20/leaving-nomensa-joining-precedent /blog/leaving-nomensa-joining-precedent
/blog/2013/04/27/display-git-branch-or-tag-names-your-bash-prompt /blog/display-git-branch-or-tag-names-your-bash-prompt
/blog/2013/06/13/some-useful-links-using-simpletest-drupal /blog/some-useful-links-using-simpletest-drupal
/blog/2013/07/17/creating-local-and-staging-sites-drupals-domain-module-enabled /blog/creating-local-and-staging-sites-drupals-domain-module-enabled
/blog/2013/07/26/going-drupalcon /blog/going-drupalcon
/blog/2013/09/06/create-a-zen-sub-theme-using-drush /blog/create-a-zen-sub-theme-using-drush
/blog/2013/11/19/dont-bootstrap-drupal-use-drush /blog/dont-bootstrap-drupal-use-drush
/blog/2013/11/27/useful-vagrant-commands /blog/useful-vagrant-commands
/blog/2013/12/24/quickly-apply-patches-using-git-and-curl-or-wget /blog/quickly-apply-patches-using-git-and-curl-or-wget
/blog/2013/12/31/download-different-versions-drupal-drush /blog/download-different-versions-drupal-drush
/blog/2014/01/15/some-useful-git-aliases /blog/some-useful-git-aliases
/blog/2014/02/09/drupalcamp-london-2014 /blog/drupalcamp-london-2014
/blog/2014/03/03/what-git-flow /blog/what-git-flow
/blog/2014/05/03/drupal-association /blog/drupal-association
/blog/2014/05/06/thanks /blog/thanks
/blog/2014/05/21/git-format-patch /blog/git-format-patch
/blog/2014/07/02/drush-make-drupalbristol /blog/drush-make-drupalbristol
/blog/2014/10/06/fix-vagrant-loading-wrong-virtual-machine /blog/fix-vagrant-loading-wrong-virtual-machine
/blog/2014/10/21/updating-features-and-adding-components-using-drush /blog/updating-features-and-adding-components-using-drush
/blog/2014/11/18/include-css-fonts-using-sass-each-loop /blog/include-css-fonts-using-sass-each-loop
/blog/2014/11/20/using-remote-files-when-developing-locally-with-stage-file-proxy-module /blog/using-remote-files-when-developing-locally-with-stage-file-proxy-module
/blog/2014/11/27/pantheon-settings-files /blog/pantheon-settings-files
/blog/2014/12/20/include-local-drupal-settings-file-environment-configuration-and-overrides /blog/include-local-drupal-settings-file-environment-configuration-and-overrides
/blog/2015/04/03/how-to-define-a-minimum-drupal-core-version /blog/how-to-define-a-minimum-drupal-core-version
/blog/2015/06/18/updating-forked-repositories-on-github /blog/updating-forked-repositories-on-github
/blog/2015/07/19/sculpin-twig-resources /blog/sculpin-twig-resources
/blog/2015/07/21/automating-sculpin-jenkins /blog/automating-sculpin-jenkins
/blog/2015/12/22/programmatically-load-an-entityform-in-drupal-7 /blog/programmatically-load-an-entityform-in-drupal-7
/blog/2016/02/15/announcing-the-drupal-vm-generator /blog/announcing-the-drupal-vm-generator
/blog/2016/05/03/simplifying-drupal-migrations-with-xautoload /blog/simplifying-drupal-migrations-with-xautoload
/blog/2016/07/15/building-gmail-filters-with-php /blog/building-gmail-filters-with-php
/blog/2016/12/30/drupal-vm-generator-291-released /blog/drupal-vm-generator-291-released
/blog/2017/01/07/easier-sculpin-commands-with-composer-and-npm-scripts /blog/easier-sculpin-commands-with-composer-and-npm-scripts
/blog/2017/01/31/nginx-redirects-with-query-string-arguments /blog/nginx-redirects-with-query-string-arguments
/blog/2017/05/05/fixing-drupal-simpletest-docker /blog/2017/05/05/fixing-drupal-simpletest-issues-inside-docker-containers
/blog/2017/05/05/fixing-drupal-simpletest-issues-inside-docker-containers /blog/fixing-drupal-simpletest-issues-inside-docker-containers
/blog/2017/06/09/introducing-the-drupal-meetups-twitterbot /blog/introducing-the-drupal-meetups-twitterbot
/blog/2017/11/07/tdd-test-driven-drupal /blog/tdd-test-driven-drupal
/blog/2017/11/07/writing-drupal-module-test-driven-development-tdd /blog/2017/11/07/tdd-test-driven-drupal
/blog/2018/01/30/drupalcamp-bristol-2018 /blog/drupalcamp-bristol-2018
/blog/2018/02/05/using-tailwind-css-in-your-drupal-theme /blog/using-tailwind-css-in-your-drupal-theme
/blog/2018/02/27/looking-forward-to-drupalcamp-london /blog/looking-forward-to-drupalcamp-london
/blog/2018/02/27/queuing-private-messages-in-drupal-8 /blog/queuing-private-messages-in-drupal-8
/blog/2018/02/28/building-the-new-phpsw-website /blog/building-the-new-phpsw-website
/blog/2018/03/02/yay-the-mediacurrent-contrib-half-hour-is-back /blog/yay-the-mediacurrent-contrib-half-hour-is-back
/blog/2018/03/04/tweets-from-drupalcamp-london /blog/tweets-from-drupalcamp-london
/blog/2018/05/06/creating-a-custom-phpunit-command-for-docksal /blog/creating-a-custom-phpunit-command-for-docksal
/blog/announcing-the-drupal-vm-config-generator /blog/announcing-the-drupal-vm-generator
/blog/drush-make-drupalbristol /talks/drush-make-drupalbristol
/blog/system-users-null-users /blog/null-users-and-system-users-in-drupal
/blog/tweets-from-drupalcamp-london /blog/tweets-drupalcamp-london
/articles/2010/04/05/style-drupal-6s-taxonomy-lists-php-css-and-jquery /articles/style-drupal-6s-taxonomy-lists-php-css-and-jquery
/articles/2010/04/28/using-imagecache-and-imagecrop-my-portfolio /articles/using-imagecache-and-imagecrop-my-portfolio
/articles/2010/05/06/conditional-email-addresses-webform /articles/conditional-email-addresses-webform
/articles/2010/05/10/quickly-create-zen-subthemes-using-zenophile /articles/quickly-create-zen-subthemes-using-zenophile
/articles/2010/05/25/create-slideshow-multiple-images-using-fancy-slide /articles/create-slideshow-multiple-images-using-fancy-slide
/articles/2010/05/29/quickly-import-multiples-images-using-imagefieldimport-module /articles/quickly-import-multiples-images-using-imagefieldimport-module
/articles/2010/06/02/improve-jpg-quality-imagecache-and-imageapi /articles/improve-jpg-quality-imagecache-and-imageapi
/articles/2010/06/23/create-block-social-media-icons-using-cck-views-and-nodequeue /articles/create-block-social-media-icons-using-cck-views-and-nodequeue
/articles/2010/06/25/10-useful-drupal-6-modules /articles/10-useful-drupal-6-modules
/articles/2010/06/28/create-flickr-photo-gallery-using-feeds-cck-and-views /articles/create-flickr-photo-gallery-using-feeds-cck-and-views
/articles/2010/07/01/change-content-type-multiple-nodes-using-sql /articles/change-content-type-multiple-nodes-using-sql
/articles/2010/07/02/create-virtual-hosts-mac-os-x-using-virtualhostx /articles/create-virtual-hosts-mac-os-x-using-virtualhostx
/articles/2010/07/07/add-taxonomy-term-multiple-nodes-using-sql /articles/add-taxonomy-term-multiple-nodes-using-sql
/articles/2010/07/12/review-teleport-module /articles/review-teleport-module
/articles/2010/08/10/review-adminhover-module /articles/review-adminhover-module
/articles/2010/08/11/create-better-photo-gallery-drupal-part-1 /articles/create-better-photo-gallery-drupal-part-1
/articles/2010/08/17/create-better-photo-gallery-drupal-part-2 /articles/create-better-photo-gallery-drupal-part-2
/articles/2010/08/20/review-image-caption-module /articles/review-image-caption-module
/articles/2010/09/26/south-wales-drupal-user-group /articles/south-wales-drupal-user-group
/articles/2010/10/10/create-and-apply-patches /articles/create-and-apply-patches
/articles/2010/10/13/create-better-photo-gallery-drupal-part-3 /articles/create-better-photo-gallery-drupal-part-3
/articles/2010/10/22/create-better-photo-gallery-drupal-part-21 /articles/create-better-photo-gallery-drupal-part-21
/articles/2010/11/04/use-regular-expressions-search-and-replace-coda-or-textmate /articles/use-regular-expressions-search-and-replace-coda-or-textmate
/articles/2011/02/14/easily-embed-typekit-fonts-your-drupal-website /articles/easily-embed-typekit-fonts-your-drupal-website
/articles/2011/03/15/display-number-facebook-fans-php /articles/display-number-facebook-fans-php
/articles/2011/03/31/proctor-stevenson /articles/proctor-stevenson
/articles/2011/05/20/proctors-hosting-next-drupal-meetup /articles/proctors-hosting-next-drupal-meetup
/articles/2011/05/23/imagefield-import-archive /articles/imagefield-import-archive
/articles/2011/08/28/create-multigroups-drupal-7-using-field-collections /articles/create-multigroups-drupal-7-using-field-collections
/articles/2011/10/19/install-and-configure-subversion-svn-server-ubuntu /articles/install-and-configure-subversion-svn-server-ubuntu
/articles/2012/01/04/site-upgraded-drupal-7 /articles/site-upgraded-drupal-7
/articles/2012/02/01/use-authorized-keys-create-passwordless-ssh-connection /articles/use-authorized-keys-create-passwordless-ssh-connection
/articles/2012/04/16/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush /articles/create-omega-subtheme-less-css-preprocessor-using-omega-tools-and-drush
/articles/2012/04/17/installing-nagios-centos /articles/installing-nagios-centos
/articles/2012/04/19/adding-custom-theme-templates-drupal-7 /articles/adding-custom-theme-templates-drupal-7
/articles/2012/05/23/add-date-popup-calendar-custom-form /articles/add-date-popup-calendar-custom-form
/articles/2012/05/23/checkout-specific-revision-svn-command-line /articles/checkout-specific-revision-svn-command-line
/articles/2012/05/23/forward-one-domain-another-using-mod-rewrite-and-htaccess /articles/forward-one-domain-another-using-mod-rewrite-and-htaccess
/articles/2012/05/23/prevent-apache-displaying-text-files-within-web-browser /articles/prevent-apache-displaying-text-files-within-web-browser
/articles/2012/05/23/writing-info-file-drupal-7-theme /articles/writing-info-file-drupal-7-theme
/articles/2012/05/24/dividing-drupals-process-and-preprocess-functions-separate-files /articles/dividing-drupals-process-and-preprocess-functions-separate-files
/articles/2012/07/12/my-new-drupal-modules /articles/my-new-drupal-modules
/articles/2012/07/14/install-nomensa-media-player-drupal /articles/install-nomensa-media-player-drupal
/articles/2012/07/27/writing-article-linux-journal /articles/writing-article-linux-journal
/articles/2012/08/18/display-custom-menu-drupal-7-theme-template-file /articles/display-custom-menu-drupal-7-theme-template-file
/articles/2012/09/06/reflections-speaking-unifieddiff /articles/reflections-speaking-unifieddiff
/articles/2012/10/25/my-sublime-text-2-settings /articles/my-sublime-text-2-settings
/articles/2012/11/15/accessible-bristol-site-launched /articles/accessible-bristol-site-launched
/articles/2012/11/17/open-sublime-text-2-mac-os-x-command-line /articles/open-sublime-text-2-mac-os-x-command-line
/articles/2012/12/06/use-sass-and-compass-drupal-7-using-sassy /articles/use-sass-and-compass-drupal-7-using-sassy
/articles/2013/01/09/checking-if-user-logged-drupal-right-way /articles/checking-if-user-logged-drupal-right-way
/articles/2013/02/16/creating-and-using-custom-tokens-drupal-7 /articles/creating-and-using-custom-tokens-drupal-7
/articles/2013/03/02/quickest-way-install-sublime-text-2-ubuntu /articles/quickest-way-install-sublime-text-2-ubuntu
/articles/2013/04/20/leaving-nomensa-joining-precedent /articles/leaving-nomensa-joining-precedent
/articles/2013/04/27/display-git-branch-or-tag-names-your-bash-prompt /articles/display-git-branch-or-tag-names-your-bash-prompt
/articles/2013/06/13/some-useful-links-using-simpletest-drupal /articles/some-useful-links-using-simpletest-drupal
/articles/2013/07/17/creating-local-and-staging-sites-drupals-domain-module-enabled /articles/creating-local-and-staging-sites-drupals-domain-module-enabled
/articles/2013/07/26/going-drupalcon /articles/going-drupalcon
/articles/2013/09/06/create-a-zen-sub-theme-using-drush /articles/create-a-zen-sub-theme-using-drush
/articles/2013/11/19/dont-bootstrap-drupal-use-drush /articles/dont-bootstrap-drupal-use-drush
/articles/2013/11/27/useful-vagrant-commands /articles/useful-vagrant-commands
/articles/2013/12/24/quickly-apply-patches-using-git-and-curl-or-wget /articles/quickly-apply-patches-using-git-and-curl-or-wget
/articles/2013/12/31/download-different-versions-drupal-drush /articles/download-different-versions-drupal-drush
/articles/2014/01/15/some-useful-git-aliases /articles/some-useful-git-aliases
/articles/2014/02/09/drupalcamp-london-2014 /articles/drupalcamp-london-2014
/articles/2014/03/03/what-git-flow /articles/what-git-flow
/articles/2014/05/03/drupal-association /articles/drupal-association
/articles/2014/05/06/thanks /articles/thanks
/articles/2014/05/21/git-format-patch /articles/git-format-patch
/articles/2014/07/02/drush-make-drupalbristol /articles/drush-make-drupalbristol
/articles/2014/10/06/fix-vagrant-loading-wrong-virtual-machine /articles/fix-vagrant-loading-wrong-virtual-machine
/articles/2014/10/21/updating-features-and-adding-components-using-drush /articles/updating-features-and-adding-components-using-drush
/articles/2014/11/18/include-css-fonts-using-sass-each-loop /articles/include-css-fonts-using-sass-each-loop
/articles/2014/11/20/using-remote-files-when-developing-locally-with-stage-file-proxy-module /articles/using-remote-files-when-developing-locally-with-stage-file-proxy-module
/articles/2014/11/27/pantheon-settings-files /articles/pantheon-settings-files
/articles/2014/12/20/include-local-drupal-settings-file-environment-configuration-and-overrides /articles/include-local-drupal-settings-file-environment-configuration-and-overrides
/articles/2015/04/03/how-to-define-a-minimum-drupal-core-version /articles/how-to-define-a-minimum-drupal-core-version
/articles/2015/06/18/updating-forked-repositories-on-github /articles/updating-forked-repositories-on-github
/articles/2015/07/19/sculpin-twig-resources /articles/sculpin-twig-resources
/articles/2015/07/21/automating-sculpin-jenkins /articles/automating-sculpin-jenkins
/articles/2015/12/22/programmatically-load-an-entityform-in-drupal-7 /articles/programmatically-load-an-entityform-in-drupal-7
/articles/2016/02/15/announcing-the-drupal-vm-generator /articles/announcing-the-drupal-vm-generator
/articles/2016/05/03/simplifying-drupal-migrations-with-xautoload /articles/simplifying-drupal-migrations-with-xautoload
/articles/2016/07/15/building-gmail-filters-with-php /articles/building-gmail-filters-with-php
/articles/2016/12/30/drupal-vm-generator-291-released /articles/drupal-vm-generator-291-released
/articles/2017/01/07/easier-sculpin-commands-with-composer-and-npm-scripts /articles/easier-sculpin-commands-with-composer-and-npm-scripts
/articles/2017/01/31/nginx-redirects-with-query-string-arguments /articles/nginx-redirects-with-query-string-arguments
/articles/2017/05/05/fixing-drupal-simpletest-docker /articles/2017/05/05/fixing-drupal-simpletest-issues-inside-docker-containers
/articles/2017/05/05/fixing-drupal-simpletest-issues-inside-docker-containers /articles/fixing-drupal-simpletest-issues-inside-docker-containers
/articles/2017/06/09/introducing-the-drupal-meetups-twitterbot /articles/introducing-the-drupal-meetups-twitterbot
/articles/2017/11/07/tdd-test-driven-drupal /articles/tdd-test-driven-drupal
/articles/2017/11/07/writing-drupal-module-test-driven-development-tdd /articles/2017/11/07/tdd-test-driven-drupal
/articles/2018/01/30/drupalcamp-bristol-2018 /articles/drupalcamp-bristol-2018
/articles/2018/02/05/using-tailwind-css-in-your-drupal-theme /articles/using-tailwind-css-in-your-drupal-theme
/articles/2018/02/27/looking-forward-to-drupalcamp-london /articles/looking-forward-to-drupalcamp-london
/articles/2018/02/27/queuing-private-messages-in-drupal-8 /articles/queuing-private-messages-in-drupal-8
/articles/2018/02/28/building-the-new-phpsw-website /articles/building-the-new-phpsw-website
/articles/2018/03/02/yay-the-mediacurrent-contrib-half-hour-is-back /articles/yay-the-mediacurrent-contrib-half-hour-is-back
/articles/2018/03/04/tweets-from-drupalcamp-london /articles/tweets-from-drupalcamp-london
/articles/2018/05/06/creating-a-custom-phpunit-command-for-docksal /articles/creating-a-custom-phpunit-command-for-docksal
/articles/announcing-the-drupal-vm-config-generator /articles/announcing-the-drupal-vm-generator
/articles/drush-make-drupalbristol /talks/drush-make-drupalbristol
/articles/system-users-null-users /articles/null-users-and-system-users-in-drupal
/articles/tweets-from-drupalcamp-london /articles/tweets-drupalcamp-london
/blog /articles
/blog/* /articles/:splat
/book /test-driven-drupal
/consulting /
/drupal https://www.drupal.org/u/opdavies

View file

@ -13,7 +13,7 @@ permalink: /
{% block content %}
<div class="md:flex -mx-6">
<div class="w-auto md:flex-1 px-6 mb-12 md:mb-0">
<div class="markup mb-8">
<div class="markup spaced-y-4 mb-8">
<div class="mb-4 w-32"><img src="/images/me-precedent.jpg" alt="Picture of Oliver" class="rounded-full border border-grey"/></div>
<p>Hi, Im Oliver Davies (aka <a href="https://www.google.com/#q=opdavies">opdavies</a>) - a Full Stack Web Developer and System Administrator based in Wales, UK.</p>
@ -28,7 +28,6 @@ permalink: /
</div>
{% include 'about/availability' %}
{% include 'posts/latest' %}
</div>
<div class="w-full md:w-2/5 lg:w-1/3 px-6">

View file

@ -1,6 +1,6 @@
---
layout: default
title: Blog
title: Archive
use: [posts]
---
{% block page_title_wrapper %}
@ -10,13 +10,13 @@ use: [posts]
{% endblock %}
{% block content %}
<ul class="list-reset -mt-4 -mx-4">
<div class="-mt-4 -mx-4 spaced-y-4">
{% for post in data.posts %}
<li class="p-4 mb-6 {{ post.draft ? 'bg-blue-lighter' }}">
<article class="p-4 {{ post.draft ? 'bg-blue-lighter' }}">
{% include 'blog/post-summary' %}
</li>
</article>
{% endfor %}
</ul>
</div>
{% endblock %}
{% block scripts %}

View file

@ -0,0 +1,23 @@
---
layout: default
title: Articles
use: [posts]
---
<div class="spaced-y-10">
<header class="text-lg spaced-y-4">
<p>I enjoy writing articles, and have written a number of them so far during my career, both to document my own learning as well to act as resources for others.</p>
<p>Here are some of my favourites.</p>
</header>
<div class="spaced-y-12">
{% for post in data.posts if post.promoted %}
<article>
{% include 'blog/post-summary' %}
</article>
{% endfor %}
</div>
<footer class="markup">
<p>Read the rest of my articles in the <a href="/articles/archive">archives</a>.</p>
</footer>
</div>

View file

@ -22,7 +22,7 @@ use:
{% for tag, post_count in rows|sort|reverse %}
<tr>
<td>
<a href="{{ site.url }}/blog/tags/{{ tag|url_encode(true) }}">{{ tag }}</a>
<a href="{{ site.url }}/articles/tags/{{ tag|url_encode(true) }}">{{ tag }}</a>
</td>
<td>{{ post_count }}</td>
</tr>

View file

@ -5,7 +5,7 @@ generator:
- posts_tag_index
---
{% block head_meta %}
<link rel="alternate" type="application/atom+xml" href="{{ site.url }}/blog/tags/{{ page.tag|url_encode(true) }}.xml" title="{{ site.title }} '{{ page.tag }}' tag feed" />
<link rel="alternate" type="application/atom+xml" href="{{ site.url }}/articles/tags/{{ page.tag|url_encode(true) }}.xml" title="{{ site.title }} '{{ page.tag }}' tag feed" />
<meta name="robots" content="noindex, follow">
{% endblock %}

View file

@ -152,7 +152,7 @@ experiences:
</div>
{% if experience.description %}
<div class="markdown">
<div class="markup">
{{ experience.description|markdown }}
</div>
{% endif %}

View file

@ -22,7 +22,7 @@ use: [posts, talks]
{% endfor %}
<url>
<loc>{{ site.url }}/blog</loc>
<loc>{{ site.url }}/articles</loc>
<lastmod>{{ site.calculated_date|date('Y-m-d') }}</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>

View file

@ -5,7 +5,7 @@ mailchimp_url: 'https://oliverdavi.us18.list-manage.com/subscribe/post?u=b4ac8dd
contact_email: 'oliver@testdrivendrupal.com'
---
{% block content %}
<div class="markdown mb-6" markdown="1">
<div class="markup spaced-y-4 mb-6" markup="1">
Having [given talks][1] and workshops, been a guest on podcasts and [written blog posts][0] about automated testing in Drupal, Im currently in the planning phase of a book and potentially some accompanying screencasts about it, focussing on Drupal 8.
Im still thinking about what use-cases to cover and examples to include, but here are some of the things Im considering:
@ -50,6 +50,6 @@ If you have questions or would like to suggest something for me to include in th
<script type='text/javascript'>(function($) {window.fnames = new Array(); window.ftypes = new Array();fnames[0]='EMAIL';ftypes[0]='email';fnames[1]='FNAME';ftypes[1]='text';}(jQuery));var $mcj = jQuery.noConflict(true);</script>
{% endblock %}
[0]: /blog/tags/testing
[0]: /articles/tags/testing
[1]: /talks/tdd-test-driven-drupal
[2]: /contact

View file

@ -91,7 +91,7 @@ testimonials:
{% endif %}
</div>
<div class="markdown">
<div class="markup">
{{ testimonial.text|markdown }}
</div>
</div>

View file

@ -325,6 +325,7 @@ module.exports = {
center: true,
padding: '1rem',
}),
require('tailwindcss-spaced-items')(),
require('tailwindcss-visuallyhidden')(),
require('tailwindcss-skip-link')(),
require('tailwindcss-vuejs')(),

View file

@ -6550,6 +6550,10 @@ tailwindcss-skip-link@^1.0.0:
resolved "https://registry.yarnpkg.com/tailwindcss-skip-link/-/tailwindcss-skip-link-1.0.1.tgz#b965624ed0b007ddd33f0326f2719d9a88b857c7"
integrity sha512-Hxivkqu7UEluZY+ZPv+aQv4dreqTfYRgniEtux4qb9yJPjyR4dXiHMIWk7LgNqsyCPKpoRL8FJq55uIQN4ms+w==
"tailwindcss-spaced-items@https://github.com/opdavies/tailwindcss-spaced-items.git#fix-margin-auto":
version "0.1.0"
resolved "https://github.com/opdavies/tailwindcss-spaced-items.git#70df16b772d6dda8f9bf4b23768142d54a3e815b"
tailwindcss-visuallyhidden@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/tailwindcss-visuallyhidden/-/tailwindcss-visuallyhidden-1.0.1.tgz#ed67ecf6ee48ea0313b5c3c27498467f350be206"