commit f80dbe019f43244bd467052163a94c008ee5ea94
Author: root <root@hub.scroll.pub> Date: 2024-12-24 01:22:22 +0000 Subject: Initial commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..f272fd9 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# wifijourney.scroll.pub +Website generated from prompt: make a website about the history of wifi and have a timeline and go all the way back to maxwell \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..c6f0831 --- /dev/null +++ b/index.html @@ -0,0 +1,92 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content="Explore the fascinating evolution of WiFi technology from Maxwell's equations to modern wireless communication"> + <meta name="keywords" content="WiFi history, wireless technology, Maxwell equations, radio waves, wireless communication"> + <title>The Journey of WiFi | From Maxwell to Modern Day</title> + <link rel="stylesheet" href="style.css"> +</head> +<body> + <header> + <nav> + <ul> + <li><a href="#top">Home</a></li> + <li><a href="#timeline">Timeline</a></li> + <li><a href="#pioneers">Pioneers</a></li> + </ul> + </nav> + </header> + + <main> + <section class="hero" id="top"> + <div class="wave-container"> + <div class="wave"></div> + <div class="wave"></div> + <div class="wave"></div> + </div> + <h1>The Evolution of WiFi</h1> + <p>From electromagnetic theory to wireless ubiquity</p> + </section> + + <section id="timeline" class="timeline-section"> + <h2>Timeline of Wireless Innovation</h2> + <div class="timeline"> + <div class="timeline-item" data-year="1865"> + <h3>James Clerk Maxwell</h3> + <p>Published "A Dynamical Theory of the Electromagnetic Field" introducing Maxwell's equations</p> + </div> + <div class="timeline-item" data-year="1888"> + <h3>Heinrich Hertz</h3> + <p>First to demonstrate the existence of electromagnetic waves</p> + </div> + <div class="timeline-item" data-year="1896"> + <h3>Guglielmo Marconi</h3> + <p>First successful wireless telegraphy system</p> + </div> + <div class="timeline-item" data-year="1971"> + <h3>ALOHAnet</h3> + <p>First wireless packet data network</p> + </div> + <div class="timeline-item" data-year="1997"> + <h3>IEEE 802.11</h3> + <p>First WiFi standard established</p> + </div> + <div class="timeline-item" data-year="2009"> + <h3>802.11n</h3> + <p>Introduction of MIMO technology</p> + </div> + <div class="timeline-item" data-year="2024"> + <h3>WiFi 7</h3> + <p>Latest generation of WiFi technology</p> + </div> + </div> + </section> + + <section id="pioneers" class="pioneers-section"> + <h2>Wireless Pioneers</h2> + <div class="pioneers-grid"> + <article class="pioneer-card"> + <h3>James Clerk Maxwell</h3> + <p>Laid the theoretical foundation for electromagnetic waves</p> + </article> + <article class="pioneer-card"> + <h3>Heinrich Hertz</h3> + <p>Proved Maxwell's theories through experimentation</p> + </article> + <article class="pioneer-card"> + <h3>Guglielmo Marconi</h3> + <p>Developed practical wireless communication systems</p> + </article> + </div> + </section> + </main> + + <footer> + <p>Created with passion by wireless enthusiasts</p> + </footer> + + <script src="script.js"></script> +</body> +</html> diff --git a/script.js b/script.js new file mode 100644 index 0000000..49ea2f0 --- /dev/null +++ b/script.js @@ -0,0 +1,45 @@ +document.addEventListener('DOMContentLoaded', () => { + // Smooth scroll for navigation links + document.querySelectorAll('a[href^="#"]').forEach(anchor => { + anchor.addEventListener('click', function (e) { + e.preventDefault(); + document.querySelector(this.getAttribute('href')).scrollIntoView({ + behavior: 'smooth' + }); + }); + }); + + // Timeline animation + const timelineItems = document.querySelectorAll('.timeline-item'); + + const observerOptions = { + root: null, + rootMargin: '0px', + threshold: 0.3 + }; + + const observer = new IntersectionObserver((entries, observer) => { + entries.forEach(entry => { + if (entry.isIntersecting) { + entry.target.classList.add('visible'); + observer.unobserve(entry.target); + } + }); + }, observerOptions); + + timelineItems.forEach(item => { + observer.observe(item); + }); + + // Add parallax effect to waves + document.addEventListener('mousemove', (e) => { + const waves = document.querySelectorAll('.wave'); + const mouseX = e.clientX / window.innerWidth; + const mouseY = e.clientY / window.innerHeight; + + waves.forEach((wave, index) => { + const factor = (index + 1) * 2; + wave.style.transform = `rotate(${mouseX * factor}deg) translate(${mouseY * factor}px, ${mouseX * factor}px)`; + }); + }); +}); diff --git a/style.css b/style.css new file mode 100644 index 0000000..5104bb3 --- /dev/null +++ b/style.css @@ -0,0 +1,227 @@ +:root { + --primary-color: #2c3e50; + --secondary-color: #3498db; + --accent-color: #e74c3c; + --text-color: #2c3e50; + --background-color: #ecf0f1; +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; + line-height: 1.6; + color: var(--text-color); + background-color: var(--background-color); +} + +header { + position: fixed; + width: 100%; + background: rgba(255, 255, 255, 0.95); + backdrop-filter: blur(10px); + z-index: 1000; + box-shadow: 0 2px 10px rgba(0,0,0,0.1); +} + +nav ul { + display: flex; + justify-content: center; + list-style: none; + padding: 1rem; +} + +nav ul li { + margin: 0 1.5rem; +} + +nav ul li a { + text-decoration: none; + color: var(--primary-color); + font-weight: 500; + transition: color 0.3s ease; +} + +nav ul li a:hover { + color: var(--secondary-color); +} + +.hero { + height: 100vh; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + text-align: center; + position: relative; + overflow: hidden; +} + +.wave-container { + position: absolute; + width: 100%; + height: 100%; + overflow: hidden; +} + +.wave { + position: absolute; + width: 200%; + height: 200%; + background: rgba(52, 152, 219, 0.1); + border-radius: 43%; + animation: wave 20s infinite linear; + transform-origin: 50% 48%; + top: -75%; + left: -50%; +} + +.wave:nth-child(2) { + animation-duration: 25s; + background: rgba(52, 152, 219, 0.05); +} + +.wave:nth-child(3) { + animation-duration: 30s; + background: rgba(52, 152, 219, 0.02); +} + +@keyframes wave { + from { transform: rotate(0deg); } + to { transform: rotate(360deg); } +} + +h1 { + font-size: 3.5rem; + margin-bottom: 1rem; + color: var(--primary-color); + position: relative; + z-index: 1; +} + +.timeline-section { + padding: 4rem 2rem; +} + +.timeline { + position: relative; + max-width: 1200px; + margin: 2rem auto; +} + +.timeline::before { + content: ''; + position: absolute; + width: 4px; + background: var(--secondary-color); + top: 0; + bottom: 0; + left: 50%; + transform: translateX(-50%); + border-radius: 2px; +} + +.timeline-item { + padding: 2rem; + position: relative; + width: 50%; + margin: 2rem 0; + opacity: 0; + transform: translateX(-100px); + transition: all 0.5s ease; +} + +.timeline-item.visible { + opacity: 1; + transform: translateX(0); +} + +.timeline-item:nth-child(even) { + left: 50%; +} + +.timeline-item::before { + content: attr(data-year); + position: absolute; + background: var(--secondary-color); + color: white; + padding: 0.5rem 1rem; + border-radius: 20px; + top: 0; +} + +.timeline-item:nth-child(odd)::before { + right: -20%; +} + +.timeline-item:nth-child(even)::before { + left: -20%; +} + +.pioneers-section { + padding: 4rem 2rem; + background: white; +} + +.pioneers-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 2rem; + max-width: 1200px; + margin: 2rem auto; +} + +.pioneer-card { + background: white; + padding: 2rem; + border-radius: 10px; + box-shadow: 0 4px 6px rgba(0,0,0,0.1); + transition: transform 0.3s ease; +} + +.pioneer-card:hover { + transform: translateY(-5px); +} + +footer { + text-align: center; + padding: 2rem; + background: var(--primary-color); + color: white; +} + +@media (max-width: 768px) { + .timeline::before { + left: 2rem; + } + + .timeline-item { + width: 100%; + padding-left: 4rem; + } + + .timeline-item:nth-child(even) { + left: 0; + } + + .timeline-item::before { + left: 0 !important; + } + + nav ul { + flex-direction: column; + align-items: center; + } + + nav ul li { + margin: 0.5rem 0; + } + + h1 { + font-size: 2.5rem; + } +}