more tweaks, formatting
This commit is contained in:
@@ -6,10 +6,20 @@ services:
|
|||||||
container_name: eleventy_dev
|
container_name: eleventy_dev
|
||||||
# Map port 8080 on the host to port 8080 in the container
|
# Map port 8080 on the host to port 8080 in the container
|
||||||
ports:
|
ports:
|
||||||
- "8080:8080"
|
- 8080:8080
|
||||||
# Mount the current directory on the host to /app in the container
|
# Mount the current directory on the host to /app in the container
|
||||||
# This allows for live-reloading as you edit your files locally
|
# This allows for live-reloading as you edit your files locally
|
||||||
volumes:
|
volumes:
|
||||||
- .:/usr/src/app
|
- .:/usr/src/app
|
||||||
# Anonymize the node_modules directory to prevent conflicts with local modules
|
# Anonymize the node_modules directory to prevent conflicts with local modules
|
||||||
- /app/node_modules
|
- /app/node_modules
|
||||||
|
labels:
|
||||||
|
diun.enable: false
|
||||||
|
homepage.group: Tools
|
||||||
|
homepage.name: Eleventy
|
||||||
|
homepage.icon: eleventy
|
||||||
|
homepage.href: ${APP_URL}
|
||||||
|
networks: {}
|
||||||
|
x-dockge:
|
||||||
|
urls:
|
||||||
|
- ${APP_URL}
|
||||||
|
@@ -1,7 +1,8 @@
|
|||||||
{
|
{
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Jesus Network Solutions",
|
"name": "Jesus Otero",
|
||||||
"email": "jesus@twk95.com",
|
"email": "jesus@twk95.com",
|
||||||
|
"shortname": "JOL",
|
||||||
"linkedinUrl": "https://linkedin.twk95.com"
|
"linkedinUrl": "https://linkedin.twk95.com"
|
||||||
},
|
},
|
||||||
"resumeUrl": "resume/jesus-main.pdf"
|
"resumeUrl": "resume/jesus-main.pdf"
|
||||||
|
@@ -1,89 +1,89 @@
|
|||||||
|
---
|
||||||
|
title: "Base"
|
||||||
|
layout: "layout.njk"
|
||||||
|
---
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>{{ title }}</title>
|
<title>{{ title }}</title>
|
||||||
<script src="https://cdn.tailwindcss.com"></script>
|
<script src="https://cdn.tailwindcss.com"></script>
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap" rel="stylesheet">
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap" rel="stylesheet">
|
||||||
<style>
|
<style>
|
||||||
body {
|
body {
|
||||||
font-family: 'Inter', sans-serif;
|
font-family: 'Inter', sans-serif;
|
||||||
}
|
}
|
||||||
.prose {
|
.prose {
|
||||||
max-width: 65ch;
|
max-width: 65ch;
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
}
|
}
|
||||||
.prose h1, .prose h2, .prose h3 {
|
.prose h1, .prose h2, .prose h3 {
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
.prose a {
|
.prose a {
|
||||||
color: #3b82f6;
|
color: #3b82f6;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
.prose a:hover {
|
.prose a:hover {
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
.prose code {
|
.prose code {
|
||||||
background-color: #f3f4f6;
|
background-color: #f3f4f6;
|
||||||
padding: 0.2em 0.4em;
|
padding: 0.2em 0.4em;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
font-size: 85%;
|
font-size: 85%;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
.prose pre {
|
.prose pre {
|
||||||
background-color: #1f2937;
|
background-color: #1f2937;
|
||||||
color: #f9fafb;
|
color: #f9fafb;
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
border-radius: 0.5rem;
|
border-radius: 0.5rem;
|
||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
}
|
}
|
||||||
.prose pre code {
|
.prose pre code {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
.prose blockquote {
|
.prose blockquote {
|
||||||
border-left: 4px solid #d1d5db;
|
border-left: 4px solid #d1d5db;
|
||||||
padding-left: 1em;
|
padding-left: 1em;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
color: #6b7280;
|
color: #6b7280;
|
||||||
}
|
}
|
||||||
.prose table {
|
.prose table {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
}
|
}
|
||||||
.prose th, .prose td {
|
.prose th, .prose td {
|
||||||
border: 1px solid #d1d5db;
|
border: 1px solid #d1d5db;
|
||||||
padding: 0.5em;
|
padding: 0.5em;
|
||||||
}
|
}
|
||||||
.prose th {
|
.prose th {
|
||||||
background-color: #f3f4f6;
|
background-color: #f3f4f6;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body class="bg-gray-50 text-gray-800">
|
<body class="bg-gray-50 text-gray-800">
|
||||||
|
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<header class="bg-white shadow-sm">
|
<header class="bg-white shadow-sm">
|
||||||
<div class="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 py-4">
|
<div class="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 py-4">
|
||||||
<h1 class="text-3xl font-bold text-gray-900">{{ title }}</h1>
|
<h1 class="text-3xl font-bold text-gray-900">{{ title }}</h1>
|
||||||
<p class="text-gray-600 mt-1">A demonstration of what's possible with this powerful static site generator.</p>
|
<p class="text-gray-600 mt-1">A demonstration of what's possible with this powerful static site generator.</p>
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<main class="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
|
<main class="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
|
||||||
<div class="prose">
|
<div class="prose">
|
||||||
{{ content | safe }}
|
{{ content | safe }}
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<!-- Footer -->
|
<!-- Footer -->
|
||||||
<footer class="bg-white mt-12">
|
<footer class="bg-white mt-12">
|
||||||
<div class="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 py-4 text-center text-gray-500">
|
<div class="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 py-4 text-center text-gray-500">
|
||||||
<p>Created to showcase the power of <a href="https://www.11ty.dev/" target="_blank" class="text-blue-500 hover:underline">Eleventy</a>.</p>
|
<p>Created to showcase the power of <a href="https://www.11ty.dev/" target="_blank" class="text-blue-500 hover:underline">Eleventy</a>.</p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
</body>
|
||||||
</body>
|
|
||||||
</html>
|
</html>
|
@@ -1,6 +1,6 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>{{ title }}</title>
|
<title>{{ title }}</title>
|
||||||
@@ -10,55 +10,51 @@
|
|||||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
|
||||||
<link rel="stylesheet" href="/css/style.css">
|
<link rel="stylesheet" href="/css/style.css">
|
||||||
</head>
|
</head>
|
||||||
<body class="antialiased">
|
<body class="antialiased">
|
||||||
|
<!-- Header & Nav -->
|
||||||
<!-- Header -->
|
<header class="sticky top-0 z-50 glass-card shadow-md">
|
||||||
<header class="bg-gray-900 shadow-md sticky top-0 z-50">
|
<nav class="container mx-auto px-6 py-4 flex justify-between items-center">
|
||||||
<nav class="container mx-auto px-6 py-4 flex justify-between items-center">
|
<a href="/" class="text-2xl font-bold text-white">{{ site.author.shortname }}<span class="text-blue-500">.</span></a>
|
||||||
<a href="/" class="text-2xl font-bold text-white">{{ site.author.name }}</a>
|
<div class="hidden md:flex space-x-6 items-center">
|
||||||
<div class="hidden md:flex space-x-6 items-center">
|
<a href="/#about" class="text-gray-300 hover:text-blue-400">About</a>
|
||||||
<a href="/#about" class="text-gray-300 hover:text-white">About</a>
|
<a href="/blog" class="text-gray-300 hover:text-blue-400">Blog</a>
|
||||||
<a href="/blog" class="text-gray-300 hover:text-white">Blog</a>
|
<a href="/#services" class="text-gray-300 hover:text-blue-400">Services</a>
|
||||||
<a href="/#services" class="text-gray-300 hover:text-white">Services</a>
|
<a href="/#skills" class="text-gray-300 hover:text-blue-400">Skills</a>
|
||||||
<a href="/#skills" class="text-gray-300 hover:text-white">Skills</a>
|
<a href="/#experience" class="text-gray-300 hover:text-blue-400">Experience</a>
|
||||||
<a href="/#experience" class="text-gray-300 hover:text-white">Experience</a>
|
<a href="/#contact" class="text-gray-300 hover:text-blue-400">Contact</a>
|
||||||
<a href="/#contact" class="text-gray-300 hover:text-white">Contact</a>
|
<a href="/{{ site.resumeUrl }}" target="_blank" class="btn">View Resume</a>
|
||||||
<a href="/{{ site.resumeUrl }}" target="_blank" class="btn">View Resume</a>
|
|
||||||
</div>
|
|
||||||
<div class="md:hidden">
|
|
||||||
<button id="mobile-menu-button" class="text-white focus:outline-none">
|
|
||||||
<i class="fas fa-bars text-2xl"></i>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
<!-- Mobile Menu -->
|
|
||||||
<div id="mobile-menu" class="hidden md:hidden px-6 pt-2 pb-4 space-y-2">
|
|
||||||
<a href="/#about" class="block text-gray-300 hover:text-white">About</a>
|
|
||||||
<a href="/blog" class="block text-gray-300 hover:text-white">Blog</a>
|
|
||||||
<a href="/#services" class="block text-gray-300 hover:text-white">Services</a>
|
|
||||||
<a href="/#skills" class="block text-gray-300 hover:text-white">Skills</a>
|
|
||||||
<a href="/#experience" class="block text-gray-300 hover:text-white">Experience</a>
|
|
||||||
<a href="/#contact" class="block text-gray-300 hover:text-white">Contact</a>
|
|
||||||
<a href="/{{ site.resumeUrl }}" target="_blank" class="block btn mt-2">View Resume</a>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="md:hidden">
|
||||||
|
<button id="mobile-menu-button" class="text-white focus:outline-none">
|
||||||
|
<i class="fas fa-bars text-2xl"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<!-- Mobile Menu -->
|
||||||
|
<div id="mobile-menu" class="hidden md:hidden px-6 pt-2 pb-4 space-y-2">
|
||||||
|
<a href="/#about" class="block text-gray-300 hover:text-blue-400">About</a>
|
||||||
|
<a href="/blog" class="block text-gray-300 hover:text-blue-400">Blog</a>
|
||||||
|
<a href="/#services" class="block text-gray-300 hover:text-blue-400">Services</a>
|
||||||
|
<a href="/#skills" class="block text-gray-300 hover:text-blue-400">Skills</a>
|
||||||
|
<a href="/#experience" class="block text-gray-300 hover:text-blue-400">Experience</a>
|
||||||
|
<a href="/#contact" class="block text-gray-300 hover:text-blue-400">Contact</a>
|
||||||
|
<a href="/{{ site.resumeUrl }}" target="_blank" class="block btn mt-2">View Resume</a>
|
||||||
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<main class="container mx-auto px-6 py-12">
|
<main class="container mx-auto px-6 py-12">
|
||||||
{{ content | safe }}
|
{{ content | safe }}
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<!-- Footer -->
|
<!-- Footer -->
|
||||||
<footer class="bg-gray-900 text-gray-400 py-6">
|
<footer class="bg-gray-900 text-gray-400 py-6">
|
||||||
<div class="container mx-auto px-6 text-center">
|
<div class="container mx-auto px-6 text-center">
|
||||||
<div class="flex justify-center space-x-6 mb-4">
|
<div class="flex justify-center space-x-6 mb-4">
|
||||||
<a href="{{ site.author.linkedinUrl }}" target="_blank" class="hover:text-white"><i class="fab fa-linkedin fa-2x"></i></a>
|
<a href="{{ site.author.linkedinUrl }}" target="_blank" class="hover:text-blue-400"><i class="fab fa-linkedin fa-2x"></i></a>
|
||||||
<a href="mailto:{{ site.author.email }}" class="hover:text-white"><i class="fas fa-envelope fa-2x"></i></a>
|
<a href="mailto:{{ site.author.email }}" class="hover:text-blue-400"><i class="fas fa-envelope fa-2x"></i></a>
|
||||||
</div>
|
|
||||||
<p>© {% year %} {{ site.author.name }}. All Rights Reserved.</p>
|
|
||||||
</div>
|
</div>
|
||||||
|
<p>© {% year %} {{ site.author.name }}. All Rights Reserved.</p>
|
||||||
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<script src="/js/main.js"></script>
|
<script src="/js/main.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@@ -28,6 +28,11 @@ body {
|
|||||||
margin-bottom: 0.5rem;
|
margin-bottom: 0.5rem;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
.glass-card {
|
||||||
|
background: rgba(31, 41, 55, 0.5); /* bg-gray-800 with opacity */
|
||||||
|
backdrop-filter: blur(10px);
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
||||||
|
}
|
||||||
.btn {
|
.btn {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
@@ -35,17 +40,42 @@ body {
|
|||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
background-color: #4299e1;
|
background-color: #2563EB;
|
||||||
color: white;
|
color: white;
|
||||||
border: 1px solid transparent;
|
border: 1px solid transparent;
|
||||||
padding: 0.75rem 1.5rem;
|
padding: 0.75rem 2rem;
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
line-height: 1.5;
|
line-height: 1.5;
|
||||||
border-radius: 0.5rem;
|
border-radius: 9999px;
|
||||||
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
|
transition-property: transform, background-color;
|
||||||
|
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
|
transition-duration: 150ms;
|
||||||
|
}
|
||||||
|
.btngray {
|
||||||
|
display: inline-block;
|
||||||
|
font-weight: 600;
|
||||||
|
text-align: center;
|
||||||
|
vertical-align: middle;
|
||||||
|
cursor: pointer;
|
||||||
|
user-select: none;
|
||||||
|
background-color: #374151;
|
||||||
|
color: white;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
padding: 0.75rem 2rem;
|
||||||
|
font-size: 1rem;
|
||||||
|
line-height: 1.5;
|
||||||
|
border-radius: 9999px;
|
||||||
|
transition-property: transform, background-color;
|
||||||
|
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
||||||
|
transition-duration: 150ms;
|
||||||
}
|
}
|
||||||
.btn:hover {
|
.btn:hover {
|
||||||
background-color: #3182ce;
|
background-color: #1D4ED8;
|
||||||
|
transform: scale(1.05);
|
||||||
|
}
|
||||||
|
.btngray:hover {
|
||||||
|
background-color: #4B5563;
|
||||||
|
transform: scale(1.05);
|
||||||
}
|
}
|
||||||
.icon {
|
.icon {
|
||||||
font-size: 1.5rem;
|
font-size: 1.5rem;
|
||||||
|
345
src/index.md
345
src/index.md
@@ -1,198 +1,191 @@
|
|||||||
---
|
---
|
||||||
title: "Jesus E. Otero Lagunes - Telecommunications Specialist"
|
title: "Jesus - Network Engineer"
|
||||||
layout: "layout.njk"
|
layout: "layout.njk"
|
||||||
---
|
---
|
||||||
|
|
||||||
<!-- Hero Section -->
|
<!-- Hero Section -->
|
||||||
|
|
||||||
<section id="hero" class="text-center py-20">
|
<section id="hero" class="text-center py-20">
|
||||||
<h1 class="text-4xl md:text-6xl font-bold text-white mb-4">Expert IT & ISP Networking Consultation</h1>
|
<h1 class="text-4xl md:text-6xl font-bold text-white mb-4">Senior Network Engineer</h1>
|
||||||
<p class="text-lg md:text-xl text-gray-400 max-w-3xl mx-auto mb-8">10+ years of experience in designing, deploying, and troubleshooting robust network solutions. Let's build a reliable and efficient network for your business.</p>
|
<p id="typewriter" class="text-xl md:text-2xl text-blue-400 font-medium mb-8"></p>
|
||||||
<a href="#contact" class="btn">Get in Touch</a>
|
<p class="text-lg md:text-xl text-gray-400 max-w-3xl mx-auto mb-8">10+ years of experience in designing, deploying, and troubleshooting robust network solutions. Let's build a reliable and efficient network for your business.</p>
|
||||||
|
<div class="flex justify-center space-x-4">
|
||||||
|
<a href="resume/jesus-main.pdf" target="_blank" class="btn">Download CV</a>
|
||||||
|
<a href="#contact" class="btngray">Get in Touch</a>
|
||||||
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- About Me Section -->
|
<!-- About Me Section -->
|
||||||
|
|
||||||
<section id="about" class="py-16">
|
<section id="about" class="py-16">
|
||||||
<h2 class="text-3xl font-bold text-center section-title">About Me</h2>
|
<h2 class="text-3xl font-bold text-center section-title">About Me</h2>
|
||||||
<div class="flex flex-col md:flex-row items-center gap-12">
|
<div class="flex flex-col md:flex-row items-center gap-12">
|
||||||
<div class="md:w-2/3">
|
<div class="md:w-1/3 text-center">
|
||||||
<p class="text-lg text-gray-300 mb-4">
|
<img src="https://placehold.co/300x300/2d3748/e2e8f0?text=JOL" alt="Jesus Otero Lagunes" class="rounded-full mx-auto shadow-2xl border-4 border-gray-700">
|
||||||
I am a highly motivated and adaptable telecommunications engineer with a proven ability to troubleshoot and resolve complex network issues. I am passionate about all things computer networking and thrive in challenging environments where continuous learning and meaningful contributions are valued.
|
</div>
|
||||||
</p>
|
<div class="md:w-2/3">
|
||||||
<p class="text-lg text-gray-300">
|
<p class="text-gray-400 mb-4">
|
||||||
My goal is to leverage my decade of experience to help businesses optimize their network infrastructure, ensuring high availability, security, and performance. I believe in a healthy work-life balance, which allows me to stay sharp and bring my best to every project.
|
I am a highly motivated and adaptable telecommunications engineer with a proven ability to troubleshoot and resolve complex network issues. I am passionate about all things computer networking and thrive in challenging environments where continuous learning and meaningful contributions are valued.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
<p class="text-gray-400">
|
||||||
<div class="md:w-1/3 text-center">
|
My goal is to leverage my decade of experience to help businesses optimize their network infrastructure, ensuring high availability, security, and performance. I believe in a healthy work-life balance, which allows me to stay sharp and bring my best to every project.
|
||||||
<img src="https://placehold.co/300x300/2d3748/e2e8f0?text=JOL" alt="Jesus Otero Lagunes" class="rounded-full mx-auto shadow-lg">
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- Services Section -->
|
<!-- Services Section -->
|
||||||
|
|
||||||
<section id="services" class="py-16">
|
<section id="services" class="py-16">
|
||||||
<h2 class="text-3xl font-bold text-center section-title">Consultation Services</h2>
|
<h2 class="text-3xl font-bold text-center section-title">Consultation Services</h2>
|
||||||
<div class="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
|
<div class="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<i class="fas fa-network-wired icon"></i>
|
<i class="fas fa-network-wired icon"></i>
|
||||||
<h3 class="text-xl font-bold mb-2 text-white">Network Design & Architecture</h3>
|
<h3 class="text-xl font-bold mb-2 text-white">Network Design & Architecture</h3>
|
||||||
<p class="text-gray-400">Custom network designs for scalability and performance, including LAN/WAN, VLAN/VPN, and Metro Ethernet solutions.</p>
|
<p class="text-gray-400">Custom network designs for scalability and performance, including LAN/WAN, VLAN/VPN, and Metro Ethernet solutions.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<i class="fas fa-tools icon"></i>
|
<i class="fas fa-tools icon"></i>
|
||||||
<h3 class="text-xl font-bold mb-2 text-white">Service Activation & Provisioning</h3>
|
<h3 class="text-xl font-bold mb-2 text-white">Service Activation & Provisioning</h3>
|
||||||
<p class="text-gray-400">Expert activation for DIA, EPL, and CBH Ethernet services. End-to-end project management from design to deployment.</p>
|
<p class="text-gray-400">Expert activation for DIA, EPL, and CBH Ethernet services. End-to-end project management from design to deployment.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<i class="fas fa-cogs icon"></i>
|
<i class="fas fa-cogs icon"></i>
|
||||||
<h3 class="text-xl font-bold mb-2 text-white">Troubleshooting & Root Cause Analysis</h3>
|
<h3 class="text-xl font-bold mb-2 text-white">Troubleshooting & Root Cause Analysis</h3>
|
||||||
<p class="text-gray-400">Proactive identification and resolution of network constraints and issues to ensure optimal performance and reliability.</p>
|
<p class="text-gray-400">Proactive identification and resolution of network constraints and issues to ensure optimal performance and reliability.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<i class="fas fa-code-branch icon"></i>
|
<i class="fas fa-code-branch icon"></i>
|
||||||
<h3 class="text-xl font-bold mb-2 text-white">Automation & Scripting</h3>
|
<h3 class="text-xl font-bold mb-2 text-white">Automation & Scripting</h3>
|
||||||
<p class="text-gray-400">Developing automation solutions using Python, Ansible, and Jinja to streamline network operations and reduce manual errors.</p>
|
<p class="text-gray-400">Developing automation solutions using Python, Ansible, and Jinja to streamline network operations and reduce manual errors.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<i class="fas fa-server icon"></i>
|
<i class="fas fa-server icon"></i>
|
||||||
<h3 class="text-xl font-bold mb-2 text-white">Homelabbing & Self-Hosting</h3>
|
<h3 class="text-xl font-bold mb-2 text-white">Homelabbing & Self-Hosting</h3>
|
||||||
<p class="text-gray-400">Consultation on server hardware, web hosting, hypervisors (like Proxmox/ESXi), Docker, and storage arrays (NAS/SAN).</p>
|
<p class="text-gray-400">Consultation on server hardware, web hosting, hypervisors (like Proxmox/ESXi), Docker, and storage arrays (NAS/SAN).</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<i class="fas fa-chalkboard-teacher icon"></i>
|
<i class="fas fa-chalkboard-teacher icon"></i>
|
||||||
<h3 class="text-xl font-bold mb-2 text-white">Technical Training</h3>
|
<h3 class="text-xl font-bold mb-2 text-white">Technical Training</h3>
|
||||||
<p class="text-gray-400">Providing cross-departmental training on network technologies, protocols, and best practices.</p>
|
<p class="text-gray-400">Providing cross-departmental training on network technologies, protocols, and best practices.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- Skills & Certifications Section -->
|
<!-- Skills & Certifications Section -->
|
||||||
|
|
||||||
<section id="skills" class="py-16">
|
<section id="skills" class="py-16">
|
||||||
<h2 class="text-3xl font-bold text-center section-title">Skills & Certifications</h2>
|
<h2 class="text-3xl font-bold text-center section-title">Skills & Certifications</h2>
|
||||||
<div class="grid md:grid-cols-2 gap-12">
|
<div class="grid md:grid-cols-2 gap-12">
|
||||||
<!-- Skills -->
|
<!-- Skills -->
|
||||||
<div>
|
<div>
|
||||||
<h3 class="text-2xl font-bold mb-6 text-center text-white">Technical Skills</h3>
|
<h3 class="text-2xl font-bold mb-6 text-center text-white">Technical Skills</h3>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<h4 class="text-lg font-semibold mb-2 text-blue-400">Networking</h4>
|
<h4 class="text-lg font-semibold mb-2 text-blue-400">Networking</h4>
|
||||||
<p class="text-gray-400 mb-4">Design, Addressing, VLAN/VPN, Metro Ethernet, FTTX, Fixed Wireless</p>
|
<p class="text-gray-400 mb-4">Design, Addressing, VLAN/VPN, Metro Ethernet, FTTX, Fixed Wireless</p>
|
||||||
<h4 class="text-lg font-semibold mb-2 text-blue-400">Protocols & Technologies</h4>
|
<h4 class="text-lg font-semibold mb-2 text-blue-400">Protocols & Technologies</h4>
|
||||||
<p class="text-gray-400 mb-4">NFS, SMB, FTP, DHCP, OSPF, IS-IS, BGP, MPLS, STP, G.8032, 802.1ad, SIP/VOIP</p>
|
<p class="text-gray-400 mb-4">NFS, SMB, FTP, DHCP, OSPF, IS-IS, BGP, MPLS, STP, G.8032, 802.1ad, SIP/VOIP</p>
|
||||||
<h4 class="text-lg font-semibold mb-2 text-blue-400">Systems & Software</h4>
|
<h4 class="text-lg font-semibold mb-2 text-blue-400">Systems & Software</h4>
|
||||||
<p class="text-gray-400 mb-4">Linux, macOS, MS Windows, Excel, Visio, SharePoint, OPNSense, DD-WRT</p>
|
<p class="text-gray-400 mb-4">Linux, macOS, MS Windows, Excel, Visio, SharePoint, OPNSense, DD-WRT</p>
|
||||||
<h4 class="text-lg font-semibold mb-2 text-blue-400">Vendors & Platforms</h4>
|
<h4 class="text-lg font-semibold mb-2 text-blue-400">Vendors & Platforms</h4>
|
||||||
<p class="text-gray-400">Juniper, Accedian, Adtran, Calix, Ciena, Cisco, Incognito, Alcatel-Lucent</p>
|
<p class="text-gray-400">Juniper, Accedian, Adtran, Calix, Ciena, Cisco, Incognito, Alcatel-Lucent</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- Certifications -->
|
<!-- Certifications -->
|
||||||
<div>
|
<div>
|
||||||
<h3 class="text-2xl font-bold mb-6 text-center text-white">Certifications</h3>
|
<h3 class="text-2xl font-bold mb-6 text-center text-white">Certifications</h3>
|
||||||
<div class="card space-y-4">
|
<div class="card space-y-4">
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<i class="fas fa-certificate icon text-yellow-400"></i>
|
<i class="fas fa-certificate icon text-yellow-400"></i>
|
||||||
<div>
|
<div>
|
||||||
<h4 class="font-bold text-white">JNCIA - DevOps</h4>
|
<h4 class="font-bold text-white">JNCIA - DevOps</h4>
|
||||||
<p class="text-gray-400">July 2025</p>
|
<p class="text-gray-400">July 2025</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<i class="fas fa-certificate icon text-yellow-400"></i>
|
<i class="fas fa-certificate icon text-yellow-400"></i>
|
||||||
<div>
|
<div>
|
||||||
<h4 class="font-bold text-white">JNCIS - Service Provider</h4>
|
<h4 class="font-bold text-white">JNCIS - Service Provider</h4>
|
||||||
<p class="text-gray-400">June 2025</p>
|
<p class="text-gray-400">June 2025</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<i class="fas fa-certificate icon text-yellow-400"></i>
|
<i class="fas fa-certificate icon text-yellow-400"></i>
|
||||||
<div>
|
<div>
|
||||||
<h4 class="font-bold text-white">JNCIS - Enterprise</h4>
|
<h4 class="font-bold text-white">JNCIS - Enterprise</h4>
|
||||||
<p class="text-gray-400">March 2025</p>
|
<p class="text-gray-400">March 2025</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<i class="fas fa-certificate icon text-yellow-400"></i>
|
<i class="fas fa-certificate icon text-yellow-400"></i>
|
||||||
<div>
|
<div>
|
||||||
<h4 class="font-bold text-white">CCNA</h4>
|
<h4 class="font-bold text-white">CCNA</h4>
|
||||||
<p class="text-gray-400">April 2026</p>
|
<p class="text-gray-400">April 2026</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- Work Experience Section -->
|
<!-- Work Experience Section -->
|
||||||
|
|
||||||
<section id="experience" class="py-16">
|
<section id="experience" class="py-16">
|
||||||
<h2 class="text-3xl font-bold text-center section-title">Work Experience</h2>
|
<h2 class="text-3xl font-bold text-center section-title">Work Experience</h2>
|
||||||
<div class="relative border-l-2 border-gray-700 ml-6">
|
<div class="relative border-l-2 border-gray-700 ml-6">
|
||||||
<!-- Timeline Item -->
|
<!-- Timeline Item -->
|
||||||
<div class="mb-10 ml-6">
|
<div class="mb-10 ml-6">
|
||||||
<span class="absolute flex items-center justify-center w-6 h-6 bg-blue-500 rounded-full -left-3 ring-8 ring-gray-900">
|
<span class="absolute flex items-center justify-center w-6 h-6 bg-blue-500 rounded-full -left-3 ring-8 ring-gray-900">
|
||||||
<i class="fas fa-briefcase text-white text-xs"></i>
|
<i class="fas fa-briefcase text-white text-xs"></i>
|
||||||
</span>
|
</span>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<h3 class="flex items-center mb-1 text-lg font-semibold text-white">Service Activation Engineer <span class="text-blue-400 text-sm font-medium ml-2">(Sparklight / Hargray)</span></h3>
|
<h3 class="flex items-center mb-1 text-lg font-semibold text-white">Service Activation Engineer <span class="text-blue-400 text-sm font-medium ml-2">(Sparklight / Hargray)</span></h3>
|
||||||
<time class="block mb-2 text-sm font-normal leading-none text-gray-500">June 2024 - Present</time>
|
<time class="block mb-2 text-sm font-normal leading-none text-gray-500">June 2024 - Present</time>
|
||||||
<p class="mb-4 text-base font-normal text-gray-400">Expertly activated new DIA, EPL, and CBH Ethernet services through design, deployment, and testing. Proactively identified and resolved network constraints to facilitate multi-gigabit services. Contributed to key company initiatives including billing migration and IP entanglement projects.</p>
|
<p class="mb-4 text-base font-normal text-gray-400">Expertly activated new DIA, EPL, and CBH Ethernet services through design, deployment, and testing. Proactively identified and resolved network constraints to facilitate multi-gigabit services. Contributed to key company initiatives including billing migration and IP entanglement projects.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- Timeline Item -->
|
<!-- Timeline Item -->
|
||||||
<div class="mb-10 ml-6">
|
<div class="mb-10 ml-6">
|
||||||
<span class="absolute flex items-center justify-center w-6 h-6 bg-blue-500 rounded-full -left-3 ring-8 ring-gray-900">
|
<span class="absolute flex items-center justify-center w-6 h-6 bg-blue-500 rounded-full -left-3 ring-8 ring-gray-900">
|
||||||
<i class="fas fa-briefcase text-white text-xs"></i>
|
<i class="fas fa-briefcase text-white text-xs"></i>
|
||||||
</span>
|
</span>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<h3 class="text-lg font-semibold text-white">Service Activation Technician III</h3>
|
<h3 class="text-lg font-semibold text-white">Service Activation Technician III</h3>
|
||||||
<time class="block mb-2 text-sm font-normal leading-none text-gray-500">April 2023 - June 2024</time>
|
<time class="block mb-2 text-sm font-normal leading-none text-gray-500">April 2023 - June 2024</time>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- Timeline Item -->
|
<!-- Timeline Item -->
|
||||||
<div class="mb-10 ml-6">
|
<div class="mb-10 ml-6">
|
||||||
<span class="absolute flex items-center justify-center w-6 h-6 bg-blue-500 rounded-full -left-3 ring-8 ring-gray-900">
|
<span class="absolute flex items-center justify-center w-6 h-6 bg-blue-500 rounded-full -left-3 ring-8 ring-gray-900">
|
||||||
<i class="fas fa-briefcase text-white text-xs"></i>
|
<i class="fas fa-briefcase text-white text-xs"></i>
|
||||||
</span>
|
</span>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<h3 class="text-lg font-semibold text-white">Service Activation Technician II</h3>
|
<h3 class="text-lg font-semibold text-white">Service Activation Technician II</h3>
|
||||||
<time class="block mb-2 text-sm font-normal leading-none text-gray-500">July 2020 - April 2023</time>
|
<time class="block mb-2 text-sm font-normal leading-none text-gray-500">July 2020 - April 2023</time>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- Timeline Item -->
|
<!-- Timeline Item -->
|
||||||
<div class="ml-6">
|
<div class="ml-6">
|
||||||
<span class="absolute flex items-center justify-center w-6 h-6 bg-blue-500 rounded-full -left-3 ring-8 ring-gray-900">
|
<span class="absolute flex items-center justify-center w-6 h-6 bg-blue-500 rounded-full -left-3 ring-8 ring-gray-900">
|
||||||
<i class="fas fa-briefcase text-white text-xs"></i>
|
<i class="fas fa-briefcase text-white text-xs"></i>
|
||||||
</span>
|
</span>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<h3 class="text-lg font-semibold text-white">Previous Roles</h3>
|
<h3 class="text-lg font-semibold text-white">Previous Roles</h3>
|
||||||
<time class="block mb-2 text-sm font-normal leading-none text-gray-500">May 2014 - July 2020</time>
|
<time class="block mb-2 text-sm font-normal leading-none text-gray-500">May 2014 - July 2020</time>
|
||||||
<ul class="list-disc list-inside text-gray-400">
|
<ul class="list-disc list-inside text-gray-400">
|
||||||
<li>Service Activation Technician</li>
|
<li>Service Activation Technician</li>
|
||||||
<li>IT - Helpdesk Analyst</li>
|
<li>IT - Helpdesk Analyst</li>
|
||||||
<li>TAC Support Technician</li>
|
<li>TAC Support Technician</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- Contact Section -->
|
<!-- Contact Section -->
|
||||||
|
|
||||||
<section id="contact" class="py-16">
|
<section id="contact" class="py-16">
|
||||||
<h2 class="text-3xl font-bold text-center section-title">Get In Touch</h2>
|
<div class="glass-card max-w-2xl mx-auto p-8 md:p-12 rounded-lg">
|
||||||
<div class="card max-w-2xl mx-auto">
|
<h2 class="text-3xl font-bold text-center section-title">Get In Touch</h2>
|
||||||
<p class="text-center text-gray-400 mb-8">Have a project in mind or just want to chat? Fill out the form below or email me directly.</p>
|
<p class="text-center text-gray-400 mb-8">I'm always open to discussing new projects, creative ideas, or opportunities to be part of an ambitious vision.</p>
|
||||||
<form action="https://formspree.io/f/mnnzgdak" method="POST">
|
<form action="https://formspree.io/f/mnnzgdak" method="POST">
|
||||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-6">
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-6">
|
||||||
<input type="text" name="name" placeholder="Your Name" required class="w-full p-3 rounded bg-gray-700 border border-gray-600 focus:outline-none focus:ring-2 focus:ring-blue-500">
|
<input type="text" name="name" placeholder="Your Name" required class="w-full p-3 rounded bg-gray-900 border border-gray-600 focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||||
<input type="email" name="email" placeholder="Your Email" required class="w-full p-3 rounded bg-gray-700 border border-gray-600 focus:outline-none focus:ring-2 focus:ring-blue-500">
|
<input type="email" name="email" placeholder="Your Email" required class="w-full p-3 rounded bg-gray-900 border border-gray-600 focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||||
</div>
|
</div>
|
||||||
<textarea name="message" placeholder="Your Message" rows="5" required class="w-full p-3 rounded bg-gray-700 border border-gray-600 focus:outline-none focus:ring-2 focus:ring-blue-500 mb-6"></textarea>
|
<textarea name="message" placeholder="Your Message" rows="5" required class="w-full p-3 rounded bg-gray-900 border border-gray-600 focus:outline-none focus:ring-2 focus:ring-blue-500 mb-6"></textarea>
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<button type="submit" class="btn">Send Message</button>
|
<button type="submit" class="btn">Send Message</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
@@ -8,6 +8,29 @@ if (mobileMenuButton && mobileMenu) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Typewriter Effect
|
||||||
|
const typewriterElement = document.getElementById('typewriter');
|
||||||
|
const text = "Specializing in ISP Environments";
|
||||||
|
let index = 0;
|
||||||
|
let isDeleting = false;
|
||||||
|
|
||||||
|
function type() {
|
||||||
|
const currentText = text.substring(0, index);
|
||||||
|
typewriterElement.textContent = currentText;
|
||||||
|
|
||||||
|
if (!isDeleting && index < text.length) {
|
||||||
|
index++;
|
||||||
|
setTimeout(type, 100);
|
||||||
|
} else {
|
||||||
|
// Keep the full text visible
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Start typing effect on load
|
||||||
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
|
setTimeout(type, 500);
|
||||||
|
});
|
||||||
|
|
||||||
// Smooth scrolling for anchor links
|
// Smooth scrolling for anchor links
|
||||||
document.querySelectorAll('a[href^="/#"]').forEach(anchor => {
|
document.querySelectorAll('a[href^="/#"]').forEach(anchor => {
|
||||||
anchor.addEventListener('click', function (e) {
|
anchor.addEventListener('click', function (e) {
|
||||||
|
@@ -5,7 +5,7 @@ layout: "post.njk"
|
|||||||
tags: "posts"
|
tags: "posts"
|
||||||
---
|
---
|
||||||
|
|
||||||
Welcome to my new blog! This is my very first post. This website was created with eleventy using a custom nodejs docker container, pretty cool huh??
|
Welcome to my new blog! This is my very first post. This website was created using eleventy in a custom nodejs docker container, pretty cool huh?? Maybe I'll post the source code one here one day!
|
||||||
|
<br/>
|
||||||
|
<br/>
|
||||||
Check back soon for more updates on networking, homelabbing, and technology!
|
Check back soon for more updates on networking, homelabbing, and technology!
|
Reference in New Issue
Block a user