style: reformat

This commit is contained in:
Oliver Davies 2023-04-19 18:00:00 +01:00
parent a33f269253
commit 23fafcbcf0
11 changed files with 130 additions and 61 deletions

2
.prettierignore Normal file
View file

@ -0,0 +1,2 @@
/src/content/
/src/data/

View file

@ -2,6 +2,6 @@
title: Page not found
---
import Layout from '~/layouts/PageLayout.astro'
import Layout from "~/layouts/PageLayout.astro";
<Layout title={frontmatter.title} />

View file

@ -7,13 +7,52 @@ title: Ansible email course
Register for my upcoming Ansible email course.
<form class="mx-auto mt-8 max-w-md" action="https://app.convertkit.com/forms/3588392/subscriptions" method="post" data-sv-form="3588392" data-uid="f0c1d2b57f" data-format="inline" data-version="5" data-options="{&quot;settings&quot;:{&quot;after_subscribe&quot;:{&quot;action&quot;:&quot;message&quot;,&quot;success_message&quot;:&quot;Success! Now check your email to confirm your subscription.&quot;,&quot;redirect_url&quot;:&quot;&quot;},&quot;analytics&quot;:{&quot;google&quot;:null,&quot;fathom&quot;:null,&quot;facebook&quot;:null,&quot;segment&quot;:null,&quot;pinterest&quot;:null,&quot;sparkloop&quot;:null,&quot;googletagmanager&quot;:null},&quot;modal&quot;:{&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15},&quot;powered_by&quot;:{&quot;show&quot;:true,&quot;url&quot;:&quot;https://convertkit.com/features/forms?utm_campaign=poweredby&amp;utm_content=form&amp;utm_medium=referral&amp;utm_source=dynamic&quot;},&quot;recaptcha&quot;:{&quot;enabled&quot;:false},&quot;return_visitor&quot;:{&quot;action&quot;:&quot;show&quot;,&quot;custom_content&quot;:&quot;&quot;},&quot;slide_in&quot;:{&quot;display_in&quot;:&quot;bottom_right&quot;,&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15},&quot;sticky_bar&quot;:{&quot;display_in&quot;:&quot;top&quot;,&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15}},&quot;version&quot;:&quot;5&quot;}" min-width="400"><div data-style="clean"><ul class="formkit-alert formkit-alert-error" data-element="errors" data-group="alert"></ul>
<div data-element="fields" data-stacked="false" class="seva-fields formkit-fields"><div class="formkit-field">
<input class="block mt-1 w-full" name="email_address" style="color: rgb(0, 0, 0); border-color: rgb(227, 227, 227); border-radius: 4px; font-weight: 400;" aria-label="Email Address" placeholder="What is your best email address?" required="" type="email"/>
<form
class="mx-auto mt-8 max-w-md"
action="https://app.convertkit.com/forms/3588392/subscriptions"
method="post"
data-sv-form="3588392"
data-uid="f0c1d2b57f"
data-format="inline"
data-version="5"
data-options='{"settings":{"after_subscribe":{"action":"message","success_message":"Success! Now check your email to confirm your subscription.","redirect_url":""},"analytics":{"google":null,"fathom":null,"facebook":null,"segment":null,"pinterest":null,"sparkloop":null,"googletagmanager":null},"modal":{"trigger":"timer","scroll_percentage":null,"timer":5,"devices":"all","show_once_every":15},"powered_by":{"show":true,"url":"https://convertkit.com/features/forms?utm_campaign=poweredby&amp;utm_content=form&amp;utm_medium=referral&amp;utm_source=dynamic"},"recaptcha":{"enabled":false},"return_visitor":{"action":"show","custom_content":""},"slide_in":{"display_in":"bottom_right","trigger":"timer","scroll_percentage":null,"timer":5,"devices":"all","show_once_every":15},"sticky_bar":{"display_in":"top","trigger":"timer","scroll_percentage":null,"timer":5,"devices":"all","show_once_every":15}},"version":"5"}'
min-width="400"
>
<div data-style="clean">
<ul
class="formkit-alert formkit-alert-error"
data-element="errors"
data-group="alert"
></ul>
<div
data-element="fields"
data-stacked="false"
class="seva-fields formkit-fields"
>
<div class="formkit-field">
<input
class="block mt-1 w-full"
name="email_address"
style="color: rgb(0, 0, 0); border-color: rgb(227, 227, 227); border-radius: 4px; font-weight: 400;"
aria-label="Email Address"
placeholder="What is your best email address?"
required=""
type="email"
/>
</div>
<div class="mt-4">
<button
data-element="submit"
class="inline-flex justify-center items-center py-3 px-6 w-full font-medium text-white no-underline rounded-md border duration-200 ease-in-out hover:bg-white focus:bg-white border-blue-primary bg-blue-primary transition-color hover:text-blue-primary focus:text-blue-primary"
>
<div class="formkit-spinner">
<div></div>
<div></div>
<div></div>
</div>
<span class="">Register for updates →</span>
</button>
</div>
</div>
</div>
<div class="mt-4">
<button data-element="submit" class="inline-flex justify-center items-center py-3 px-6 w-full font-medium text-white no-underline rounded-md border duration-200 ease-in-out hover:bg-white focus:bg-white border-blue-primary bg-blue-primary transition-color hover:text-blue-primary focus:text-blue-primary">
<div class="formkit-spinner"><div></div><div></div><div></div></div><span class="">Register for updates →</span>
</button></div>
</div>
</div></form>
</form>

