저는 디스커스(Discourse) 초보자는 아니지만, 전문가도 아닙니다.
-
테마 컴포넌트(Theme component)는 HTM, CSS, JavaScript를 사용하여 기본 테마(base theme)를 강화합니다. 기본 테마라고 별도로 언급하는 이유는, 보통 단순히 '테마’라고 불리는데 사람들이 이 차이를 명확히 구분하지 않는 경우가 많아서 추측을 해야 하기 때문입니다. 테마 또는 테마 컴포넌트는 관리자가 사이트를 다운하지 않고도 설치할 수 있으며, 디스커스 유료 고객이라면 이것들을 추가할 수도 있습니다. (목록) 참고: 디스커스 테마 사용 입문가 가이드
-
플러그인(Plugin)은 Ruby를 사용하며 거의 모든 것이 가능합니다. 디스커스 유료 고객이라면 활성화가 허용되는 플러그인 세트가 제한되어 있지만, 셀프 호스팅(self-hosting)을 사용한다면 원하는 만큼 추가할 수 있습니다. 다만, 업그레이드 시 커스텀 플러그인이 사이트를 깨뜨리는 사례를 많이 보셨을 것입니다. 활성화 시 재시작이 필요하지 않지만, 처음 설치할 때는 재시작이 필요할 것 같습니다. 플러그인에 대한 제 경험은 관리 메뉴에서 활성화하는 것뿐이므로, 다른 분들이 더 자세히 설명해 줄 수 있을 것입니다. (목록) 참고: 디스커스 플러그인 만들기 입문가 가이드 - 1부
-
저는 플러그인을 개발해 본 적이 없으므로, 질문하신 내용이 Discourse API Ruby Gem을 가리키는 것이라고 추측합니다. 참고: Use the Discourse API ruby gem
-
또한 웹훅(Webhooks)으로 이루어진 API도 있으며, 보통 curl이나 다른 프로그래밍 언어와 함께 사용됩니다. Ruby를 사용하지 않아도 되므로 편리합니다.
-
이 부분도 직접 해본 적은 없지만, PostgreSQL 데이터베이스 레벨에서 프로그래밍하는 것도 가능합니다. 하지만 매우 숙련되고 자신의 실력에 확신이 있는 경우가 아니라면 추천하지 않습니다.
도움이 되셨길 바랍니다(HTH).
수정(EDIT)
디스커스 개발자로 전력을 다하고 싶으시다면 보너스 라운드