Merge branch 'develop'

This commit is contained in:
Oliver Davies 2017-06-18 19:41:10 +01:00
commit a5a82c04ff
29 changed files with 175 additions and 152 deletions

View file

@ -1,3 +0,0 @@
{
"directory": "vendor/bower_components"
}

View file

@ -3,7 +3,7 @@ api: '1'
sculpin:
theme:
build:
bower: yes
bower: no
npm: no
type: gulp
yarn: yes

View file

@ -1,4 +1,4 @@
@import '../../vendor/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/clearfix'
@import '../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/clearfix'
.post-pager
clear: both

View file

@ -1,4 +1,4 @@
@import '../../vendor/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/clearfix'
@import '../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/clearfix'
.page--blog__list
ul.posts

View file

@ -1,5 +1,5 @@
@import '../../vendor/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/clearfix'
@import '../../vendor/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/variables'
@import '../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/clearfix'
@import '../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/variables'
@import 'mixins'
.experience-item

View file

@ -1,4 +1,4 @@
@import '../../vendor/bower_components/bootstrap-sass/assets/stylesheets/bootstrap'
@import '../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap'
@import 'base'
@import 'mixins'

View file

@ -1,4 +1,4 @@
@import '../../vendor/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/variables'
@import '../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/variables'
@import 'mixins'
.project-company

View file

@ -1,4 +1,4 @@
@import '../../vendor/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/variables'
@import '../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/variables'
@import 'mixins'
.talk-full h1

View file

@ -1,5 +1,5 @@
@import '../../vendor/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/clearfix'
@import '../../vendor/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/variables'
@import '../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/clearfix'
@import '../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/variables'
@import 'mixins'
.testimonial

View file

@ -1,9 +0,0 @@
{
"name": "oliverdavies.uk",
"devDependencies": {
"bootstrap-sass": "~3.3.6",
"font-awesome": "fontawesome#~4.5.0",
"jquery2": "^2.0.0",
"prism": "prismjs#^1.6.0"
}
}

View file

@ -6,7 +6,7 @@ Feature: Home
Scenario:
Given I am on the homepage
Then the response status code should be 200
And I should see "Im a Web Developer and System Administrator based in Wales, UK."
And I should see "a Web Developer and System Administrator based in Wales, UK."
And the active menu link should be "About"
And the page title should be "Web Developer, System Administrator - PHP, Drupal, Symfony, Linux | Oliver Davies"
And the page title should not be "About | Oliver Davies"

View file

