/
pyrobyte
/
pyrobyteblog
Обзор
Документация
Войти
/
pyrobyte
/
pyrobyteblog
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
index.html
324 строки
9 KB
Aleksei
Update footer text and add new link
26 дек 2025, 13:04
Не верифицирован
26 дек 2025, 13:04
6bf184b
Код
Авторство
О чём код?
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Технический блог | Переход в IT</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> <style> :root { --black: #000000; --white: #ffffff; --gray-100: #f5f5f5; --gray-200: #eeeeee; --gray-800: #424242; --gray-900: #212121; } * { margin: 0; padding: 0; box-sizing: border-box; transition: all 0.3s ease; } body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; line-height: 1.7; background-color: var(--white); color: var(--black); overflow-x: hidden; } .dark-mode { background-color: var(--black); color: var(--white); } .container { max-width: 1100px; margin: 0 auto; padding: 2rem; } header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 3rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--gray-200); } .dark-mode header { border-color: var(--gray-800); } h1 { font-size: 2.8rem; color: var(--black); margin-bottom: 1rem; animation: fadeIn 1s ease; } .dark-mode h1 { color: var(--white); } h2 { color: var(--black); margin: 2rem 0 1rem; font-size: 1.8rem; position: relative; display: inline-block; } .dark-mode h2 { color: var(--white); } h2:after { content: ''; position: absolute; bottom: -5px; left: 0; width: 50%; height: 2px; background: var(--black); border-radius: 3px; } .dark-mode h2:after { background: var(--white); } p { margin-bottom: 1.5rem; font-size: 1.1rem; color: var(--black); } .dark-mode p { color: var(--white); } .card { background: var(--white); border-radius: 8px; padding: 2rem; margin: 2rem 0; border: 1px solid var(--gray-200); transition: transform 0.3s ease; } .dark-mode .card { background: var(--black); border-color: var(--gray-800); } .card:hover { transform: translateY(-3px); } .hero-img { width: 100%; border-radius: 8px; margin: 2rem 0; border: 1px solid var(--gray-200); } .dark-mode .hero-img { border-color: var(--gray-800); } .article-card { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 2.5rem; } .article-card img { width: 100%; max-height: 400px; object-fit: cover; border-radius: 8px; margin-bottom: 1.5rem; } .article-link { display: inline-block; margin-top: 1.5rem; padding: 0.8rem 2rem; background: var(--black); color: var(--white); border-radius: 4px; text-decoration: none; font-weight: 500; transition: all 0.3s ease; border: 1px solid var(--black); } .dark-mode .article-link { background: var(--white); color: var(--black); border-color: var(--white); } .article-link:hover { background: transparent; color: var(--black); } .dark-mode .article-link:hover { color: var(--white); } .categories { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1.5rem; } .category { padding: 0.6rem 1.2rem; background: var(--gray-100); border-radius: 4px; color: var(--black); font-weight: 500; text-decoration: none; border: 1px solid var(--gray-200); } .dark-mode .category { background: var(--gray-900); color: var(--white); border-color: var(--gray-800); } .category:hover { background: var(--black); color: var(--white); } .dark-mode .category:hover { background: var(--white); color: var(--black); } .theme-toggle { background: none; border: none; font-size: 1.5rem; cursor: pointer; color: var(--black); } .dark-mode .theme-toggle { color: var(--white); } footer { text-align: center; margin-top: 4rem; padding: 2rem 0; border-top: 1px solid var(--gray-200); } .dark-mode footer { border-color: var(--gray-800); } @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } /* Адаптивность */ @media (max-width: 768px) { h1 { font-size: 2.2rem; } .container { padding: 1.5rem; } .article-card { padding: 1.5rem; } } </style> </head> <body> <div class="container"> <header> <div> <h1>📚 Мой технический блог</h1> <p>Добро пожаловать в мой блог о переходе в IT! Здесь я делюсь личным опытом смены профессии с инженера-судоводителя на Python-разработчика (Django).</p> </div> <button class="theme-toggle" id="themeToggle"> <i class="fas fa-moon"></i> </button> </header> <div class="card article-card"> <img src="https://images.unsplash.com/photo-1454165804606-c3d57bc86b40?w=1200" alt="Карьера в IT" class="hero-img"> <h2>🚢 От инженера-судоводителя до айтишника</h2> <p><em>Мой путь в IT и анализ рынка 2022 vs 2025</em></p> <a href="first-article.html" class="article-link">Читать статью →</a> </div> <div class="card"> <h2>📌 Категории</h2> <div class="categories"> <a href="first-article.html" class="category">Карьерный переход</a> <a href="#" class="category">Python</a> <a href="#" class="category">Django</a> <a href="#" class="category">Советы новичкам</a> <a href="osm-wsl-guide.html" class="category">Настройка среды для работы с OpenStreetMap</a> </div> </div> <footer> <p>© 2025 PyroByte. Все права защищены.</p> </footer> </div> <script> // Переключение темы const themeToggle = document.getElementById('themeToggle'); const body = document.body; const icon = themeToggle.querySelector('i'); // Проверяем сохранённую тему if (localStorage.getItem('theme') === 'dark') { body.classList.add('dark-mode'); icon.classList.replace('fa-moon', 'fa-sun'); } themeToggle.addEventListener('click', () => { body.classList.toggle('dark-mode'); if (body.classList.contains('dark-mode')) { icon.classList.replace('fa-moon', 'fa-sun'); localStorage.setItem('theme', 'dark'); } else { icon.classList.replace('fa-sun', 'fa-moon'); localStorage.setItem('theme', 'light'); } }); // Плавная анимация при загрузке document.addEventListener('DOMContentLoaded', () => { const cards = document.querySelectorAll('.card'); cards.forEach((card, index) => { card.style.animation = `fadeIn 0.5s ease ${index * 0.1}s forwards`; card.style.opacity = 0; }); }); </script> </body> </html>