{# Bengal OpenAPI Home Page ======================== API landing page showing: - API title and description - Version and server information - Authentication schemes - Tag/endpoint category overview Context: - section: Section with metadata containing API overview data - section.metadata.version: API version - section.metadata.servers: Server URLs - section.metadata.security_schemes: Auth schemes - section.metadata.tags: API categories - page: Page object - site: Site instance - config: Config instance The `endpoints` and `schemas` filters normalize access to endpoint/schema data regardless of whether the source is DocElements or Pages. Note: For section index pages, `element` is None. Use section.metadata instead. Kida Features: - {% with %} for nil-resilient optional sections - {% spaceless %} for compact badge output - Optional chaining (?.) and null coalescing (??) #} {% extends 'autodoc/openapi/layouts/reference.html' %} {# Access metadata from section (set by section_builders.py) #} {% let sec_meta = section?.metadata ?? {} %} {% let api_title = section?.title ?? page?.title ?? 'API Reference' %} {% let api_version = sec_meta?.version ?? '1.0.0' %} {% let servers = sec_meta?.servers ?? () %} {% let security_schemes = sec_meta?.security_schemes ?? {} %} {% let tags = sec_meta?.tags ?? () %} {% let description = sec_meta?.description ?? '' %} {# Use filters for normalized access #} {% let eps = section | endpoints %} {% let schs = section | schemas %} {% block header %}
{{ server_url }}
{% if server_desc %}
{{ server_desc }}
{% end %}
{{ scheme_desc }}
{% end %} {% match scheme_type %} {% case 'apiKey' %}{{ scheme_name }}: YOUR_API_KEY
{% case 'http' %}
{% if scheme?.scheme == 'bearer' %}
Authorization: Bearer YOUR_TOKEN
{% else %}
Authorization: Basic BASE64_CREDENTIALS
{% end %}
{% case 'oauth2' %}
Authorization: Bearer ACCESS_TOKEN
{% case _ %}
{{ scheme_name }}: YOUR_CREDENTIALS
{% end %}
{{ tag_desc }}
{% end %}{{ schema.name }}
{{ schema.schema_type }}
{{ schema.description | truncate(80) }}
{% end %} {% end %}