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"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="PublishConfigData" serverName="Symfony Dev"> <component name="PublishConfigData" serverName="Symfony Local" />
<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>
</project> </project>

View File

@ -2,10 +2,8 @@
<project version="4"> <project version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="cf1e275f-fbc1-41d4-a421-0f55447b6367" name="Default" comment=""> <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$/.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" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/web/index.php" afterPath="$PROJECT_DIR$/web/index.php" />
</list> </list>
<ignored path="resume.iws" /> <ignored path="resume.iws" />
@ -18,6 +16,7 @@
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" /> <option name="LAST_RESOLUTION" value="IGNORE" />
</component> </component>
<component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
<component name="CreatePatchCommitExecutor"> <component name="CreatePatchCommitExecutor">
<option name="PATCH_PATH" value="" /> <option name="PATCH_PATH" value="" />
</component> </component>
@ -30,8 +29,8 @@
<file leaf-file-name="index.php" pinned="false" current-in-tab="true"> <file leaf-file-name="index.php" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/web/index.php"> <entry file="file://$PROJECT_DIR$/web/index.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="80"> <state relative-caret-position="650">
<caret line="32" column="62" selection-start-line="32" selection-start-column="62" selection-end-line="32" selection-end-column="62" /> <caret line="60" column="3" selection-start-line="60" selection-start-column="3" selection-end-line="60" selection-end-column="3" />
<folding> <folding>
<element signature="e#8#27#0#PHP" expanded="true" /> <element signature="e#8#27#0#PHP" expanded="true" />
</folding> </folding>
@ -54,10 +53,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="252"> <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" /> <caret line="27" column="17" selection-start-line="27" selection-start-column="17" selection-end-line="27" selection-end-column="17" />
<folding> <folding />
<element signature="e#6#84#0#PHP" expanded="false" />
<element signature="e#114#145#0#PHP" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -67,9 +63,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="288"> <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" /> <caret line="17" column="25" selection-start-line="17" selection-start-column="25" selection-end-line="17" selection-end-column="25" />
<folding> <folding />
<element signature="e#7#39#0#PHP" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -79,9 +73,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="252"> <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" /> <caret line="16" column="42" selection-start-line="16" selection-start-column="42" selection-end-line="16" selection-end-column="42" />
<folding> <folding />
<element signature="e#6#16#0#PHP" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -163,7 +155,7 @@
<component name="PhpWorkspaceProjectConfiguration" backward_compatibility_performed="true" /> <component name="PhpWorkspaceProjectConfiguration" backward_compatibility_performed="true" />
<component name="ProjectFrameBounds"> <component name="ProjectFrameBounds">
<option name="x" value="134" /> <option name="x" value="134" />
<option name="y" value="24" /> <option name="y" value="30" />
<option name="width" value="1701" /> <option name="width" value="1701" />
<option name="height" value="1011" /> <option name="height" value="1011" />
</component> </component>
@ -192,6 +184,8 @@
<foldersAlwaysOnTop value="true" /> <foldersAlwaysOnTop value="true" />
</navigator> </navigator>
<panes> <panes>
<pane id="Scope" />
<pane id="Scratches" />
<pane id="ProjectPane"> <pane id="ProjectPane">
<subPane> <subPane>
<PATH> <PATH>
@ -316,8 +310,6 @@
</PATH> </PATH>
</subPane> </subPane>
</pane> </pane>
<pane id="Scratches" />
<pane id="Scope" />
</panes> </panes>
</component> </component>
<component name="PropertiesComponent"> <component name="PropertiesComponent">
@ -342,9 +334,6 @@
<configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug"> <configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug">
<method /> <method />
</configuration> </configuration>
<configuration default="true" type="NodeJSConfigurationType" factoryName="Node.js" path-to-node="project" working-dir="">
<method />
</configuration>
<configuration default="true" type="PHPUnitRunConfigurationType" factoryName="PHPUnit"> <configuration default="true" type="PHPUnitRunConfigurationType" factoryName="PHPUnit">
<TestRunner /> <TestRunner />
<method /> <method />
@ -372,19 +361,6 @@
<envs /> <envs />
<method /> <method />
</configuration> </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>
<component name="ShelveChangesManager" show_recycled="false"> <component name="ShelveChangesManager" show_recycled="false">
<option name="remove_strategy" value="false" /> <option name="remove_strategy" value="false" />
@ -405,35 +381,38 @@
<workItem from="1467649451288" duration="2331000" /> <workItem from="1467649451288" duration="2331000" />
<workItem from="1467656661331" duration="59000" /> <workItem from="1467656661331" duration="59000" />
<workItem from="1467656740400" duration="133000" /> <workItem from="1467656740400" duration="133000" />
<workItem from="1467728864296" duration="546000" />
</task> </task>
<servers /> <servers />
</component> </component>
<component name="TimeTrackingManager"> <component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="27275000" /> <option name="totallyTimeSpent" value="27821000" />
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="134" y="24" width="1701" height="1011" extended-state="0" /> <frame x="134" y="30" width="1701" height="1011" extended-state="0" />
<editor active="false" /> <editor active="true" />
<layout> <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="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 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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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" /> <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 /> <watches-manager />
</component> </component>
<component name="editorHistoryManager"> <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"> <entry file="file://$PROJECT_DIR$/web/index.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0"> <state relative-caret-position="0">
@ -498,10 +517,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="252"> <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" /> <caret line="27" column="17" selection-start-line="27" selection-start-column="17" selection-end-line="27" selection-end-column="17" />
<folding> <folding />
<element signature="e#6#84#0#PHP" expanded="false" />
<element signature="e#114#145#0#PHP" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -509,9 +525,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="288"> <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" /> <caret line="17" column="25" selection-start-line="17" selection-start-column="25" selection-end-line="17" selection-end-column="25" />
<folding> <folding />
<element signature="e#7#39#0#PHP" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -519,9 +533,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="252"> <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" /> <caret line="16" column="42" selection-start-line="16" selection-start-column="42" selection-end-line="16" selection-end-column="42" />
<folding> <folding />
<element signature="e#6#16#0#PHP" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -571,10 +583,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="252"> <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" /> <caret line="27" column="17" selection-start-line="27" selection-start-column="17" selection-end-line="27" selection-end-column="17" />
<folding> <folding />
<element signature="e#6#84#0#PHP" expanded="false" />
<element signature="e#114#145#0#PHP" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -582,9 +591,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="306"> <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" /> <caret line="17" column="25" selection-start-line="17" selection-start-column="25" selection-end-line="17" selection-end-column="25" />
<folding> <folding />
<element signature="e#7#39#0#PHP" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -592,9 +599,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="288"> <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" /> <caret line="16" column="42" selection-start-line="16" selection-start-column="42" selection-end-line="16" selection-end-column="42" />
<folding> <folding />
<element signature="e#6#16#0#PHP" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -636,10 +641,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="308"> <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" /> <caret line="27" column="17" selection-start-line="27" selection-start-column="17" selection-end-line="27" selection-end-column="17" />
<folding> <folding />
<element signature="e#6#84#0#PHP" expanded="false" />
<element signature="e#114#145#0#PHP" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -647,9 +649,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="352"> <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" /> <caret line="17" column="25" selection-start-line="17" selection-start-column="25" selection-end-line="17" selection-end-column="25" />
<folding> <folding />
<element signature="e#7#39#0#PHP" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -731,8 +731,8 @@
</entry> </entry>
<entry file="file://$PROJECT_DIR$/web/index.php"> <entry file="file://$PROJECT_DIR$/web/index.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="80"> <state relative-caret-position="650">
<caret line="32" column="62" selection-start-line="32" selection-start-column="62" selection-end-line="32" selection-end-column="62" /> <caret line="60" column="3" selection-start-line="60" selection-start-column="3" selection-end-line="60" selection-end-column="3" />
<folding> <folding>
<element signature="e#8#27#0#PHP" expanded="true" /> <element signature="e#8#27#0#PHP" expanded="true" />
</folding> </folding>
@ -751,10 +751,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="252"> <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" /> <caret line="27" column="17" selection-start-line="27" selection-start-column="17" selection-end-line="27" selection-end-column="17" />
<folding> <folding />
<element signature="e#6#84#0#PHP" expanded="false" />
<element signature="e#114#145#0#PHP" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -762,9 +759,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="288"> <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" /> <caret line="17" column="25" selection-start-line="17" selection-start-column="25" selection-end-line="17" selection-end-column="25" />
<folding> <folding />
<element signature="e#7#39#0#PHP" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -772,9 +767,7 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="252"> <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" /> <caret line="16" column="42" selection-start-line="16" selection-start-column="42" selection-end-line="16" selection-end-column="42" />
<folding> <folding />
<element signature="e#6#16#0#PHP" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>

