Theme-Component v Plugin: в чем разница

Чтобы дополнить ответ от @EricGT, который уже хорошо объясняет суть:

  • Тема или компонент темы — это, по сути, способ изменения любой части клиентского приложения Discourse на базе EmberJS. Это может быть так же просто, как настройка HTML или CSS, или так же сложно, как добавление нового функционала. Темы работают более gracefully: если что-то сломается, ваш сайт не обязательно полностью перестанет работать.
  • Плагин в первую очередь влияет на серверную часть приложения на Rails, но также включает в себя все возможности темы и возможность влиять на приложение EmberJS, хотя это гораздо сложнее. Сбои плагинов обычно обрабатываются менее gracefully, поэтому, если вы можете реализовать что-то в теме, начните с неё. Однако плагин необходим, если вам нужен пользовательский маршрут или хранение данных.
  • pluginAPI — это клиентский API, который темы и компоненты тем могут использовать для более удобного изменения конкретных частей клиентской части Discourse.

Лучшее место для начала кастомизации вашего сайта — это тема. Вот несколько полезных ресурсов:

Руководство для дизайнера по темам Discourse
Руководство разработчика по темам Discourse
Руководство для начинающих по использованию Theme Creator и Theme CLI для создания темы Discourse