<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Grav on Melabit</title>
    <link>https://static.233.196.69.159.clients.your-server.de/it/tags/grav/</link>
    <description>Recent content in Grav on Melabit</description>
    <generator>Hugo</generator>
    <language>it</language>
    <lastBuildDate>Wed, 03 Jul 2019 06:00:00 +0000</lastBuildDate>
    <atom:link href="https://static.233.196.69.159.clients.your-server.de/it/tags/grav/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Da melabit a melabit: conclusioni</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2019/07/03/da-melabit-a-melabit-conclusioni/</link>
      <pubDate>Wed, 03 Jul 2019 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2019/07/03/da-melabit-a-melabit-conclusioni/</guid>
      <description>&lt;p&gt;&lt;em&gt;&amp;ldquo;Dopo tutto questo parlare di hosting, domini, provider e cloud, si può sapere &lt;a href=&#34;https://melabit.wordpress.com/2018/04/16/da-melabit-a-melabit-introduzione/&#34;&gt;cosa hai deciso&lt;/a&gt; alla fine di fare per questo blog?&amp;rdquo;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Sono consapevole di &lt;a href=&#34;https://melabit.wordpress.com/2014/12/31/and-the-winner-is/&#34;&gt;contraddire&lt;/a&gt; quello che avevo scritto alcuni anni fa ma, dopo aver soppesato tutte le alternative, mi sono reso conto che la cosa migliore da fare in questo momento era cambiare il meno possibile, per cui ho deciso di  continuare ad usare WordPress, ospitato questa volta su una piattaforma di hosting tradizionale.&lt;/p&gt;&#xA;&lt;p&gt;Per ora niente generatori di siti statici come &lt;a href=&#34;https://jekyllrb.com&#34;&gt;Jekyll&lt;/a&gt; (che nonostante tutto continua a piacermi tantissimo), &lt;a href=&#34;https://getgrav.org&#34;&gt;Grav&lt;/a&gt; o &lt;a href=&#34;https://gohugo.io&#34;&gt;Hugo&lt;/a&gt;, niente CMS alternativi, magari più veloci ed efficienti di WordPress. Passare dalla &amp;ldquo;gabbia&amp;rdquo; dorata di &lt;a href=&#34;https://wordpress.com/&#34;&gt;Wordpress.com&lt;/a&gt; &amp;ndash; nella quale devo solo occuparmi di scrivere e a tutto il resto ci pensa &lt;a href=&#34;https://automattic.com/&#34;&gt;Automattic&lt;/a&gt; &amp;ndash; ad una piattaforma autogestita è già abbastanza complicato per volersi imbarcare in una transizione ancora più radicale. Qualche anno fa sarebbe stato più facile, ma in questo momento è un rischio che non voglio (e che non ho nemmeno il tempo di) correre.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://melabit.files.wordpress.com/2019/07/amador-loureiro-unsplash.jpg&#34; alt=&#34;&#34;&gt;&#xA;&amp;ndash; &lt;em&gt;Fonte: &lt;a href=&#34;https://unsplash.com/@amadorloureiroblanco&#34;&gt;Amador Loureiro&lt;/a&gt; su &lt;a href=&#34;https://unsplash.com&#34;&gt;Unsplash&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Senza dimenticare che negli ultimi tre anni ho avuto modo di sperimentare a fondo la stabilità e l&amp;rsquo;affidabilità di WordPress gestendo un sito (semi)professionale con un carico di lavoro nettamente superiore a quello prodotto da questo blog e con &lt;em&gt;editor&lt;/em&gt; multipli, interventi sul forum, un gran numero di utenti registrati, infinite richieste di supporto tecnico nonché (potevano mancare?) innumerevoli attacchi al sito. WordPress si è comportato benissimo, perché buttare via questa esperienza sul campo?&lt;/p&gt;&#xA;&lt;p&gt;Non nascondo di essere stato attratto a lungo dall&amp;rsquo;ipotesi &amp;ldquo;WordPress + Raspberry Pi&amp;rdquo;, mi intrigava moltissimo l&amp;rsquo;idea di gestire tutto autonomamente, ma poi ho deciso che &lt;a href=&#34;https://melabit.wordpress.com/2019/06/18/da-melabit-a-melabit-fare-da-se/&#34;&gt;il gioco non valeva la candela&lt;/a&gt; e ho lasciato perdere.&lt;/p&gt;&#xA;&lt;p&gt;Ormai è tutto pronto o quasi. Il nome c&amp;rsquo;è, l&amp;rsquo;hosting pure, ho anche scelto un tema nuovo e più adatto (spero!) a mostrare i contenuti disponibili, manca solo il tocco finale, la pressione del classico bottone di avvio. Se non ci sono imprevisti &lt;del&gt;luglio&lt;/del&gt; settembre dovrebbe essere il momento buono.&lt;/p&gt;&#xA;&lt;p&gt;Ma niente è per sempre e non è detto che, dopo aver completato questa prima transizione, non decida di farne un&amp;rsquo;altra più radicale adottando Jekyll, la piattaforma che considero ancora la più vicina al mio spirito di programmatore, seppur solo &lt;em&gt;part-time&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;h4 id=&#34;da-melabit-a-melabit-la-serie-completa-degli-articoli&#34;&gt;Da melabit a melabit, la serie completa degli articoli&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2018/04/16/da-melabit-a-melabit-introduzione/&#34;&gt;Da melabit a melabit: introduzione&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2018/05/21/da-melabit-a-melabit-la-scelta-dell-hosting/&#34;&gt;Da melabit a melabit: la scelta dell’hosting&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2018/06/19/da-melabit-a-melabit-la-scelta-del-dominio/&#34;&gt;Da melabit a melabit: la scelta del dominio&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2019/06/18/da-melabit-a-melabit-fare-da-se/&#34;&gt;Da melabit a melabit: fare da sé?&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2019/06/24/da-melabit-a-melabit-andare-sul-cloud/&#34;&gt;Da melabit a melabit: andare sul cloud&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2019/07/03/da-melabit-a-melabit-conclusioni/&#34;&gt;Da melabit a melabit: conclusioni&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
    </item>
    <item>
      <title>Da melabit a melabit: andare sul cloud</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2019/06/24/da-melabit-a-melabit-andare-sul-cloud/</link>
      <pubDate>Mon, 24 Jun 2019 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2019/06/24/da-melabit-a-melabit-andare-sul-cloud/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://melabit.files.wordpress.com/2019/06/daniel-falcao-418402-unsplash.jpg&#34; alt=&#34;&#34;&gt;&#xA;&amp;ndash; &lt;em&gt;Fonte: &lt;a href=&#34;https://unsplash.com/@danielsfalcao&#34;&gt;Daniel Falcão&lt;/a&gt; su &lt;a href=&#34;https://unsplash.com&#34;&gt;Unsplash&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Il &lt;em&gt;cloud computing&lt;/em&gt; è ovunque e ci sono decine di servizi diversi che ci permettono di usare un computer &lt;em&gt;virtuale&lt;/em&gt; situato da qualche parte nel mondo come se fosse il computer fisico che abbiamo sulla scrivania. In questo campo i grossi calibri sono &lt;a href=&#34;https://aws.amazon.com&#34;&gt;Amazon AWS&lt;/a&gt;, &lt;a href=&#34;https://cloud.google.com&#34;&gt;Google Cloud&lt;/a&gt;, &lt;a href=&#34;https://azure.microsoft.com&#34;&gt;Microsoft Azure&lt;/a&gt;, &lt;a href=&#34;https://www.openshift.com/&#34;&gt;Red Hat OpenShift&lt;/a&gt; (in rigoroso ordine alfabetico), ma ci sono anche i servizi offerti da fornitori di servizi di hosting come &lt;a href=&#34;https://it.siteground.com/cloud-hosting&#34;&gt;SiteGround&lt;/a&gt;, &lt;a href=&#34;https://www.dreamhost.com/cloud/&#34;&gt;DreamHost&lt;/a&gt; o &lt;a href=&#34;https://www.netsons.com&#34;&gt;Netsons&lt;/a&gt; oppure da &lt;em&gt;provider&lt;/em&gt; più orientati al mondo degli sviluppatori come &lt;a href=&#34;https://www.digitalocean.com/products/droplets&#34;&gt;Digital Ocean&lt;/a&gt;, &lt;a href=&#34;https://codenvy.com&#34;&gt;Codenvy&lt;/a&gt;, &lt;a href=&#34;https://www.heroku.com&#34;&gt;Heroku&lt;/a&gt;, &lt;a href=&#34;https://upcloud.com/&#34;&gt;UpCloud&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Descrivere tutto quello che fanno questi servizi è impossibile, le opzioni e le configurazioni sono tante e tanto diverse che cercare di orientarsi fra le varie possibilità fa letteralmente girare la testa (provate a districarvi nel sito di Amazon AWS e poi ditemi). Ma rimanendo a quello che ci interessa qui, tutti questi servizi mettono a disposizione un computer &lt;em&gt;virtuale&lt;/em&gt; ospitato sull&amp;rsquo;onnipresente cloud dove possiamo installare un sistema operativo (generalmente Linux) e tutte le applicazioni necessarie per realizzare il nostro sito web.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://melabit.files.wordpress.com/2019/06/debian-on-cloud1.png&#34; alt=&#34;&#34;&gt;&#xA;&lt;img src=&#34;https://melabit.files.wordpress.com/2019/06/debian-on-cloud2.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Anche in questo caso valgono &lt;a href=&#34;https://melabit.wordpress.com/2019/06/18/da-melabit-a-melabit-fare-da-se/&#34;&gt;considerazioni analoghe a quelle fatte una settimana fa per il Raspberry Pi&lt;/a&gt;, con l&amp;rsquo;ovvia differenza che ora non dobbiamo preoccuparci degli aspetti legati all&amp;rsquo;hardware, visto che la &lt;em&gt;macchina&lt;/em&gt; fisica e l&amp;rsquo;indirizzo IP sono forniti dal fornitore di servizi di cloud computing (in realtà la nostra macchina fisica non esiste nemmeno, il nostro computer virtuale sul cloud è solo un &lt;a href=&#34;https://www.html.it/pag/62783/docker-e-i-container/&#34;&gt;contenitore Docker&lt;/a&gt; ospitato insieme a mille altri su un server di un qualche datacenter).&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; A noi rimarranno comunque alcuni oneri importanti, come ad esempio quello di aggiornare e mantenere in sicurezza il sistema operativo e i pacchetti software che utilizziamo per realizzare il sito web.&lt;/p&gt;&#xA;&lt;p&gt;Ma oltre a non doverci preoccupare di gestire l&amp;rsquo;hardware, il vero vantaggio di ospitare il sito su un servizio di cloud computing è quello di essere liberi di utilizzare per il sito il software che preferiamo, senza i vincoli stabiliti dai normali fornitori di servizio di hosting che normalmente danno la possibilità di scegliere solo fra un certo numero di applicazioni predefinite, selezionate fra quelle più popolari.&lt;/p&gt;&#xA;&lt;p&gt;Se per il nostro sito vogliamo usare un CMS come Wordpress, Drupal, CMS Made Simple o Kirby non fa nessuna differenza, anzi un servizio di hosting tradizionale può essere preferibile perché ci permette di concentrarci sui contenuti, lasciando tutta la gestione del sito al fornitore del servizio di hosting. Ma se vogliamo utilizzare dei CMS meno diffusi come &lt;a href=&#34;https://ghost.org&#34;&gt;Ghost&lt;/a&gt; o &lt;a href=&#34;https://www.postleaf.org&#34;&gt;Postleaf&lt;/a&gt; oppure dei generatori di siti statici come &lt;a href=&#34;https://jekyllrb.com/&#34;&gt;Jekyll&lt;/a&gt;, &lt;a href=&#34;https://gohugo.io&#34;&gt;Hugo&lt;/a&gt;, &lt;a href=&#34;https://getgrav.org&#34;&gt;Grav&lt;/a&gt; o &lt;a href=&#34;https://hexo.io&#34;&gt;Hexo&lt;/a&gt;,&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; la soluzione &lt;em&gt;cloud&lt;/em&gt; ci offre una flessibilità impareggiabile, nettamente maggiore di quella offerta da un normale servizio di hosting.&lt;/p&gt;&#xA;&lt;p&gt;Tutto questo però ha un prezzo da pagare. Un servizio di hosting decente può costare anche solo qualche decina di euro all&amp;rsquo;anno, per usufruire di un computer (anche se solo virtuale) nel cloud la cifra da sborsare è nettamente maggiore, dell&amp;rsquo;ordine di almeno 20-30 euro al mese (con variazioni enormi fra le offerte dei diversi provider).&lt;/p&gt;&#xA;&lt;p&gt;Prima di scegliere fra hosting e cloud bisognerà quindi valutare realisticamente quello che vogliamo fare con il sito web (un blog personale è ben diverso da un sito di commercio elettronico), tenendo bene in conto dell&amp;rsquo;impegno richiesto per mantenerlo in &lt;em&gt;forma&lt;/em&gt; e delle competenze tecniche necessarie per gestire un servizio mediamente complesso come questo. Trascurare quest&amp;rsquo;ultimo punto in particolare potrebbe significare dover spendere cifre nettamente maggiori per rimediare ai problemi di configurazione, o peggio di sicurezza, che potrebbero danneggiare gravemente non solo il sito ma anche la nostra immagine. In questo campo i costi non sono solo quelli che si vedono sul cartellino del prezzo.&lt;/p&gt;&#xA;&lt;h4 id=&#34;da-melabit-a-melabit-la-serie-completa-degli-articoli&#34;&gt;Da melabit a melabit, la serie completa degli articoli&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2018/04/16/da-melabit-a-melabit-introduzione/&#34;&gt;Da melabit a melabit: introduzione&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2018/05/21/da-melabit-a-melabit-la-scelta-dell-hosting/&#34;&gt;Da melabit a melabit: la scelta dell’hosting&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2018/06/19/da-melabit-a-melabit-la-scelta-del-dominio/&#34;&gt;Da melabit a melabit: la scelta del dominio&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2019/06/18/da-melabit-a-melabit-fare-da-se/&#34;&gt;Da melabit a melabit: fare da sé?&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2019/06/24/da-melabit-a-melabit-andare-sul-cloud/&#34;&gt;Da melabit a melabit: andare sul cloud&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://melabit.wordpress.com/2019/07/03/da-melabit-a-melabit-conclusioni/&#34;&gt;Da melabit a melabit: conclusioni&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;Il nostro unico problema sarà quello di associare l&amp;rsquo;indirizzo IP al nome di dominio (ma in genere lo stesso fornitore del nome di dominio ci mette a disposizione gli strumenti per farlo da soli).&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:2&#34;&gt;&#xA;&lt;p&gt;Dei primi tre ne ho scritto parecchio anche qui, chi vuole può leggere i vecchi articoli su &lt;a href=&#34;https://melabit.wordpress.com/2015/05/28/grav-bello-ma-impossibile/&#34;&gt;Grav&lt;/a&gt;, &lt;a href=&#34;https://melabit.wordpress.com/2014/12/28/hugo-la-prova/&#34;&gt;Hugo&lt;/a&gt; e &lt;a href=&#34;https://melabit.wordpress.com/2014/12/31/and-the-winner-is/&#34;&gt;Jekyll&lt;/a&gt;.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item>
    <item>
      <title>Grav, bello ma impossibile</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2015/05/28/grav-bello-ma-impossibile/</link>
      <pubDate>Thu, 28 May 2015 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2015/05/28/grav-bello-ma-impossibile/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.koolinus.net/blog/&#34;&gt;KOoLiNuS&lt;/a&gt;, uno dei più attenti lettori di questo blog, mi ha suggerito di dare una occhiata a &lt;a href=&#34;http://getgrav.org/&#34;&gt;Grav&lt;/a&gt;, un moderno generatore di siti web statici,&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;follemente veloce, ridicolmente facile e favolosamente potente&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;L&amp;rsquo;ho provato per qualche giorno, con la prospettiva di verificare se potesse essere una alternativa a &lt;a href=&#34;http://jekyllrb.com/&#34;&gt;Jekyll&lt;/a&gt;, il generatore di siti web statici che &lt;a href=&#34;https://melabit.wordpress.com/2014/12/31/and-the-winner-is/&#34;&gt;ho deciso da tempo di usare&lt;/a&gt; per questo blog al posto di Wordpress (non chiedetemi però quando avverrà).&lt;/p&gt;&#xA;&lt;p&gt;Gli sviluppatori non esagerano, Grav è veramente bello e facile da usare.&lt;/p&gt;&#xA;&lt;p&gt;Mi piace in particolare la possibilità di scaricare dei siti preconfezionati, contenenti il sistema base, il tema grafico e alcuni plugin già configurati, che implementano i tipi più comuni di sito web, dal blog al sito di fotografie, dal sito di presentazione di un prodotto a quello di e-commerce.&lt;/p&gt;&#xA;&lt;h4 id=&#34;installazione-e-uso-di-grav&#34;&gt;Installazione e uso di Grav&lt;/h4&gt;&#xA;&lt;p&gt;Premessa: tutti gli esempi seguenti verranno eseguiti nella directory &lt;code&gt;Sites&lt;/code&gt;, contenuta nella &lt;a href=&#34;https://melabit.wordpress.com/le-parole-per-dirlo/&#34;&gt;Home&lt;/a&gt; dell&amp;rsquo;utente. Una volta creata questa directory dal Finder o dal Terminale, si noterà che l&amp;rsquo;icona della cartella ha impresso il simbolo di Safari. Per parecchie versioni di OS X infatti (fino a Lion se ricordo bene), &lt;code&gt;Sites&lt;/code&gt; è stata una delle directory predefinite presenti nella Home degli utenti di OS X.&#xA;Nonostante Apple abbia rimossa da tempo questa directory, io continuo a trovarla molto comoda per gestire dei siti web di prova.&lt;/p&gt;&#xA;&lt;p&gt;Grav può essere installato sia dalla linea di comando che scaricando un file zip contenente un sito già pronto e perfettamente funzionante.&lt;/p&gt;&#xA;&lt;p&gt;Nel primo caso, basta lanciare il Terminale, spostarsi nella directory Sites ed eseguire in sequenza i comandi&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&#x9;$ cd ~/Sites&#xA;&#x9;$ git clone https://github.com/getgrav/grav.git&#xA;&#x9;$ cd grav/&#xA;&#x9;$ bin/grav install&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;con i quali (1) si seleziona la directory di lavoro, (2) si scarica il codice di Grav dal &lt;a href=&#34;https://github.com/getgrav/grav&#34;&gt;sito del progetto&lt;/a&gt;, (3) ci si sposta nella directory &lt;code&gt;grav/&lt;/code&gt; del sito e (4) si installano  il tema grafico e i plugin predefiniti.&lt;/p&gt;&#xA;&lt;p&gt;Completata l&amp;rsquo;installazione, si può provare rapidamente che tutto funzioni eseguendo, sempre dalla directory &lt;code&gt;grav/&lt;/code&gt; il comando&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ php -S localhost:8000&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;e puntando il proprio browser all&amp;rsquo;indirizzo web&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;http://localhost:8000&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;per visualizzare in tutta la sua magnificenza grafica il sito web di default generato da Grav.&lt;/p&gt;&#xA;&lt;p&gt;Sinoti che il comando &lt;code&gt;php -S localhost:8000&lt;/code&gt; esegue un server web basilare integrato in &lt;a href=&#34;http://php.net/&#34;&gt;PHP&lt;/a&gt;, uno degli strumenti fondamentali per sviluppare applicazioni web, presente di default in OS X. Ovviamente nulla impedisce di usare al suo posto &lt;code&gt;apache&lt;/code&gt;, il principe dei server web, presente anch&amp;rsquo;esso di default in OS X. Purtroppo è diventato difficile convincere &lt;code&gt;apache&lt;/code&gt; ad usare la directory &lt;code&gt;~/Sites&lt;/code&gt; in aggiunta a quella predefinita, &lt;code&gt;/Library/WebServer/Documents/&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Fra tutte le directory contenute in Grav, la più importante è la directory &lt;code&gt;user/&lt;/code&gt;, che contiene le pagine del sito e i relativi plugin, temi e file di supporto.&lt;/p&gt;&#xA;&lt;p&gt;Le pagine del sito sono contenute in &lt;code&gt;user/pages/&lt;/code&gt; e sono scritte in &lt;a href=&#34;http://daringfireball.net/projects/markdown/&#34;&gt;Markdown&lt;/a&gt;, uno degli strumenti più interessanti per &lt;a href=&#34;https://melabit.wordpress.com/2015/03/31/markdown-online/&#34;&gt;scrivere testi per il web&lt;/a&gt;, che utilizza una sintassi molto più semplice e leggibile del classico codice &lt;a href=&#34;http://www.html.it/guide/guida-html/&#34;&gt;HTML&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Il modo più semplice per aggiungere una nuova pagina al sito è spostarsi nella directory &lt;code&gt;user/pages/&lt;/code&gt;&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;cd user/pages/&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;copiare la directory &lt;code&gt;01.home&lt;/code&gt; in, diciamo, &lt;code&gt;02.nuova_pagina&lt;/code&gt;&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;cp -p -r 01.home 02.nuova_pagina&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;e modificare opportunamente il contenuto del file &lt;code&gt;default.md&lt;/code&gt; presente all&amp;rsquo;interno della directory &lt;code&gt;02.nuova_pagina&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Il titolo della  pagina, definito nella intestazione del file &lt;code&gt;default.md&lt;/code&gt; verrà usato per aggiungere automaticamente una nuova voce al menu del sito web.&#xA;Il prefisso numerico associato al nome di ciascuna directory stabiliscono l&amp;rsquo;ordine con cui compaiono le pagine nel menu del sito.&lt;/p&gt;&#xA;&lt;p&gt;Se si vuole installare uno dei siti preconfezionati, bisogna invece scaricare &lt;a href=&#34;http://getgrav.org/downloads/skeletons&#34;&gt;il file zip relativo&lt;/a&gt; in ~/Sites/. Come già detto, contiene oltre al sistema base i plugin necessari ad implementare le funzionalità desiderate e il tema grafico previsto dagli sviluppatori per quel particolare tipo di sito web.&lt;/p&gt;&#xA;&lt;p&gt;Una volta scompattato il file zip e rinominata la directory generata con un nome più conveniente (in questi casi non c&amp;rsquo;è bisogno di essere troppo creativi, &lt;code&gt;grav&lt;/code&gt; va benissimo), basta spostarsi all&amp;rsquo;interno della directory del sito e lanciare il server web PHP&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ cd ~/Sites/grav&#xA;$ php -S localhost:8000&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;per attivare il nuovo sito web, visibile come già visto prima all&amp;rsquo;indirizzo&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;http://localhost:8000&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h4 id=&#34;aggiornamento-e-installazione-di-plugin-e-temi&#34;&gt;Aggiornamento e installazione di plugin e temi&lt;/h4&gt;&#xA;&lt;p&gt;Il comando di Terminale &lt;code&gt;gpm&lt;/code&gt; (grav package manager) permette di aggiornare il sistema e di installare i plugin e i temi di Grav. Il comando &lt;code&gt;gpm&lt;/code&gt; deve essere eseguito posizionandosi nella directory &lt;code&gt;grav/&lt;/code&gt; del sitoe specificando la directory &lt;code&gt;bin&lt;/code&gt; che contiene l&amp;rsquo;eseguibile.&lt;/p&gt;&#xA;&lt;p&gt;I principali comandi implementati in &lt;code&gt;gpm&lt;/code&gt; sono molto semplici:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ bin/gpm index&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;che mostra la lista completa dei plugin e dei temi disponibili,&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ bin/gpm info nome_plugin&#xA;$ bin/gpm install nome_plugin&#xA;$ bin/gpm uninstall nome_plugin&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;che permettono rispettivamente di ottenere informazioni, installare o disinstallare un particolare plugin o un tema di Grav.&lt;/p&gt;&#xA;&lt;p&gt;Inoltre il comando&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ bin/gpm self-upgrade&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;aggiorna Grav all&amp;rsquo;ultima versione disponibile, mentre&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ bin/gpm update&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;aggiorna i plugin o i temi già installati. Quest&amp;rsquo;ultimo può essere anche seguito dal nome del plugin (o del tema) da aggiornare.&lt;/p&gt;&#xA;&lt;h4 id=&#34;documentazione&#34;&gt;Documentazione&lt;/h4&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://learn.getgrav.org/&#34;&gt;La documentazione di Grav&lt;/a&gt; è fatta molto bene, anche se è piuttosto succinta e un po&amp;rsquo; carente nei dettagli.&lt;/p&gt;&#xA;&lt;p&gt;Purtroppo, data la relativa giovinezza del progetto, mancano ancora i tutorial online creati dagli utenti, che molte volte sono più utili della documentazione &amp;ldquo;ufficiale&amp;rdquo; per imparare ad usare un software come questo.&lt;/p&gt;&#xA;&lt;p&gt;Molte volte, infatti, i programmatori non riescono a spiegare al meglio il funzionamento dei software che sviluppano, si perdono in dettagli inutili e tralasciano gli aspetti fondamentali. Gli utenti finali sono spesso più bravi e, avendo imparato ad usare il software da zero, si rendono conto meglio delle difficoltà che si incontrano nell&amp;rsquo;uso quotidiano del programma.&lt;/p&gt;&#xA;&lt;h4 id=&#34;bello-ma-impossibile&#34;&gt;Bello ma impossibile&lt;/h4&gt;&#xA;&lt;p&gt;Tutto bene, allora? L&amp;rsquo;ho già detto, Grav è veramente bello e interessante, una opzione allettante se si vuole mettere su un nuovo sito web.&#xA;Ammetto che se partissi da zero potrei perfino considerare di usarlo al posto di Jekyll.&lt;/p&gt;&#xA;&lt;p&gt;Ma non lo farò.&lt;/p&gt;&#xA;&lt;p&gt;Innanzi tutto perché sono ormai andato troppo avanti con Jekyll, ho letto decine di articoli e di tutorial, ho una idea piuttosto chiara di quello che voglio fare e non mi va di buttare a mare il lavoro fatto finora.&lt;/p&gt;&#xA;&lt;p&gt;Inoltre Grav va benissimo finché si sta dentro i recinti stabiliti dagli sviluppatori. Ma comincia a mostrare di essere ancora piuttosto immaturo se si prova ad uscire, anche di poco, da questi recinti.&lt;/p&gt;&#xA;&lt;p&gt;La struttura delle directory e dei file che costituiscono un sito è troppo rigida.&#xA;Voglio creare una nuova pagina di un sito web statico? Devo andare in &lt;code&gt;user/pages/&lt;/code&gt; e aggiungere una directory con un nome qualunque, che deve però iniziare con un numero. In questa directory devo creare un file &lt;code&gt;default.md&lt;/code&gt; che contiene il testo della pagina e il cui titolo definisce la voce di menu del sito web associata alla pagina.&lt;/p&gt;&#xA;&lt;p&gt;Posso usare un&amp;rsquo;altro nome per il file al posto di  &lt;code&gt;default.md&lt;/code&gt;? Assolutamente no.&#xA;Come faccio se ho già una serie di file contenenti il testo delle pagine? Devo rinominarli uno ad uno e distribuirli in ciascuna delle directory numerate.&#xA;E se le pagine contengono già dei link che le collegano le une alle altre, non sarò mica obbligato a cambiare i link uno a uno? Probabilmente si.&lt;/p&gt;&#xA;&lt;p&gt;E se voglio aggiungere delle pagine statiche ad un blog già pronto, ad esempio il bellissimo &lt;a href=&#34;https://github.com/getgrav/grav-skeleton-notepad-site&#34;&gt;Notepad&lt;/a&gt;? Le pagine statiche devono andare in &lt;code&gt;user/pages/&lt;/code&gt;, quelle del blog in &lt;code&gt;user/blog/&lt;/code&gt;. Se provo ad aggiungere in &lt;code&gt;user/&lt;/code&gt; la directory &lt;code&gt;pages/&lt;/code&gt; contenente una o più pagine statiche, non c&amp;rsquo;è verso, continuerò comunque a vedere solo i post del blog.&lt;/p&gt;&#xA;&lt;p&gt;Perfino i plugin e i temi installati da Terminale nel 50% dei casi non funzionano, senza che Grav dia delle indicazioni utili per capire il perché.&lt;/p&gt;&#xA;&lt;p&gt;Sono sicuro che c&amp;rsquo;è un modo per superare questi problemi, ma io non ci sono riuscito e la documentazione non aiuta. Meglio aspettare che Grav maturi un po&#39;.&lt;/p&gt;&#xA;</description>
    </item>
  </channel>
</rss>
