Added image

This commit is contained in:
R. Eric Wheeler 2016-07-12 11:11:11 -07:00
parent a00d9b49a0
commit 61bd7a6677
7 changed files with 267 additions and 252 deletions

0
.tmp/.git-keep Normal file
View File

View File

@ -56,18 +56,31 @@ module.exports = function (grunt) {
},
dev: {
files: ['src/Sikofitt/less/*', 'src/Sikofitt/js/*'],
tasks: ['dev']
tasks: ['dev'],
options: {
atBegin: true
}
},
options: {
dateFormat: function(time) {
d = new Date();
grunt.log.ok('Grunt tasks finished in ' + time + 'ms on ' + d.toDateString() + ' at ' + d.toTimeString());
grunt.log.ok('Watching ...');
}
}
},
uglify: {
options: {
mangle: true,
report: 'gzip',
compress: {
drop_console: true
},
banner: '/*! Resume.PHP - v<%= pkg.version %> - ' +
'<%= grunt.template.today("dddd, mmmm dS, yyyy, h:MM:ss tt") %> */',
nameCache: '.tmp/grunt-uglify-cache.json'
banner: '/*! \n * Resume.PHP - v<%= pkg.version %> @license MIT (http://resume.reric.me)\n' +
' * <%= grunt.template.today("dddd, mmmm dS, yyyy, h:MM:ss tt") %> \n */\n',
footer: '\n/*! Resume.PHP end */',
nameCache: '.tmp/grunt-uglify-cache.json',
preserveComments: 'some',
},
dist: {
files: {'web/js/resume.min.js': ['src/Sikofitt/js/resume.js']}

View File

@ -9,6 +9,7 @@ app:
captcha_sitekey: 6LcvmSQTAAAAAMmf9w6mhCbpdLvknuD9SGVHT0q-
captcha_secret: 6LcvmSQTAAAAAITkvYJjgLar1LqGGLz-ic0ZMiXo
twig:
theme: default
paths:
- views
template: uikit.html.twig

View File

@ -1,267 +1,265 @@
{% extends app.config.twig.template %}
{% block title %}
{{ app.config.app.title | default('Resume') }}
{{ app.config.app.title | default('Resume') }}
{% endblock %}
{% block body %}
<div class="uk-grid" data-uk-grid-margin xmlns="http://www.w3.org/1999/html">
<div class="uk-width-1-1">
<h1 class="uk-heading-large">
{% if basics.name is not empty %}
{{ basics.name }}
{% else %}
{{ app.config.app.title|default('Resume') }}
{% endif %}
{% if basics.label is not empty %}
<small class="uk-h2 uk-align-right uk-text-bottom">{{ basics.label }}</small>
{% endif %}
</h1>
<hr/>
{% if basics.summary is not empty %}
<p class="uk-text-lead">{{ basics.summary }}</p>
{% endif %}
</div>
</div>
<div class="uk-grid" data-uk-grid-margin>
<div class="uk-width-medium-3-4">
<h1>Experience</h1>
<div class="uk-panel uk-panel-header">
<div class="resume-positions">
{% for position in work %}
<h3 class="company uk-panel-title uk-animation-slide-left">
{{ position.company }}
<small class="uk-align-right">
{{ position.startDate|date('M, Y') }} -
{% if position.endDate is not defined %}
Current
<div class="uk-grid" data-uk-grid-margin xmlns="http://www.w3.org/1999/html">
<div class="uk-width-1-1">
<h1 class="uk-heading-large">
{% if basics.name is not empty %}
{{ basics.name }}
{% else %}
{{ position.endDate|date('M, Y') }}
{{ app.config.app.title|default('Resume') }}
{% endif %}
(~
{% if position.endDate is not defined %}
{{ position.startDate|date_diff }}
{% else %}
{{ position.startDate|date_diff(position.endDate) }}
{% if basics.label is not empty %}
<small class="uk-h2 uk-align-right uk-text-bottom">{{ basics.label }}</small>
{% endif %}
)
</small>
</h3>
<h5>{{ position.position }}</h5>
<p class="summary uk-text-primary uk-text-large">
{{ position.summary|raw }}
</p>
{% if position.highlights is defined and position.highlights is not empty %}
<dl class="uk-description-list-horizontal uk-animation-slide-right">
<dt>Highlights</dt>
{% for highlight in position.highlights %}
<dd class="uk-margin-small-top uk-margin-small-bottom">{{ highlight|raw }} {# raw is deprecated in 2.0 #}</dd>
{% endfor %}
</dl>
</h1>
<hr/>
{% if basics.summary is not empty %}
<p class="uk-text-lead">{{ basics.summary }}</p>
{% endif %}
<hr class="uk-hr-light"/>
{% endfor %}
</div>
</div>
</div>
<div class="uk-width-medium-1-4">
<div class="uk-grid" data-uk-grid-margin>
<div class="uk-width-medium-3-4">
<h1>Experience</h1>
<div class="uk-panel uk-panel-header">
<div class="uk-panel uk-panel-header uk-panel-box" data-uk-sticky="{top:35}">
<div class="resume-positions">
{% for position in work %}
<h3 class="company uk-panel-title uk-animation-slide-left">
{{ position.company }}
<small class="uk-align-right">
{{ position.startDate|date('M, Y') }} -
{% if position.endDate is not defined %}
Current
{% else %}
{{ position.endDate|date('M, Y') }}
{% endif %}
(~
{% if position.endDate is not defined %}
{{ position.startDate|date_diff }}
{% else %}
{{ position.startDate|date_diff(position.endDate) }}
{% endif %}
)
</small>
</h3>
<h5>{{ position.position }}</h5>
<p class="summary uk-text-primary uk-text-large">
{{ position.summary|raw }}
</p>
{% if position.highlights is defined and position.highlights is not empty %}
<dl class="uk-description-list-horizontal uk-animation-slide-right">
<dt>Highlights</dt>
{% for highlight in position.highlights %}
<dd class="uk-margin-small-top uk-margin-small-bottom">{{ highlight|raw }} {# raw is deprecated in 2.0 #}</dd>
{% endfor %}
</dl>
{% endif %}
<hr class="uk-hr-light"/>
{% endfor %}
</div>
</div>
<div class="uk-panel-image">
<img
class="uk-align-right uk-thumbnail uk-border-circle uk-thumbnail-mini uk-animation-scale-up uk-img-preserve"
src="{{ basics.picture }}"/>
</div>
<h3 class="uk-panel-title">Contact</h3>
<ul class="uk-list uk-list-line">
<div class="uk-width-medium-1-4">
{% if app.config.app.phone is not empty %}
<div class="uk-panel uk-panel-header uk-panel-box" data-uk-sticky="{top:35}">
<li class="uk-list-space"><a href="#captcha" class="hidden-phone" data-uk-modal>Phone</a></li>
{% endif %}
<li class="uk-list-space">
{% if basics.email is not empty %}
<a href="#contact-form-wrapper" data-uk-modal>{{ basics.email }}</a>
{% endif %}
<div class="uk-panel-image">
<img class="uk-align-right uk-thumbnail uk-border-circle uk-thumbnail-mini uk-animation-scale-up uk-img-preserve" src="{{ basics.picture }}"/>
</div>
<h3 class="uk-panel-title">Contact</h3>
</li>
<ul class="uk-list uk-list-line">
{% if basics.website is not empty %}
<li class="uk-list-space"><a href="{{ basics.website }}" target="_blank"
title="Home page">{{ basics.website }}</a></li>
{% endif %}
{% if basics.location|length > 0 and basics.location is not empty %}
<li class="uk-list-space">
<address>
{% set location = basics.location %}
{% if app.config.app.phone is not empty %}
<li class="uk-list-space"><a href="#captcha" class="hidden-phone" data-uk-modal>Phone</a></li>
{% endif %}
<li class="uk-list-space">
{% if basics.email is not empty %}
<a href="#contact-form-wrapper" data-uk-modal>{{ basics.email }}</a>
{% endif %}
</li>
{% if basics.website is not empty %}
<li class="uk-list-space"><a href="{{ basics.website }}" target="_blank"
title="Home page">{{ basics.website }}</a></li>
{% endif %}
{% if basics.location|length > 0 and basics.location is not empty %}
<li class="uk-list-space">
<address>
{% set location = basics.location %}
{% if location.address is not empty %}
{{ location.address }}<br/>
{% endif %}
{% if location.city is not empty %}
{{ location.city }},
{% endif %}
{% if location.region is not empty %}
&nbsp;{{ location.region }},
{% endif %}
{% if location.countryCode is not empty %}
&nbsp;{{ location.countryCode }}
{% endif %}<br/>
</address>
</li>
{% endif %}
<li class="uk-list-space">
{% for profile in basics.profiles %}
{{ render_profile(profile)|raw }}
{% endfor %}
</li>
<li class="uk-list-divider"></li>
</ul>
{% if skills is defined and skills is not empty %}
<h3 class="uk-panel-title">Skills</h3>
<dl class="uk-description-list-line">
{% for skill in skills %}
<dt class="uk-text-bold">{{ skill.name }}</dt>
<dd>{{ skill.keywords|join(', ')|raw }}</dd>
{% endfor %}
</dl>
{% if location.address is not empty %}
{{ location.address }}<br/>
{% endif %}
{% if location.city is not empty %}
{{ location.city }},
{% endif %}
{% if location.region is not empty %}
&nbsp;{{ location.region }},
{% endif %}
{% if location.countryCode is not empty %}
&nbsp;{{ location.countryCode }}
{% endif %}<br/>
</address>
</li>
{% endif %}
<li class="uk-list-space">
{% for profile in basics.profiles %}
{{ render_profile(profile)|raw }}
{% endfor %}
</li>
<li class="uk-list-divider"></li>
</ul>
{% if skills is defined and skills is not empty %}
<h3 class="uk-panel-title">Skills</h3>
<dl class="uk-description-list-line">
{% for skill in skills %}
<dt class="uk-text-bold">{{ skill.name }}</dt>
<dd>{{ skill.keywords|join(', ')|raw }}</dd>
{% endfor %}
</dl>
{% endif %}
</div>
</div>
</div>
<div id="contact-form-wrapper" class="uk-modal">
<div class="uk-modal-dialog uk-modal-dialog-blank">
<button class="uk-modal-close uk-close" type="button"></button>
<div class="uk-grid uk-flex-center uk-grid-divider uk-flex-middle uk-height-viewport uk-cover-background">
<div id="contact-form">
<div class="uk-width-1-1">
{{ form_start(contact_form) }}
<fieldset data-uk-margin>
<legend>Contact {% if basics.email is not empty %}<small class="uk-align-right">{{ basics.email }}</small>{% endif %}</legend>
<div class="uk-form-row">
{{ form_label(contact_form.name) }}
<div class="uk-form-controls">
{{ form_widget(contact_form.name) }}
</div>
</div>
<div class="uk-form-row">
{{ form_label(contact_form.email) }}
<div class="uk-form-controls">
{{ form_widget(contact_form.email) }}
</div>
</div>
<div class="uk-form-row">
{{ form_label(contact_form.message) }}
<div class="uk-form-controls">
{{ form_widget(contact_form.message, {'attr':{'placeholder': "Please leave me a message. I will get back to you as soon as possible."}}) }} </div>
</div>
<div class="uk-form-row">
{{ form_label(contact_form.submit) }}
<div class="uk-form-controls">
{{ form_widget(contact_form.submit) }}
</div>
</div>
</div>
<div id="contact-form-wrapper" class="uk-modal">
<div class="uk-modal-dialog uk-modal-dialog-blank">
<button class="uk-modal-close uk-close" type="button"></button>
<div class="uk-grid uk-flex-center uk-grid-divider uk-flex-middle uk-height-viewport uk-cover-background">
<div id="contact-form">
<div class="uk-width-1-1">
{{ form_start(contact_form) }}
<fieldset data-uk-margin>
<legend>Contact {% if basics.email is not empty %}
<small class="uk-align-right">{{ basics.email }}</small>{% endif %}</legend>
<div class="uk-form-row">
{{ form_label(contact_form.name) }}
<div class="uk-form-controls">
{{ form_widget(contact_form.name) }}
</div>
</div>
<div class="uk-form-row">
{{ form_label(contact_form.email) }}
<div class="uk-form-controls">
{{ form_widget(contact_form.email) }}
</div>
</div>
<div class="uk-form-row">
{{ form_label(contact_form.message) }}
<div class="uk-form-controls">
{{ form_widget(contact_form.message, {'attr':{'placeholder': "Please leave me a message. I will get back to you as soon as possible."}}) }} </div>
</div>
<div class="uk-form-row">
{{ form_label(contact_form.submit) }}
<div class="uk-form-controls">
{{ form_widget(contact_form.submit) }}
</div>
</div>
{{ form_rest(contact_form) }}
</fieldset>
{{ form_end(contact_form) }}
</div>
</div>
</div>
{{ form_rest(contact_form) }}
</fieldset>
{{ form_end(contact_form) }}
</div>
</div>
</div>
</div>
</div>
<!-- phone -->
<div id="captcha" class="uk-modal">
<div class="uk-modal-dialog uk-modal-dialog-blank">
<button class="uk-modal-close uk-close" type="button"></button>
<!-- phone -->
<div id="captcha" class="uk-modal">
<div class="uk-modal-dialog uk-modal-dialog-blank">
<button class="uk-modal-close uk-close" type="button"></button>
<div
class="uk-grid uk-flex-center uk-grid-match uk-grid-divider uk-flex-middle uk-height-viewport uk-cover-background"
>
<div class="uk-grid uk-flex-center uk-grid-match uk-grid-divider uk-flex-middle uk-height-viewport uk-cover-background">
<div id="recaptcha-wrapper">
<h1>Verify</h1>
<div>
<p> Verify that you are a human please.</p>
<form class="uk-form" id="recaptcha" method="post" action="/api/v1/captcha" onsubmit="return false;">
<div class="uk-form-row">
<div class="g-recaptcha" data-sitekey="6LcvmSQTAAAAAMmf9w6mhCbpdLvknuD9SGVHT0q-"></div>
</div>
<div class="uk-form-row">
<input type="submit" class="uk-button" id="submit" name="submit" value="Verify"/>
</div>
</form>
<div id="recaptcha-wrapper">
<h1>Verify</h1>
<div>
<p> Verify that you are a human please.</p>
<form class="uk-form" id="recaptcha" method="post" action="/api/v1/captcha"
onsubmit="return false;">
<div class="uk-form-row">
<div class="g-recaptcha" data-sitekey="6LcvmSQTAAAAAMmf9w6mhCbpdLvknuD9SGVHT0q-"></div>
</div>
<div class="uk-form-row">
<input type="submit" class="uk-button" id="submit" name="submit" value="Verify"/>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="offcanvas" class="uk-offcanvas">
<div class="uk-offcanvas-bar">
<ul class="uk-list uk-list-line">
{% if basics.email is not empty %}
<li>{{ basics.email }}</li>
{% endif %}
{% if basics.phone is not empty %}
<li>{{ basics.phone }}</li>
{% endif %}
{% if basics.location|length > 0 and basics.location is not empty %}
<li>
<address>
{% for location in basics.location %}
{% if location.address is not empty %}
{{ location.address }}<br/>
<div id="offcanvas" class="uk-offcanvas">
<div class="uk-offcanvas-bar">
<ul class="uk-list uk-list-line">
{% if basics.email is not empty %}
<li>{{ basics.email }}</li>
{% endif %}
{% if location.city is not empty %}
{{ location.city }}
{% if location.postalCode is not empty %}
&nbsp;{{ location.postalCode }}
{% endif %}
{% if location.countryCode is not empty %}
&nbsp;{{ location.countryCode }}
{% endif %}<br/>
{% if basics.phone is not empty %}
<li>{{ basics.phone }}</li>
{% endif %}
{% endfor %}
</address>
</li>
{% endif %}
<li>
{% if basics.location|length > 0 and basics.location is not empty %}
<li>
<address>
{% for location in basics.location %}
{% if location.address is not empty %}
{{ location.address }}<br/>
{% endif %}
{% if location.city is not empty %}
{{ location.city }}
{% if location.postalCode is not empty %}
&nbsp;{{ location.postalCode }}
{% endif %}
{% if location.countryCode is not empty %}
&nbsp;{{ location.countryCode }}
{% endif %}<br/>
{% endif %}
{% endfor %}
</address>
</li>
{% endif %}
<li>
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
{% endblock %}
{% block javascripts_foot %}
<script src='https://www.google.com/recaptcha/api.js'></script>
<script src='https://www.google.com/recaptcha/api.js'></script>
{% endblock %}

View File

@ -2,32 +2,32 @@
<html lang="en-us">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
{% block meta %}{% endblock %}
<title>{% block title %}Resume{% endblock %}</title>
{% block shortcut_icon %}
{# <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"> #}
{% endblock %}
{% block apple_meta %}
{# <link rel="apple-touch-icon-precomposed" href="images/apple-touch-icon.png"> #}
{% endblock %}
<link rel="stylesheet" href="{{ asset('css/resume.min.css') }}">
{% block stylesheets %}{% endblock %}
{% block inline_styles %}{% endblock %}
<script src="{{ asset('js/vendor/jquery.min.js') }}"></script>
<script src="{{ asset('js/vendor/uikit.min.js') }}"></script>
<script src="{{ asset('js/vendor/sticky.min.js') }}"></script>
<script src="{{ asset('js/vendor/notify.min.js') }}"></script>
{% block javascripts_head %}{% endblock %}
{% block inline_js_head %}{% endblock %}
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
{% block meta %}{% endblock %}
<title>{% block title %}Resume{% endblock %}</title>
{% block shortcut_icon %}
{# <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"> #}
{% endblock %}
{% block apple_meta %}
{# <link rel="apple-touch-icon-precomposed" href="images/apple-touch-icon.png"> #}
{% endblock %}
<link rel="stylesheet" href="{{ asset('css/resume.min.css') }}">
{% block stylesheets %}{% endblock %}
{% block inline_styles %}{% endblock %}
<script src="{{ asset('js/vendor/jquery.min.js') }}"></script>
<script src="{{ asset('js/vendor/uikit.min.js') }}"></script>
<script src="{{ asset('js/vendor/sticky.min.js') }}"></script>
<script src="{{ asset('js/vendor/notify.min.js') }}"></script>
{% block javascripts_head %}{% endblock %}
{% block inline_js_head %}{% endblock %}
</head>
<body>
<div class="uk-container uk-container-center uk-margin-large-top uk-margin-large-bottom">
{% block body %}
{% endblock %}
{% block body %}
{% endblock %}
</div>
<script src="{{ asset('js/resume.min.js') }}"></script>
{% block javascripts_foot %}{% endblock %}

BIN
src/Sikofitt/images/r.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -1,8 +1,10 @@
jQuery(document).ready(function ($) {
$('form#recaptcha').on('submit', function (event) {
jq = jQuery.noConflict();
jq(document).ready(function (jq) {
jq('form#recaptcha').on('submit', function (event) {
event.stopImmediatePropagation();
event.stopPropagation();
jQuery.post(jQuery(this).attr('action'), jQuery(this).serialize(), function (response) {
jq.post(jq(this).attr('action'), jq(this).serialize(), function (response) {
data = JSON.parse(response);
if (false === data.valid) {
@ -11,12 +13,12 @@ jQuery(document).ready(function ($) {
pos: 'bottom-center',
status: 'danger'
});
})
});
} else if (true === data.valid) {
var divRoot = jQuery('<div />'),
h1 = jQuery('<h1 />'),
href = jQuery('<a />'),
phone = jQuery('.hidden-phone');
var divRoot = jq('<div />'),
h1 = jq('<h1 />'),
href = jq('<a />'),
phone = jq('.hidden-phone');
href
.attr('href', 'tel:' + data.message.phone)
.text(data.message.phone);
@ -26,7 +28,8 @@ jQuery(document).ready(function ($) {
phone.attr('href', 'tel:' + data.message.phone);
phone.text(data.message.phone);
divRoot.append(h1);
jQuery('#recaptcha-wrapper').replaceWith(divRoot);
jq('#recaptcha-wrapper').replaceWith(divRoot);
}
});
});