End of Days

This commit is contained in:
R. Eric Wheeler 2016-07-05 14:41:50 -07:00
parent 2c869478f6
commit 3e60989bdb
11 changed files with 646 additions and 351 deletions

View File

@ -1,28 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="PublishConfigData" serverName="Symfony Dev">
<serverData>
<paths name="Local Dev">
<serverdata>
<mappings>
<mapping local="$PROJECT_DIR$" web="/" />
</mappings>
</serverdata>
</paths>
<paths name="Symfony Dev">
<serverdata>
<mappings>
<mapping local="$PROJECT_DIR$" web="/" />
</mappings>
</serverdata>
</paths>
<paths name="eecore">
<serverdata>
<mappings>
<mapping local="$PROJECT_DIR$" web="/" />
</mappings>
</serverdata>
</paths>
</serverData>
</component>
<component name="PublishConfigData" serverName="Symfony Local" />
</project>

View File

@ -2,10 +2,8 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="cf1e275f-fbc1-41d4-a421-0f55447b6367" name="Default" comment="">
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/resume.iml" afterPath="$PROJECT_DIR$/.idea/resume.iml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/deployment.xml" afterPath="$PROJECT_DIR$/.idea/deployment.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/composer.lock" afterPath="$PROJECT_DIR$/composer.lock" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/Sikofitt/less/resume.less" afterPath="$PROJECT_DIR$/src/Sikofitt/less/resume.less" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/web/index.php" afterPath="$PROJECT_DIR$/web/index.php" />
</list>
<ignored path="resume.iws" />
@ -18,6 +16,7 @@
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
<component name="CreatePatchCommitExecutor">
<option name="PATCH_PATH" value="" />
</component>
@ -30,8 +29,8 @@
<file leaf-file-name="index.php" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/web/index.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="80">
<caret line="32" column="62" selection-start-line="32" selection-start-column="62" selection-end-line="32" selection-end-column="62" />
<state relative-caret-position="650">
<caret line="60" column="3" selection-start-line="60" selection-start-column="3" selection-end-line="60" selection-end-column="3" />
<folding>
<element signature="e#8#27#0#PHP" expanded="true" />
</folding>
@ -54,10 +53,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="252">
<caret line="27" column="17" selection-start-line="27" selection-start-column="17" selection-end-line="27" selection-end-column="17" />
<folding>
<element signature="e#6#84#0#PHP" expanded="false" />
<element signature="e#114#145#0#PHP" expanded="false" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -67,9 +63,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="288">
<caret line="17" column="25" selection-start-line="17" selection-start-column="25" selection-end-line="17" selection-end-column="25" />
<folding>
<element signature="e#7#39#0#PHP" expanded="false" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -79,9 +73,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="252">
<caret line="16" column="42" selection-start-line="16" selection-start-column="42" selection-end-line="16" selection-end-column="42" />
<folding>
<element signature="e#6#16#0#PHP" expanded="false" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -163,7 +155,7 @@
<component name="PhpWorkspaceProjectConfiguration" backward_compatibility_performed="true" />
<component name="ProjectFrameBounds">
<option name="x" value="134" />
<option name="y" value="24" />
<option name="y" value="30" />
<option name="width" value="1701" />
<option name="height" value="1011" />
</component>
@ -192,6 +184,8 @@
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="Scope" />
<pane id="Scratches" />
<pane id="ProjectPane">
<subPane>
<PATH>
@ -316,8 +310,6 @@
</PATH>
</subPane>
</pane>
<pane id="Scratches" />
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
@ -342,9 +334,6 @@
<configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug">
<method />
</configuration>
<configuration default="true" type="NodeJSConfigurationType" factoryName="Node.js" path-to-node="project" working-dir="">
<method />
</configuration>
<configuration default="true" type="PHPUnitRunConfigurationType" factoryName="PHPUnit">
<TestRunner />
<method />
@ -372,19 +361,6 @@
<envs />
<method />
</configuration>
<configuration default="true" type="mocha-javascript-test-runner" factoryName="Mocha">
<node-interpreter>project</node-interpreter>
<node-options />
<working-directory />
<pass-parent-env>true</pass-parent-env>
<envs />
<ui>bdd</ui>
<extra-mocha-options />
<test-kind>DIRECTORY</test-kind>
<test-directory />
<recursive>false</recursive>
<method />
</configuration>
</component>
<component name="ShelveChangesManager" show_recycled="false">
<option name="remove_strategy" value="false" />
@ -405,35 +381,38 @@
<workItem from="1467649451288" duration="2331000" />
<workItem from="1467656661331" duration="59000" />
<workItem from="1467656740400" duration="133000" />
<workItem from="1467728864296" duration="546000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="27275000" />
<option name="totallyTimeSpent" value="27821000" />
</component>
<component name="ToolWindowManager">
<frame x="134" y="24" width="1701" height="1011" extended-state="0" />
<editor active="false" />
<frame x="134" y="30" width="1701" height="1011" extended-state="0" />
<editor active="true" />
<layout>
<window_info id="eSnippet Pro" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="GfmBrowser" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
<window_info id="DB Browser" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="DB Execution Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
<window_info id="Regex Tester" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32919955" sideWeight="0.41894352" order="0" side_tool="true" content_ui="tabs" />
<window_info id="GitLabIntegration" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32919955" sideWeight="0.5810565" order="10" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="hashGenerator" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32919955" sideWeight="0.5" order="10" side_tool="true" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Remote Host" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.26593807" sideWeight="0.5" order="1" side_tool="false" content_ui="combo" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.26934797" sideWeight="0.5" order="1" side_tool="false" content_ui="combo" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="true" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Regex Tester" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="hashGenerator" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32919955" sideWeight="0.5" order="10" side_tool="true" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="combo" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
@ -476,6 +455,46 @@
<watches-manager />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/app/App.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="288">
<caret line="17" column="25" selection-start-line="17" selection-start-column="25" selection-end-line="17" selection-end-column="25" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Sikofitt/Config/ConfigTrait.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="252">
<caret line="16" column="42" selection-start-line="16" selection-start-column="42" selection-end-line="16" selection-end-column="42" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/views/uikit.html.twig">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="594">
<caret line="33" column="7" selection-start-line="33" selection-start-column="7" selection-end-line="33" selection-end-column="7" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Sikofitt/less/resume.less">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="108">
<caret line="6" column="34" selection-start-line="6" selection-start-column="34" selection-end-line="6" selection-end-column="34" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/config/config.yml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="54">
<caret line="3" column="26" selection-start-line="3" selection-start-column="26" selection-end-line="3" selection-end-column="26" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/web/index.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
@ -498,10 +517,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="252">
<caret line="27" column="17" selection-start-line="27" selection-start-column="17" selection-end-line="27" selection-end-column="17" />
<folding>
<element signature="e#6#84#0#PHP" expanded="false" />
<element signature="e#114#145#0#PHP" expanded="false" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -509,9 +525,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="288">
<caret line="17" column="25" selection-start-line="17" selection-start-column="25" selection-end-line="17" selection-end-column="25" />
<folding>
<element signature="e#7#39#0#PHP" expanded="false" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -519,9 +533,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="252">
<caret line="16" column="42" selection-start-line="16" selection-start-column="42" selection-end-line="16" selection-end-column="42" />
<folding>
<element signature="e#6#16#0#PHP" expanded="false" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -571,10 +583,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="252">
<caret line="27" column="17" selection-start-line="27" selection-start-column="17" selection-end-line="27" selection-end-column="17" />
<folding>
<element signature="e#6#84#0#PHP" expanded="false" />
<element signature="e#114#145#0#PHP" expanded="false" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -582,9 +591,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="306">
<caret line="17" column="25" selection-start-line="17" selection-start-column="25" selection-end-line="17" selection-end-column="25" />
<folding>
<element signature="e#7#39#0#PHP" expanded="false" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -592,9 +599,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="288">
<caret line="16" column="42" selection-start-line="16" selection-start-column="42" selection-end-line="16" selection-end-column="42" />
<folding>
<element signature="e#6#16#0#PHP" expanded="false" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -636,10 +641,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="308">
<caret line="27" column="17" selection-start-line="27" selection-start-column="17" selection-end-line="27" selection-end-column="17" />
<folding>
<element signature="e#6#84#0#PHP" expanded="false" />
<element signature="e#114#145#0#PHP" expanded="false" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -647,9 +649,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="352">
<caret line="17" column="25" selection-start-line="17" selection-start-column="25" selection-end-line="17" selection-end-column="25" />
<folding>
<element signature="e#7#39#0#PHP" expanded="false" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -731,8 +731,8 @@
</entry>
<entry file="file://$PROJECT_DIR$/web/index.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="80">
<caret line="32" column="62" selection-start-line="32" selection-start-column="62" selection-end-line="32" selection-end-column="62" />
<state relative-caret-position="650">
<caret line="60" column="3" selection-start-line="60" selection-start-column="3" selection-end-line="60" selection-end-column="3" />
<folding>
<element signature="e#8#27#0#PHP" expanded="true" />
</folding>
@ -751,10 +751,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="252">
<caret line="27" column="17" selection-start-line="27" selection-start-column="17" selection-end-line="27" selection-end-column="17" />
<folding>
<element signature="e#6#84#0#PHP" expanded="false" />
<element signature="e#114#145#0#PHP" expanded="false" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -762,9 +759,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="288">
<caret line="17" column="25" selection-start-line="17" selection-start-column="25" selection-end-line="17" selection-end-column="25" />
<folding>
<element signature="e#7#39#0#PHP" expanded="false" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -772,9 +767,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="252">
<caret line="16" column="42" selection-start-line="16" selection-start-column="42" selection-end-line="16" selection-end-column="42" />
<folding>
<element signature="e#6#16#0#PHP" expanded="false" />
</folding>
<folding />
</state>
</provider>
</entry>

