{"id":7340,"date":"2020-04-16T14:14:55","date_gmt":"2020-04-16T12:14:55","guid":{"rendered":"https:\/\/www.rlieh.com\/blog\/?p=7340"},"modified":"2020-04-16T14:23:36","modified_gmt":"2020-04-16T12:23:36","slug":"back-to-static-wordpress-e-morto","status":"publish","type":"post","link":"https:\/\/www.rlieh.com\/blog\/2020\/04\/16\/back-to-static-wordpress-e-morto\/","title":{"rendered":"Back to static (WordPress e&#8217; morto)"},"content":{"rendered":"\n<p>Dopo tanti anni riesci a riconoscere se una applicazione oppure un servizio sono validi e\/ interessanti in breve tempo. Lo stesso vale a volte per alcuni film e soprattutto per alcuni videogiochi.<\/p>\n<p>In questo caso parliamo di un qualcosa che sembra portare l&#8217;evoluzione delle pagine web ad un passo indietro, ovvero passare dal dinamico allo statico.<\/p>\n<p>Ho installato <a href=\"https:\/\/www.gatsbyjs.org\/\">Gatsby<\/a> ed un solo plugin (ho letto due brevi tutorial). Ho lanciato la build del sito ed ho successivamente caricato il tutto via ftp (questa \u00e8 stata la fase al momento pi\u00f9 lunga e noiosa)<\/p>\n<p><strong>Ed ecco <a href=\"https:\/\/www.rlieh.com\/gatsby-rlieh\/summary\/\">Rlieh statico<\/a>: 4400 post in una sola pagina, 4400 cartelle (1.6MB di Summary contenente un riassunto di tutti i post)<\/strong><\/p>\n<p>Gatsby ti crea l&#8217;ambiente, il plugin si interessa a estrarre tutti i dati relativi ad un blog, con post, categorie, autori e tag e genera il suo store di dati in GraphQL (su cui mi soffermer\u00f2 in un secondo momento).\u00a0<\/p>\n<p>Praticamente mentre prima occorreva esportare tutti i post in xml o csv e reimportarli in un altro CMS (o piattaforma per blog) con o senza permessi, ora uno script fa tutto da solo e velocemente. E i gradi di libert\u00e0 che si hanno grazie a GraphQL sono spaventosi. Nel template di base di un post inserisci le informazioni che ti servono.\u00a0<\/p>\n<p>Una volta importati i post basta creare un template che mostri:<\/p>\n<ol>\n<li>una homepage contenente un estratto degli ultimi post<\/li>\n<li>un template minimale dedicato ad un post<\/li>\n<li>eventuali template per altri pagine\u00a0 statiche<\/li>\n<\/ol>\n<p>Vuoi aggiungere un campo in un secondo momento? Devi solo aggiungerlo alla query di GraphQL, lato markup puoi anche attivare il conditional rendering senza dover toccare una riga di codice.<\/p>\n<p>Cosa rimane da gestire? Essendo tutto statico (Gatsby genera un bundle contenente HTML, JS e CSS necessario), non esiste una interazione col server, quindi non \u00e8 possibile nativamente commentare un post.\u00a0<\/p>\n<p><strong>Open points<\/strong><\/p>\n<ul>\n<li>devo investigare: la ricerca e o i filtri (ma prevedo sia una attivit\u00e0 banale).<\/li>\n<li>plugin e\/o widget, oppure avere statistiche sulla navigazione<\/li>\n<li>come editare post esistenti? Al momento manca un backoffice per gli amministratori (manca proprio la multi utenza). Ma al contempo, come il buon Dread sponsorizza da tempo, tutto pu\u00f2 essere editato in markdown o anche meglio in MDX, laddove si volesse integrare contenuti in formati diversi (tipo una galleria con uno slider, lazy loading\u00a0 e popup modale)<\/li>\n<li>paginazione e ordinamento per la lista dei post<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Dopo tanti anni riesci a riconoscere se una applicazione oppure un servizio sono validi e\/ interessanti in breve tempo. Lo stesso vale a volte per alcuni film e soprattutto per alcuni videogiochi. In questo caso parliamo di un qualcosa che&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":true,"template":"","format":"standard","meta":{"footnotes":""},"categories":[200,17,1,318,295],"tags":[428,429],"class_list":["post-7340","post","type-post","status-publish","format-standard","hentry","category-internet-2","category-recensioni","category-senza-categoria","category-programmazione-2","category-tecnologia-2","tag-gatsby","tag-jamstack"],"_links":{"self":[{"href":"https:\/\/www.rlieh.com\/blog\/wp-json\/wp\/v2\/posts\/7340","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rlieh.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rlieh.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rlieh.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rlieh.com\/blog\/wp-json\/wp\/v2\/comments?post=7340"}],"version-history":[{"count":4,"href":"https:\/\/www.rlieh.com\/blog\/wp-json\/wp\/v2\/posts\/7340\/revisions"}],"predecessor-version":[{"id":7344,"href":"https:\/\/www.rlieh.com\/blog\/wp-json\/wp\/v2\/posts\/7340\/revisions\/7344"}],"wp:attachment":[{"href":"https:\/\/www.rlieh.com\/blog\/wp-json\/wp\/v2\/media?parent=7340"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rlieh.com\/blog\/wp-json\/wp\/v2\/categories?post=7340"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rlieh.com\/blog\/wp-json\/wp\/v2\/tags?post=7340"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}