{% load catalog_tags static %} {{ component_path }} {# Inline favicon (no /favicon.ico 404). #} {% comment %} Consumer-injected assets — same contract as base.html. The gallery itself ships no CSS/JS dependency; bring your own stack (Tailwind, HTMX, Alpine, your bundle, …) via: 1. DJANGO_COTTON_GALLERY_EXTRA_CSS / _EXTRA_JS — URL lists in settings.py. 2. django_cotton_gallery/_extra_head.html — partial for inline HTML/JS (Tailwind play-CDN + tailwind.config, env keys, design tokens). {% endcomment %} {% for url in cotton_gallery.extra_css %} {% endfor %}{% maybe_include "django_cotton_gallery/_extra_head.html" %} {{ component_html|safe }} {% comment %} Consumer-configured scripts: 1. DJANGO_COTTON_GALLERY_EXTRA_JS — list of script URLs (settings.py). 2. django_cotton_gallery/_extra_body.html — partial for inline JS. {% endcomment %} {% for url in cotton_gallery.extra_js %} {% endfor %}{% maybe_include "django_cotton_gallery/_extra_body.html" %}