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*!