Hinzufügen von Security.md, license, Disclaimer und beheben von möglichen Copyright Problemen, bilder ausgetauscht und in readme behoben

This commit is contained in:
Florian Wathling
2026-03-20 23:43:16 +01:00
parent 0ff9f1e252
commit f55e1ce186
15 changed files with 315 additions and 142 deletions
+47
View File
@@ -0,0 +1,47 @@
# Haftungsausschluss — Hellion NewTab
## Nutzung auf eigenes Risiko
Diese Browser-Extension wird "wie besehen" (as-is) zur Verfügung gestellt, ohne jegliche ausdrückliche oder stillschweigende Gewährleistung, einschließlich, aber nicht beschränkt auf die Gewährleistung der Marktgängigkeit, der Eignung für einen bestimmten Zweck und der Nichtverletzung von Rechten Dritter.
## Keine Garantie
Der Entwickler übernimmt keine Haftung für:
- Datenverlust durch fehlerhafte Speicherung, Browser-Updates oder Extension-Deinstallation
- Inkompatibilitäten mit bestimmten Browser-Versionen oder Betriebssystemen
- Schäden, die durch die Nutzung oder Nichtnutzung dieser Extension entstehen
- Verfügbarkeit oder Korrektheit von Drittanbieter-Diensten (Google Favicons API)
## Datenspeicherung
Alle Daten werden ausschließlich lokal im Browser gespeichert (`chrome.storage.local`). Es erfolgt keine Übertragung an externe Server. Der Entwickler hat keinen Zugriff auf gespeicherte Bookmarks, Einstellungen oder Notizen.
**Empfehlung:** Regelmäßig JSON-Backups über die Export-Funktion erstellen.
## Drittanbieter-Dienste
Diese Extension nutzt folgende externe Dienste:
| Dienst | Zweck | Datenschutz |
| --- | --- | --- |
| Google Favicons API | Bookmark-Icons laden | Es wird nur die Domain übermittelt, keine vollständige URL |
| Google Fonts | Schriftarten (Rajdhani, Inter, Cinzel) | Standardmäßige Google-Fonts-Nutzungsbedingungen |
## Änderungen
Der Entwickler behält sich das Recht vor, diese Extension jederzeit zu ändern, zu aktualisieren oder einzustellen, ohne vorherige Ankündigung.
## Kontakt
| | |
| --- | --- |
| **Entwickler** | Florian Wathling |
| **Unternehmen** | Hellion Online Media |
| **Web** | [hellion-media.de](https://hellion-media.de) |
| **E-Mail** | [kontakt@hellion-media.de](mailto:kontakt@hellion-media.de) |
| **Impressum** | [hellion-media.de/impressum](https://hellion-media.de/impressum) |
---
**Hellion NewTab** — [Hellion Online Media](https://hellion-media.de) — JonKazama-Hellion
+17
View File
@@ -0,0 +1,17 @@
Hellion NewTab
Copyright (c) 2026 Florian Wathling / Hellion Online Media
Dieses Werk ist lizenziert unter der
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Kurzfassung:
- Namensnennung erforderlich
- Keine kommerzielle Nutzung ohne Erlaubnis
- Weitergabe unter gleichen Bedingungen
Vollstaendiger Lizenztext:
https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode
Kontakt für kommerzielle Lizenzierung:
kontakt@hellion-media.de
https://hellion-media.de
+78 -45
View File
@@ -3,12 +3,12 @@
![Version](https://img.shields.io/badge/Version-1.2.0-blue)
![JavaScript](https://img.shields.io/badge/JavaScript-Vanilla%20ES2020-F7DF1E?logo=javascript&logoColor=black)
![Manifest](https://img.shields.io/badge/Manifest-V3%20%7C%20V2-green)
![License](https://img.shields.io/badge/License-Propriet%C3%A4r-red)
![License](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-orange)
![Privacy](https://img.shields.io/badge/Privacy-100%25%20Lokal-448f45)
**Kein Account. Kein Abo. Keine Cloud. Alle Daten bleiben 100% lokal.**
Ein persoenlicher Bookmark-Dashboard als Browser-Extension.
Ein persönlicher Bookmark-Dashboard als Browser-Extension.
Boards, Drag & Drop, 8 Themes, Suchleiste, Sticky Notes — alles im Browser, alles offline.
Keine externe Datenübertragung, keine Tracker, keine Analytics, keine Werbung.
@@ -21,11 +21,11 @@ Entwickelt von **[Hellion Online Media](https://hellion-media.de)** — JonKazam
- Kein Cloud-Sync und kein Account-System
- Keine Datenerfassung oder Telemetrie
- Keine Drittanbieter-Abhängigkeiten oder Build-Tools
- Kein Netzwerkverkehr ausser Favicon-Abruf (Google Favicons API)
- Kein Netzwerkverkehr außer Favicon-Abruf (Google Favicons API)
## Was diese Extension IST
Ein lokaler, privater NewTab-Ersatz für alle gaengigen Browser.
Ein lokaler, privater NewTab-Ersatz für alle gängigen Browser.
Bookmarks werden in `chrome.storage.local` gespeichert — nichts verlässt den Browser.
Was angezeigt wird, ist was gespeichert ist. Keine Magie.
@@ -35,7 +35,7 @@ Was angezeigt wird, ist was gespeichert ist. Keine Magie.
### Boards & Bookmarks
- Boards als Gruppen fuer Links — per Drag & Drop umsortierbar
- Boards als Gruppen für Links — per Drag & Drop umsortierbar
- Bookmarks mit Favicon, Titel, optionaler Beschreibung
- Boards per Blur-Button verstecken (Privat-Modus)
- HTML-Import von Browser-Lesezeichen (Chrome, Edge, Firefox)
@@ -55,20 +55,33 @@ Was angezeigt wird, ist was gespeichert ist. Keine Magie.
| Theme | Akzent | Stil |
| --- | --- | --- |
| Astronaut | Orange | Dark / Space |
| Cosmic Clock | Gold | Warm / Mystisch |
| Void Mage | Lila | Arkan |
| Nebula | Magenta | Cosmic Nebula |
| Crescent | Gold | Minimalist Night |
| Event Horizon | Orange | Deep Space |
| Merchantman | Teal | Industrial Sci-Fi |
| Julia & Jin | Blau | FFXIV Night |
| SC Sunset | Amber | Planet-Side |
| Hellion HUD | Gruen | Circuit Board |
| Hellion Energy | Matrix-Gruen | Tactical |
| Hellion HUD | Grün | Circuit Board |
| Hellion Energy | Matrix-Grün | Tactical |
### Bild-Credits
| Theme | Quelle | Lizenz |
| --- | --- | --- |
| Nebula | [Temel / mrwashingt0n](https://pixabay.com/de/users/mrwashingt0n-15745216/) auf Pixabay | Pixabay License (frei) |
| Crescent | [Daniil Silantev](https://unsplash.com) auf Unsplash | Unsplash License (frei) |
| Event Horizon | Eigenes Werk — Stillframe von [hellion-initiative.online](https://hellion-initiative.online) | Hellion Online Media |
| Merchantman | [Roberts Space Industries](https://robertsspaceindustries.com) — Made by the community | RSI Community Content |
| SC Sunset | Screenshot aus Star Citizen von Cloud Imperium Games | Fan Content |
| Julia & Jin | Eigenes Werk — Final Fantasy XIV Screenshot, bearbeitet in Photoshop | Hellion Online Media |
| Hellion HUD | Eigenes Werk — AI-generiert und nachbearbeitet für hellion-media.de | Hellion Online Media |
| Hellion Energy | Eigenes Werk — AI-generiert für hellion-media.de | Hellion Online Media |
### Settings
- Compact Mode — reduziert Abstände fuer mehr Bookmarks
- Compact Mode — reduziert Abstände für mehr Bookmarks
- Shorten Titles — kürzt lange Titel auf eine Zeile
- Open in New Tab — Bookmarks in neuem Tab oeffnen
- Open in New Tab — Bookmarks in neuem Tab öffnen
- Show Descriptions — Beschreibungen unter Bookmarks anzeigen
- Hide Extra Bookmarks — Boards ab 5/10/20 Bookmarks einklappen
- Hintergrundbild — URL oder lokaler Upload
@@ -91,7 +104,7 @@ Was angezeigt wird, ist was gespeichert ist. Keine Magie.
| Firefox | Kompatibel | V2 (`manifest.firefox.json`) |
> **Firefox-Hinweis:** Firefox verwendet aktuell Manifest V2. Mozilla arbeitet an MV3-Support —
> sobald stabil, wird die Extension migriert. MV2 wird von Mozilla weiterhin unterstuetzt.
> sobald stabil, wird die Extension migriert. MV2 wird von Mozilla weiterhin unterstützt.
---
@@ -101,15 +114,15 @@ Was angezeigt wird, ist was gespeichert ist. Keine Magie.
```text
1. Repository als ZIP herunterladen oder git clone
2. chrome://extensions oeffnen (oder edge:// / brave:// / opera://)
2. chrome://extensions öffnen (oder edge:// / brave:// / opera://)
3. Entwicklermodus aktivieren
4. "Entpackte Erweiterung laden" → Ordner auswählen in dem manifest.json liegt
5. Neuen Tab oeffnen
5. Neuen Tab öffnen
```
### Firefox
Firefox benoetigt `manifest.json` im Format V2.
Firefox benötigt `manifest.json` im Format V2.
```bash
# manifest.json durch Firefox-Version ersetzen:
@@ -118,13 +131,13 @@ cp manifest.firefox.json manifest.json # Linux/Mac
```
```text
1. about:debugging#/runtime/this-firefox oeffnen
2. "Temporaeres Add-on laden"
1. about:debugging#/runtime/this-firefox öffnen
2. "Temporäres Add-on laden"
3. Die manifest.json aus dem Projektordner auswählen
```
> **Hinweis:** Temporaere Add-ons werden beim Browser-Neustart entfernt.
> Fuer dauerhafte Installation ist eine signierte `.xpi`-Datei noetig.
> **Hinweis:** Temporäre Add-ons werden beim Browser-Neustart entfernt.
> Für dauerhafte Installation ist eine signierte `.xpi`-Datei nötig.
---
@@ -135,17 +148,17 @@ cp manifest.firefox.json manifest.json # Linux/Mac
| Chrome / Edge | Einstellungen → Lesezeichen → Exportieren |
| Firefox | Lesezeichen → Alle Lesezeichen → Importieren und Sichern → Als HTML exportieren |
Die exportierte `.html`-Datei ueber den **Import**-Button in der Extension laden.
Die exportierte `.html`-Datei über den **Import**-Button in der Extension laden.
---
## Datenschutz
- Keine externe Datenübertragung (ausser Google Favicons API fuer Icons)
- Keine externe Datenübertragung (außer Google Favicons API für Icons)
- Speicherung in `chrome.storage.local` (Chromium) bzw. `browser.storage.local` (Firefox)
- Keine Tracker, keine Analytics, keine Werbung
- Keine Cookies, keine Session-Daten
- Storage-Quota-Pruefung warnt bei 8 MB+ (Limit: 10 MB)
- Storage-Quota-Prüfung warnt bei 8 MB+ (Limit: 10 MB)
- Permissions: `storage`, `bookmarks`
---
@@ -172,10 +185,13 @@ hellion-newtab/
├── manifest.json # Chrome, Edge, Brave, Opera, Vivaldi (MV3)
├── manifest.firefox.json # Firefox (MV2)
├── newtab.html # Haupt-HTML (UI-Struktur, Modals, Settings Panel)
├── LICENSE # CC BY-NC-SA 4.0
├── SECURITY.md # Sicherheitsrichtlinie und Meldeprozess
├── DISCLAIMER.md # Haftungsausschluss
├── src/
│ ├── js/
│ │ ├── storage.js # Storage Abstraction + Quota-Pruefung
│ │ ├── storage.js # Storage Abstraction + Quota-Prüfung
│ │ ├── state.js # Globaler State, Defaults, Hilfsfunktionen
│ │ ├── themes.js # Theme-Definitionen & Anwendungslogik
│ │ ├── boards.js # Board/Bookmark Rendering, Event Delegation, Modals
@@ -190,9 +206,9 @@ hellion-newtab/
├── assets/
│ ├── themes/ # 8 Theme-Hintergrundbilder
│ │ ├── bg-astronaut.jpg
│ │ ├── bg-cosmic-clock.jpg
│ │ ├── bg-void-mage.jpg
│ │ ├── bg-nebula.jpg
│ │ ├── bg-crescent.jpg
│ │ ├── bg-event-horizon.jpg
│ │ ├── bg-merchantman.webp
│ │ ├── bg-julia-jin.png
│ │ ├── bg-sc-sunset.jpg
@@ -226,23 +242,23 @@ hellion-newtab/
### Security Scan (`security.yml`)
- **CodeQL-Analyse** — Statische Sicherheitsanalyse fuer JavaScript
- **Dependency Review** — Prueft Pull Requests auf bekannte Schwachstellen
- **CodeQL-Analyse** — Statische Sicherheitsanalyse für JavaScript
- **Dependency Review** — Prüft Pull Requests auf bekannte Schwachstellen
- **Zeitplan** — Automatisch wöchentlich (Montag 06:00 UTC) + bei Push/PR
### Code Quality (`quality.yml`)
- **Projektstruktur** — Alle Pflichtdateien und -ordner vorhanden
- **Manifest-Validierung** — JSON-Syntax, Version, Permissions
- **JavaScript Syntax-Check** — `node --check` fuer alle JS-Dateien
- **Versions-Konsistenz** — manifest.json, manifest.firefox.json und newtab.html muessen übereinstimmen
- **Icon-Pruefung** — Alle Extension-Icons vorhanden
- **JavaScript Syntax-Check** — `node --check` für alle JS-Dateien
- **Versions-Konsistenz** — manifest.json, manifest.firefox.json und newtab.html müssen übereinstimmen
- **Icon-Prüfung** — Alle Extension-Icons vorhanden
### Release (`release.yml`)
- **Trigger** — Bei Git-Tag (`v*`)
- **Pakete** — Chrome-ZIP (MV3) + Firefox-ZIP (MV2)
- **Checksummen** — SHA256 fuer alle Artefakte
- **Checksummen** — SHA256 für alle Artefakte
- **GitHub Release** — Automatisch mit Installationsanleitung
```bash
@@ -262,17 +278,30 @@ git clone https://github.com/JonKazama-Hellion/Hellion-NewTab.git
# Extension im Browser laden (siehe Installation)
# Nach Aenderungen: Extension neu laden
# Nach Änderungen: Extension neu laden
chrome://extensions → Hellion NewTab → Neu laden
```
Kein Build-Schritt noetig. Dateien aendern, Extension neu laden, fertig.
Kein Build-Schritt nötig. Dateien ändern, Extension neu laden, fertig.
---
## Sicherheit
Sicherheitslücken bitte **nicht** über öffentliche Issues melden.
Details zur Meldung, Reaktionszeiten und Sicherheitsarchitektur: [SECURITY.md](SECURITY.md)
---
## Lizenz & Impressum
**Proprietaeres Projekt — alle Rechte vorbehalten.**
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
- Kostenlos für private Nutzung
- Teilen und Modifikation erlaubt mit Namensnennung
- Kommerzielle Nutzung ohne Erlaubnis verboten
Vollständige Lizenz: [LICENSE](LICENSE) | [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)
| | |
| --- | --- |
@@ -281,6 +310,7 @@ Kein Build-Schritt noetig. Dateien aendern, Extension neu laden, fertig.
| **Web** | [hellion-media.de](https://hellion-media.de) |
| **Impressum** | [hellion-media.de/impressum](https://hellion-media.de/impressum) |
| **Bug Reports** | [kontakt@hellion-media.de](mailto:kontakt@hellion-media.de?subject=Hellion%20NewTab%20%E2%80%93%20Bug%20Report) |
| **Security** | [SECURITY.md](SECURITY.md) |
---
@@ -290,18 +320,21 @@ Kein Build-Schritt noetig. Dateien aendern, Extension neu laden, fertig.
- Projektstruktur in `src/js/`, `src/css/`, `assets/` aufgeteilt
- JS in 10 Module aufgeteilt (storage, state, themes, boards, drag, settings, search, sticky, data, app)
- Firefox-Kompatibilitaet (`manifest.firefox.json`, Manifest V2)
- Vivaldi bestaetigt kompatibel
- Firefox-Kompatibilität (`manifest.firefox.json`, Manifest V2)
- Vivaldi bestätigt kompatibel
- Theme-Bildpfade korrigiert (Settings Preview)
- URL-Validierung bei Bookmark-Erstellung
- JSON-Import mit Board- und Bookmark-Struktur-Validierung
- XSS-Schutz: createElement statt innerHTML fuer Bookmarks
- Storage-Quota-Pruefung mit Warnung bei 8 MB+
- Event Delegation fuer Bookmark-Klicks (Performance)
- XSS-Schutz: createElement statt innerHTML für Bookmarks
- Storage-Quota-Prüfung mit Warnung bei 8 MB+
- Event Delegation für Bookmark-Klicks (Performance)
- Responsive Design (Tablet 768px, Smartphone 480px)
- Sticky Note Header-Kollision behoben
- FileReader-Fehlerbehandlung fuer Hintergrundbild-Upload
- FileReader-Fehlerbehandlung für Hintergrundbild-Upload
- GitHub Actions: Security Scan, Code Quality, Release Automation
- 3 Themes ersetzt: Astronaut → Nebula, Cosmic Clock → Crescent, Void Mage → Event Horizon
- Alle Theme-Bilder lizenzrechtlich geprüft und dokumentiert
- LICENSE (CC BY-NC-SA 4.0), SECURITY.md und DISCLAIMER.md hinzugefügt
### v1.1.0 — 20.03.2026
@@ -313,13 +346,13 @@ Kein Build-Schritt noetig. Dateien aendern, Extension neu laden, fertig.
- About / Impressum in Settings
- Board Blur-Funktion (Privat-Modus)
- Drag & Drop auf Pointer Events umgestellt
- Opera / Opera GX Kompatibilitaet
- Opera / Opera GX Kompatibilität
### v1.0.0 — 20.03.2026
- Initiales Release
- Boards & Bookmarks mit Drag & Drop
- 3 Themes (Astronaut, Cosmic Clock, Void Mage)
- 3 Themes (Nebula, Crescent, Event Horizon)
- HTML-Import (Browser-Lesezeichen)
- Settings Panel
@@ -327,7 +360,7 @@ Kein Build-Schritt noetig. Dateien aendern, Extension neu laden, fertig.
### Einsatz von AI
AI (Claude Code, Opus 4.6 von Anthropic) wurde als Hilfsmittel eingesetzt — fuer Fehleridentifikation, Code-Review und Qualitaetssicherung. Architektur, Features und alle Entscheidungen sind Eigenleistung.
AI (Claude Code, Opus 4.6 von Anthropic) wurde als Hilfsmittel eingesetzt — für Fehleridentifikation, Code-Review und Qualitätssicherung. Architektur, Features und alle Entscheidungen sind Eigenleistung.
---
+76
View File
@@ -0,0 +1,76 @@
# Sicherheitsrichtlinie — Hellion NewTab
## Unterstützte Versionen
| Version | Status |
| --- | --- |
| 1.2.x | Aktiv unterstützt |
| < 1.2.0 | Nicht unterstützt |
## Sicherheitslücke melden
Wenn du eine Sicherheitslücke in Hellion NewTab findest, melde sie bitte **nicht** über ein öffentliches GitHub Issue.
### Kontakt
**E-Mail:** [kontakt@hellion-media.de](mailto:kontakt@hellion-media.de?subject=Hellion%20NewTab%20%E2%80%93%20Security%20Report)
Bitte folgende Informationen angeben:
- Beschreibung der Schwachstelle
- Schritte zur Reproduktion
- Betroffene Version(en)
- Mögliche Auswirkungen (Datenverlust, XSS, etc.)
### Reaktionszeit
- **Bestätigung:** Innerhalb von 48 Stunden
- **Ersteinschätzung:** Innerhalb von 7 Tagen
- **Fix:** Abhängig von Schweregrad, Ziel innerhalb von 14 Tagen
### Schweregrad-Einstufung
| Stufe | Beschreibung | Beispiel |
| --- | --- | --- |
| Kritisch | Datenverlust oder Remote Code Execution | Storage-Manipulation durch Dritte |
| Hoch | XSS oder ungewollte Datenübertragung | Script-Injection via Bookmark-Import |
| Mittel | Umgehung von UI-Schutzmechanismen | Blur-Bypass, Settings-Manipulation |
| Niedrig | Kosmetisch oder theoretisch | Edge-Cases ohne praktische Auswirkung |
## Sicherheitsarchitektur
### Datenverarbeitung
- **Keine externe Datenübertragung** — Alle Daten bleiben in `chrome.storage.local`
- **Kein Server-Kontakt** — Außer Google Favicons API für Bookmark-Icons
- **Keine Cookies, Sessions oder Tokens**
- **Kein Netzwerkzugriff** außer Favicon-Abruf
### Eingabe-Validierung
- URL-Validierung bei Bookmark-Erstellung (`new URL()`)
- JSON-Import: Board- und Bookmark-Struktur wird validiert
- HTML-Sanitierung via `escHtml()` und `createElement` (kein `innerHTML` für User-Daten)
- Storage-Quota-Prüfung mit Warnung bei 8 MB+
### Permissions
Diese Extension benötigt nur zwei Browser-Permissions:
| Permission | Grund |
| --- | --- |
| `storage` | Boards, Settings und Sticky Note lokal speichern |
| `bookmarks` | Browser-Lesezeichen für HTML-Import lesen |
Keine Permissions für: Tabs, History, Web Requests, Downloads, Clipboard oder Host-Zugriff.
### CI/CD-Sicherheit
- **CodeQL** — Automatische statische Analyse bei Push und PR
- **Dependency Review** — Prüft auf bekannte Schwachstellen in PRs
- **Wöchentlicher Scan** — Automatischer CodeQL-Lauf jeden Montag
- **SHA256-Checksummen** — Alle Release-Artefakte werden signiert
---
**Hellion NewTab** — [Hellion Online Media](https://hellion-media.de) — JonKazama-Hellion
Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 211 KiB

+12 -10
View File
@@ -92,19 +92,19 @@
<!-- THEME PICKER -->
<h3 class="settings-section-title">THEME</h3>
<div class="theme-grid">
<div class="theme-card active" data-value="astronaut">
<img class="theme-card-img" src="assets/themes/bg-astronaut.jpg" alt="Astronaut" />
<span class="theme-card-label">Astronaut</span>
<div class="theme-card active" data-value="nebula">
<img class="theme-card-img" src="assets/themes/bg-nebula.jpg" alt="Nebula" />
<span class="theme-card-label">Nebula</span>
<span class="theme-card-check"></span>
</div>
<div class="theme-card" data-value="cosmic-clock">
<img class="theme-card-img" src="assets/themes/bg-cosmic-clock.jpg" alt="Cosmic Clock" />
<span class="theme-card-label">Cosmic</span>
<div class="theme-card" data-value="crescent">
<img class="theme-card-img" src="assets/themes/bg-crescent.jpg" alt="Crescent" />
<span class="theme-card-label">Crescent</span>
<span class="theme-card-check"></span>
</div>
<div class="theme-card" data-value="void-mage">
<img class="theme-card-img" src="assets/themes/bg-void-mage.jpg" alt="Void Mage" />
<span class="theme-card-label">Void Mage</span>
<div class="theme-card" data-value="event-horizon">
<img class="theme-card-img" src="assets/themes/bg-event-horizon.jpg" alt="Event Horizon" />
<span class="theme-card-label">Event Horizon</span>
<span class="theme-card-check"></span>
</div>
<div class="theme-card" data-value="merchantman">
@@ -257,7 +257,7 @@
</div>
<div class="about-info-row">
<span class="about-info-label">Lizenz</span>
<span class="about-info-value">Proprietär · Nicht open source</span>
<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" target="_blank" class="about-info-value" style="color:var(--text-secondary);text-decoration:none">CC BY-NC-SA 4.0</a>
</div>
<div class="about-info-row">
<span class="about-info-label">Datenspeicherung</span>
@@ -279,9 +279,11 @@
<div class="about-browser-tags">
<span class="browser-tag">Chrome</span>
<span class="browser-tag">Edge</span>
<span class="browser-tag">Firefox</span>
<span class="browser-tag">Opera</span>
<span class="browser-tag">Opera GX</span>
<span class="browser-tag">Brave</span>
<span class="browser-tag">Vivaldi</span>
</div>
</div>
</div>
+79 -81
View File
@@ -1,22 +1,22 @@
/* =============================================
HELLION NEWTAB — Theme System
Themes: astronaut | cosmic-clock | void-mage
Themes: nebula | crescent | event-horizon
============================================= */
@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@400;500;600;700&family=Inter:wght@300;400;500&family=Cinzel:wght@400;600&display=swap');
/* ---- BASE VARIABLES (Astronaut = Default) ---- */
/* ---- BASE VARIABLES (Nebula = Default) ---- */
:root {
--accent: #ffa032;
--accent-dim: rgba(255, 160, 50, 0.15);
--accent-glow: rgba(255, 160, 50, 0.08);
--border-accent: rgba(255, 160, 50, 0.35);
--bg-primary: #08090d;
--bg-board: rgba(10, 12, 18, 0.48);
--accent: #d65cff;
--accent-dim: rgba(214, 92, 255, 0.15);
--accent-glow: rgba(214, 92, 255, 0.08);
--border-accent: rgba(214, 92, 255, 0.35);
--bg-primary: #0a060e;
--bg-board: rgba(12, 8, 18, 0.48);
--border: rgba(255, 255, 255, 0.06);
--text-primary: #dde0ee;
--text-secondary: #7a7d8e;
--text-muted: #44475a;
--text-primary: #e0d8f0;
--text-secondary: #8a7a9e;
--text-muted: #4a3860;
--danger: #e05555;
--font-display: 'Rajdhani', sans-serif;
--font-body: 'Inter', sans-serif;
@@ -25,93 +25,91 @@
--board-width: 240px;
--spacing: 10px;
--spacing-compact: 5px;
--overlay-bg: linear-gradient(180deg, rgba(8,9,13,0.85) 0%, rgba(8,9,13,0.42) 45%, rgba(8,9,13,0.90) 100%);
--header-bg: rgba(8,9,13,0.90);
--board-hover-border: rgba(255,160,50,0.22);
--toggle-on-bg: rgba(255,160,50,0.22);
--logo-shadow: rgba(255,160,50,0.45);
--overlay-bg: linear-gradient(180deg, rgba(10,6,14,0.85) 0%, rgba(10,6,14,0.42) 45%, rgba(10,6,14,0.90) 100%);
--header-bg: rgba(10,6,14,0.90);
--board-hover-border: rgba(214,92,255,0.22);
--toggle-on-bg: rgba(214,92,255,0.22);
--logo-shadow: rgba(214,92,255,0.45);
}
/* ============================================
THEME: ASTRONAUT
THEME: NEBULA (magenta / cosmic nebula)
============================================ */
[data-theme="astronaut"] {
--accent: #ffa032;
--accent-dim: rgba(255, 160, 50, 0.14);
--accent-glow: rgba(255, 160, 50, 0.06);
--border-accent: rgba(255, 160, 50, 0.32);
--bg-primary: #07080c;
--bg-board: rgba(9, 10, 16, 0.46);
[data-theme="nebula"] {
--accent: #d65cff;
--accent-dim: rgba(214, 92, 255, 0.14);
--accent-glow: rgba(214, 92, 255, 0.06);
--border-accent: rgba(214, 92, 255, 0.32);
--bg-primary: #0a060e;
--bg-board: rgba(12, 8, 18, 0.48);
--border: rgba(255, 255, 255, 0.055);
--text-primary: #d8dbe8;
--text-secondary: #72758a;
--text-muted: #404358;
--text-primary: #e0d8f0;
--text-secondary: #8a7a9e;
--text-muted: #4a3860;
--font-display: 'Rajdhani', sans-serif;
--font-body: 'Inter', sans-serif;
--overlay-bg: linear-gradient(180deg, rgba(7,8,12,0.88) 0%, rgba(7,8,12,0.38) 45%, rgba(7,8,12,0.94) 100%);
--header-bg: rgba(7,8,12,0.92);
--board-hover-border: rgba(255,160,50,0.22);
--toggle-on-bg: rgba(255,160,50,0.22);
--logo-shadow: rgba(255,160,50,0.50);
--overlay-bg: linear-gradient(180deg, rgba(10,6,14,0.88) 0%, rgba(10,6,14,0.35) 45%, rgba(10,6,14,0.92) 100%);
--header-bg: rgba(10,6,14,0.92);
--board-hover-border: rgba(214,92,255,0.22);
--toggle-on-bg: rgba(214,92,255,0.22);
--logo-shadow: rgba(214,92,255,0.50);
}
[data-theme="nebula"] .board { border-color: rgba(214,92,255,0.10); }
[data-theme="nebula"] .bm-item:hover { background: rgba(214,92,255,0.05); }
/* ============================================
THEME: COSMIC CLOCK
THEME: CRESCENT (gold / minimalist night)
============================================ */
[data-theme="cosmic-clock"] {
--accent: #d4a843;
--accent-dim: rgba(212, 168, 67, 0.16);
--accent-glow: rgba(212, 168, 67, 0.07);
--border-accent: rgba(212, 168, 67, 0.38);
--bg-primary: #0d090c;
--bg-board: rgba(18, 10, 14, 0.50);
--border: rgba(212, 168, 67, 0.09);
--text-primary: #ecdccc;
--text-secondary: #8a6e5e;
--text-muted: #523930;
[data-theme="crescent"] {
--accent: #c8a84a;
--accent-dim: rgba(200, 168, 74, 0.16);
--accent-glow: rgba(200, 168, 74, 0.07);
--border-accent: rgba(200, 168, 74, 0.35);
--bg-primary: #080a12;
--bg-board: rgba(10, 14, 26, 0.50);
--border: rgba(200, 168, 74, 0.09);
--text-primary: #d8dce8;
--text-secondary: #6a7090;
--text-muted: #363c55;
--font-display: 'Cinzel', serif;
--font-body: 'Inter', sans-serif;
--overlay-bg: linear-gradient(160deg, rgba(13,9,12,0.90) 0%, rgba(13,9,12,0.42) 50%, rgba(13,9,12,0.94) 100%);
--header-bg: rgba(13,9,12,0.93);
--board-hover-border: rgba(212,168,67,0.28);
--toggle-on-bg: rgba(212,168,67,0.22);
--logo-shadow: rgba(212,168,67,0.55);
--overlay-bg: linear-gradient(180deg, rgba(8,10,18,0.88) 0%, rgba(8,10,18,0.30) 50%, rgba(8,10,18,0.92) 100%);
--header-bg: rgba(8,10,18,0.93);
--board-hover-border: rgba(200,168,74,0.26);
--toggle-on-bg: rgba(200,168,74,0.22);
--logo-shadow: rgba(200,168,74,0.55);
}
[data-theme="cosmic-clock"] .logo { font-family: 'Cinzel', serif; letter-spacing: 4px; }
[data-theme="cosmic-clock"] .clock { font-family: 'Cinzel', serif; }
[data-theme="cosmic-clock"] .board-title { letter-spacing: 2px; }
[data-theme="cosmic-clock"] .bm-item:hover { background: rgba(212,168,67,0.05); }
[data-theme="cosmic-clock"] .board { border-color: rgba(212,168,67,0.10); }
[data-theme="crescent"] .logo { font-family: 'Cinzel', serif; letter-spacing: 4px; }
[data-theme="crescent"] .clock { font-family: 'Cinzel', serif; }
[data-theme="crescent"] .board-title { letter-spacing: 2px; }
[data-theme="crescent"] .bm-item:hover { background: rgba(200,168,74,0.05); }
[data-theme="crescent"] .board { border-color: rgba(200,168,74,0.10); }
/* ============================================
THEME: VOID MAGE
THEME: EVENT HORIZON (orange-violet / deep space)
============================================ */
[data-theme="void-mage"] {
--accent: #9b6fff;
--accent-dim: rgba(155, 111, 255, 0.15);
--accent-glow: rgba(155, 111, 255, 0.07);
--border-accent: rgba(155, 111, 255, 0.35);
--bg-primary: #07060f;
--bg-board: rgba(10, 8, 20, 0.50);
--border: rgba(155, 111, 255, 0.09);
--text-primary: #d4cef5;
--text-secondary: #7068a0;
--text-muted: #3e3860;
--font-display: 'Cinzel', serif;
[data-theme="event-horizon"] {
--accent: #e08030;
--accent-dim: rgba(224, 128, 48, 0.15);
--accent-glow: rgba(224, 128, 48, 0.07);
--border-accent: rgba(224, 128, 48, 0.35);
--bg-primary: #06050c;
--bg-board: rgba(8, 6, 16, 0.52);
--border: rgba(224, 128, 48, 0.08);
--text-primary: #d8d0e8;
--text-secondary: #7a6898;
--text-muted: #3c3058;
--font-display: 'Rajdhani', sans-serif;
--font-body: 'Inter', sans-serif;
--overlay-bg: linear-gradient(160deg, rgba(7,6,15,0.92) 0%, rgba(7,6,15,0.40) 50%, rgba(7,6,15,0.95) 100%);
--header-bg: rgba(7,6,15,0.93);
--board-hover-border: rgba(155,111,255,0.28);
--toggle-on-bg: rgba(155,111,255,0.22);
--logo-shadow: rgba(155,111,255,0.60);
--overlay-bg: linear-gradient(180deg, rgba(6,5,12,0.90) 0%, rgba(6,5,12,0.38) 50%, rgba(6,5,12,0.94) 100%);
--header-bg: rgba(6,5,12,0.93);
--board-hover-border: rgba(224,128,48,0.26);
--toggle-on-bg: rgba(224,128,48,0.22);
--logo-shadow: rgba(224,128,48,0.55);
}
[data-theme="void-mage"] .logo { font-family: 'Cinzel', serif; letter-spacing: 5px; }
[data-theme="void-mage"] .clock { font-family: 'Cinzel', serif; }
[data-theme="void-mage"] .board-title { letter-spacing: 2px; }
[data-theme="void-mage"] .bm-item:hover { background: rgba(155,111,255,0.06); }
[data-theme="void-mage"] .board { border-color: rgba(155,111,255,0.11); }
[data-theme="event-horizon"] .board { border-color: rgba(224,128,48,0.10); }
[data-theme="event-horizon"] .bm-item:hover { background: rgba(224,128,48,0.05); }
/* ============================================
@@ -539,9 +537,9 @@ body.show-desc .bm-desc { display: block; }
text-align: center; text-transform: uppercase;
}
.theme-card[data-value="astronaut"] .theme-card-label { color: #ffa032; }
.theme-card[data-value="cosmic-clock"] .theme-card-label { color: #d4a843; }
.theme-card[data-value="void-mage"] .theme-card-label { color: #9b6fff; }
.theme-card[data-value="nebula"] .theme-card-label { color: #d65cff; }
.theme-card[data-value="crescent"] .theme-card-label { color: #c8a84a; }
.theme-card[data-value="event-horizon"] .theme-card-label { color: #e08030; }
.theme-card[data-value="merchantman"] .theme-card-label { color: #4ecfcf; }
.theme-card[data-value="julia-jin"] .theme-card-label { color: #5b9fff; }
.theme-card[data-value="sc-sunset"] .theme-card-label { color: #f07c30; }
+2 -2
View File
@@ -33,7 +33,7 @@ function applySettings() {
const showSearchEl = document.getElementById('settingShowSearch');
if (showSearchEl) showSearchEl.checked = settings.showSearch;
applyTheme(settings.theme || 'astronaut', !!settings.bgUrl);
applyTheme(settings.theme || 'nebula', !!settings.bgUrl);
if (settings.bgUrl) {
document.getElementById('bgLayer').style.backgroundImage = `url('${settings.bgUrl}')`;
@@ -129,7 +129,7 @@ function bindSettingsEvents() {
if (!confirm('Wirklich alle Boards und Einstellungen löschen? Nicht rückgängig machbar.')) return;
boards = [];
settings = { compact: false, shortenTitles: false, newTab: true, showDesc: false,
hideExtra: false, visibleCount: 10, bgUrl: '', theme: 'astronaut',
hideExtra: false, visibleCount: 10, bgUrl: '', theme: 'nebula',
showSearch: true, searchEngine: 'google' };
await saveBoards();
await saveSettings();
+1 -1
View File
@@ -13,7 +13,7 @@ let settings = {
hideExtra: false,
visibleCount: 10,
bgUrl: '',
theme: 'astronaut',
theme: 'nebula',
showSearch: true,
searchEngine: 'google'
};
+3 -3
View File
@@ -4,9 +4,9 @@
============================================= */
const THEMES = {
'astronaut': { bg: 'assets/themes/bg-astronaut.jpg' },
'cosmic-clock': { bg: 'assets/themes/bg-cosmic-clock.jpg' },
'void-mage': { bg: 'assets/themes/bg-void-mage.jpg' },
'nebula': { bg: 'assets/themes/bg-nebula.jpg' },
'crescent': { bg: 'assets/themes/bg-crescent.jpg' },
'event-horizon': { bg: 'assets/themes/bg-event-horizon.jpg' },
'merchantman': { bg: 'assets/themes/bg-merchantman.webp' },
'julia-jin': { bg: 'assets/themes/bg-julia-jin.png' },
'sc-sunset': { bg: 'assets/themes/bg-sc-sunset.jpg' },