- 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
50 lines
1.9 KiB
Plaintext
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>
|