Sulla Programmazione

Quattro chiacchere sulla programmazione e sulle bit-tecnologie con Fabrizio Cipriani

Passando a Pelican

Era un pò che ero insoddisfatto di BlogEngine.Net, il motore che usavo per questo blog. La sua comunità non era più attiva come un tempo, e cercavo qualcosa di più agile e flessibile.

Dopo aver vagato su internet alla ricerca di una piattaforma "swiss knife" che contenesse tutte le funzionalità di cui un blogger avesse mai potuto aver bisogno, mi sono chiesto: ma perchè non un generatore di sito web statici?

I generatori di siti statici trasformamo un input in testo (tipicamente documenti scritti nei nuovi linguaggi di formattazione semplice del testo, come o Markdown o reStructuredText) in HTML statico, impiegando durante il processo filtri o template personalizzabilii. Rispetto alle piattaforme tradizionali, hanno come vantaggi migliori prestazioni, scalabilità, e sicurezza.

I generatori di siti web statici riscuotono ultimamente un certo successo, specialmente tra chi non si preoccupa di digitare un paio di comandi dalla shell del sistema operativo. A parte questo, l'installazione, la manutenzione e la pubblicazione dei nuovi articoli è una operazione sorprendentemente semplice. Una delle cose che mi infastidivano di più delle applicazioni per la gestione di siti dinamici come Blogengine.net, infatti era proprio l'inutile complessità e le perdite di tempo durante l'installazione dei plugin e negli upgrade della piattaforma, mentre con un generatore

Ho iniziato quindi a cercare in rete un generatore che si adattasse alle mie caratteristiche e alla fine la mia scelta è caduta su Pelican. Per quali motivi?

  1. Comunità attiva - nel momento in cui scrivo, l'ultimo aggiornamento del codice su GitHub è di 12 giorni fa, mentre il progetto ha quasi 1000 forks. Una comunità attiva significa aggiornamenti, correzioni, articoli, e un gruppo di entusiasti pronti a dissolvere i tuoi dubbi su newsgroups e blogs.

  2. Semplicità di installazione e configurazione - ho installato e configurato il blog in meno di mezzora, incluso il primo import degli articoli dal mio vecchio blog in Blogengine.net. Il Quick start presente nella documentazione di Pelican indica con semplicità come tirare su velocemente una prima versione del vostro blog.

  3. Supporto per il linguaggio Markdown - Markdown è il linguaggio di formattazione del testo nato nel 2004 per permettere alle persone di scrivere file testo facili da leggere, ma allo stesso tempo facilmente trasformabili in XHTML o HTML. Dopo averlo usato, è difficile non rimanere impressionati da quanto sia semplice scrivere un articolo, soprattutto dopo aver visto come il documento viene facilmente trasformato in una elegante pagina HTML.

  4. E' scritto in Python - Adoro Python. Scrivo e sperimento in Python oramai da qualche tempo, abbastanza da apprezzare quanto il codice sorgente di Pelican sia pulito, comprensibile ed efficiente.

  5. Flessibilità - In qualsiasi momento, gli articoli scritti in Markdown possono essere presi ed inseriti in altri motori blog che supportano quel formato. Le stesse pagine statiche generate da Pelican possono essere messe ovunque, dai Virtual Private Server a pagamento, a siti che offrono spazi gratuiti come GitHub.

  6. Stile - Gli stili disponibili per Pelican sono moderni, semplici, e responsive. Alcuni sono eleganti, mentre altri sono più pratici e spartani. Io ho scelto il porting in Pelican del tema di Octopress (un'altro generatore di siti statici in Python), nel quale mi piace il mix di eleganza, praticità e gradevolezza dell'interfaccia.

  7. Multi-lingua - Ultimo ma non meno importante, la possibilità di tradurre gli articoli in altre lingue, cosa non possibile con BlogEngine.net.

Fin qua tutto rose e fiori. Ma i lati negativi?

Il più evidente naturalmente è che non sono presenti funzionalità dinamiche, come ad esempio i commenti, un form di contatto, l'elaborazione delle statistiche, login e funzioni personalizzate per l'utente, etc.

Per alcune è possibile rivolgersi a provider esterni, come ad esempio ho fatto per i commenti aprendo un account Disquss.

Le altre sono veramente necessarie? In teoria no, lo scopo di un blog è fondamentalmente quello di pubblicare e discutere, le funzionalità dinamiche sono più utili nelle applicazioni complesse, come i CMS e i social games. I vantaggi della generazione statica per il momento sembrano di gran lunga superare la comodità dei moduli dinamici. Vedremo in futuro.

In ogni caso, almeno per il momento sono piuttosto soddisfatto della mia scelta (forse con l'unica eccezione del syntax highlighter).

La generazione dell'intero blog sul mio PC di sviluppo prende meno di quanto impiegava BlogEngine.Net a caricare una singola pagina e poi usare uno strumento nuovo è sempre divertente :)

Comments