diff --git a/.gitignore b/.gitignore index 3c3629e..0537ec9 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ node_modules +/build +/dist \ No newline at end of file diff --git a/data.json b/data.json index ce9fac1..7e057bc 100644 --- a/data.json +++ b/data.json @@ -32,7 +32,7 @@ }, { "name": "Contatti", - "url": "#" + "url": "/pages/contatti/strutture.html" }, { "name": "Servizi", @@ -1061,7 +1061,7 @@ } }, { - "key": "links-list-columns", + "key": "links-list", "classes": "mt-40", "content": { "list": [ @@ -1196,7 +1196,7 @@ } }, { - "key": "links-list-columns", + "key": "links-list", "content": { "list": [ { @@ -1280,7 +1280,7 @@ } }, { - "key": "links-list-columns", + "key": "links-list", "content": { "list": [ { @@ -1570,7 +1570,7 @@ "content": "

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque quis dolor eu arcu interdum laoreet. Mauris sodales rhoncus tellus, nec placerat ligula elementum ultricies. Integer nec congue quam. Integer lobortis justo dui, eget gravida est vestibulum in quisque quis dolor eu arcu.

" }, { - "key": "links-list-columns", + "key": "links-list", "content": { "list": [ { @@ -1617,7 +1617,7 @@ "content": "

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque quis dolor eu arcu interdum laoreet. Mauris sodales rhoncus tellus, nec placerat ligula elementum ultricies. Integer nec congue quam. Integer lobortis justo dui, eget gravida est vestibulum in quisque quis dolor eu arcu.

" }, { - "key": "links-list-columns", + "key": "links-list", "content": { "list": [ { @@ -1789,6 +1789,101 @@ } } ] + }, + { + "title": "Contatti", + "url": "/pages/contatti/strutture.html", + "blocks": [ + { + "key": "subnav-columns", + "classes": "block-subnav-columns--alt", + "content": { + "items": [ + { + "name": "Strutture", + "url": "/pages/contatti/strutture.html", + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.", + "active": true + }, + { + "name": "Persone", + "url": "/pages/contatti/persone.html", + "text": "", + "active": false + } + ] + } + }, + { + "key": "filters", + "classes": "block-filters--alt", + "content": { + "items": [ + { + "type": "term", + "post_type": "contacts", + "id": "0" + }, + { + "type": "term", + "post_type": "contacts", + "id": "2" + } + ], + "has_search": true + } + } + ] + }, + { + "title": "Contatti", + "url": "/pages/contatti/persone.html", + "blocks": [ + { + "key": "subnav-columns", + "classes": "block-subnav-columns--alt", + "content": { + "items": [ + { + "name": "Strutture", + "url": "/pages/contatti/strutture.html", + "text": "", + "active": false + }, + { + "name": "Persone", + "url": "/pages/contatti/persone.html", + "text": "Proin mauris urna, interdum eget arcu ut, dapibus euismod nisi. Etiam vulputate ante felis, eu congue nibh rutrum eget. Etiam bibendum augue sit amet mauris accumsan, quis venenatis nibh ultrices.", + "active": true + } + ] + } + }, + { + "key": "filters", + "classes": "block-filters--alt", + "content": { + "items": [ + { + "type": "term", + "post_type": "contacts", + "id": "1" + }, + { + "type": "post_type", + "post_type": "degrees", + "id": null + }, + { + "type": "term", + "post_type": "contacts", + "id": "0" + } + ], + "has_search": true + } + } + ] } ], "news": { @@ -2066,6 +2161,7 @@ ] }, "degrees": { + "name": "Corso di laurea", "items": [ { "title": "Architettura", @@ -2861,15 +2957,15 @@ [ { "name": "Teorie e pratiche dei media", - "url": "#" + "url": "/pages/corsi/botanica-innovazione.html" }, { "name": "Cultura della città e progetto sostenibile", - "url": "#" + "url": "/pages/corsi/laboratorio-design-prodotto.html" }, { "name": "Storia degli allestimenti", - "url": "#" + "url": "/pages/corsi/laboratorio-visual-design.html" }, { "name": "Laboratorio di interior design", @@ -3386,153 +3482,162 @@ ] }, "courses": { + "name": "Corso", "items": [ { "title": "Botanica e innovazione", "parent": 1, "url": "/pages/corsi/botanica-innovazione.html", "content": "

Lo studente acquisisce la conoscenza dei lineamenti di botanica generale e sistematica e, analizzando forme e processi microscopici, approfondisce l’evoluzione delle relazioni tra lo studio degli organismi vegetali e l’innovazione (di prodotti e processi) anche attraverso l'analisi di casi studio. Il corso fornisce, infine, gli strumenti per interpretare strutture e processi degli organismi vegetali al fine di utilizzare tali conoscenze nell'ambito del progetto di design.

", - "course_info": { - "key": "grid-list", - "classes": "block-has-margin-sm", - "content": { - "items": [ - { - "label": "Corso di studi", - "text": "Design" - }, - { - "label": "Curriculum", - "text": "Percorso comune" - }, - { - "label": "Docente", - "text": "Armeli Minicante Simona" - }, - { - "label": "Tipo di attività didattica", - "text": "Lezione" - }, - { - "label": "Tipo di insegnamento", - "text": "Opzionale" - }, - { - "label": "Settore scientifico disciplinare", - "text": "BIO/03" - }, - { - "label": "Anno accademico", - "text": "2023/2024" - }, - { - "label": "Anno di corso di laurea", - "text": "1" - }, - { - "label": "Periodo didattico", - "text": "Secondo Semestre (dal 19/02/2024 al 31/05/2024)" - }, - { - "label": "Durata", - "text": "60 ore (60 ore lezione)" - }, - { - "label": "Crediti", - "text": "6 CFU" - }, - { - "label": "Tipologia CFU", - "text": "C (Affine/Integrativa)" - }, - { - "label": "Lingua", - "text": "Italiano" - }, - { - "label": "Sede", - "text": "Vicenza" - } - ] - } - }, - "course_accordion": { - "key": "accordion", - "classes": "block-accordion--sm block-accordion--2cols block-has-margin-sm", - "multi_columns": true, - "content": { - "items": [ - { - "title": "Prerequisiti", - "content": { - "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + "blocks": [ + { + "key": "grid-list", + "classes": "spacing-base md:spacing-md", + "content": { + "items": [ + { + "label": "Tipologia corso", + "text": "Laurea triennale" + }, + { + "label": "Corso di studi", + "text": "Design" + }, + { + "label": "Curriculum", + "text": "Percorso comune" + }, + { + "label": "Docente", + "text": "Armeli Minicante Simona" + }, + { + "label": "Tipo di attività didattica", + "text": "Lezione" + }, + { + "label": "Tipo di insegnamento", + "text": "Opzionale" + }, + { + "label": "Settore scientifico disciplinare", + "text": "BIO/03" + }, + { + "label": "Anno accademico", + "text": "2023/2024" + }, + { + "label": "Anno di corso di laurea", + "text": "1" + }, + { + "label": "Periodo didattico", + "text": "Secondo Semestre (dal 19/02/2024 al 31/05/2024)" + }, + { + "label": "Durata", + "text": "60 ore (60 ore lezione)" + }, + { + "label": "Crediti", + "text": "6 CFU" + }, + { + "label": "Tipologia CFU", + "text": "C (Affine/Integrativa)" + }, + { + "label": "Lingua", + "text": "Italiano" + }, + { + "label": "Sede", + "text": "Vicenza" } - }, - { - "title": "Contenuti", - "content": { - "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + ] + } + }, + { + "key": "accordion", + "classes": "block-accordion--sm block-accordion--2cols spacing-md lg:spacing-lg", + "multi_columns": true, + "content": { + "items": [ + { + "title": "Prerequisiti", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Contenuti", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Metodi didattici", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Verifica dell’apprendimento", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Testi", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Altre informazioni", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } } - }, - { - "title": "Metodi didattici", + ] + } + }, + { + "key": "featured-content-columns", + "classes": "", + "content": { + "title": { + "key": "title", + "classes": "block-title--sm", + "tag": "h2", "content": { - "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" - } + "title": "Open day" + } }, - { - "title": "Verifica dell’apprendimento", - "content": { - "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" - } + "image": { + "filename": "architettura-3", + "path": "/post_type/corsi", + "alt": "iuav-laurea-triennale-architettura-open-day" }, - { - "title": "Testi", - "content": { - "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" - } + "text": { + "key": "paragraph", + "classes": "", + "content": "

Scopri di più sul corso di laurea in Design sulla pagina dedicata all’Open Day. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa.

" }, - { - "title": "Altre informazioni", - "content": { - "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + "links": [ + { + "key": "link", + "classes": "block-link--sm block-link--white", + "url": "#", + "content": { + "name": "Vai alla pagina dell'Open Day" + } } - } - ] - } - }, - "course_focus": { - "key": "featured-content-columns", - "classes": "", - "content": { - "title": { - "key": "title", - "classes": "block-title--sm", - "tag": "h2", - "content": { - "title": "Open day" - } - }, - "image": { - "filename": "architettura-3", - "path": "/post_type/corsi", - "alt": "iuav-laurea-triennale-architettura-open-day" - }, - "text": { - "key": "paragraph", - "classes": "", - "content": "

Scopri di più sul corso di laurea in Design sulla pagina dedicata all’Open Day. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa.

" - }, - "link": { - "key": "link", - "classes": "block-link--white", - "url": "#", - "content": { - "name": "Vai alla pagina dell'Open Day" - } + ] } } - }, + ], "course_contacts": { "key": "contacts-section", "classes": "contacts-section--noMargin", @@ -3568,196 +3673,212 @@ "title": "Laboratorio di design del prodotto", "parent": 1, "url": "/pages/corsi/laboratorio-design-prodotto.html", - "content": null, - "course_info": { - "key": "grid-list", - "classes": "block-has-margin-sm", - "content": { - "items": [ - { - "label": "Corso di studi", - "text": "Design" - }, - { - "label": "Curriculum", - "text": "Percorso comune" - }, - { - "label": "Tipo di attività didattica", - "text": "Laboratorio" - }, - { - "label": "Tipo di insegnamento", - "text": "Obbligatorio" - }, - { - "label": "Anno accademico", - "text": "2023/2024" - }, - { - "label": "Anno di corso di laurea", - "text": "1" - }, - { - "label": "Periodo didattico", - "text": "Secondo Semestre (dal 19/02/2024 al 31/05/2024)" - }, - { - "label": "Durata", - "text": "120 ore (120 ore laboratorio)" - }, - { - "label": "Crediti", - "text": "12 CFU" - }, - { - "label": "Lingua", - "text": "Italiano" - }, - { - "label": "Sede", - "text": "Vicenza" - } - ] - } - }, - "course_modules": [ + "content": "

Modulo DESIGN PER LA PRODUZIONE INDUSTRIALE

Lo studente acquisisce, mediante esercitazioni progettuali, la capacità di intervenire nello sviluppo di un prodotto o di un sistema di prodotti con vincoli predefiniti (funzionali, ergonomici, tecnologici, economici, relazionali, espressivi, ecc.) a partire da un brief iniziale fino agli esecutivi.

Il corso si propone di formare gli studenti:

Modulo ELEMENTI DI DESIGN STRUTTURALE DEI PRODOTTI

Lo studente acquisisce la capacità di lettura del comportamento e della risposta strutturale di un manufatto, anche in relazione alle esercitazioni progettuali, gestendo il rapporto forma-struttura attraverso semplici analisi e sperimentazioni sul dimensionamento e la resistenza in relazione all’uso di materiali tradizionali e innovativi.

", + "blocks": [ { - "title": "Design per la produzione industriale", + "key": "grid-list", + "classes": "spacing-md md:spacing-lg", "content": { - "key": "grid-list", - "classes": "block-has-margin-sm", - "content": { - "items": [ - { - "label": "Docente", - "text": "Buffagni Alessia" - }, - { - "label": "Settore scientifico disciplinare", - "text": "ICAR/13" - }, - { - "label": "Durata", - "text": "90 ore (90 ore Laboratorio)" - }, - { - "label": "Crediti", - "text": "9 CFU" - }, - { - "label": "Tipologia CFU", - "text": "B (Caratterizzante)" - } - ] - } + "items": [ + { + "label": "Tipologia corso", + "text": "Laurea triennale" + }, + { + "label": "Corso di studi", + "text": "Design" + }, + { + "label": "Curriculum", + "text": "Percorso comune" + }, + { + "label": "Tipo di attività didattica", + "text": "Laboratorio" + }, + { + "label": "Tipo di insegnamento", + "text": "Obbligatorio" + }, + { + "label": "Anno accademico", + "text": "2023/2024" + }, + { + "label": "Anno di corso di laurea", + "text": "1" + }, + { + "label": "Periodo didattico", + "text": "Secondo Semestre (dal 19/02/2024 al 31/05/2024)" + }, + { + "label": "Durata", + "text": "120 ore (120 ore laboratorio)" + }, + { + "label": "Crediti", + "text": "12 CFU" + }, + { + "label": "Lingua", + "text": "Italiano" + }, + { + "label": "Sede", + "text": "Vicenza" + } + ] } }, { - "title": "Elementi di design strutturale dei prodotti", + "key": "title", + "classes": "block-title--xs block-title--spacing-xs", + "tag": "p", "content": { - "key": "grid-list", - "classes": "block-has-margin-sm", - "content": { - "items": [ - { - "label": "Docente", - "text": "Russo Salvatore" - }, - { - "label": "Settore scientifico disciplinare", - "text": "ICAR/09" - }, - { - "label": "Durata", - "text": "30 ore (30 ore Laboratorio)" - }, - { - "label": "Crediti", - "text": "3 CFU" + "title": "Design per la produzione industriale" + } + }, + { + "key": "grid-list", + "classes": "spacing-md", + "content": { + "items": [ + { + "label": "Docente", + "text": "Buffagni Alessia" + }, + { + "label": "Settore scientifico disciplinare", + "text": "ICAR/13" + }, + { + "label": "Durata", + "text": "90 ore (90 ore Laboratorio)" + }, + { + "label": "Crediti", + "text": "9 CFU" + }, + { + "label": "Tipologia CFU", + "text": "B (Caratterizzante)" + } + ] + } + }, + { + "key": "title", + "classes": "block-title--xs block-title--spacing-xs", + "tag": "p", + "content": { + "title": "Elementi di design strutturale dei prodotti" + } + }, + { + "key": "grid-list", + "classes": "spacing-md", + "content": { + "items": [ + { + "label": "Docente", + "text": "Russo Salvatore" + }, + { + "label": "Settore scientifico disciplinare", + "text": "ICAR/09" + }, + { + "label": "Durata", + "text": "30 ore (30 ore Laboratorio)" + }, + { + "label": "Crediti", + "text": "3 CFU" + } + ] + } + }, + { + "key": "accordion", + "classes": "block-accordion--sm block-accordion--2cols spacing-md xl:spacing-lg", + "multi_columns": true, + "content": { + "items": [ + { + "title": "Prerequisiti", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" } - ] - } + }, + { + "title": "Contenuti", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Metodi didattici", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Verifica dell’apprendimento", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Testi", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Altre informazioni", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + } + ] + } + }, + { + "key": "featured-content-columns", + "classes": "", + "content": { + "title": { + "key": "title", + "classes": "block-title--sm", + "tag": "h2", + "content": { + "title": "Open day" + } + }, + "image": { + "filename": "architettura-3", + "path": "/post_type/corsi", + "alt": "iuav-laurea-triennale-architettura-open-day" + }, + "text": { + "key": "paragraph", + "classes": "", + "content": "

Scopri di più sul corso di laurea in Design sulla pagina dedicata all’Open Day. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa.

" + }, + "links": [ + { + "key": "link", + "classes": "block-link--sm block-link--white", + "url": "#", + "content": { + "name": "Vai alla pagina dell'Open Day" + } + } + ] } } ], - "course_accordion": { - "key": "accordion", - "classes": "block-accordion--sm block-accordion--2cols block-has-margin-sm", - "multi_columns": true, - "content": { - "items": [ - { - "title": "Prerequisiti", - "content": { - "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" - } - }, - { - "title": "Contenuti", - "content": { - "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" - } - }, - { - "title": "Metodi didattici", - "content": { - "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" - } - }, - { - "title": "Verifica dell’apprendimento", - "content": { - "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" - } - }, - { - "title": "Testi", - "content": { - "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" - } - }, - { - "title": "Altre informazioni", - "content": { - "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" - } - } - ] - } - }, - "course_focus": { - "key": "featured-content-columns", - "classes": "", - "content": { - "title": { - "key": "title", - "classes": "block-title--sm", - "tag": "h2", - "content": { - "title": "Open day" - } - }, - "image": { - "filename": "architettura-3", - "path": "/post_type/corsi", - "alt": "iuav-laurea-triennale-architettura-open-day" - }, - "text": { - "key": "paragraph", - "classes": "", - "content": "

Scopri di più sul corso di laurea in Design sulla pagina dedicata all’Open Day. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa.

" - }, - "link": { - "key": "link", - "classes": "block-link--white", - "url": "#", - "content": { - "name": "Vai alla pagina dell'Open Day" - } - } - } - }, "course_contacts": { "key": "contacts-section", "classes": "contacts-section--noMargin", @@ -3788,6 +3909,702 @@ } ] } + }, + { + "title": "Laboratorio di disegno per il design", + "parent": 2, + "url": "/pages/corsi/laboratorio-disegno-design.html", + "content": null, + "blocks": [ + { + "key": "grid-list", + "classes": "spacing-lg", + "content": { + "items": [ + { + "label": "Tipologia corso", + "text": "Laurea triennale" + }, + { + "label": "Corso di studi", + "text": "Design del prodotto, della comunicazione visiva e degli interni" + }, + { + "label": "Curriculum", + "text": "Product e visual design" + }, + { + "label": "Tipo di attività didattica", + "text": "Laboratorio" + }, + { + "label": "Tipo di insegnamento", + "text": "Obbligatorio" + }, + { + "label": "Settore scientifico disciplinare", + "text": "ICAR/17" + }, + { + "label": "Anno accademico", + "text": "2023/2024" + }, + { + "label": "Anno di corso di laurea", + "text": "1" + }, + { + "label": "Periodo didattico", + "text": "Primo semestre (dal 25/09/2023 al 26/01/2024)" + }, + { + "label": "Durata", + "text": "80 ore (80 ore Laboratorio)" + }, + { + "label": "Crediti", + "text": "8 CFU" + }, + { + "label": "Tipologia CFU", + "text": "A (Base)" + }, + { + "label": "Lingua", + "text": "Italiano" + }, + { + "label": "Sede", + "text": "Venezia" + } + ] + } + }, + { + "key": "paragraph", + "classes": "block-paragraph--sm block-paragraph--1col spacing-md", + "content": "

Il seguente corso prevede una partizione in più gruppi, ognuno con il relativo docente e variazione del percorso di studi.

" + }, + { + "key": "tabs", + "classes": "", + "content": { + "tabs": [ + { + "name": "Partizione A", + "inner_blocks": [ + { + "key": "grid-list", + "classes": "spacing-md", + "content": { + "items": [ + { + "label": "Docente", + "text": "Ciammaichella Massimiliano" + } + ] + } + }, + { + "key": "accordion", + "classes": "block-accordion--sm block-accordion--2cols spacing-md", + "multi_columns": true, + "content": { + "items": [ + { + "title": "Prerequisiti", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Contenuti", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Metodi didattici", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Verifica dell’apprendimento", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Testi", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Altre informazioni", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + } + ] + } + } + ] + }, + { + "name": "Partizione B", + "inner_blocks": [ + { + "key": "grid-list", + "classes": "spacing-md", + "content": { + "items": [ + { + "label": "Docente", + "text": "Rossi Marco" + } + ] + } + }, + { + "key": "accordion", + "classes": "block-accordion--sm block-accordion--2cols spacing-md", + "multi_columns": true, + "content": { + "items": [ + { + "title": "Prerequisiti", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Contenuti", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Metodi didattici", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Verifica dell’apprendimento", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Testi", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Altre informazioni", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + } + ] + } + } + ] + } + ] + } + }, + { + "key": "featured-content-columns", + "classes": "", + "content": { + "title": { + "key": "title", + "classes": "block-title--sm", + "tag": "h2", + "content": { + "title": "Progetti" + } + }, + "image": { + "filename": "progetti-lab-disegno-design", + "path": "/post_type/corsi", + "alt": "immagine in evidenza dei progetti del laboratorio disegno design" + }, + "text": { + "key": "paragraph", + "classes": "", + "content": "

Visita i seguenti link per visionare i progetti realizzati dagli studenti durante i corsi degli anni accademici precedenti. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

" + }, + "links": [ + { + "key": "link", + "classes": "block-link--sm block-link--white", + "url": "#", + "content": { + "name": "A.A. 2022/2023, partizione A" + } + }, + { + "key": "link", + "classes": "block-link--sm block-link--white", + "url": "#", + "content": { + "name": "A.A. 2022/2023, partizione B" + } + }, + { + "key": "link", + "classes": "block-link--sm block-link--white", + "url": "#", + "content": { + "name": "A.A. 2021/2022, partizione A" + } + }, + { + "key": "link", + "classes": "block-link--sm block-link--white", + "url": "#", + "content": { + "name": "A.A. 2021/2022, partizione B" + } + } + ] + } + } + ], + "course_contacts": { + "key": "contacts-section", + "classes": "contacts-section--noMargin", + "title": { + "key": "title", + "tag": "h2", + "classes": "block-title--sm", + "content": { + "title": "Contatti", + "link": { + "label": "Vai alla rubrica contatti", + "url": "#" + } + } + }, + "content": [ + { + "items": [ + { + "title": "Massimiliano Ciammaichella", + "subtitle": "Professore associato", + "text": null, + "email": "massimiliano.ciammaichella@iuav.it", + "phone": null, + "links": null + }, + { + "title": "Francesco Bergamo", + "subtitle": "Ricercatore", + "text": null, + "email": "francesco.bergamo@iuav.it", + "phone": null, + "links": null + } + ] + } + ] + } + }, + { + "title": "Laboratorio di Visual Design", + "parent": 2, + "url": "/pages/corsi/laboratorio-visual-design.html", + "content": null, + "blocks": [ + { + "key": "grid-list", + "classes": "spacing-lg", + "content": { + "items": [ + { + "label": "Tipologia corso", + "text": "Laurea triennale" + }, + { + "label": "Corso di studi", + "text": "Design del prodotto, della comunicazione visiva e degli interni" + }, + { + "label": "Curriculum", + "text": "Product e visual design" + }, + { + "label": "Tipo di attività didattica", + "text": "Laboratorio" + }, + { + "label": "Tipo di insegnamento", + "text": "Obbligatorio" + }, + { + "label": "Anno accademico", + "text": "2023/2024" + }, + { + "label": "Anno di corso di laurea", + "text": "2" + }, + { + "label": "Periodo didattico", + "text": "Primo semestre (dal 25/09/2023 al 26/01/2024)" + }, + { + "label": "Durata", + "text": "140 ore (140 ore Laboratorio)" + }, + { + "label": "Crediti", + "text": "14 CFU" + }, + { + "label": "Lingua", + "text": "Italiano" + }, + { + "label": "Sede", + "text": "Venezia" + } + ] + } + }, + { + "key": "paragraph", + "classes": "block-paragraph--sm block-paragraph--1col spacing-md", + "content": "

Il seguente corso prevede una partizione in più gruppi, ognuno con il relativo docente e variazione del percorso di studi.

" + }, + { + "key": "tabs", + "classes": "", + "content": { + "tabs": [ + { + "name": "Partizione A", + "inner_blocks": [ + { + "key": "grid-list", + "classes": "spacing-md", + "content": { + "items": [ + { + "label": "Docente", + "text": "Ciammaichella Massimiliano" + } + ] + } + }, + { + "key": "title", + "classes": "block-title--xs block-title--spacing-xs", + "tag": "p", + "content": { + "title": "Cultura visiva" + } + }, + { + "key": "grid-list", + "classes": "spacing-md", + "content": { + "items": [ + { + "label": "Docente", + "text": "Pietrabissa Camilla" + }, + { + "label": "Settore scientifico disciplinare", + "text": "L-ART/06" + }, + { + "label": "Durata", + "text": "60 ore (60 ore Laboratorio)" + }, + { + "label": "Crediti", + "text": "6 CFU" + }, + { + "label": "Tipologia CFU", + "text": "B (Caratterizzante)" + } + ] + } + }, + { + "key": "title", + "classes": "block-title--xs block-title--spacing-xs", + "tag": "p", + "content": { + "title": "Visual design" + } + }, + { + "key": "grid-list", + "classes": "spacing-md", + "content": { + "items": [ + { + "label": "Docente", + "text": "Molteni Marco" + }, + { + "label": "Settore scientifico disciplinare", + "text": "ICAR/13" + }, + { + "label": "Durata", + "text": "80 ore (80 ore Laboratorio)" + }, + { + "label": "Crediti", + "text": "8 CFU" + }, + { + "label": "Tipologia CFU", + "text": "B (Caratterizzante)" + } + ] + } + }, + { + "key": "accordion", + "classes": "block-accordion--sm block-accordion--2cols spacing-md", + "multi_columns": true, + "content": { + "items": [ + { + "title": "Obiettivi formativi", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Prerequisiti", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Contenuti", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Metodi didattici", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Verifica dell’apprendimento", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Testi", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Altre informazioni", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + } + ] + } + } + ] + }, + { + "name": "Partizione B", + "inner_blocks": [ + { + "key": "grid-list", + "classes": "spacing-md", + "content": { + "items": [ + { + "label": "Docente", + "text": "Rossi Marco" + } + ] + } + }, + { + "key": "accordion", + "classes": "block-accordion--sm block-accordion--2cols spacing-md", + "multi_columns": true, + "content": { + "items": [ + { + "title": "Prerequisiti", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Contenuti", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Metodi didattici", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Verifica dell’apprendimento", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Testi", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + }, + { + "title": "Altre informazioni", + "content": { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus" + } + } + ] + } + } + ] + } + ] + } + }, + { + "key": "featured-content-columns", + "classes": "", + "content": { + "title": { + "key": "title", + "classes": "block-title--sm", + "tag": "h2", + "content": { + "title": "Progetti" + } + }, + "image": { + "filename": "progetti-lab-visual-design", + "path": "/post_type/corsi", + "alt": "immagine in evidenza dei progetti del laboratorio visual design" + }, + "text": { + "key": "paragraph", + "classes": "", + "content": "

Visita i seguenti link per visionare i progetti realizzati dagli studenti durante i corsi degli anni accademici precedenti. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

" + }, + "links": [ + { + "key": "link", + "classes": "block-link--sm block-link--white", + "url": "#", + "content": { + "name": "A.A. 2022/2023, partizione A" + } + }, + { + "key": "link", + "classes": "block-link--sm block-link--white", + "url": "#", + "content": { + "name": "A.A. 2022/2023, partizione B" + } + }, + { + "key": "link", + "classes": "block-link--sm block-link--white", + "url": "#", + "content": { + "name": "A.A. 2021/2022, partizione A" + } + }, + { + "key": "link", + "classes": "block-link--sm block-link--white", + "url": "#", + "content": { + "name": "A.A. 2021/2022, partizione B" + } + } + ] + } + } + ], + "course_contacts": { + "key": "contacts-section", + "classes": "contacts-section--noMargin", + "title": { + "key": "title", + "tag": "h2", + "classes": "block-title--sm", + "content": { + "title": "Contatti", + "link": { + "label": "Vai alla rubrica contatti", + "url": "#" + } + } + }, + "content": [ + { + "items": [ + { + "title": "Camilla Pietrabissa", + "subtitle": "Ricercatrice", + "text": null, + "email": "mail@iuav.it", + "phone": null, + "links": null + }, + { + "title": "Marco Molteni", + "subtitle": "Docente a contratto", + "text": null, + "email": "mail@iuav.it", + "phone": null, + "links": null + }, + { + "title": "Simona Arillotta", + "subtitle": "Docente a contratto", + "text": null, + "email": "mail@iuav.it", + "phone": null, + "links": null + }, + { + "title": "Marco Fornasier", + "subtitle": "Docente a contratto", + "text": null, + "email": "mail@iuav.it", + "phone": null, + "links": null + } + ] + } + ] + } } ] }, @@ -3874,6 +4691,350 @@ } } ] + }, + "buildings": { + "items": [ + { + "title": "Cotonificio", + "subtitle": null, + "text": null, + "email": "cotonificio.iuav@colser.com", + "phone": "+39 041 257 1801", + "links": null, + "terms": [0,1] + }, + { + "title": "Gestione didattica e servizi agli studenti", + "subtitle": null, + "text": "Il servizio si occupa della definizione e gestione degli orari delle lezioni, delle iscrizioni alle attività didattiche e degli appelli d’esame. Indirizza gli studenti verso le attività didattiche da sostenere per lo svolgimento del proprio piano di studi, rilascia i programmi dei corsi, si occupa della gestione degli spazi dedicati alla didattica.", + "email": "segreteria.corsidistudio@iuav.it", + "phone": null, + "links": null, + "terms": [0,1] + }, + { + + "title": "Iuav Infopoint", + "subtitle": null, + "text": "Applicazione web che offre un unico canale di comunicazione attraverso il quale puoi inviare le tue richieste agli uffici dell’ateneo.", + "email": null, + "phone": null, + "links": [ + { + "name": "Accedi con credenziali Iuav", + "url": "#" + }, + { + "name": "Accedi come utente esterno", + "url": "#" + } + ], + "terms": [0,1] + }, + { + + "title": "Labsco", + "subtitle": null, + "text": "Dal 6 ottobre 2003 la nuova sede del laboratorio di Scienza delle costruzioni sorge a Mestre, in via Torino, su un’area concessa dal comune alle università veneziane per la realizzazione di un polo scientifico. Il progetto è di Francesco Venezia.", + "info": "Via Torino, 153/A
30172 Mestre (VE)
Lun – ven 9.00–12.30
Lun – gio 15.00–16.30", + "email": "labsco@iuav.it", + "phone": null, + "links": null, + "terms": [0,1] + }, + { + "title": "Labsco", + "subtitle": "Uffici", + "text": null, + "email": "labsco@iuav.it", + "phone": "041 257 1470", + "links": null, + "terms": [0,1] + }, + { + "title": "Labsco", + "subtitle": "Sala Prove", + "text": null, + "email": "labsco@iuav.it", + "phone": "041 257 1471", + "links": null, + "terms": [0,1] + }, + { + "title": "Labsco", + "subtitle": "Fax", + "text": null, + "email": null, + "phone": "041 531 2988", + "links": null, + "terms": [0,1] + }, + { + "title": "A", + "subtitle": "Fax", + "text": null, + "email": null, + "phone": "041 531 2988", + "links": null, + "terms": [0,1] + }, + { + "title": "B", + "subtitle": "Fax", + "text": null, + "email": null, + "phone": "041 531 2988", + "links": null, + "terms": [0,1] + } + ] + }, + "people": { + "items": [ + { + "title": "Roberta Albiero", + "subtitle": "Professoressa associata", + "text": null, + "email": "roberta.albiero@iuav.it", + "phone": null, + "links": null, + "terms": [0,1] + }, + { + "title": "Pierantonio Val", + "subtitle": "Ricercatore ", + "text": null, + "email": "pierantonio.val@iuav.it", + "phone": null, + "links": null, + "terms": [0,1] + }, + { + "title": "Daniela Ruggeri", + "subtitle": "Ricercatrice", + "text": null, + "email": "daniela.ruggeri@iuav.it", + "phone": null, + "links": null, + "terms": [0,1] + }, + { + "title": "Gundula Rakowitz", + "subtitle": "Professoressa associata", + "text": null, + "email": "gundula.rakowitz@iuav.it", + "phone": null, + "links": null, + "terms": [0,1] + }, + { + "title": "Valerio Paolo Mosco", + "subtitle": "Professore associato", + "text": null, + "email": "valerio.mosco@iuav.it", + "phone": null, + "links": null, + "terms": [0,1] + }, + { + "title": "Giovanni Marras", + "subtitle": "Professore ordinario", + "text": null, + "email": "giovanni.marras@iuav.it", + "phone": null, + "links": null, + "terms": [0,1] + }, + { + "title": "Marco Ferrari", + "subtitle": "Professore associato", + "text": null, + "email": "marco.ferrari@iuav.it", + "phone": null, + "links": null, + "terms": [0,1] + }, + { + "title": "Giovanni Carli", + "subtitle": "Docente a contratto", + "text": null, + "email": "giovanni.carli@iuav.it", + "phone": null, + "links": null, + "terms": [0,1] + }, + { + "title": "Francesco Cacciatore", + "subtitle": "Professore associato", + "text": null, + "email": "francesco.cacciatore@iuav.it", + "phone": null, + "links": null, + "terms": [0,1] + }, + { + "title": "Mario Farina", + "url": "/pages/contatti/mario-farina.html", + "subtitle": "Docente", + "image": { + "filename": "mario-farina", + "path": "/post_type/contacts/people", + "alt": "foto di Mario Farina, docente Iuav" + }, + "text": null, + "email": "mario.farina@iuav.it", + "phone": null, + "links": null, + "blocks": [ + { + "key": "breadcrumbs", + "post_type": "people", + "parents": [7] + } + ], + "people_info": { + "key": "grid-list", + "classes": "", + "content": { + "items": [ + { + "label": "Ruolo", + "text": "Docente" + }, + { + "label": "Settore concorsuale", + "text": "11/C4 Estetica e filosofia dei linguaggi" + }, + { + "label": "Dipartimento", + "text": "Dipartimento di Culture del progetto" + }, + { + "label": "Contatti", + "text": "mario.farina@iuav.it" + }, + { + "label": "Posizione", + "text": "Professore associato" + }, + { + "label": "Settore scientifico-disciplinare", + "text": "M-FIL/04 Estetica" + }, + { + "label": "Interessi di ricerca", + "text": "estetica, storia dell’estetica, teoria dell’opera d’arte, filosofia della letteratura" + }, + { + "label": "Orario di ricevimento", + "text": "Su appuntamento" + } + ] + } + }, + "people_profile": { + "inner_blocks": { + "title": { + "key": "title", + "tag": "h2", + "classes": "block-title--sm block-title--divider", + "content": { + "title": "Profilo" + } + }, + "paragraph": { + "key": "paragraph", + "classes": "block-paragraph--1col", + "content": "

Mario Farina (1982), si è laureato all’Università di Pavia (2008) e ha ottenuto il dottorato di ricerca all’Università del Piemonte Orientale (2012). Ha studiato alle università di Heidelberg e Colonia ed è stato ricercatore ospite all’Università di Francoforte e allo University College di Dublino. È stato assegnista di ricerca all’Università di Firenze (2014-2016/2017-2019) e docente di estetica all’Accademia di Belle Arti di Reggio Calabria. Dal 2020, è ricercatore all’Università Iuav di Venezia.
Tra le sue pubblicazioni:
M. Farina, “Critica, simbolo e storia. La determinazione hegeliana dell’estetica” (Ets, Pisa: 2015).
M. Farina, “Adorno’s Aesthetics as a Literary Theory of Art” (Palgrave Macmillan, Cham 2020)

" + }, + "files_list": { + "key": "files-list", + "classes": "", + "content": { + "label": "Approfondimenti", + "items": [ + { + "name": "Materiali didattici", + "url": "#" + }, + { + "name": "Profilo su Academia.edu", + "url": "#" + } + ] + } + } + } + }, + "people_teaching": { + "inner_blocks": { + "title": { + "key": "title", + "tag": "h2", + "classes": "block-title--sm block-title--divider", + "content": { + "title": "Didattica" + } + }, + "links": { + "repeater": [ + { + "key": "links-list", + "classes": "block-links-list--1col", + "links_size": "sm", + "content": { + "label": "2023/2024", + "list": [ + { + "name": "Estetica (Architettura)", + "url": "#" + }, + { + "name": "Estetica (Design del prodotto, della comunicazione e degli interni – Comunicazione)", + "url": "#" + }, + { + "name": "Estetica (Design del prodotto, della comunicazione e degli interni – Interni)", + "url": "#" + } + ] + } + }, + { + "key": "links-list", + "classes": "block-links-list--1col", + "links_size": "sm", + "content": { + "label": "2022/2023", + "list": [ + { + "name": "Estetica (Architettura)", + "url": "http://ext-domain.com", + "external_name": "Course Catalogue" + }, + { + "name": "Estetica (Design del prodotto, della comunicazione e degli interni – Comunicazione)", + "url": "http://ext-domain.com", + "external_name": "Course Catalogue" + }, + { + "name": "Estetica (Design del prodotto, della comunicazione e degli interni – Interni)", + "url": "http://ext-domain.com", + "external_name": "Course Catalogue" + } + ] + } + } + ] + } + } + }, + "people_degrees": { + "base": "Laurea magistrale in", + "items": [0,2] + } + } + ] } }, "taxonomies": { @@ -3909,6 +5070,91 @@ "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nunc libero, fringilla id semper id, ornare pellentesque massa. Nam posuere luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus." } ] + }, + "contacts": { + "terms": [ + { + "name": "Tipologia di struttura", + "items": [ + { + "name": "Area didattica" + }, + { + "name": "Area finanza" + }, + { + "name": "Area ricerca" + }, + { + "name": "Area tecnica" + }, + { + "name": "Laboratori" + }, + { + "name": "Infrastrutture" + }, + { + "name": "Scuole" + }, + { + "name": "Dipartimenti" + }, + { + "name": "Direzione generale" + }, + { + "name": "Centri di ricerca" + }, + { + "name": "Altre strutture" + } + ] + }, + { + "name": "Ruolo", + "items": [ + { + "name": "Docente a contratto" + }, + { + "name": "Professore associato" + }, + { + "name": "Ricercatrice" + } + ] + }, + { + "name": "Area di interesse", + "items": [ + { + "name": "Didattica" + }, + { + "name": "Tirocinio" + }, + { + "name": "Biblioteca" + }, + { + "name": "Dottorato" + }, + { + "name": "Master" + }, + { + "name": "Risorse umane" + }, + { + "name": "Ricerca" + }, + { + "name": "Internazionalizzazione" + } + ] + } + ] } } } \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js index 8f310b3..1e1fefa 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -42,7 +42,7 @@ * BrowserSync */ -function serve(done) { +function serve_dev(done) { browsersync.init({ server: { baseDir: options.paths.build.base @@ -52,6 +52,17 @@ done(); } +function serve(done) { + browsersync.init({ + server: { + baseDir: options.paths.dist.base, + }, + startPath: '/pages/corsi-laurea/index.html', + port: 8000 + }); + done(); +} + /* * BrowserSync Reload */ @@ -197,8 +208,7 @@ min:'.min.js' }, })) - .pipe(gulp.dest(options.paths.dist.js)); - + .pipe(gulp.dest(options.paths.dist.js)) } exports.js_dist = js_dist; @@ -290,7 +300,71 @@ .pipe(data(function () { return JSON.parse(fs.readFileSync('./data.json')); })) - .pipe(twig()) + .pipe(twig({ + filters: [ + { + name: "sortby", + func: function (obj, key) { + return obj.sort(function(a,b){ + var a = (typeof a[key] === 'string') ? a[key].toUpperCase() : a[key]; + var b = (typeof b[key] === 'string') ? b[key].toUpperCase() : b[key]; + if (a < b) { + return -1; + } + if (a > b) { + return 1; + } + return 0; + }); + } + }, + { + name: "startswith", + func: function (string, match) { + return string.startsWith(match); + } + }, + { + name: "hasitemwith", + func: function (obj, match) { + let indexHasItem = false; + obj.forEach(i => { + if (i['title'].startsWith(match)){ + indexHasItem = true; + } + }) + if (indexHasItem) { + return true; + } + } + }, + { + name: "lastwordstartswith", + func: function (string, match) { + string = string.split(' ') + string = string[string.length - 1] + return string.startsWith(match); + } + }, + { + name: "lastwordhasitemwith", + func: function (obj, match) { + let indexHasItem = false; + obj.forEach(i => { + let string = i['title'] + string = string.split(' ') + string = string[string.length - 1] + if (string.startsWith(match)){ + indexHasItem = true; + } + }) + if (indexHasItem) { + return true; + } + } + } + ] + })) .pipe(prettyHtml()) .pipe(gulp.dest(options.paths.build.base)); } @@ -301,7 +375,100 @@ .pipe(data(function () { return JSON.parse(fs.readFileSync('./data.json')); })) - .pipe(twig()) + .pipe(twig({ + filters: [ + { + name: "sortby", + func: function (obj, key) { + return obj.sort(function(a,b){ + var a = (typeof a[key] === 'string') ? a[key].toUpperCase() : a[key]; + var b = (typeof b[key] === 'string') ? b[key].toUpperCase() : b[key]; + if (a < b) { + return -1; + } + if (a > b) { + return 1; + } + return 0; + }); + } + }, + { + name: "sortbylast", + func: function (obj, key) { + return obj.sort(function(a,b){ + var a, b; + if (typeof a[key] === 'string') { + a = a[key].split(' '); + a = a[a.length - 1]; + a.toUpperCase(); + } else { + a[key]; + } + if (typeof b[key] === 'string') { + b = b[key].split(' '); + b = b[b.length - 1]; + b.toUpperCase(); + } else { + b[key]; + } + if (a < b) { + return -1; + } + if (a > b) { + return 1; + } + return 0; + }); + } + }, + { + name: "startswith", + func: function (string, match) { + return string.startsWith(match); + } + }, + { + name: "hasitemwith", + func: function (obj, match) { + let indexHasItem = false; + obj.forEach(i => { + if (i['title'].startsWith(match)){ + indexHasItem = true; + } + }) + if (indexHasItem) { + return true; + } + } + }, + { + name: "lastwordstartswith", + func: function (string, match) { + string = string.split(' ') + string = string[string.length - 1] + return string.startsWith(match); + } + }, + { + name: "lastwordhasitemwith", + func: function (obj, match) { + let indexHasItem = false; + obj.forEach(i => { + let string = i['title'] + string = string.split(' ') + string = string[string.length - 1] + if (string.startsWith(match)){ + indexHasItem = true; + } + }) + if (indexHasItem) { + return true; + } + } + } + ] + })) .pipe(prettyHtml()) .pipe(gulp.dest(`${options.paths.build.base}/pages`)); } @@ -315,7 +482,71 @@ .pipe(data(function () { return JSON.parse(fs.readFileSync('./data.json')); })) - .pipe(twig()) + .pipe(twig({ + filters: [ + { + name: "sortby", + func: function (obj, key) { + return obj.sort(function(a,b){ + var a = (typeof a[key] === 'string') ? a[key].toUpperCase() : a[key]; + var b = (typeof b[key] === 'string') ? b[key].toUpperCase() : b[key]; + if (a < b) { + return -1; + } + if (a > b) { + return 1; + } + return 0; + }); + } + }, + { + name: "startswith", + func: function (string, match) { + return string.startsWith(match); + } + }, + { + name: "hasitemwith", + func: function (obj, match) { + let indexHasItem = false; + obj.forEach(i => { + if (i['title'].startsWith(match)){ + indexHasItem = true; + } + }) + if (indexHasItem) { + return true; + } + } + }, + { + name: "lastwordstartswith", + func: function (string, match) { + string = string.split(' ') + string = string[string.length - 1] + return string.startsWith(match); + } + }, + { + name: "lastwordhasitemwith", + func: function (obj, match) { + let indexHasItem = false; + obj.forEach(i => { + let string = i['title'] + string = string.split(' ') + string = string[string.length - 1] + if (string.startsWith(match)){ + indexHasItem = true; + } + }) + if (indexHasItem) { + return true; + } + } + } + ] + })) .pipe(prettyHtml()) .pipe(processhtml()) .pipe(gulp.dest(options.paths.dist.base)); @@ -325,7 +556,71 @@ .pipe(data(function () { return JSON.parse(fs.readFileSync('./data.json')); })) - .pipe(twig()) + .pipe(twig({ + filters: [ + { + name: "sortby", + func: function (obj, key) { + return obj.sort(function(a,b){ + var a = (typeof a[key] === 'string') ? a[key].toUpperCase() : a[key]; + var b = (typeof b[key] === 'string') ? b[key].toUpperCase() : b[key]; + if (a < b) { + return -1; + } + if (a > b) { + return 1; + } + return 0; + }); + } + }, + { + name: "startswith", + func: function (string, match) { + return string.startsWith(match); + } + }, + { + name: "hasitemwith", + func: function (obj, match) { + let indexHasItem = false; + obj.forEach(i => { + if (i['title'].startsWith(match)){ + indexHasItem = true; + } + }) + if (indexHasItem) { + return true; + } + } + }, + { + name: "lastwordstartswith", + func: function (string, match) { + string = string.split(' ') + string = string[string.length - 1] + return string.startsWith(match); + } + }, + { + name: "lastwordhasitemwith", + func: function (obj, match) { + let indexHasItem = false; + obj.forEach(i => { + let string = i['title'] + string = string.split(' ') + string = string[string.length - 1] + if (string.startsWith(match)){ + indexHasItem = true; + } + }) + if (indexHasItem) { + return true; + } + } + } + ] + })) .pipe(prettyHtml()) .pipe(processhtml()) .pipe(gulp.dest(`${options.paths.dist.base}/pages`)); @@ -367,7 +662,7 @@ const watch = gulp.parallel(watchFiles); -const dev = gulp.series(serve, watch); +const dev = gulp.series(serve_dev, watch); exports.dev = dev; /* @@ -383,4 +678,9 @@ /* * Dist main task */ -exports.dist = series(twig_dist, css_dist, clean_css_dist, plugins_dist, js_dist, clean_js_dist, fonts_dist, video_dist, img_dist, favicon_move_dist); +exports.dist = series(twig_dist, css_dist, clean_css_dist, plugins_dist, js_dist, fonts_dist, video_dist, img_dist, favicon_move_dist); + +/** + * Watch task +*/ +exports.serve = serve; \ No newline at end of file diff --git a/src/assets/css/base/grid.css b/src/assets/css/base/grid.css index 32239ed..356e2de 100644 --- a/src/assets/css/base/grid.css +++ b/src/assets/css/base/grid.css @@ -11,7 +11,9 @@ .grid-container, .block-container{ @apply row; - :where(.grid-container), :where(.block-container){ +} +:is(.grid-container, .block-container){ + :is(.grid-container, .block-container){ @apply w-full ml-0 mr-0 px-0; } } diff --git a/src/assets/css/base/layout.css b/src/assets/css/base/layout.css index b632292..b0535e2 100644 --- a/src/assets/css/base/layout.css +++ b/src/assets/css/base/layout.css @@ -7,6 +7,9 @@ body{ @apply bg-white; + &.has-primary-bg{ + @apply bg-yellow-100; + } } .content{ diff --git a/src/assets/css/base/spacing.css b/src/assets/css/base/spacing.css index acd21bf..ab389b5 100644 --- a/src/assets/css/base/spacing.css +++ b/src/assets/css/base/spacing.css @@ -1,15 +1,2 @@ :root{ - --spacing-lg: theme(spacing[12.5]); -} - -@layer utilties{ - .spacing-base{ - @apply mb-sm md:mb-base; - } - .spacing-lg{ - @apply mb-base md:mb-lg; - } - .spacing-xl{ - @apply mb-lg xl:mb-xl; - } } \ No newline at end of file diff --git a/src/assets/css/base/typography.css b/src/assets/css/base/typography.css index f31e55e..8946799 100644 --- a/src/assets/css/base/typography.css +++ b/src/assets/css/base/typography.css @@ -67,7 +67,7 @@ } p{ - @apply text-size-base text-black mb-3.75 md:mb-12.5; + @apply text-size-base text-black mb-sm; a{ @apply underline; } diff --git a/src/assets/css/blocks/accordion.css b/src/assets/css/blocks/accordion.css index 38e8c59..29ae512 100644 --- a/src/assets/css/blocks/accordion.css +++ b/src/assets/css/blocks/accordion.css @@ -1,4 +1,5 @@ .block-accordion{ + @apply mb-md; &__inner{ @apply border-t border-grey-200; &:last-child:not(:first-child){ @@ -11,7 +12,7 @@ w-full text-size-lg min-h-[2.25rem] - py-1 /*xl:py-1.5 */ + py-1 xl:py-1.5 pl-12 xl:pl-16 pr-5 cursor-pointer @@ -50,7 +51,7 @@ } } &.is-toggled{ - @apply bg-black text-white; + @apply bg-black text-white border-grey-500; > span{ &::before{ background-image: url("data:image/svg+xml,%3Csvg width='50' height='50' viewBox='0 0 50 50' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M37.5 26H12.5V24H37.5V26Z' fill='white'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M24 37.5L24 12.5L26 12.5L26 37.5L24 37.5Z' fill='white'/%3E%3C/svg%3E%0A"); @@ -90,6 +91,9 @@ } } } + &:hover{ + @apply border-grey-500; + } } &--2cols{ @apply xl:grid xl:grid-cols-2 gap-x-[calc(var(--grid-gutter)*2)]; @@ -98,7 +102,7 @@ /* @apply lg:w-1/2; */ .block-accordion__inner{ > span{ - @apply text-size-md pl-[calc(2.25rem+0.625rem)]; + @apply text-size-md pl-[calc(2.25rem+0.625rem)] py-1; &::before{ @apply w-9 -translate-y-0; } @@ -108,4 +112,16 @@ } } } + @at-root body.has-primary-bg{ + .block-accordion{ + &__inner{ + > span{ + &:hover{ + @apply text-yellow-100; + background-image: url("data:image/svg+xml,%3Csvg width='50' height='50' viewBox='0 0 50 50' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M37.5 26H12.5V24H37.5V26Z' fill='black'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M24 37.5L24 12.5L26 12.5L26 37.5L24 37.5Z' fill='%23FFCC00'/%3E%3C/svg%3E%0A"); + } + } + } + } + } } \ No newline at end of file diff --git a/src/assets/css/blocks/block.css b/src/assets/css/blocks/block.css index fdb92ea..d312be6 100644 --- a/src/assets/css/blocks/block.css +++ b/src/assets/css/blocks/block.css @@ -9,9 +9,9 @@ @apply mb-base md:mb-lg; } -.block-has-margin{ +/* .block-has-margin{ @apply mb-base md:mb-lg; &-sm{ @apply mb-base md:mb-md; } -} \ No newline at end of file +} */ \ No newline at end of file diff --git a/src/assets/css/blocks/featured-content.css b/src/assets/css/blocks/featured-content.css index 35871f6..321ec9f 100644 --- a/src/assets/css/blocks/featured-content.css +++ b/src/assets/css/blocks/featured-content.css @@ -1,5 +1,5 @@ .block-featured-content-stacked{ - @apply py-sm xl:py-base bg-black text-white mt-md xl:mt-lg; + @apply py-sm xl:py-base bg-black text-white /*mt-md xl:mt-lg*/; p{ @apply text-white; } @@ -20,14 +20,14 @@ } .block-featured-content-columns{ - @apply py-sm xl:py-base bg-black text-white mt-md xl:mt-lg; + @apply py-sm xl:py-base bg-black text-white /*mt-md xl:mt-lg*/; p{ @apply text-white; } &__inner{ @apply lg:grid grid-cols-2 gap-x-[calc(var(--grid-gutter)*2)]; .block-featured-content-columns__img{ - @apply lg:order-2 h-full mb-sm lg:mb-0; + @apply lg:order-2 aspect-[3/2] mb-sm lg:mb-0; img{ @apply w-full h-full object-cover; } diff --git a/src/assets/css/blocks/files-list.css b/src/assets/css/blocks/files-list.css index 0a27ff7..c264db4 100644 --- a/src/assets/css/blocks/files-list.css +++ b/src/assets/css/blocks/files-list.css @@ -26,4 +26,25 @@ } } } + @at-root body.has-primary-bg{ + .block-files-list{ + &__inner{ + ul{ + li{ + a{ + @apply bg-yellow-200; + } + &:hover{ + a{ + @apply bg-black text-yellow-100; + &::before{ + background-image: url("data:image/svg+xml,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 37 37'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='m24.852 19.834-6.354 6.353-6.354-6.353.708-.708 5.146 5.147V9.5h1v14.773l5.146-5.147.708.708ZM27 28H10v-1h17v1Z' fill='%23FFCC00'/%3E%3C/svg%3E"); + } + } + } + } + } + } + } + } } \ No newline at end of file diff --git a/src/assets/css/blocks/filters.css b/src/assets/css/blocks/filters.css new file mode 100644 index 0000000..9a1848e --- /dev/null +++ b/src/assets/css/blocks/filters.css @@ -0,0 +1,19 @@ +.block-filters{ + @apply my-md xl:my-lg; + &__inner{ + @apply flex flex-wrap -mx-[var(--grid-gutter)]; + > *{ + @apply flex-1 px-[var(--grid-gutter)]; + } + } + &--alt{ + .block-filters__inner{ + .input{ + @apply border-yellow-300; + > *{ + @apply placeholder-yellow-300; + } + } + } + } +} \ No newline at end of file diff --git a/src/assets/css/blocks/grid-list.css b/src/assets/css/blocks/grid-list.css index a7ce643..cccd620 100644 --- a/src/assets/css/blocks/grid-list.css +++ b/src/assets/css/blocks/grid-list.css @@ -12,6 +12,20 @@ } } } + @at-root body.has-primary-bg { + .block-grid-list{ + &__inner{ + > div{ + @apply border-yellow-300; + p{ + &:first-child{ + @apply text-yellow-300; + } + } + } + } + } + } } @container (min-width: 35rem){ diff --git a/src/assets/css/blocks/index.css b/src/assets/css/blocks/index.css index 21e1208..e9ed18a 100644 --- a/src/assets/css/blocks/index.css +++ b/src/assets/css/blocks/index.css @@ -5,14 +5,17 @@ @import "events-list-row.css"; @import "featured-content.css"; @import "files-list.css"; +@import "filters.css"; @import "grid-list.css"; @import "hero-banner.css"; @import "images-grid.css"; @import "link"; -@import "links-list-columns.css"; +@import "links-list.css"; @import "page-title-banner.css"; @import "paragraph.css"; @import "query-loop.css"; +@import "subnav-columns.css"; +@import "tabs.css"; @import "tease-row.css"; @import "title.css"; @import "video.css"; \ No newline at end of file diff --git a/src/assets/css/blocks/link.css b/src/assets/css/blocks/link.css index 1db0389..8346fb5 100644 --- a/src/assets/css/blocks/link.css +++ b/src/assets/css/blocks/link.css @@ -1,6 +1,6 @@ .block-link{ /* @apply grid grid-cols-2 items-center; */ - @apply flex text-size-lg border-t border-grey-200 relative; + @apply flex text-size-lg border-y border-grey-200 relative; &:last-child:not(:first-child){ @apply border-b; } @@ -18,7 +18,7 @@ } > span{ @apply - flex items-center + /* flex items-center */ min-h-[2.25rem] pl-12 xl:pl-16 py-0.5 xl:py-1.5 @@ -46,7 +46,7 @@ } span{ span{ - @apply text-size-sm text-grey-300 self-start ml-3.75 translate-y-0.5; + @apply inline-block text-size-sm text-grey-300 /*self-start*/ ml-3 -translate-y-1.5; } } &:hover{ @@ -55,6 +55,17 @@ } } } + &--sm{ + @apply text-size-md; + &::before{ + @apply w-9 top-0.5; + } + > span{ + @apply + pl-12 + ; + } + } &--white{ @apply text-white border-grey-500; &::before{ @@ -75,4 +86,42 @@ } } } + @at-root body.has-primary-bg{ + .block-link{ + @apply border-yellow-300; + span{ + span{ + @apply text-yellow-300; + } + } + &:hover{ + @apply text-yellow-100; + span{ + span{ + @apply text-yellow-100; + } + } + &::before{ + background-image: url("data:image/svg+xml,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='m34.711 24-6.778-7.32 1.467-1.36L38.363 25 29.4 34.68l-1.467-1.36L34.71 26H12v-2h22.711Z' fill='%23FFCC00'/%3E%3C/svg%3E"); + } + &[href]:not(:where( + /* exclude hash only links */ + [href^="#"], + /* exclude relative but not double slash only links */ + [href^="/"]:not([href^="//"]), + /* domains to exclude */ + /* [href*="//stackoverflow.com"], */ + /* subdomains to exclude */ + /* [href*="//meta.stackoverflow.com"] */ + )){ + &::before{ + background-image: url("data:image/svg+xml,%3Csvg width='50' height='50' viewBox='0 0 50 50' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M31.0124 17.0725L21.043 16.6891L21.1198 14.6906L34.3016 15.1975L34.8086 28.3793L32.81 28.4562L32.4266 18.4867L16.3673 34.546L14.9531 33.1318L31.0124 17.0725Z' fill='%23FFCC00'/%3E%3C/svg%3E%0A"); + } + } + } + } + } + + .block-link{ + @apply -mt-px; + } } \ No newline at end of file diff --git a/src/assets/css/blocks/links-list-columns.css b/src/assets/css/blocks/links-list-columns.css deleted file mode 100644 index e24c658..0000000 --- a/src/assets/css/blocks/links-list-columns.css +++ /dev/null @@ -1,26 +0,0 @@ -.block-links-list-columns{ - @apply mb-16; - ul{ - @screen lg{ - columns: 2; - gap: calc(var(--grid-gutter)*2); - } - /* @apply -mx-[var(--grid-gutter)]; */ - li{ - /* @apply w-full px-[var(--grid-gutter)]; */ - /* @apply border-t border-grey-200 flex items-center h-[3.5vw]; */ - /* a{ - @apply flex items-center h-full w-full text-size-lg; - &::before{ - content: ''; - background-image: url("data:image/svg+xml,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 20'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='m22.711 9-6.778-7.32L17.4.32 26.363 10 17.4 19.68l-1.467-1.36L22.71 11H0V9h22.711Z' fill='%23000'/%3E%3C/svg%3E"); - background-size: 24px 18px; - @apply w-[50px] h-[50px] bg-no-repeat inline-block bg-center mr-4; - } - } - &:nth-last-child(2), &:last-child{ - @apply border-b; - } */ - } - } -} \ No newline at end of file diff --git a/src/assets/css/blocks/links-list.css b/src/assets/css/blocks/links-list.css new file mode 100644 index 0000000..7360c35 --- /dev/null +++ b/src/assets/css/blocks/links-list.css @@ -0,0 +1,45 @@ +.block-links-list{ + @apply mb-16; + &__label{ + @apply font-bold mb-xs; + } + ul{ + /* @screen lg{ + columns: 2; + gap: calc(var(--grid-gutter)*2); + } */ + /* @apply -mx-[var(--grid-gutter)]; */ + li{ + /* @apply w-full px-[var(--grid-gutter)]; */ + /* @apply border-t border-grey-200 flex items-center h-[3.5vw]; */ + /* a{ + @apply flex items-center h-full w-full text-size-lg; + &::before{ + content: ''; + background-image: url("data:image/svg+xml,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 20'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='m22.711 9-6.778-7.32L17.4.32 26.363 10 17.4 19.68l-1.467-1.36L22.71 11H0V9h22.711Z' fill='%23000'/%3E%3C/svg%3E"); + background-size: 24px 18px; + @apply w-[50px] h-[50px] bg-no-repeat inline-block bg-center mr-4; + } + } + &:nth-last-child(2), &:last-child{ + @apply border-b; + } */ + + li{ + @apply -mt-px; + } + } + } + &--1col{ + ul{ + @apply lg:w-1/2; + } + } + &--2cols{ + ul{ + @screen lg{ + columns: 2; + gap: calc(var(--grid-gutter)*2); + } + } + } +} \ No newline at end of file diff --git a/src/assets/css/blocks/paragraph.css b/src/assets/css/blocks/paragraph.css index 41d9a5f..3981ce7 100644 --- a/src/assets/css/blocks/paragraph.css +++ b/src/assets/css/blocks/paragraph.css @@ -1,7 +1,25 @@ .block-paragraph{ container: paragraph / inline-size; + &:not([class*="spacing-"]){ + @apply mb-md; + } p{ @apply text-size-base; + &:first-child:last-child{ + @apply mb-0; + } + } + ul, ol{ + @apply ml-2 mb-sm; + li{ + @apply pl-2; + } + } + ol{ + @apply list-decimal; + } + ul{ + list-style-type: "-"; } &--lg{ p{ @@ -9,12 +27,16 @@ } } &--1col{ - @apply xl:w-1/2; + > *{ + @screen xl{ + width: calc(50% - var(--grid-gutter)) !important; + } + } } } -@container paragraph (min-width: 80rem){ +/* @container paragraph (min-width: 80rem){ .block-paragraph p{ @apply w-3/4; } -} \ No newline at end of file +} */ \ No newline at end of file diff --git a/src/assets/css/blocks/subnav-columns.css b/src/assets/css/blocks/subnav-columns.css new file mode 100644 index 0000000..14ddba0 --- /dev/null +++ b/src/assets/css/blocks/subnav-columns.css @@ -0,0 +1,52 @@ +.block-subnav-columns{ + @apply + lg:grid grid-cols-2 gap-x-[calc(var(--grid-gutter)*2)] + mt-sm mb-base + md:mt-12.5 md:mb-lg + xl:mt-25 xl:mb-base + ; + &__nav{ + ul{ + @apply flex; + li{ + a{ + @apply text-size-lg text-grey-300; + span{ + @apply inline-block ml-2.5 mr-1 text-size-sm align-top; + } + } + &.is-active{ + a{ + @apply text-black; + } + } + &:not(:last-child){ + @apply mr-4; + &::after{ + content: ','; + @apply text-black text-size-lg; + } + } + } + } + } + &__description{ + p{ + @apply text-size-md; + } + } + &--alt{ + .block-subnav-columns{ + &__nav{ + ul{ + li:not(.is-active){ + a{ + @apply text-yellow-300; + } + } + } + } + + } + } +} \ No newline at end of file diff --git a/src/assets/css/blocks/tabs.css b/src/assets/css/blocks/tabs.css new file mode 100644 index 0000000..a36d3e2 --- /dev/null +++ b/src/assets/css/blocks/tabs.css @@ -0,0 +1,21 @@ +.block-tabs{ + @apply bg-grey-100; + &__tabs{ + @apply lg:flex lg:flex-nowrap pt-base pb-md text-size-lg; + button{ + @apply block text-grey-300; + &:not(:first-child){ + @apply lg:ml-2; + } + &.is-selected{ + @apply text-black; + } + } + } + &-tab{ + @apply pb-px; + .block-marquee-images{ + @apply ml-[calc(var(--grid-offset)*-1)] w-screen; + } + } +} diff --git a/src/assets/css/blocks/tease-row.css b/src/assets/css/blocks/tease-row.css index efc808d..a9f98dd 100644 --- a/src/assets/css/blocks/tease-row.css +++ b/src/assets/css/blocks/tease-row.css @@ -1,3 +1,3 @@ .block-tease-row{ - @apply spacing-xl; + @apply mb-lg; } \ No newline at end of file diff --git a/src/assets/css/blocks/title.css b/src/assets/css/blocks/title.css index 01c030a..624a84f 100644 --- a/src/assets/css/blocks/title.css +++ b/src/assets/css/blocks/title.css @@ -1,6 +1,6 @@ .block-title{ - @apply spacing-base; - h1,h2,h3,h4,h5,h6{ + @apply mb-base; + h1,h2,h3,h4,h5,h6, p{ @apply text-size-2xl mb-0; + a{ @apply text-grey-300 text-size-lg shrink-0; @@ -16,19 +16,22 @@ @apply mt-16; } */ &--xs{ - h1,h2,h3,h4,h5,h6{ + h1,h2,h3,h4,h5,h6, p{ @apply text-size-base font-bold; } } &--sm{ - h1,h2,h3,h4,h5,h6{ + h1,h2,h3,h4,h5,h6, p{ @apply text-size-lg; } } &--lg{ - h1,h2,h3,h4,h5,h6{ + h1,h2,h3,h4,h5,h6, p{ @apply text-size-3xl; - } + } + } + &--spacing-xs{ + @apply mb-xs; } &--divider{ .block-title__inner{ @@ -38,7 +41,7 @@ &--link{ .block-title__inner{ @apply w-full lg:flex items-baseline justify-between; - h1,h2,h3,h4,h5,h6{ + h1,h2,h3,h4,h5,h6, p{ @apply mr-4; } } diff --git a/src/assets/css/components/breadcrumbs.css b/src/assets/css/components/breadcrumbs.css index 3731ab7..81c5e6c 100644 --- a/src/assets/css/components/breadcrumbs.css +++ b/src/assets/css/components/breadcrumbs.css @@ -20,4 +20,23 @@ } } } + &--spacing-2{ + @apply mb-lg; + } + @at-root body.has-primary-bg{ + .breadcrumbs{ + ul{ + li{ + a, span{ + @apply text-yellow-300; + } + &:last-child{ + span{ + @apply text-black; + } + } + } + } + } + } } \ No newline at end of file diff --git a/src/assets/css/components/card.css b/src/assets/css/components/card.css index 8fc2a0f..19e7f25 100644 --- a/src/assets/css/components/card.css +++ b/src/assets/css/components/card.css @@ -1,4 +1,4 @@ -.card{ +/* .card{ @apply relative bg-grey-100 p-4; &--black{ @apply bg-black; @@ -68,4 +68,109 @@ } } } +} */ + +.cards-container{ + @apply grid-container mb-base; + &__inner{ + @apply grid gap-[calc(var(--grid-gutter)*2)] grid-cols-1 md:grid-cols-2 xl:grid-cols-4; + &-squares{ + @apply max-xl:lg:grid-cols-3; + } + } + > p{ + @apply font-bold mb-4; + } +} + +.card{ + @apply bg-black text-yellow-100 xl:grid items-start grid-cols-2 relative; + p{ + @apply text-yellow-100; + } + a{ + @apply underline; + } + header{ + @apply mb-base xl:mb-0; + p{ + @apply text-size-md-lg mb-0; + &:first-child{ + @apply flex justify-between items-start; + a{ + @apply top-2 relative; + } + } + &:last-child:not(:first-child){ + @apply text-size-base; + } + } + } + > div{ + @apply xl:aspect-square p-[calc(var(--grid-gutter)*2)]; + &:first-child{ + @apply flex flex-col xl:h-full; + header{ + @apply grow; + } + &:last-child{ + grid-column: span 2; + } + } + &:last-child:not(:first-child){ + @apply flex items-end; + p{ + @apply mb-0; + } + } + } + &:not(.card--span){ + @apply aspect-square; + > div{ + } + } + &--span{ + @apply aspect-[2/1]; + @apply self-start; + @screen xl{ + align-self: inherit; + } + @screen xl{ + grid-column: span 2; + } + header{ + p:first-child{ + a{ + @apply xl:absolute xl:right-[calc(var(--grid-gutter)*2)] xl:top-7; + } + } + } + footer{ + @apply mb-base xl:mb-0; + p{ + @apply mb-0; + } + } + } + &--alt{ + @apply bg-yellow-200 text-black; + > p{ + @apply text-black; + } + &:hover{ + @apply bg-black text-yellow-100; + > p{ + @apply text-yellow-200; + } + } + } + &--mono{ + @apply flex items-end aspect-square p-[calc(var(--grid-gutter)*2)]; + > p{ + @apply text-size-lg mb-0; + + svg{ + @apply shrink-0 ml-3; + } + } + } } \ No newline at end of file diff --git a/src/assets/css/components/contacts-section.css b/src/assets/css/components/contacts-section.css index c6c16a0..9338652 100644 --- a/src/assets/css/components/contacts-section.css +++ b/src/assets/css/components/contacts-section.css @@ -3,7 +3,7 @@ .block-title{ &__inner{ a{ - @apply text-yellow-200; + @apply text-yellow-300; } } } diff --git a/src/assets/css/components/content-section.css b/src/assets/css/components/content-section.css index 24afecc..c84b9e1 100644 --- a/src/assets/css/components/content-section.css +++ b/src/assets/css/components/content-section.css @@ -1,6 +1,3 @@ .content-section{ - @apply mt-md lg:mt-lg; - &--noMargin{ - @apply mt-0; - } + @apply mb-md lg:mb-lg; } \ No newline at end of file diff --git a/src/assets/css/components/degree-curricula.css b/src/assets/css/components/degree-curricula.css index f090c25..60a7865 100644 --- a/src/assets/css/components/degree-curricula.css +++ b/src/assets/css/components/degree-curricula.css @@ -1,17 +1,5 @@ .degree-curricula{ - @apply bg-grey-100; - &__tabs{ - @apply lg:flex lg:flex-nowrap py-base text-size-lg; - button{ - @apply block text-grey-300; - &:not(:first-child){ - @apply lg:ml-2; - } - &.is-selected{ - @apply text-black; - } - } - } + @apply mb-0; } .degree-curriculum{ diff --git a/src/assets/css/components/footer.css b/src/assets/css/components/footer.css index 8ebd9d9..fcc1232 100644 --- a/src/assets/css/components/footer.css +++ b/src/assets/css/components/footer.css @@ -18,7 +18,7 @@ } } &__main{ - @apply grid gap-7.5 md:gap-y-12.5 grid-cols-1 md:grid-cols-2 xl:grid-cols-4; + @apply grid grid-cols-1 md:grid-cols-2 xl:grid-cols-4 gap-x-[calc(var(--grid-gutter)*2)]; > div{ p{ @apply text-size-sm md:text-size-base text-white mb-0; diff --git a/src/assets/css/components/header.css b/src/assets/css/components/header.css index 52a1a40..011a7db 100644 --- a/src/assets/css/components/header.css +++ b/src/assets/css/components/header.css @@ -40,10 +40,15 @@ &-navbar{ @apply h-12.5 xl:h-15 flex items-center bg-white; &__inner{ - @apply grid-container flex items-center justify-between; + @apply grid-container flex items-center justify-between xl:grid grid-cols-1 md:grid-cols-2 xl:grid-cols-4 gap-x-[calc(var(--grid-gutter)*2)]; +/* + @apply grid-container grid grid-cols-12 items-center justify-between gap-x-[calc(var(--grid-gutter)*2)]; */ } &__main{ - @apply xl:w-3/4 flex justify-between items-center; + @apply flex justify-between items-center; + @screen xl{ + grid-column: 2 / 5; + } nav{ @apply hidden xl:block; ul{ @@ -62,7 +67,7 @@ } &.is-toggled{ > a{ - @apply font-bold; + @apply underline; } } } @@ -82,7 +87,7 @@ } } &__title{ - @apply font-bold xl:w-1/4; + @apply font-bold; } &-submenu{ li{ diff --git a/src/assets/css/components/index.css b/src/assets/css/components/index.css index 6951e1a..e753036 100644 --- a/src/assets/css/components/index.css +++ b/src/assets/css/components/index.css @@ -10,6 +10,7 @@ @import "footer.css"; @import "hamburger.css"; @import "header.css"; +@import "inputs.css"; @import "logo.css"; @import "marquee-images.css"; @import "marquee-posts-row.css"; diff --git a/src/assets/css/components/inputs.css b/src/assets/css/components/inputs.css new file mode 100644 index 0000000..2db3350 --- /dev/null +++ b/src/assets/css/components/inputs.css @@ -0,0 +1,70 @@ +.input{ + &__label{ + @apply font-bold mb-3.75 block; + } + &__field{ + @apply border-y border-black relative; + input, select{ + @apply w-full appearance-none bg-transparent h-9 text-grey-500; + &:-webkit-autofill{ + -webkit-box-shadow: 0 0 0 30px white inset !important; + &:hover, &:focus, &:active{ + -webkit-box-shadow: 0 0 0 30px white inset !important; + } + }, + &[type="search"]{ + &:focus{ + @apply text-black; + } + &::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, + &::-webkit-search-results-decoration { + @apply hidden; + } + } + } + &::after{ + content: ''; + background-image: url("data:image/svg+xml,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 37 37'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='m18.504 21.319 5.66-5.241.68.733-6.34 5.87-6.34-5.87.68-.733 5.66 5.24Z' fill='%23000'/%3E%3C/svg%3E"); + @apply absolute right-0 top-0 bg-no-repeat bg-contain w-9 h-9 pointer-events-none; + } + &.is-filled{ + input,select{ + @apply text-black; + } + .input__clear{ + @apply block; + } + } + } + &__search{ + &::after{ + background-image: url("data:image/svg+xml,%3Csvg width='37' height='37' viewBox='0 0 37 37' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16.5 24C20.6421 24 24 20.6421 24 16.5C24 12.3579 20.6421 9 16.5 9C12.3579 9 9 12.3579 9 16.5C9 20.6421 12.3579 24 16.5 24ZM16.5 25C21.1944 25 25 21.1944 25 16.5C25 11.8056 21.1944 8 16.5 8C11.8056 8 8 11.8056 8 16.5C8 21.1944 11.8056 25 16.5 25Z' fill='black'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M22.8555 22.1465L29.3555 28.6465L28.6484 29.3536L22.1484 22.8536L22.8555 22.1465Z' fill='black'/%3E%3C/svg%3E%0A"); + } + } + &__clear{ + background-image: url("data:image/svg+xml,%3Csvg width='37' height='37' viewBox='0 0 37 37' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M24.8607 12.8432L12.8399 24.8641L12.1328 24.157L24.1536 12.1361L24.8607 12.8432Z' fill='black'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12.8425 12.1368L24.8634 24.1576L24.1562 24.8647L12.1354 12.8439L12.8425 12.1368Z' fill='black'/%3E%3C/svg%3E"); + @apply hidden absolute w-9 h-9 right-9 top-0 bg-contain; + &::after{ + content: ''; + @apply absolute right-0 top-1.5 w-px h-6 bg-grey-400; + } + } + @at-root :where(body.has-primary-bg) .input{ + &__field{ + input, select{ + @apply text-yellow-300 placeholder-yellow-300; + &:-webkit-autofill{ + -webkit-box-shadow: 0 0 0 30px theme(colors.yellow.100) inset !important; + &:hover, &:focus, &:active{ + -webkit-box-shadow: 0 0 0 30px theme(colors.yellow.100) inset !important; + } + } + } + } + &__clear{ + &::after{ + @apply bg-yellow-300; + } + } + } +} \ No newline at end of file diff --git a/src/assets/css/components/tease.css b/src/assets/css/components/tease.css index e049a45..70885c3 100644 --- a/src/assets/css/components/tease.css +++ b/src/assets/css/components/tease.css @@ -10,10 +10,10 @@ .tease{ &__title{ - @apply text-size-xl mb-[var(--size-ratio-base)]; + @apply text-size-xl mb-0; } &__img{ - @apply aspect-[3/2] mb-[var(--size-ratio-base)]; + @apply aspect-[3/2]; img{ @apply w-full h-full object-cover object-top; } diff --git a/src/assets/css/page/archive-degrees.css b/src/assets/css/page/archive-degrees.css index ffe03e2..9f7c2f6 100644 --- a/src/assets/css/page/archive-degrees.css +++ b/src/assets/css/page/archive-degrees.css @@ -4,7 +4,7 @@ @apply text-lg md:text-xl-md xl:text-2xl; } .block-grid-list{ - @apply mt-lg; + @apply mt-md; } a.block-link{ @apply mt-md; diff --git a/src/assets/css/page/index.css b/src/assets/css/page/index.css index ce78458..dffaac9 100644 --- a/src/assets/css/page/index.css +++ b/src/assets/css/page/index.css @@ -1,4 +1,5 @@ @import "../utilities.css"; @import "archive-degrees.css"; @import "course.css"; -@import "degree.css"; \ No newline at end of file +@import "degree.css"; +@import "people.css"; \ No newline at end of file diff --git a/src/assets/css/page/people.css b/src/assets/css/page/people.css new file mode 100644 index 0000000..47145d9 --- /dev/null +++ b/src/assets/css/page/people.css @@ -0,0 +1,8 @@ +.person{ + &-info{ + @apply order-2 xl:order-1; + } + &-img{ + @apply mix-blend-multiply order-1 xl:order-2 mb-base xl:mb-0; + } +} \ No newline at end of file diff --git a/src/assets/css/utilities.css b/src/assets/css/utilities.css index 1d87f39..f26a15e 100644 --- a/src/assets/css/utilities.css +++ b/src/assets/css/utilities.css @@ -1,4 +1,24 @@ @import "tailwindcss/utilities"; @layer utilities{ - + .spacing-0{ + @apply mb-0; + } + .spacing-xs{ + @apply mb-xs; + } + .spacing-sm{ + @apply mb-sm; + } + .spacing-base{ + @apply mb-base; + } + .spacing-md{ + @apply mb-md; + } + .spacing-lg{ + @apply mb-lg; + } + .spacing-xl{ + @apply mb-xl; + } } \ No newline at end of file diff --git a/src/assets/img/post_type/contacts/people/mario-farina.jpg b/src/assets/img/post_type/contacts/people/mario-farina.jpg new file mode 100644 index 0000000..5357450 --- /dev/null +++ b/src/assets/img/post_type/contacts/people/mario-farina.jpg Binary files differ diff --git a/src/assets/img/post_type/corsi/progetti-lab-disegno-design.jpg b/src/assets/img/post_type/corsi/progetti-lab-disegno-design.jpg new file mode 100644 index 0000000..e2fea97 --- /dev/null +++ b/src/assets/img/post_type/corsi/progetti-lab-disegno-design.jpg Binary files differ diff --git a/src/assets/img/post_type/corsi/progetti-lab-visual-design.jpg b/src/assets/img/post_type/corsi/progetti-lab-visual-design.jpg new file mode 100644 index 0000000..5065afa --- /dev/null +++ b/src/assets/img/post_type/corsi/progetti-lab-visual-design.jpg Binary files differ diff --git a/src/assets/js/blocks/inputs.js b/src/assets/js/blocks/inputs.js new file mode 100644 index 0000000..1d03474 --- /dev/null +++ b/src/assets/js/blocks/inputs.js @@ -0,0 +1,37 @@ +window.addEventListener('load', (event) => { + + + const inputFields = document.querySelectorAll('.input') + + if (typeof(inputFields) == 'undefined' || inputFields == null) return + + function setInputFilled(event){ + const input = event.target + const wrapper = input.parentElement + input.value == '' ? wrapper.classList.remove('is-filled') : wrapper.classList.add('is-filled') + } + + function clearInput(event){ + const field = event.target.parentElement + let input = field.querySelector('.input__field-input') + if (input.tagName === 'INPUT') { + input.value = '' + } + if (input.tagName === 'SELECT') { + input.selectedIndex = 0 + } + field.classList.remove('is-filled') + } + + inputFields.forEach(inputField => { + let input = inputField.querySelector('.input__field input') + if (input == null || input == undefined) { + input = inputField.querySelector('.input__field select') + } + input.addEventListener('change', setInputFilled) + + let clear = inputField.querySelector('.input__field .input__clear') + clear.addEventListener('click', clearInput) + }) + +}) \ No newline at end of file diff --git a/src/assets/js/site.js b/src/assets/js/site.js index 2b34d72..cae4acc 100644 --- a/src/assets/js/site.js +++ b/src/assets/js/site.js @@ -1,5 +1,6 @@ import './blocks/accordion.js'; import './blocks/carousel.js'; +import './blocks/inputs.js'; import './blocks/marquee.js'; import './blocks/page-title-banner.js'; import './blocks/secondary-nav.js'; @@ -433,7 +434,7 @@ // if menu is open and press escape, toggle desktop or mobile menu // based on media query if (isEscape && menuIsOpen) { - toggleMenuSharedElements() + toggleMenuSharedElements(false) if (isDesktop.matches) { toggleDesktopMenu() } else { diff --git a/src/blocks/accordion.twig b/src/blocks/accordion.twig index 6df6d58..8bc8ee1 100644 --- a/src/blocks/accordion.twig +++ b/src/blocks/accordion.twig @@ -11,7 +11,7 @@ {% set threshold = block.content.items|length / 2 %}
{% endif %} - + {% for item in block.content.items %}
@@ -28,7 +28,7 @@
{# if accordion has columns #} - {% if multi_columns and loop.index == threshold %} + {% if multi_columns and loop.index == threshold|round %}
{% endif %} diff --git a/src/blocks/breadcrumbs.twig b/src/blocks/breadcrumbs.twig index dececcc..b720b06 100644 --- a/src/blocks/breadcrumbs.twig +++ b/src/blocks/breadcrumbs.twig @@ -6,7 +6,7 @@ {% set current_post = post_type[block.post_type].items[currentPost] %} {% endif %} -
diff --git a/src/blocks/files-list.twig b/src/blocks/files-list.twig index 514e7f6..bff47a5 100644 --- a/src/blocks/files-list.twig +++ b/src/blocks/files-list.twig @@ -4,7 +4,11 @@
-

Download

+ {% if block.content.label %} +

{{block.content.label}}

+ {% else %} +

Download

+ {% endif %}
{% else %} -
+
{% include "../layout/partials/picture.twig" with {"image": block.content.image } %}
{% endif %} diff --git a/src/blocks/subnav-columns.twig b/src/blocks/subnav-columns.twig new file mode 100644 index 0000000..66353cd --- /dev/null +++ b/src/blocks/subnav-columns.twig @@ -0,0 +1,16 @@ +
+ +
+ {% for item in block.content.items %} + {% if item.active %} +

{{item.text}}

+ {% endif %} + {% endfor %} +
+
\ No newline at end of file diff --git a/src/blocks/tabs.twig b/src/blocks/tabs.twig new file mode 100644 index 0000000..699cd33 --- /dev/null +++ b/src/blocks/tabs.twig @@ -0,0 +1,18 @@ +
+
+
+ {% for tab in block.content.tabs %} + + {% endfor %} +
+ {% for tab in block.content.tabs %} +
+ + {% for block in tab.inner_blocks %} + {% include './'~block.key~'.twig' with {'block': block } %} + {% endfor %} + +
+ {% endfor %} +
+
\ No newline at end of file diff --git a/src/blocks/tease-row.twig b/src/blocks/tease-row.twig index 80195dd..db4f96e 100644 --- a/src/blocks/tease-row.twig +++ b/src/blocks/tease-row.twig @@ -1,4 +1,4 @@ -
+
{% for group in block.content.featured %} {% set type = group.post_type %} diff --git a/src/layout/archive-contacts.twig b/src/layout/archive-contacts.twig new file mode 100644 index 0000000..1919832 --- /dev/null +++ b/src/layout/archive-contacts.twig @@ -0,0 +1,12 @@ +{% if paths_base == null %} + {% set paths_base = '../..' %} +{% endif %} + +{% extends "base.twig" %} + +{% block content %} + {% for block in post_type.pages[currentPage].blocks %} + {% include '../blocks/'~block.key~'.twig' with {'block': block } %} + {% endfor %} + {% block posts %}{% endblock %} +{% endblock %} diff --git a/src/layout/course-single.twig b/src/layout/course-single.twig index 3765857..ea2387e 100644 --- a/src/layout/course-single.twig +++ b/src/layout/course-single.twig @@ -10,7 +10,8 @@ {% set breadcrumbs_block = { "post_type": "courses", - "current_id": currentPost + "current_id": currentPost, + "classes": "breadcrumbs--spacing-2" } %} {% include '../blocks/breadcrumbs.twig' with {'block': breadcrumbs_block } %} @@ -30,23 +31,11 @@ %} {% include '../blocks/paragraph.twig' with {'block': course_block_content } %} {% endif %} - - {% include '../blocks/grid-list.twig' with {'block': course.course_info } %} - {% if course.course_modules %} - {% for module in course.course_modules %} -
-

{{module.title}}

- {% include '../blocks/grid-list.twig' with {'block': module.content } %} -
- {% endfor %} - {% endif %} + {% for block in course.blocks %} + {% include '../blocks/'~block.key~'.twig' with {'block': block } %} + {% endfor %} - - {% include '../blocks/accordion.twig' with {'block': course.course_accordion } %} - - {% include '../blocks/featured-content-columns.twig' with {'block': course.course_focus } %} - {# Contatti #} {% include '../blocks/contacts-section.twig' with {'block': course.course_contacts, 'id': 'contatti' } %} diff --git a/src/layout/degree-single.twig b/src/layout/degree-single.twig index aef4cb0..f9055b4 100644 --- a/src/layout/degree-single.twig +++ b/src/layout/degree-single.twig @@ -91,7 +91,7 @@ {# Tabs #} {% if degree.degree_tabs is not null %} -
+
{% include '../blocks/featured-tabs.twig' with {'block': degree.degree_tabs } %}
{% endif %} @@ -184,7 +184,7 @@
-
+
{% include '../blocks/featured-content-stacked.twig' with {'block': degree.degree_focus } %}
diff --git a/src/layout/page.twig b/src/layout/page.twig index 167ce64..162e0e5 100644 --- a/src/layout/page.twig +++ b/src/layout/page.twig @@ -2,8 +2,6 @@ {% set paths_base = '..' %} {% endif %} -{% set bodyClasses = 'page' %} - {% extends "base.twig" %} {% block content %} diff --git a/src/layout/partials/card.twig b/src/layout/partials/card.twig new file mode 100644 index 0000000..873e66c --- /dev/null +++ b/src/layout/partials/card.twig @@ -0,0 +1,33 @@ +
+
+
+

{{card.title}}

+ {% if card.subtitle %} +

{{card.subtitle}}

+ {% endif %} +
+
+ {% if card.info %} +

{{card.info}}

+ {% endif %} +
    + {% if card.email %} +
  • {{card.email}}
  • + {% endif %} + {% if card.phone %} +
  • {{card.phone}}
  • + {% endif %} + {% if card.links %} + {% for link in card.links %} +
  • {{link.name}}
  • + {% endfor %} + {% endif %} +
+
+
+ {% if card.text %} +
+

{{card.text}}

+
+ {% endif %} +
diff --git a/src/layout/partials/degree/curricula.twig b/src/layout/partials/degree/curricula.twig index 0803e20..272b8d4 100644 --- a/src/layout/partials/degree/curricula.twig +++ b/src/layout/partials/degree/curricula.twig @@ -1,12 +1,12 @@ -
-
+
+
+
+ {% for curriculum in degree.degree_curricula %} + + {% endfor %} +
{% for curriculum in degree.degree_curricula %} - - {% endfor %} -
- {% for curriculum in degree.degree_curricula %} -
-
+
{% set curriculum_marquee = { "key": "marquee-images", @@ -17,23 +17,23 @@ } %} {% include '../../../blocks/marquee-images.twig' with {'block': curriculum_marquee } %} -
-
- {{curriculum.excerpt}} -
-
- {% include '../../../blocks/grid-list.twig' with {'block': curriculum.info } %} -
- {{curriculum.content}} +
+ {{curriculum.excerpt}}
+
+ {% include '../../../blocks/grid-list.twig' with {'block': curriculum.info } %} +
+ {{curriculum.content}} +
+
+ + {% include './study-plan.twig' with { 'year_1': curriculum.study_plan[0], 'year_2': curriculum.study_plan[0], 'year_3': curriculum.study_plan[0], 'year_alt': curriculum.study_plan[0] } %} + + {% for block in curriculum.inner_blocks %} + {% include '../../../blocks/'~block.key~'.twig' with {'block': block } %} + {% endfor %} +
- - {% include './study-plan.twig' with { 'year_1': curriculum.study_plan[0], 'year_2': curriculum.study_plan[0], 'year_3': curriculum.study_plan[0], 'year_alt': curriculum.study_plan[0] } %} - - {% for block in curriculum.inner_blocks %} - {% include '../../../blocks/'~block.key~'.twig' with {'block': block } %} - {% endfor %} - -
- {% endfor %} + {% endfor %} +
\ No newline at end of file diff --git a/src/layout/partials/degree/study-plan.twig b/src/layout/partials/degree/study-plan.twig index 37c32cc..c969b2b 100644 --- a/src/layout/partials/degree/study-plan.twig +++ b/src/layout/partials/degree/study-plan.twig @@ -22,7 +22,8 @@ "title": "Primo anno", "inner_blocks": [ { - "key": "links-list-columns", + "key": "links-list", + "classes": "block-links-list--2cols", "content": { "list": year_1 } @@ -33,7 +34,8 @@ "title": "Secondo anno", "inner_blocks": [ { - "key": "links-list-columns", + "key": "links-list", + "classes": "block-links-list--2cols", "content": { "list": year_2 } @@ -44,7 +46,8 @@ "title": "Terzo anno", "inner_blocks": [ { - "key": "links-list-columns", + "key": "links-list", + "classes": "block-links-list--2cols", "content": { "list": year_3 } @@ -55,7 +58,8 @@ "title": "Attività non inserite in uno specifico anno di corso", "inner_blocks": [ { - "key": "links-list-columns", + "key": "links-list", + "classes": "block-links-list--2cols", "content": { "list": year_alt } diff --git a/src/layout/script-footer.twig b/src/layout/script-footer.twig index 9ecf5d9..b595cfa 100644 --- a/src/layout/script-footer.twig +++ b/src/layout/script-footer.twig @@ -1,4 +1,2 @@ - - - + diff --git a/src/layout/single-contacts.twig b/src/layout/single-contacts.twig new file mode 100644 index 0000000..71772be --- /dev/null +++ b/src/layout/single-contacts.twig @@ -0,0 +1,78 @@ +{% if paths_base == null %} + {% set paths_base = '../..' %} +{% endif %} + +{% extends "base.twig" %} + +{% set bodyClasses = 'page has-primary-bg' %} + +{% set post = post_type.people.items[currentPost] %} + +{% block content %} + + {% for block in post.blocks %} + {% include '../blocks/'~block.key~'.twig' with {'block': block } %} + {% endfor %} + +
+
+
+
+ {% include '../blocks/grid-list.twig' with {'block': post.people_info } %} +
+
+ {% include '../layout/partials/picture.twig' with {'image': post.image } %} +
+
+
+
+ +
+ {% include '../blocks/composition/composition-files-list.twig' with {'block': post.people_profile } %} +
+ +
+ {% include '../blocks/composition/composition-links-list.twig' with {'block': post.people_teaching } %} +
+ +
+ + {# Titolo #} + {% set related_degree_title = + { + "key": "title", + "tag": "h2", + "classes": "block-title--sm block-title--divider", + "content": { + "title": "Corsi di laurea di pertinenza" + } + } + %} + {% include '../blocks/title.twig' with {'block': related_degree_title } %} + + {# Query posts #} + {% set related_degree_cards = + { + "key": "car", + "tag": "h2", + "classes": "block-title--sm block-title--divider", + "content": { + "title": "Corsi di laurea di pertinenza" + } + } + %} +
+
+ {% for card in post.people_degrees.items %} + {% set title = post_type.degrees.items[card].title %} + +

{{post.people_degrees.base}} {{title}}

+ +
+ {% endfor %} +
+
+ +
+ +{% endblock %} diff --git a/src/pages/boilerplate.twig b/src/pages/boilerplate.twig index 167cee8..d21e9aa 100644 --- a/src/pages/boilerplate.twig +++ b/src/pages/boilerplate.twig @@ -1,4 +1,6 @@ {% set currentPage = 5 %} +{% set bodyClasses = 'page' %} + {% extends "../layout/page.twig" %} diff --git a/src/pages/contatti/persone.twig b/src/pages/contatti/persone.twig new file mode 100644 index 0000000..8054bd2 --- /dev/null +++ b/src/pages/contatti/persone.twig @@ -0,0 +1,17 @@ +{% set currentPage = 7 %} + +{% set bodyClasses = 'page has-primary-bg' %} + +{% extends "../../layout/archive-contacts.twig" %} + +{% block posts %} + +
+
+ {% for card in post_type.people.items|sortbylast('title') %} + {% include '../../layout/partials/card.twig' with {'card': card} %} + {% endfor %} +
+
+ +{% endblock %} diff --git a/src/pages/contatti/strutture.twig b/src/pages/contatti/strutture.twig new file mode 100644 index 0000000..e90a833 --- /dev/null +++ b/src/pages/contatti/strutture.twig @@ -0,0 +1,19 @@ +{% set currentPage = 6 %} + +{% set bodyClasses = 'page has-primary-bg' %} + +{% extends "../../layout/archive-contacts.twig" %} + +{% block posts %} + +
+
+ {% for card in post_type.buildings.items|sortby('title') %} + {% if card.title|startswith(i) %} + {% include '../../layout/partials/card.twig' with {'card': card} %} + {% endif %} + {% endfor %} +
+
+ +{% endblock %} diff --git a/src/pages/corsi-laurea/design.twig b/src/pages/corsi-laurea/design.twig deleted file mode 100644 index 2d27112..0000000 --- a/src/pages/corsi-laurea/design.twig +++ /dev/null @@ -1,4 +0,0 @@ -{% set currentPost = 1 %} - -{% extends "../../layout/degree-single.twig" %} - diff --git a/src/pages/corsi/laboratorio-disegno-design.twig b/src/pages/corsi/laboratorio-disegno-design.twig new file mode 100644 index 0000000..d098a44 --- /dev/null +++ b/src/pages/corsi/laboratorio-disegno-design.twig @@ -0,0 +1,3 @@ +{% set currentPost = 2 %} + +{% extends "../../layout/course-single.twig" %} \ No newline at end of file diff --git a/src/pages/corsi/laboratorio-visual-design.twig b/src/pages/corsi/laboratorio-visual-design.twig new file mode 100644 index 0000000..58e1f17 --- /dev/null +++ b/src/pages/corsi/laboratorio-visual-design.twig @@ -0,0 +1,3 @@ +{% set currentPost = 3 %} + +{% extends "../../layout/course-single.twig" %} \ No newline at end of file diff --git a/src/pages/sample-page.twig b/src/pages/sample-page.twig index d401648..ef3c6e9 100644 --- a/src/pages/sample-page.twig +++ b/src/pages/sample-page.twig @@ -1,4 +1,6 @@ {% set currentPage = 2 %} +{% set bodyClasses = 'page' %} + {% extends "../layout/page.twig" %} diff --git a/tailwind.config.js b/tailwind.config.js index 7826c8b..57ba739 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,7 +1,7 @@ const plugin = require('tailwindcss/plugin') module.exports = { - content: ['./src/**/*.twig'], + content: ['./build/**/*.html'], safelist: ['mt-12', 'mt-16', 'mt-20', 'mt-24', 'mt-32', 'mt-40', 'mb-16', 'mb-20', 'mb-24', 'mb-32', 'mb-40'], theme: { screens: { @@ -30,7 +30,8 @@ colors: { yellow: { 100: '#FFCC00', - 200: '#9E7F00' + 200: '#E5B700', + 300: '#9E7F00' }, white: '#FFFFFF', grey: { @@ -48,7 +49,6 @@ }, extend: { spacing: { - 'xxxl': '5rem', '3.75': '0.9375rem', '6.25': '1.5625rem', '7.5': '1.875rem',