View File

@ -9,65 +9,70 @@ require '../vendor/autoload.php';
* Class App * Class App
*/ */
class App extends Application { class App extends Application {
use ConfigTrait;
public $conf; use ConfigTrait;
use Application\TwigTrait;
use Application\MonologTrait;
use Application\SwiftmailerTrait;
use Application\TranslationTrait;
use Application\UrlGeneratorTrait;
/** public $conf;
* Returns the application directory.
*
* @return string
* The main application directory.
*/
public function getAppDirectory() {
$r = new ReflectionClass($this);
return dirname($r->getFileName());
}
/** /**
* Returns the root directory of the application. * Returns the application directory.
* *
* @return string * @return string
* The root directory of the application. * The main application directory.
*/ */
public function getRootDirectory() { public function getAppDirectory() {
return dirname($this->getAppDirectory()); $r = new ReflectionClass($this);
} return dirname($r->getFileName());
}
/** /**
* @return string * Returns the root directory of the application.
*/ *
public function getConfDirectory() { * @return string
return $this->getAppDirectory() . '/config'; * The root directory of the application.
} */
public function getRootDirectory() {
return dirname($this->getAppDirectory());
}
/** /**
* @return string * @return string
*/ */
public function getDataDirectory() { public function getConfDirectory() {
return $this->getRootDirectory() . '/data'; return $this->getAppDirectory() . '/config';
} }
/** /**
* @return string * @return string
*/ */
public function getResumeJson() { public function getDataDirectory() {
return $this->getDataDirectory() . '/resume.json'; return $this->getRootDirectory() . '/data';
} }
/** /**
* @return string * @return string
*/ */
public function getResumeSchema() { public function getResumeJson() {
return $this->getDataDirectory() . '/resume.schema.json'; return $this->getDataDirectory() . '/resume.json';
} }
/** /**
* @return \Noodlehaus\Config * @return string
*/ */
public function conf2() { public function getResumeSchema() {
return Noodlehaus\Config::load($this->getConfDirectory()); return $this->getDataDirectory() . '/resume.schema.json';
} }
/**
* @return \Noodlehaus\Config
*/
public function conf2() {
return Noodlehaus\Config::load($this->getConfDirectory());
}
} }

