167 lines
7.3 KiB
Twig
167 lines
7.3 KiB
Twig
<!DOCTYPE html>
|
|
<html class="no-js" lang="en-GB">
|
|
<head>
|
|
<title>
|
|
{% if page.title is defined and page.url != '/.' %}
|
|
{{ page.title }} |
|
|
{% endif %}
|
|
{{ site.title }} - {{ site.subtitle }}
|
|
</title>
|
|
|
|
<meta charset="UTF-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
|
|
{% if page.meta.description %}
|
|
<meta name="description" content="{{ page.meta.description|e('html') }}">
|
|
{% endif %}
|
|
|
|
{% include 'og' with { og: page.meta.og } %}
|
|
|
|
{% block stylesheets %}
|
|
<link rel="stylesheet" href="{{ site.url }}/build/css/site.css">
|
|
{% endblock %}
|
|
|
|
{% for size in site.apple_touch_icon_sizes %}
|
|
<link rel="apple-touch-icon" href="{{ site.favicon.url }}?s={{ size }}" sizes="{{ size }}x{{ size }}">
|
|
{% endfor %}
|
|
|
|
{% for size in site.favicon_sizes %}
|
|
<link rel="icon" href="{{ site.favicon.url }}?s={{ size }}" sizes="{{ size }}x{{ size }}">
|
|
{% endfor %}
|
|
</head>
|
|
<body class="text-black text-sm leading-normal">
|
|
<div class="navbar border-bottom border-b border-grey-light mb-6" role="banner">
|
|
<header class="container mx-auto px-4">
|
|
<div class="md:flex">
|
|
<div class="w-full md:w-1/3 lg:w-1/4 flex items-center">
|
|
<div class="w-3/4 py-5">
|
|
<a href="/" title="Home" class="text-grey-darkest no-underline hover:underline">
|
|
{{ site.title }}
|
|
</a>
|
|
</div>
|
|
|
|
<div class="w-1/4 text-right md:hidden">
|
|
<button type="button" class="nav-toggle appearance-none">
|
|
<svg class="fill-current text-grey-dark w-6 h-6" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M16.4 9H3.6c-.552 0-.6.447-.6 1 0 .553.048 1 .6 1h12.8c.552 0 .6-.447.6-1 0-.553-.048-1-.6-1zm0 4H3.6c-.552 0-.6.447-.6 1 0 .553.048 1 .6 1h12.8c.552 0 .6-.447.6-1 0-.553-.048-1-.6-1zM3.6 7h12.8c.552 0 .6-.447.6-1 0-.553-.048-1-.6-1H3.6c-.552 0-.6.447-.6 1 0 .553.048 1 .6 1z"/></svg>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<nav class="hidden w-full -mx-4 md:w-2/3 lg:w-3/4 md:flex md:flex-wrap md:justify-end" role="navigation">
|
|
{% include 'nav-item.html.twig' with {
|
|
title: 'About',
|
|
href: '/',
|
|
pattern: '^/.$',
|
|
} %}
|
|
|
|
{% include 'nav-item.html.twig' with {
|
|
title: 'Experience',
|
|
href: '/experience',
|
|
pattern: '^/experience/?$',
|
|
} %}
|
|
|
|
{% include 'nav-item.html.twig' with {
|
|
title: 'Talks',
|
|
href: '/talks',
|
|
pattern: '^/talks/?',
|
|
} %}
|
|
|
|
{% include 'nav-item.html.twig' with {
|
|
title: 'Open Source',
|
|
href: '/opensource',
|
|
pattern: '^/opensource/?$',
|
|
} %}
|
|
|
|
{% include 'nav-item.html.twig' with {
|
|
title: 'Blog',
|
|
href: '/blog',
|
|
pattern: '^/blog/?',
|
|
} %}
|
|
|
|
{% include 'nav-item.html.twig' with {
|
|
title: 'Book',
|
|
href: '/test-driven-drupal',
|
|
pattern: '^/test-driven-drupal/?$',
|
|
} %}
|
|
|
|
{% include 'nav-item.html.twig' with {
|
|
title: 'Contact',
|
|
href: '/contact',
|
|
pattern: '^/contact/?',
|
|
} %}
|
|
</nav>
|
|
</div>
|
|
</header>
|
|
</div>
|
|
|
|
<div class="container mx-auto px-4">
|
|
<div class="md:flex -mx-4">
|
|
<main class="md:w-3/4 px-4 mb-8 lg:mb-0" role="main">
|
|
{% block content_top %}{% endblock %}
|
|
{% block content_wrapper %}{% block content %}{% endblock %}{% endblock %}
|
|
{% block content_bottom %}{% endblock %}
|
|
</main>
|
|
|
|
{% block sidebar_wrapper %}
|
|
<div class="md:w-1/4 px-4" role="complementary">
|
|
{% block sidebar %}
|
|
{% include 'availability' %}
|
|
{% include 'posts/latest' %}
|
|
{% include 'badges' %}
|
|
{% endblock %}
|
|
</div>
|
|
{% endblock %}
|
|
</div>
|
|
|
|
<footer class="border-t border-grey-light pt-4 mt-4" role="contentinfo">
|
|
<p>
|
|
© 2010-{{ 'now'|date('Y') }} {{ site.title }}.
|
|
Built with <a class="link" href="https://sculpin.io">Sculpin</a> and <a class="link" href="https://tailwindcss.com">Tailwind CSS</a>.
|
|
</p>
|
|
|
|
<div class="mt-2">
|
|
<h2 class="mb-2">Things that I organise</h2>
|
|
|
|
<ul class="list-reset inline-flex">
|
|
{% include 'meetup.html.twig' with {
|
|
name: 'Drupal Bristol',
|
|
logo: 'drupal-bristol.jpeg',
|
|
url: 'http://www.drupalbristol.org.uk',
|
|
} %}
|
|
|
|
{% include 'meetup.html.twig' with {
|
|
name: 'DrupalCamp Bristol',
|
|
logo: 'drupalcamp-bristol.png',
|
|
url: 'http://www.drupalcampbristol.co.uk',
|
|
} %}
|
|
|
|
{% include 'meetup.html.twig' with {
|
|
name: 'PHPSW',
|
|
logo: 'phpsw.jpeg',
|
|
url: 'http://phpsw.uk',
|
|
} %}
|
|
</ul>
|
|
</div>
|
|
</footer>
|
|
</div>
|
|
|
|
<script>
|
|
document.querySelector('.nav-toggle').onclick = function() {
|
|
document.querySelector('.navbar nav').classList.toggle('hidden').toggle('block');
|
|
return false;
|
|
};
|
|
</script>
|
|
|
|
{% if site.google_analytics_tracking_id %}
|
|
<script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', '{{ site.google_analytics_tracking_id }}', 'auto'); ga('send', 'pageview');</script>
|
|
{% endif %}
|
|
|
|
{% if page.has_tweets %}
|
|
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
|
|
{% endif %}
|
|
|
|
{% block scripts %}{% endblock %}
|
|
</body>
|
|
</html>
|