Article Image
Article Image
read

Ho già un po’ scritto della mia simpatia per l’ambiente Jekyll in questo post. Tra le caratteristiche di Jekyll c’è la possibilità di poter usare dati direttamente in post e pagine web. L’unico vincolo come spiegato nelle istruzioni è che i file dei dati siano in formato CSV, YAML o JSON.

Un sito sviluppato con Jekyll può infatti contenere una cartella denominata “_data” all’interno della quale il sito stesso attinge a dati contenuti in file presenti nella folder, in particolare all’interno di pagine web si può addirittura usare direttamente i dati dei file!

E’ quindi possibile pensare di poter sviluppare servizi basati su dataset importandoli nella cartella _data del proprio sito e usare i dati direttamente nello sviluppo in modo tale che il sito web a cui lavorate sia direttamente popolato dai dati che state riusando. Sarà sufficiente importare i file di cui avete bisogno nella folder “_data” e usare i dati secondo le istruzioni di Jekyll. Ricordatevi ovviamente di rispettare i termini di riuso dei dati rispettando i crediti di chi li produce.

Fatta questa introduzione vi riporto un semplice caso d’uso che mi è venuto in mente e vi riporto come esempio. Ovviamente diamo per scontato che abbiate un minimo di dimestichezza nel costruire un sito con Jekyll. In caso contrario vi consiglio di leggervi queste mie note che vi permette di prendere dimestichezza con questo ambiente tramite Github e poi tornare al mio tutorial. Supponiamo di voler sviluppare un servizio web per la gestione della consegna e restituzione dei libri per le biblioteche di una città. Il comune di Prato rilascia in formato open questo dataset contenente l’elenco delle Biblioteche del mio comune con le informazioni di base di ciascuna. Come si vede il dataset è rilasciato in formato CSV che è uno dei formati “digeribili” da Jekyll. Una volta scaricato il dataset è quindi possibile inserirlo nella cartella _data dalla quale Jekyll preleva i dati. Fate attenziona al nome che date al file perchè sarà il nome della struttura dati che Jekyll assegnerà ai vostri dati.

Per usare i dati nel proprio sito web sarà a questo punto sufficiente usare la struttura site.data ovvero la struttura dove Jekyll memorizza i dati contenuti nella folder _data una volta che effettuate la costruzione del sito web con il comando bundle exec jekyll serve.

Supponiamo adesso di dove stampare la lista delle biblioteche presenti nella città e il relativo indirizzo in una pagina web. Vi basterà usare il seguente codice, dove la struttura site.data.puntidiinteressebiblioteche punta direttamente ai vostri dati importati.

Il codice viene renderizzato nella pagina web in questo modo.

  • Biblioteca dell'Archivio Fotografico Toscano (A.F.T.) : V.S.Caterina 17
  • Biblioteca del Centro per l'Arte Contemporanea L.Pecci CID/Arti : V.le Repubblica 277
  • Punto lettura Circoscrizione Est : V.le A.De Gasperi 69
  • Biblioteca di Scienze Geoambientali e Planetarie (ex IGT) : V.Galcianese 20/H
  • Istituto culturale e di documentazione Biblioteca A.Lazzerini : V.S.Chiara 24
  • Biblioteca del Convitto Nazionale Cicognini : P.za Collegio 12
  • Biblioteca musicale L.Bettarini della Scuola comunale di musica : V.S.Trinita 2
  • Punto lettura e prestito Ospedale Misericordia e Dolce : P.za Ospedale 2
  • Biblioteca Roncioniana : P.za S.Francesco 27
  • Biblioteca della Fondazione Teatro Metastasio : V.B.Cairoli 59
  • Centro di Documentazione La Nara : V.G.Verdi 19
  • Agenzia per le Politiche minorili e familiari : V.Roma 101
  • Biblioteca dell'Istituto di Studi Storici Postali : V.S.L.Mazzei 37
  • Biblioteca dell'Archivio di Stato di Prato : V.S.L.Mazzei 41
  • Biblioteca del Club Alpino Italiano - Sezione E. Bertini : V.Altopascio 8
  • Biblioteca dell'Istituto Internazionale di Storia Economica F.Datini : V.L.Muzzi 38
  • Biblioteca dell'Agenzia per il Turismo (A.P.T.) : P.za Duomo 8
  • Biblioteca del Seminario Vescovile : V.Seminario 28
  • Biblioteca dell'Archivio Storico Diocesano : V.Seminario 28
  • Centro di Studi e Documentazione del Centro di Solidarieta'  : Salita Cappuccini 1/A
  • Biblioteca Polo universitario Citta'  di Prato (PIN) : P.za G.Ciardi 25
  • Biblioteca della U.I.S.P. (Unione Italiana Sport per tutti) : V.G.Galeotti 32
  • Biblioteca comunale decentrata della Circoscrizione Nord : V.F.Corridoni 11
  • Biblioteca comunale decentrata della Circoscrizione Ovest : V.I.Del Lungo 12
  • Biblioteca del Centro di Scienze Naturali : V.Galceti 74
  • Centro di Documentazione della Deportazione e Resistenza : V.Cantagallo 250

Se poi si volesse creare ad esempio un link alla posizione geografica su mappa per ogni Biblioteca si puà fare uso di un semplice hyperlink ad Openstreetmap in questo modo.

Così da generare questo elenco.

E così via. Usando un minimo di programmazione Ruby (non troppa) un po’ di html e Markdown ci si può divertire a generare veri e propri post, pagine web o porzioni di pagine. Ovviamente più i dati sono ricchi più possibilità ci sono. Il vantaggio di lavorare in questo modo rispetto a scrivere direttamente i contenuti nel codice è che “la forma è staccata dalla sostanza” nel senso che il dataset è un file che potete aggiornare senza impatto con il vostro sito che si autorigenera automaticamente ogni volta aggiornerete il dataset. Potete anche pensare di aggiornare il dataset ogni volta l’organizzazione che lo produce ne farà un aggiornamento in questo modo se i dataset sono aggiornati il vostro sito sarà perfettamente allineato da essi.

Blog Logo

Matteo Tempestini


Published

Image

iltempe

io, me e tutto quello che vi posso dire

Back to Overview