Siti statici con Pelican ========================== :slug: pelican :status: published :subtitle: una nuova dimensione Realizzare un sito statico potrebbe sembrare complesso e anacronistico. Perchè mai dovresti pensare di realizzare un sito statico quando hai a disposizione diversi CMS gratuiti (WordPress, Drupal, Joomla, ecc.) con i quali puoi realizzare il tuo sito, ricco di funzioni, senza scrivere una riga di codice? Partiamo dall'inizio... Un sito statico NON fa per te se: ---------------------------------- #. non hai tempo/voglia di studiare ed imparare, #. devi realizzare un sito con funzioni complesse (ad es. e-commerce), #. devi realizzare un sito che richiede un'elevata interazione con i visitatori. Un sito statico potrebbe fare per te se: ---------------------------------------- #. devi realizzare un sito relativamente semplice (ad es. un blog), #. vuoi avere la possibilità di personalizzare il tuo sito fin nei minimi dettagli, #. vuoi che il tuo sito sia usufruibile anche da dispositivo mobile e, comunque, anche con una connessone di rete poco potente, #. hai voglia di imparare qualcosa di nuovo. Cosa non va nei CMS? --------------------- Non c'è nulla che non vada nei CMS, anzi, sono strumenti potentissimi che hanno permesso a tantissime persone di pubblicare sul web i loro contenuti. Però... come accadeva tanti anni fa con i primi editor HTML, la stessa cosa accade ora con i CMS. #. Essendo strutture ESTREMAMENTE complesse non potrai aggiungere funzionalità e, spesso, nemmeno modificare l'aspetto grafico senza avere ottime conoscenze del CMS in questione e del suo funzionamento, #. dipenderai da plugin di terzi che, spesso, ti troverai ad aggiungere per avere anche una minima funzionalità in più. Il tuo CMS arriverà molto presto a dipendere da numerosi plugin (anche decine): Ogni plugin è mantenuto spesso da volontari che ti 'garantiscono' la compatibilità con la versione del tuo CMS. Lo sviluppo dei plugin non è centralizzato e coordinato quindi potrebbe accadere che l'aggiornamento di un plugin molto semplice crei dei problemi ad un altro molto più complesso e utile. E se un giorno il plugin *xyz* venisse abbandonato e mai più aggiornato? #. il codice prodotto da un sitema automatico (per quanto perfezionato nel tempo) sarà quasi sempre MOLTO sovrabbondante. L'aggiunta dei vari plugin peggiorerà ancora di più la situazione, #. avrai un database che crescerà sempre di più e diventerà sempre più complesso. Ad ogni aggiornamento ti troverai con le dita incrociate sperando che vada tutto bene, #. i backup del database e del frontend saranno probabilmente fatti in automatico dal tuo provider ma se tu avessi bisogno di ripristinare qualcosa sei sicuro di sapere esattamente cosa fare? E se volessi provare una nuova funzione sul tuo PC? Insomma, io ho pensato che un sito statico facesse proprio al mio caso! ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ La realizzazione comporta veramente pochi passaggi. Per realizzare i contenuti di un sito statico (ovvero scrivere una pagina o un articolo) utilizzando uno Static Site Generator occorre scegliere tra due linguaggi di markup particolari: - `Markdown `_ - `reStructuredText `_ Io ho trovato il *reStructuredText* (che da qui in poi chiamerò **reST**) molto comodo e facile da imparare. Inoltre *reST* viene anche utilizzato dal progetto `Sphinx `_ che ho già avuto modo di utilizzare per scrivere la documentazione online di un software e che avevo preso inizialmente in considerazione per realizzare una intera sezione di questo sito. Sphinx è scritto in `Python `_ e, con lo stesso linguaggio, è stato scritto anche un SSG che si chiama `Pelican `_ e che io ho scelto per costruire il nuovo *mauriziopaglia.it* Quindi .. figure:: {static}/images/misc/Pelican_flusso.jpg :class: img-fluid img-article :alt: il flusso di Pelican Flusso di lavoro per la generazione di un sito statico con Pelican A prima vista può non sembrare semplicissimo ma ti assicuro che è enormemente più semplice della struttura e del funzionamento di un CMS. Dovrai imparare a programmare? ------------------------------- Diciamo che per fare cose molto semplici sarai costretto ad imparare veramente poco. Ad esempio, se trovi un tema di *Pelican* che ti piace lo puoi usare così com'è e dovrai solo inserire i contenuti. Per aggiungere qualche funzionalità e perfezionare la grafica dovrai studiare un po' di HTML e di CSS. La scrittura dei contenuti, invece, sarà estremamente semplice perchè - come ho già scritto qui sopra - *reST* è un linguaggio piuttosto semplice da imparare. In questo modo è possibile concentrarsi sul CONTENUTO perchè il sistema che avrete configurato si occuperà di formattare tutto in automatico. Senza distrazioni per la *forma* il contenuto ne trarrà vantaggio. Qui sotto troverai il link al file sorgente di questa pagina. `CLICCA QUI <{attach}pelican_source.txt>`_ e guarda quanto è facile scrivere un semplice contenuto usando *reST*!