{"id":73735,"date":"2023-10-11T15:22:03","date_gmt":"2023-10-11T14:22:03","guid":{"rendered":"https:\/\/kinsta.com\/it\/?p=73735&#038;preview=true&#038;preview_id=73735"},"modified":"2023-10-13T14:08:57","modified_gmt":"2023-10-13T13:08:57","slug":"vuepress","status":"publish","type":"post","link":"https:\/\/kinsta.com\/it\/blog\/vuepress\/","title":{"rendered":"Creare e personalizzare un sito blog e di documentazione veloce con VuePress"},"content":{"rendered":"<p>Nel frenetico panorama digitale di oggi, avere un sito di documentazione o un blog ben organizzato e visivamente accattivante \u00e8 essenziale per catturare l&#8217;attenzione del pubblico e tenerlo impegnato. Ma come ottenere questo risultato senza passare infinite ore a occuparsi dello <a href=\"https:\/\/kinsta.com\/web-development\/\">sviluppo web<\/a>?<\/p>\n<p>Questo articolo spiega come creare e personalizzare un sito di documentazione e blog veloce utilizzando VuePress, un <a href=\"https:\/\/docs.sevalla.com\/static-sites\/get-started\/static-site-generators\">generatore di siti statici<\/a> (SSG) minimalista ma potente.<\/p>\n<figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/10\/hugo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-105526 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/10\/vuepress-demo.gif\" alt=\"Documentazione e demo del blog VuePress\" width=\"1001\" height=\"471\"><\/a><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Demo della documentazione e del blog di VuePress.<\/figcaption><\/figure>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Cos&#8217;\u00e8 VuePress?<\/h2>\n<p>VuePress \u00e8 un framework <a href=\"https:\/\/kinsta.com\/it\/blog\/open-source-vs-closed-source\/\">open-source<\/a> specializzato nella creazione di siti web statici, principalmente orientati alla documentazione e al blogging. \u00c8 stato creato da <a href=\"https:\/\/github.com\/yyx990803\" target=\"_blank\" rel=\"noopener noreferrer\">Evan You<\/a>, il genio di <a href=\"https:\/\/kinsta.com\/it\/blog\/vue-js\/\">Vue.js<\/a>, e incarna la filosofia di semplicit\u00e0 e facilit\u00e0 d&#8217;uso per cui Vue.js \u00e8 noto.<\/p>\n<h3>Perch\u00e9 usare VuePress?<\/h3>\n<p>Ecco alcuni validi motivi per cui VuePress potrebbe essere la scelta perfetta per voi.<\/p>\n<ol start=\"1\">\n<li><strong>Semplicit\u00e0 del Markdown:<\/strong> VuePress semplifica la creazione di contenuti con Markdown, rendendo pi\u00f9 facile scrivere e strutturare i contenuti senza formattazioni complesse.<\/li>\n<li><strong>Integrazione con Vue.js:<\/strong> VuePress integra perfettamente Vue.js, consentendo di creare elementi web interattivi e dinamici per un&#8217;esperienza utente coinvolgente.<\/li>\n<li><strong>Prestazioni e personalizzazione:<\/strong> VuePress offre prestazioni eccellenti con siti web statici a caricamento rapido e ampie opzioni di personalizzazione per adattarsi al vostro stile e alle vostre esigenze.<\/li>\n<\/ol>\n<h2>Come iniziare con VuePress<\/h2>\n<p>Prima di immergervi in VuePress, assicuratevi di avere installato <a href=\"https:\/\/kinsta.com\/it\/argomenti\/node-js\/\">Node.js<\/a> o <a href=\"https:\/\/kinsta.com\/it\/blog\/strumenti-sviluppo-web\/#39-yarn\">Yarn Classic<\/a> sul computer. Ci sono due modi per iniziare con VuePress: utilizzare il <a href=\"https:\/\/github.com\/vuepressjs\/create-vuepress-site\/\" target=\"_blank\" rel=\"noopener noreferrer\">generatore create-vuepress-site<\/a>, che vi aiuter\u00e0 a creare la struttura di base del sito VuePress, oppure utilizzare l&#8217;installazione manuale.<\/p>\n<p>Per questo articolo, utilizzeremo il metodo di installazione manuale.<\/p>\n<ol start=\"1\">\n<li>Creiamo una nuova directory e modifichiamola:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">mkdir vuepress-starter && cd vuepress-starter<\/code><\/pre>\n<ol start=\"2\">\n<li>Inizializziamo con il nostro gestore di pacchetti preferito. Per questo articolo, usiamo Yarn:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">yarn init<\/code><\/pre>\n<ol start=\"3\">\n<li>Installiamo VuePress nel progetto come developer dependency:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">yarn add -D vuepress<\/code><\/pre>\n<ol start=\"4\">\n<li>Creiamo una cartella <strong>docs<\/strong> per contenere tutto il codice e poi creiamo un file <strong>README.md<\/strong>, che serve come file di indice del progetto, simile a <strong>index.html<\/strong>:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">mkdir docs && echo '# Hello VuePress' &gt; docs\/README.md<\/code><\/pre>\n<ol start=\"5\">\n<li>Apriamo il progetto in un editor di codice e aggiungiamo i seguenti script al file <strong>package.json<\/strong> in modo da poter servire e ed eseguire la build del sito:<\/li>\n<\/ol>\n<pre><code class=\"language-json\">\"scripts\": {\n    \"dev\": \"vuepress dev docs\",\n    \"build\": \"vuepress build docs\"\n  },<\/code><\/pre>\n<p>A questo punto possiamo servire il sito eseguendo il comando <code>yarn dev<\/code>. VuePress avvier\u00e0 il server di sviluppo all&#8217;indirizzo http:\/\/localhost:8080.<\/p>\n<figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/10\/hugo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-105526 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/10\/vuepress-default-theme.png\" alt=\"Tema predefinito per l'installazione manuale di VuePress\" width=\"1001\" height=\"471\"><\/a><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Tema predefinito per l&#8217;installazione manuale di VuePress.<\/figcaption><\/figure>\n<p>Abbiamo creato un sito di documentazione. Noterete che VuePress offre un tema predefinito pulito e minimalista. Tuttavia, \u00e8 altamente personalizzabile e vi d\u00e0 la libert\u00e0 di creare un aspetto unico per il vostro sito web.<\/p>\n<h2>Creare pagine di documentazione<\/h2>\n<p>VuePress segue una struttura di directory semplice per organizzare la documentazione. All&#8217;interno della cartella del progetto, troverete la cartella <strong>docs<\/strong> che abbiamo creato, dove potrete creare file <a href=\"https:\/\/kinsta.com\/it\/blog\/editor-di-markdown\/\">Markdown<\/a> (<code>.md<\/code>) per le vostre pagine di documentazione.<\/p>\n<p>Ad esempio, potete creare file come <strong>getting-started.md<\/strong>, <strong>usage.md<\/strong> e <strong>troubleshooting.md<\/strong>. Questi file diventano automaticamente dei percorsi a cui potrete accedere navigando su http:\/\/localhost:8080\/getting-started, http:\/\/localhost:8080\/usage e http:\/\/localhost:8080\/troubleshooting.<\/p>\n<p>Per migliorare l&#8217;organizzazione della documentazione, si possono creare delle cartelle dedicate alle pagine di documentazione correlate. Ad esempio, potreste creare una cartella chiamata <strong>guide<\/strong> e organizzarla con guide specifiche come <strong>using-kinsta-stsh.md<\/strong>. Se utilizzate questa struttura, il contenuto di <strong>using-kinsta-stsh.md<\/strong> diventa accessibile tramite un URL come http:\/\/localhost:8080\/guide\/using-kinsta-stsh.<\/p>\n<p>Potete anche creare un file <strong>README.md<\/strong> o <strong>index.md<\/strong> nella cartella principale <strong>guide<\/strong>. Questo file funger\u00e0 da pagina di indice, consentendo agli utenti di navigare verso http:\/\/localhost:8080\/guide\/ e di accedere comodamente ai contenuti con una barra laterale che impareremo a configurare nella prossima sezione.<\/p>\n<p>In questo <a href=\"https:\/\/github.com\/kinsta\/vuepress-starter-docs-blog\" target=\"_blank\" rel=\"noopener noreferrer\">repository di esempio di VuePress<\/a>, noterete che tutti questi file sono stati creati e che alcuni contenuti markdown sono stati aggiunti a ciascun file. Sentitevi liberi di creare i file in base alle vostre preferenze, sia partendo da zero per soddisfare le vostre esigenze specifiche sia ispirandovi ai contenuti disponibili nel repository.<\/p>\n<h2>Personalizzare l&#8217;aspetto di VuePress<\/h2>\n<p>Una volta creato il sito di documentazione con i contenuti, potreste trovare difficile la navigazione, soprattutto se avete molti file da gestire. Tuttavia, VuePress permette di personalizzare la struttura di navigazione del sito per renderlo pi\u00f9 semplice e organizzato.<\/p>\n<p>Per personalizzare l&#8217;aspetto e la navigazione del sito, create una cartella <strong>.vuepress<\/strong> nella directory principale del progetto. Questa cartella conterr\u00e0 i file di configurazione e le risorse relative al vostro sito VuePress.<\/p>\n<h3>Configurazione della navigazione<\/h3>\n<p>Nella cartella <strong>.vuepress<\/strong>, creiamo un file <strong>config.js<\/strong>. Potete anche utilizzare altri formati di file come YAML (.yml), TOML (.toml) o TypeScript (.ts) per la vostra configurazione.<\/p>\n<p>Nel file <strong>config.js<\/strong> potete definire la struttura di navigazione del sito utilizzando l&#8217;oggetto <code>themeConfig<\/code>. Ecco un esempio di configurazione:<\/p>\n<pre><code class=\"language-js\">module.exports = {\n    title: 'Kinsta Vuepress',\n    description: 'A VuePress QuickStart for Kinsta',\n    themeConfig: {\n        nav: [\n            {\n                text: 'Guide',\n                link: '\/guide\/',\n            },\n            {\n                text: 'Static Site Hosting',\n                link: 'https:\/\/sevalla.com\/static-site-hosting\/',\n            },\n        ],\n        sidebar: {\n            '\/guide\/': [\n                {\n                    title: 'Guide',\n                    collapsable: false,\n                    children: ['', 'using-kinsta-stsh'],\n                },\n            ],\n        },\n    },\n};<\/code><\/pre>\n<p>In questo esempio, stiamo configurando le sezioni <code>title<\/code> e <code>description<\/code> del sito, definendo i collegamenti di navigazione e impostando una barra laterale per la sezione <code>\/guide\/<\/code>.<\/p>\n<p>L&#8217;array <code>nav<\/code> specifica i link di navigazione nella parte superiore del sito. L&#8217;oggetto sidebar definisce la struttura della barra laterale per sezioni specifiche. In questo caso, \u00e8 configurato per la sezione <code>\/guide\/<\/code>.<\/p>\n<p>Potete leggere ulteriori informazioni sulla <a href=\"https:\/\/vuepress.vuejs.org\/theme\/default-theme-config.html#navbar\" target=\"_blank\" rel=\"noopener noreferrer\">configurazione della barra laterale<\/a> nella documentazione di VuePress.<\/p>\n<h3>Stilizzazione<\/h3>\n<p>VuePress permette di personalizzare l&#8217;aspetto del proprio sito attraverso gli stili. Potete sovrascrivere gli stili predefiniti utilizzando alcune variabili definite o definire il vostro stile. Per fare una di queste due cose, create una cartella <strong>styles<\/strong> nella cartella <strong>.vuepress<\/strong><\/p>\n<p>Per applicare semplici modifiche allo stile del preset predefinito o per definire alcune variabili da utilizzare in seguito, potete creare un file <strong>palette.styl<\/strong> in <strong>.vuepress\/styles<\/strong>. Queste sono alcune variabili predefinite che potete modificare:<\/p>\n<pre><code class=\"language-css\">\/\/ colors\n$accentColor = #5333ED\n$textColor = #2c3e50\n$borderColor = #eaecef\n$codeBgColor = #282c34\n$arrowBgColor = #ccc\n$badgeTipColor = #42b983\n$badgeWarningColor = darken(#ffe564, 35%)\n$badgeErrorColor = #DA5961\n\n\/\/ layout\n$navbarHeight = 3.6rem\n$sidebarWidth = 20rem\n$contentWidth = 740px\n$homePageWidth = 960px\n\n\/\/ responsive breakpoints\n$MQNarrow = 959px\n$MQMobile = 719px\n$MQMobileNarrow = 419px<\/code><\/pre>\n<p>Queste variabili possono essere utilizzate per mantenere uno stile coerente in tutto il sito. VuePress offre anche un modo pratico per aggiungere altri stili. Si pu\u00f2 creare un file <strong>index.styl<\/strong> nella cartella <strong>.vuepress\/styles<\/strong> dove utilizzare la normale <a href=\"https:\/\/kinsta.com\/it\/blog\/best-practice-css\/\">sintassi CSS<\/a>:<\/p>\n<pre><code class=\"language-css\">.content {\n  font-size 30px\n}<\/code><\/pre>\n<p>Per saperne di pi\u00f9 sullo <a href=\"https:\/\/vuepress.vuejs.org\/config\/#styling\" target=\"_blank\" rel=\"noopener noreferrer\">stile di VuePress<\/a>, consultate la documentazione ufficiale.<\/p>\n<h3>Usare i componenti<\/h3>\n<p>VuePress supporta l&#8217;uso di componenti per migliorare la funzionalit\u00e0 e l&#8217;aspetto delle vostre pagine. Potete creare componenti Vue e includerli nei vostri file Markdown. Create un componente components in <strong>.vuepres<\/strong> e tutti i file <code>*.vue<\/code> che si trovano in <strong>.vuepress\/components<\/strong> verranno automaticamente registrati come componenti globali.<\/p>\n<p>Ad esempio, consideriamo la creazione di due componenti, <strong>HomeOptions.vue<\/strong> e <strong>HostingBanner.vue<\/strong>:<\/p>\n<pre><code class=\"language-bash\">.\n\u2514\u2500 .vuepress\n   \u2514\u2500 components\n      \u251c\u2500 HomeOptions.vue\n      \u2514\u2500 HostingBanner.vue<\/code><\/pre>\n<p>All&#8217;interno di questi file di componenti vue.js, possiamo aggiungere codici CSS. Aggiungiamo il codice ai componenti <strong>HomeOptions.vue<\/strong> e <strong>HostingBanner.vue<\/strong>.<\/p>\n<p>Aggiungiamo il codice sottostante a <strong>HomeOptions.vue<\/strong>:<\/p>\n<pre><code class=\"language-js\">&lt;template&gt;\n    &lt;div class=\"options\"&gt;\n        &lt;div class=\"option\"&gt;\n            &lt;a\n                href=\"https:\/\/docs.sevalla.com\/templates\/overview\"\n                target=\"_blank\"\n            &gt;\n                &lt;h3&gt;Quick Start Examples&lt;\/h3&gt;\n            &lt;\/a&gt;\n            &lt;p&gt;Explore quick start examples for setting up static sites.&lt;\/p&gt;\n        &lt;\/div&gt;\n        &lt;div class=\"option\"&gt;\n            &lt;a\n                href=\"https:\/\/docs.sevalla.com\/static-sites\/overviewgetting-started-static-site-hosting\/\"\n                target=\"_blank\"\n            &gt;\n                &lt;h3&gt;Getting Started&lt;\/h3&gt;\n            &lt;\/a&gt;\n            &lt;p&gt;Learn how to get started with static site hosting.&lt;\/p&gt;\n        &lt;\/div&gt;\n        &lt;div class=\"option\"&gt;\n            &lt;a\n                href=\"https:\/\/docs.sevalla.com\/static-sites\/overviewmanage-static-sites\/\"\n                target=\"_blank\"\n            &gt;\n                &lt;h3&gt;Manage Static Sites&lt;\/h3&gt;\n            &lt;\/a&gt;\n            &lt;p&gt;Discover how to efficiently manage your static sites.&lt;\/p&gt;\n        &lt;\/div&gt;\n    &lt;\/div&gt;\n&lt;\/template&gt;\n\n&lt;style scoped&gt;\n    a {\n        color: #2c3e50;\n    }\n    a:hover {\n        color: #5333ed;\n    }\n    .options {\n        display: flex;\n        gap: 10px;\n        margin: 40px 0;\n    }\n    .option {\n        border: 2px solid #eaecef;\n        border-radius: 5px;\n        padding: 10px;\n    }\n&lt;\/style&gt;<\/code><\/pre>\n<p>Inoltre, aggiungiamo il codice sottostante a <strong>HostingBanner.vue<\/strong>:<\/p>\n<pre><code class=\"language-js\">&lt;template&gt;\n    &lt;div class=\"banner\"&gt;\n        &lt;p&gt;Host Your Static Site With Kinsta for Free!&lt;\/p&gt;\n        &lt;a\n            href=\"https:\/\/docs.sevalla.com\/static-sites\/overview\"\n            target=\"_blank\"\n            class=\"btn\"\n            &gt;Read More&lt;\/a\n        &gt;\n    &lt;\/div&gt;\n&lt;\/template&gt;\n\n&lt;style&gt; scoped&gt;\n    .banner {\n        background: rgb(156, 85, 34);\n        background: linear-gradient(\n            90deg,\n            rgba(156, 85, 34, 1) 0%,\n            rgba(32, 50, 103, 1) 42%,\n            rgba(13, 18, 25, 1) 69%,\n            rgba(22, 47, 60, 1) 100%\n        );\n        color: #fff;\n        padding: 20px;\n        border-radius: 5px;\n        display: flex;\n        justify-content: center;\n        align-items: center;\n        flex-direction: column;\n    }\n    .banner p {\n        width: 600px;\n        font-size: 40px;\n        font-weight: bold;\n        text-align: center;\n        line-height: 50px;\n    }\n    .banner .btn {\n        border-radius: 5px;\n        padding: 15px;\n        color: #1f1f1f;\n        font-weight: bold;\n        background: #fff;\n        display: inline-block;\n        margin-bottom: 10px;\n    }\n    .banner .btn:hover {\n        background: #111319;\n        color: #fff;\n    }\n&lt;\/style&gt;<\/code><\/pre>\n<p>All&#8217;interno di qualsiasi file Markdown, possiamo utilizzare direttamente i componenti (i nomi vengono dedotti dai nomi dei file):<\/p>\n<pre><code class=\"language-md\">&lt;HomeOptions\/&gt;\n&lt;HostingBanner\/&gt;<\/code><\/pre>\n<p>Per saperne di pi\u00f9 sui <a href=\"https:\/\/vuepress.vuejs.org\/guide\/using-vue.html#using-components\" target=\"_blank\" rel=\"noopener noreferrer\">componenti in VuePress<\/a>, consultate la documentazione.<\/p>\n<h3>Personalizzare la homepage<\/h3>\n<p>In VuePress, il tema predefinito offre un layout predefinito della homepage che potete utilizzare per creare un punto di partenza accattivante e informativo per il vostro sito. Per utilizzare questo layout della homepage, dovete specificare <code>home: true<\/code> e includere alcuni metadati aggiuntivi nel frontmatter YAML del file <strong>README.md<\/strong> principale.<\/p>\n<p>Ecco un esempio di frontmatter YAML:<\/p>\n<pre><code class=\"language-md\">---\nhome: true\nheroImage: \/hero.png\nheroText: Hero Title\ntagline: Hero subtitle\nactionText: Get Started \u2192\nactionLink: \/guide\/\nfeatures:\n- title: Simplicity First\n  details: Minimal setup with markdown-centered project structure helps you focus on writing.\n- title: Vue-Powered\n  details: Enjoy the dev experience of Vue + webpack, use Vue components in markdown, and develop custom themes with Vue.\n- title: Performant\n  details: VuePress generates pre-rendered static HTML for each page, and runs as an SPA once a page is loaded.\nfooter: MIT Licensed | Copyright \u00a9 2018-present Evan You\n---<\/code><\/pre>\n<p>Tutte queste configurazioni fanno s\u00ec che l&#8217;homepage della documentazione abbia l&#8217;aspetto seguente:<\/p>\n<figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/10\/hugo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-105526 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/10\/vuepress-default-homepage.png\" alt=\"Homepage predefinita di VuePress\" width=\"1001\" height=\"471\"><\/a><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Homepage predefinita di VuePress.<\/figcaption><\/figure>\n<p>Vale la pena notare che \u00e8 possibile disabilitare i valori <code>heroText<\/code> e <code>tagline<\/code> o qualsiasi altro valore impostando i campi corrispondenti a <code>null<\/code> se preferite un layout pi\u00f9 semplice o non includerlo. Qualsiasi contenuto incluso dopo il frontmatter YAML (cio\u00e8 la sezione dei metadati) sar\u00e0 trattato come un normale Markdown e sar\u00e0 reso dopo la sezione delle caratteristiche.<\/p>\n<p>Se desiderate un layout della homepage completamente personalizzato, VuePress supporta anche i layout personalizzati. Inoltre, potete creare un footer ricco di testo utilizzando la sintassi degli slot Markdown, che offre una maggiore flessibilit\u00e0 nella visualizzazione dei contenuti del footer. Ecco un esempio di come impostare un footer ricco di testo:<\/p>\n<pre><code class=\"language-md\">---\nhome: true\n---\n\n::: slot footer\nMade with \u2764\ufe0f by Kinsta. [Static Site Hosting](https:\/\/sevalla.com\/static-site-hosting\/)\n:::<\/code><\/pre>\n<p>In questo caso, il contenuto della sezione <code>::: slot footer<\/code> permette di includere link e informazioni aggiuntive nell&#8217;area del footer della homepage.<\/p>\n<p>Ora che abbiamo capito come eseguire le personalizzazioni di cui sopra, aggiungiamo i componenti creati in precedenza alla Homepage e rimuoviamo alcune opzioni per migliorare l&#8217;aspetto della Homepage:<\/p>\n<pre><code class=\"language-md\">---\nhome: true\ntagline: A VuePress QuickStart for Kinsta\nactionText: Quick Start \u2192\nactionLink: \/guide\/\n---\n\n&lt;HomeOptions\/&gt;\n&lt;HostingBanner\/&gt;\n\n::: slot footer\nMade with \u2764\ufe0f by Kinsta. [Static Site Hosting](https:\/\/sevalla.com\/static-site-hosting\/)\n:::<\/code><\/pre>\n<figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/10\/hugo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-105526 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/10\/vuepress-components-example.png\" alt=\"Utilizzare i componenti nella homepage di VuePress\" width=\"1001\" height=\"471\"><\/a><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Utilizzare i componenti nella homepage di VuePress.<\/figcaption><\/figure>\n<p>Seguendo queste tecniche di personalizzazione di VuePress, potrete creare un sito di documentazione che non solo fornisca contenuti di valore, ma che offra anche un&#8217;esperienza utente eccellente grazie a una navigazione organizzata e a uno stile accattivante.<\/p>\n<p>Potete leggere ulteriori informazioni sulla <a href=\"https:\/\/vuepress.vuejs.org\/theme\/default-theme-config.html\" target=\"_blank\" rel=\"noopener noreferrer\">personalizzazione del tema predefinito<\/a> nella documentazione.<\/p>\n<h2>Creare una sezione blog con VuePress<\/h2>\n<p>Aggiungere una sezione blog al vostro sito VuePress \u00e8 un gioco da ragazzi perch\u00e9 VuePress permette di scrivere componenti Vue personalizzati che possono essere inseriti in qualsiasi file Markdown. Creiamo un componente che restituir\u00e0 l&#8217;elenco dei post del blog.<\/p>\n<p>Creiamo un file <strong>BlogIndex.vue<\/strong> nella cartella <strong>components<\/strong> e aggiungiamo il seguente codice:<\/p>\n<pre><code class=\"language-js\">&lt;template&gt;\n    &lt;div&gt;\n        &lt;div v-for=\"post in posts\" v-bind:key=\"post.path\"&gt;\n            &lt;h2&gt;\n                &lt;router-link&gt; :to=\"post.path\"&gt;{{ post.frontmatter.title }}&lt;\/router-link&gt;\n            &lt;\/h2&gt;\n            &lt;p&gt;{{ post.frontmatter.description }}&lt;\/p&gt;\n            &lt;p&gt;&lt;router-link&gt; :to=\"post.path\"&gt;Read more&lt;\/router-link&gt;&lt;\/p&gt;\n        &lt;\/div&gt;\n    &lt;\/div&gt;\n&lt;\/template&gt;\n\n&lt;script&gt;&gt;\n    export default {\n        computed: {\n            posts() {\n                return this.$site.pages\n                    .filter(\n                        (x) =&gt; x.path.startsWith('\/blog\/') && !x.frontmatter.blog_index\n                    )\n                    .sort(\n                        (a, b) =&gt;\n                            new Date(b.frontmatter.date) - new Date(a.frontmatter.date)\n                    );\n            },\n        },\n    };\n&lt;\/script&gt;<\/code><\/pre>\n<p>Nel frammento di codice fornito, definiamo un modello Vue che scorre i post del blog utilizzando <code>v-for<\/code>, mostrando il titolo del post, la descrizione e un link &#8220;Leggi di pi\u00f9&#8221; per ogni post.<\/p>\n<p>La sezione script esporta un componente Vue che calcola e recupera i post del blog. Questi post vengono filtrati in base al loro percorso (che inizia con <code>\/blog\/<\/code>) e all&#8217;assenza di un attributo frontmatter <code>blog_index<\/code>. Vengono poi ordinati per data in ordine decrescente per presentare prima i post pi\u00f9 recenti.<\/p>\n<p>Quando creerete nuovi post sul blog, dovrete specificare la data del post come parte delle informazioni di frontmatter. Questo vi aiuter\u00e0 a ordinare i post in modo da far apparire per primi quelli pi\u00f9 recenti.<\/p>\n<p>Per archiviare i post del blog, creiamo una cartella denominata <strong>blog<\/strong> nella root del progetto. In questa cartella, aggiungiamo un file <strong>README.md<\/strong>. Questo sar\u00e0 l&#8217;indice del blog ed \u00e8 qui che includeremo il componente <code>BlogIndex<\/code> per elencare tutti i post del blog.<\/p>\n<pre><code class=\"language-md\">---\nblog_index: true\n---\n\n# Blog\n\nWelcome To Our Blog\n\n&lt;BlogIndex \/&gt;<\/code><\/pre>\n<p>Assicuratevi di aggiungere l&#8217;attributo <code>blog_index<\/code> frontmatter, in quanto \u00e8 fondamentale per garantire che l&#8217;indice del blog stesso non sia elencato tra i singoli post del blog. Questo attributo viene utilizzato per filtrare i post nella propriet\u00e0 posts computed del componente <strong>BlogIndex.vue<\/strong>.<\/p>\n<p>Quindi, creiamo una cartella blog nella root del progetto che memorizzer\u00e0 tutti i post del blog e creer\u00e0 ogni post. Ad esempio, creiamo un file <strong>first-post.md<\/strong> e aggiungiamo il seguente contenuto markdown:<\/p>\n<pre><code class=\"language-md\">---\ntitle: \"My Exciting VuePress Blog Journey\"\ndate: 2023-09-28\ndescription: \"Exploring VuePress, a versatile static site generator, and sharing my experiences along the way.\"\n---\n\n# My Exciting VuePress Blog Journey\n\nIn this inaugural blog post, I embark on an exciting journey with VuePress, a powerful static site generator that's perfect for creating documentation, blogs, and more. As I delve into the world of VuePress, I'll be sharing my experiences, insights, and tips on making the most out of this fantastic tool.<\/code><\/pre>\n<p>Per ogni post del blog, assicuratevi di definire le impostazioni essenziali del frontmatter, come il titolo del post, la data e altri metadati rilevanti. Questa organizzazione meticolosa garantisce che i post del blog siano presentati in modo coerente e che il vostro pubblico abbia un&#8217;esperienza di lettura avvincente.<\/p>\n<figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/10\/hugo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-105526 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/10\/using-blog-in-vuepress.png\" alt=\"Aggiungere un blog a VuePress\" width=\"1001\" height=\"471\"><\/a><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Aggiungere un blog a VuePress.<\/figcaption><\/figure>\n<p>Infine, potete aggiungere la navigazione del blog alla navbar nel file <strong>.vuepress\/config.js<\/strong>:<\/p>\n<pre><code class=\"language-js\">nav: [\n            {\n                text: 'Guide',\n                link: '\/guide\/',\n            },\n            { text: 'Blog', link: '\/blog\/' },\n            {\n                text: 'Static Site Hosting',\n                link: 'https:\/\/sevalla.com\/static-site-hosting\/',\n            },\n        ],<\/code><\/pre>\n<p>Potete fare molto di pi\u00f9 con VuePress, ad esempio <a href=\"https:\/\/vuepress.vuejs.org\/plugin\/using-a-plugin.html\" target=\"_blank\" rel=\"noopener noreferrer\">aggiungere dei plugin<\/a>, <a href=\"https:\/\/vuepress.vuejs.org\/theme\/using-a-theme.html\" target=\"_blank\" rel=\"noopener noreferrer\">utilizzare un tema separato<\/a> o addirittura <a href=\"https:\/\/vuepress.vuejs.org\/theme\/writing-a-theme.html\" target=\"_blank\" rel=\"noopener noreferrer\">creare un tema personale<\/a>.<\/p>\n<h2>Distribuire un sito statico VuePress su Kinsta<\/h2>\n<p>Kinsta vi permette di <a href=\"https:\/\/docs.sevalla.com\/static-sites\/overview\">ospitare fino a 100 siti web statici<\/a> <strong>gratuitamente<\/strong>. Potete farlo inviando il codice al vostro provider Git preferito (<a href=\"https:\/\/docs.sevalla.com\/applications\/git\/bitbucket#grant-access-to-the-kinsta-bitbucket-application\">Bitbucket<\/a>, <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/github#authenticate-and-authorize\">GitHub<\/a> o <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/gitlab#authorize-the-kinsta-gitlab-application\">GitLab<\/a>) e poi distribuendolo su Kinsta.<\/p>\n<p>Prima di inviare i vostri file a qualsiasi provider Git, create un <a href=\"https:\/\/kinsta.com\/it\/blog\/gitignore-non-funziona\/\">file .gitignore<\/a> nella root del progetto per specificare i file e le cartelle che Git deve ignorare quando invia il vostro codice:<\/p>\n<pre><code class=\"language-bash\"># dependencies\n\/node_modules\n\n# build directory\n.\/docs\/.vuepress\/dist\n\/public<\/code><\/pre>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Potete configurare un&#8217;altra posizione per la compilazione di VuePress SSG aggiungendo una destinazione in <strong>.vuepress\/config.js<\/strong> utilizzando <code>dest<\/code>, ad esempio <code>dest: 'public',<\/code>.<\/p>\n<\/aside>\n\n<p>Per questa guida utilizzeremo GitHub. Create un repository su GitHub per <a href=\"https:\/\/kinsta.com\/it\/blog\/come-inviare-codice-github\/\">inviare il codice sorgente<\/a>. Una volta che il repository sar\u00e0 pronto, seguite questi passaggi per distribuire il vostro sito statico su Kinsta:<\/p>\n<ol start=\"1\">\n<li>Accedete o create un account per visualizzare la vostra dashboard <a href=\"https:\/\/my.kinsta.com\/?lang=it\">MyKinsta<\/a>.<\/li>\n<li>Autorizzate Kinsta con il vostro provider Git.<\/li>\n<li>Cliccate su <strong>Siti statici<\/strong> nella barra laterale di sinistra e poi su <strong>Aggiungi sito<\/strong>.<\/li>\n<li>Selezionate il repository e il branch da cui desiderate effettuare il deploy.<\/li>\n<li>Assegnate un nome unico al vostro sito.<\/li>\n<li>Aggiungete le impostazioni di build nel seguente formato:\n<ul>\n<li><strong>Comando di build:<\/strong> <code>npm run build<\/code><\/li>\n<li><strong>Versione node:<\/strong> <code>16.20.0<\/code><\/li>\n<li><strong>Directory di pubblicazione:<\/strong> <code>.\/docs\/.vuepress\/dist<\/code> o <code>public<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"7\">\n<li>Infine, cliccate su <strong>Crea sito<\/strong>.<\/li>\n<\/ol>\n<p>E il gioco \u00e8 fatto! In pochi secondi avrete un sito distribuito. Viene fornito un link per accedere alla versione distribuita del vostro sito. In seguito potrete aggiungere il vostro <a href=\"https:\/\/docs.sevalla.com\/applications\/domains\">dominio personalizzato<\/a> e il vostro <a href=\"https:\/\/docs.sevalla.com\/applications\/domains#install-a-custom-ssl-certificate\">certificato SSL<\/a>, se lo desiderate.<\/p>\n<p>In alternativa all&#8217;Hosting di Siti Statici, potete scegliere di distribuire il vostro sito statico con l&#8217;<a href=\"https:\/\/sevalla.com\/application-hosting\/\">Hosting di Applicazioni<\/a> di Kinsta, che offre una maggiore flessibilit\u00e0 di hosting, una gamma pi\u00f9 ampia di vantaggi e l&#8217;accesso a funzioni pi\u00f9 robuste. Ad esempio, la scalabilit\u00e0, la distribuzione personalizzata tramite un file Docker e l&#8217;<a href=\"https:\/\/docs.sevalla.com\/applications\/analytics\">analisi completa<\/a> dei dati storici o in tempo reale.<\/p>\n<h2>Riepilogo<\/h2>\n<p>VuePress \u00e8 uno strumento versatile e potente per creare velocemente siti di documentazione e blog. Grazie alla sua semplice configurazione, ai temi e ai plugin personalizzabili, potrete creare una piattaforma informativa e visivamente accattivante per il vostro pubblico.<\/p>\n<p>Iniziate a creare il vostro sito VuePress oggi stesso e condividete le vostre conoscenze con il mondo intero grazie al nostro Hosting di Siti Statici gratuito!<\/p>\n<p><em>Avete utilizzato VuePress per creare qualcosa? Non esitate a condividere con noi i vostri progetti e le vostre esperienze nella sezione commenti qui sotto.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nel frenetico panorama digitale di oggi, avere un sito di documentazione o un blog ben organizzato e visivamente accattivante \u00e8 essenziale per catturare l&#8217;attenzione del pubblico &#8230;<\/p>\n","protected":false},"author":287,"featured_media":73736,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[25918,26238,25883],"class_list":["post-73735","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-framework-javascript","topic-generatore-siti-statici","topic-strumenti-di-sviluppo-web"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Crea un sito blog e di documentazione con VuePress - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Scopri come creare e personalizzare un sito di documentazione e blog con VuePress. Comincia subito a creare il tuo sito straordinario!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/it\/blog\/vuepress\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Creare e personalizzare un sito blog e di documentazione veloce con VuePress\" \/>\n<meta property=\"og:description\" content=\"Scopri come creare e personalizzare un sito di documentazione e blog con VuePress. Comincia subito a creare il tuo sito straordinario!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/it\/blog\/vuepress\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstaitalia\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-10-11T14:22:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-10-13T13:08:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/10\/vuepress-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Joel Olawanle\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Scopri come creare e personalizzare un sito di documentazione e blog con VuePress. Comincia subito a creare il tuo sito straordinario!\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/10\/vuepress-1.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@olawanle_joel\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joel Olawanle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/vuepress\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/vuepress\/\"},\"author\":{\"name\":\"Joel Olawanle\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\"},\"headline\":\"Creare e personalizzare un sito blog e di documentazione veloce con VuePress\",\"datePublished\":\"2023-10-11T14:22:03+00:00\",\"dateModified\":\"2023-10-13T13:08:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/vuepress\/\"},\"wordCount\":2203,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/vuepress\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/10\/vuepress-1.jpg\",\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/vuepress\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/vuepress\/\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/vuepress\/\",\"name\":\"Crea un sito blog e di documentazione con VuePress - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/vuepress\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/vuepress\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/10\/vuepress-1.jpg\",\"datePublished\":\"2023-10-11T14:22:03+00:00\",\"dateModified\":\"2023-10-13T13:08:57+00:00\",\"description\":\"Scopri come creare e personalizzare un sito di documentazione e blog con VuePress. Comincia subito a creare il tuo sito straordinario!\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/vuepress\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/vuepress\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/vuepress\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/10\/vuepress-1.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/10\/vuepress-1.jpg\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/vuepress\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Framework JavaScript\",\"item\":\"https:\/\/kinsta.com\/it\/argomenti\/framework-javascript\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Creare e personalizzare un sito blog e di documentazione veloce con VuePress\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/it\/#website\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluzioni di hosting premium, veloci e sicure\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/it\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstaitalia\/\",\"https:\/\/x.com\/Kinsta_IT\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\",\"name\":\"Joel Olawanle\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"caption\":\"Joel Olawanle\"},\"description\":\"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.\",\"sameAs\":[\"https:\/\/joelolawanle.com\/\",\"https:\/\/www.linkedin.com\/in\/olawanlejoel\/\",\"https:\/\/x.com\/olawanle_joel\",\"https:\/\/www.youtube.com\/@joelolawanle\"],\"gender\":\"male\",\"knowsAbout\":[\"JavaScript\",\"React\",\"Next.js\"],\"knowsLanguage\":[\"English\"],\"jobTitle\":\"Technical Editor\",\"worksFor\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/author\/joelolawanle\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Crea un sito blog e di documentazione con VuePress - Kinsta\u00ae","description":"Scopri come creare e personalizzare un sito di documentazione e blog con VuePress. Comincia subito a creare il tuo sito straordinario!","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:\/\/kinsta.com\/it\/blog\/vuepress\/","og_locale":"it_IT","og_type":"article","og_title":"Creare e personalizzare un sito blog e di documentazione veloce con VuePress","og_description":"Scopri come creare e personalizzare un sito di documentazione e blog con VuePress. Comincia subito a creare il tuo sito straordinario!","og_url":"https:\/\/kinsta.com\/it\/blog\/vuepress\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstaitalia\/","article_published_time":"2023-10-11T14:22:03+00:00","article_modified_time":"2023-10-13T13:08:57+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/10\/vuepress-1.jpg","type":"image\/jpeg"}],"author":"Joel Olawanle","twitter_card":"summary_large_image","twitter_description":"Scopri come creare e personalizzare un sito di documentazione e blog con VuePress. Comincia subito a creare il tuo sito straordinario!","twitter_image":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/10\/vuepress-1.jpg","twitter_creator":"@olawanle_joel","twitter_site":"@Kinsta_IT","twitter_misc":{"Scritto da":"Joel Olawanle","Tempo di lettura stimato":"15 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/it\/blog\/vuepress\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/blog\/vuepress\/"},"author":{"name":"Joel Olawanle","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07"},"headline":"Creare e personalizzare un sito blog e di documentazione veloce con VuePress","datePublished":"2023-10-11T14:22:03+00:00","dateModified":"2023-10-13T13:08:57+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/vuepress\/"},"wordCount":2203,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/vuepress\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/10\/vuepress-1.jpg","inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/it\/blog\/vuepress\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/it\/blog\/vuepress\/","url":"https:\/\/kinsta.com\/it\/blog\/vuepress\/","name":"Crea un sito blog e di documentazione con VuePress - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/vuepress\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/vuepress\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/10\/vuepress-1.jpg","datePublished":"2023-10-11T14:22:03+00:00","dateModified":"2023-10-13T13:08:57+00:00","description":"Scopri come creare e personalizzare un sito di documentazione e blog con VuePress. Comincia subito a creare il tuo sito straordinario!","breadcrumb":{"@id":"https:\/\/kinsta.com\/it\/blog\/vuepress\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/it\/blog\/vuepress\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/blog\/vuepress\/#primaryimage","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/10\/vuepress-1.jpg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/10\/vuepress-1.jpg","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/it\/blog\/vuepress\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/it\/"},{"@type":"ListItem","position":2,"name":"Framework JavaScript","item":"https:\/\/kinsta.com\/it\/argomenti\/framework-javascript\/"},{"@type":"ListItem","position":3,"name":"Creare e personalizzare un sito blog e di documentazione veloce con VuePress"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/it\/#website","url":"https:\/\/kinsta.com\/it\/","name":"Kinsta\u00ae","description":"Soluzioni di hosting premium, veloci e sicure","publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/it\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstaitalia\/","https:\/\/x.com\/Kinsta_IT","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07","name":"Joel Olawanle","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","caption":"Joel Olawanle"},"description":"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.","sameAs":["https:\/\/joelolawanle.com\/","https:\/\/www.linkedin.com\/in\/olawanlejoel\/","https:\/\/x.com\/olawanle_joel","https:\/\/www.youtube.com\/@joelolawanle"],"gender":"male","knowsAbout":["JavaScript","React","Next.js"],"knowsLanguage":["English"],"jobTitle":"Technical Editor","worksFor":"Kinsta","url":"https:\/\/kinsta.com\/it\/blog\/author\/joelolawanle\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/73735","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/users\/287"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/comments?post=73735"}],"version-history":[{"count":7,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/73735\/revisions"}],"predecessor-version":[{"id":73837,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/73735\/revisions\/73837"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/73735\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/73735\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/73735\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/73735\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/73735\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/73735\/translations\/jp"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/73735\/translations\/es"},{"href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/73735\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media\/73736"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media?parent=73735"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/tags?post=73735"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/topic?post=73735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}