Ported resume page to import from resume repo.
All checks were successful
Build Site / Build-Site (18.x) (push) Successful in 44s

This commit is contained in:
Thomas Cole 2023-04-15 10:16:33 -04:00
parent 922f2b4e0e
commit 002e1aa234
2 changed files with 41 additions and 65 deletions

View File

@ -19,7 +19,7 @@ const projects = (await Astro.glob("./projects/**/*.{md,mdx}")).sort(
<p class="text-3xl font-semibold">I'm Thomas Cole</p>
<p class="font-thin">Web Developer, System Administrator, Network Engineer</p>
</section>
<Divider/>
<div class="divider"/>
<section>
<p class="text-2xl font-bold py-2 sm:text-2xl md:text-2xl lg:text-4xl xl:text-4xl 2xl:text-4xl">Latest Projects</p>
{
@ -30,7 +30,7 @@ const projects = (await Astro.glob("./projects/**/*.{md,mdx}")).sort(
image={post.frontmatter.image}
link={post.url}
/>
<Divider/>
<div class="divider"/>
))
}
</section>

View File

@ -1,7 +1,18 @@
---
import Layout from "../layouts/Layout.astro";
import Timeline from "../components/resume/Timeline.astro";
import Divider from "../components/misc/Divider.astro";
const resumeRaw = await fetch('https://git.thomaspcole.com/thomascole/Resume/raw/branch/master/resume.json');
const resume = await resumeRaw.json();
function parseDate(date:string){
const retVal = new Date(date).toLocaleString('default', { month: 'long', year: "numeric" })
if(retVal === "Invalid Date"){
return "Present";
}
return retVal;
}
---
<Layout title={" | Resume"}>
@ -14,79 +25,44 @@
<main class="w-5/6 mx-auto sm:w-5/6 md:w-4/5 lg:w-4/5 xl:w-4/5 2xl:w-1/2">
<p class="font-bold text-2xl py-6">About Me</p>
<p>Detail oriented IT professional with 5+ years in systems and network administration.
Excellent problem-solving skills and ability to perform well in a team.
Responsible for operation and maintenance of a multicampus enterprise network with 500+ average daily users.
Demonstrated experience in reducing operating expenses by implementing open-source solutions and services.
</p>
<Divider/>
<p class="font-bold text-2xl py-6">Work Experience</p>
<p>{resume.basics.summary}</p>
<div class="divider"/>
<p class="font-bold text-2xl pb-6">Work Experience</p>
<div class="time-line-container">
<Timeline title="Director Of Information Technology" subtitle="Christ Lutheran Church | December 2020 - Present">
<ul class="text-sm ml-3.5 list-disc mt-2 mb-4">
<li>Maintain and upgrade critical network infrascture for a multi-campus environment.</li>
<li>Facilitate backups and ensure their integrity.</li>
<li>Integrate with action teams to develop technology plans and solutions.</li>
<li>Implement new software and hardware solutions with increased functionality while reducing costs by $50,000/yr.</li>
</ul>
</Timeline>
<Timeline title="Tech Assosciate" subtitle="Christ Lutheran Church | August 2019 - December 2020 (Part Time)">
<ul class="text-sm ml-3 5 list-disc mt-2 mb-4">
<li>Develop and implement new strategies in collaboration with the Christ Providence Tech team to improve live stream services and reach a broader audience.</li>
<li>Facilitated building and installation of new computer systems to improve recording and streaming capabilities of worship services.</li>
<li>Run graphics for in house worship and live stream services.</li>
</ul>
</Timeline>
<Timeline title="Tier II Managed Services Technician " subtitle="ScanOnline | June 2019 - December 2020">
<ul class="text-sm ml-3 5 list-disc mt-2 mb-4">
<li>Administer Office 365 and Windows Active Directory infrastructure.</li>
<li>Manage company VOIP phone system and extension listings.</li>
<li>Deploy and configure virtual machines to align with business needs.</li>
<li>Develop new Android applications to suit the business needs of customers operating in the logistics industry.</li>
<li>Maintain legacy Windows Mobile applications for existing customers.</li>
<li>Preform configuration and maintenance of customer hardware and software.</li>
</ul>
</Timeline>
<Timeline title="Student Network Analyst" subtitle="University of North Carolina at Greensboro | February 2018 - May 2019">
<ul class="text-sm ml-3 5 list-disc mt-2 mb-4">
<li>Assisted in maintenance and troubleshooting of enterprise network systems.</li>
<li>Preformed on-boarding of new network devices at the physical level.</li>
</ul>
</Timeline>
{resume.work.map((item:any)=>
<Timeline title={item.position} subtitle={item.name + " | " + parseDate(item.startDate) + " - " + parseDate(item.endDate)}>
<ul class="text-sm ml-3.5 list-disc mt-2 mb-4">
{item.highlights.map((highlight:any)=>
<li>{highlight}</li>
)}
</ul>
</Timeline>
)}
</div>
<p class="font-bold text-2xl py-6">Education</p>
<div class="time-line-container">
<Timeline title="The University of North Carolina at Greensboro" subtitle="Bachelor Of Science Information Systems and Supply Chain Management, Computer Science Minor"/>
{resume.education.map((item:any)=>
<Timeline title={item.institution} subtitle={item.area + " | " + parseDate(item.endDate)}/>
)}
</div>
<p class="font-bold text-2xl py-6">Professional Certificates</p>
<div class="time-line-container">
<Timeline title="Dante Level 3" subtitle="Audianate - 2021"/>
{resume.certificates.map((item:any)=>
<Timeline title={item.name} subtitle={item.issuer + " | " + parseDate(item.date)}/>
)}
</div>
<p class="font-bold text-2xl py-6">Skills</p>
<div class="flex flex-wrap gap-2 mx-auto">
<div class="badge badge-lg">HTML</div>
<div class="badge badge-lg">CSS</div>
<div class="badge badge-lg">Javascript</div>
<div class="badge badge-lg">Astro</div>
<div class="badge badge-lg">Svelte</div>
<div class="badge badge-lg">Java</div>
<div class="badge badge-lg">C#</div>
<div class="badge badge-lg">Tailwind</div>
<div class="badge badge-lg">Python</div>
<div class="badge badge-lg">SQL</div>
<div class="badge badge-lg">Linux</div>
<div class="badge badge-lg">Bash</div>
<div class="badge badge-lg">Docker</div>
<div class="badge badge-lg">Active Directory</div>
<div class="badge badge-lg">Cisco IOS</div>
<div class="badge badge-lg">Unifi Networks</div>
<div class="badge badge-lg">3CX</div>
<div class="badge badge-lg">Mosyle MDM</div>
</div>
<Divider/>
{resume.skills.map((item:any)=>
<div class="divider">{item.name}</div>
<div class="flex flex-wrap gap-2 mx-auto my-2 pb-4">
{item.keywords.map((skill:any)=>
<div class="badge badge-lg">{skill}</div>
)}
</div>
)}
</main>
</Layout>