working site??
This commit is contained in:
22
.eleventy.js
Normal file
22
.eleventy.js
Normal file
@@ -0,0 +1,22 @@
|
||||
module.exports = function(eleventyConfig) {
|
||||
// Pass through static assets from the "src" directory
|
||||
eleventyConfig.addPassthroughCopy("src/css");
|
||||
eleventyConfig.addPassthroughCopy("src/js");
|
||||
eleventyConfig.addPassthroughCopy("src/resume");
|
||||
|
||||
// Add a shortcode for the current year for the footer
|
||||
eleventyConfig.addShortcode("year", () => `${new Date().getFullYear()}`);
|
||||
|
||||
return {
|
||||
// Set the source and output directories
|
||||
dir: {
|
||||
input: "src",
|
||||
output: "_site",
|
||||
includes: "_includes",
|
||||
data: "_data"
|
||||
},
|
||||
markdownTemplateEngine: "njk",
|
||||
htmlTemplateEngine: "njk",
|
||||
dataTemplateEngine: "njk",
|
||||
};
|
||||
};
|
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,2 +1 @@
|
||||
_site/index.html
|
||||
_site/README/index.html
|
||||
_site/
|
17
index.md
17
index.md
@@ -1,17 +0,0 @@
|
||||
---
|
||||
subject: World
|
||||
---
|
||||
# Hello {{ subject }}
|
||||
|
||||
You can type here!
|
||||
|
||||
- [Markdown](https://www.11ty.dev/docs/languages/markdown/)
|
||||
- [Liquid](https://www.11ty.dev/docs/languages/liquid/)
|
||||
|
||||
## Posts
|
||||
|
||||
{%- for post in collections.posts %}
|
||||
- [{{ post.data.title }}]({{ post.url}})
|
||||
{%- endfor %}
|
||||
|
||||
_Built with {{ eleventy.generator }}_
|
@@ -2,7 +2,6 @@
|
||||
"name": "eleventy",
|
||||
"version": "1.0.0",
|
||||
"description": "A basic Eleventy project.",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"start": "npx @11ty/eleventy --serve",
|
||||
"build": "npx @11ty/eleventy"
|
||||
|
8
src/_data/site.json
Normal file
8
src/_data/site.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"author": {
|
||||
"name": "Jesus Otero Lagunes",
|
||||
"email": "jesus@twk95.com",
|
||||
"linkedinUrl": "https://linkedin.twk95.com"
|
||||
},
|
||||
"resumeUrl": "resume/jesus-main.pdf"
|
||||
}
|
62
src/_includes/layout.njk
Normal file
62
src/_includes/layout.njk
Normal file
@@ -0,0 +1,62 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>{{ title }}</title>
|
||||
<script src="https://cdn.tailwindcss.com"></script>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<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 rel="stylesheet" href="/css/style.css">
|
||||
</head>
|
||||
<body class="antialiased">
|
||||
|
||||
<!-- Header -->
|
||||
<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">
|
||||
<a href="/" class="text-2xl font-bold text-white">{{ site.author.name }}</a>
|
||||
<div class="hidden md:flex space-x-6 items-center">
|
||||
<a href="/#about" class="text-gray-300 hover:text-white">About</a>
|
||||
<a href="/#services" class="text-gray-300 hover:text-white">Services</a>
|
||||
<a href="/#skills" class="text-gray-300 hover:text-white">Skills</a>
|
||||
<a href="/#experience" class="text-gray-300 hover:text-white">Experience</a>
|
||||
<a href="/#contact" class="text-gray-300 hover:text-white">Contact</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="/#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>
|
||||
</header>
|
||||
|
||||
<main class="container mx-auto px-6 py-12">
|
||||
{{ content | safe }}
|
||||
</main>
|
||||
|
||||
<!-- Footer -->
|
||||
<footer class="bg-gray-900 text-gray-400 py-6">
|
||||
<div class="container mx-auto px-6 text-center">
|
||||
<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="mailto:{{ site.author.email }}" class="hover:text-white"><i class="fas fa-envelope fa-2x"></i></a>
|
||||
</div>
|
||||
<p>© {% year %} {{ site.author.name }}. All Rights Reserved.</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
54
src/css/style.css
Normal file
54
src/css/style.css
Normal file
@@ -0,0 +1,54 @@
|
||||
body {
|
||||
font-family: 'Inter', sans-serif;
|
||||
background-color: #1a202c;
|
||||
color: #e2e8f0;
|
||||
}
|
||||
.section-title {
|
||||
border-bottom: 2px solid #4a5568;
|
||||
padding-bottom: 0.5rem;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
.card {
|
||||
background-color: #2d3748;
|
||||
border-radius: 0.5rem;
|
||||
padding: 1.5rem;
|
||||
transition: transform 0.3s ease, box-shadow 0.3s ease;
|
||||
}
|
||||
.card:hover {
|
||||
transform: translateY(-5px);
|
||||
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
.tag {
|
||||
background-color: #4a5568;
|
||||
color: #e2e8f0;
|
||||
padding: 0.25rem 0.75rem;
|
||||
border-radius: 9999px;
|
||||
font-size: 0.875rem;
|
||||
margin-right: 0.5rem;
|
||||
margin-bottom: 0.5rem;
|
||||
display: inline-block;
|
||||
}
|
||||
.btn {
|
||||
display: inline-block;
|
||||
font-weight: 600;
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
background-color: #4299e1;
|
||||
color: white;
|
||||
border: 1px solid transparent;
|
||||
padding: 0.75rem 1.5rem;
|
||||
font-size: 1rem;
|
||||
line-height: 1.5;
|
||||
border-radius: 0.5rem;
|
||||
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;
|
||||
}
|
||||
.btn:hover {
|
||||
background-color: #3182ce;
|
||||
}
|
||||
.icon {
|
||||
font-size: 1.5rem;
|
||||
margin-right: 1rem;
|
||||
color: #4299e1;
|
||||
}
|
198
src/index.md
Normal file
198
src/index.md
Normal file
@@ -0,0 +1,198 @@
|
||||
---
|
||||
title: "Jesus E. Otero Lagunes - Telecommunications Specialist"
|
||||
layout: "layout.njk"
|
||||
---
|
||||
|
||||
<!-- Hero Section -->
|
||||
|
||||
<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>
|
||||
<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>
|
||||
<a href="#contact" class="btn">Get in Touch</a>
|
||||
</section>
|
||||
|
||||
<!-- About Me Section -->
|
||||
|
||||
<section id="about" class="py-16">
|
||||
<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="md:w-2/3">
|
||||
<p class="text-lg text-gray-300 mb-4">
|
||||
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 class="text-lg text-gray-300">
|
||||
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.
|
||||
</p>
|
||||
</div>
|
||||
<div class="md:w-1/3 text-center">
|
||||
<img src="https://placehold.co/300x300/2d3748/e2e8f0?text=JOL" alt="Jesus Otero Lagunes" class="rounded-full mx-auto shadow-lg">
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Services Section -->
|
||||
|
||||
<section id="services" class="py-16">
|
||||
<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="card">
|
||||
<i class="fas fa-network-wired icon"></i>
|
||||
<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>
|
||||
</div>
|
||||
<div class="card">
|
||||
<i class="fas fa-tools icon"></i>
|
||||
<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>
|
||||
</div>
|
||||
<div class="card">
|
||||
<i class="fas fa-cogs icon"></i>
|
||||
<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>
|
||||
</div>
|
||||
<div class="card">
|
||||
<i class="fas fa-code-branch icon"></i>
|
||||
<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>
|
||||
</div>
|
||||
<div class="card">
|
||||
<i class="fas fa-server icon"></i>
|
||||
<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>
|
||||
</div>
|
||||
<div class="card">
|
||||
<i class="fas fa-chalkboard-teacher icon"></i>
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Skills & Certifications Section -->
|
||||
|
||||
<section id="skills" class="py-16">
|
||||
<h2 class="text-3xl font-bold text-center section-title">Skills & Certifications</h2>
|
||||
<div class="grid md:grid-cols-2 gap-12">
|
||||
<!-- Skills -->
|
||||
<div>
|
||||
<h3 class="text-2xl font-bold mb-6 text-center text-white">Technical Skills</h3>
|
||||
<div class="card">
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Certifications -->
|
||||
<div>
|
||||
<h3 class="text-2xl font-bold mb-6 text-center text-white">Certifications</h3>
|
||||
<div class="card space-y-4">
|
||||
<div class="flex items-center">
|
||||
<i class="fas fa-certificate icon text-yellow-400"></i>
|
||||
<div>
|
||||
<h4 class="font-bold text-white">JNCIA - DevOps</h4>
|
||||
<p class="text-gray-400">July 2025</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-center">
|
||||
<i class="fas fa-certificate icon text-yellow-400"></i>
|
||||
<div>
|
||||
<h4 class="font-bold text-white">JNCIS - Service Provider</h4>
|
||||
<p class="text-gray-400">June 2025</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-center">
|
||||
<i class="fas fa-certificate icon text-yellow-400"></i>
|
||||
<div>
|
||||
<h4 class="font-bold text-white">JNCIS - Enterprise</h4>
|
||||
<p class="text-gray-400">March 2025</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-center">
|
||||
<i class="fas fa-certificate icon text-yellow-400"></i>
|
||||
<div>
|
||||
<h4 class="font-bold text-white">CCNA</h4>
|
||||
<p class="text-gray-400">April 2026</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Work Experience Section -->
|
||||
|
||||
<section id="experience" class="py-16">
|
||||
<h2 class="text-3xl font-bold text-center section-title">Work Experience</h2>
|
||||
<div class="relative border-l-2 border-gray-700 ml-6">
|
||||
<!-- Timeline Item -->
|
||||
<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">
|
||||
<i class="fas fa-briefcase text-white text-xs"></i>
|
||||
</span>
|
||||
<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>
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Timeline Item -->
|
||||
<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">
|
||||
<i class="fas fa-briefcase text-white text-xs"></i>
|
||||
</span>
|
||||
<div class="card">
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Timeline Item -->
|
||||
<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">
|
||||
<i class="fas fa-briefcase text-white text-xs"></i>
|
||||
</span>
|
||||
<div class="card">
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Timeline Item -->
|
||||
<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">
|
||||
<i class="fas fa-briefcase text-white text-xs"></i>
|
||||
</span>
|
||||
<div class="card">
|
||||
<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>
|
||||
<ul class="list-disc list-inside text-gray-400">
|
||||
<li>Service Activation Technician</li>
|
||||
<li>IT - Helpdesk Analyst</li>
|
||||
<li>TAC Support Technician</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Contact Section -->
|
||||
|
||||
<section id="contact" class="py-16">
|
||||
<h2 class="text-3xl font-bold text-center section-title">Get In Touch</h2>
|
||||
<div class="card max-w-2xl mx-auto">
|
||||
<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>
|
||||
<form action="https://formspree.io/f/mnnzgdak" method="POST">
|
||||
<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="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">
|
||||
</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>
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn">Send Message</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
31
src/js/main.js
Normal file
31
src/js/main.js
Normal file
@@ -0,0 +1,31 @@
|
||||
// Mobile menu toggle
|
||||
const mobileMenuButton = document.getElementById('mobile-menu-button');
|
||||
const mobileMenu = document.getElementById('mobile-menu');
|
||||
|
||||
if (mobileMenuButton && mobileMenu) {
|
||||
mobileMenuButton.addEventListener('click', () => {
|
||||
mobileMenu.classList.toggle('hidden');
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// Smooth scrolling for anchor links
|
||||
document.querySelectorAll('a[href^="/#"]').forEach(anchor => {
|
||||
anchor.addEventListener('click', function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
let targetId = this.getAttribute('href').substring(2);
|
||||
let targetElement = document.getElementById(targetId);
|
||||
|
||||
if (targetElement) {
|
||||
targetElement.scrollIntoView({
|
||||
behavior: 'smooth'
|
||||
});
|
||||
}
|
||||
|
||||
// Close mobile menu on link click
|
||||
if (mobileMenu && !mobileMenu.classList.contains('hidden')) {
|
||||
mobileMenu.classList.add('hidden');
|
||||
}
|
||||
});
|
||||
});
|
BIN
src/resume/jesus-main.pdf
Normal file
BIN
src/resume/jesus-main.pdf
Normal file
Binary file not shown.
Reference in New Issue
Block a user