@ -5,7 +5,6 @@ var plugins = require('gulp-load-plugins')();
var del = require('del');
var config = {
bowerDir: 'vendor/bower_components',
fontsDir: 'source/assets/fonts',
js: {
sourceDir: 'assets/js',
@ -46,14 +45,14 @@ app.sass = function (sourceFiles, filename) {
gulp.task('styles', function () {
app.sass([
config.bowerDir + '/font-awesome/css/font-awesome.css',
'node_modules/font-awesome/css/font-awesome.css',
config.sass.sourceDir + '/main.sass'
], 'main.css');
app.sass(config.sass.sourceDir + '/about.sass', 'about.css');
app.sass(config.sass.sourceDir + '/blog.sass', 'blog.css');
app.sass([
config.bowerDir + '/prism/themes/prism-twilight.css',
'node_modules/prism/themes/prism-twilight.css',
config.sass.sourceDir + '/blog-post.sass'
], 'blog-post.css');
app.sass(config.sass.sourceDir + '/experience.sass', 'experience.css');
@ -65,10 +64,10 @@ gulp.task('styles', function () {
gulp.task('scripts', function () {
return gulp.src([
config.bowerDir + '/jquery2/jquery.js',
config.bowerDir + '/bootstrap-sass/assets/javascripts/bootstrap.js',
config.bowerDir + '/prism/prism.js',
config.bowerDir + '/prism/components/prism-{apacheconf,bash,css,diff,ini,json,nginx,php,sass,scss,sql,less,twig,xml,yaml}.js',
'node_modules/jquery/dist/jquery.js',
'node_modules/bootstrap-sass/assets/javascripts/bootstrap.js',
'node_modules/prism/prism.js',
'node_modules/prism/components/prism-{apacheconf,bash,css,diff,ini,json,nginx,php,sass,scss,sql,less,twig,xml,yaml}.js',
config.js.sourceDir + config.js.pattern
])
.pipe(plugins.plumber())
@ -80,7 +79,7 @@ gulp.task('scripts', function () {
});
gulp.task('fonts', function () {
return gulp.src(config.bowerDir + "/font-awesome/fonts/*")
return gulp.src('node_modules/font-awesome/fonts/*')
.pipe(gulp.dest(config.fontsDir));
});

View file

@ -21,5 +21,11 @@
"gulp-sourcemaps": "^1.6.0",
"gulp-uglify": "^1.5.3",
"gulp-util": "^3.0.7"
},
"dependencies": {
"bootstrap-sass": "^3.3.7",
"font-awesome": "^4.7.0",
"jquery.2": "^1.0.0",
"prismjs": "^1.6.0"
}
}

View file

@ -1,7 +1,5 @@
<div class="availability panel panel-default">
<div class="panel-heading">
Availability
</div>
<div class="panel-heading">Availability</div>
<div class="panel-body">
{% for key, availability in site.availability %}

View file

@ -1,5 +0,0 @@
{% if experience.description %}
<div class="experience-item-description">
{{ experience.description|markdown }}
</div>
{% endif %}

View file

@ -1,16 +0,0 @@
{% set classes = [
'experience-item',
company.logo ? 'has-logo',
] %}
<div class="{{ classes|join(' ')|trim }}">
{{ include('experience/logo') }}
<div class="experience-item-inner">
<h2>{{ company.name }}</h2>
{{ include('experience/website') }}
{{ include('experience/role') }}
{{ include('experience/description') }}
</div>{# /.inner #}
</div>

View file

@ -1,5 +0,0 @@
{% if company.logo %}
<div class="experience-item-logo">
<img src="{{ site.images_url }}/assets/images/experience/{{ company.logo }}" alt="{{ company.name }} logo">
</div>
{% endif %}

View file

@ -1,4 +0,0 @@
<div class="experience-item-role">
{{- experience.role ~ ' from ' ~ experience.start ~ ' to ' ~ experience.end|default('Present') -}}
{%- if experience.location %} ({{ experience.location }}){% endif %}.
</div>

View file

@ -1,5 +0,0 @@
{% if company.url -%}
<a class="experience-item-website" href="{{ company.url }}">
{{- company.url -}}
</a>
{%- endif %}

View file

@ -1,13 +0,0 @@
<footer class="container">
<p class="copyright">
&copy; 2010-{{ 'now'|date('Y') }} {{ site.title }}. Built with <a href="https://sculpin.io">Sculpin</a>.
</p>
{% include 'meetups' %}
</footer>
<script src="{{ site.url }}/assets/js/site.js"></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 %}

View file

@ -1,9 +0,0 @@
{% block sidebar_wrapper %}
<div class="col-md-3">
{% block sidebar %}
{% include 'badges' %}
{% include 'availability' %}
{% include 'posts/latest' %}
{% endblock %}
</div>
{% endblock %}

View file

@ -1,11 +0,0 @@
<div class="talk-events">
<h2>Events</h2>
{% set events = [] %}
{% for event in page.events %}
{% set event = event|merge({ talk: page })|merge(site.events[event.id]) %}
{% set events = events|merge([event]) %}
{% endfor %}
{% include "talks-table" with { events: events, hide_talk: true } %}
</div>

View file

@ -1,8 +0,0 @@
{% if page.slides.embed %}
<div class="talk-slides">
<h2>Slides</h2>
<div class="presentation">
{{ page.slides.embed|raw }}
</div>
</div>
{% endif %}

View file

@ -1,8 +0,0 @@
{% if page.video.embed %}
<div class="talk-video">
<h2>Video</h2>
<div class="embed-container">
{{ page.video.embed|raw }}
</div>
</div>
{% endif %}

View file

@ -1,7 +0,0 @@
<title>{% spaceless %}
{% if page.url == '/.' %}
{{ site.subtitle }} | {{ site.title }}
{% else %}
{{ page.title }} | {{ site.title }}
{% endif %}
{% endspaceless %}</title>

View file

@ -1,7 +1,7 @@
<!DOCTYPE html>
<html class="no-js" lang="en-GB">
<head>
{% include 'title' %}
<title>{% if page.url == '/.' %}{{ site.subtitle }} | {{ site.title }}{% else %}{{ page.title }} | {{ site.title }}{% endif %}</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
@ -24,7 +24,6 @@
<link rel="icon" href="{{ site.avatar.url }}?s={{ size }}" sizes="{{ size }}x{{ size }}">
{% endfor %}
</head>
<body class="{{ page.blocks.body_classes }}">
{% include 'nav' %}
@ -36,11 +35,32 @@
{% block content_bottom %}{% endblock %}
</main>
{% include 'sidebar' %}
{% block sidebar_wrapper %}
<div class="col-md-3">
{% block sidebar %}
{% include 'badges' %}
{% include 'availability' %}
{% include 'posts/latest' %}
{% endblock %}
</div>
{% endblock %}
</div>{# .row #}
</div>{# .container #}
{% include 'footer' %}
<footer class="container">
<p class="copyright">
&copy; 2010-{{ 'now'|date('Y') }} {{ site.title }}. Built with <a href="https://sculpin.io">Sculpin</a>.
</p>
{% include 'meetups' %}
</footer>
<script src="{{ site.url }}/assets/js/site.js"></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 %}
{% block scripts '' %}
</body>

View file

@ -11,9 +11,35 @@
{% block content %}{% endblock %}
</div>
{% include 'talk/slides' %}
{% include 'talk/video' %}
{% include 'talk/events' %}
{% if page.slides.embed %}
<div class="talk-slides">
<h2>Slides</h2>
<div class="presentation">
{{ page.slides.embed|raw }}
</div>{# .presentation #}
</div>{# .talk-slides #}
{% endif %}
{% if page.video.embed %}
<div class="talk-video">
<h2>Video</h2>
<div class="embed-container">
{{ page.video.embed|raw }}
</div>
</div>{# .talk-video #}
{% endif %}
<div class="talk-events">
<h2>Events</h2>
{% set events = [] %}
{% for event in page.events %}
{% set event = event|merge({ talk: page })|merge(site.events[event.id]) %}
{% set events = events|merge([event]) %}
{% endfor %}
{% include "talks-table" with { events: events, hide_talk: true } %}
</div>{# .talk-events #}
{% endblock %}
{% block stylesheets %}

View file

@ -103,10 +103,37 @@ use: [posts]
<h1>Experience</h1>
{% for experience in page.experiences %}
{% include "experience/item" with {
experience: experience,
company: site.companies[experience.company]
} %}
{% set company = site.companies[experience.company] %}
<div class="experience-item{% if company.logo %} has-logo{% endif %}">
{% if company.logo %}
<div class="experience-item-logo">
<img src="{{ site.images_url }}/assets/images/experience/{{ company.logo }}" alt="{{ company.name }} logo">
</div>
{% endif %}
<div class="experience-item-inner">
<h2>{{ company.name }}</h2>
{% if company.url -%}
<a class="experience-item-website" href="{{ company.url }}">
{{- company.url -}}
</a>
{%- endif %}
<div class="experience-item-role">
{{- experience.role }} from {{ experience.start }} to {{ experience.end|default('Present') -}}
{%- if experience.location %} ({{ experience.location }}){% endif %}.
</div>
{% if experience.description %}
<div class="experience-item-description">
{{ experience.description|markdown }}
</div>
{% endif %}
</div>{# /.inner #}
</div>
{% endfor %}
{% endblock %}

View file

@ -188,6 +188,10 @@ boom@2.x.x:
dependencies:
hoek "2.x.x"
bootstrap-sass@^3.3.7:
version "3.3.7"
resolved "https://registry.yarnpkg.com/bootstrap-sass/-/bootstrap-sass-3.3.7.tgz#6596c7ab40f6637393323ab0bc80d064fc630498"
bower@^1.7.7:
version "1.7.9"
resolved "https://registry.yarnpkg.com/bower/-/bower-1.7.9.tgz#b7296c2393e0d75edaa6ca39648132dd255812b0"
@ -296,6 +300,14 @@ clean-css@^4.0.4:
dependencies:
source-map "0.5.x"
clipboard@^1.5.5:
version "1.7.1"
resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-1.7.1.tgz#360d6d6946e99a7a1fef395e42ba92b5e9b5a16b"
dependencies:
good-listener "^1.2.2"
select "^1.1.2"
tiny-emitter "^2.0.0"
cliui@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
@ -473,6 +485,10 @@ delayed-stream@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
delegate@^3.1.2:
version "3.1.3"
resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.1.3.tgz#9a8251a777d7025faa55737bc3b071742127a9fd"
delegates@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
@ -679,6 +695,10 @@ flagged-respawn@^0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-0.3.2.tgz#ff191eddcd7088a675b2610fffc976be9b8074b5"
font-awesome@^4.7.0:
version "4.7.0"
resolved "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz#8fa8cf0411a1a31afd07b06d2902bb9fc815a133"
for-in@^0.1.5:
version "0.1.6"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8"
@ -920,6 +940,12 @@ glogg@^1.0.0:
dependencies:
sparkles "^1.0.0"
good-listener@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50"
dependencies:
delegate "^3.1.2"
graceful-fs@^3.0.0:
version "3.0.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818"
@ -1402,6 +1428,16 @@ jodid25519@^1.0.0:
dependencies:
jsbn "~0.1.0"
jquery.2@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/jquery.2/-/jquery.2-1.0.0.tgz#a8995f96fb804c335d08b90a57ec47db0faae6f8"
dependencies:
jquery "^2.0"
jquery@^2.0:
version "2.2.4"
resolved "https://registry.yarnpkg.com/jquery/-/jquery-2.2.4.tgz#2c89d6889b5eac522a7eea32c14521559c6cbf02"
js-base64@^2.1.9:
version "2.1.9"
resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce"
@ -2027,6 +2063,12 @@ pretty-hrtime@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.2.tgz#70ca96f4d0628a443b918758f79416a9a7bc9fa8"
prismjs@^1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.6.0.tgz#118d95fb7a66dba2272e343b345f5236659db365"
optionalDependencies:
clipboard "^1.5.5"
process-nextick-args@~1.0.6:
version "1.0.7"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
@ -2254,6 +2296,10 @@ sass-graph@^2.1.1:
lodash "^4.0.0"
yargs "^4.7.1"
select@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
semver@^4.1.0:
version "4.3.6"
resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da"
@ -2493,6 +2539,10 @@ time-stamp@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.0.1.tgz#9f4bd23559c9365966f3302dbba2b07c6b99b151"
tiny-emitter@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.0.0.tgz#bad327adb1804b42a231afa741532bd884cd09ad"
tough-cookie@~2.3.0:
version "2.3.1"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.1.tgz#99c77dfbb7d804249e8a299d4cb0fd81fef083fd"