reproduced previous static website

This commit is contained in:
Adam Piontek 2021-03-29 19:50:47 -04:00
parent 0a83f8f317
commit e3f7522cf1
26 changed files with 718 additions and 127 deletions

View 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

View file

@ -24,7 +24,7 @@ defmodule Home73kWeb.Endpoint do
at: "/",
from: :home73k,
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_reloader configuration of your endpoint.

View file

@ -3,7 +3,16 @@ defmodule Home73kWeb.PageLive do
@impl true
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
@impl true

View file

@ -17,7 +17,10 @@ defmodule Home73kWeb.Router do
scope "/", Home73kWeb do
pipe_through :browser
live "/", PageLive, :index
get "/", HomeController, :index
get "/resume", HomeController, :resume
get "/folio", HomeController, :folio
live "/live", PageLive, :index
end
# Other scopes may use custom stacks.

View 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>

View 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>

View 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">&middot; <%= position.start %> &mdash; <%= position.end %></span>
</div>
<% end %>
</div>
<% end %>
</div>
</div>
</main>

View file

@ -1,14 +1,14 @@
<nav class="navbar navbar-expand-lg navbar-light bg-light mb-4">
<div class="container">
<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-fluid">
<h1 class="fs-4 my-0 py-0 lh-base">
<%= link to: Routes.page_path(@conn, :index), class: "navbar-brand fs-4" do %>
<%= icon_div @conn, "mdi-desktop-classic", [class: "icon baseline me-1 fs-3"] %>
<span class="fw-light" style="font-family: Righteous;">\\AdamPion73k</span>
<% end %>
<h1 class="my-0 py-0 lh-base">
<%= link to: Routes.home_path(@conn, :index), class: "navbar-brand fs-1 text-secondary" do %>
<%= icon_div @conn, "mdi-desktop-classic", [class: "icon baseline"] %>
<span class="fw-light" style="font-family: Righteous;">\\73k</span>
<% end %>
</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-inner"></span>
</span>
@ -17,41 +17,34 @@
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<%# nav LEFT items %>
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<%# 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>
<ul class="navbar-nav me-auto mb-2 mb-lg-0"></ul>
<%# nav RIGHT items %>
<ul class="navbar-nav">
<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>
<%= link nav_link_opts(@conn, to: Routes.page_path(@conn, :index), class: "btn btn-outline-dark d-none d-lg-block") do %>
<%#= icon_div @conn, "bi-door-open", [class: "icon baseline"] %>
Log in
<li class="nav-item">
<%= link nav_link_opts(@conn, to: Routes.home_path(@conn, :resume), class: "nav-link font-monospace fs-6") do %>
<%= icon_div @conn, "mdi-briefcase-account", [class: "icon baseline"] %><span>\R&eacute;sum&eacute;</span>
<% 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>

View file

@ -1,19 +1 @@
<main role="main" class="container">
<%# 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>
<%= @inner_content %>

View file

@ -1,19 +1 @@
<main role="main" class="container">
<%# 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>
<%= @inner_content %>

View file

@ -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>

View file

@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<%= 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"/>
<link rel="me" href="mailto:adam@73k.us"/>
<link rel="me" href="sms:+16462341697"/>
@ -15,9 +15,9 @@
</head>
<body>
<%= render "_navbar.html", assigns %>
<%= render "_navbar.html", assigns %>
<%= @inner_content %>
<%= @inner_content %>
</body>
</html>

View 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

View file

@ -7,15 +7,4 @@ defmodule Home73kWeb.LayoutView do
true -> Keyword.update(opts, :class, "active", fn c -> "#{c} active" 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