Landing Pages Blog 🛩

Funktioniert, wird aber nicht mehr gewartet [Juli 2022]

Sie können jetzt das Landing Pages Plugin verwenden, um mit Discourse einen Blog zu betreiben :tada:. Legen Sie eine Kategorie als Ihren Blog fest. Der erste Beitrag jedes Themas in dieser Kategorie erhält dann eine eigene Blogseite und erscheint auf einer Liste der Blogbeiträge.

Screen Shot 2021-05-13 at 5.04.18 PM

Dieses Projekt war eine gemeinsame Anstrengung zwischen @meghna und mir. Alle schönen Designarbeiten stammen von ihr. Wenn Ihnen das Design dieses Blogs gefällt, schauen Sie sich unbedingt ihre Discourse Themes an. Alle Fehler in der Funktionalität liegen jedoch bei mir :slight_smile:

Code herunterladen

GitHub-Mark-64px Landing Pages Plugin
GitHub-Mark-64px Blog Landing Pages
GitHub-Mark-64px Blog Landing Theme

In Aktion sehen

try.thepavilion.io/blog

Bitte beachten Sie, dass alle Inhalte im Blog und in den Screenshots in diesem Beitrag von The Conversation stammen und unter der Creative-Commons-Lizenz verwendet werden, die von dieser Seite genutzt wird. Alle Inhalte gehören ihren ursprünglichen Autoren und dienen ausschließlich Demonstrationszwecken.

Einrichtung

Folgen Sie diesen Schritten in der angegebenen Reihenfolge:

  1. Installieren Sie das Landing Pages Plugin (Anleitung zur Installation eines Plugins in Discourse).
  2. Installieren Sie das Blog Landing Theme (Anleitung zur Installation eines Themes in Discourse).
  3. Richten Sie die Blog Landing Pages als Ihr Landing Pages Repository ein.
  4. Ändern Sie in der Landing Pages-Administrations-Oberfläche die Kategorie der Seite „Blog" in die Kategorie, die Sie für Ihren Blog verwenden möchten.

Das war’s! Der erste Beitrag jedes Themas in dieser Kategorie wird nun als Beitrag auf Ihrem Blog angezeigt :slight_smile:

Beiträge auf Mitwirkende beschränken

