Об этом уже обсуждалось в двух других темах, но они закрыты:
Некоторые считают, что вместо этого следует поработать над ребрендингом Discourse, чтобы он соответствовал дизайну существующего сайта.
По опыту скажу: это очень сложно реализовать. Разметка и CSS для неё крайне сложны в работе и негибки. Например, деревья DOM в заголовке Discourse и в основном контенте сильно различаются. Вставка содержимого заголовка (встроенный редактор Discourse) приводит к тому, что вставленный контент оказывается далеко от реального заголовка Discourse.
Поверьте, просто «заставить ваш Discourse следовать теме вашего основного сайта» — задача не из лёгких.
Что я хотел бы попробовать дальше, так это встроить Discourse в <iframe>. Посмотрим, как это сработает.
Предложение по улучшению! Было бы здорово, если бы Discourse можно было использовать как набор пользовательских элементов. Например:
<!-- ... какая-то пользовательская разметка ... -->
<discourse-actions backend="http://url.to/actual/discourse/instance">
<!-- ... какая-то пользовательская разметка ... -->
<discourse-main backend="http://url.to/actual/discourse/instance">
Это позволило бы встраивать части Discourse в любом месте сайта, а элементы подключались бы к указанному бэкенду.
При прямом переходе по адресу http://url.to/actual/discourse/instance Discourse открывался бы как обычно — в виде отдельного веб-приложения.
По сути, это сделало бы части Discourse используемыми в рамках общих HTML-структур (как частичные шаблоны Handlebars, но с перспективой на будущее и на основе веб-стандартов).
Только представьте, что ещё стало бы возможным с такой функцией (подумайте, например, о том, когда пользовательские элементы имеют разные значения атрибутов backend)…
