Run prettier

This commit is contained in:
Oliver Davies 2020-03-14 21:58:20 +00:00
parent e4444b405a
commit 602a01f0c7
5 changed files with 68 additions and 16 deletions

View file

@ -3,10 +3,29 @@ title: Deploying PHP applications with Ansible, Ansible Vault and Ansistrano
url: https://www.oliverdavies.uk/talks/deploying-php-ansible-ansistrano
tags: [ansible, php]
---
Great! Youve built your website, and now you just need to deploy it. There are various ways that this could be done - from (S)FTP, to SCP and rsync, to running commands like `git pull` and `composer install` directly on the server which is not ideal.
As well provisioning and maintaining your server configuration and running commands, you can also use [Ansible](https://www.ansible.com) to deploy your PHP application - leveraging relevant Ansible modules such as Git and Composer, custom Ansible roles, [Ansible Vault](https://docs.ansible.com/ansible/latest/user_guide/vault.html) for managing secrets, and features such as idempotency out of the box to build a simple deployment playbook.
Great! Youve built your website, and now you just need to deploy it. There are
various ways that this could be done - from (S)FTP, to SCP and rsync, to running
commands like `git pull` and `composer install` directly on the server which is
not ideal.
We can then extend that and make it more robust by adding [Ansistrano](https://ansistrano.com) - a port of [Capistrano](https://capistranorb.com) - which adds extra features such as storing multiple builds for each project and the ability to roll-back if needed, customising your build steps using built-in hooks, multi-stage environments and more.
As well provisioning and maintaining your server configuration and running
commands, you can also use [Ansible](https://www.ansible.com) to deploy your PHP
application - leveraging relevant Ansible modules such as Git and Composer,
custom Ansible roles,
[Ansible Vault](https://docs.ansible.com/ansible/latest/user_guide/vault.html)
for managing secrets, and features such as idempotency out of the box to build a
simple deployment playbook.
I've been using Ansible and Ansistrano to deploy a variety of PHP projects - including Drupal 7 & 8, Symfony, Laravel and Sculpin, as well as basic HTML websites, and found it to be very flexible and easy to install and use, and by the end of this talk we will have a fully working deployment playbook, deploying real code onto a real server.
We can then extend that and make it more robust by adding
[Ansistrano](https://ansistrano.com) - a port of
[Capistrano](https://capistranorb.com) - which adds extra features such as
storing multiple builds for each project and the ability to roll-back if needed,
customising your build steps using built-in hooks, multi-stage environments and
more.
I've been using Ansible and Ansistrano to deploy a variety of PHP projects -
including Drupal 7 & 8, Symfony, Laravel and Sculpin, as well as basic HTML
websites, and found it to be very flexible and easy to install and use, and by
the end of this talk we will have a fully working deployment playbook, deploying
real code onto a real server.

View file

@ -3,10 +3,22 @@ title: Having Fun with Drupal 8, PHP libraries and the Drupal.org API
url: https://www.oliverdavies.uk/talks/drupal-8-php-libraries-drupalorg-api
tags: [drupal, drupal-8, php, composer]
---
Recently whilst I was involved in rebuilding an agency website, I started looking for a way to list our supported contrib projects from Drupal.org including information such as each projects download and star count - similar to how Id seen on other websites for their PHP projects on GitHub.
This led me down a path of modern PHP development practices - firstly developing a separate PHP library for interacting with Drupal.org, and then writing a custom Drupal module that allowed the library to be configurable, as well as making use of Drupals user roles and permissions, routing and caching.
Recently whilst I was involved in rebuilding an agency website, I started
looking for a way to list our supported contrib projects from Drupal.org
including information such as each projects download and star count - similar
to how Id seen on other websites for their PHP projects on GitHub.
I then also found another use-case for this library, to display the Drupalversary date for a user - i.e. when they created their account on Drupal.org - and to display a message if the current day was a user's Drupalversary.
This led me down a path of modern PHP development practices - firstly developing
a separate PHP library for interacting with Drupal.org, and then writing a
custom Drupal module that allowed the library to be configurable, as well as
making use of Drupals user roles and permissions, routing and caching.
In this talk, I explain the approach that I took and some and the benefits of splitting code into separate packages, I'll demo the library itself before moving on to look at the code for and demo the Drupal modules that leverage it.
I then also found another use-case for this library, to display the
Drupalversary date for a user - i.e. when they created their account on
Drupal.org - and to display a message if the current day was a user's
Drupalversary.
In this talk, I explain the approach that I took and some and the benefits of
splitting code into separate packages, I'll demo the library itself before
moving on to look at the code for and demo the Drupal modules that leverage it.

View file

@ -3,14 +3,18 @@ title: Taking Flight with Tailwind CSS
url: https://www.oliverdavies.uk/talks/taking-flight-with-tailwind-css
tags: [css, front-end, tailwindcss]
---
An introduction to utility class and component based styling, and how to soar with [Tailwind CSS](https://tailwindcss.com).
An introduction to utility class and component based styling, and how to soar
with [Tailwind CSS](https://tailwindcss.com).
Things well cover:
- Advantages and disadvantages to utility based styling and Tailwind.
- How to install Tailwind and add it to your build process using tools such as Symfony Encore and Laravel Mix.
- How to install Tailwind and add it to your build process using tools such as
Symfony Encore and Laravel Mix.
- How to configure and customise Tailwind for your project.
- How to promote repeating classes into re-usable components for better maintainability.
- How to promote repeating classes into re-usable components for better
maintainability.
- Strategies to control the file size, and using external tools like PurgeCSS.
Also, if time allows:

View file

@ -3,8 +3,21 @@ title: TDD - Test Driven Drupal
url: https://www.oliverdavies.uk/talks/tdd-test-driven-drupal
tags: [drupal, drupal-8, testing, php]
---
Testing is important. Why? It allows developers to add new features and edit and refactor existing code without the worry of adding regressions, reduces the reliance on manual testing to discover bugs, and by taking a test driven approach, your implementation code is leaner as you only write what is needed for your tests to pass.
Drupal 7 includes the SimpleTest module for unit and functional testing, whilst Drupal 8 also includes and supports PHPUnit - the defacto PHP testing framework, used by other PHP projects including Symfony and Laravel - making it easier for people to test their code. And with testing being one of the Drupal core gates with tests needing to be included with every new feature or bug fix, and cores 100% pass rate policy, testing has become an essential skill when contributing to core, or when working on your own projects.
Testing is important. Why? It allows developers to add new features and edit and
refactor existing code without the worry of adding regressions, reduces the
reliance on manual testing to discover bugs, and by taking a test driven
approach, your implementation code is leaner as you only write what is needed
for your tests to pass.
In this talk, well cover the methodology and terminology involved with automated testing, and then take a test driven approach to creating a new Drupal module.
Drupal 7 includes the SimpleTest module for unit and functional testing, whilst
Drupal 8 also includes and supports PHPUnit - the defacto PHP testing framework,
used by other PHP projects including Symfony and Laravel - making it easier for
people to test their code. And with testing being one of the Drupal core gates
with tests needing to be included with every new feature or bug fix, and cores
100% pass rate policy, testing has become an essential skill when contributing
to core, or when working on your own projects.
In this talk, well cover the methodology and terminology involved with
automated testing, and then take a test driven approach to creating a new Drupal
module.

View file

@ -4,6 +4,10 @@ url: https://www.oliverdavies.uk/talks/using-illuminate-collections-outside-lara
type: short
tags: [php, composer, laravel]
---
Laravel's [Illuminate Collections](https://laravel.com/docs/collections) are a powerful object-orientated way of interacting with PHP arrays, but did you know that they can be used outside of Laravel, in any PHP project?
This short talk shows how we can use Composer to include Illuminate Collections within a non-Laravel project and put them to use within your own code.
Laravel's [Illuminate Collections](https://laravel.com/docs/collections) are a
powerful object-orientated way of interacting with PHP arrays, but did you know
that they can be used outside of Laravel, in any PHP project?
This short talk shows how we can use Composer to include Illuminate Collections
within a non-Laravel project and put them to use within your own code.