ich habe mich gefragt, ob jemand Discourse-Communities kennt, die einen eingebetteten Twitter-Feed haben? Ich habe bereits einige Beiträge zu diesem Thema gelesen, aber ich würde gerne Beispiele sehen, die ich mir ansehen kann.
Du musst dich registrieren, um es sehen zu können, da ich es vom Standardthema entfernen musste, weil es die Seite für nicht eingeloggte Benutzer beschädigt hat. Erstelle ein Konto und wähle im Hamburger-Menü das dunkle oder helle Thema aus, um es live zu sehen. Oder hier ist ein Screenshot, falls du dich nicht mit dem Anmelden beschäftigen möchtest.
Mein Kollege hat ein Skript und eine Template-Überschreibung für die Seitenleiste erstellt, und ich habe lediglich den Twitter-Feed und einige Cookies hinzugefügt. Er meinte, ich könne das Skript hier veröffentlichen, also hier ist es mit den Twitter-Elementen und dem CSS.
Edit: Okay, das ist er unten, also überlasse ich es ihm, sich darum zu kümmern.
Warte kurz, bevor jemand diesen Code verwendet. Es ist viel mehr als erwartet gepostet worden, und der Großteil davon ist für einen eingebetteten Twitter-Feed völlig unnötig. Ich werde in Kürze eine deutlich kleinere Version bereitstellen.
OK, das sollte einen eingebetteten Twitter-Feed als linke Seitenleiste auf allen Listen-Seiten bereitstellen. Sie müssen Zeile 60 mit dem entsprechenden HTML für die Timeline bearbeiten, die Sie einbetten möchten.
Gehen Sie zu dieser Twitter-Seite, geben Sie den Link ein, den Sie einbetten möchten (z. B. https://twitter.com/TwitterDev), und klicken Sie auf „Eingebettete Timeline".
Sie erhalten einen Code wie diesen: <a class="twitter-timeline" href="https://twitter.com/TwitterDev?ref_src=twsrc%5Etfw">Tweets by TwitterDev</a> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
Löschen Sie den <script>-Teil, sodass nur Folgendes übrig bleibt: <a class="twitter-timeline" href="https://twitter.com/SampleTwitterUser?ref_src=twsrc%5Etfw">Tweets by SampleTwitterUser</a>
Fügen Sie dies in Zeile 60 unten ein und ersetzen Sie die XXXXXXXXXX.
Das sollte funktionieren, aber es könnte sein, dass wir auf unserer Website noch etwas anderes CSS haben, das Sie nicht haben. Daher kann ich nicht garantieren, dass es für jeden perfekt funktioniert.
Das oben Genannte erfordert eine Seitenaktualisierung, damit die Zeitleiste für nicht angemeldete Benutzer angezeigt wird. Das ist ein bekannter Fehler, den wir noch nicht behoben haben.
Heute Abend schaue ich mir zum ersten Mal genauer die Twitter-Sachen an. Ich glaube, ich habe verstanden, wo die bekannten Fehler behoben werden müssen, aber ich habe im Moment keine Zeit, das zu tun.
Hier ist es als Komponente, die stabil zu sein scheint:
Es fügt eine Twitter-Sidebar zur Discourse-Seite discovery/topics.hbs hinzu, sodass die Sidebar auf allen Seiten wie „Neueste“, „Ungelesen“, „Neu“, „Lesezeichen“ usw. angezeigt wird. Sie wird nicht geladen, wenn der Benutzer nicht eingeloggt ist, da wir es nicht geschafft haben, es ohne Anmeldung zum Laufen zu bringen. Außerdem funktioniert es nicht auf iOS, daher vermute ich, dass es auf iPads deaktiviert ist, aber ich kann das nicht testen.
Um deinen Twitter-Feed statt des Discourse-Feed zu laden, musst du die Anweisungen in Zeile 30 der Datei Desktop head_tag.html befolgen und den korrekten Code in Zeile 39 einfügen.
Ich finde, es sieht viel besser aus, wenn du die Breite des Containers auf den Seiten, die die Sidebar enthalten, erhöhst.
Ich habe die Theme-Komponente installiert, aber aus irgendeinem Grund wird mir in der Seitenleiste nur ein Link zur Zeitleiste angezeigt, nicht jedoch die Tweets.
Da sich dies jedoch in der Komponente befindet, fällt mir bei dir nur noch ein, dass du in deinen Sicherheitseinstellungen nach der Einstellung „Inhaltssicherheitsrichtlinie
Das ist wirklich cool. Ich habe es ausprobiert und es funktioniert gut. Gut gemacht!
Als ich das Thema zum ersten Mal gesehen habe, dachte ich, es würde etwas anders sein. In meiner Community haben viele Mitglieder auch Twitter. Es ist eine Herausforderung, sie dazu zu bringen, auf dem Forum tiefergehende, langfristige Gespräche über Dinge zu führen, über die sie tweeten. Eine Schnittstelle, um einen Feed zu sehen und ein Thema zu einem Tweet zu starten, wäre interessant! Vielleicht könnte der Feed ein Hashtag sein? Oder sie könnten ihren eigenen Twitter-Feed auf ihrem Profil sehen und von dort aus Themen starten.
Danke, Smertey, ich habe die Content Security Policy deaktiviert, und es scheint jetzt zu funktionieren. Hat das Deaktivieren dieser Option irgendwelche Sicherheitsrisiken?