# Navigation Components This directory contains navigation-related template components. ## Components ### breadcrumbs.html Semantic breadcrumb navigation with Schema.org structured data support. #### Features - Accessible navigation with proper ARIA attributes - Schema.org BreadcrumbList JSON-LD for SEO - Responsive design with mobile-friendly collapse - Customizable separators and icons - Truncation for long labels #### Basic Usage ```django {# Breadcrumbs are automatically included from context processor #} {% include 'components/navigation/breadcrumbs.html' %} ``` #### Setting Breadcrumbs in Views ```python from apps.core.utils.breadcrumbs import build_breadcrumb, BreadcrumbBuilder from django.urls import reverse def park_detail(request, slug): park = get_object_or_404(Park, slug=slug) # Option 1: Build breadcrumbs manually request.breadcrumbs = [ build_breadcrumb('Home', '/', icon='fas fa-home'), build_breadcrumb('Parks', reverse('parks:list')), build_breadcrumb(park.name, is_current=True), ] # Option 2: Use the builder pattern request.breadcrumbs = ( BreadcrumbBuilder() .add_home() .add('Parks', reverse('parks:list')) .add_current(park.name) .build() ) return render(request, 'parks/detail.html', {'park': park}) ``` #### Parameters | Parameter | Type | Default | Description | |-----------|------|---------|-------------| | `items` | list | `breadcrumbs` | List of Breadcrumb objects | | `show_schema` | bool | `True` | Include Schema.org JSON-LD | | `show_home_icon` | bool | `True` | Show icon on home breadcrumb | | `separator` | str | chevron | Custom separator character | | `max_visible` | int | `3` | Max items before mobile collapse | | `container_class` | str | `""` | Additional CSS classes | #### Accessibility - Uses `