View file

@ -11,7 +11,12 @@ price: 199
- Once payment is received, youll obtain a link to schedule a meeting in my calendar.
- The meeting will take place over Zoom.
<a class="inline-block py-2 px-5 my-4 text-lg text-white no-underline rounded-lg border-2 transition-colors duration-200 hover:bg-white border-blue-primary bg-blue-primary hover:text-blue-primary" href={frontmatter.link}>Book your call now &rarr;</a>
<a
class="inline-block py-2 px-5 my-4 text-lg text-white no-underline rounded-lg border-2 transition-colors duration-200 hover:bg-white border-blue-primary bg-blue-primary hover:text-blue-primary"
href={frontmatter.link}
>
Book your call now &rarr;
</a>
If you dont find the call valuable, Ill refund 100% of the cost.

View file

@ -3,7 +3,7 @@ layout: ~/layouts/PageLayout.astro
title: Contact Oliver
---
export const email = 'oliver@oliverdavies.uk'
export const email = "oliver@oliverdavies.uk";
The best way to get in touch with me is via email: <a href={`mailto:${email}`}>{email}</a>. I usually reply within one business day.

View file

@ -3,32 +3,32 @@ layout: ~/layouts/PageLayout.astro
title: Oliver's Daily List
---
import AboutMe from '~/components/AboutMe.astro';
import DailyEmailForm from '~/components/DailyEmailForm.astro';
import Markdown from '~/components/Markdown.astro';
import _ from 'lodash'
import AboutMe from "~/components/AboutMe.astro";
import DailyEmailForm from "~/components/DailyEmailForm.astro";
import Markdown from "~/components/Markdown.astro";
import _ from "lodash";
export const testimonials = [
{
name: "Patty O'Callaghan",
text: "<p>Just wanted to say that your blog is amazing <3 I absolutely love it and usually share it with colleagues and some of the kids at my Code Club.</p><p>Thanks for contributing to the community with your amazing content! :)</p>",
image: "patty-ocallaghan.jpg"
image: "patty-ocallaghan.jpg",
},
{
name: "Stephen Mulvihill",
text: "I like the \"$ git log -S\" and \"$ git log --grep\" commands, will definitely be using these, thanks!",
image: "stephen-mulvihill.jpg"
text: 'I like the "$ git log -S" and "$ git log --grep" commands, will definitely be using these, thanks!',
image: "stephen-mulvihill.jpg",
},
{
name: "Marcos Duran",
text: "<p> I am a big fan of your git approaches. I especially remember pairing with you and watching how many commands you run to solve many problems and how fast you were. It's a skill I believe not many have, particularly those who are used to working with a GUI like me, and personally I think it is quite valuable.</p>",
image: "marcos-duran.jpg"
}
]
image: "marcos-duran.jpg",
},
];
export const sortedTestimonials = _.reverse(testimonials)
export const sortedTestimonials = _.reverse(testimonials);
A daily newsletter on software development, DevOps, community, and open-source.
A daily newsletter on software development, DevOps, community, and open-source.
<div class="space-y-12">
<div class="space-y-20">
@ -45,7 +45,7 @@ A daily newsletter on software development, DevOps, community, and open-source.
<blockquote class="m-0">
<Markdown set:html={testimonial.text} />
</blockquote>
<figcaption class="mt-6">{testimonial.name}</figcaption>
</div>
@ -62,6 +62,7 @@ A daily newsletter on software development, DevOps, community, and open-source.
</div>
</section>
)}
</div>
<AboutMe />

View file

