Dies wurde bereits in zwei anderen Threads diskutiert, die jedoch gesperrt sind:
Einige Leute sagen, wir sollten stattdessen daran arbeiten, Discourse neu zu branden, um das Design einer bestehenden Website zu übernehmen.
Aus Erfahrung ist dies sehr schwierig umzusetzen. Das Markup und das CSS für dieses Markup sind sehr komplex zu bearbeiten und nicht flexibel. Als Beispiel: Die DOM-Bäume zwischen der Discourse-Header-Leiste und dem Hauptinhalt unterscheiden sich stark voneinander. Das Einfügen von Header-Inhalten (im integrierten Editor von Discourse) platziert den eingefügten Inhalt beispielsweise sehr weit entfernt vom eigentlichen Discourse-Header.
Glauben Sie mir, es ist ziemlich schwierig, einfach „Ihren Discourse Ihrem Hauptwebsite-Design anzupassen“.
Was ich als Nächstes versuchen möchte, ist das Einbetten von Discourse in ein <iframe>. Mal sehen, wie das funktioniert.
Feature-Anfrage! Es wäre toll, wenn Discourse als eine Reihe von benutzerdefinierten Elementen konsumiert werden könnte. Zum Beispiel:
<!-- ... einige benutzerdefinierte Markup-Elemente ... -->
<discourse-actions backend="http://url.to/actual/discourse/instance">
<!-- ... einige benutzerdefinierte Markup-Elemente ... -->
<discourse-main backend="http://url.to/actual/discourse/instance">
Dies würde es ermöglichen, Teile von Discourse überall auf einer Website einzubetten, und die Elemente würden mit dem angegebenen Backend verbunden.
Der direkte Besuch von http://url.to/actual/discourse/instance würde Discourse auf die übliche Weise als eigenständige Webanwendung öffnen.
Im Grunde würde dies die Nutzbarkeit von Discourse-Teilen innerhalb übergeordneter HTML-Strukturen ermöglichen (wie Handlebars-Template-Partials, aber auf eine zukunftssichere Weise, die auf Webstandards basiert).
Stellen Sie sich vor, was sonst noch mit einer solchen Funktion möglich wäre (denken Sie an den Fall, dass benutzerdefinierte Elemente unterschiedliche Werte für das Attribut backend haben)…