View File

@ -11,6 +11,11 @@ require '../vendor/autoload.php';
class App extends Application {
use ConfigTrait;
use Application\TwigTrait;
use Application\MonologTrait;
use Application\SwiftmailerTrait;
use Application\TranslationTrait;
use Application\UrlGeneratorTrait;
public $conf;

View File

@ -1,7 +1,7 @@
app:
debug: true
environment: dev
title: R. Eric Wheeler
title: R. Eric Wheeler | Resume
twig:
paths:
- views

View File

@ -1,39 +1,83 @@
{% extends app.config.twig.template %}
{% block title %}
{{ app.config.app.title | default('Resume') }}
{% endblock %}
{% block body %}
{{ dump(basics) }}
<div class="uk-grid" data-uk-grid-margin>
<div class="uk-width-1-1">
<h1 class="uk-heading-large">{{ app.config.app.title|default('Resume') }}</h1>
<p class="uk-text-large">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut.</p>
<h1 class="uk-heading-large" data-uk-sticky="{top:35}">
{% 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">{{ basics.label }}</small>
{% endif %}
</h1>
<hr />
{% if basics.summary is not empty %}
<p class="uk-text-large">
{{ basics.summary }}
</p>
{% endif %}
</div>
</div>
<div class="uk-grid" data-uk-grid-margin>
<div class="uk-width-medium-3-4">
<h2 id="getstarted">Get Started</h2>
<p>Lorem ipsum dolor sit amet, <code>consectetuer adipiscing</code> elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.</p>
{% set position = work|first %}
{{ dump(position) }}
<p class="resume-positions">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor.
Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.
</p>
</div>
<div class="uk-width-medium-1-4">
<div class="uk-panel uk-panel-box" data-uk-sticky="{top:35}">
<!--<ul class="uk-nav uk-nav-side" data-uk-scrollspy-nav="{closest:'li', smoothscroll:true}">
<li class="uk-nav-header">For Beginners</li>
<li class="uk-active"><a href="#getstarted">Get Started</a></li>
<li class=""><a href="#templatesettings">Template Settings</a></li>
<li class=""><a href="#customizer">Customizer</a></li>
<li class="uk-nav-header">For Developers</li>
<li class=""><a href="#customization">Customizaton</a></li>
<li class=""><a href="#troubleshooting">Troubleshooting</a></li>
<li class="uk-nav-divider"></li>
<li class=""><a href="#faq"><i class="uk-icon-info-circle uk-margin-small-right"></i>FAQ</a></li>
</ul>-->
<h2>Testing This Title</h2>
<div class="uk-panel-header"><h3 class="uk-panel-title">Contact<img class="uk-align-right uk-thumbnail uk-border-circle uk-thumbnail-mini uk-animation-scale-up uk-img-preserve" src="{{ basics.picture }}"/></h3></div>
<!--
--><ul class="uk-list uk-list-line uk-h5">
{% if basics.email is not empty %}
<li><a href="#" class="hidden-email">[Click to view email]</a></li>
{% endif %}
{% if basics.phone is not empty %}
<li>{{ basics.phone }}</li>
{% endif %}
{% if basics.website is not empty %}
<li><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>
<address>
{% set location = 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 %}
</address>
</li>
{% endif %}
</ul>
</div>
</div>
@ -42,25 +86,33 @@
<div id="offcanvas" class="uk-offcanvas">
<div class="uk-offcanvas-bar">
<ul class="uk-nav uk-nav-offcanvas">
<li>
<a href="layouts_frontpage.html">Frontpage</a>
</li>
<li>
<a href="layouts_portfolio.html">Portfolio</a>
</li>
<li>
<a href="layouts_blog.html">Blog</a>
</li>
<li class="uk-active">
<a href="layouts_documentation.html">Documentation</a>
</li>
<li>
<a href="layouts_contact.html">Contact</a>
</li>
<li>
<a href="layouts_login.html">Login</a>
</li>
<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 %}
<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 %}
{% endif %}
</address>
</ul>
</div>
{% endblock %}