@ -3,7 +3,7 @@ layout: ~/layouts/PageLayout.astro
title: Oliver Davies - PHP Developer and Drupal Specialist
---
export const email = "oliver@oliverdavies.uk"
export const email = "oliver@oliverdavies.uk";
I'm a long-time Web Developer and consultant. Ive led, delivered, and maintained PHP, Drupal, and Drupal Commerce based websites, have worked for some of the UKs largest and well-known PHP and Drupal agencies, and even for the Drupal Association - the nonprofit organisation behind the Drupal project - where I was employed to work on and improve the Drupal.org websites.

View file

@ -3,24 +3,24 @@ layout: ~/layouts/PageLayout.astro
title: Introduction to Automated Testing and Test-Driven Development with Drupal
---
export const drupalVersions = '9 and 10'
export const drupalVersions = "9 and 10";
export const prices = {
early: "395.00",
full: "495.00",
}
};
export const isEarlyBird = true
export const isEarlyBird = true;
export const nextDate = '2022-04-04'
export const nextDate = "2022-04-04";
export const testimonials = [
{
name: 'Scott Euser, Head of Web Development',
image: '/images/scott-euser.jpg',
text: 'Oliver really knows his stuff. Whether you are just starting out or looking to take your knowledge to the next level, his patient and clear way of explaining will help get you there.',
name: "Scott Euser, Head of Web Development",
image: "/images/scott-euser.jpg",
text: "Oliver really knows his stuff. Whether you are just starting out or looking to take your knowledge to the next level, his patient and clear way of explaining will help get you there.",
},
]
];
Are you a Drupal Developer who wants to learn about automated testing and test-driven development, or do you manage a development team that you'd like to train?
@ -30,15 +30,15 @@ I offer an interactive full-day workshop (previously presented at DrupalCamp Lon
## Contents
* What is automated testing, and why write tests?
* What types of tests are available in Drupal?
* Outside-in vs. inside-out testing.
* Configuring Drupal and PHPUnit to run tests locally.
* Exercise: writing tests for existing Drupal core functionality.
* Exercise: adding tests to an existing custom module.
* What is test-driven development?
* Exercise: writing a new Drupal module from scratch with test-driven development.
* Q&A
- What is automated testing, and why write tests?
- What types of tests are available in Drupal?
- Outside-in vs. inside-out testing.
- Configuring Drupal and PHPUnit to run tests locally.
- Exercise: writing tests for existing Drupal core functionality.
- Exercise: adding tests to an existing custom module.
- What is test-driven development?
- Exercise: writing a new Drupal module from scratch with test-driven development.
- Q&A
<hr />
@ -49,7 +49,10 @@ The workshop is currently only available remotely, and the next available date i
Seats are available at <span class="font-bold">{isEarlyBird ? `an early bird price of £${prices.early}` : `a price of £${prices.full}`}</span>, with a 10% discount for bulk orders of 5 or more seats.
<div class="mt-6">
<a class="inline-flex items-center py-3 px-6 text-base font-medium text-white no-underline rounded-md duration-200 ease-in-out hover:bg-white focus:bg-white bg-blue-primary transition-color hover:text-blue-primary focus:text-blue-primary" href="https://buy.stripe.com/6oE3cW4Su7DA1t6144">
<a
class="inline-flex items-center py-3 px-6 text-base font-medium text-white no-underline rounded-md duration-200 ease-in-out hover:bg-white focus:bg-white bg-blue-primary transition-color hover:text-blue-primary focus:text-blue-primary"
href="https://buy.stripe.com/6oE3cW4Su7DA1t6144"
>
Book your seat &rarr;
</a>
</div>
@ -59,6 +62,7 @@ Seats are available at <span class="font-bold">{isEarlyBird ? `an early bird pri
## Testimonials
{testimonials.map(testimonial => (
<div>
<blockquote class="mt-4">
{testimonial.text}
@ -70,5 +74,6 @@ Seats are available at <span class="font-bold">{isEarlyBird ? `an early bird pri
<img width="40" height="40" class="w-10 h-10 rounded-full border" src={testimonial.image} />
</span>
</footer>
</div>
))}

View file