View File

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

View File

@ -1,66 +1,118 @@
{% extends app.config.twig.template %} {% extends app.config.twig.template %}
{% block title %} {% block title %}
{{ app.config.app.title | default('Resume') }} {{ app.config.app.title | default('Resume') }}
{% endblock %} {% endblock %}
{% block body %} {% block body %}
<div class="uk-grid" data-uk-grid-margin> {{ dump(basics) }}
<div class="uk-width-1-1"> <div class="uk-grid" data-uk-grid-margin>
<h1 class="uk-heading-large">{{ app.config.app.title|default('Resume') }}</h1> <div class="uk-width-1-1">
<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>
</div>
<div class="uk-grid" data-uk-grid-margin> <div class="uk-grid" data-uk-grid-margin>
<div class="uk-width-medium-3-4"> <div class="uk-width-medium-3-4">
{% set position = work|first %}
<h2 id="getstarted">Get Started</h2> {{ dump(position) }}
<p class="resume-positions">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor.
<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> 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}">
<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>
</div> </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>
</div> </div>
</div>
</div>
<div id="offcanvas" class="uk-offcanvas"> <div id="offcanvas" class="uk-offcanvas">
<div class="uk-offcanvas-bar"> <div class="uk-offcanvas-bar">
<ul class="uk-nav uk-nav-offcanvas"> <ul class="uk-list uk-list-line">
<li> {% if basics.email is not empty %}
<a href="layouts_frontpage.html">Frontpage</a> <li>{{ basics.email }}</li>
</li> {% endif %}
<li> {% if basics.phone is not empty %}
<a href="layouts_portfolio.html">Portfolio</a> <li>{{ basics.phone }}</li>
</li> {% endif %}
<li> {% if basics.location|length > 0 and basics.location is not empty %}
<a href="layouts_blog.html">Blog</a> <address>
</li> {% for location in basics.location %}
<li class="uk-active"> {% if location.address is not empty %}
<a href="layouts_documentation.html">Documentation</a> {{ location.address }}<br />
</li> {% endif %}
<li> {% if location.city is not empty %}
<a href="layouts_contact.html">Contact</a> {{ location.city }}
</li> {% if location.postalCode is not empty %}
<li> &nbsp;{{ location.postalCode }}
<a href="layouts_login.html">Login</a> {% endif %}
</li> {% if location.countryCode is not empty %}
</ul> &nbsp;{{ location.countryCode }}
</div> {% endif %}<br />
{% endif %}
{% endfor %}
{% endif %}
</address>
</ul>
</div>
{% endblock %} {% endblock %}