View File

@ -37,7 +37,8 @@
"monolog/monolog": "^1.20",
"symfony/monolog-bridge": "^3.1",
"google/recaptcha": "^1.1",
"hassankhan/config": "^0.10.0"
"hassankhan/config": "^0.10.0",
"silex/web-profiler": "^2.0"
},
"require-dev": {
"symfony/debug": "~2.8|^3.0",
@ -46,7 +47,8 @@
"symfony/serializer": "~2.8|^3.0",
"symfony/var-dumper": "^3.1",
"symfony/console": "^3.1",
"texthtml/whoops-silex": "^1.0"
"texthtml/whoops-silex": "^1.0",
"symfony/debug-bundle": "^3.1"
},
"autoload": {
"psr-4": {

228
composer.lock generated
View File

@ -4,8 +4,8 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"hash": "bff507b41d23db26ac64f22c144abe58",
"content-hash": "fca3e43ff787d71afd6f495624a8bf9c",
"hash": "bc85e2d6fdda738f03a5e498d59ff477",
"content-hash": "d0a7cfefe30599f33ddbe16cd3cce33d",
"packages": [
{
"name": "google/recaptcha",
@ -661,6 +661,62 @@
],
"time": "2016-06-14 09:27:51"
},
{
"name": "silex/web-profiler",
"version": "v2.0.1",
"target-dir": "Silex/Provider",
"source": {
"type": "git",
"url": "https://github.com/silexphp/Silex-WebProfiler.git",
"reference": "605ebe9d16eb9597ab42603d1b4bec595ebf677d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/silexphp/Silex-WebProfiler/zipball/605ebe9d16eb9597ab42603d1b4bec595ebf677d",
"reference": "605ebe9d16eb9597ab42603d1b4bec595ebf677d",
"shasum": ""
},
"require": {
"silex/silex": "^2.0",
"symfony/stopwatch": "^2.8|^3.0",
"symfony/twig-bridge": "^2.8|^3.0",
"symfony/web-profiler-bundle": "^2.8|^3.0"
},
"conflict": {
"symfony/web-profiler-bundle": "3.1.0"
},
"require-dev": {
"symfony/browser-kit": "^2.8|^3.0",
"symfony/css-selector": "^2.8|^3.0",
"symfony/debug-bundle": "^2.8|^3.0",
"symfony/security": "^2.8|^3.0",
"symfony/security-bundle": "^2.8|^3.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.0.x-dev"
}
},
"autoload": {
"psr-0": {
"Silex\\Provider\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "A WebProfiler for Silex",
"homepage": "http://silex.sensiolabs.org/",
"time": "2016-06-15 07:44:40"
},
{
"name": "swiftmailer/swiftmailer",
"version": "v5.4.2",
@ -1703,6 +1759,55 @@
],
"time": "2016-06-29 05:41:56"
},
{
"name": "symfony/stopwatch",
"version": "v3.1.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/stopwatch.git",
"reference": "bb42806b12c5f89db4ebf64af6741afe6d8457e1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/stopwatch/zipball/bb42806b12c5f89db4ebf64af6741afe6d8457e1",
"reference": "bb42806b12c5f89db4ebf64af6741afe6d8457e1",
"shasum": ""
},
"require": {
"php": ">=5.5.9"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.1-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Component\\Stopwatch\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony Stopwatch Component",
"homepage": "https://symfony.com",
"time": "2016-06-29 05:41:56"
},
{
"name": "symfony/swiftmailer-bridge",
"version": "v2.8.8",
@ -1975,6 +2080,64 @@
"homepage": "https://symfony.com",
"time": "2016-06-29 05:41:56"
},
{
"name": "symfony/web-profiler-bundle",
"version": "v3.1.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/web-profiler-bundle.git",
"reference": "0043f504e8008542ee56e2fb52292cb6a3918c78"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/0043f504e8008542ee56e2fb52292cb6a3918c78",
"reference": "0043f504e8008542ee56e2fb52292cb6a3918c78",
"shasum": ""
},
"require": {
"php": ">=5.5.9",
"symfony/http-kernel": "~3.1",
"symfony/routing": "~2.8|~3.0",
"symfony/twig-bridge": "~2.8|~3.0"
},
"require-dev": {
"symfony/config": "~2.8|~3.0",
"symfony/console": "~2.8|~3.0",
"symfony/dependency-injection": "~2.8|~3.0",
"symfony/stopwatch": "~2.8|~3.0"
},
"type": "symfony-bundle",
"extra": {
"branch-alias": {
"dev-master": "3.1-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Bundle\\WebProfilerBundle\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony WebProfilerBundle",
"homepage": "https://symfony.com",
"time": "2016-06-29 05:41:56"
},
{
"name": "symfony/yaml",
"version": "v3.1.2",
@ -2351,6 +2514,67 @@
"homepage": "https://symfony.com",
"time": "2016-06-29 07:02:31"
},
{
"name": "symfony/debug-bundle",
"version": "v3.1.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/debug-bundle.git",
"reference": "995b9d7c1f3e1489cfe3379e18276e6032f99aa3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/debug-bundle/zipball/995b9d7c1f3e1489cfe3379e18276e6032f99aa3",
"reference": "995b9d7c1f3e1489cfe3379e18276e6032f99aa3",
"shasum": ""
},
"require": {
"php": ">=5.5.9",
"symfony/http-kernel": "~2.8|~3.0",
"symfony/twig-bridge": "~2.8|~3.0",
"symfony/var-dumper": "~2.8|~3.0"
},
"require-dev": {
"symfony/config": "~2.8|~3.0",
"symfony/dependency-injection": "~2.8|~3.0",
"symfony/web-profiler-bundle": "~2.8|~3.0"
},
"suggest": {
"symfony/config": "For service container configuration",
"symfony/dependency-injection": "For using as a service from the container"
},
"type": "symfony-bundle",
"extra": {
"branch-alias": {
"dev-master": "3.1-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Bundle\\DebugBundle\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony DebugBundle",
"homepage": "https://symfony.com",
"time": "2016-02-13 09:24:02"
},
{
"name": "symfony/phpunit-bridge",
"version": "v3.1.2",

12
dump.php Normal file
View File

@ -0,0 +1,12 @@
<?php
require_once 'vendor/autoload.php';
$decoder = new Webmozart\Json\JsonDecoder();
$json = $decoder->decodeFile('data/resume.json');
dump($json);

View File

@ -5,3 +5,4 @@
@base-body-font-size : 26px;
@base-heading-font-family : 'Eczar';
@base-body-line-height : 1.2em;
@thumbnail-mini-width : 100px;

View File

@ -1,38 +1,52 @@
<?php
use Knp\Snappy\Pdf;
use Sikofitt\Json\ResumeBuilder;
use Symfony\Component\HttpFoundation\Response;
use Webmozart\Json\FileNotFoundException;
use Webmozart\Json\ValidationFailedException;
use Silex\Provider\TwigServiceProvider;
use Symfony\Component\Config;
use Webmozart\Json\DecodingFailedException;
use WhoopsSilex\WhoopsServiceProvider;
use Symfony\Component\HttpKernel\DataCollector\DumpDataCollector;
require_once __DIR__ . '/../vendor/autoload.php';
require_once __DIR__ . '/../app/App.php';
define ('APP_ROOT', __DIR__ . '/../');
define ('SCHEMA_URL', 'https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json');
$app = new App();
$app['debug'] = true;
$app->register(new Sikofitt\Config\ConfigServiceProvider(), [
'config.path' => $app->getConfDirectory(),
]);
$app->register (new TwigServiceProvider(), [
'twig.path' => APP_ROOT . 'app/views',
'twig.path' => [APP_ROOT . 'app/views', APP_ROOT .'vendor/symfony/web-profiler-bundle/Resources/views/Profiler'],
]);
$app['conf'] = function ($app) {
};
$app->register (new WhoopsServiceProvider());
$app->register (new \Silex\Provider\AssetServiceProvider());
$app->register (new \Silex\Provider\MonologServiceProvider());
$app->register (new \Silex\Provider\VarDumperServiceProvider());
$app->register (new \Silex\Provider\HttpKernelServiceProvider());
$app->register(new \Silex\Provider\AssetServiceProvider());
$app->register(new \Silex\Provider\FormServiceProvider());
$app->register(new \Silex\Provider\HttpFragmentServiceProvider());
$app->register(new \Silex\Provider\ServiceControllerServiceProvider());
$app->register(new \Silex\Provider\RoutingServiceProvider());
$app->register (new \Silex\Provider\VarDumperServiceProvider(), array(
'var_dumper.dump_destination' => new \Symfony\Component\VarDumper\Cloner\VarCloner(),
));
$app->register(new \Silex\Provider\MonologServiceProvider(), array(
'monolog.logfile' => $app->getDataDirectory() . '/logs/' . (null !== $app->config('app.environment') ? $app->config('app.environment') . '.log' : 'dev.log'),
));
$app->register(new \Silex\Provider\SessionServiceProvider());
$app->register(new \Silex\Provider\WebProfilerServiceProvider(), array(
'profiler.cache_dir' => $app->getDataDirectory() .'/cache/profiler',
));
$app->extend('twig', function(\Twig_Environment $twig, $app) {
$twig->enableDebug();
return $twig;
});
$app->error(function (\Exception $e, $code) use($app) {
switch ($code) {
case 404:
@ -41,7 +55,6 @@ $app->error(function (\Exception $e, $code) use($app) {
default:
$message = $app['twig']->render('error500.html.twig');
}
return new Response($message, $code);
});
$app['json.decoder'] = function ($app) {
@ -54,16 +67,33 @@ $app['json.validator'] = function ($app) {
return new Webmozart\Json\JsonValidator();
};
$app->get ('/', function () use ($app) {
//$snappy = new Pdf($app->getRootDirectory() . '/vendor/bin/wkhtmltopdf-amd64');
//$snappy->setTemporaryFolder(sys_get_temp_dir() . '/pdf');
//$snappy->setOption( 'disable-external-links', true);
//$snappy->setOption('toc', false);
//$snappy->setOption('enable-internal-links', false);
//$html = $app['twig']->render('resume.html.twig');
//$snappy->generateFromHtml($html, $app->getRootDirectory() . '/test3.pdf');
return $app['twig']->render('resume.html.twig');
$app->get ('/', function () use ($app) {
$resumeData = $app['json.decoder']->decodeFile($app->getDataDirectory() .'/resume.json', $app->getDataDirectory() . '/resume.schema.json');
$basics = (isset($resumeData->basics) && count($resumeData->basics) > 0) ? $resumeData->basics : null;
$work = (isset($resumeData->work) && count($resumeData->work) > 0) ? $resumeData->work : null;
$volunteer = (isset($resumeData->volunteer) && count($resumeData->volunteer) > 0) ? $resumeData->volunteer : null;
$education = (isset($resumeData->education) && count($resumeData->education) > 0) ? $resumeData->education : null;
$awards = (isset($resumeData->awards) && count($resumeData->awards) > 0) ? $resumeData->awards : null;
$publications = (isset($resumeData->publications) && count($resumeData->publications) > 0) ? $resumeData->publications : null;
$skills = (isset($resumeData->skills) && count($resumeData->skills) > 0) ? $resumeData->skills : null;
$languages = (isset($resumeData->languages) && count($resumeData->languages) > 0) ? $resumeData->languages : null;
$interests = (isset($resumeData->interests) && count($resumeData->interests) > 0) ? $resumeData->interests : null;
$references = (isset($resumeData->references) && count($resumeData->references) > 0) ? $resumeData->references : null;
return $app['twig']->render('resume.html.twig', [
'basics' => $basics,
'work' => $work,
'volunteer' => $volunteer,
'education' => $education,
'awards' => $awards,
'publications' => $publications,
'skills' => $skills,
'languages' => $languages,
'interests' => $interests,
'references' => $references,
]);
});
$app->run ();