Diese Anleitung behandelt die Verwendung der Seitenveröffentlichungsfunktion (Page Publishing) auf Discourse. Diese Funktion ermöglicht es Mitarbeitern (Staff), ein Thema in eine eigenständige statische Seite mit benutzerdefinierter Formatierung umzuwandeln. Beispiele hierfür sind die Seiten für Nutzungsbedingungen (Terms of Service) und Datenschutzrichtlinien (Privacy Policy).
Erforderliche Benutzerebene: Mitarbeiter (Staff)
Statische Seiten auf Discourse veröffentlichen
Mit der Seitenveröffentlichung (Page Publishing) können Mitarbeiter (Staff) Themen in eigenständige statische Seiten umwandeln. Dies ähnelt dem Prozess der Erstellung von Seiten für Nutzungsbedingungen oder Datenschutzrichtlinien.
Zusammenfassung
Diese Dokumentation behandelt:
Aktivierung der Seitenveröffentlichung
Veröffentlichen eines Themas als Seite
Entfernen der Veröffentlichung eines Themas
Häufige Probleme und Lösungen
FAQs
Zusätzliche Ressourcen
Seitenveröffentlichung aktivieren
Navigieren Sie zu Admin > Settings (Einstellungen).
Aktivieren Sie die Einstellung enable page publishing (Seitenveröffentlichung aktivieren).
Seitenveröffentlichung aktivieren, wenn eine Anmeldung erforderlich ist
Damit veröffentlichte Seiten auch für nicht angemeldete Benutzer sichtbar sind:
Aktivieren Sie die Einstellung show_published_pages_login_required unter Admin > Settings (Einstellungen).
Ein Thema veröffentlichen
Gehen Sie zum ersten Beitrag eines öffentlichen Themas und wählen Sie das Ellipsen-Symbol (...) aus.
Wählen Sie das Schraubenschlüssel-Symbol.
Wählen Sie die Option „Page Publishing“ (Seitenveröffentlichung).
Es erscheint ein modales Dialogfeld, in dem Sie die Slug (kann aus dem Beitragstitel vorausgefüllt werden) bestätigen und die URL der veröffentlichten Seite in der Vorschau anzeigen können.
Veröffentlichte Seiten sind im ausgeloggten Zustand nicht sichtbar
Stellen Sie sicher, dass die Einstellung show_published_pages_login_required unter Admin > Settings (Einstellungen) aktiviert ist.
Discourse-Header zu veröffentlichten Seiten hinzufügen
Aktuell sind statische Seiten minimal gehalten und enthalten nicht den üblichen Discourse-Header und -Footer.
FAQs
Kann ich eine FAQ- oder „Über uns“-Seite öffentlich machen?
Sie können ein neues Thema mit dem gewünschten Inhalt erstellen und es als Seite veröffentlichen. Ändern Sie die Links in den Website-Einstellungen, sodass sie auf diese neuen Seiten verweisen.
Wie kann ich das Aussehen einer veröffentlichten Seite anpassen?
Verwenden Sie die Struktur des HTML-Dokuments und die entsprechenden CSS-Selektoren, um benutzerdefinierte Stile unter Admin > Customize (Anpassen) > Themes (Themen) > CSS anzuwenden.
I still need to try this out first hand so the following may not be grounded in reality, but:
It strikes me that this permission model sets up a scenario where you always see two copies of the pages’ content – one in the relevant Discourse category, and one in the published pages themselves. This of course seems duplicative if you’re wanting to publish pages for the general population that is similar to, or identical to, your Discourse user base.
OTOH, if pages had the “world readable” flag available, you could then restrict who can see/edit them to a small group, and the only place the content would be available to other Discourse users would be in the published links themselves.
(I’m thinking of a use case of a “documentation site” here.)
Awesome stuff, and thanks again for listening to your users. I love the ‘lets make this better for us all’ vibe that Discourse has! We’ll make heavy use of this.
When discussing one use (patching up an install that went a bit awry), another user pointed out a remaining bit of icing that could do with going on the cake:
Hey, is there any way to include the ability to make /faq and /about public as well, as they are currently hidden in Login Required sites. We can of course use the existing functionality that you’ve just released for /faq by making our own, changing the link in settings, and explicitly linking to it. However, this is not pretty and the existing navigation to it remains hidden. We can’t do that at all for /about of course.
Please excuse my ignorance, as I am very much a beginner in the HTML/CSS space… however, how would we go about applying our theme colour choices to published pages. At its simplest, I’d like to use the dark background/white text to give the published pages the same darkmode experience as accessing our forums.
Is this already in the product, or do I need to play with HTML/CSS? If the latter, could anyone give me some pointers in the right direction? Thanks!
Can you make this a separate feature request please? This is not related to page publishing, as in I wouldn’t have to change anything related to page publishing to make it possible. I do agree it would be better if all these “static” pages could have more or less the same behaviour, but there are multiple solutions here (do nothing? add site settings? migrate these to page publishing?), so we might want to have a dedicated topic for this.
Just trying to think of a solution here… would it work if type="text/javascript" and type="text/discourse-plugin" were treated differently? The API needs the latter, right?
I think what’s needed is a set of theme components that add such. The last client I had to use this wanted the topic creator removed. I think it’s hard to guess what will meet people’s needs for this!
Are there currently any ongoing efforts for adding “simple” (non-API) Javascript support to published pages? Or should we forget about this near- to mid-term ?
Can i display external non-Discourse JSON on this page? Because we can’t use php code here and discourse strip most of html so i do not know how to do it…
I have a problem with a published page - the button to copy the content of the code block is not visible on a published page. Screenshot: Screenshot by Lightshot. I move the mouse over the block, but the button doesn’t appear. When logged in - everything works as usual - ok.
Ha! So it seems that there’s a hacky way to make some theme components work with page publishing.
I’m looking into adding some header/footer to the published pages, and theme components seem to be the way to go. But it seems bad to go on and implement something that would potentially break in the near future.
@riking, it looks like the text/javacript type in header or footer working on published pages was unintented. Is it going to be fixed or used to extend published pages?
Unfortunately, the “Page Publishing” feature doesn’t meet my needs. For me to use it, I would need published pages:
to be displayed within the normal Discourse layout, i.e. with the standard Discourse header (just like the Terms of Service and the Privacy Policy), and
to be rendered like normal (decorated) topics, i.e. supporting bbcode and plugins.
In the meantime I used the default Discourse customization facility:
Identify the added element, e.g., with a published-page-footer-links CSS class.
Customize CSS to hide this element by default and show it only for published pages
Add the element in the Footer space
2. In CSS, add:
/* Only show footer links on published pages */
.published-page-footer-links { display: none; }
.published-page .published-page-footer-links { display: block;}
3. in Footer, add:
<nav class="published-page-footer-links">
Hi there! This is the footer for published pages!
</nav>