Como você gera navegação no site?

Estou interessado em saber como outras pessoas lidam com a navegação no site. Não é o estilo ou parte de usabilidade, mas a parte de geração. A maioria dos sites tem algum tipo de “árvore de navegação” que é exibida na forma de um ou mais níveis de menu - de que forma você salva e processa essa árvore? A solução mais simples é um modelo de menu estático, algo assim:

<ul id="menu">
   <li><a href="…">One</a></li>
   <li><a href="…">Two</a></li>
   <li><a href="…">Three</a></li>
</ul>

Mas isso não é muito flexível. Você não pode simplesmente marcar a página atual no menu e não há uma maneira simples de mostrar ou ocultar uma parte da árvore de menus, dependendo da página atual. (Ou é?)

Eu criei uma árvore de navegação, algo assim:

    - title: Fruits
      nodes:
        - title: Apples
        - title: Oranges
        - title: Bananas
    - title: Music and Stuff
      url: music
      nodes:
        - title: Classical
        - title: Jazz

Esta árvore é carregada por um especialNavigation classe que pode servir partes da navegação dependendo do caminho atual da solicitação. Isso parece funcionar um pouco melhor, mas ainda assim estou muito curioso sobre as soluções de outras pessoas.

questionAnswers(8)

yourAnswerToTheQuestion