¿Cómo se genera la navegación web?

Estoy interesado en cómo otras personas manejan la navegación del sitio web. No la parte de estilo o usabilidad, sino la parte de generación. La mayoría de los sitios web tienen algún tipo de "árbol de navegación" que se muestra en forma de uno o más niveles de menú. ¿En qué forma guarda y procesa este árbol? La solución más simple es una plantilla de menú estático, algo como esto:

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

Pero esto no es muy flexible. No puede simplemente marcar la página actual en el menú y no hay una forma sencilla de mostrar u ocultar una parte del árbol de menús, dependiendo de la página actual. (¿O es eso?)

Se me ocurrió un árbol de navegación, algo como esto:

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

Este árbol se carga por un especialNavigation Clase que puede servir partes de la navegación en función de la ruta de solicitud actual. Esto parece funcionar un poco mejor, pero aún siento mucha curiosidad por las soluciones de otras personas.

Respuestas a la pregunta(8)

Su respuesta a la pregunta