Como o link/painel do menu principal (hambúrguer) é gerado?

O menu é anexado ao documento com Javascript quando o botão é clicado, portanto, não será facilmente convertido para funcionar em uma versão do site apenas com HTML.

Aqui é onde o botão é adicionado, você pode ver que ele tem uma ação chamada toggleHamburger:

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

A ação toggleHamburger é definida posteriormente no mesmo arquivo, aqui:

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

toggleHamburger altera o estado hamburgerVisible, então o menu é finalmente adicionado com panels.push(this.attach("hamburger-menu")); que você pode ver aqui:

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

1 curtida