a0d1135db1
Testy / Testy warstwy logicznej (silnik) (pull_request) Successful in 10m29s
Testy / Testy warstwy prezentacji (dostęp do baz) (pull_request) Successful in 9m36s
Testy / Build obrazu silnika B (swisseph) (pull_request) Successful in 11s
Testy / Kontrola składni wszystkich warstw (pull_request) Successful in 8s
build / build (push) Successful in 50s
Testy / Testy warstwy logicznej (silnik) (push) Successful in 10m51s
Testy / Testy warstwy prezentacji (dostęp do baz) (push) Successful in 9m29s
Testy / Build obrazu silnika B (swisseph) (push) Successful in 11s
Testy / Kontrola składni wszystkich warstw (push) Successful in 8s
Po deployu przeglądarka trzymała stare styles.css / *.js — ten sam URL, więc serwowała z cache mimo nowej wersji. Doklejamy do URL-a krótki HASH TREŚCI pliku: zmienił się plik → zmienił się URL → przeglądarka pobiera nowy; bez zmian URL zostaje ten sam i cache dalej działa (bustujemy tylko to, co się zmieniło). - `static_url(name)` + globalny helper Jinja `static()`: `/static/x?v=<md5[:8]>`. Hash liczony raz na proces (lru_cache) — nowy pod po deployu = świeży hash; brak pliku → `?v=0`, nie wywala strony. - Wszystkie odwołania w szablonach (styles.css, nasze *.js, vendor Leaflet) idą teraz przez helper zamiast surowego `/static/...`. Testy: +5 (hash w URL, zależny od treści, brak-pliku-bezpieczny, żaden szablon nie serwuje surowej ścieżki, base używa helpera). Test kolejności skryptów zaktualizowany pod nowy format. Prezentacja 214. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
36 lines
1.5 KiB
HTML
36 lines
1.5 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="pl">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>astrololo · {% block title %}{% endblock %}</title>
|
|
<link rel="stylesheet" href="{{ static('styles.css') }}">
|
|
{# Wspólne dane formularza między zakładkami (PRE-21). W <head> z `defer`
|
|
CELOWO: skrypty defer wykonują się w kolejności dokumentu, więc ten zdąży
|
|
odtworzyć współrzędne, ZANIM geo.js zbuduje mapę — mapa startuje od razu
|
|
we właściwym miejscu, bez przestawiania. #}
|
|
<script defer src="{{ static('formsync.js') }}"></script>
|
|
{# Powiększanie kosmogramu (PRE-25) — globalnie, bo koło pojawi się też na
|
|
zakładce „Skompiluj"; skrypt sam sprawdza, czy jest co powiększać. #}
|
|
<script defer src="{{ static('wheelzoom.js') }}"></script>
|
|
</head>
|
|
<body>
|
|
<main>
|
|
<header class="topbar">
|
|
<h1>astrololo</h1>
|
|
<nav>
|
|
<a href="/" class="{% block nav_chart %}{% endblock %}">Horoskop</a>
|
|
<a href="/interpret" class="{% block nav_interp %}{% endblock %}">Interpretacje</a>
|
|
<a href="/timeline" class="{% block nav_timeline %}{% endblock %}">Kalendarz</a>
|
|
<a href="/significators" class="{% block nav_sig %}{% endblock %}">Sygnifikatory</a>
|
|
<a href="/compile" class="{% block nav_compile %}{% endblock %}">Skompiluj</a>
|
|
</nav>
|
|
</header>
|
|
{% block content %}{% endblock %}
|
|
<footer class="foot">
|
|
prezentacja → logika → dane · widok testowy
|
|
</footer>
|
|
</main>
|
|
</body>
|
|
</html>
|