메인 메뉴(햄버거) 링크/패널은 어떻게 생성되나요?

버튼이 클릭될 때 JavaScript를 통해 메뉴가 문서에 추가되므로, HTML 전용 버전의 사이트에서 작동하도록 쉽게 변환할 수 없습니다.

아래는 버튼이 추가되는 위치입니다. toggleHamburger라는 이름의 액션이 있는 것을 볼 수 있습니다:

https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/widgets/header.js#L246

toggleHamburger 액션은 같은 파일의 후반부에 정의되어 있으며, 위치는 다음과 같습니다:

https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/widgets/header.js#L483

toggleHamburger는 hamburgerVisible 상태를 변경하므로, 궁극적으로 메뉴는 panels.push(this.attach("hamburger-menu"));를 통해 추가됩니다. 이 코드는 아래에서 확인할 수 있습니다:

https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/widgets/header.js#L379