Changelog¶
Tutte le modifiche rilevanti al progetto sono documentate in questa pagina. Il formato segue Keep a Changelog.
[2.2.2] — 2026-06-16¶
Corretto¶
Overflow orizzontale su mobile (
ag-scroll-area): aggiuntomin-width: 0al flex item.ag-scroll-area. Il valore di defaultautodimin-widthnei flex item permetteva all’area di espandersi oltre il viewport su breakpoint mobile (< 992 px) quando il contenuto interno era più largo. Fixes #3.
[2.2.1] — 2026-06-15¶
Corretto¶
Blocchi header non funzionanti (
header_nav,offcanvas_nav,header_search,header_actions): l’HTML dell’header è stato spostato dapartials/header.htmldirettamente inbase.html.{% include %}crea unrender_contextseparato che non partecipa all’ereditarietà dei blocchi Django: i blocchi definiti in un template figlio erano orfani silenziosi e non venivano mai renderizzati.header.htmlè mantenuto come riferimento strutturale con commento esplicativo.
[2.2.0] — 2026-06-15¶
Aggiunto¶
Dropdown utente in fondo alla sidebar (
ag-sidebar__user): sezione fissa con avatar a iniziali circolari, nome completo, email e link «Esci». Si attiva automaticamente quandorequest.user.is_authenticated. Adatta stile e colori alle variantidarkelight. Nuovo bloccosidebar_userper personalizzare i link (es. URL di logout).
Corretto¶
Header e breadcrumb full-width: rimosso il wrapper
<div class="container">daag-header-top,ag-header-bottomebreadcrumb.html. Il contenuto delle barre ora si estende a tutta la larghezza del viewport; il padding lateralepx-3garantisce l’allineamento con il logo.
Demo (example_project)¶
Selettore branca nel blocco
header_actions: dropdown con le 6 branche disponibili che aggiornadata-brancasu<html>in tempo reale (nessun reload). La scelta è persistita inlocalStorage; un micro-script in<head>evita il flash di colore al caricamento.Branca di default cambiata da
"eg"a"generico".Dropdown utente demo in fondo alla sidebar (mostra
request.userse autenticato, altrimenti «Capo Scout» come placeholder).
[2.1.0] — 2026-06-14¶
Corretto¶
RecursionError / TemplateSyntaxError: convertiti i commenti
{# … #}multi-riga in{% comment %} … {% endcomment %}inmodal.html,masonry_grid.htmlesidebar.html. Django non supporta{# #}su più righe: i tag{% %}interni venivano valutati causando errori a runtime.Typo
descriptio n→descriptioninpyproject.toml.feature_grid.html:col_classspostato dalla colonna al.rowconrow-cols-md-*(pattern Bootstrap-idiomatic, compatibile con<div class="col">nei figli).sidebar.html: script JS inline estratto instatic/agesci_theme/js/sidebar.jse caricato con<script src defer>per compatibilità CSP e caching.
Modificato¶
.ag-scroll-areaintrodotto come unico container con scroll verticale, sostituendooverflow-y: autosu<main>. Il footer è ora fratello di<main>all’interno di.ag-scroll-areae occupa tutta la larghezza (viewport − sidebar), indipendentemente dalmax-widthdel.containerdi<main>.ag-sidebar: aggiuntoposition: relative; z-index: 2per sovrastare visivamente il footer quando si trovano in prossimità.Blocco
{% block breadcrumb %}rimosso da.ag-scroll-area; la breadcrumb viene ora resa inag-header-bottomdiheader.htmlquandobreadcrumb_itemsè presente nel contesto (altrimenti mostraheader_search/header_actionscome fallback).
Demo (example_project)¶
Sidebar visibile nella home con link alla nuova pagina
/components/.Nuova pagina
/components/con tutti gli 11 componenti opzionali: Hero (4 varianti), Breadcrumb, Feature Grid, Jumbotron, Badge, Button, Dropdown, List group, Modal (sm/default/lg), Masonry Grid.breadcrumb_itemspassato da entrambe le view per mostrare la breadcrumb nell’header su ogni pagina.mark_safe()sui contenuti HTML del masonry grid per evitare escape indesiderato.
[2.0.0] — 2026-06-13¶
⚠ Breaking changes¶
base.htmlcompletamente riprogettato: i blocchinavbar,nav_items,brand_url,brand_text,breadcrumbesubnavnon esistono più. Sostituiti dai nuovi blocchi dell’header a due barre (vedi sotto).partials/navbar.htmlrimosso → sostituito dapartials/header.html.Footer ridisegnato: nuovi blocchi al posto delle sole tre colonne della v1.
Aggiunto¶
Header a due barre con offcanvas mobile
Barra superiore (
ag-header-top): logo + voci di navigazione con icona sopra e testo sotto (stile Bootstrap «headers», ultimo esempio).Barra inferiore (
ag-header-bottom): campo di ricerca opzionale + pulsanti azione.Su mobile/tablet: hamburger → pannello offcanvas Bootstrap.
Nuovi blocchi:
header,brand_url,brand_text,header_nav,offcanvas_nav,header_search,header_actions.
Sidebar collapsible
Nuovo partial
partials/sidebar.html: sidebar che si riduce a sole icone via toggle, stato salvato inlocalStorage.Varianti:
dark(sfondo primario) elight(sfondo chiaro).Attivata sovrascrivendo il blocco
sidebarinbase.html; nessuna modifica al layout se il blocco rimane vuoto.Nuovo blocco:
sidebar_items.
Footer ridisegnato
Struttura con colonna logo, due colonne di link personalizzabili e riga copyright/link legali (stile Bootstrap «footers», primo esempio).
Il blocco
footer_textè mantenuto per compatibilità con chi già lo sovrascriveva dalla v1.Nuovi blocchi:
footer_brand_text,footer_columns,footer_col1_title,footer_col1_links,footer_col2_title,footer_col2_links,footer_copyright.
Componenti opzionali via templatetag
Nuovo modulo
{% load agesci_components %}con 11 taginclusion_tag:ag_hero,ag_feature_card,ag_feature_grid,ag_jumbotron,ag_badge,ag_button,ag_breadcrumb,ag_dropdown,ag_list_group,ag_modal_trigger,ag_masonry_grid.Template sovrascrivibili in
templates/agesci_theme/components/.Supporto Masonry tramite CDN (istruzioni nel tag
ag_masonry_grid).
SCSS
Quattro nuovi partial:
_header.scss,_sidebar.scss,_footer.scss,_components.scss.
[1.2.4] — 2026-06-08¶
Corretto¶
docs/conf.py: versione letta dinamicamente dapyproject.tomlviatomllib(non più hardcoded).build.yml: rimosso job publish duplicato (la pubblicazione è gestita dapublish.ymlsu GitHub Release).
[1.2.3] — 2026-06-08¶
Modificato¶
Layout mobile/tablet: breakpoint
body { height: 100vh }emain { overflow-y: auto }alzato da md (768px) a lg (992px). Il footer ora scorre naturalmente con il contenuto su smartphone e tablet..footer-agesci: padding ridotto da2rem 0a0.5rem 0.
[1.2.2] — 2026-06-08¶
Corretto¶
Fix build PDF GitHub Actions: rimossi badge SVG da
index.md(non supportati da rinohtype), aggiuntorinoh_documentsinconf.py, rimosso-Wdal comando sphinx-build.
[1.2.1] — 2026-06-08¶
Corretto¶
Aggiunta dipendenza
Pillow>=10.0indocs/requirements.txt(richiesta da rinohtype per la generazione PDF).
[1.2.0] — 2026-06-08¶
Aggiunto¶
Suite di documentazione completa con Sphinx + MyST-Parser, pronta per ReadTheDocs.
Generazione PDF automatica allegata a ogni release GitHub tramite GitHub Actions (
rinohtype)..readthedocs.yamlcon output PDF e HTMLzip abilitati.
Corretto¶
Layout mobile (< 768px): il footer ora segue il flusso normale del documento invece di rimanere incollato al bordo inferiore del viewport.
[1.1.0] — 2025¶
Aggiunto¶
Layout a viewport fisso:
body { height: 100vh }+main { overflow-y: auto }.Breadcrumb brandizzata (
breadcrumb-agesci) attivabile viabreadcrumb_items.Sub-navbar secondaria (
subnav-agesci) attivabile viasubnav_items.Integrazione icone Bootstrap Icons tramite
django-bootstrap-icons(extra[icons]).Workflow GitHub Actions per pubblicazione automatica su PyPI via Trusted Publisher.
Layout mobile responsive: sotto 768px il footer torna al flusso normale del documento.
Modificato¶
base.htmlespone tutti i blocchi di composizione (navbar, footer, breadcrumb, subnav).Context processor esteso con tutte le variabili
AGESCI_THEME_*.
[1.0.0] — 2024¶
Aggiunto¶
Prima versione pubblica del tema.
Palette ufficiale AGESCI dal Manuale Immagine Coordinata 2011.
Sistema branche via
[data-branca]e CSS custom properties.Template
base.html, partial navbar e footer.Template tag
emblema_zona,zone_disponibili,branca_bg.Classi utility
bg-ag-*etext-ag-*.Progetto Django di esempio (
example_project/).Pacchetto pubblicato su PyPI come
django-agesci-campania-theme.