Wahrscheinlich möchten Sie Beiträge in dieser Kategorie auf eine Gruppe von Blog-Mitwirkenden beschränken. Wenn Sie nicht sicher sind, wie das geht, finden Sie hier eine kurze Anleitung:

  1. Erstellen Sie eine Benutzergruppe, z. B. „Contributors", indem Sie zu /groups gehen und auf „Neue Gruppe" klicken.
  2. Fügen Sie Benutzer zur Gruppe hinzu („Mitglieder hinzufügen" oben rechts).
  3. Entfernen Sie in den Sicherheitseinstellungen der Blog-Kategorie die Berechtigung „Erstellen" für „Alle" und fügen Sie Ihre Contributors-Gruppe hinzu.

Jetzt können nur Ihre Mitwirkenden auf Ihrem Blog posten, aber alle Benutzer können auf Beiträge kommentieren.

Was unterscheidet dies von anderen Blog-Lösungen?

Es gibt einige großartige bestehende Lösungen für das Betreiben eines Blogs innerhalb oder neben Discourse, darunter:

Dies ist etwas anders, da es sich um eine völlig separate Reihe von Seiten handelt, die nicht Teil der Discourse-Client-Anwendung sind, aber dennoch denselben Server verwenden. Dies bietet Ihnen einige Vorteile gegenüber der Nutzung eines separaten Blogs (z. B. auf Wordpress) oder der direkten Verwendung einer Discourse-Kategorie (z. B. mit einem Theme-Komponente), darunter:

  • Sie können Inhalte erstellen und Benutzer in Discourse antworten lassen, aber eine dedizierte Blog-Umgebung zum Lesen und Teilen haben. Leser Ihres Blogs haben das GefĂĽhl, einen Blog und nicht einen Forenbeitrag zu lesen.
  • Sie haben ein einziges Benutzerkontosystem (das von Discourse).
  • Sie können Discourse-Gruppen verwenden, um den Zugriff auf den Blog einzuschränken.
  • Sie können Discourse-Beiträge ohne zusätzliche Einrichtung als Kommentare auf Ihrem Blog anzeigen lassen.
  • Sie erhalten direkt ein ansprechendes, responsives Blog-Theme.
  • Sie mĂĽssen nur einen Server einrichten und bezahlen.
  • Der Blog muss Ihr Forum nicht laden, um zu funktionieren, sodass er schnell laden kann.
  • Sie können Ihre Blog-Seiten (und das Theme) problemlos in der Versionskontrolle verwalten.
  • Sie erhalten eine gut formatierte E-Mail-Benachrichtigung ĂĽber neue Blogbeiträge (siehe unten).
  • Sie können es mĂĽhelos zusammen mit allen anderen benötigten Landing Pages mit dem Landing Pages Plugin verwalten.

Obwohl die Blog Landing Pages einige klare Vorteile bieten, sind sie nicht für jede Community die beste Blog-Lösung. Sie sollten die verschiedenen Lösungen testen und herausfinden, welche für Sie am besten geeignet ist.

Was bedeutet es, dem Blog „abonniert" zu sein?

Wenn Sie angemeldet sind und auf die Schaltfläche „Abonnieren" klicken, wird ein Modal-Fenster angezeigt (wenn Sie nicht angemeldet sind, werden Sie zur Discourse-Anmeldeseite weitergeleitet).

Wenn Sie das Kontrollkästchen neben „Beiträge von [Seitenname] abonnieren" aktiviert und das Formular abgeschickt haben, werden Sie automatisch auf „Ersten Beitrag beobachten" für die Blog-Kategorie eingestellt. Das bedeutet, dass Sie eine E-Mail-Benachrichtigung erhalten, sobald ein neuer Beitrag in dieser Kategorie erscheint, genau wie bei einem Blog-Abonnement!

Sie können Ihre Benachrichtigungen für die Blog-Kategorie auch auf normale Weise (in Discourse) auf „Ersten Beitrag beobachten" einstellen, was denselben Effekt hat. Das „Beobachten" der Kategorie (wofür Sie eine E-Mail für jeden Beitrag, einschließlich Antworten, erhalten), zählt ebenfalls als Abonnement.

Die E-Mail-Benachrichtigungen fĂĽr eine Blog-Kategorie sind etwas Besonderes. Erstens erhalten Sie, sofern Sie den Beitrag nicht selbst erstellt haben, immer eine E-Mail-Benachrichtigung, wenn Sie abonniert sind, selbst wenn Sie die Seite kĂĽrzlich besucht haben. Zweitens sind sie so gestaltet, dass sie wie eine Blog-Post-E-Mail aussehen.

Wir planen, in naher Zukunft Site-Administratoren zu ermöglichen, das HTML der Blog-Post-E-Mail in der Landing Pages-Administrations-Oberfläche zu bearbeiten. Beachten Sie, dass, wenn Sie die Blog-Kategorie „beobachten", nur die E-Mail-Benachrichtigung für den ersten Beitrag in jedem Thema anders aussieht. Benachrichtigungen für Antworten sehen wie normale Discourse-Benachrichtigungen aus.

Ăśber das Bloggen hinaus

Sie können die oben beschriebene Funktionalität verwenden, um eine Reihe von Landing Pages für beliebige Inhalte zu erstellen, ähnlich wie Wordpress ein Blogging-Engine ist, das Sie auch für die Anzeige anderer (nicht-Blog) Arten von Inhalten verwenden können. Sie könnten eine Kategorie verwenden, um eine Reihe von Produkten, Orten oder Personen zu verwalten, und automatisch sowohl eine Landing Page als auch ein Diskussionsthema für den Inhalt erhalten, einfach indem Sie einen einzigen Beitrag in Discourse erstellen.

Jeder Entwickler, der etwas Ruby on Rails kennt, könnte mit diesem System alle diese zusätzlichen Anwendungsfälle umsetzen. Sie müssen nicht wissen, wie Discourse funktioniert. Da diese Blog-Seiten Teil des Landing Pages-Plugins sind, haben Sie auch Zugriff auf alle vorhandenen Vorlagen in diesem Plugin, einschließlich Kontaktformularen, Header, Footer, Themenlisten und Benutzerprofilen. Weitere Informationen zu diesen und anderen Vorlagen finden Sie in der Plugin-Dokumentation.

41 „Gefällt mir“

Sieht großartig aus, gute Arbeit! Ist das Blog-Landing-Theme zwingend erforderlich? Wäre es in diesem Fall möglich, es als Komponente anzubieten (da diejenigen, die bereits ein anderes oder angepasstes Theme haben, daran festhalten möchten)?

2 „Gefällt mir“

Die Blog-Landing-Seiten und die Funktionalität des Landing Pages-Plugins, auf das sie angewiesen sind, sind so konzipiert, dass sie mit jedem Theme funktionieren :slight_smile: Du kannst dies ganz nach Belieben anpassen.

Es muss nicht auf deiner Discourse-Instanz aktiv sein, um zu funktionieren. Es muss nur installiert und dann in der entsprechenden Seite der Landing Pages-Admin-Oberfläche ausgewählt werden. So sehen die Theme-Einstellungen auf try.thepavilion.io aus (du kannst die Seiteneinstellungen im Eröffnungspost sehen)

3 „Gefällt mir“

Epic! Ich freue mich darauf, das auszuprobieren. Danke dafĂĽr :slight_smile:

2 „Gefällt mir“

:exploding_head:

Das ist wirklich cool. Das bringt mich dazu, meinen gesamten Ansatz zu ĂĽberdenken. Danke! :laughing:

2 „Gefällt mir“

Das ist groĂźartig!

Soll ich das Repository forken, um die Informationen meiner Website einzugeben? Oder gibt es einen besseren Weg, das zu tun?

2 „Gefällt mir“

Danke @sethm, ja, das Blog Landing Theme und die Blog Landing Pages dienen als Vorlagen. Daher könntet ihr:

  • sie direkt wie oben beschrieben in eure Instanz importieren;
  • sie forken; oder
  • sie herunterladen und so bearbeiten, wie ihr es bei einer Vorlage fĂĽr WordPress, Ghost usw. tun wĂĽrdet.
3 „Gefällt mir“

Gibt es eine Möglichkeit, eine Teilmenge von Discourse-Inhalten öffentlich sichtbar zu machen (wie diese Blog-Inhalte), anstatt eine Registrierung/Anmeldung zu verlangen? Danke.

–Peter

1 „Gefällt mir“

Hallo Peter, ja, standardmäßig sind Inhalte in Discourse öffentlich sichtbar. Wenn dies nicht der Fall ist, bedeutet dies, dass Sie die Website-Einstellung „Login erforderlich“ aktiviert haben. Sie können dann die Sichtbarkeit bestimmter Kategorien über kategoriespezifische Berechtigungen (in den Kategorieeinstellungen) steuern. Sie können einen Screenshot der kategoriespezifischen Zugriffseinstellungen oben sehen.

1 „Gefällt mir“

Danke, aber ich sehe den Screenshot fĂĽr kategoriespezifische Zugriffseinstellungen nicht?

1 „Gefällt mir“

Irgendwelche Hilfe?
Vielleicht erscheinen die kategoriespezifischen Einstellungen nicht, es sei denn, ich entferne die Anforderung, dass ein Login erforderlich ist?
Aber ich möchte das nicht entfernen, bis ich die Kategorien auf öffentlich oder Login erforderlich eingestellt habe…
Danke.

–Peter

1 „Gefällt mir“

Sie sollten die Berechtigungen der Kategorie auf der Registerkarte „Sicherheit“ im Admin-Schraubenschlüssel auf der Kategorieseite sehen können:

Ich hoffe, das hilft. :slightly_smiling_face:

2 „Gefällt mir“

Ah! Danke.
Also, wenn ich alle Kategorien und aktuellen Benutzer auf Vertrauensstufe 2 setze und die neue Kategorie, die ich öffentlich haben möchte, auf Vertrauensstufe 0, und die Anmeldepflicht ändere, sollte das funktionieren? Oder ist diese Logik falsch?

–Peter

1 „Gefällt mir“

Wenn die Blog-Kategorie auch für anonyme Personen und Kontoinhaber sichtbar sein soll, dann sollte die Gruppe “Everyone” mindestens die Berechtigung “See” haben.

Und dann setzen Sie die anderen Kategorien auf mindestens “trust_level_0”, damit Personen ein Konto benötigen, um die Themen darin anzuzeigen und mit ihnen zu interagieren.

1 „Gefällt mir“

Danke, das hat funktioniert. Ich schätze die Hilfe.

2 „Gefällt mir“

Ich brauche ein wenig Hilfe beim Verständnis dieses Plugins. Einerseits sagen Sie, dass Sie können

Eine Kategorie als Ihren Blog festlegen, und der erste Beitrag jedes Themas in dieser Kategorie erhält eine eigene Blogseite und wird auf einer Blogbeitragslistenseite angezeigt.

und andererseits

  1. Richten Sie die Blog-Landingpages als Ihr Repository fĂĽr Landingpages ein.

Ich bin verwirrt. Kann ich einen Blog mit meinen Discourse-Beiträgen ohne ein Git-Repository und ohne *html.erb-Dateien betreiben?

1 „Gefällt mir“

Der Inhalt des Blogs wird aus Discourse-Posts bezogen. Das Layout des Blogs wird durch die HTML-Dateien gehandhabt, die sich im Repository Blog Landing Pages befinden könnten.

Dieses Plugin ist nicht wie Hugo, wo man Blog-Posts in Markup erstellt. Obwohl die Integration mit Hugo cool wäre, könnten wir das irgendwann versuchen (cc @jumagura)

3 „Gefällt mir“

Ich betreibe ein Forum mit Discourse seit ein paar Monaten, bin also noch ziemlich neu darin. Ich habe schon einmal ein Plugin installiert, aber als ich heute Abend versuchte, das Landing Pages Plugin zu installieren, erhielt ich eine Fehlermeldung, als die App neu aufgebaut wurde, und sie ließ sich nicht starten. Vielleicht gibt es ein Kompatibilitäts- oder Versionsproblem mit etwas, aber ich bin mir nicht sicher, wo ich anfangen soll. Kann mir jemand einen Hinweis geben? Ich habe mir das Protokoll angesehen, aber ich kann nicht erkennen, was das Problem sein könnte.

Dies ist der letzte Teil der Ergebnisse des Wiederaufbaus:

Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 364 exit 1>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
fb680c9c3b46dcd068abe877ed4187c730351c10139cc3eda2a8b7202822bf07
saul@discourseonubuntu2004-s-1vcpu-2gb-intel-lon1-01:/var/discourse$ 
saul@discourseonubuntu2004-s-1vcpu-2gb-intel-lon1-01:/var/discourse$ 

Vielen Dank fĂĽr jede Hilfe.

1 „Gefällt mir“

Kann jemand dieses Plugin überprüfen? Ich habe das gleiche Problem wie der Benutzer über mir. Ich erhalte einige Fehler beim Versuch, es zu erstellen. Anscheinend ist es seit 2.9.0 Beta 4 und höher kaputt.

Ich könnte einige Protokolle bereitstellen, aber es wäre besser, wenn der Ersteller eine frische Discourse-Installation überprüft und es dann versucht zu erstellen, da ich dies sowohl bei einer bestehenden als auch bei einer frischen Discourse-Installation getestet habe und es immer fehlschlägt.

Ich habe die im Eröffnungspost bereitgestellten Schritte genau befolgt.

  1. Installieren Sie das Landing Pages Plugin (wie man ein Plugin in Discourse installiert) .
  2. Installieren Sie das Blog Landing Theme , (wie man ein Theme in Discourse installiert) .
  3. Richten Sie die Blog Landing Pages als Ihr Repository fĂĽr Landing Pages ein.
  4. Ändern Sie in der Landing Pages Administration UI die Kategorie der „Blog“-Seite in die Kategorie, die Sie für Ihren Blog verwenden möchten.
1 „Gefällt mir“

Ich werde dieses Plugin in der kommenden Woche mit der neuesten Discourse-Version kompatibel machen.

4 „Gefällt mir“