Modifica di fogli di stile in un editor basato su browser: il progetto MarISAWiki Styles Tesi di Laurea di: Mariano Diasio Relatore: Prof. Fabio Vitali Correlatore: Dott. Angelo Di Iorio Sommario In questa presentazione parleremo di … Cosa sono i fogli di stile CSS L’ambiente collaborativo ISAWiki L’editorCSS MarISAWiki Styles Conclusioni e futuri sviluppi 22 marzo 2005 MarISAWiki Styles - Mariano Diasio 2 Cascading Style Sheets (CSS) Uno standard per specificare la rappresentazione visiva (CSS1) e sonora (CSS2 CSS2.1) di documenti (X)HTML. Insieme di regole, incorporate o esterne al documento, che definiscono come il browser deve visualizzare gli elementi della pagina. Principio fondamentale dei CSS: separazione della struttura del documento dalla sua rappresentazione grafica. Nel 1994 la prima stesura di Cascading HTML StyleSheets ad opera di Håkon Wium Lie. Idea: linguaggio stilistico capace di consentire la configurazione delle pagine web ad autore e utilizzatore h1 { font: 18px Helvetica; color: purple; background: acqua; CSS Specification: } CSS level 1 (W3C Rec. dic. 1996). Bert Bos, Håkon Wium Lie. CSS level 2 (W3C Rec. mag. 1998). Bert Bos, Chris Lilley, Ian Jacobs, Håkon Wium Lie. CSS level 2 revision 1 (W3C Rec. feb. 2004). Bert Bos, Tantek Çelik, Ian Hickson, Håkon Wium Lie. CSS level 3 ancora in fase di sviluppo. 22 marzo 2005 MarISAWiki Styles - Mariano Diasio 3 Il progetto ISAWiki ISAWiki è… Un ambiente ipertestuale collaborativo realizzato su Web che permette la condivisione e la modifica/creazione di pagine Web durante la navigazione. Caratteristiche di ISAWiki… Memorizzazione dei documenti mediante un meccanismo di versionamento Monitoraggio della navigazione dell’utente Separazione tra layout e contenuto Conversione e visualizzazione dei documenti in diversi formati (Doc, HTM, HTML, XML, Wiki, LaTeX) Possibilità di associare ad un documento layout diversi realizzati con strumenti di uso comune Possibilità di modificare il contenuto dei documenti attraverso un editor strutturato residente sul browser 22 marzo 2005 MarISAWiki Styles - Mariano Diasio 4 L’editorCSS MarISAWiki Styles Motivazione… Mancanza di un meccanismo, all’interno di ISAWiki, in grado di gestire la presentazione tipografica di pagine Web Scopo finale… Realizzare un editor che permetta la creazione e/o modifica di fogli di stile CSS durante la navigazione Caratteristiche dell’editorCSS… Semplicità: la creazione non necessita della conoscenza del linguaggio dei CSS ma il tutto avviene in modo grafico ed intuitivo, manipolando oggetti e pulsanti tramite il mouse. Browser-based: è un’applicazione a se stante, non richiede l’utilizzo di applicazioni aggiuntive ed opera direttamente nel browser. Strutturato: i tag gestiti e l’organizzazione dell’editor dipendono strettamente dal formato dati generico. 22 marzo 2005 MarISAWiki Styles - Mariano Diasio 5 Il formato dati generico E’ il “cuore” di ISAWiki e il maggior vincolo sulla struttura di MarISAWiki Styles. Rappresenta il contenuto vero e proprio del documento. Principio Classi di Elementi rigidi per struttura e aperti per etichetta L’editorCSS lavora sui soli tag HTML riconosciuti come elementi di tipo blocco e di tipo inline 22 marzo 2005 MarISAWiki Styles - Mariano Diasio 6 Elementi Blocco e Inline Blocco: Insieme di tutti gli elementi che iniziano e terminano con un line-break. Tag di tipo blocco gestiti dall’editorCSS MarISAWiki Styles: blockquote, caption, h1, h2, h3, h4, h5, h6, li, p, pre, sub, sup, td, th. Inline: Insieme di tutti gli elementi posti all’interno di un blocco e utilizzati per attribuire un significato particolare ad una porzione limitata di testo. Tag di tipo inline gestiti dall’editorCSS MarISAWiki Styles: a, span, b, i, em, strong. Altri tag gestiti dall’editorCSS… body 22 marzo 2005 MarISAWiki Styles - Mariano Diasio 7 Attivazione dell’editorCSS MarISAWiki Styles (1) Quando viene attivato… In fase di editing direttamente dall’editor ISAWiki In quale situazione… Editing di una pagina esistente Creazione di una pagina Web Cosa succede… Trasferimento di tutti i fogli di stile interni in un unico elemento contenitore <STYLE> all’interno del documento Recupero dei selettori di regola presenti all’interno dell’elemento <STYLE> Recupero di tutti i tag (X)HTML contenuti all’interno del documento e riconosciuti dal formato dati generico. Recupero delle etichette degli attributi class associate agli elementi menzionati nel punto precedente Creazione e recupero degli attributi id associati agli elementi contenenti dichiarazioni di stile locali (attributi inline style) Proiezione delle informazioni recuperate nella lista di selezione Selector Text 22 marzo 2005 MarISAWiki Styles - Mariano Diasio 8 Attivazione dell’editorCSS MarISAWiki Styles (2) Prima suddivisione… Predefined Tags: insieme dei tag predefiniti (hn) e delle etichette definite dall’utente User Styles: selettori, tag e classi presenti nel documento All Styles: insieme di tutti gli elementi presenti e non all’interno del documento Seconda suddivisione… Stili di blocco (colore nero) Stili inline (colore blu) Stili locali (colore verde) La selezione di un elemento comporta l’immediata apertura del pannello Stili CSS all’interno del quale vengono definite le proprietà dei fogli di stile CSS. 22 marzo 2005 MarISAWiki Styles - Mariano Diasio 9 Funzionalità dell’editorCSS L’editorCSS, tramite il pannello Stili CSS, permette di… Recuperare le regole di stile associate al selettore selezionato Aggiungere e rimuovere attributi di stile per una delle seguenti categorie: Tipo CSS Blocco di testo degli stili CSS Elementi di pagina degli stili CSS Bordo degli stili CSS Elenco degli stili CSS Posizione degli stili CSS Collegare le regole stilistiche appena modificate/create agli elementi del documento e visualizzare il risultato ottenuto Possibili tecniche di collegamento: inline style (stili locali) Embedding (fogli di stile incorporati) Eliminare una determinata regola di stile. 22 marzo 2005 MarISAWiki Styles - Mariano Diasio 10 Esempio di definizione degli attributi di stile 22 marzo 2005 MarISAWiki Styles - Mariano Diasio 11 Conclusioni e Sviluppi Futuri Punto di partenza… Possibilità di modificare direttamente dal browser parti di contenuto dei documenti della rete (editor ISAWiki). Punto di arrivo… Incremento delle funzionalità dell’editor ISAWiki. Realizzazione di un editor aggiuntivo capace di dare la possibilità all’utente di decidere la formattazione e la resa grafica degli elementi dei documenti della rete (editorCSS MarISAWikiStyles). Futuri sviluppi… Realizzazione di un’unica toolbar (fusione dei due editor). Completo supporto dei CSS2, CSS2.1 in attesa dello standard CSS3. Upload di immagini, file audio e video. Gestione di fogli di stile esterni al documento. Possibilità di salvare i fogli di stile direttamente sul server. Realizzazione di un editorCSS simile per il browser Mozilla. 22 marzo 2005 MarISAWiki Styles - Mariano Diasio 12