@ -4,26 +4,33 @@ title: Links
---
export const links = [
{ title: 'My daily email list', url: '/daily' },
{ title: 'Twitter', url: 'https://twitter.com/opdavies' },
{ title: 'YouTube', url: 'https://www.youtube.com/channel/UCkeK0qF9HHUPQH_fvn4ghqQ' },
{ title: 'LinkedIn', url: 'https://www.linkedin.com/in/opdavies' },
{ title: 'Drupal.org', url: 'https://www.drupal.org/u/opdavies' },
{ title: 'GitHub', url: 'https://github.com/opdavies' },
{ title: 'GitHub Gists', url: 'https://gist.github.com/opdavies' },
{ title: 'Packagist', url: 'https://packagist.org/packages/opdavies' },
{ title: 'Speakerdeck', url: 'https://speakerdeck.com/opdavies' },
{ title: 'PHP South Wales', url: 'https://www.phpsouthwales.uk' },
{ title: "My daily email list", url: "/daily" },
{ title: "Twitter", url: "https://twitter.com/opdavies" },
{
title: "YouTube",
url: "https://www.youtube.com/channel/UCkeK0qF9HHUPQH_fvn4ghqQ",
},
{ title: "LinkedIn", url: "https://www.linkedin.com/in/opdavies" },
{ title: "Drupal.org", url: "https://www.drupal.org/u/opdavies" },
{ title: "GitHub", url: "https://github.com/opdavies" },
{ title: "GitHub Gists", url: "https://gist.github.com/opdavies" },
{ title: "Packagist", url: "https://packagist.org/packages/opdavies" },
{ title: "Speakerdeck", url: "https://speakerdeck.com/opdavies" },
{ title: "PHP South Wales", url: "https://www.phpsouthwales.uk" },
];
<div class="mx-auto max-w-md">
<ul class="p-0 space-y-4 list-none">
{links && links.map(link => (
<ul class="p-0 space-y-4 list-none">
{links &&
links.map((link) => (
<li>
<a class="block p-2 w-full text-center text-black no-underline border transition duration-200 ease-in-out dark:text-white hover:text-white focus:text-white dark:hover:text-black dark:focus:text-black dark:hover:bg-white dark:focus:bg-white hover:bg-blue-primary focus:bg-blue-primary" href={link.url}>
<a
class="block p-2 w-full text-center text-black no-underline border transition duration-200 ease-in-out dark:text-white hover:text-white focus:text-white dark:hover:text-black dark:focus:text-black dark:hover:bg-white dark:focus:bg-white hover:bg-blue-primary focus:bg-blue-primary"
href={link.url}
>
{link.title}
</a>
</li>
))}
</ul>
</ul>
</div>

View file

@ -5,7 +5,12 @@ title: Speaker Information
## Bio
<a href="https://www.oliverdavies.uk">Oliver Davies</a> (<a href="https://twitter.com/opdavies">@opdavies</a>) has been building websites since 2007, and speaking at meetups and conferences since 2012. He is a Full Stack Developer and a certified Drupal expert who also has experience developing with Symfony, Laravel, Sculpin and Vue.js, as well as with DevOps and systems administration.
<a href="https://www.oliverdavies.uk">Oliver Davies</a> (<a href="https://twitter.com/opdavies">
@opdavies
</a>) has been building websites since 2007, and speaking at meetups and conferences
since 2012. He is a Full Stack Developer and a certified Drupal expert who also has
experience developing with Symfony, Laravel, Sculpin and Vue.js, as well as with
DevOps and systems administration.
He is a Lead Software Developer at <a href="https://tfw.wales/?%20utm_source=oliverdavies.uk&utm_medium=speaker-information">Transport for Wales</a>, a Drupal core contributor and mentor, and an open source and contribution advocate.

View file

@ -3,7 +3,7 @@ layout: ~/layouts/PageLayout.astro
title: Things you should know about PHP
---
export const email = "oliver@oliverdavies.uk"
export const email = "oliver@oliverdavies.uk";
Thanks for attending my [Things you should know about PHP](/talks/things-you-should-know-about-php) talk.
@ -58,5 +58,10 @@ Do you want to introduce PHP to your company or team, or add one of these tools
I offer consulting calls and services to reduce your onboarding time and get you up and running quicker and easier.
<div class="mt-6">
<a class="inline-flex items-center py-3 px-6 text-base font-medium text-white no-underline rounded-md duration-200 ease-in-out hover:bg-white focus:bg-white bg-blue-primary transition-color hover:text-blue-primary focus:text-blue-primary" href={`mailto:${email}?subject=Book in my call`}>Book in your call →</a>
<a
class="inline-flex items-center py-3 px-6 text-base font-medium text-white no-underline rounded-md duration-200 ease-in-out hover:bg-white focus:bg-white bg-blue-primary transition-color hover:text-blue-primary focus:text-blue-primary"
href={`mailto:${email}?subject=Book in my call`}
>
Book in your call →
</a>
</div>