{"id":70879,"date":"2023-10-11T16:21:17","date_gmt":"2023-10-11T14:21:17","guid":{"rendered":"https:\/\/kinsta.com\/es\/?p=70879&#038;preview=true&#038;preview_id=70879"},"modified":"2023-10-16T11:33:16","modified_gmt":"2023-10-16T09:33:16","slug":"vuepress","status":"publish","type":"post","link":"https:\/\/kinsta.com\/es\/blog\/vuepress\/","title":{"rendered":"Crea y Personaliza un Sitio de Documentaci\u00f3n y Blog R\u00e1pido con VuePress"},"content":{"rendered":"<p>En el acelerado panorama digital actual, tener un sitio de documentaci\u00f3n o blog bien organizado y visualmente atractivo es esencial para captar la atenci\u00f3n de tu audiencia y mantenerla interesada. Pero, \u00bfc\u00f3mo puedes conseguirlo sin dedicar interminables horas al <a href=\"https:\/\/kinsta.com\/web-development\/\">desarrollo web<\/a>?<\/p>\n<p>Este art\u00edculo explica c\u00f3mo crear y personalizar un sitio de documentaci\u00f3n y blog r\u00e1pido utilizando VuePress, un <a href=\"https:\/\/docs.sevalla.com\/static-sites\/get-started\/static-site-generators\">generador de sitios est\u00e1ticos<\/a> (SSG &#8211; Static Site Generators) minimalista pero potente.<\/p>\n<figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-105526 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/10\/vuepress-demo.gif\" alt=\"VuePress documentation and blog demo\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Demostraci\u00f3n de documentaci\u00f3n y blog de 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>\u00bfQu\u00e9 es VuePress?<\/h2>\n<p>VuePress es un framework <a href=\"https:\/\/kinsta.com\/es\/blog\/codigo-abierto-vs-codigo-propietario\/\">de c\u00f3digo abierto<\/a> especializado en generar sitios web est\u00e1ticos, orientado principalmente a la documentaci\u00f3n y los blogs. Fue creado por <a href=\"https:\/\/github.com\/yyx990803\" target=\"_blank\" rel=\"noopener noreferrer\">Evan You<\/a>, el genio detr\u00e1s de <a href=\"https:\/\/kinsta.com\/es\/blog\/vue-js\/\">Vue.js<\/a>, y encarna la filosof\u00eda de simplicidad y facilidad de uso por la que Vue.js es conocido.<\/p>\n<h3>\u00bfPor qu\u00e9 utilizar VuePress?<\/h3>\n<p>Aqu\u00ed tienes algunas razones de peso por las que VuePress puede ser la elecci\u00f3n perfecta para ti.<\/p>\n<ol start=\"1\">\n<li><strong>Simplicidad Markdown:<\/strong> VuePress simplifica la creaci\u00f3n de contenidos con Markdown, facilitando la escritura y estructuraci\u00f3n de contenidos sin formatos complejos.<\/li>\n<li><strong>Integraci\u00f3n con Vue.js:<\/strong> VuePress integra a la perfecci\u00f3n Vue.js, permitiendo elementos web interactivos y din\u00e1micos para una experiencia de usuario atractiva.<\/li>\n<li><strong>Rendimiento y personalizaci\u00f3n:<\/strong> VuePress ofrece un rendimiento excelente con sitios web est\u00e1ticos de carga r\u00e1pida y amplias opciones de personalizaci\u00f3n para adaptarse a tu estilo y necesidades.<\/li>\n<\/ol>\n<h2>Primeros Pasos con VuePress<\/h2>\n<p>Antes de sumergirte en VuePress, aseg\u00farate de que tienes instalado <a href=\"https:\/\/kinsta.com\/es\/secciones\/node-js\/\">Node.js<\/a> o <a href=\"https:\/\/kinsta.com\/es\/blog\/herramientas-desarrollo-web\/#39-yarn\">Yarn Classic<\/a> en tu ordenador. Hay dos formas de empezar con VuePress: o bien utilizas el <a href=\"https:\/\/github.com\/vuepressjs\/create-vuepress-site\/\" target=\"_blank\" rel=\"noopener noreferrer\">generador create-vuepress-site<\/a>, que te ayudar\u00e1 a crear la estructura b\u00e1sica del sitio VuePress, o bien utilizas la instalaci\u00f3n manual.<\/p>\n<p>Para este art\u00edculo, vamos a utilizar el m\u00e9todo de instalaci\u00f3n manual.<\/p>\n<ol start=\"1\">\n<li>Crea un nuevo directorio y c\u00e1mbialo:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">mkdir vuepress-starter && cd vuepress-starter<\/code><\/pre>\n<ol start=\"2\">\n<li>Inicial\u00edzalo con tu gestor de paquetes preferido. Para este art\u00edculo, vamos a utilizar Yarn:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">yarn init<\/code><\/pre>\n<ol start=\"3\">\n<li>Instala VuePress en tu proyecto como dependencia del desarrollador:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">yarn add -D vuepress<\/code><\/pre>\n<ol start=\"4\">\n<li>Crea una carpeta <strong>docs<\/strong> para guardar todo tu c\u00f3digo y luego crea un archivo <strong>README.md<\/strong>, que sirve como archivo \u00edndice de tu proyecto, similar 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>Abre tu proyecto en un editor de c\u00f3digo y a\u00f1ade los siguientes scripts a tu archivo <strong>package.json<\/strong> para que puedas servir y construir tu sitio:<\/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>Ahora puedes servir tu sitio ejecutando el comando <code>yarn dev<\/code>. VuePress iniciar\u00e1 tu servidor de desarrollo en http:\/\/localhost:8080.<\/p>\n<figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><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=\"Defualt theme for VuePress manual installation\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Tema predeterminado para la instalaci\u00f3n manual de VuePress.<\/figcaption><\/figure>\n<p>Ya has creado un sitio de documentaci\u00f3n. Ver\u00e1s que VuePress ofrece un tema predeterminado limpio y minimalista. Sin embargo, es altamente personalizable, ofreci\u00e9ndote libertad creativa para crear un aspecto \u00fanico para tu sitio web.<\/p>\n<h2>Crear P\u00e1ginas de Documentaci\u00f3n<\/h2>\n<p>VuePress sigue una estructura de directorios sencilla para organizar la documentaci\u00f3n. Dentro de la carpeta de tu proyecto, encontrar\u00e1s el directorio <strong>docs<\/strong> que hemos creado, donde puedes crear archivos <a href=\"https:\/\/kinsta.com\/es\/blog\/editores-markdown\/\">Markdown<\/a> (<code>.md<\/code>) para tus p\u00e1ginas de documentaci\u00f3n.<\/p>\n<p>Por ejemplo, puedes crear archivos como <strong>getting-started.md<\/strong>, <strong>usage.md<\/strong> y <strong>troubleshooting.md<\/strong>. Estos archivos se convierten autom\u00e1ticamente en rutas a las que puedes acceder cuando navegas a http:\/\/localhost:8080\/getting-started, http:\/\/localhost:8080\/usage y http:\/\/localhost:8080\/troubleshooting.<\/p>\n<p>Para mejorar la organizaci\u00f3n de tu documentaci\u00f3n, puedes crear carpetas dedicadas a p\u00e1ginas de documentaci\u00f3n relacionadas. Por ejemplo, puedes crear una carpeta llamada <strong>guide<\/strong> y organizarla con gu\u00edas espec\u00edficas como <strong>using-kinsta-stsh.md<\/strong>. Cuando emplees esta estructura, el contenido de <strong>using-kinsta-stsh<\/strong>.<strong>md<\/strong> ser\u00e1 accesible a trav\u00e9s de una URL como http:\/\/localhost:8080\/guide\/using-kinsta-stsh.<\/p>\n<p>Tambi\u00e9n puedes crear un archivo <strong>README.md<\/strong> o <strong>index.md<\/strong> en el nivel ra\u00edz de la carpeta del <strong>guide<\/strong>. Este archivo servir\u00e1 como p\u00e1gina \u00edndice, permitiendo a los usuarios navegar a http:\/\/localhost:8080\/guide\/ y acceder c\u00f3modamente al contenido con una barra lateral que aprender\u00e1s a configurar en la siguiente secci\u00f3n.<\/p>\n<p>En este <a href=\"https:\/\/github.com\/kinsta\/vuepress-starter-docs-blog\" target=\"_blank\" rel=\"noopener noreferrer\">repositorio de muestra de VuePress<\/a>, observar\u00e1s que se han creado todos estos archivos, y se ha a\u00f1adido algo de contenido markdown a cada uno de ellos. Si\u00e9ntete libre de crear tus archivos seg\u00fan tus preferencias, ya sea desde cero para adaptarlos a tus necesidades espec\u00edficas o inspir\u00e1ndote en el contenido disponible en el repositorio.<\/p>\n<h2>Personalizar la Apariencia de VuePress<\/h2>\n<p>Una vez que hayas creado tu sitio de documentaci\u00f3n con contenido, puede que te resulte dif\u00edcil navegar por \u00e9l, especialmente si tienes muchos archivos que gestionar. Sin embargo, VuePress te permite personalizar la estructura de navegaci\u00f3n de tu sitio para hacerlo m\u00e1s f\u00e1cil de usar y organizado.<\/p>\n<p>Para personalizar el aspecto y la navegaci\u00f3n de tu sitio, crea una carpeta <strong>.vuepress<\/strong> en el directorio ra\u00edz de tu proyecto. Esta carpeta contendr\u00e1 archivos de configuraci\u00f3n y activos relacionados con tu sitio VuePress.<\/p>\n<h3>Configuraci\u00f3n de la navegaci\u00f3n<\/h3>\n<p>En la carpeta . <strong>vuepress<\/strong>, crea un archivo <strong>config.js<\/strong>. Tambi\u00e9n puedes utilizar otros formatos de archivo como YAML (.yml), TOML (.toml) o TypeScript (.ts) para tu configuraci\u00f3n.<\/p>\n<p>En tu archivo <strong>config.js<\/strong>, puedes definir la estructura de navegaci\u00f3n de tu sitio utilizando el objeto <code>themeConfig<\/code>. Aqu\u00ed tienes un ejemplo de configuraci\u00f3n:<\/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>En este ejemplo, estamos configurando los sitios <code>title<\/code> y <code>description<\/code>, definiendo los enlaces de navegaci\u00f3n y configurando una barra lateral para la secci\u00f3n <code>\/guide\/<\/code>.<\/p>\n<p>La matriz <code>nav<\/code> especifica los enlaces de navegaci\u00f3n en la parte superior de tu sitio. El objeto barra lateral define la estructura de la barra lateral para secciones espec\u00edficas. En este caso, est\u00e1 configurado para la secci\u00f3n <code>\/guide\/<\/code>.<\/p>\n<p>Puedes leer m\u00e1s sobre la <a href=\"https:\/\/vuepress.vuejs.org\/theme\/default-theme-config.html#navbar\" target=\"_blank\" rel=\"noopener noreferrer\">configuraci\u00f3n de la barra de navegaci\u00f3n<\/a> en la documentaci\u00f3n de VuePress.<\/p>\n<h3>Estilizar<\/h3>\n<p>VuePress te permite personalizar la apariencia de tu sitio mediante estilos. Puedes anular los estilos predeterminados utilizando algunas variables definidas o definir tu propio estilo. Para ello, crea una carpeta de <strong>estilos<\/strong> en la carpeta <strong>.vuepress<\/strong><\/p>\n<p>Para aplicar anulaciones sencillas al estilo del preajuste predeterminado o definir algunas variables para utilizarlas m\u00e1s adelante, puedes crear un archivo <strong>palette.styl<\/strong> en <strong>.vuepress\/styles<\/strong>. Estas son algunas variables predefinidas que puedes modificar:<\/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>Estas variables pueden utilizarse para mantener un estilo coherente en todo tu sitio. VuePress tambi\u00e9n proporciona una forma c\u00f3moda de a\u00f1adir estilos adicionales. Puedes crear un archivo <strong>index.styl<\/strong> en la carpeta <strong>.vuepress\/styles<\/strong> donde puedes utilizar la <a href=\"https:\/\/kinsta.com\/es\/blog\/buenas-practicas-css\/\">sintaxis CSS<\/a> normal:<\/p>\n<pre><code class=\"language-css\">.content {\n  font-size 30px\n}<\/code><\/pre>\n<p>Lee m\u00e1s sobre el <a href=\"https:\/\/vuepress.vuejs.org\/config\/#styling\">estilo de VuePress<\/a> en la documentaci\u00f3n oficial.<\/p>\n<h3>Uso de componentes<\/h3>\n<p>VuePress admite el uso de componentes para mejorar la funcionalidad y el aspecto de tus p\u00e1ginas. Puedes crear componentes Vue e incluirlos en tus archivos Markdown. Crea una carpeta components en <strong>.vuepres<\/strong>, y entonces cualquier archivo <code>*.vue<\/code> que se encuentre en <strong>.vuepress\/components<\/strong> se registrar\u00e1 autom\u00e1ticamente como componente global.<\/p>\n<p>Por ejemplo, considera la posibilidad de crear dos componentes, <strong>HomeOptions.vue<\/strong> y <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>Dentro de estos archivos de componentes vue.js, puedes a\u00f1adir c\u00f3digos CSS. Vamos a a\u00f1adir c\u00f3digo a los componentes <strong>HomeOptions.vue<\/strong> y <strong>HostingBanner.vue<\/strong>.<\/p>\n<p>A\u00f1ade el c\u00f3digo siguiente 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>A\u00f1ade tambi\u00e9n el c\u00f3digo siguiente 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>Dentro de cualquier archivo Markdown, podr\u00e1s utilizar directamente los componentes (los nombres se deducen de los nombres de archivo):<\/p>\n<pre><code class=\"language-md\">&lt;HomeOptions\/&gt;\n&lt;HostingBanner\/&gt;<\/code><\/pre>\n<p>Lee m\u00e1s sobre <a href=\"https:\/\/vuepress.vuejs.org\/guide\/using-vue.html#using-components\" target=\"_blank\" rel=\"noopener noreferrer\">los componentes en VuePress<\/a> en la documentaci\u00f3n.<\/p>\n<h3>Personalizar la p\u00e1gina de inicio<\/h3>\n<p>En VuePress, el tema predeterminado ofrece un dise\u00f1o de p\u00e1gina de inicio predise\u00f1ado que puedes utilizar para crear un punto de partida atractivo e informativo para tu sitio. Para utilizar este dise\u00f1o de p\u00e1gina de inicio, debes especificar <code>home: true<\/code> e incluir algunos metadatos adicionales en el frontmatter YAML de tu archivo ra\u00edz <strong>README.md<\/strong>.<\/p>\n<p>Aqu\u00ed tienes un ejemplo del 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>Todas estas configuraciones hacen que tu p\u00e1gina de inicio de la documentaci\u00f3n tenga este aspecto:<\/p>\n<figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><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=\"VuePress default homepage\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">P\u00e1gina de inicio por defecto de VuePress.<\/figcaption><\/figure>\n<p>Cabe se\u00f1alar que puedes desactivar los valores <code>heroText<\/code> y <code>tagline<\/code> o cualquier otro estableciendo sus campos correspondientes en <code>null<\/code> si prefieres un dise\u00f1o m\u00e1s sencillo o no incluirlo. Cualquier contenido que incluyas despu\u00e9s del frontmatter YAML (es decir, la secci\u00f3n de metadatos) se tratar\u00e1 como Markdown normal y se renderizar\u00e1 a continuaci\u00f3n de la secci\u00f3n de caracter\u00edsticas.<\/p>\n<p>Si quieres un dise\u00f1o de p\u00e1gina de inicio totalmente personalizado, VuePress tambi\u00e9n admite dise\u00f1os personalizados. Adem\u00e1s, puedes crear un pie de p\u00e1gina de texto enriquecido utilizando la Sintaxis de Ranura Markdown, que ofrece m\u00e1s flexibilidad a la hora de mostrar el contenido del pie de p\u00e1gina. Aqu\u00ed tienes un ejemplo de c\u00f3mo crear un pie de p\u00e1gina de texto enriquecido:<\/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>En este caso, el contenido de la secci\u00f3n <code>::: slot footer<\/code> te permite incluir enlaces e informaci\u00f3n adicional en la zona del pie de p\u00e1gina de tu p\u00e1gina de inicio.<\/p>\n<p>Ahora que ya sabes c\u00f3mo realizar las personalizaciones anteriores, a\u00f1ade a la p\u00e1gina de inicio los componentes creados anteriormente y elimina algunas opciones para que la p\u00e1gina de inicio tenga mejor aspecto:<\/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\"><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=\"Using components in VuePress homepage\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Uso de componentes en la p\u00e1gina de inicio de VuePress.<\/figcaption><\/figure>\n<p>Siguiendo estas t\u00e9cnicas de personalizaci\u00f3n de VuePress, puedes crear un sitio de documentaci\u00f3n que no s\u00f3lo proporcione contenidos valiosos, sino que tambi\u00e9n ofrezca una excelente experiencia de usuario con una navegaci\u00f3n organizada y un estilo atractivo.<\/p>\n<p>Puedes leer m\u00e1s sobre la <a href=\"https:\/\/vuepress.vuejs.org\/theme\/default-theme-config.html\" target=\"_blank\" rel=\"noopener noreferrer\">personalizaci\u00f3n del tema predeterminado<\/a> en la documentaci\u00f3n.<\/p>\n<h2>Crear una Secci\u00f3n de Blog con VuePress<\/h2>\n<p>A\u00f1adir una secci\u00f3n de blog a tu sitio VuePress es muy sencillo, ya que VuePress te permite escribir componentes Vue personalizados que pueden insertarse en cualquier archivo Markdown. Vamos a crear un componente que mostrar\u00e1 la lista de entradas del blog.<\/p>\n<p>Crea un archivo <strong>BlogIndex.vue<\/strong> en la carpeta <strong>components<\/strong> y a\u00f1ade el siguiente c\u00f3digo:<\/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>En el fragmento de c\u00f3digo proporcionado, defines una plantilla Vue que recorre las entradas de tu blog utilizando <code>v-for<\/code>, mostrando el t\u00edtulo de la entrada, la descripci\u00f3n y un enlace \u00abLeer m\u00e1s\u00bb para cada entrada.<\/p>\n<p>La secci\u00f3n de script exporta un componente Vue que calcula y recupera las entradas del blog. Estas entradas se filtran en funci\u00f3n de su ruta (que comienza por <code>\/blog\/<\/code>) y la ausencia de un atributo frontmatter <code>blog_index<\/code>. A continuaci\u00f3n, se ordenan por fecha en orden descendente para presentar primero las \u00faltimas entradas.<\/p>\n<p>Cuando crees nuevas entradas de blog, deber\u00e1s especificar la fecha de la entrada como parte de la informaci\u00f3n de la portada. Esto ayudar\u00e1 a ordenar las entradas para que aparezcan primero las m\u00e1s recientes.<\/p>\n<p>Para almacenar las entradas del blog, crea una carpeta llamada <strong>blog<\/strong> en la ra\u00edz del proyecto. En esta carpeta, a\u00f1ade un archivo <strong>README.md<\/strong>. \u00c9ste ser\u00e1 el \u00edndice del blog, y aqu\u00ed es donde incluir\u00e1s el componente <code>BlogIndex<\/code> para listar todas las entradas 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>Aseg\u00farate de a\u00f1adir el atributo <code>blog_index<\/code> frontmatter, ya que es fundamental para garantizar que el propio \u00edndice del blog no aparezca entre las entradas individuales del blog. Este atributo se utiliza al filtrar las entradas en la propiedad computed posts del componente <strong>BlogIndex.vue<\/strong>.<\/p>\n<p>A continuaci\u00f3n, crea una carpeta blog en la ra\u00edz de tu proyecto que almacenar\u00e1 todas las entradas del blog y crear\u00e1 cada entrada. Por ejemplo, crea un archivo <strong>first-post.md<\/strong> y a\u00f1ade el siguiente contenido 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>Para cada entrada del blog, aseg\u00farate de definir los par\u00e1metros esenciales de la portada, como el t\u00edtulo de la entrada, la fecha y otros metadatos relevantes. Esta organizaci\u00f3n meticulosa garantiza que las entradas de tu blog se presenten de forma cohesionada y proporciona una experiencia de lectura atractiva para tu audiencia.<\/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=\"Adding blog to VuePress\" width=\"1001\" height=\"471\"><\/a><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">A\u00f1adir blog a VuePress.<\/figcaption><\/figure>\n<p>Por \u00faltimo, puedes a\u00f1adir la navegaci\u00f3n del blog a tu barra de navegaci\u00f3n en el archivo <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>Puedes hacer mucho m\u00e1s con VuePress, como <a href=\"https:\/\/vuepress.vuejs.org\/plugin\/using-a-plugin.html\" target=\"_blank\" rel=\"noopener noreferrer\">a\u00f1adir plugins<\/a>, <a href=\"https:\/\/vuepress.vuejs.org\/theme\/using-a-theme.html\" target=\"_blank\" rel=\"noopener noreferrer\">utilizar un tema independiente<\/a> o incluso <a href=\"https:\/\/vuepress.vuejs.org\/theme\/writing-a-theme.html\" target=\"_blank\" rel=\"noopener noreferrer\">crear tu propio tema<\/a>.<\/p>\n<h2>Desplegar un Sitio Est\u00e1tico VuePress en Kinsta<\/h2>\n<p>Kinsta te permite <a href=\"https:\/\/docs.sevalla.com\/static-sites\/overview\">alojar hasta 100 sitios web est\u00e1ticos<\/a>\u00a0<strong>de forma gratuita<\/strong>. Para ello, env\u00eda tu c\u00f3digo a tu proveedor Git preferido (<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>) y luego despli\u00e9galo en Kinsta.<\/p>\n<p>Antes de enviar tus archivos a cualquier proveedor de Git, crea un <a href=\"https:\/\/kinsta.com\/es\/blog\/gitignore-no-funciona\/\">archivo <\/a><a href=\"https:\/\/kinsta.com\/es\/blog\/gitignore-no-funciona\/\">.gitignore<\/a> en la ra\u00edz de tu proyecto para especificar los archivos y carpetas que Git debe ignorar al enviar tu c\u00f3digo:<\/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>Puedes configurar otra ubicaci\u00f3n para que el SSG de VuePress construya en ella a\u00f1adiendo un destino en <strong>.vuepress\/config.js<\/strong> utilizando <code>dest<\/code>, por ejemplo, <code>dest: 'public',<\/code>.<\/p>\n<\/aside>\n\n<p>Para esta gu\u00eda, utilizamos GitHub. Crea un repositorio en GitHub para <a href=\"https:\/\/kinsta.com\/es\/blog\/como-enviar-codigo-a-github\/\">insertar tu c\u00f3digo fuente<\/a>. Una vez que tu repositorio est\u00e9 listo, sigue estos pasos para desplegar tu sitio est\u00e1tico en Kinsta:<\/p>\n<ol start=\"1\">\n<li>Inicia sesi\u00f3n o crea una cuenta para ver tu panel de control <a href=\"https:\/\/my.kinsta.com\/?lang=es\">MyKinsta<\/a>.<\/li>\n<li>Autoriza a Kinsta con tu proveedor de Git.<\/li>\n<li>Haz clic en <strong>Sitios est\u00e1ticos<\/strong>\u00a0en la barra lateral izquierda, y luego en <strong>A\u00f1adir sitio<\/strong>.<\/li>\n<li>Selecciona el repositorio y la rama desde la que deseas desplegar.<\/li>\n<li>Asigna un nombre \u00fanico a tu sitio.<\/li>\n<li>A\u00f1ade la configuraci\u00f3n de compilaci\u00f3n en el siguiente formato:\n<ul>\n<li><strong>Comando de compilaci\u00f3n:<\/strong> <code>npm run build<\/code><\/li>\n<li><strong>Versi\u00f3n del nodo:<\/strong> <code>16.20.0<\/code><\/li>\n<li><strong>Directorio de publicaci\u00f3n<\/strong>: <code>.\/docs\/.vuepress\/dist<\/code> o <code>public<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"7\">\n<li>Por \u00faltimo, haz clic en <strong>Crear sitio<\/strong>.<\/li>\n<\/ol>\n<p>Y ya est\u00e1 En pocos segundos tendr\u00e1s un sitio desplegado. Se proporciona un enlace para acceder a la versi\u00f3n desplegada de tu sitio. Si lo deseas, puedes a\u00f1adir m\u00e1s adelante tu <a href=\"https:\/\/docs.sevalla.com\/applications\/domains\">dominio personalizado<\/a> y tu <a href=\"https:\/\/docs.sevalla.com\/applications\/domains#install-a-custom-ssl-certificate\">certificado SSL<\/a>.<\/p>\n<p>Como alternativa al alojamiento de sitios est\u00e1ticos, puedes optar por desplegar tu sitio est\u00e1tico con el <a href=\"https:\/\/sevalla.com\/application-hosting\/\">alojamiento de aplicaciones<\/a> de Kinsta, que proporciona una mayor flexibilidad de alojamiento, una gama m\u00e1s amplia de ventajas y acceso a funciones m\u00e1s robustas. Por ejemplo, escalabilidad, despliegue personalizado mediante un Dockerfile, y <a href=\"https:\/\/docs.sevalla.com\/applications\/analytics\">an\u00e1lisis completos<\/a> que abarcan datos hist\u00f3ricos y en tiempo real.<\/p>\n<h2>Resumen<\/h2>\n<p>VuePress es una herramienta vers\u00e1til y potente para crear r\u00e1pidamente sitios de documentaci\u00f3n y blogs. Con su sencilla configuraci\u00f3n, temas y plugins personalizables, puedes construir una plataforma informativa y visualmente atractiva para tu audiencia.<\/p>\n<p>Empieza a crear tu sitio VuePress hoy mismo y comparte tus conocimientos con el mundo aloj\u00e1ndote en nuestro alojamiento de sitios est\u00e1ticos \u00a1gratis!<\/p>\n<p><em>\u00bfHas utilizado VuePress para construir algo? No dudes en compartir tus proyectos y experiencias con nosotros en la secci\u00f3n de comentarios m\u00e1s abajo.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En el acelerado panorama digital actual, tener un sitio de documentaci\u00f3n o blog bien organizado y visualmente atractivo es esencial para captar la atenci\u00f3n de tu &#8230;<\/p>\n","protected":false},"author":287,"featured_media":70880,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[1296,1328,1337],"class_list":["post-70879","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-frameworks-javascript","topic-generadores-sitios-estaticos","topic-herramientas-de-desarrollo-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 sitio de documentaci\u00f3n y blog con VuePress - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Aprende a crear y personalizar r\u00e1pidamente tu sitio de documentaci\u00f3n y blog utilizando VuePress. \u00a1Empieza a crear tu impresionante sitio hoy mismo!\" \/>\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\/es\/blog\/vuepress\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Crea y Personaliza un Sitio de Documentaci\u00f3n y Blog R\u00e1pido con VuePress\" \/>\n<meta property=\"og:description\" content=\"Aprende a crear y personalizar r\u00e1pidamente tu sitio de documentaci\u00f3n y blog utilizando VuePress. \u00a1Empieza a crear tu impresionante sitio hoy mismo!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/es\/blog\/vuepress\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinsta.es\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-10-11T14:21:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-10-16T09:33:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/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=\"Aprende a crear y personalizar r\u00e1pidamente tu sitio de documentaci\u00f3n y blog utilizando VuePress. \u00a1Empieza a crear tu impresionante sitio hoy mismo!\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/10\/vuepress-1.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@olawanle_joel\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_ES\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joel Olawanle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/vuepress\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/vuepress\/\"},\"author\":{\"name\":\"Joel Olawanle\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\"},\"headline\":\"Crea y Personaliza un Sitio de Documentaci\u00f3n y Blog R\u00e1pido con VuePress\",\"datePublished\":\"2023-10-11T14:21:17+00:00\",\"dateModified\":\"2023-10-16T09:33:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/vuepress\/\"},\"wordCount\":2512,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/es\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/vuepress\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/10\/vuepress-1.jpg\",\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/es\/blog\/vuepress\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/vuepress\/\",\"url\":\"https:\/\/kinsta.com\/es\/blog\/vuepress\/\",\"name\":\"Crea un sitio de documentaci\u00f3n y blog con VuePress - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/vuepress\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/vuepress\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/10\/vuepress-1.jpg\",\"datePublished\":\"2023-10-11T14:21:17+00:00\",\"dateModified\":\"2023-10-16T09:33:16+00:00\",\"description\":\"Aprende a crear y personalizar r\u00e1pidamente tu sitio de documentaci\u00f3n y blog utilizando VuePress. \u00a1Empieza a crear tu impresionante sitio hoy mismo!\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/vuepress\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/es\/blog\/vuepress\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/vuepress\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/10\/vuepress-1.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/10\/vuepress-1.jpg\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/vuepress\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Frameworks JavaScript\",\"item\":\"https:\/\/kinsta.com\/es\/secciones\/frameworks-javascript\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Crea y Personaliza un Sitio de Documentaci\u00f3n y Blog R\u00e1pido con VuePress\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/es\/#website\",\"url\":\"https:\/\/kinsta.com\/es\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluciones de alojamiento premium, r\u00e1pidas y seguras\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/es\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/es\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/es\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/es\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinsta.es\/\",\"https:\/\/x.com\/Kinsta_ES\",\"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\/es\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\",\"name\":\"Joel Olawanle\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/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\/es\/blog\/author\/joelolawanle\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Crea un sitio de documentaci\u00f3n y blog con VuePress - Kinsta\u00ae","description":"Aprende a crear y personalizar r\u00e1pidamente tu sitio de documentaci\u00f3n y blog utilizando VuePress. \u00a1Empieza a crear tu impresionante sitio hoy mismo!","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\/es\/blog\/vuepress\/","og_locale":"es_ES","og_type":"article","og_title":"Crea y Personaliza un Sitio de Documentaci\u00f3n y Blog R\u00e1pido con VuePress","og_description":"Aprende a crear y personalizar r\u00e1pidamente tu sitio de documentaci\u00f3n y blog utilizando VuePress. \u00a1Empieza a crear tu impresionante sitio hoy mismo!","og_url":"https:\/\/kinsta.com\/es\/blog\/vuepress\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinsta.es\/","article_published_time":"2023-10-11T14:21:17+00:00","article_modified_time":"2023-10-16T09:33:16+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/10\/vuepress-1.jpg","type":"image\/jpeg"}],"author":"Joel Olawanle","twitter_card":"summary_large_image","twitter_description":"Aprende a crear y personalizar r\u00e1pidamente tu sitio de documentaci\u00f3n y blog utilizando VuePress. \u00a1Empieza a crear tu impresionante sitio hoy mismo!","twitter_image":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/10\/vuepress-1.jpg","twitter_creator":"@olawanle_joel","twitter_site":"@Kinsta_ES","twitter_misc":{"Escrito por":"Joel Olawanle","Tiempo de lectura":"14 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/es\/blog\/vuepress\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/blog\/vuepress\/"},"author":{"name":"Joel Olawanle","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07"},"headline":"Crea y Personaliza un Sitio de Documentaci\u00f3n y Blog R\u00e1pido con VuePress","datePublished":"2023-10-11T14:21:17+00:00","dateModified":"2023-10-16T09:33:16+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/vuepress\/"},"wordCount":2512,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/es\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/vuepress\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/10\/vuepress-1.jpg","inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/es\/blog\/vuepress\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/es\/blog\/vuepress\/","url":"https:\/\/kinsta.com\/es\/blog\/vuepress\/","name":"Crea un sitio de documentaci\u00f3n y blog con VuePress - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/vuepress\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/vuepress\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/10\/vuepress-1.jpg","datePublished":"2023-10-11T14:21:17+00:00","dateModified":"2023-10-16T09:33:16+00:00","description":"Aprende a crear y personalizar r\u00e1pidamente tu sitio de documentaci\u00f3n y blog utilizando VuePress. \u00a1Empieza a crear tu impresionante sitio hoy mismo!","breadcrumb":{"@id":"https:\/\/kinsta.com\/es\/blog\/vuepress\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/es\/blog\/vuepress\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/blog\/vuepress\/#primaryimage","url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/10\/vuepress-1.jpg","contentUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/10\/vuepress-1.jpg","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/es\/blog\/vuepress\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/es\/"},{"@type":"ListItem","position":2,"name":"Frameworks JavaScript","item":"https:\/\/kinsta.com\/es\/secciones\/frameworks-javascript\/"},{"@type":"ListItem","position":3,"name":"Crea y Personaliza un Sitio de Documentaci\u00f3n y Blog R\u00e1pido con VuePress"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/es\/#website","url":"https:\/\/kinsta.com\/es\/","name":"Kinsta\u00ae","description":"Soluciones de alojamiento premium, r\u00e1pidas y seguras","publisher":{"@id":"https:\/\/kinsta.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/es\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinsta.es\/","https:\/\/x.com\/Kinsta_ES","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\/es\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07","name":"Joel Olawanle","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/#\/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\/es\/blog\/author\/joelolawanle\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/70879","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/users\/287"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/comments?post=70879"}],"version-history":[{"count":12,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/70879\/revisions"}],"predecessor-version":[{"id":70970,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/70879\/revisions\/70970"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/70879\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/70879\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/70879\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/70879\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/70879\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/70879\/translations\/jp"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/70879\/translations\/es"},{"href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/70879\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media\/70880"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media?parent=70879"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/tags?post=70879"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/topic?post=70879"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}