{"id":23154,"date":"2023-10-05T18:13:34","date_gmt":"2023-10-05T16:13:34","guid":{"rendered":"https:\/\/www.nycwebdesign.eu\/webdesign\/contentlayer-i-contenuti-diventano-dati-per-le-web-app\/"},"modified":"2023-10-05T18:13:34","modified_gmt":"2023-10-05T16:13:34","slug":"contentlayer-i-contenuti-diventano-dati-per-le-web-app","status":"publish","type":"post","link":"https:\/\/www.nycwebdesign.eu\/webdesign\/contentlayer-i-contenuti-diventano-dati-per-le-web-app\/","title":{"rendered":"Contentlayer: i contenuti diventano dati per le Web App"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<p>Uno dei limiti dei Web framework moderni risiede nel fatto che essi non prevedono un metodo per il parsing dei contenuti. Si tratta di strumenti preziosi quando sono necessarie operazioni per il page routing e i processi di rendering ma la gestione dei contenuti \u00e8 molto spesso completamente a carico delle scelte dello sviluppatore. <strong>Contentlayer<\/strong> nasce per risolvere questo problema permettendo di lavorare in modo pi\u00f9 efficiente con i contenuti dei progetti Web based.<\/p>\n<h2 id=\"come-funziona-contentlayer\">Come funziona Contentlayer<\/h2>\n<p>Rilasciato sotto licenza Open Source ed ospitato su GitHub in un <a href=\"https:\/\/github.com\/contentlayerdev\/contentlayer\" target=\"_blank\" rel=\"nofollow noopener\">repository<\/a> dedicato, Contentlayer \u00e8 un tool che permette di validare e trasformare contenuti in dati <a href=\"https:\/\/www.html.it\/articoli\/introduzione-a-json\/\" target=\"_blank\" rel=\"noopener\">JSON<\/a> da importare nelle proprie applicazioni. <\/p>\n<p>Gli output generati sono <strong>type-safe<\/strong>, quindi prevengono gli errori che potrebbero essere prodotti dai tipi di dato utilizzati. Parliamo inoltre di una soluzione del tutto agnostica rispetto al framework di riferimento per l&#8217;utente. Questo significa che lo sviluppatore non dovr\u00e0 rinunciare al suo ambiente di lavoro preferito e potr\u00e0 anche utilizzare dei plugin appositamente pensati per l&#8217;integrazione con i framework pi\u00f9 diffusi.<\/p>\n<p><iframe loading=\"lazy\" title=\"Contentlayer Makes Working with Content Easy for Developers\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/58Pj4a4Us7A?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe><\/p>\n<p>Il processo di conversione dei contenuti avviene in modo incrementale. Se un contenuto ha subito una modifica Contentlayer riesce ad isolarla rispetto al resto del sorgente e ad inserire nell&#8217;output generato in precedenza soltanto la parte mancante. Il funzionamento di questo tool si basa interamente su <a href=\"https:\/\/www.html.it\/guide\/guida-javascript-di-base\/\" target=\"_blank\" rel=\"noopener\">JavaScript<\/a> e <a href=\"https:\/\/www.html.it\/guide\/guida-typescript\/\" target=\"_blank\" rel=\"noopener\">TypeScript<\/a>, per utilizzarlo non vi sar\u00e0 quindi la necessit\u00e0 di imparare un nuovo query language o leggere la documentazione di un&#8217;API. Contentlayer non fa altro che importare dei contenuti sotto forma di dati, generando tipi TypeScript.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.html.it\/app\/uploads\/2023\/10\/Contentlayer.png\" alt=\"\" width=\"1700\" height=\"1051\" class=\"alignnone size-full wp-image-468696\" srcset=\"https:\/\/www.html.it\/app\/uploads\/2023\/10\/Contentlayer.png 1700w, https:\/\/www.html.it\/app\/uploads\/2023\/10\/Contentlayer-300x185.png 300w, https:\/\/www.html.it\/app\/uploads\/2023\/10\/Contentlayer-600x371.png 600w, https:\/\/www.html.it\/app\/uploads\/2023\/10\/Contentlayer-1536x950.png 1536w\" sizes=\"(max-width: 1700px) 100vw, 1700px\"\/><\/p>\n<h2 id=\"da-next-js-a-contentlayer\">Da Next.js a Contentlayer<\/h2>\n<p>Contentlayer basa il suo funzionamento su <a href=\"https:\/\/nextjs.org\/\" target=\"_blank\" rel=\"nofollow noopener\">Next.js<\/a>, un <a href=\"https:\/\/www.html.it\/guide\/react-la-guida\/\" target=\"_blank\" rel=\"noopener\">React<\/a> Framework che permette di creare applicazioni Web full-stack estendendo (appunto) le feature di React e integrando tool JavaScript basati su Rust per velocizzare la fase di building. <\/p>\n<p>Next.js \u00e8 la soluzione ideale per chi desidera supportare il direct stream delle UI, \u00e8 compatibile con le componenti di React e supporta la ISR (<em>Incremental Static Regeneration<\/em>) per il caching e il rendering.<\/p>\n<div class=\"partial-newsletter\">\n<p>        <!-- newsletter first step --><\/p>\n<div id=\"newsletter_div\" class=\"bro--disabled newsletter__pass-a\">\n<p>Se vuoi aggiornamenti su su questo argomento  inserisci la tua email nel box qui sotto:<\/p>\n<p> <!-- <em>Contentlayer: i contenuti diventano dati per le Web App<\/em> --><\/p>\n<div class=\"newsletter__disclaimer\">\n<p>Compilando il presente form acconsento a ricevere le informazioni<br \/>\n                    relative ai servizi di cui alla presente pagina ai sensi<br \/>\n                    dell&#8217;<a href=\"https:\/\/www.html.it\/privacy-policy\" target=\"_blank\" rel=\"noopener\">informativa sulla privacy<\/a>.<\/p>\n<\/div><\/div>\n<p>        <!-- newsletter second step --><\/p>\n<p>        <!-- newsletter loader --><\/p>\n<p>        <!-- newsletter notice --><\/p><\/div>\n<p><span class=\"bm_post\" style=\"display:none\" data-domain=\"html.it\" data-author=\"Claudio Garau\" data-alias=\"Claudio Garau\" data-tipologia=\"edit\" data-custom=\"\" data-path=\"https:\/\/www.html.it\/magazine\/contentlayer-i-contenuti-diventano-dati-per-le-web-app\/\" data-postid=\"468679\" data-programs=\"\" data-subjects=\"\"\/><\/p><\/div>\n<p><br \/>\n<br \/><a href=\"https:\/\/www.html.it\/magazine\/contentlayer-i-contenuti-diventano-dati-per-le-web-app\/\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Uno dei limiti dei Web framework moderni risiede nel fatto che essi non prevedono un metodo per il parsing dei contenuti. Si tratta di strumenti preziosi quando sono necessarie operazioni per il page routing e i processi di rendering ma la gestione dei contenuti \u00e8 molto spesso completamente a carico delle scelte dello sviluppatore. Contentlayer&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_s2mail":""},"categories":[37],"tags":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.13 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Contentlayer: i contenuti diventano dati per le Web App - AGENZIA WEB Italia<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.nycwebdesign.eu\/webdesign\/contentlayer-i-contenuti-diventano-dati-per-le-web-app\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Contentlayer: i contenuti diventano dati per le Web App - AGENZIA WEB Italia\" \/>\n<meta property=\"og:description\" content=\"Uno dei limiti dei Web framework moderni risiede nel fatto che essi non prevedono un metodo per il parsing dei contenuti. Si tratta di strumenti preziosi quando sono necessarie operazioni per il page routing e i processi di rendering ma la gestione dei contenuti \u00e8 molto spesso completamente a carico delle scelte dello sviluppatore. Contentlayer...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.nycwebdesign.eu\/webdesign\/contentlayer-i-contenuti-diventano-dati-per-le-web-app\/\" \/>\n<meta property=\"og:site_name\" content=\"AGENZIA WEB Italia\" \/>\n<meta property=\"article:published_time\" content=\"2023-10-05T16:13:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.html.it\/app\/uploads\/2023\/10\/Contentlayer.png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/contentlayer-i-contenuti-diventano-dati-per-le-web-app\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/contentlayer-i-contenuti-diventano-dati-per-le-web-app\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42\"},\"headline\":\"Contentlayer: i contenuti diventano dati per le Web App\",\"datePublished\":\"2023-10-05T16:13:34+00:00\",\"dateModified\":\"2023-10-05T16:13:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/contentlayer-i-contenuti-diventano-dati-per-le-web-app\/\"},\"wordCount\":390,\"publisher\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization\"},\"articleSection\":[\"News\"],\"inLanguage\":\"it-IT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/contentlayer-i-contenuti-diventano-dati-per-le-web-app\/\",\"url\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/contentlayer-i-contenuti-diventano-dati-per-le-web-app\/\",\"name\":\"Contentlayer: i contenuti diventano dati per le Web App - AGENZIA WEB Italia\",\"isPartOf\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#website\"},\"datePublished\":\"2023-10-05T16:13:34+00:00\",\"dateModified\":\"2023-10-05T16:13:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/contentlayer-i-contenuti-diventano-dati-per-le-web-app\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.nycwebdesign.eu\/webdesign\/contentlayer-i-contenuti-diventano-dati-per-le-web-app\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/contentlayer-i-contenuti-diventano-dati-per-le-web-app\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Contentlayer: i contenuti diventano dati per le Web App\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#website\",\"url\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/\",\"name\":\"AGENZIA WEB Italia\",\"description\":\"Web design Web agency Italia\",\"publisher\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization\",\"name\":\"Multimedia Web\",\"url\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-content\/uploads\/2016\/05\/multimediaweb1.png\",\"contentUrl\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-content\/uploads\/2016\/05\/multimediaweb1.png\",\"width\":200,\"height\":57,\"caption\":\"Multimedia Web\"},\"image\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g\",\"caption\":\"admin\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Contentlayer: i contenuti diventano dati per le Web App - AGENZIA WEB Italia","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.nycwebdesign.eu\/webdesign\/contentlayer-i-contenuti-diventano-dati-per-le-web-app\/","og_locale":"it_IT","og_type":"article","og_title":"Contentlayer: i contenuti diventano dati per le Web App - AGENZIA WEB Italia","og_description":"Uno dei limiti dei Web framework moderni risiede nel fatto che essi non prevedono un metodo per il parsing dei contenuti. Si tratta di strumenti preziosi quando sono necessarie operazioni per il page routing e i processi di rendering ma la gestione dei contenuti \u00e8 molto spesso completamente a carico delle scelte dello sviluppatore. Contentlayer...","og_url":"https:\/\/www.nycwebdesign.eu\/webdesign\/contentlayer-i-contenuti-diventano-dati-per-le-web-app\/","og_site_name":"AGENZIA WEB Italia","article_published_time":"2023-10-05T16:13:34+00:00","og_image":[{"url":"https:\/\/www.html.it\/app\/uploads\/2023\/10\/Contentlayer.png"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"admin","Tempo di lettura stimato":"2 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/contentlayer-i-contenuti-diventano-dati-per-le-web-app\/#article","isPartOf":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/contentlayer-i-contenuti-diventano-dati-per-le-web-app\/"},"author":{"name":"admin","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42"},"headline":"Contentlayer: i contenuti diventano dati per le Web App","datePublished":"2023-10-05T16:13:34+00:00","dateModified":"2023-10-05T16:13:34+00:00","mainEntityOfPage":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/contentlayer-i-contenuti-diventano-dati-per-le-web-app\/"},"wordCount":390,"publisher":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization"},"articleSection":["News"],"inLanguage":"it-IT"},{"@type":"WebPage","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/contentlayer-i-contenuti-diventano-dati-per-le-web-app\/","url":"https:\/\/www.nycwebdesign.eu\/webdesign\/contentlayer-i-contenuti-diventano-dati-per-le-web-app\/","name":"Contentlayer: i contenuti diventano dati per le Web App - AGENZIA WEB Italia","isPartOf":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#website"},"datePublished":"2023-10-05T16:13:34+00:00","dateModified":"2023-10-05T16:13:34+00:00","breadcrumb":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/contentlayer-i-contenuti-diventano-dati-per-le-web-app\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.nycwebdesign.eu\/webdesign\/contentlayer-i-contenuti-diventano-dati-per-le-web-app\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/contentlayer-i-contenuti-diventano-dati-per-le-web-app\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.nycwebdesign.eu\/webdesign\/"},{"@type":"ListItem","position":2,"name":"Contentlayer: i contenuti diventano dati per le Web App"}]},{"@type":"WebSite","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#website","url":"https:\/\/www.nycwebdesign.eu\/webdesign\/","name":"AGENZIA WEB Italia","description":"Web design Web agency Italia","publisher":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.nycwebdesign.eu\/webdesign\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization","name":"Multimedia Web","url":"https:\/\/www.nycwebdesign.eu\/webdesign\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/logo\/image\/","url":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-content\/uploads\/2016\/05\/multimediaweb1.png","contentUrl":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-content\/uploads\/2016\/05\/multimediaweb1.png","width":200,"height":57,"caption":"Multimedia Web"},"image":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42","name":"admin","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g","caption":"admin"}}]}},"_links":{"self":[{"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/posts\/23154"}],"collection":[{"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/comments?post=23154"}],"version-history":[{"count":0,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/posts\/23154\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/media?parent=23154"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/categories?post=23154"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/tags?post=23154"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}