Discourse 개발 환경 설정

안녕하세요

Docker를 사용하여 개발용 Discourse를 설치했습니다.

다음 가이드를 따랐습니다: Install Discourse for development using Docker

이제 기능/코드에 대한 변경 사항을 시작하려고 합니다.
구체적으로 찾고 있는 것은 코드를 어떻게 설정해야 하는지, 그리고 어떻게 디버깅해야 하는지이며, 그 변경 사항이 localhost:4200에 반영되는 것을 확인하고 싶습니다.

어떻게 진행해야 할지 이해하지 못하고 있습니다.

여전히 다른 서비스/의존성을 설정하고 설치해야 하는가요?

도와주세요.

네, 하지만 플러그인을 만들어서 그렇게 하는 것이 거의 확실합니다 (대안은 Discourse 코어에 변경 사항을 제출하는 것입니다). 초보자를 위한 Discourse 플러그인 만들기 가이드 1부: 기본 플러그인 만들기를 참고하세요. 또한 https://github.com/discourse/discourse-plugin-skeleton에서 시작하는 것을 추천합니다.

브라우저에서 Discourse를 보고 있다면, 해당 스켈레톤 플러그인을 추가하고 거기에 변경 사항을 적용하기 시작할 수 있습니다. (대략적으로 무엇을 해야 하는지 알게 된 후에) 살펴봐야 할 다른 곳은 https://github.com/discourse/discourse/blob/main/lib/plugin/instance.rb입니다.

답변해 주셔서 감사합니다, @pfaffman.

저는 vscode를 사용합니다. 원하시는 작업을 하도록 설정하는 것이 Emacs만큼이나 어렵다는 것을 알게 되었습니다. vscode 설정에 관한 토픽이 있을 것 같은데, 도움이 될 수 있을 것입니다. 이제 대부분의 설정을 마쳤기 때문에, 주의를 기울인다면 대부분의 린팅(linting) 문제를 잡아낼 수 있습니다.

Discourse는 Ember로 작성되었으므로, 이를 사용해야 합니다.

다른 것을 설치할 필요가 없으며, 그것이 docker가 하는 일입니다. localhost:4200에서 Discourse를 볼 수 있다면 준비가 끝난 것입니다. 플러그인을 변경하고 페이지를 새로고침하면 변경 사항을 확인할 수 있습니다(일부 경우 페이지 새로고침이 필요하지 않을 수 있음).

원하시는 작업이 표시되는 내용과만 관련이 있다면, 플러그인 대신 테마 컴포넌트를 사용할 수 있습니다. 이 경우 개발 환경조차 필요하지 않습니다.

첫 단계는 아마도 플러그인 및/또는 테마 개발 가이드를 따라가는 것일 것입니다. 또한, 정확히 무엇을 하고 싶은지 말씀해 주시면 도움이 될 수 있습니다(예: “이미 구현되어 있습니다”, “XXX 플러그인을 참조하세요”, 또는 진행 방법에 대한 힌트 등).