Esto ya se ha discutido en otros dos hilos, pero están bloqueados:
Algunas personas dicen que deberíamos trabajar en cambio en rebrandear Discourse para que coincida con el diseño de un sitio existente.
Por experiencia, esto es muy difícil de lograr. El marcado y el CSS para ese marcado son muy complicados de manejar y no son flexibles. Como ejemplo, los árboles DOM entre el encabezado de Discourse y el contenido principal son muy diferentes entre sí. Por ejemplo, inyectar contenido del encabezado (en el editor integrado de Discourse) coloca el contenido inyectado muy lejos del encabezado real de Discourse.
Créanme, es bastante difícil simplemente “hacer que tu Discourse siga el tema de tu sitio principal”.
Lo que me gustaría probar a continuación es incrustar Discourse en un <iframe>. Veamos cómo funciona.
¡Solicitud de función! Sería genial si Discourse pudiera consumirse como un conjunto de elementos personalizados. Por ejemplo:
<!-- ... algún marcado personalizado ... -->
<discourse-actions backend="http://url.to/actual/discourse/instance">
<!-- ... algún marcado personalizado ... -->
<discourse-main backend="http://url.to/actual/discourse/instance">
lo que permitiría incrustar las partes de Discourse en cualquier lugar de un sitio, y los elementos se conectarían al backend especificado.
Visitar http://url.to/actual/discourse/instance directamente abriría Discourse de la manera habitual como una aplicación web independiente.
Básicamente, esto haría que las partes de Discourse fueran utilizables dentro de estructuras HTML generales (como fragmentos de plantillas de Handlebars, pero de una manera preparada para el futuro basada en estándares web).
Solo imaginen qué más sería posible con una función así (piensen en cuándo los elementos personalizados tienen valores diferentes para los atributos backend)…
