Files
o-k-i.net/src/_includes/partials/nav.njk
T
cedric 36d1e307bd security(headers): ajoute les en-têtes HTTP de sécurité et refactorise les scripts inline pour CSP
- Ajoute .htaccess avec HSTS, CSP, X-Frame-Options, X-Content-Type-Options,
  Referrer-Policy et Permissions-Policy
- Déplace les scripts inline (thème, redirection de langue) vers des fichiers JS externes
- Remplace les onclick inline par des écouteurs d'événements dans main.js
- Configure Eleventy pour copier .htaccess à la racine du site
2026-07-07 23:56:56 +04:00

50 lines
1.9 KiB
Plaintext

<nav>
<div class="nav-container">
<a href="/" class="logo">
<img src="{{ '/assets/images/logo-512x512.png' | cdn }}" alt="{{ t.site.shortName }} Logo" class="logo-image">
<span>{{ t.site.shortName }}</span>
</a>
<ul class="nav-links">
{% for item in t.navigation %}
{% if item.children %}
<li class="has-dropdown">
<button type="button" class="nav-dropdown-trigger" aria-haspopup="true" aria-expanded="false">
{{ item.text }} <span class="dropdown-caret">▾</span>
</button>
<ul class="nav-dropdown">
{% for child in item.children %}
<li>
<a href="{{ child.url }}"{% if child.external %} target="_blank"{% endif %}>
{{ child.text }}
</a>
</li>
{% endfor %}
</ul>
</li>
{% else %}
<li>
<a href="{{ item.url }}"{% if item.external %} target="_blank"{% endif %}>
{{ item.text }}
</a>
</li>
{% endif %}
{% endfor %}
</ul>
{% if locale == 'en' %}
<a href="#" class="lang-switch" data-lang="fr">{{ t.ui.lang_switch_label }}</a>
{% else %}
<a href="#" class="lang-switch" data-lang="en">{{ t.ui.lang_switch_label }}</a>
{% endif %}
<button id="theme-toggle" class="theme-toggle" aria-label="{{ t.ui.theme_toggle }}" title="{{ t.ui.theme_toggle }}">
<span class="theme-icon theme-icon-dark">🌙</span>
<span class="theme-icon theme-icon-light">☀️</span>
</button>
<div class="menu-toggle">
<span></span>
<span></span>
<span></span>
</div>
</div>
<div class="flag-bar"></div>
</nav>