View File

@ -37,7 +37,8 @@
"monolog/monolog": "^1.20", "monolog/monolog": "^1.20",
"symfony/monolog-bridge": "^3.1", "symfony/monolog-bridge": "^3.1",
"google/recaptcha": "^1.1", "google/recaptcha": "^1.1",
"hassankhan/config": "^0.10.0" "hassankhan/config": "^0.10.0",
"silex/web-profiler": "^2.0"
}, },
"require-dev": { "require-dev": {
"symfony/debug": "~2.8|^3.0", "symfony/debug": "~2.8|^3.0",
@ -46,7 +47,8 @@
"symfony/serializer": "~2.8|^3.0", "symfony/serializer": "~2.8|^3.0",
"symfony/var-dumper": "^3.1", "symfony/var-dumper": "^3.1",
"symfony/console": "^3.1", "symfony/console": "^3.1",
"texthtml/whoops-silex": "^1.0" "texthtml/whoops-silex": "^1.0",
"symfony/debug-bundle": "^3.1"
}, },
"autoload": { "autoload": {
"psr-4": { "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", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"hash": "bff507b41d23db26ac64f22c144abe58", "hash": "bc85e2d6fdda738f03a5e498d59ff477",
"content-hash": "fca3e43ff787d71afd6f495624a8bf9c", "content-hash": "d0a7cfefe30599f33ddbe16cd3cce33d",
"packages": [ "packages": [
{ {
"name": "google/recaptcha", "name": "google/recaptcha",
@ -661,6 +661,62 @@
], ],
"time": "2016-06-14 09:27:51" "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", "name": "swiftmailer/swiftmailer",
"version": "v5.4.2", "version": "v5.4.2",
@ -1703,6 +1759,55 @@
], ],
"time": "2016-06-29 05:41:56" "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", "name": "symfony/swiftmailer-bridge",
"version": "v2.8.8", "version": "v2.8.8",
@ -1975,6 +2080,64 @@
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2016-06-29 05:41:56" "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", "name": "symfony/yaml",
"version": "v3.1.2", "version": "v3.1.2",
@ -2351,6 +2514,67 @@
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2016-06-29 07:02:31" "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", "name": "symfony/phpunit-bridge",
"version": "v3.1.2", "version": "v3.1.2",

View File

@ -1,116 +1,116 @@
{ {
"basics": { "basics": {
"name": "R. Eric Wheeler", "name": "R. Eric Wheeler",
"label": "Developer / Systems", "label": "Developer / Systems",
"picture": "http://rewiv.com/storage/me.png", "picture": "http://rewiv.com/storage/me.png",
"email": "eric@ericwheeler.net", "email": "eric@ericwheeler.net",
"phone": "", "phone": "",
"website": "https://code.reric.me", "website": "https://code.reric.me",
"summary": "", "summary": "",
"location": { "location": {
"address": "", "address": "",
"postalCode": "CA 94578", "postalCode": "CA 94578",
"city": "San Leandro", "city": "San Leandro",
"countryCode": "US", "countryCode": "US",
"region": "California" "region": "California"
},
"profiles": [
{
"network": "Twitter",
"username": "sikofitt",
"url": ""
},
{
"network": "Github",
"username": "sikofitt",
"url": ""
},
{
"network": "Private Git",
"username": "sikofitt",
"url": "https://repos.bgemi.net/u/sikofitt"
},
{
"network": "linkedin",
"username": "reric",
"url": "https://www.linkedin.com/in/reric"
}
]
}, },
"profiles": [ "work": [
{ {
"network": "Twitter", "company": "Stanford University",
"username": "sikofitt", "position": "Developer / Systems Administrator",
"url": "" "website": "https://ee.stanford.edu",
}, "startDate": "2007-05-27",
{ "endDate": "2016-07-02",
"network": "Github", "summary": "",
"username": "sikofitt", "highlights": [
"url": "" "Build an algorithm for artist to detect if their music was violating copy right infringement laws",
}, "Successfully won Techcrunch Disrupt",
{ "Optimized an algorithm that holds the current world record for Weisman Scores"
"network": "Private Git", ]
"username": "sikofitt", },
"url": "https://repos.bgemi.net/u/sikofitt" {
}, "company": "Searchathlon INC.",
{ "position": "Web Developer / Linux System Administration",
"network": "linkedin", "website": "http://searchathlon.com",
"username": "reric", "startDate": "2005-01-01",
"url": "https://www.linkedin.com/in/reric" "endDate": "2006-01-01",
} "summary": "",
"highlights": []
}
],
"volunteer": [],
"education": [],
"awards": [],
"publications": [],
"skills": [
{
"name": "Web Development / Design",
"level": "",
"keywords": [
"HTML5",
"CSS3",
"Javascript",
"jQuery",
"NPM",
"Bower",
"Grunt",
"Let's Encrypt"
]
},
{
"name": "PHP",
"level": "",
"keywords": [
"PHP5",
"PHP7",
"Symfony 2",
"Symfony 3",
"OOP",
"Silex",
"Slim",
"Doctrine",
"Composer"
]
}
],
"languages": [],
"interests": [
{
"name": "Computers",
"keywords": [
"Hardware",
"Programming",
"Design"
]
}
],
"references": [
{
"name": "Erlich Bachman",
"reference": "It is my pleasure to recommend Richard, his performance working as a consultant for Main St. Company proved that he will be a valuable addition to any company."
}
] ]
},
"work": [
{
"company": "Stanford University",
"position": "Developer / Systems Administrator",
"website": "https://ee.stanford.edu",
"startDate": "2007-05-27",
"endDate": "2016-07-02",
"summary": "",
"highlights": [
"Build an algorithm for artist to detect if their music was violating copy right infringement laws",
"Successfully won Techcrunch Disrupt",
"Optimized an algorithm that holds the current world record for Weisman Scores"
]
},
{
"company": "Searchathlon INC.",
"position": "Web Developer / Linux System Administration",
"website": "http://searchathlon.com",
"startDate": "2005-01-01",
"endDate": "2006-01-01",
"summary": "",
"highlights": []
}
],
"volunteer": [],
"education": [],
"awards": [],
"publications": [],
"skills": [
{
"name": "Web Development / Design",
"level": "",
"keywords": [
"HTML5",
"CSS3",
"Javascript",
"jQuery",
"NPM",
"Bower",
"Grunt",
"Let's Encrypt"
]
},
{
"name": "PHP",
"level": "",
"keywords": [
"PHP5",
"PHP7",
"Symfony 2",
"Symfony 3",
"OOP",
"Silex",
"Slim",
"Doctrine",
"Composer"
]
}
],
"languages": [],
"interests": [
{
"name": "Computers",
"keywords": [
"Hardware",
"Programming",
"Design"
]
}
],
"references": [
{
"name": "Erlich Bachman",
"reference": "It is my pleasure to recommend Richard, his performance working as a consultant for Main St. Company proved that he will be a valuable addition to any company."
}
]
} }

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

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

View File

@ -1,38 +1,52 @@
<?php <?php
use Knp\Snappy\Pdf;
use Sikofitt\Json\ResumeBuilder; use Sikofitt\Json\ResumeBuilder;
use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Response;
use Webmozart\Json\FileNotFoundException;
use Webmozart\Json\ValidationFailedException;
use Silex\Provider\TwigServiceProvider; use Silex\Provider\TwigServiceProvider;
use Symfony\Component\Config;
use Webmozart\Json\DecodingFailedException;
use WhoopsSilex\WhoopsServiceProvider; use WhoopsSilex\WhoopsServiceProvider;
use Symfony\Component\HttpKernel\DataCollector\DumpDataCollector;
require_once __DIR__ . '/../vendor/autoload.php'; require_once __DIR__ . '/../vendor/autoload.php';
require_once __DIR__ . '/../app/App.php'; require_once __DIR__ . '/../app/App.php';
define ('APP_ROOT', __DIR__ . '/../'); define ('APP_ROOT', __DIR__ . '/../');
define ('SCHEMA_URL', 'https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json'); define ('SCHEMA_URL', 'https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json');
$app = new App(); $app = new App();
$app['debug'] = true;
$app->register(new Sikofitt\Config\ConfigServiceProvider(), [ $app->register(new Sikofitt\Config\ConfigServiceProvider(), [
'config.path' => $app->getConfDirectory(), 'config.path' => $app->getConfDirectory(),
]); ]);
$app->register (new TwigServiceProvider(), [ $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 WhoopsServiceProvider());
$app->register (new \Silex\Provider\AssetServiceProvider()); $app->register (new \Silex\Provider\AssetServiceProvider());
$app->register (new \Silex\Provider\MonologServiceProvider()); $app->register (new \Silex\Provider\MonologServiceProvider());
$app->register (new \Silex\Provider\VarDumperServiceProvider());
$app->register (new \Silex\Provider\HttpKernelServiceProvider()); $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) { $app->error(function (\Exception $e, $code) use($app) {
switch ($code) { switch ($code) {
case 404: case 404:
@ -41,7 +55,6 @@ $app->error(function (\Exception $e, $code) use($app) {
default: default:
$message = $app['twig']->render('error500.html.twig'); $message = $app['twig']->render('error500.html.twig');
} }
return new Response($message, $code); return new Response($message, $code);
}); });
$app['json.decoder'] = function ($app) { $app['json.decoder'] = function ($app) {
@ -54,16 +67,33 @@ $app['json.validator'] = function ($app) {
return new Webmozart\Json\JsonValidator(); return new Webmozart\Json\JsonValidator();
}; };
$app->get ('/', function () use ($app) {
//$snappy = new Pdf($app->getRootDirectory() . '/vendor/bin/wkhtmltopdf-amd64'); $app->get ('/', function () use ($app) {
//$snappy->setTemporaryFolder(sys_get_temp_dir() . '/pdf'); $resumeData = $app['json.decoder']->decodeFile($app->getDataDirectory() .'/resume.json', $app->getDataDirectory() . '/resume.schema.json');
//$snappy->setOption( 'disable-external-links', true); $basics = (isset($resumeData->basics) && count($resumeData->basics) > 0) ? $resumeData->basics : null;
//$snappy->setOption('toc', false); $work = (isset($resumeData->work) && count($resumeData->work) > 0) ? $resumeData->work : null;
//$snappy->setOption('enable-internal-links', false); $volunteer = (isset($resumeData->volunteer) && count($resumeData->volunteer) > 0) ? $resumeData->volunteer : null;
//$html = $app['twig']->render('resume.html.twig'); $education = (isset($resumeData->education) && count($resumeData->education) > 0) ? $resumeData->education : null;
//$snappy->generateFromHtml($html, $app->getRootDirectory() . '/test3.pdf'); $awards = (isset($resumeData->awards) && count($resumeData->awards) > 0) ? $resumeData->awards : null;
return $app['twig']->render('resume.html.twig'); $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 (); $app->run ();