Update UI and migrations, fix dockerfile

This commit is contained in:
Your Name
2026-07-18 21:29:05 +05:00
parent 580c75cbf6
commit 26ef145ccf
95 changed files with 9541 additions and 111 deletions
+67
View File
@@ -0,0 +1,67 @@
<!doctype html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{ meta_title }}</title>
<meta name="description" content="{{ meta_description }}">
{% if noindex %}<meta name="robots" content="noindex,follow">{% else %}<meta name="robots" content="index,follow,max-image-preview:large">{% endif %}
<link rel="canonical" href="{{ canonical_url }}">
<link rel="alternate" type="application/rss+xml" title="Forma N8 RSS" href="{{ site_url('/rss.xml') }}">
<link rel="icon" type="image/png" href="/static/favi.png">
<meta property="og:site_name" content="Forma N8">
<meta property="og:locale" content="ru_RU">
<meta property="og:type" content="{% block og_type %}website{% endblock %}">
<meta property="og:title" content="{{ meta_title }}">
<meta property="og:description" content="{{ meta_description }}">
<meta property="og:url" content="{{ canonical_url }}">
{% if og_image %}<meta property="og:image" content="{{ og_image }}">{% endif %}
<link rel="stylesheet" href="/static/site.css?v=1">
{% if json_ld %}<script type="application/ld+json">{{ json_ld|safe }}</script>{% endif %}
</head>
<body>
<a class="skip-link" href="#content">К содержанию</a>
<header class="site-header">
<div class="header-inner">
<a class="brand" href="/" aria-label="Forma N8, главная">
<img src="/static/favi.png" width="44" height="44" alt="">
<span>FORMA<br>N8</span>
</a>
<nav class="main-nav" id="main-nav" aria-label="Основная навигация">
<a href="/" {% if current_path == '/' %}aria-current="page"{% endif %}>Лента</a>
<a href="/category/snaryazhenie">Снаряжение</a>
<a href="/category/odezhda">Одежда</a>
<a href="/category/bronya">Броня</a>
<a href="/category/aksessuary">Аксессуары</a>
</nav>
<div class="header-actions">
<button class="icon-button" type="button" data-search-toggle aria-label="Открыть поиск" title="Поиск">
<svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="11" cy="11" r="6.5"></circle><path d="m16 16 4 4"></path></svg>
</button>
<button class="icon-button menu-button" type="button" data-menu-toggle aria-expanded="false" aria-controls="main-nav" aria-label="Открыть меню" title="Меню">
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 7h16M4 12h16M4 17h16"></path></svg>
</button>
</div>
</div>
<form class="search-form" action="/" method="get" data-search-form {% if not q %}hidden{% endif %}>
<label for="site-search">Поиск по новостям</label>
<div>
<input id="site-search" name="q" value="{{ q or '' }}" type="search" maxlength="100" placeholder="Название, производитель, снаряжение">
<button type="submit">Найти</button>
</div>
</form>
</header>
<main id="content">{% block content %}{% endblock %}</main>
<footer class="site-footer">
<div>
<a class="footer-brand" href="/">FORMA N8</a>
<p>Новости снаряжения и экипировки.</p>
</div>
<nav aria-label="Служебная навигация">
<a href="/rss.xml">RSS</a>
<a href="/sitemap.xml">Sitemap</a>
</nav>
</footer>
<script src="/static/site.js?v=1" defer></script>
</body>
</html>