diff --git a/nginx.conf b/nginx.conf index 1247922..3f3094c 100644 --- a/nginx.conf +++ b/nginx.conf @@ -40,6 +40,15 @@ http { add_header X-Content-Type-Options "nosniff" always; add_header X-XSS-Protection "1; mode=block" always; add_header Referrer-Policy "strict-origin-when-cross-origin" always; + add_header Content-Security-Policy "script-src 'self' 'unsafe-inline' https://static.cloudflareinsights.com; object-src 'none';" always; + + # Favicon: serve at standard /favicon.ico location + location = /favicon.ico { + alias /usr/share/nginx/html/assets/logos/favicon.png; + expires 7d; + add_header Cache-Control "public, max-age=604800"; + access_log off; + } # Logo assets: 1 hour cache location ~* ^/assets/logos/ { diff --git a/public/about.html b/public/about.html index 5b21c27..bbffe62 100644 --- a/public/about.html +++ b/public/about.html @@ -4,6 +4,7 @@ + Keyboard Vagabond - About diff --git a/public/assets/logos/favicon.png b/public/assets/logos/favicon.png new file mode 100644 index 0000000..6a5b453 Binary files /dev/null and b/public/assets/logos/favicon.png differ diff --git a/public/index.html b/public/index.html index 5a17e3a..b80c420 100644 --- a/public/index.html +++ b/public/index.html @@ -5,6 +5,7 @@ + Keyboard Vagabond - Fediverse for Digital Nomads diff --git a/public/site-scripts/theme-toggle.js b/public/site-scripts/theme-toggle.js index ff286b1..4fe12d8 100644 --- a/public/site-scripts/theme-toggle.js +++ b/public/site-scripts/theme-toggle.js @@ -40,10 +40,7 @@ applyTheme(storedTheme); - themeToggle.addEventListener('click', toggleTheme); - window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => { - // Only apply theme if user hasn't made an explicit choice const storedTheme = getStoredTheme(); if (storedTheme === 'auto') { applyTheme();