reproduced previous static website
This commit is contained in:
parent
0a83f8f317
commit
e3f7522cf1
26 changed files with 718 additions and 127 deletions
|
@ -1,9 +1,22 @@
|
||||||
// Colors
|
// Colors
|
||||||
// $primary: #662c91;
|
$primary: #e48663;
|
||||||
// $secondary: #ee6c4d;
|
$secondary: #00b0b0;
|
||||||
// $success: #3f784c;
|
$success: #99c24d;
|
||||||
// $info: #3f84e5;
|
$info: #a67db8;
|
||||||
// $warning: #ffec51;
|
$warning: #f4d35e;
|
||||||
|
|
||||||
|
$white: #fff;
|
||||||
|
$gray-100: #e8e8e8;
|
||||||
|
$gray-200: #cfcfcf;
|
||||||
|
$gray-300: #b5b5b5;
|
||||||
|
$gray-400: #9c9c9c;
|
||||||
|
$gray-500: #828282;
|
||||||
|
$gray-600: #696969;
|
||||||
|
$gray-700: #4f4f4f;
|
||||||
|
$gray-800: #363636;
|
||||||
|
$gray-900: #242424;
|
||||||
|
$black: #000;
|
||||||
|
|
||||||
$light: $gray-200;
|
$light: $gray-200;
|
||||||
$dark: $gray-800;
|
$dark: $gray-800;
|
||||||
|
|
||||||
|
@ -17,7 +30,8 @@ $custom-colors: (
|
||||||
"danger": $danger,
|
"danger": $danger,
|
||||||
"light": $light,
|
"light": $light,
|
||||||
"dark": $dark,
|
"dark": $dark,
|
||||||
"gray": $gray-500,
|
"gray": $gray-600,
|
||||||
|
"gray-dark": $gray-800,
|
||||||
);
|
);
|
||||||
|
|
||||||
// $custom-colors: (
|
// $custom-colors: (
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
// @import "../node_modules/bootstrap/scss/button-group";
|
// @import "../node_modules/bootstrap/scss/button-group";
|
||||||
@import "../node_modules/bootstrap/scss/nav";
|
@import "../node_modules/bootstrap/scss/nav";
|
||||||
@import "../node_modules/bootstrap/scss/navbar";
|
@import "../node_modules/bootstrap/scss/navbar";
|
||||||
@import "../node_modules/bootstrap/scss/card";
|
// @import "../node_modules/bootstrap/scss/card";
|
||||||
// @import "../node_modules/bootstrap/scss/accordion";
|
// @import "../node_modules/bootstrap/scss/accordion";
|
||||||
// @import "../node_modules/bootstrap/scss/breadcrumb";
|
// @import "../node_modules/bootstrap/scss/breadcrumb";
|
||||||
// @import "../node_modules/bootstrap/scss/pagination";
|
// @import "../node_modules/bootstrap/scss/pagination";
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
/* Fontsource Fira Mono */
|
/* Fontsource Fira Mono */
|
||||||
@import "../node_modules/@fontsource/fira-mono/400.css"; /* normal | normal */
|
@import "../node_modules/@fontsource/fira-mono/400.css"; /* normal | normal */
|
||||||
// @import "../node_modules/@fontsource/fira-mono/500.css"; /* heavier normal? */
|
// @import "../node_modules/@fontsource/fira-mono/500.css"; /* heavier normal? */
|
||||||
@import "../node_modules/@fontsource/fira-mono/700.css"; /* bold | normal */
|
// @import "../node_modules/@fontsource/fira-mono/700.css"; /* bold | normal */
|
||||||
|
|
||||||
/* Fontsource Fira Code */
|
/* Fontsource Fira Code */
|
||||||
@import "../node_modules/@fontsource/fira-code/300.css"; /* light | normal */
|
@import "../node_modules/@fontsource/fira-code/300.css"; /* light | normal */
|
||||||
|
|
45
assets/css/_nav-bar-help.scss
Normal file
45
assets/css/_nav-bar-help.scss
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
.navbar-expand-lg {
|
||||||
|
.nav-item {
|
||||||
|
margin-left: 2px;
|
||||||
|
.nav-link {
|
||||||
|
padding: 0 0 0 6px;
|
||||||
|
margin: 8px 0 8px 0;
|
||||||
|
border-left: 6px transparent solid;
|
||||||
|
&.active {
|
||||||
|
border-left: 6px $secondary solid;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&:hover {
|
||||||
|
.nav-link {
|
||||||
|
color: $primary !important;
|
||||||
|
border-left: 6px $secondary solid;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media-breakpoint-up(lg) {
|
||||||
|
.navbar-expand-lg {
|
||||||
|
.nav-item {
|
||||||
|
margin-left: 0;
|
||||||
|
.nav-link {
|
||||||
|
padding: 0 0 6px 0;
|
||||||
|
margin: 0 12px 0 12px;
|
||||||
|
border-left: 0;
|
||||||
|
border-top: 6px transparent solid;
|
||||||
|
border-bottom: 6px transparent solid;
|
||||||
|
&.active {
|
||||||
|
border-left: 0;
|
||||||
|
border-bottom: 6px $secondary solid;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&:hover {
|
||||||
|
.nav-link {
|
||||||
|
color: $primary !important;
|
||||||
|
border-left: 0;
|
||||||
|
border-bottom: 6px $secondary solid;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -13,6 +13,64 @@
|
||||||
/* Navbar toggler icon override */
|
/* Navbar toggler icon override */
|
||||||
@import "nav-burger";
|
@import "nav-burger";
|
||||||
|
|
||||||
|
/* Navbar custom styling */
|
||||||
|
@import "nav-bar-help";
|
||||||
|
|
||||||
|
/* main */
|
||||||
|
html,
|
||||||
|
body {
|
||||||
|
color: $gray-100;
|
||||||
|
background-color: $gray-800;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.border-gray-900 {
|
||||||
|
border-color: $gray-900 !important;
|
||||||
|
}
|
||||||
|
.text-gray-300 {
|
||||||
|
color: $gray-300;
|
||||||
|
}
|
||||||
|
.border-10 {
|
||||||
|
border-width: 10px !important;
|
||||||
|
}
|
||||||
|
.border-20 {
|
||||||
|
border-width: 20px !important;
|
||||||
|
}
|
||||||
|
.fw-600 {
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* social icons */
|
||||||
|
#social-icons .link-light:hover {
|
||||||
|
color: $primary;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* resume separators */
|
||||||
|
.separator {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
text-align: center;
|
||||||
|
color: $gray-300;
|
||||||
|
font-family: $font-family-monospace;
|
||||||
|
font-size: smaller;
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.separator::before,
|
||||||
|
.separator::after {
|
||||||
|
content: "";
|
||||||
|
flex: 1;
|
||||||
|
border-bottom: 1px solid $secondary;
|
||||||
|
}
|
||||||
|
|
||||||
|
.separator:not(:empty)::before {
|
||||||
|
margin-right: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.separator:not(:empty)::after {
|
||||||
|
margin-left: 0.33em;
|
||||||
|
}
|
||||||
|
|
||||||
/* extra */
|
/* extra */
|
||||||
.was-validated .no-valid-style .form-check-input:valid,
|
.was-validated .no-valid-style .form-check-input:valid,
|
||||||
.form-check-input.is-valid {
|
.form-check-input.is-valid {
|
||||||
|
|
|
@ -7,6 +7,24 @@ import "../css/app.scss";
|
||||||
// navbar brand icon
|
// navbar brand icon
|
||||||
import "../node_modules/@mdi/svg/svg/desktop-classic.svg"; // brand
|
import "../node_modules/@mdi/svg/svg/desktop-classic.svg"; // brand
|
||||||
// other:///
|
// other:///
|
||||||
|
import "../node_modules/@mdi/svg/svg/home.svg";
|
||||||
|
import "../node_modules/@mdi/svg/svg/account.svg";
|
||||||
|
import "../node_modules/@mdi/svg/svg/briefcase-account.svg";
|
||||||
|
import "../node_modules/@mdi/svg/svg/zip-disk.svg";
|
||||||
|
import "../node_modules/@mdi/svg/svg/typewriter.svg";
|
||||||
|
import "../node_modules/@mdi/svg/svg/rss.svg";
|
||||||
|
import "../node_modules/@mdi/svg/svg/account-hard-hat.svg";
|
||||||
|
// social
|
||||||
|
import "../node_modules/@mdi/svg/svg/linkedin.svg";
|
||||||
|
import "../node_modules/@mdi/svg/svg/github.svg";
|
||||||
|
import "../node_modules/@mdi/svg/svg/key-variant.svg";
|
||||||
|
import "../raw/gitea.svg";
|
||||||
|
import "../node_modules/@mdi/svg/svg/goodreads.svg";
|
||||||
|
import "../node_modules/@mdi/svg/svg/twitter.svg";
|
||||||
|
import "../node_modules/@mdi/svg/svg/facebook.svg";
|
||||||
|
import "../node_modules/@mdi/svg/svg/instagram.svg";
|
||||||
|
import "../node_modules/@mdi/svg/svg/steam.svg";
|
||||||
|
import "../node_modules/@mdi/svg/svg/discord.svg";
|
||||||
|
|
||||||
// webpack automatically bundles all modules in your
|
// webpack automatically bundles all modules in your
|
||||||
// entry points. Those entry points can be configured
|
// entry points. Those entry points can be configured
|
||||||
|
@ -23,6 +41,7 @@ import topbar from "topbar";
|
||||||
import { LiveSocket } from "phoenix_live_view";
|
import { LiveSocket } from "phoenix_live_view";
|
||||||
|
|
||||||
// // Bootstrap v5 js imports
|
// // Bootstrap v5 js imports
|
||||||
|
// import "bootstrap/js/dist/alert";
|
||||||
import "bootstrap/js/dist/collapse";
|
import "bootstrap/js/dist/collapse";
|
||||||
// import "bootstrap/js/dist/dropdown";
|
// import "bootstrap/js/dist/dropdown";
|
||||||
// Bootstrap helpers
|
// Bootstrap helpers
|
||||||
|
|
BIN
assets/raw/cat-roof.jpg
Normal file
BIN
assets/raw/cat-roof.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.4 MiB |
39
assets/raw/gitea.svg
Normal file
39
assets/raw/gitea.svg
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1"
|
||||||
|
id="svg8" inkscape:export-filename="" inkscape:export-xdpi="48.000004" inkscape:export-ydpi="48.000004" inkscape:version="0.92.1 r15371" sodipodi:docname="logo.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512"
|
||||||
|
style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
||||||
|
<style type="text/css">
|
||||||
|
.st0{fill:#FFFFFF;}
|
||||||
|
.st1{fill:none;stroke:#000000;stroke-width:2.68;}
|
||||||
|
</style>
|
||||||
|
<sodipodi:namedview bordercolor="#666666" borderopacity="1.0" id="base" inkscape:current-layer="layer2" inkscape:cx="418.13805" inkscape:cy="177.57445" inkscape:document-units="mm" inkscape:measure-end="290.267,236.527" inkscape:measure-start="283.373,243.952" inkscape:pagecheckerboard="false" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-height="1137" inkscape:window-maximized="1" inkscape:window-width="1920" inkscape:window-x="1912" inkscape:window-y="-8" inkscape:zoom="0.70710678" pagecolor="#ffffff" showgrid="false" showguides="false" units="px" width="256px">
|
||||||
|
<sodipodi:guide id="guide3699" inkscape:locked="false" orientation="0,512" position="0,0"></sodipodi:guide>
|
||||||
|
<sodipodi:guide id="guide3701" inkscape:locked="false" orientation="-512,0" position="135.46667,0"></sodipodi:guide>
|
||||||
|
<sodipodi:guide id="guide3703" inkscape:locked="false" orientation="0,-512" position="135.46667,135.46667"></sodipodi:guide>
|
||||||
|
<sodipodi:guide id="guide3705" inkscape:locked="false" orientation="512,0" position="0,135.46667"></sodipodi:guide>
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<g id="layer2" inkscape:groupmode="layer" inkscape:label="Layer 2">
|
||||||
|
<path id="rect4599" class="st0" d="M258.2,225.4c5-10.3,17.4-14.6,27.7-9.6"/>
|
||||||
|
<g>
|
||||||
|
<path d="M476.3,129c-77.3,4.1-123.1,6.2-162.4,6.5v87.4l-12.3-6.1l-0.1-81.3c-45.1,0-84.8-2.4-160.1-6.5
|
||||||
|
c-9.4-0.1-22.6-1.9-36.7-1.9C68.6,127,20.3,152.8,23,217.4c4.2,101,96.2,110.4,133,111.2c4,18.9,47.3,84.3,79.4,87.7h140.4
|
||||||
|
C460,410.1,523,130,476.3,129z M58.1,218.9c-3.6-28,9-57.3,56.1-56.1c5.1,51.8,13.4,82,30.3,128.3
|
||||||
|
C101.4,285.4,64.8,271.4,58.1,218.9z M376.4,282.8l-39.3,80.9c-5,10.3-17.4,14.6-27.7,9.6L228.5,334c-10.3-5-14.6-17.4-9.6-27.7
|
||||||
|
l39.3-80.9l27.7-9.6l80.9,39.3C377.1,260.1,381.4,272.5,376.4,282.8z"/>
|
||||||
|
</g>
|
||||||
|
<path id="path4525" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" class="st0" d="M301.5,135.5l0.1,81.3"/>
|
||||||
|
</g>
|
||||||
|
<g id="layer3" inkscape:groupmode="layer" inkscape:label="Layer 3">
|
||||||
|
<g id="g4539">
|
||||||
|
<circle id="path4606" cx="289.8" cy="257.5" r="13.1"/>
|
||||||
|
<circle id="path4606-3" cx="261.6" cy="316" r="13.1"/>
|
||||||
|
<circle id="path4606-1" cx="308" cy="336.8" r="13.1"/>
|
||||||
|
|
||||||
|
<rect id="rect4629-8" x="231" y="266.2" transform="matrix(0.4388 -0.8986 0.8986 0.4388 -85.169 406.1544)" width="103" height="10.1"/>
|
||||||
|
<path id="path4514" inkscape:connector-curvature="0" sodipodi:nodetypes="cc" class="st1" d="M289.4,257.4
|
||||||
|
c49,24.2,49.2,15.5,18.5,79"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.3 KiB |
283
assets/static/DF185CEE29A3D443_public_key.asc
Normal file
283
assets/static/DF185CEE29A3D443_public_key.asc
Normal file
|
@ -0,0 +1,283 @@
|
||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
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
|
||||||
|
BFTJtnukJGmoayyZKd8YXO4po9RDBQJbooCLAhsDBQsJCAcCBhUKCQgLAgQWAgMB
|
||||||
|
Ah4BAheAAAoJEN8YXO4po9RDeO4P/2ZZHSfw4iCryp//6m79DaRmX5DsaDdT+Ben
|
||||||
|
Vk2ARP9OKsLF0yw0b+jLwyXwzZSPT3oNNoW695GitBs2SLwpgG+tKKoOQUA9tGCU
|
||||||
|
km1ukSCJMbytMZKdS3ho9EsEQ4WHcKjfrPDbxXbk94jwr9XANaH6UADBZv5C02FI
|
||||||
|
TnWPsUmVpVwR9TM9pT4voE7teJgudli7lN3dm03OWAy4clIQyPKtCWUwPz9r4+Pi
|
||||||
|
yssw80uCmFAZqDC4Ap0xqGOPp0nDSu8nFYg0dPTLrm6m5+MQWQ5wnBmwG2yWENN5
|
||||||
|
5ajs2PsHueXj9w62bG7lH7rvipQSH34tlc2CQhoQFDZpxPueEKwuMotcUhzTM36L
|
||||||
|
q1SxSvUyZ2s3+X+RRxNdVDpyhuHDKV75jqbfouXDzvUQlo88d7OHvUFZPHI0uL9a
|
||||||
|
qSm3Rp5eri+i9lFrgActvw0zSvjrGwN8hHZ5Rv3EyopMzp3oXC3s3AQ+cAK27b1z
|
||||||
|
4fn4a3FfCLSS2ngj0LIogLUZ/RYv3UZqIq3xi7zE5G/PzspByuzZgVRL+LWDfrEw
|
||||||
|
T90FZYf9JZZ+WeBfDw14sWSRxqGyw/GvzYTQT5KQ6WXhjAMx78VYO1G+LrTDTT17
|
||||||
|
L8DdSXY2WoOlm/vslffTl98vpStSkAPmfLcVmyMGu9th7KhgaprScdKxaa/Hyg2a
|
||||||
|
M/yAWtTPtDVBZGFtIFBpb250ZWsgKE5FVyBNQUlOIDIwMTgpIDxkYW1la3Bpb250
|
||||||
|
ZWtAZ21haWwuY29tPokCTgQTAQoAOBYhBFTJtnukJGmoayyZKd8YXO4po9RDBQJb
|
||||||
|
ooC6AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEN8YXO4po9RDQgYQALsU
|
||||||
|
El9PUdIT0+u5RC5A1iepYGcs0yM0ac1Qp5rRPM2jvfBmqE/0obIF9clx3IY+Rfyv
|
||||||
|
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
|
||||||
|
x+RdIZL07hf4loFu
|
||||||
|
=dyLD
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
BIN
assets/static/images/cat-roof_portrait.jpg
Normal file
BIN
assets/static/images/cat-roof_portrait.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 48 KiB |
BIN
assets/static/images/construct.gif
Normal file
BIN
assets/static/images/construct.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.3 KiB |
Binary file not shown.
Before Width: | Height: | Size: 14 KiB |
15
lib/home73k_web/controllers/home_controller.ex
Normal file
15
lib/home73k_web/controllers/home_controller.ex
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
defmodule Home73kWeb.HomeController do
|
||||||
|
use Home73kWeb, :controller
|
||||||
|
|
||||||
|
def index(conn, _params) do
|
||||||
|
render(conn, "index.html")
|
||||||
|
end
|
||||||
|
|
||||||
|
def resume(conn, _params) do
|
||||||
|
render(conn, "resume.html", page_title: "Résumé")
|
||||||
|
end
|
||||||
|
|
||||||
|
def folio(conn, _params) do
|
||||||
|
render(conn, "folio.html", page_title: "Folio")
|
||||||
|
end
|
||||||
|
end
|
|
@ -24,7 +24,7 @@ defmodule Home73kWeb.Endpoint do
|
||||||
at: "/",
|
at: "/",
|
||||||
from: :home73k,
|
from: :home73k,
|
||||||
gzip: true,
|
gzip: true,
|
||||||
only: ~w(css fonts images js favicon.ico robots.txt)
|
only: ~w(css fonts images js favicon.ico robots.txt DF185CEE29A3D443_public_key.asc)
|
||||||
|
|
||||||
# Code reloading can be explicitly enabled under the
|
# Code reloading can be explicitly enabled under the
|
||||||
# :code_reloader configuration of your endpoint.
|
# :code_reloader configuration of your endpoint.
|
||||||
|
|
|
@ -3,7 +3,16 @@ defmodule Home73kWeb.PageLive do
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def mount(_params, _session, socket) do
|
def mount(_params, _session, socket) do
|
||||||
{:ok, assign(socket, query: "", results: %{}, page_title: "~")}
|
{:ok,
|
||||||
|
assign(socket, query: "", results: %{}, page_title: "~")
|
||||||
|
|> put_flash(:success, "Log in was a success. Good for you.")
|
||||||
|
|> put_flash(:error, "Lorem ipsum dolor sit amet consectetur adipisicing elit.")
|
||||||
|
|> put_flash(
|
||||||
|
:info,
|
||||||
|
"Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatibus dolore sunt quia aperiam sint id reprehenderit? Dolore incidunt alias inventore accusantium nulla optio, ducimus eius aliquam hic, pariatur voluptate distinctio."
|
||||||
|
)
|
||||||
|
|> put_flash(:warning, "Oh no, there's nothing to worry about!")
|
||||||
|
|> put_flash(:primary, "Something in the brand color.")}
|
||||||
end
|
end
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
|
|
|
@ -17,7 +17,10 @@ defmodule Home73kWeb.Router do
|
||||||
scope "/", Home73kWeb do
|
scope "/", Home73kWeb do
|
||||||
pipe_through :browser
|
pipe_through :browser
|
||||||
|
|
||||||
live "/", PageLive, :index
|
get "/", HomeController, :index
|
||||||
|
get "/resume", HomeController, :resume
|
||||||
|
get "/folio", HomeController, :folio
|
||||||
|
live "/live", PageLive, :index
|
||||||
end
|
end
|
||||||
|
|
||||||
# Other scopes may use custom stacks.
|
# Other scopes may use custom stacks.
|
||||||
|
|
27
lib/home73k_web/templates/home/folio.html.eex
Normal file
27
lib/home73k_web/templates/home/folio.html.eex
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
<main class="container-fluid h-100 d-flex justify-content-center align-items-center">
|
||||||
|
|
||||||
|
<div class="d-flex flex-column align-items-center flex-lg-row align-items-lg-end justify-content-lg-center mt-5">
|
||||||
|
|
||||||
|
<div class="col-12 col-sm-10 col-md-7 col-lg-auto mb-3 mb-lg-0">
|
||||||
|
<%= img_tag Routes.static_path(@conn, "/images/construct.gif"),
|
||||||
|
class: "img-fluid",
|
||||||
|
alt: "Classic 1990s-style simple animation depicting a construction site digger. Text reads 'page under construction'",
|
||||||
|
title: "Put on your hard hat!"
|
||||||
|
%>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="col-12 col-sm-10 col-md-7 col-lg-6 col-xl-5 col-xxl-4 justify-content-start ms-lg-3">
|
||||||
|
|
||||||
|
<h2 class="font-monospace fs-2 fw-600 mb-0">
|
||||||
|
<%= icon_div @conn, "mdi-account-hard-hat", [class: "icon baseline me-2"] %><span>Working on it!</span>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
<div class="font-monospace fs-5">I've made some things over the years (like this site!), and at some point I'll highlight some here.</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</main>
|
34
lib/home73k_web/templates/home/index.html.eex
Normal file
34
lib/home73k_web/templates/home/index.html.eex
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
<main class="container-fluid h-100 d-flex justify-content-center align-items-center">
|
||||||
|
|
||||||
|
<div class="d-flex flex-column-reverse flex-lg-row align-items-lg-end mt-5">
|
||||||
|
|
||||||
|
<div class="col-auto mt-3 mt-lg-0">
|
||||||
|
<%= img_tag Routes.static_path(@conn, "/images/cat-roof_portrait.jpg"),
|
||||||
|
class: "img-fluid border border-20 border-gray-900 rounded-2",
|
||||||
|
alt: "My cat Babka, stuck on a roof when she was still just a stray.",
|
||||||
|
title: "My cat Babka, stuck on a roof when she was still just a stray."
|
||||||
|
%>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="col-auto justify-content-start ms-lg-3">
|
||||||
|
|
||||||
|
<h2 class="font-monospace fs-2 fw-600 mb-0">
|
||||||
|
<%= icon_div @conn, "mdi-account", [class: "icon baseline me-2"] %><span>Adam Piontek</span>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
<div class="font-monospace fs-5">Desktop Systems Engineer. Human.</div>
|
||||||
|
|
||||||
|
<div id="social-icons" class="mt-1">
|
||||||
|
<%= for s <- socials(@conn) do %>
|
||||||
|
<%= link to: s.url, target: "_blank", class: "fs-3 link-light text-decoration-none" do %>
|
||||||
|
<%= icon_div @conn, s.icon, [class: "icon baseline"] %>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</main>
|
51
lib/home73k_web/templates/home/resume.html.eex
Normal file
51
lib/home73k_web/templates/home/resume.html.eex
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
<main class="container-fluid h-100 d-flex justify-content-center align-items-center">
|
||||||
|
|
||||||
|
<div class="d-flex flex-column mt-5">
|
||||||
|
|
||||||
|
<div class="col-auto justify-content-start">
|
||||||
|
|
||||||
|
<h2 class="font-monospace fs-2 fw-600 mb-0">
|
||||||
|
<%= icon_div @conn, "mdi-account", [class: "icon baseline me-2"] %><span>Adam Piontek</span>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
<div class="font-monospace fs-5">Desktop Systems Engineer.</div>
|
||||||
|
|
||||||
|
<div id="social-icons" class="mt-1">
|
||||||
|
<%= for s <- socials_prof(@conn) do %>
|
||||||
|
<%= link to: s.url, target: "_blank", class: "fs-3 link-light text-decoration-none" do %>
|
||||||
|
<%= icon_div @conn, s.icon, [class: "icon baseline"] %>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-auto">
|
||||||
|
|
||||||
|
<div class="separator mt-4 mb-2">qualifications</div>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<%= for qualif <- resume_qualifs() do %>
|
||||||
|
<%= content_tag :li, qualif %>
|
||||||
|
<% end %>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div class="separator mt-4 mb-2">experience</div>
|
||||||
|
|
||||||
|
<%= for %{employer: employer, positions: positions} <- resume_experience() do %>
|
||||||
|
<div class="fs-5 border-bottom border-gray mt"><%= employer%></div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<%= for position <- positions do %>
|
||||||
|
<div>
|
||||||
|
<span><%= position.title %></span>
|
||||||
|
<span class="text-gray-300">· <%= position.start %> — <%= position.end %></span>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</main>
|
|
@ -1,14 +1,14 @@
|
||||||
<nav class="navbar navbar-expand-lg navbar-light bg-light mb-4">
|
<nav class="navbar fixed-top navbar-expand-lg navbar-dark bg-dark px-1 px-sm-2 px-lg-3 px-xl-4 px-xxl-5 py-3">
|
||||||
<div class="container">
|
<div class="container-fluid">
|
||||||
|
|
||||||
<h1 class="fs-4 my-0 py-0 lh-base">
|
<h1 class="my-0 py-0 lh-base">
|
||||||
<%= link to: Routes.page_path(@conn, :index), class: "navbar-brand fs-4" do %>
|
<%= link to: Routes.home_path(@conn, :index), class: "navbar-brand fs-1 text-secondary" do %>
|
||||||
<%= icon_div @conn, "mdi-desktop-classic", [class: "icon baseline me-1 fs-3"] %>
|
<%= icon_div @conn, "mdi-desktop-classic", [class: "icon baseline"] %>
|
||||||
<span class="fw-light" style="font-family: Righteous;">\\AdamPion73k</span>
|
<span class="fw-light" style="font-family: Righteous;">\\73k</span>
|
||||||
<% end %>
|
<% end %>
|
||||||
</h1>
|
</h1>
|
||||||
|
|
||||||
<button class="hamburger hamburger--squeeze collapsed navbar-toggler" id="navbarSupportedContentToggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
<button class="hamburger hamburger--vortex collapsed navbar-toggler" id="navbarSupportedContentToggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
<span class="hamburger-box d-flex">
|
<span class="hamburger-box d-flex">
|
||||||
<span class="hamburger-inner"></span>
|
<span class="hamburger-inner"></span>
|
||||||
</span>
|
</span>
|
||||||
|
@ -17,41 +17,34 @@
|
||||||
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||||
|
|
||||||
<%# nav LEFT items %>
|
<%# nav LEFT items %>
|
||||||
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0"></ul>
|
||||||
|
|
||||||
<%# ACTIVE page link example %>
|
|
||||||
<%# <li class="nav-item">
|
|
||||||
<a class="nav-link active" aria-current="page" href="#">Home</a>
|
|
||||||
</li> %>
|
|
||||||
|
|
||||||
<%# DISABLED page link example %>
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<%# <li class="nav-item dropdown">
|
|
||||||
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownExample" data-bs-toggle="dropdown" aria-expanded="false">Dropdown</a>
|
|
||||||
<ul class="dropdown-menu" aria-labelledby="navbarDropdownExample">
|
|
||||||
<li><a class="dropdown-item" href="#">Action</a></li>
|
|
||||||
<li><a class="dropdown-item" href="#">Another action</a></li>
|
|
||||||
<li><hr class="dropdown-divider"></li>
|
|
||||||
<li><a class="dropdown-item" href="#">Something else here</a></li>
|
|
||||||
</ul>
|
|
||||||
</li> %>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<%# nav RIGHT items %>
|
<%# nav RIGHT items %>
|
||||||
<ul class="navbar-nav">
|
<ul class="navbar-nav">
|
||||||
|
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link active" aria-current="page" href="#">Resume</a>
|
<%= link nav_link_opts(@conn, to: Routes.home_path(@conn, :index), class: "nav-link font-monospace fs-6") do %>
|
||||||
|
<%= icon_div @conn, "mdi-home", [class: "icon baseline"] %><span>\~</span>
|
||||||
|
<% end %>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<%= link nav_link_opts(@conn, to: Routes.page_path(@conn, :index), class: "btn btn-outline-dark d-none d-lg-block") do %>
|
<li class="nav-item">
|
||||||
<%#= icon_div @conn, "bi-door-open", [class: "icon baseline"] %>
|
<%= link nav_link_opts(@conn, to: Routes.home_path(@conn, :resume), class: "nav-link font-monospace fs-6") do %>
|
||||||
Log in
|
<%= icon_div @conn, "mdi-briefcase-account", [class: "icon baseline"] %><span>\Résumé</span>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<%= link nav_link_opts(@conn, to: Routes.home_path(@conn, :folio), class: "nav-link font-monospace fs-6") do %>
|
||||||
|
<%= icon_div @conn, "mdi-zip-disk", [class: "icon baseline"] %><span>\Portfolio</span>
|
||||||
|
<% end %>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<%= link nav_link_opts(@conn, to: Routes.page_path(@conn, :index), class: "nav-link font-monospace fs-6") do %>
|
||||||
|
<%= icon_div @conn, "mdi-typewriter", [class: "icon baseline"] %><span>\Blog</span>
|
||||||
|
<% end %>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
@ -1,19 +1 @@
|
||||||
<main role="main" class="container">
|
<%= @inner_content %>
|
||||||
|
|
||||||
<%# phoenix flash alerts: %>
|
|
||||||
<div class="row justify-content-center">
|
|
||||||
<div class="col-md-12 col-lg-10 col-xxl-8 ">
|
|
||||||
<%= for {kind, class} <- alert_kinds() do %>
|
|
||||||
<%= if flash_content = get_flash(@conn, kind) do %>
|
|
||||||
<div class="alert <%= class %> alert-dismissible fade show" role="alert">
|
|
||||||
<%= flash_content %>
|
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
|
||||||
</div>
|
|
||||||
<% end %>
|
|
||||||
<% end %>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<%= @inner_content %>
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
|
@ -1,19 +1 @@
|
||||||
<main role="main" class="container">
|
<%= @inner_content %>
|
||||||
|
|
||||||
<%# liveview flash alerts: %>
|
|
||||||
<div class="row justify-content-center">
|
|
||||||
<div class="col-md-12 col-lg-10 col-xxl-8 ">
|
|
||||||
<%= for {kind, class} <- alert_kinds() do %>
|
|
||||||
<%= if flash_content = live_flash(@flash, kind) do %>
|
|
||||||
<div class="alert <%= class %> alert-dismissible fade show" role="alert" id="lv-alert-<%= kind %>" phx-hook="AlertRemover" data-key="<%= kind %>">
|
|
||||||
<%= flash_content %>
|
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
|
||||||
</div>
|
|
||||||
<% end %>
|
|
||||||
<% end %>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<%= @inner_content %>
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
|
@ -1,29 +0,0 @@
|
||||||
<li class="nav-item dropdown">
|
|
||||||
|
|
||||||
<a href="#" class="nav-link dropdown-toggle" id="navbarDropdownUserMenu" data-bs-toggle="dropdown" aria-expanded="false">
|
|
||||||
<%= icon_div @conn, "bi-person-circle", [class: "icon baseline me-1"] %>
|
|
||||||
Hello
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="navbarDropdownUserMenu">
|
|
||||||
|
|
||||||
<li><hr class="dropdown-divider"></li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<%= link nav_link_opts(@conn, to: Routes.page_path(@conn, :index), class: "dropdown-item") do %>
|
|
||||||
<%= icon_div @conn, "bi-people", [class: "icon baseline me-1"] %>
|
|
||||||
Users
|
|
||||||
<% end %>
|
|
||||||
</li>
|
|
||||||
<li><hr class="dropdown-divider"></li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<%= link nav_link_opts(@conn, to: Routes.page_path(@conn, :index), class: "dropdown-item") do %>
|
|
||||||
<%= icon_div @conn, "bi-sliders", [class: "icon baseline me-1"] %>
|
|
||||||
Settings
|
|
||||||
<% end %>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</li>
|
|
|
@ -5,7 +5,7 @@
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<%= csrf_meta_tag() %>
|
<%= csrf_meta_tag() %>
|
||||||
<%= live_title_tag assigns[:page_title] || "", prefix: assigns[:page_title] && "73k.us \\ " || "73k.us" %>
|
<%= live_title_tag assigns[:page_title] || "", prefix: assigns[:page_title] && "73k \\ " || "73k" %>
|
||||||
<meta name="author" content="Adam Piontek"/>
|
<meta name="author" content="Adam Piontek"/>
|
||||||
<link rel="me" href="mailto:adam@73k.us"/>
|
<link rel="me" href="mailto:adam@73k.us"/>
|
||||||
<link rel="me" href="sms:+16462341697"/>
|
<link rel="me" href="sms:+16462341697"/>
|
||||||
|
|
77
lib/home73k_web/views/home_view.ex
Normal file
77
lib/home73k_web/views/home_view.ex
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
defmodule Home73kWeb.HomeView do
|
||||||
|
use Home73kWeb, :view
|
||||||
|
|
||||||
|
def socials(conn) do
|
||||||
|
[
|
||||||
|
%{
|
||||||
|
icon: "mdi-typewriter",
|
||||||
|
url: "https://w.73k.us/",
|
||||||
|
prof: false
|
||||||
|
},
|
||||||
|
%{icon: "mdi-rss", url: "https://w.73k.us/feed/", prof: false},
|
||||||
|
%{
|
||||||
|
icon: "mdi-linkedin",
|
||||||
|
url: "https://www.linkedin.com/in/adampiontek/",
|
||||||
|
prof: true
|
||||||
|
},
|
||||||
|
%{icon: "mdi-github", url: "https://github.com/apiontek", prof: true},
|
||||||
|
%{icon: "gitea", url: "https://73k.us/git/adam", prof: true},
|
||||||
|
%{
|
||||||
|
icon: "mdi-key-variant",
|
||||||
|
url: Routes.static_path(conn, "/DF185CEE29A3D443_public_key.asc"),
|
||||||
|
prof: true
|
||||||
|
},
|
||||||
|
%{
|
||||||
|
icon: "mdi-goodreads",
|
||||||
|
url: "https://www.goodreads.com/user/show/2450014-adam-piontek",
|
||||||
|
prof: false
|
||||||
|
},
|
||||||
|
%{icon: "mdi-twitter", url: "https://twitter.com/adampiontek", prof: false},
|
||||||
|
%{icon: "mdi-facebook", url: "https://facebook.com/damek", prof: false},
|
||||||
|
%{
|
||||||
|
icon: "mdi-instagram",
|
||||||
|
url: "https://www.instagram.com/adampiontek/",
|
||||||
|
prof: false
|
||||||
|
},
|
||||||
|
%{
|
||||||
|
icon: "mdi-steam",
|
||||||
|
url: "https://steamcommunity.com/id/apiontek/",
|
||||||
|
prof: false
|
||||||
|
},
|
||||||
|
%{
|
||||||
|
icon: "mdi-discord",
|
||||||
|
url: "https://discordapp.com/users/328583977629646848",
|
||||||
|
prof: false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
end
|
||||||
|
|
||||||
|
def socials_prof(conn), do: Enum.filter(socials(conn), fn s -> s.prof end)
|
||||||
|
|
||||||
|
def resume_qualifs,
|
||||||
|
do: [
|
||||||
|
"Programming (Powershell, Bash, Python, Javascript, Elixir)",
|
||||||
|
"Windows deployment & support (SCCM, MDT, esoteric configuration)",
|
||||||
|
"Application infrastructure planning & implementation (end-to-end)",
|
||||||
|
"Quickly grasping inherited & new projects"
|
||||||
|
]
|
||||||
|
|
||||||
|
def resume_experience do
|
||||||
|
[
|
||||||
|
%{
|
||||||
|
employer: "Cleary Gottlieb Steen & Hamilton",
|
||||||
|
positions: [
|
||||||
|
%{title: "End User Systems Engineer", start: "Jan 2021", end: "Present"},
|
||||||
|
%{title: "End User Systems Analyst", start: "Feb 2019", end: "Dec 2020"},
|
||||||
|
%{title: "Service Desk Analyst", start: "Jun 2014", end: "Jan 2019"}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
%{
|
||||||
|
employer: "Practising Law Institute",
|
||||||
|
positions: [
|
||||||
|
%{title: "Service Desk Analyst", start: "May 2010", end: "May 2014"}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
end
|
||||||
|
end
|
|
@ -7,15 +7,4 @@ defmodule Home73kWeb.LayoutView do
|
||||||
true -> Keyword.update(opts, :class, "active", fn c -> "#{c} active" end)
|
true -> Keyword.update(opts, :class, "active", fn c -> "#{c} active" end)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def alert_kinds do
|
|
||||||
[
|
|
||||||
success: "alert-success",
|
|
||||||
info: "alert-info",
|
|
||||||
error: "alert-danger",
|
|
||||||
warning: "alert-warning",
|
|
||||||
primary: "alert-primary",
|
|
||||||
secondary: "alert-secondary"
|
|
||||||
]
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue