메뉴에 추가 버튼 추가

안녕하세요.

저는 디스코urs 플러그인 개발에 아직 초보자인데, 게시글 메뉴에 추가 버튼을 넣는 방법에 대해 설명해 주실 수 있는 분이 있을까요? 제가 파악한 바로는, 이 부분은 커스텀 플러그인을 통해 처리해야 할 것 같습니다.

예를 들어, Made you laugh 같은 버튼을 추가하고 싶어요. 이 버튼은 좋아요(Like)와 비슷한 방식으로 동작하여, 게시글이나 댓글에 이 버튼을 클릭한 사람의 수를 저장하면 좋겠습니다.

Retort 플러그인에 대해서는 알고 있지만, 제 문제는 해결해 주지 못할 것 같아요. 저는 단순히 버튼을 추가하는 것보다는, 어떻게 이 버튼을 추가하는지 그 원리를 이해하는 데 더 관심이 있기 때문입니다.

안녕하세요,
이것은 좀 까다로운 문제입니다. 제 경험에 비추어 보면, 이 기능은 플러그인을 통해 구현해야 합니다. post-menu 위젯에 추가 버튼을 추가하고, “웃김” 반응을 저장하기 위해 데이터베이스에 마이그레이션을 추가해야 합니다.

참고로 discourse solved 플러그인을 참고해 보실 수 있습니다:

이 플러그인도 게시물 메뉴에 추가 버튼을 추가하고, 데이터베이스에 저장되는 기능을 제공합니다.

플러그인 개발을 위한 개발자 가이드도 꼭 읽어 보시기 바랍니다:

성공을 빕니다.

@zcuric, 정말 감사합니다. 이 플러그인과 Retort를 이해하려고 노력해 보았지만 아직 성공하지 못했습니다. 그래도 이 방향으로 계속 진행해 보겠습니다.
혹시 Discourse가 좋아요 버튼을 렌더링하는 방식을 알려 주실 수 있을까요? 특히, 자신의 게시물에서 좋아요 버튼을 숨기는 방식이 궁금합니다. 제 커스텀 버튼에도 동일한 방식으로 적용해 보고 싶습니다.

@marek 불갑합니다. 여기부터 시작해서 코드를 조금 읽어보셨을 거예요:

https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/app/widgets/post-menu.js#L122

백엔드는 99%가 API 요청입니다. 그 부분은 깊이 파고들지 않았습니다. 아마 엔드포인트일 겁니다. 제 추측으로는 플러그인을 만들 때 GET, POST, DELETE 엔드포인트를 가진 REST API 라우트를 만들어야 할 것이고, 이를 통해 데이터베이스 마이그레이션을 통해 추가한 데이터베이스의 필드에 데이터를 채워 넣게 될 것입니다. 그리고 그 작업은 Rails로 수행하게 됩니다. 적어도 저는 그렇게 접근할 것 같습니다.