WIP
This commit is contained in:
parent
04b28136df
commit
62b1dc15d2
|
@ -1,68 +1 @@
|
|||
testimonials:
|
||||
- name: Ed Welsby
|
||||
image: ed-welsby.png
|
||||
role: >
|
||||
Senior Developer at [Proctor & Stevenson](http://www.proctors.co.uk)
|
||||
text: |
|
||||
Oliver was great to work with, he has a solid knowledge of the various aspects of web development and never minded helping me out with Linux commands!
|
||||
|
||||
- name: Brian Healy
|
||||
image: brian-healy.png
|
||||
role: >
|
||||
Director of Business Development at [Tincan](http://tincan.co.uk)
|
||||
text: |
|
||||
Oliver was fantastic to work with - pro-active and highly responsive, he worked well remotely and as part of a project team. His understanding of the project requirement(s) and ability to translate it into working code was essential and he delivered.
|
||||
|
||||
- name: Marlon Duncanson
|
||||
role: 'Brand & Web Specialist'
|
||||
text: |
|
||||
Oliver is a great guy and really easy to work with. He really goes the extra mile to make sure the project is done properly. I would recommend him and will not hesitate to use him again in future.
|
||||
|
||||
- name: Brian Hartwell
|
||||
role: Interactive Creative Director
|
||||
text: |
|
||||
Oliver was great to work with. He has expert knowledge with Drupal and delivered exactly what we were looking for on time. He's understanding, friendly and easy to get along with. I would enjoy working with him again in the future.
|
||||
|
||||
- name: Daniel Easterbrook
|
||||
role: Digital Strategy Consultant
|
||||
text: |
|
||||
Oliver is seasoned Drupal and all round highly skilled and experienced web developer. I have worked with Oliver on an important project where he was reliable, prompt and ensured strict client deadline delivery and confidentiality at all times.
|
||||
|
||||
- name: James Chapman
|
||||
role: >
|
||||
Director at [Development Done Right](http://www.developmentdoneright.co.uk)
|
||||
image: james-chapman.png
|
||||
text: |
|
||||
We used Oliver on a number of occasions throughout 2012 and I have to say we've been delighted with his work. His skills working with Drupal are excellent particularly with custom module development and we wouldn’t hesitate to recommend him others.
|
||||
|
||||
- name: Léonie Watson
|
||||
role: >
|
||||
Director of Accessibility at [Nomensa](http://www.nomensa.com)
|
||||
image: leonie-watson.jpg
|
||||
text: |
|
||||
Oliver is a flexible and hardworking developer, with a terrific knowledge of Drupal. He promotes accessibility best practice within the Drupal community, and is always happy to share his knowledge with other people.
|
||||
|
||||
- name: Holly Ross
|
||||
role: >
|
||||
Executive Director at the [Drupal Association](https://assoc.drupal.org)
|
||||
image: holly-ross.png
|
||||
text: |
|
||||
Oliver has been an outstanding contributor to the Drupal Association team. He is a talented developer who writes great code and applies his curiosity and love of learning to every project. He is also a fantastic team member, who gives to the team as much as he gets.
|
||||
|
||||
Oliver is the embodiment of everything good about the Drupal community.
|
||||
|
||||
- name: Josh Mitchell
|
||||
role: >
|
||||
CTO at the [Drupal Association](https://assoc.drupal.org)
|
||||
image: josh-mitchell.png
|
||||
text: |
|
||||
Oliver is a skilled Drupal developer with a passion for the Drupal community. As his direct supervisor, I was able to watch Oliver grow with the Drupal Association and contribute an amazing amount of effort and integrity to all of his work.
|
||||
|
||||
Everything we have thrown at Oliver, he has approached with an open and flexible mind that has allowed him to work on a wide range of projects and features for Drupal products.
|
||||
|
||||
- name: Chris Jarvis
|
||||
image: chris-jarvis.jpg
|
||||
role: >
|
||||
Developer at [Microserve](https://microserve.io)
|
||||
text: |
|
||||
Oliver is an amazing colleague, he's professional, full of knowledge and I could not recommend him more.
|
||||
|
|
|
@ -1,35 +0,0 @@
|
|||
// =from($device)
|
||||
// @media screen and (min-width: $device)
|
||||
// @content
|
||||
|
||||
// =until($device)
|
||||
// @media screen and (max-width: $device - 1px)
|
||||
// @content
|
||||
|
||||
// =mobile
|
||||
// @media screen and (max-width: $screen-tablet - 1px)
|
||||
// @content
|
||||
|
||||
// =tablet
|
||||
// @media screen and (min-width: $screen-tablet)
|
||||
// @content
|
||||
|
||||
// =tablet-only
|
||||
// @media screen and (min-width: $screen-tablet) and (max-width: $screen-desktop - 1px)
|
||||
// @content
|
||||
|
||||
// =touch
|
||||
// @media screen and (max-width: $screen-desktop - 1px)
|
||||
// @content
|
||||
|
||||
// =desktop
|
||||
// @media screen and (min-width: $screen-desktop)
|
||||
// @content
|
||||
|
||||
// =desktop-only
|
||||
// @media screen and (min-width: $screen-desktop) and (max-width: $screen-lg - 1px)
|
||||
// @content
|
||||
|
||||
// =widescreen
|
||||
// @media screen and (min-width: $screen-lg)
|
||||
// @content
|
|
@ -1,6 +1,3 @@
|
|||
@import "node_modules/bulma/sass/utilities/initial-variables"
|
||||
@import "node_modules/bulma/sass/utilities/mixins"
|
||||
|
||||
.experience-item-website
|
||||
margin-bottom: 2px
|
||||
|
||||
|
|
|
@ -1,21 +1,22 @@
|
|||
@import 'node_modules/bulma/sass/utilities/initial-variables'
|
||||
@import "node_modules/tachyons-sass/scss/colors";
|
||||
|
||||
$family-sans-serif: "Helvetica Neue", Arial, sans-serif
|
||||
$body-size: 14px
|
||||
$blue: #0678be
|
||||
|
||||
$blue: #0678BE
|
||||
@import "node_modules/tachyons-sass/tachyons";
|
||||
|
||||
$primary: $blue
|
||||
p,
|
||||
li,
|
||||
td
|
||||
a
|
||||
color: $blue
|
||||
|
||||
@import 'node_modules/bulma/bulma'
|
||||
.video
|
||||
padding: 56.25% 0 0
|
||||
|
||||
@import 'base'
|
||||
@import 'mixins'
|
||||
|
||||
@import 'base/layout'
|
||||
@import 'base/utilities'
|
||||
|
||||
@import 'components/availability'
|
||||
@import 'components/badges'
|
||||
@import 'components/footer'
|
||||
@import 'components/meetups'
|
||||
.video iframe,
|
||||
.video embed
|
||||
height: 100%
|
||||
left: 0
|
||||
position: absolute
|
||||
top: 0
|
||||
width: 100%
|
||||
|
|
24
assets/sass/main.scss
Normal file
24
assets/sass/main.scss
Normal file
|
@ -0,0 +1,24 @@
|
|||
@import "node_modules/tachyons-sass/tachyons";
|
||||
|
||||
$blue1: #0678be;
|
||||
|
||||
p,
|
||||
li,
|
||||
td {
|
||||
a { color: $blue1; }
|
||||
}
|
||||
|
||||
.blue1 { color: $blue1; }
|
||||
|
||||
.video {
|
||||
padding: 56.25% 0 0;
|
||||
}
|
||||
|
||||
.video iframe,
|
||||
.video embed {
|
||||
height: 100%;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
}
|
20
gulpfile.js
20
gulpfile.js
|
@ -54,17 +54,17 @@ gulp.task('styles', function () {
|
|||
config.sass.sourceDir + '/main.sass'
|
||||
], 'main.css');
|
||||
|
||||
app.sass([
|
||||
'node_modules/prismjs/themes/prism-twilight.css',
|
||||
config.sass.sourceDir + '/post.sass'
|
||||
], 'post.css')
|
||||
// app.sass([
|
||||
// 'node_modules/prismjs/themes/prism-twilight.css',
|
||||
// config.sass.sourceDir + '/post.sass'
|
||||
// ], 'post.css')
|
||||
|
||||
app.sass(config.sass.sourceDir + '/about.sass', 'about.css');
|
||||
app.sass(config.sass.sourceDir + '/blog.sass', 'blog.css');
|
||||
app.sass(config.sass.sourceDir + '/experience.sass', 'experience.css');
|
||||
app.sass(config.sass.sourceDir + '/project.sass', 'project.css');
|
||||
app.sass(config.sass.sourceDir + '/talk.sass', 'talk.css');
|
||||
app.sass(config.sass.sourceDir + '/testimonials.sass', 'testimonials.css');
|
||||
// app.sass(config.sass.sourceDir + '/about.sass', 'about.css');
|
||||
// app.sass(config.sass.sourceDir + '/blog.sass', 'blog.css');
|
||||
// app.sass(config.sass.sourceDir + '/experience.sass', 'experience.css');
|
||||
// app.sass(config.sass.sourceDir + '/project.sass', 'project.css');
|
||||
// app.sass(config.sass.sourceDir + '/talk.sass', 'talk.css');
|
||||
// app.sass(config.sass.sourceDir + '/testimonials.sass', 'testimonials.css');
|
||||
});
|
||||
|
||||
gulp.task('scripts', function () {
|
||||
|
|
|
@ -18,6 +18,6 @@
|
|||
"gulp-util": "^3.0.8",
|
||||
"jquery.2": "^1.0.0",
|
||||
"prismjs": "^1.6.0",
|
||||
"tachyons": "^4.8.1"
|
||||
"tachyons-sass": "^4.7.4"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
<div class="availability panel panel-default">
|
||||
<div class="panel-heading">Availability</div>
|
||||
<div class="lh-copy">
|
||||
<h2>Availability</h2>
|
||||
|
||||
<div class="panel-block">
|
||||
<div>
|
||||
{% for key, availability in site.availability %}
|
||||
{% include 'availability/' ~ availability with { value: key } %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
<ul class="list pa0">
|
||||
{% for key, availability in site.availability %}
|
||||
{% include 'availability/' ~ availability with { value: key } %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
<p>
|
||||
<span class="icon is-small">
|
||||
<i class="fa fa-thumbs-o-up is-warning"></i>
|
||||
</span>
|
||||
<li>
|
||||
<i class="mr1 fa fa-thumbs-o-up orange"></i>
|
||||
|
||||
{{ value == 'full' ? 'Currently have limited full-time capacity' }}
|
||||
{{ value == 'part' ? 'Currently have limited part-time capacity' }}
|
||||
</p>
|
||||
</li>
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
<p>
|
||||
<span class="icon is-small">
|
||||
<i class="fa fa-thumbs-o-down is-danger"></i>
|
||||
</span>
|
||||
<li>
|
||||
<i class="mr1 fa fa-thumbs-o-down dark-red"></i>
|
||||
|
||||
{{ value == 'full' ? 'Currently no spare full-time capacity.' }}
|
||||
{{ value == 'part' ? 'Currently no spare part-time capacity.' }}
|
||||
</p>
|
||||
</li>
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
<p>
|
||||
<span class="icon is-small">
|
||||
<i class="fa fa-thumbs-o-up is-success"></i>
|
||||
</span>
|
||||
<li>
|
||||
<i class="mr1 fa fa-thumbs-o-up dark-green"></i>
|
||||
|
||||
{{ value == 'full' ? 'Currently have available full-time capacity' }}
|
||||
{{ value == 'part' ? 'Currently have available part-time capacity' }}
|
||||
</p>
|
||||
</li>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<div class="panel badges has-text-centered">
|
||||
<a href="https://assoc.drupal.org/membership" title="I’m a Drupal Association member." class="is-block">
|
||||
<div>
|
||||
<a href="https://assoc.drupal.org/membership" title="I’m a Drupal Association member." class="db mb3 tc">
|
||||
<img
|
||||
src="{{ site.images_url }}/assets/images/badges/da-individual-member.png"
|
||||
alt="Drupal Association Individual Member"
|
||||
|
@ -7,23 +7,21 @@
|
|||
/>
|
||||
</a>
|
||||
|
||||
<div class="acquia-badges">
|
||||
<div class="badge">
|
||||
<img
|
||||
src="{{ site.images_url }}/assets/images/badges/acquia-d8-developer.png"
|
||||
alt="Acquia Certified Developer - Drupal 8 Exam Badge"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="badge">
|
||||
<img
|
||||
src="{{ site.images_url }}/assets/images/badges/acquia-d8-back-end.png"
|
||||
alt="Acquia Certified Back End Specialist - Drupal 8 Exam Badge"
|
||||
/>
|
||||
</div>
|
||||
<div class="db mb3 dt">
|
||||
{% for badge in [
|
||||
{ image: 'acquia-d8-developer.png', alt: 'Acquia Certified Developer - Drupal 8 Exam Badge' },
|
||||
{ image: 'acquia-d8-back-end.png', alt: 'Acquia Certified Back End Specialist - Drupal 8 Exam Badge' }
|
||||
] %}
|
||||
<div class="dtc">
|
||||
<img
|
||||
src="{{ site.images_url }}/assets/images/badges/{{ badge.image }}"
|
||||
alt="{{ badge.alt }}"
|
||||
/>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<a href="http://conference.phpnw.org.uk/phpnw17" class="is-block">
|
||||
<a href="http://conference.phpnw.org.uk/phpnw17" class="db">
|
||||
<img src="{{ site.images_url }}/assets/images/badges/phpnw17.png" alt="">
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -1,12 +1,17 @@
|
|||
<div class="meetups">
|
||||
<h2>Things that I organise</h2>
|
||||
<ul>
|
||||
<div class="mt4">
|
||||
<h2 class="mb3">Things that I organise</h2>
|
||||
|
||||
<ul class="list flex pa0 mt0">
|
||||
{% for meetup in site.meetups %}
|
||||
<li class="meetups--{{ meetup.name|lower|replace({ ' ': '-' }) }}">
|
||||
<a href="{{ meetup.url }}" title="{{ meetup.name }}">
|
||||
<li>
|
||||
<a
|
||||
href="{{ meetup.url }}"
|
||||
title="{{ meetup.name }}"
|
||||
class="dib {% if not loop.last %}mr2{% endif %}">
|
||||
<img
|
||||
src="{{ site.images_url }}/assets/images/meetups/{{ meetup.logo }}"
|
||||
alt="{{ meetup.name }} logo"
|
||||
class="h3"
|
||||
>
|
||||
</a>
|
||||
</li>
|
||||
|
|
|
@ -1,45 +1,31 @@
|
|||
<nav class="nav has-shadow" id="top">
|
||||
<div class="container">
|
||||
<div class="nav-left">
|
||||
<a class="nav-item">
|
||||
<div class="nav-item">
|
||||
<a href="{{ site.url }}">
|
||||
{{ site.title }}
|
||||
</a>
|
||||
</div>
|
||||
<header class="w-100 pa3 ph5-ns bg-white">
|
||||
<div class="db dt-ns mw9 center w-100">
|
||||
<div class="db dtc-ns v-mid tl w-50">
|
||||
<a href="/" class="dib f5 f4-ns mt0 mb1 link black-70" title="Home">
|
||||
{{ site.title }}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<span class="nav-toggle">
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
</span>
|
||||
<nav class="db dtc-ns v-mid w-100 tl tr-ns mt2 mt0-ns">
|
||||
<a href="/" class="f6 hover-blue link black-70 ml2 ml-m ml4-l dib">
|
||||
About
|
||||
</a>
|
||||
|
||||
<div class="nav-right nav-menu">
|
||||
<a class="nav-item is-tab {{ page.url == '/.' ? 'is-active' }}" href="/">
|
||||
About
|
||||
</a>
|
||||
<a href="/components/" class="f6 hover-blue link black-70 ml2 ml-m ml4-l dib">
|
||||
Experience
|
||||
</a>
|
||||
|
||||
<a class="nav-item is-tab {{ page.url == '/experience' ? 'is-active' }}" href="/experience">
|
||||
Experience
|
||||
</a>
|
||||
<a href="/gallery/" class="f6 hover-blue link black-70 ml2 ml-m ml4-l dib">
|
||||
Testimonials
|
||||
</a>
|
||||
|
||||
<a class="nav-item is-tab {{ page.url == '/testimonials' ? 'is-active' }}" href="/testimonials">
|
||||
Testimonials
|
||||
</a>
|
||||
<a href="/resources/" class="f6 hover-blue link black-70 ml2 ml-m ml4-l dib">
|
||||
Talks
|
||||
</a>
|
||||
|
||||
<a class="nav-item is-tab {{ page.url == '/talks' or '/talks/' in page.url ? 'is-active' }}" href="/talks">
|
||||
Talks
|
||||
</a>
|
||||
|
||||
<a class="nav-item is-tab {{ page.url == '/blog' or '/blog/' in page.url ? 'is-active' }}" href="/blog">
|
||||
Blog
|
||||
</a>
|
||||
|
||||
<a class="nav-item is-tab {{ page.url == '/contact' or '/contact/' in page.url ? 'is-active' }}" href="/contact">
|
||||
Contact
|
||||
</a>
|
||||
</div>
|
||||
<a href="http://github.com/tachyons-css/tachyons/" class="f6 hover-blue link black-70 ml2 ml-m ml4-l dn dib-l">
|
||||
Contact
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div class="about-author is-clearfix mt-2">
|
||||
<div class="cf mt2">
|
||||
<h2>About the Author</h2>
|
||||
|
||||
<img src="{{ site.images_url }}{{ site.avatar.url }}" alt="Picture of Oliver" class="is-circle is-pulled-left mr-1 mb-1">
|
||||
<img src="{{ site.images_url }}{{ site.avatar.url }}" alt="Picture of Oliver" class="w3 mr3 br-100 fl">
|
||||
|
||||
<p>Oliver Davies is a Web Developer, System Administrator and Drupal specialist based in the UK. He is a {{ site.work.role }} at <a href="{{ site.companies[site.work.company].url }}">{{ site.companies[site.work.company].name }}</a> and also provides freelance consultancy services for Drupal websites, PHP applications and Linux servers.</p>
|
||||
</div>
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
{% set title_tag = title_tag ?: 'h1' %}
|
||||
<{{ title_tag }}>{{ page.title }}</{{ title_tag }}>
|
||||
<{{ title_tag }} class="mb1">
|
||||
{{ page.title }}
|
||||
</{{ title_tag }}>
|
||||
|
||||
<p class="posted">{{ page.date|date('jS F Y') }}</p>
|
||||
<p class="mt0 black-50">
|
||||
{{ page.date|date('jS F Y') }}
|
||||
</p>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% if page.blocks.intro_image %}
|
||||
<div class="has-text-centered">
|
||||
<div class="mv3 tc">
|
||||
{{ page.blocks.intro_image|raw }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
<div class="post-pager is-clearfix is-flex mt-2">
|
||||
<div class="flex mt3">
|
||||
{% if page.previous_post %}
|
||||
<div class="is-half flex">
|
||||
<a href="{{ page.previous_post.url }}">
|
||||
<div class="w-50-ns">
|
||||
<a href="{{ page.previous_post.url }}" class="blue1">
|
||||
« {{ page.previous_post.title }}
|
||||
</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if page.next_post %}
|
||||
<div class="is-half flex has-text-right">
|
||||
<a href="{{ page.next_post.url }}">
|
||||
<div class="w-50-ns tr">
|
||||
<a href="{{ page.next_post.url }}" class="blue1">
|
||||
{{ page.next_post.title }} »
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -1,18 +1,15 @@
|
|||
{% if data.posts and page.url != '/blog' %}
|
||||
<div class="latest-posts panel panel-default">
|
||||
<div class="latest-posts__heading panel-heading">Latest blog posts</div>
|
||||
<div class="lh-copy">
|
||||
<h2>Latest blog posts</h2>
|
||||
|
||||
{% for post in data.posts|slice(0, site.latest_posts) %}
|
||||
<div class="post panel-block">
|
||||
<div>
|
||||
<span class="post__title">
|
||||
<a href="{{ post.url }}">
|
||||
{{ post.title }}
|
||||
</a>
|
||||
</span> -
|
||||
<span class="post__date">{{ post.date|date(site.default_date_format) }}</span>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
<ul class="list pa0">
|
||||
{% for post in data.posts|slice(0, site.latest_posts) %}
|
||||
<li>
|
||||
<a href="{{ post.url }}">
|
||||
{{ post.title }}
|
||||
</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
<div class="table-responsive">
|
||||
<table class="talks-table table is-striped">
|
||||
<table class="w-100 ba b--moon-gray">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 20%">Date</th>
|
||||
<tr class="striped--light-gray">
|
||||
<th class="w-20 pa2 tl">Date</th>
|
||||
|
||||
{% if not talk_page %}
|
||||
<th style="width: 40%">Talk</th>
|
||||
<th class="w-40 pa2 tl">Talk</th>
|
||||
{% endif %}
|
||||
|
||||
<th>Event</th>
|
||||
<th class="pa2 tl">Event</th>
|
||||
|
||||
{% if not upcoming %}
|
||||
<th style="width: 10%">Feedback</th>
|
||||
<th class="w-12 pa2 tl">Feedback</th>
|
||||
{% endif %}
|
||||
</tr>
|
||||
</thead>
|
||||
|
@ -23,54 +23,52 @@
|
|||
{% for item in row.talks if key == item.filename|split('.')|first %}
|
||||
{% set talk = item %}
|
||||
{% endfor %}
|
||||
<tr>
|
||||
<td class="vertical-middle">
|
||||
<tr class="striped--near-white">
|
||||
<td class="pa2">
|
||||
{{ row.date.date|date(row.date.fuzzy_date ? 'F Y' : 'j F Y') }}
|
||||
|
||||
{% if row.date.time %}
|
||||
<small class="is-block">{{ row.date.time }}</small>
|
||||
<small class="db">{{ row.date.time }}</small>
|
||||
{% endif %}
|
||||
</td>
|
||||
|
||||
{% if not talk_page %}
|
||||
<td>
|
||||
<td class="pa2">
|
||||
{% if row.date.talk.title is defined %}
|
||||
{{ row.date.talk.title }}
|
||||
{% else %}
|
||||
<a href="{{ talk.url }}">{{ talk.title }}</a>
|
||||
<a href="{{ talk.url }}" class="blue">{{ talk.title }}</a>
|
||||
{% endif %}
|
||||
|
||||
<small class="is-block">
|
||||
<small class="db">
|
||||
{{ row.date.talk.type ?: talk.type }}
|
||||
</small>
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
<td class="vertical-middle">
|
||||
<td class="pa2">
|
||||
{% if row.event.website %}
|
||||
<a href="{{ row.event.website }}">
|
||||
<a href="{{ row.event.website }}" class="blue">
|
||||
{{ row.event.name }}
|
||||
</a>
|
||||
{% else %}
|
||||
{{ row.event.name }}
|
||||
{% endif %}
|
||||
|
||||
<small class="is-block">
|
||||
<small class="db">
|
||||
{{ row.event.location }}
|
||||
</small>
|
||||
</td>
|
||||
|
||||
{% if not upcoming %}
|
||||
<td class="vertical-middle">
|
||||
<td class="">
|
||||
{% if row.date.feedback %}
|
||||
<a
|
||||
href="{{ row.date.feedback }}"
|
||||
class="button is-primary"
|
||||
class="bg-blue br2 pa2 white-90 no-underline dib dim"
|
||||
title="Read or leave feedback for this talk"
|
||||
>
|
||||
<!-- <span class="icon is-small">
|
||||
<i class="fa fa-comment-o" style="margin-right: 8px"></i>
|
||||
</span> -->
|
||||
<i class="fa fa-comment-o mr1"></i>
|
||||
joind.in
|
||||
</a>
|
||||
{% endif %}
|
||||
|
|
|
@ -24,20 +24,20 @@
|
|||
<link rel="icon" href="{{ site.avatar.url }}?s={{ size }}" sizes="{{ size }}x{{ size }}">
|
||||
{% endfor %}
|
||||
</head>
|
||||
<body class="{{ page.blocks.body_classes }}">
|
||||
<body class="helvetica black-90 {{ page.blocks.body_classes }}">
|
||||
{% include 'nav' %}
|
||||
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<div class="columns">
|
||||
<main class="content column is-9">
|
||||
<div class="ph3 ph5-l">
|
||||
<div class="f6">
|
||||
<div class="flex-l">
|
||||
<main class="w-75-l pr4 lh-copy">
|
||||
{% block content_top %}{% endblock %}
|
||||
{% block content_wrapper %}{% block content %}{% endblock %}{% endblock %}
|
||||
{% block content_bottom %}{% endblock %}
|
||||
</main>
|
||||
|
||||
{% block sidebar_wrapper %}
|
||||
<div class="column is-3">
|
||||
<div class="w-25-l ph3">
|
||||
{% block sidebar %}
|
||||
{% include 'badges' %}
|
||||
{% include 'availability' %}
|
||||
|
@ -45,20 +45,17 @@
|
|||
{% endblock %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>{# .row #}
|
||||
</div>{# .container #}
|
||||
</section>
|
||||
|
||||
<section class="section">
|
||||
<footer class="container content">
|
||||
<p class="copyright">
|
||||
<footer class="mt4 bt b--moon-gray">
|
||||
<p class="f6">
|
||||
© 2010-{{ 'now'|date('Y') }} {{ site.title }}. Built with <a href="https://sculpin.io">Sculpin</a>, <a href="http://bulma.io">Bulma</a> and <a href="https://gulpjs.com">Gulp</a>.
|
||||
</p>
|
||||
|
||||
{% include 'meetups' %}
|
||||
</footer>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<script src="{{ site.url }}/assets/js/main.js"></script>
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
</div>
|
||||
|
||||
{% if page.slides.embed %}
|
||||
<div class="mt-2">
|
||||
<div class="mt2">
|
||||
<h2>Slides</h2>
|
||||
<div class="talk-slides">
|
||||
{{ page.slides.embed|raw }}
|
||||
|
@ -17,15 +17,16 @@
|
|||
{% endif %}
|
||||
|
||||
{% if page.video.embed %}
|
||||
<div class="mt-2">
|
||||
<div class="mt2">
|
||||
<h2>Video</h2>
|
||||
<div class="embed-container">
|
||||
|
||||
<div class="video w-100 relative">
|
||||
{{ page.video.embed|raw }}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="mt-3">
|
||||
<div class="mt4">
|
||||
<h2>Events</h2>
|
||||
|
||||
{% set events = [] %}
|
||||
|
|
|
@ -16,9 +16,7 @@ meta:
|
|||
slug: drupalcamp-bristol-early-bird-tickets-sessions-sponsors
|
||||
---
|
||||
{% block intro_image %}
|
||||
<div class="has-text-centered">
|
||||
<img src="/assets/images/blog/drupalcamp-bristol-17-logo.jpg" alt="DrupalCamp Bristol 2017 logo">
|
||||
</div>
|
||||
<img src="/assets/images/blog/drupalcamp-bristol-17-logo.jpg" alt="DrupalCamp Bristol 2017 logo">
|
||||
{% endblock %}
|
||||
|
||||
{% block excerpt %}
|
||||
|
|
|
@ -11,11 +11,7 @@ meta:
|
|||
width: 451
|
||||
---
|
||||
{% block intro_image %}
|
||||
<img
|
||||
src="/assets/images/blog/jackson-octocat.png"
|
||||
alt=""
|
||||
class="mb-2"
|
||||
>
|
||||
<img src="/assets/images/blog/jackson-octocat.png" alt="">
|
||||
{% endblock %}
|
||||
|
||||
{% block excerpt %}
|
||||
|
|
|
@ -9,9 +9,9 @@ use: [posts]
|
|||
{% block content %}
|
||||
<h1>Blog</h1>
|
||||
|
||||
<ul class="posts list-style-none">
|
||||
<ul class="list pa0 ma0">
|
||||
{% for post in page.pagination.items %}
|
||||
<li class="post is-clearfix mb-2 pb-3">
|
||||
<li class="cf mb2 pb4 bb b--light-silver">
|
||||
{{ include('post/header', {
|
||||
page: post,
|
||||
title_tag: 'h2'
|
||||
|
@ -42,8 +42,6 @@ use: [posts]
|
|||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block body_classes 'page--blog page--blog__list' %}
|
||||
|
||||
{% block stylesheets %}
|
||||
<link rel="stylesheet" href="{{ site.url }}/assets/css/blog.css">
|
||||
{% endblock %}
|
||||
|
|
|
@ -7,42 +7,21 @@ use: [posts]
|
|||
<p>To send me an email, complete the form below.</p>
|
||||
|
||||
<form action="https://formspree.io/{{ site.email }}" method="POST">
|
||||
<div class="form__name field">
|
||||
<label for="name">Name</label>
|
||||
<div class="control">
|
||||
<input type="text" class="input" name="name" required>
|
||||
</div>
|
||||
</div>
|
||||
<label for="name" class="db mb1">Name</label>
|
||||
<input type="text" class="w-100 pa2 mb3 ba b--black-50" name="name" required>
|
||||
|
||||
<div class="form__email field">
|
||||
<label for="email">Email</label>
|
||||
<div class="control">
|
||||
<input type="email" class="input" name="email" required>
|
||||
</div>
|
||||
</div>
|
||||
<label for="email" class="db mb1">Email</label>
|
||||
<input type="email" class="w-100 pa2 mb3 ba b--black-50" name="email" required>
|
||||
|
||||
<div class="form__subject field">
|
||||
<label for="subject">Subject</label>
|
||||
<div class="control">
|
||||
<input type="text" class="input" name="subject" required>
|
||||
</div>
|
||||
</div>
|
||||
<label for="subject" class="db mb1">Subject</label>
|
||||
<input type="text" class="w-100 pa2 mb3 ba b--black-50" name="subject" required>
|
||||
|
||||
<div class="field">
|
||||
<div class="control">
|
||||
<label for="message">Message</label>
|
||||
<textarea name="message" class="textarea" rows="5" required></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<label for="message" class="db mb1">Message</label>
|
||||
<textarea name="message" class="w-100 pa2 mb3 ba b--black-50" rows="5" required></textarea>
|
||||
|
||||
<div class="form__actions">
|
||||
<button class="button is-primary" type="submit">
|
||||
<span class="icon is-small" style="margin-right: 5px">
|
||||
<i class="fa fa-send"></i>
|
||||
</span>
|
||||
Send email
|
||||
</button>
|
||||
</div>
|
||||
<button class="b ph3 pv2 input-reset ba b--black bg-transparent pointer f6" type="submit">
|
||||
Send email
|
||||
</button>
|
||||
|
||||
<input type="hidden" name="_next" value="{{ site.url }}/contact-thanks/" />
|
||||
|
||||
|
|
|
@ -12,29 +12,31 @@ redirect:
|
|||
{% for experience in site.experiences|reverse %}
|
||||
{% set company = site.companies[experience.company] %}
|
||||
|
||||
<div class="experience-item{% if company.logo %} has-logo{% endif %} mb-3">
|
||||
<div class="mb4">
|
||||
{% if company.logo %}
|
||||
<div class="experience-item-logo">
|
||||
<img src="{{ site.images_url }}/assets/images/experience/{{ company.logo }}" alt="{{ company.name }} logo">
|
||||
<div class="fr mb3 ml3 mt2">
|
||||
<img src="{{ site.images_url }}/assets/images/experience/{{ company.logo }}" alt="{{ company.name }} logo" class="mw4">
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="experience-item-inner">
|
||||
<h2 class="is-marginless">{{ company.name }}</h2>
|
||||
<h2 class="mb0">{{ company.name }}</h2>
|
||||
|
||||
{% if company.url -%}
|
||||
<a class="experience-item-website is-inline-block" href="{{ company.url }}">
|
||||
{{- company.url -}}
|
||||
</a>
|
||||
{%- endif %}
|
||||
<div class="mb3">
|
||||
{% if company.url -%}
|
||||
<a class="dib mb1 blue1" href="{{ company.url }}">
|
||||
{{- company.url -}}
|
||||
</a>
|
||||
{%- endif %}
|
||||
|
||||
<div class="experience-item-role text-light">
|
||||
{{- experience.role }}
|
||||
from
|
||||
{{ experience.start }}
|
||||
to
|
||||
{{ experience.end|default('Present') -}}
|
||||
{%- if experience.location %} ({{ experience.location }}){% endif %}.
|
||||
<div class="black-50">
|
||||
{{- experience.role }}
|
||||
from
|
||||
{{ experience.start }}
|
||||
to
|
||||
{{ experience.end|default('Present') -}}
|
||||
{%- if experience.location %} ({{ experience.location }}){% endif %}.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% if experience.description %}
|
||||
|
|
|
@ -10,12 +10,11 @@ meta:
|
|||
use: [posts, testimonials]
|
||||
redirect:
|
||||
- about/
|
||||
- consulting/
|
||||
---
|
||||
{% block content %}
|
||||
# About Me
|
||||
|
||||
<img src="{{ site.images_url }}{{ site.avatar.url }}" alt="Picture of Oliver" class="me is-circle is-marginless">
|
||||
<img src="{{ site.images_url }}{{ site.avatar.url }}" alt="Picture of Oliver" class="br-100 mw4">
|
||||
|
||||
My name is Oliver Davies (aka [opdavies][1]) - a full-stack Web Developer and System Administrator based in Wales, UK.
|
||||
|
||||
|
|
|
@ -2,27 +2,90 @@
|
|||
layout: page
|
||||
title: Testimonials
|
||||
use: [posts]
|
||||
testimonials:
|
||||
- name: Ed Welsby
|
||||
image: ed-welsby.png
|
||||
role: Senior Developer at <a class="blue1 hover-blue2" href="http://www.proctors.co.uk">Proctor & Stevenson</a>
|
||||
text: |
|
||||
Oliver was great to work with, he has a solid knowledge of the various aspects of web development and never minded helping me out with Linux commands!
|
||||
|
||||
- name: Brian Healy
|
||||
image: brian-healy.png
|
||||
role: Director of Business Development at <a class="blue1 hover-blue2" href="http://tincan.co.uk">Tincan</a>.
|
||||
text: |
|
||||
Oliver was fantastic to work with - pro-active and highly responsive, he worked well remotely and as part of a project team. His understanding of the project requirement(s) and ability to translate it into working code was essential and he delivered.
|
||||
|
||||
- name: Marlon Duncanson
|
||||
role: 'Brand & Web Specialist'
|
||||
text: |
|
||||
Oliver is a great guy and really easy to work with. He really goes the extra mile to make sure the project is done properly. I would recommend him and will not hesitate to use him again in future.
|
||||
|
||||
- name: Brian Hartwell
|
||||
role: Interactive Creative Director
|
||||
text: |
|
||||
Oliver was great to work with. He has expert knowledge with Drupal and delivered exactly what we were looking for on time. He's understanding, friendly and easy to get along with. I would enjoy working with him again in the future.
|
||||
|
||||
- name: Daniel Easterbrook
|
||||
role: Digital Strategy Consultant
|
||||
text: |
|
||||
Oliver is seasoned Drupal and all round highly skilled and experienced web developer. I have worked with Oliver on an important project where he was reliable, prompt and ensured strict client deadline delivery and confidentiality at all times.
|
||||
|
||||
- name: James Chapman
|
||||
role: Director at <a class="blue1 hover-blue2" href="http://www.developmentdoneright.co.uk">Development Done Right</a>
|
||||
image: james-chapman.png
|
||||
text: |
|
||||
We used Oliver on a number of occasions throughout 2012 and I have to say we've been delighted with his work. His skills working with Drupal are excellent particularly with custom module development and we wouldn’t hesitate to recommend him others.
|
||||
|
||||
- name: Léonie Watson
|
||||
role: >
|
||||
Director of Accessibility at <a class="blue1 hover-blue2" href="http://www.nomensa.com">Nomensa</a>
|
||||
image: leonie-watson.jpg
|
||||
text: |
|
||||
Oliver is a flexible and hardworking developer, with a terrific knowledge of Drupal. He promotes accessibility best practice within the Drupal community, and is always happy to share his knowledge with other people.
|
||||
|
||||
- name: Holly Ross
|
||||
role: >
|
||||
Executive Director at the <a class="blue1 hover-blue2" href="https://assoc.drupal.org">Drupal Association</a>
|
||||
image: holly-ross.png
|
||||
text: |
|
||||
Oliver has been an outstanding contributor to the Drupal Association team. He is a talented developer who writes great code and applies his curiosity and love of learning to every project. He is also a fantastic team member, who gives to the team as much as he gets.
|
||||
|
||||
Oliver is the embodiment of everything good about the Drupal community.
|
||||
|
||||
- name: Josh Mitchell
|
||||
role: CTO at the <a class="blue1 hover-blue2" href="https://assoc.drupal.org">Drupal Association</a>
|
||||
image: josh-mitchell.png
|
||||
text: |
|
||||
Oliver is a skilled Drupal developer with a passion for the Drupal community. As his direct supervisor, I was able to watch Oliver grow with the Drupal Association and contribute an amazing amount of effort and integrity to all of his work.
|
||||
|
||||
Everything we have thrown at Oliver, he has approached with an open and flexible mind that has allowed him to work on a wide range of projects and features for Drupal products.
|
||||
|
||||
- name: Chris Jarvis
|
||||
image: chris-jarvis.jpg
|
||||
role: Developer at <a class="blue1 hover-blue2" href="https://microserve.io">Microserve</a>
|
||||
text: |
|
||||
Oliver is an amazing colleague, he's professional, full of knowledge and I could not recommend him more.
|
||||
---
|
||||
{% block content %}
|
||||
{% for testimonial in site.testimonials|reverse %}
|
||||
<article class="is-clearfix mb-3">
|
||||
<h2 class="is-marginless">{{ testimonial.name }}</h2>
|
||||
{% for testimonial in page.testimonials|reverse %}
|
||||
<article class="cf mb4">
|
||||
<h2 class="mb1 mt0">{{ testimonial.name }}</h2>
|
||||
|
||||
{% if testimonial.image %}
|
||||
<img
|
||||
src="{{ site.url }}/assets/images/testimonials/{{ testimonial.image }}"
|
||||
class="testimonial-image is-pulled-right is-circle ml-2 mb-1"
|
||||
class="fr mw3 br-100 ml4 mb4"
|
||||
alt="{{ testimonial.name }}"
|
||||
>
|
||||
{% endif %}
|
||||
|
||||
{% if testimonial.role %}
|
||||
<div class="text-light">
|
||||
{{ testimonial.role|markdown }}
|
||||
<div class="black-50 mt0">
|
||||
{{ testimonial.role|raw }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="mt-1">
|
||||
<div>
|
||||
{{ testimonial.text|markdown }}
|
||||
</div>
|
||||
</article>
|
||||
|
|
|
@ -2819,7 +2819,13 @@ supports-color@^4.2.0:
|
|||
dependencies:
|
||||
has-flag "^2.0.0"
|
||||
|
||||
tachyons:
|
||||
tachyons-sass:
|
||||
version "4.7.4"
|
||||
resolved "https://registry.yarnpkg.com/tachyons-sass/-/tachyons-sass-4.7.4.tgz#47199472f444f1451692ec4509c5da700569ea57"
|
||||
dependencies:
|
||||
tachyons "^4.7.4"
|
||||
|
||||
tachyons@^4.7.4:
|
||||
version "4.8.1"
|
||||
resolved "https://registry.yarnpkg.com/tachyons/-/tachyons-4.8.1.tgz#9a3183feecb3240c4dcefee7feecc8259acd7381"
|
||||
|
||||
|
|
Reference in a new issue