Tema-Componente v Plugin: ¿Cuál es la diferencia

Para complementar la respuesta de @EricGT, que ya explica muy bien lo siguiente:

  • Un tema o componente de tema es esencialmente una forma de modificar cualquier parte de la aplicación front-end EmberJS de Discourse. Esto puede ser tan sencillo como personalizar HTML o CSS, o tan complejo como agregar nueva funcionalidad. Los temas son mucho más elegantes en caso de que algo falle, lo que significa que todo tu sitio no necesariamente se caerá si algo no funciona.
  • Un plugin afecta principalmente a la aplicación del servidor Rails, pero también incluye todo el poder de un tema y la capacidad de modificar la aplicación EmberJS, aunque es mucho más complejo. Los fallos de los plugins suelen ser menos elegantes, por lo que si puedes construir algo en un tema, comienza por ahí. Sin embargo, un plugin es necesario si necesitas una ruta personalizada o almacenar datos.
  • La pluginAPI es una API en el lado del cliente que los temas o componentes de tema pueden usar para modificar más fácilmente partes específicas del cliente de Discourse.

El mejor lugar para comenzar a personalizar tu sitio es con un tema. Aquí tienes algunos recursos:

Guía de diseño para temas de Discourse
Guía de desarrollador para temas de Discourse
Guía para principiantes sobre el uso de Theme Creator y Theme CLI para comenzar a crear un tema de Discourse