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

Я не новичок в Discourse, но и не эксперт.

  1. Тема-компонент использует HTML, CSS и JavaScript для расширения базовой темы.
    Обращаю внимание на термин «базовая тема», так как обычно её просто называют «темой», и иногда люди не отмечают разницу, поэтому это нужно понимать из контекста. Тему и/или тему-компонент администратор может установить без остановки работы сайта, а если вы являетесь клиентом Discourse, вы также можете добавлять их. (список) Также см.: Руководство для начинающих по использованию тем Discourse

  2. Плагин использует Ruby и может выполнять практически любые задачи. Если вы клиент Discourse, у вас есть ограниченный набор разрешённых плагинов для активации. Однако если вы размещаете Discourse самостоятельно, вы можете добавить любые плагины, но будьте осторожны: я вижу множество сообщений о том, что кастомные плагины ломают сайт при обновлении. При активации плагины также не требуют перезапуска; возможно, перезапуск потребуется только при первой установке. Другие могут уточнить, так как мой опыт работы с плагинами ограничивается их активацией через админ-меню. (список) Также см.: Руководство для начинающих по созданию плагинов Discourse — Часть 1

  3. Я не разрабатывал плагины, поэтому предполагаю, что вы имеете в виду Ruby-модуль Discourse API. См.: Use the Discourse API ruby gem

  4. Также существует API, которое включает вебхуки и обычно используется с помощью curl или другого языка программирования. Это удобно, так как освобождает от необходимости использовать Ruby.

  5. Хотя я тоже не углублялся в это, вы можете программировать на уровне базы данных PostgreSQL, но я не рекомендую это делать, если вы не обладаете очень высокими навыками и полной уверенностью в своих силах.

Надеюсь, это помогло.


РЕДАКТИРОВАНИЕ

Бонусный раунд, если вы хотите полностью погрузиться в разработку для Discourse.

См.: Как начать создавать вещи для Discourse, если вы новичок (как и я)