| Zusammenfassung | Diese Theme-Komponente fügt eine konfigurierbare Absicherung für externe Links in gekochten Beiträgen hinzu. Sie wendet Regeln basierend auf dem Vertrauenslevel, optionale Login- und Informations-Weiterleitungen, visuelle Indikatoren für vertrauenswürdige Domains und ein anpassbares Bestätigungs-Modal beim Verlassen an. | |
| Vorschau | Theme Creator | |
| Repository | https://github.com/VaperinaDEV/external-link-shield | |
| Installationsanleitung | Wie man ein Theme oder eine Theme-Komponente installiert | |
| Neu bei Discourse Themes? | Anfängerleitfaden zur Verwendung von Discourse Themes |
Diese Theme-Komponente installieren
Hallo ![]()
Ich möchte eine Theme-Komponente vorstellen, die eine feingranulare Steuerung für externe Links in gekochten Beiträgen hinzufügt und Folgendes kombiniert:
- Zugriffskontrolle basierend auf dem Vertrauenslevel
- Schutz für anonyme Benutzer
- Ein benutzerdefiniertes Bestätigungs-Modal beim Verlassen
- und visuelle Indikatoren für vertrauenswürdige vs. unbekannte Domains
Diese Komponente wurde für Communities entwickelt, in denen externe Links rechtliche, sicherheitstechnische oder Vertrauensaspekte mit sich bringen können.
Funktionen
Konfigurierbare Regeln für Vertrauenslevel
Alle auf dem Vertrauenslevel basierenden Verhaltensweisen sind über Theme-Einstellungen vollständig konfigurierbar.
Sie können unabhängig voneinander aktivieren oder deaktivieren:
- Blockierung anonymer Benutzer
- TL0 Informations-Ersetzung
- TL1 Anforderung einer manuellen Freigabe
- Bestätigungs-Modal beim Verlassen für höhere Vertrauenslevel
Dies ermöglicht es der Komponente, sich an sehr unterschiedliche Community-Richtlinien anzupassen, von strikter Link-Absicherung bis hin zu minimaler Benutzerreaktion.
Vertrauenslevel-bewusste externe Links
Externe Links verhalten sich je nach Vertrauenslevel des Betrachters unterschiedlich:
- Anonyme Benutzer
- Externe Links werden durch einen Login-Link oder eine in den Einstellungen definierte benutzerdefinierte URL ersetzt.
- TL0
- Links werden durch eine konfigurierbare Weiterleitung ersetzt, zum Beispiel ein Thema, das die Vertrauenslevel erklärt, oder eine andere in den Einstellungen definierte URL.
- TL1
- Links erfordern eine manuelle Freigabe (Klick zur Ansicht), und beim Klicken auf den Link wird das Bestätigungs-Modal beim Verlassen angezeigt.
- TL2+
- Links verhalten sich normal, zeigen aber immer ein Bestätigungs-Modal beim Verlassen an.
Bestätigungs-Modal beim Verlassen
Bevor sie das Forum verlassen, sehen Benutzer ein Modal, das:
- Klar angibt, dass sie die Community verlassen
- Die vollständige Ziel-URL in
<code>-Tags anzeigt - Die
external_links_in_new_tab-Präferenz des Benutzers respektiert
Dies ist besonders nützlich für:
- Compliance-intensive Communities
- Phishing-Abwehr
- Schulung weniger erfahrener Benutzer
Domain-basiertes Verhalten über Einstellungen
Die Komponente führt zwei Theme-Einstellungen ein:
internal_domains:
type: list
default: ""
description: "Ihre Forum- und CDN-Domains (z.B. example.com|example-cdn.com). Diese erhalten KEIN Icon und KEIN Modal."
excluded_domains:
type: list
default: ""
description: "Vertrauenswürdige externe Domains (z.B. youtube.com|google.com). Diese zeigen ein SCHLOSS-Icon, überspringen aber das Modal/die Absicherung."
- Interne Domains
- Werden als intern behandelt → kein Icon, kein Modal
- Ausgeschlossene (vertrauenswürdige) Domains
- Zeigen ein
Schloss-Icon - Überspringen die Vertrauenslevel-Prüfung und das Modal
- Zeigen ein
- Alle anderen externen Links
- Zeigen ein externes-Link-Icon
- Werden je nach Vertrauenslevel geprüft und/oder bestätigt
Visuelle Indikatoren (SCSS)
Icons werden rein über CSS hinzugefügt:
- Unbekannte externe Links → externes-Link-Icon
- Vertrauenswürdige externe Links → Schloss-Icon (Erfolgsfarbe)
Dies hält das DOM sauber und vermeidet das Injizieren von Icons basierend auf JavaScript.
Dieser Screenshot zeigt, wie die Komponente visuell unterscheidet zwischen:
- Ausgeschlossene Domains: vertrauenswürdige externe Links (Schloss-Icon, keine Bestätigung beim Verlassen),
- Interne Domains: interne Links (kein Icon, keine Bestätigung beim Verlassen),
- unbekannte externe Links (externes-Link-Icon mit Bestätigung beim Verlassen).
Anwendungsfälle
Diese Komponente ist nützlich, wenn Sie:
- Benutzer vor unsicheren oder irreführenden externen Links schützen möchten
- Neue Benutzer informieren möchten, bevor sie das Forum verlassen
- Die Vertrauensentwicklung der Community durchsetzen möchten
- Rechtliche / Compliance-Hinweise hinzufügen möchten, ohne die Benutzererfahrung zu beeinträchtigen



