테마 컴포넌트 v 플러그인: 차이점

@EricGT 님의 답변은 이미 잘 설명해 주셨는데, 그 위에 몇 가지 더 보태겠습니다.

  • 테마/테마 컴포넌트는 기본적으로 Discourse 프론트엔드 EmberJS 앱의 어떤 부분이라도 수정하는 방법입니다. HTML이나 CSS를 커스터마이징하는 것부터 새로운 기능을 추가하는 것까지, 단순한 작업부터 복잡한 작업까지 가능합니다. 무언가 문제가 발생했을 때 테마는 훨씬 유연하게 처리되므로, 특정 기능이 작동하지 않아도 사이트 전체가 무너지지 않을 수 있습니다.
  • 플러그인은 주로 Rails 서버 사이드 앱에 영향을 미치지만, 테마의 모든 기능과 EmberJS 앱에 영향을 미치는 능력도 갖추고 있으며, 훨씬 더 복잡합니다. 플러그인 실패는 테마만큼 유연하게 처리되지 않는 경향이 있으므로, 테마로 만들 수 있는 것이 있다면 거기서 시작하는 것이 좋습니다. 그러나 커스텀 라우트가 필요하거나 데이터를 저장해야 하는 경우에는 플러그인이 필수적입니다.
  • pluginAPI는 테마/테마 컴포넌트가 Discourse 클라이언트의 특정 부분을 더 쉽게 수정할 수 있도록 하는 클라이언트 사이드 API입니다.

사이트를 커스터마이징하기 시작할 때 가장 좋은 출발점은 테마입니다. 아래는 몇 가지 참고 자료입니다:

디자이너를 위한 Discourse 테마 가이드
개발자를 위한 Discourse 테마 가이드
테마 크리에이터와 테마 CLI를 사용하여 Discourse 테마 제작을 시작하는 입문자 가이드