Files
wedding/templates/base.html
T
ab a69da34e3c Initial commit: wedding website template with configurable content
Zola-based single-page wedding site with all content (schedule, details,
colors, images, RSVP link) managed via config.toml. Multi-day schedule
layout, Blue & Green color palette, CSS custom properties for theming.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-19 15:52:49 +03:00

78 lines
3.2 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{% block title %}{{ config.title }}{% endblock %}</title>
<meta name="description" content="{{ config.description }}">
<link rel="stylesheet" href="{{ get_url(path='style.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=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Montserrat:wght@300;400;500&display=swap" rel="stylesheet">
{% if config.extra.colors %}
<style>
:root {
--color-primary: {{ config.extra.colors.primary }};
--color-primary-light: {{ config.extra.colors.primary_light }};
--color-accent: {{ config.extra.colors.accent }};
--color-text: {{ config.extra.colors.text }};
--color-text-light: {{ config.extra.colors.text_light }};
--color-bg: {{ config.extra.colors.background }};
--color-bg-alt: {{ config.extra.colors.background_alt }};
--color-white: {{ config.extra.colors.white }};
--color-border: {{ config.extra.colors.border }};
--hero-gradient: {{ config.extra.colors.hero_gradient }};
}
</style>
{% endif %}
</head>
<body>
<nav class="nav" id="nav">
<div class="nav__inner">
<a href="{{ get_url(path='@/_index.md') }}" class="nav__logo">{{ config.extra.bride }} & {{ config.extra.groom }}</a>
<button class="nav__toggle" aria-label="Меню" onclick="document.getElementById('nav').classList.toggle('nav--open')">
<span></span><span></span><span></span>
</button>
<ul class="nav__links">
<li><a href="#about">О нас</a></li>
<li><a href="#schedule">Программа</a></li>
<li><a href="#location">Место</a></li>
<li><a href="#details">Детали</a></li>
<li><a href="#rsvp">RSVP</a></li>
</ul>
</div>
</nav>
{% block content %}{% endblock %}
<footer class="footer">
<div class="container">
<p class="footer__names">{{ config.extra.bride }} & {{ config.extra.groom }}</p>
<p class="footer__date">{{ config.extra.wedding_date }}</p>
</div>
</footer>
<script>
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', function (e) {
e.preventDefault();
const target = document.querySelector(this.getAttribute('href'));
if (target) {
target.scrollIntoView({ behavior: 'smooth' });
document.getElementById('nav').classList.remove('nav--open');
}
});
});
window.addEventListener('scroll', () => {
const nav = document.getElementById('nav');
if (window.scrollY > 50) {
nav.classList.add('nav--scrolled');
} else {
nav.classList.remove('nav--scrolled');
}
});
</script>
</body>
</html>