jackmerrill.com/.vercel/output/static/index.html

27 lines
44 KiB
HTML
Raw Permalink Normal View History

2023-10-31 16:22:25 -07:00
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><meta name="viewport" content="width=device-width"><meta name="generator" content="Astro v3.4.0"><link rel="stylesheet" href="/css/sentient.css"><title>Astro</title><link rel="stylesheet" href="/_astro/index.b1bee973.css" /></head><body class="font-serif text-white bg-gradient-to-b from-[#060009] to-[#08000B] min-h-[100svh] py-6"><main class="mx-auto max-w-4xl grid grid-cols-2 gap-x-3 gap-y-4"><div class="flex flex-col gap-y-4"><section class="border border-[#1E1B22] rounded-3xl p-8 gap-y-3 flex flex-col"><div class="flex justify-between"><img src="/_astro/memoji.f60af4d2_Z1cyRXJ.webp" alt="Memoji" class="rounded-full" width="100" height="100" loading="lazy" decoding="async"><span class="flex h-min px-2 py-1 items-center text-xs gap-2 rounded-full border-2 border-[#248115] bg-[#299417]"><span class="flex w-[10px] h-[10px] p-0.5 items-center rounded-full border-2 border-[#267918] bg-[#299417]"></span>
Available to work
</span></div><h1 class="font-medium text-2xl">Hey, I&apos;m Jack!</h1><p class="font-light text-sm">
I&apos;m a UI/UX designer and front-end developer
based in Western Massachussetts currently studying
interface design at <a href="https://hampshire.edu" target="_blank" rel="noreferrer" class="underline">Hampshire College</a>.
<br><br>
I&apos;m a huge transit nerd, and when I&apos;m not
programming, I&apos;m either out on my skateboard or
gaming, or occasionally doing drone photography.
</p><h2 class="font-medium text-lg">What I&apos;m listening to</h2><style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var i=t=>{let e=async()=>{await(await t())()};"requestIdleCallback"in window?window.requestIdleCallback(e):setTimeout(e,200)};(self.Astro||(self.Astro={})).idle=i;window.dispatchEvent(new Event("astro:idle"));})();;(()=>{var b=Object.defineProperty;var f=(c,o,i)=>o in c?b(c,o,{enumerable:!0,configurable:!0,writable:!0,value:i}):c[o]=i;var l=(c,o,i)=>(f(c,typeof o!="symbol"?o+"":o,i),i);var p;{let c={0:t=>m(t),1:t=>i(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(i(t)),5:t=>new Set(i(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[e,r]=t;return e in c?c[e](r):void 0},i=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([e,r])=>[e,o(r)]));customElements.get("astro-island")||customElements.define("astro-island",(p=class extends HTMLElement{constructor(){super(...arguments);l(this,"Component");l(this,"hydrator");l(this,"hydrate",async()=>{var d;if(!this.hydrator||!this.isConnected)return;let e=(d=this.parentElement)==null?void 0:d.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let r=this.querySelectorAll("astro-slot"),a={},h=this.querySelectorAll("template[data-astro-template]");for(let n of h){let s=n.closest(this.tagName);s!=null&&s.isSameNode(this)&&(a[n.getAttribute("data-astro-template")||"default"]=n.innerHTML,n.remove())}for(let n of r){let s=n.closest(this.tagName);s!=null&&s.isSameNode(this)&&(a[n.getAttribute("name")||"default"]=n.innerHTML)}let u;try{u=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(n){let s=this.getAttribute("component-url")||"<unknown>",y=this.getAttribute("component-export");throw y&&(s+=` (export ${y})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),n),n}await this.hydrator(this)(this.Component,u,a,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});l(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),r.disconnect(),this.childrenConnectedCallback()},r=new MutationObserver(()=>{var a;((a=this.lastChild)==null?void 0:a.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});r.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}start(){let e=JSON.parse(this.getAttribute("opts")),r=this.getAttribute("client");if(Astro[r]===void 0){window.addEventListener(`astro:${r}`,()=>this.start(),{once:!0});return}Astro[r](async()=>{let a=this.getAttribute("renderer-url"),[h,{default:u}]=await Promise.all([import(this.getAttribute("component-url")),a?import(a):()=>()=>{}]),d=this.getAttribute("component-export")||"default";if(!d.includes("."))this.Component=h[d];else{this.Component=h;for(let n of d.split("."))this.Component=this.Component[n]}return this.hydrator=u,this.hydrate},e,this)}attributeChangedCallback(){this.hydrate()}},l(p,"observedAttributes",["props"]),p))}})();</script><astro-island uid="Z1q6Eqb" prefix="r0" component-url="/_astro/SpotifyNowPlaying.436b8fce.js" component-export="default" renderer-url="/_astro/client.802dacf3.js" props="{}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;SpotifyNowPlaying&quot;,&quot;value&quot;:true}" await-children=""><div class="flex p-4 items-end gap-3 self-stretch border border-[#1DB954] rounded
Meet with me
</h2><p class="text-white/60 font-light text-xs truncate max-w-[250px]">
Find a time on Cal.com
</p></div><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M13.5 6H5.25A2.25 2.25 0 003 8.25v10.5A2.25 2.25 0 005.25 21h10.5A2.25 2.25 0 0018 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25"></path></svg></a><!-- Resume --><a href="/resume.pdf" target="_blank" class="flex p-4 items-start gap-3 self-stretch rounded-2xl border border-[#6B6B6B] bg-gradient-to-r from-[#6B6B6B] to-[#959595]"><div class="flex flex-col justify-center items-start flex-1 self-stretch"><h2 class="text-base font-normal">
View my Resume
</h2><p class="text-white/60 font-light text-xs truncate max-w-[250px]">
Look at my past experience
</p></div><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M13.5 6H5.25A2.25 2.25 0 003 8.25v10.5A2.25 2.25 0 005.25 21h10.5A2.25 2.25 0 0018 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25"></path></svg></a><astro-island uid="20UPcL" prefix="r4" component-url="/_astro/PictureShowcase.8779f208.js" component-export="default" renderer-url="/_astro/client.802dacf3.js" props="{}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;PictureShowcase&quot;,&quot;value&quot;:true}" await-children=""><div class="h-64"><div class="relative w-full"><div class="relative h-56 overflow-hidden rounded-xl md:h-64"><div class="duration-700 ease-in-out transition-transform translate-x-0 z-20"><a href="/img/DJI_0565.JPG" target="_blank" class="absolute block w-full h-full -translate-x-1/2 -translate-y-1/2 top-1/2 left-1/2"><img src="/img/DJI_0565.JPG" alt="Drone Picture of Hampshire College" class="object-cover h-64 w-full"/></a></div><div class="duration-700 ease-in-out transition-transform translate-x-full z-10"><a href="/img/DJI_0605.JPG" target="_blank" class="absolute block w-full h-full -translate-x-1/2 -translate-y-1/2 top-1/2 left-1/2"><img src="/img/DJI_0605.JPG" alt="Drone Picture of Hampshire College (winter)" class="object-cover h-64 w-full"/></a></div><div class="duration-700 ease-in-out transition-transform hidden"><a href="/img/IMG_0196.JPG" target="_blank" class="absolute block w-full h-full -translate-x-1/2 -translate-y-1/2 top-1/2 left-1/2"><img src="/img/IMG_0196.JPG" alt="Bean!!" class="object-cover h-64 w-full"/></a></div><div class="duration-700 ease-in-out transition-transform hidden"><a href="/img/IMG_3942.JPG" target="_blank" class="absolute block w-full h-full -translate-x-1/2 -translate-y-1/2 top-1/2 left-1/2"><img src="/img/IMG_3942.JPG" alt="Ricky!!" class="object-cover h-64 w-full"/></a></div></div><div class="absolute z-30 flex space-x-3 -translate-x-1/2 bottom-5 left-1/2"><button type="button" class="w-3 h-3 rounded-full" aria-current="true" aria-label="Drone Picture of Hampshire College"></button><button type="button" class="w-3 h-3 rounded-full" aria-current="false" aria-label="Drone Picture of Hampshire College (winter)"></button><button type="button" class="w-3 h-3 rounded-full" aria-current="false" aria-label="Bean!!"></button><button type="button" class="w-3 h-3 rounded-full" aria-current="false" aria-label="Ricky!!"></button></div><button type="button" class="absolute top-0 left-0 z-30 flex items-center justify-center h-full px-4 cursor-pointer group focus:outline-none" disabled=""><span class="inline-flex items-center justify-center w-10 h-10 rounded-full bg-white/30 dark:bg-gray-800/30 group-hover:bg-white/50 dark:group-hover:bg-gray-800/60 group-focus:ring-4 group-focus:ring-white dark:group-focus:ring-gray-800/70 group-focus:outline-none"><svg class="w-4 h-4 text-white dark:text-gray-800" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 6 10"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 1 1 5l4 4"></path></svg><span class="sr-only">Previous</span></span></button><button type="button" class="absolute top-0 right-0 z-30 flex items-center justify-center h-full px-4 cursor-pointer group focus:outline-none"><span class="inline-flex items-center justify-center w-10 h-10 rounded-full bg-white/30 dark:bg-gray-800/30 group-hover:bg-white/50 dark:group-hover:bg-gray-800/60 group-focus:ring-4 group-focus:ring-white dark:group-focus:ring-gray-800/70 group-focus:outline-none"><svg class="w-4 h-4 text-white dark:text-gray-800" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 6 10"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 9 4-4-4-4"></path></svg><span class="sr-only">Next</span></span></button></div></div><!--astro:end--></astro-island><!-- Support me --><a href="https://liberapay.com/jackmerrill/" target="_blank" cl
Support me
</h2><p class="text-white/60 font-light text-xs truncate max-w-[250px]">
Like what I do? Help me continue!
</p></div><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M13.5 6H5.25A2.25 2.25 0 003 8.25v10.5A2.25 2.25 0 005.25 21h10.5A2.25 2.25 0 0018 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25"></path></svg></a><!-- The Hamper --><a href="https://thehamper.netlify.app" target="_blank" class="flex p-4 items-start gap-3 self-stretch rounded-2xl border border-[#C623FF] bg-gradient-to-r from-[#E848CE] to-[#996CF9]"><div class="flex flex-col justify-center items-start flex-1 self-stretch"><h2 class="text-base font-normal">
The Hamper
</h2><p class="text-white/60 font-light text-xs truncate max-w-[250px]">
Buy my merch
</p></div><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M13.5 6H5.25A2.25 2.25 0 003 8.25v10.5A2.25 2.25 0 005.25 21h10.5A2.25 2.25 0 0018 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25"></path></svg></a></div></main></body></html>