Dieser Leitfaden erklärt, wie Oneboxen in Discourse konfiguriert und Fehler behoben werden. Er behandelt Admin-Einstellungen, die Funktionsweise von Oneboxen und Schritte zur Behebung häufiger Probleme.
Erforderliches Benutzerniveau: Administrator
Oneboxen sind Rich-Link-Vorschauen, die Benutzer in ihren Beiträgen erstellen können. Während Benutzer diese Vorschauen einfach generieren können, haben Website-Administratoren zusätzliche Steuerelemente und müssen möglicherweise Fehler beheben, wenn Links nicht wie erwartet angezeigt werden.
Admin-Konfiguration
So verwalten Sie Onebox-Einstellungen:
- Gehen Sie zum Admin-Panel
- Navigieren Sie zum Abschnitt Website-Einstellungen
- Suchen Sie nach „onebox“
Sie sehen eine Liste der Onebox-bezogenen Einstellungen:
Einige bemerkenswerte Einstellungen sind:
post onebox maxlength: Steuert die Textmenge, die in einer Onebox enthalten istenable inline onebox on all domains: Aktiviert Inline-Oneboxen und konvertiert einfache URLs in verlinkte Titel (z. B. wirdhttps://en.wikipedia.org/wiki/Fun_(band)zu „Fun (band) - Wikipedia“)blocked onebox domains: Ermöglicht Ihnen, Oneboxen für bestimmte Domains zu deaktivieren
Funktionsweise von Oneboxen
Wenn ein Link in einen Beitrag aufgenommen wird, besucht Discourse die Zielseite und sucht nach Open Graph oder oEmbed Tags, einschließlich:
- Website-Adresse
- Titel
- Hervorgehobenes Bild
- Website-Symbol (oder Favicon)
- Beschreibung (obligatorisch)
- Produktpreis (falls relevant)
Discourse benötigt das Beschreibungs-Tag und muss genügend Text enthalten, um die Seite zusammenzufassen. Ohne dies wird der Ziel-Link nicht als Onebox angezeigt.
Hier ist ein Beispiel für eine Onebox für \u003chttps://discourse.org\u003e, die den Website-Titel, das hervorgehobene Bild, das Symbol und die Beschreibung anzeigt:
Fehlerbehebung
Wenn Oneboxen nicht wie erwartet funktionieren, versuchen Sie Folgendes:
-
Testen Sie die Website mit iFramely:
- Fügen Sie den Link ein und prüfen Sie, ob korrekte OpenGraph- oder oEmbed-Metadaten-Tags verwendet werden
- Stellen Sie sicher, dass der Beschreibungstext vorhanden und ausreichend ist
-
Prüfen Sie, ob die Onebox-Anfrage blockiert wird:
- Einige Hosts blockieren möglicherweise „unbekannte“ User-Agents
- Stellen Sie sicher, dass die Zielwebsite den User-Agent von Discourse nicht blockiert
-
Wenn interne Links nicht als Oneboxen angezeigt werden:
- Stellen Sie sicher, dass sich der Link nicht in einer sicheren Kategorie befindet
- Interne Links werden aus Sicherheitsgründen nur in öffentlichen Kategorien oder innerhalb derselben Kategorie als Onebox angezeigt
Über die Rails-Konsole können Sie Oneboxen explizit ungültig machen/abrufen, indem Sie die Methoden aufrufen, während Sie testen, indem Sie Folgendes tun:
[1] pry(main)> Oneboxer.invalidate(url)
=> 0
[2] pry(main)> Oneboxer.onebox(url)
=> "<aside class=\"onebox …(elided)"
[3] pry(main)> InlineOneboxer.invalidate(url)
=> 0
[4] pry(main)> InlineOneboxer.onebox(url)
=> "<aside class=\"onebox …(elided)"
