{"id":63960,"date":"2023-10-11T11:22:48","date_gmt":"2023-10-11T14:22:48","guid":{"rendered":"https:\/\/kinsta.com\/pt\/?p=63960&#038;preview=true&#038;preview_id=63960"},"modified":"2023-10-24T03:09:24","modified_gmt":"2023-10-24T06:09:24","slug":"vuepress","status":"publish","type":"post","link":"https:\/\/kinsta.com\/pt\/blog\/vuepress\/","title":{"rendered":"Crie e Personalize um Site R\u00e1pido de Documenta\u00e7\u00e3o e Blog com VuePress"},"content":{"rendered":"<p>No cen\u00e1rio digital acelerado de hoje, ter uma documenta\u00e7\u00e3o ou site de blog bem organizado e visualmente atraente \u00e9 essencial para captar a aten\u00e7\u00e3o do seu p\u00fablico e mant\u00ea-los engajados. Mas como voc\u00ea pode conseguir isso sem gastar horas intermin\u00e1veis em <a href=\"https:\/\/kinsta.com\/web-development\/\">desenvolvimento web<\/a>?<\/p>\n<p>Este artigo explica como voc\u00ea pode criar e personalizar um site r\u00e1pido de documenta\u00e7\u00e3o e blog usando o VuePress, um <a href=\"https:\/\/kinsta.com\/static-site-hosting\">gerador de site est\u00e1tico<\/a> (SSG) minimalista, por\u00e9m poderoso.<\/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=\"Demonstra\u00e7\u00e3o da documenta\u00e7\u00e3o e do blog do VuePress.\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Demonstra\u00e7\u00e3o da documenta\u00e7\u00e3o e do blog do 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>O que \u00e9 VuePress?<\/h2>\n<p>O VuePress \u00e9 uma framework de <a href=\"https:\/\/kinsta.com\/pt\/blog\/codigo-aberto-vs-codigo-fechado\/\">c\u00f3digo aberto<\/a> especializado na gera\u00e7\u00e3o de sites est\u00e1ticos, voltados principalmente para documenta\u00e7\u00e3o e blogs. Ele foi criado por <a href=\"https:\/\/github.com\/yyx990803\" target=\"_blank\" rel=\"noopener noreferrer\">Evan You<\/a>, o g\u00eanio por tr\u00e1s do <a href=\"https:\/\/kinsta.com\/pt\/blog\/vue-js\/\">Vue.js<\/a>, e incorpora a filosofia de simplicidade e facilidade de uso pela qual o Vue.js \u00e9 conhecido.<\/p>\n<h3>Por que usar o VuePress?<\/h3>\n<p>Aqui est\u00e3o alguns motivos convincentes pelos quais o VuePress pode ser a escolha perfeita para voc\u00ea.<\/p>\n<ol start=\"1\">\n<li><strong>Simplicidade do markdown<\/strong>: O VuePress simplifica a cria\u00e7\u00e3o de conte\u00fado com Markdown, facilitando a escrita e a estrutura\u00e7\u00e3o de conte\u00fado sem formata\u00e7\u00e3o complexa.<\/li>\n<li><strong>Integra\u00e7\u00e3o com o Vue.js<\/strong>: O VuePress integra perfeitamente o Vue.js, permitindo elementos interativos e din\u00e2micos da web para uma experi\u00eancia de usu\u00e1rio envolvente.<\/li>\n<li><strong>Desempenho e personaliza\u00e7\u00e3o<\/strong>: O VuePress oferece excelente desempenho com sites est\u00e1ticos de carregamento r\u00e1pido e amplas op\u00e7\u00f5es de personaliza\u00e7\u00e3o para atender ao seu estilo e \u00e0s suas necessidades.<\/li>\n<\/ol>\n<h2>Come\u00e7ando com o VuePress<\/h2>\n<p>Antes de iniciar com o VuePress, certifique-se de que voc\u00ea tenha o <a href=\"https:\/\/kinsta.com\/pt\/topicos\/node-js\/\">Node.js<\/a> ou o <a href=\"https:\/\/kinsta.com\/pt\/blog\/ferramentas-de-desenvolvimento-web\/#39-yarn\">Yarn Classic<\/a> instalados no seu computador. Existem duas maneiras de come\u00e7ar com o VuePress: voc\u00ea pode usar o <a href=\"https:\/\/github.com\/vuepressjs\/create-vuepress-site\/\">gerador create-vuepress-site<\/a>, que ajudar\u00e1 a criar a estrutura b\u00e1sica do site VuePress para voc\u00ea, ou usar a instala\u00e7\u00e3o manual.<\/p>\n<p>Para este artigo, vamos usar o m\u00e9todo de instala\u00e7\u00e3o manual.<\/p>\n<ol start=\"1\">\n<li>Crie um novo diret\u00f3rio e altere ele:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">mkdir vuepress-starter && cd vuepress-starter<\/code><\/pre>\n<ol start=\"2\">\n<li>Inicialize com o gerenciador de pacotes de sua prefer\u00eancia. Para este artigo, vamos usar o Yarn:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">yarn init<\/code><\/pre>\n<ol start=\"3\">\n<li>Instale o VuePress em seu projeto como uma depend\u00eancia de desenvolvedor:<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">yarn add -D vuepress<\/code><\/pre>\n<ol start=\"4\">\n<li>Crie uma pasta <strong>docs<\/strong> para armazenar todo o seu c\u00f3digo e, em seguida, crie um arquivo <strong>README.md<\/strong>, que serve como o arquivo de \u00edndice do seu projeto, semelhante ao <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>Abra seu projeto em um editor de c\u00f3digo e adicione os seguintes scripts ao arquivo <strong>package.json<\/strong> para que voc\u00ea possa servir e criar seu site:<\/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>Agora voc\u00ea pode servir seu site executando o comando <code>yarn dev<\/code>. O VuePress iniciar\u00e1 seu servidor de desenvolvimento em 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=\"Tema padr\u00e3o para a instala\u00e7\u00e3o manual do VuePress.\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Tema padr\u00e3o para a instala\u00e7\u00e3o manual do VuePress.<\/figcaption><\/figure>\n<p>Agora voc\u00ea criou um site de documenta\u00e7\u00e3o. Voc\u00ea perceber\u00e1 que o VuePress oferece um tema padr\u00e3o limpo e minimalista pronto para uso. No entanto, ele \u00e9 altamente personaliz\u00e1vel, dando a voc\u00ea a liberdade criativa para criar uma apar\u00eancia exclusiva para o seu site.<\/p>\n<h2>Criando p\u00e1ginas de documenta\u00e7\u00e3o<\/h2>\n<p>O VuePress segue uma estrutura de diret\u00f3rios simples para organizar a documenta\u00e7\u00e3o. Dentro da pasta do seu projeto, voc\u00ea encontrar\u00e1 o diret\u00f3rio <strong>docs<\/strong> que criamos, onde poder\u00e1 criar arquivos <a href=\"https:\/\/kinsta.com\/pt\/blog\/editores-markdown\/\">Markdown<\/a> (<code>.md<\/code>) para suas p\u00e1ginas de documenta\u00e7\u00e3o.<\/p>\n<p>Por exemplo, voc\u00ea pode criar arquivos como <strong>getting-started.md<\/strong>, <strong>usage.md<\/strong> e <strong>troubleshooting.md<\/strong>. Esses arquivos tornam-se automaticamente rotas que podem ser acessadas quando voc\u00ea navega para http:\/\/localhost:8080\/getting-started, http:\/\/localhost:8080\/usage e http:\/\/localhost:8080\/troubleshooting.<\/p>\n<p>Para aprimorar a organiza\u00e7\u00e3o da sua documenta\u00e7\u00e3o, voc\u00ea pode criar pastas dedicadas para p\u00e1ginas de documenta\u00e7\u00e3o relacionadas. Por exemplo, voc\u00ea pode criar uma pasta chamada <strong>guide<\/strong> e organiz\u00e1-la com guias espec\u00edficos, como <strong>using-kinsta-stsh.md<\/strong>. Quando voc\u00ea emprega essa estrutura, o conte\u00fado em <strong>using-kinsta-stsh.md<\/strong> torna-se acess\u00edvel por meio de um URL como http:\/\/localhost:8080\/guide\/using-kinsta-stsh.<\/p>\n<p>Voc\u00ea tamb\u00e9m pode criar um arquivo <strong>README.md<\/strong> ou <strong>index.md<\/strong> no n\u00edvel raiz da pasta <strong>guide<\/strong>. Esse arquivo servir\u00e1 como p\u00e1gina de \u00edndice, permitindo que os usu\u00e1rios naveguem para http:\/\/localhost:8080\/guide\/ e acessem convenientemente o conte\u00fado com uma barra lateral que voc\u00ea aprender\u00e1 a configurar na pr\u00f3xima se\u00e7\u00e3o.<\/p>\n<p>Neste <a href=\"https:\/\/github.com\/kinsta\/vuepress-starter-docs-blog\" target=\"_blank\" rel=\"noopener noreferrer\">reposit\u00f3rio de amostra do VuePress<\/a>, voc\u00ea notar\u00e1 que todos esses arquivos foram criados e que algum conte\u00fado markdown foi adicionado a cada arquivo. Sinta-se \u00e0 vontade para criar seus arquivos de acordo com suas prefer\u00eancias, seja do zero para atender \u00e0s suas necessidades espec\u00edficas ou inspirando-se no conte\u00fado dispon\u00edvel no reposit\u00f3rio.<\/p>\n<h2>Personalizando a apar\u00eancia do VuePress<\/h2>\n<p>Depois de criar seu site de documenta\u00e7\u00e3o com conte\u00fado, voc\u00ea pode achar dif\u00edcil navegar nele, especialmente se tiver muitos arquivos para gerenciar. No entanto, o VuePress permite que voc\u00ea personalize a estrutura de navega\u00e7\u00e3o do seu site para torn\u00e1-lo mais f\u00e1cil de usar e organizado.<\/p>\n<p>Para personalizar a apar\u00eancia e a navega\u00e7\u00e3o do seu site, crie uma pasta <strong>.vuepress<\/strong> no diret\u00f3rio raiz do seu projeto. Essa pasta conter\u00e1 arquivos de configura\u00e7\u00e3o e ativos relacionados ao seu site VuePress.<\/p>\n<h3>Configura\u00e7\u00e3o de navega\u00e7\u00e3o<\/h3>\n<p>Na pasta <strong>.vuepress<\/strong>, crie um arquivo <strong>config.js<\/strong>. Voc\u00ea tamb\u00e9m pode usar outros formatos de arquivo como YAML (.yml), TOML (.toml) ou TypeScript (.ts) para sua configura\u00e7\u00e3o.<\/p>\n<p>No seu arquivo <strong>config.js<\/strong>, voc\u00ea pode definir a estrutura de navega\u00e7\u00e3o do seu site usando o objeto <code>themeConfig<\/code>. Aqui est\u00e1 um exemplo de configura\u00e7\u00e3o:<\/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>Neste exemplo, estamos configurando as se\u00e7\u00f5es <code>title<\/code> e <code>description<\/code> do site, definindo links de navega\u00e7\u00e3o e configurando uma barra lateral para a se\u00e7\u00e3o <code>\/guide\/<\/code>.<\/p>\n<p>A array <code>nav<\/code> especifica os links de navega\u00e7\u00e3o na parte superior do site. O objeto sidebar define a estrutura da barra lateral para se\u00e7\u00f5es espec\u00edficas. Nesse caso, ele est\u00e1 configurado para a se\u00e7\u00e3o <code>\/guide\/<\/code>.<\/p>\n<p>Voc\u00ea pode ler mais sobre a <a href=\"https:\/\/vuepress.vuejs.org\/theme\/default-theme-config.html#navbar\" target=\"_blank\" rel=\"noopener noreferrer\">configura\u00e7\u00e3o da barra<\/a> de navega\u00e7\u00e3o na documenta\u00e7\u00e3o do VuePress.\u00a0 \u00a0 <aside data-AhmnW0=\"Z0RaWVh2clI=\" class=\"WzEwMTgsOTc3LDEwMDld\" data-Jq6AW=\"QUw3QzFwX2V3MEVNOG8=\" data-WpJ=\"YnYueFgtUUxUV0YyUw==\" data-pGlE4_=\"ZjBvRkd6T05SbnB0YlBnNUNs\" data-hlK31JZ=\"c19WQ2RuMUZTNjVZeG8ta3lE\" data-Brn=\"RWtqbWY3Z3ZXZDUt\" id=\"NjM5NjA=\" data-WR7jc=\"SDFEak81Y0tTUW1BVDdsQnZOcQ==\" data-cDS=\"QVRMVkNPdTNXaE1EVXdrLW5TOWU0cw==\" data--x=\"a3UzYzdTNndFUjl2cnFiQ08=\" data-xpDJqm=\"RDZJdHFGX0pWdUU0\" data-D=\"V1JmX3dwVDk=\" data-r3koi=\"Im1pZGRsZSI=|InB0X1BUIg==\"><\/aside><\/p>\n<h3>Estilo<\/h3>\n<p>O VuePress permite que voc\u00ea personalize a apar\u00eancia do seu site por meio de estilos. Voc\u00ea pode substituir os estilos padr\u00e3o usando algumas vari\u00e1veis definidas ou definir seu pr\u00f3prio estilo. Para fazer isso, voc\u00ea deve criar uma pasta de <strong>estilos<\/strong> na pasta <strong>.vuepress<\/strong><\/p>\n<p>Para aplicar substitui\u00e7\u00f5es simples ao estilo da predefini\u00e7\u00e3o padr\u00e3o ou definir algumas vari\u00e1veis a serem usadas posteriormente, voc\u00ea pode criar um arquivo <strong>palette.styl<\/strong> em <strong>.vuepress\/styles<\/strong>. Estas s\u00e3o algumas vari\u00e1veis predefinidas que voc\u00ea pode ajustar:<\/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>Essas vari\u00e1veis podem ser usadas para manter um estilo consistente em todo o seu site. O VuePress tamb\u00e9m oferece uma maneira conveniente de voc\u00ea adicionar estilos extras. Voc\u00ea pode criar um arquivo <strong>index.styl<\/strong> na pasta <strong>.vuepress\/styles<\/strong>, onde pode usar a <a href=\"https:\/\/kinsta.com\/pt\/blog\/melhores-praticas-css\/\">sintaxe CSS<\/a> normal:<\/p>\n<pre><code class=\"language-css\">.content {\n  font-size 30px\n}<\/code><\/pre>\n<p>Leia mais sobre <a href=\"https:\/\/vuepress.vuejs.org\/config\/#styling\" target=\"_blank\" rel=\"noopener noreferrer\">como estilizar o VuePress<\/a> na documenta\u00e7\u00e3o oficial.<\/p>\n<h3>Uso de componentes<\/h3>\n<p>O VuePress suporta o uso de componentes para aprimorar a funcionalidade e a apar\u00eancia de suas p\u00e1ginas. Voc\u00ea pode criar componentes Vue e inclu\u00ed-los em seus arquivos Markdown. Criar um componente em <strong>.vuepres<\/strong> e, em seguida, todos os arquivos <code>*.vue<\/code> encontrados em <strong>.vuepress\/components<\/strong> s\u00e3o automaticamente registrados como componentes globais.<\/p>\n<p>Por exemplo, considere a cria\u00e7\u00e3o de dois componentes, <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>Dentro desses arquivos de componentes vue.js, voc\u00ea pode adicionar c\u00f3digos CSS. Vamos adicionar c\u00f3digo aos componentes <strong>HomeOptions.vue<\/strong> e <strong>HostingBanner.vue<\/strong>.<\/p>\n<p>Adicione o c\u00f3digo abaixo ao <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>Al\u00e9m disso, adicione o c\u00f3digo abaixo ao <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 qualquer arquivo Markdown, voc\u00ea pode usar diretamente os componentes (os nomes s\u00e3o inferidos a partir dos nomes dos arquivos):<\/p>\n<pre><code class=\"language-md\">&lt;HomeOptions\/&gt;\n&lt;HostingBanner\/&gt;<\/code><\/pre>\n<p>Leia mais sobre <a href=\"https:\/\/vuepress.vuejs.org\/guide\/using-vue.html#using-components\" target=\"_blank\" rel=\"noopener noreferrer\">componentes no VuePress<\/a> na documenta\u00e7\u00e3o.<\/p>\n<h3>Personalizando a p\u00e1gina inicial<\/h3>\n<p>No VuePress, o tema padr\u00e3o oferece um layout de p\u00e1gina inicial predefinido que voc\u00ea pode usar para criar um ponto de partida envolvente e informativo para o seu site. Para usar esse layout de p\u00e1gina inicial, voc\u00ea precisa especificar <code>home: true<\/code> e incluir alguns metadados adicionais no frontmatter YAML do seu arquivo raiz <strong>README.md<\/strong>.<\/p>\n<p>Aqui est\u00e1 um exemplo do 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 essas configura\u00e7\u00f5es fazem com que a p\u00e1gina inicial da sua documenta\u00e7\u00e3o tenha a seguinte apar\u00eancia:<\/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=\"P\u00e1gina inicial padr\u00e3o do VuePress.\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">P\u00e1gina inicial padr\u00e3o do VuePress.<\/figcaption><\/figure>\n<p>Vale a pena observar que voc\u00ea pode desativar <code>heroText<\/code> e <code>tagline<\/code> ou qualquer outro valor definindo seus campos correspondentes como <code>null<\/code> se preferir um layout mais simples ou n\u00e3o inclu\u00ed-lo. Qualquer conte\u00fado que voc\u00ea incluir ap\u00f3s o frontmatter YAML (ou seja, a se\u00e7\u00e3o de metadados) ser\u00e1 tratado como Markdown regular e ser\u00e1 renderizado ap\u00f3s a se\u00e7\u00e3o de recursos.<\/p>\n<p>Se voc\u00ea quiser um layout de p\u00e1gina inicial totalmente personalizado, o VuePress tamb\u00e9m oferece suporte a Layouts personalizados. Al\u00e9m disso, voc\u00ea pode criar um rodap\u00e9 com rich text usando a sintaxe de slot Markdown, oferecendo mais flexibilidade na exibi\u00e7\u00e3o do conte\u00fado do rodap\u00e9. Aqui est\u00e1 um exemplo de como voc\u00ea pode definir um rodap\u00e9 com rich-text:<\/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>Nesse caso, o conte\u00fado da se\u00e7\u00e3o <code>::: slot footer<\/code> permite que voc\u00ea inclua links e informa\u00e7\u00f5es adicionais na \u00e1rea do rodap\u00e9 da sua p\u00e1gina inicial.<\/p>\n<p>Agora que voc\u00ea sabe como realizar as personaliza\u00e7\u00f5es acima, adicione os componentes criados anteriormente \u00e0 p\u00e1gina inicial e remova algumas op\u00e7\u00f5es para que a p\u00e1gina inicial tenha uma apar\u00eancia melhor:<\/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=\"Usando componentes na p\u00e1gina inicial do VuePress.\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Usando componentes na p\u00e1gina inicial do VuePress.<\/figcaption><\/figure>\n<p>Seguindo essas t\u00e9cnicas de personaliza\u00e7\u00e3o do VuePress, voc\u00ea pode criar um site de documenta\u00e7\u00e3o que n\u00e3o apenas forne\u00e7a conte\u00fado valioso, mas tamb\u00e9m ofere\u00e7a uma excelente experi\u00eancia ao usu\u00e1rio com navega\u00e7\u00e3o organizada e estilo atraente.<\/p>\n<p>Voc\u00ea pode ler mais sobre a <a href=\"https:\/\/vuepress.vuejs.org\/theme\/default-theme-config.html\" target=\"_blank\" rel=\"noopener noreferrer\">personaliza\u00e7\u00e3o do tema padr\u00e3o<\/a> na documenta\u00e7\u00e3o.<\/p>\n<h2>Criando uma se\u00e7\u00e3o de blog com o VuePress<\/h2>\n<p>Adicionar uma se\u00e7\u00e3o de blog ao seu site VuePress \u00e9 muito f\u00e1cil, pois o VuePress permite que voc\u00ea escreva componentes Vue personalizados que podem ser inseridos em qualquer arquivo Markdown. Vamos criar um componente que renderizar\u00e1 a lista de publica\u00e7\u00f5es do blog.<\/p>\n<p>Crie um arquivo <strong>BlogIndex.vue<\/strong> na pasta de <strong>components<\/strong>\u00a0e adicione o seguinte 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>No trecho de c\u00f3digo fornecido, voc\u00ea define um template Vue que percorre as publica\u00e7\u00f5es do seu blog usando <code>v-for<\/code>, exibindo o t\u00edtulo do artigo, a descri\u00e7\u00e3o e um link &#8220;Leia mais&#8221; para cada publica\u00e7\u00e3o.<\/p>\n<p>A se\u00e7\u00e3o de script exporta um componente Vue que calcula e recupera as publica\u00e7\u00f5es do blog. Essas publica\u00e7\u00f5es s\u00e3o filtradas com base em seu caminho (come\u00e7ando com <code>\/blog\/<\/code>) e na aus\u00eancia de um atributo de frontmatter <code>blog_index<\/code>. Em seguida, elas s\u00e3o classificadas por data em ordem decrescente para apresentar primeiro as publica\u00e7\u00f5es mais recentes.<\/p>\n<p>Ao criar novos artigos de blog, voc\u00ea precisar\u00e1 especificar a data da publica\u00e7\u00e3o como parte das informa\u00e7\u00f5es do frontmatter. Isso ajudar\u00e1 a classificar os artigos de modo que as mais recentes apare\u00e7am primeiro.<\/p>\n<p>Para armazenar os artigos do blog, crie uma pasta chamada <strong>blog<\/strong> na raiz do projeto. Nessa pasta, adicione um arquivo <strong>README.md<\/strong>. Esse ser\u00e1 o \u00edndice do blog e \u00e9 onde voc\u00ea incluir\u00e1 o componente <code>BlogIndex<\/code> para listar todos os artigos do 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>Certifique-se de adicionar o atributo <code>blog_index<\/code> frontmatter, pois ele \u00e9 fundamental para garantir que o pr\u00f3prio \u00edndice do blog n\u00e3o seja listado entre os artigos individuais do blog. Esse atributo \u00e9 utilizado quando voc\u00ea filtra os artigos na propriedade posts computed do componente <strong>BlogIndex.vue<\/strong>.<\/p>\n<p>Em seguida, crie uma pasta de blog na raiz do projeto que armazenar\u00e1 todos os artigos do blog e criar\u00e1 cada artigo. Por exemplo, crie um arquivo <strong>first-post.md<\/strong> e adicione o seguinte conte\u00fado 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 artigo de blog, certifique-se de que voc\u00ea definiu as configura\u00e7\u00f5es essenciais do frontmatter, como o t\u00edtulo do artigo, a data e outros metadados relevantes. Essa organiza\u00e7\u00e3o meticulosa garante que as publica\u00e7\u00f5es do blog sejam apresentadas de forma coesa e proporciona uma experi\u00eancia de leitura atraente para o seu p\u00fablico.<\/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\/using-blog-in-vuepress.png\" alt=\"Adicionando um blog ao VuePress.\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Adicionando um blog ao VuePress.<\/figcaption><\/figure>\n<p>Por fim, voc\u00ea pode adicionar a navega\u00e7\u00e3o do blog \u00e0 sua barra de navega\u00e7\u00e3o no arquivo <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>H\u00e1 muito mais que voc\u00ea pode fazer com o VuePress, como <a href=\"https:\/\/vuepress.vuejs.org\/plugin\/using-a-plugin.html\" target=\"_blank\" rel=\"noopener noreferrer\">adicionar plugins<\/a>, <a href=\"https:\/\/vuepress.vuejs.org\/theme\/using-a-theme.html\" target=\"_blank\" rel=\"noopener noreferrer\">usar um tema separado<\/a> ou at\u00e9 mesmo <a href=\"https:\/\/vuepress.vuejs.org\/theme\/writing-a-theme.html\" target=\"_blank\" rel=\"noopener noreferrer\">criar seu pr\u00f3prio tema<\/a>.<\/p>\n<h2>Implante o site est\u00e1tico do VuePress na Kinsta<\/h2>\n<p>A Kinsta permite que voc\u00ea hospede <a href=\"https:\/\/docs.sevalla.com\/static-sites\/overview\">at\u00e9 100 sites est\u00e1ticos<\/a> <strong>gratuitamente<\/strong>. Voc\u00ea pode fazer isso enviando seu c\u00f3digo para o provedor Git de sua prefer\u00eancia (<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> ou <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/gitlab#authorize-the-kinsta-gitlab-application\">GitLab<\/a>) e depois implantar na Kinsta.<\/p>\n<p>Antes de enviar seus arquivos para qualquer provedor Git, crie um <a href=\"https:\/\/kinsta.com\/pt\/blog\/nao-funcionamento-do-gitignore\/\">arquivo .gitignore<\/a> na raiz do seu projeto para especificar os arquivos e pastas que o Git deve ignorar ao enviar seu 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>Voc\u00ea pode configurar outro local para que o SSG do VuePress seja compilado adicionando um destino em <strong>.vuepress\/config.js<\/strong> usando <code>dest<\/code>, por exemplo, <code>dest: 'public',<\/code>.<\/p>\n<\/aside>\n\n<p>Para este guia, usamos o GitHub. Crie um reposit\u00f3rio no GitHub para <a href=\"https:\/\/kinsta.com\/pt\/blog\/push-codigo-github\/\">enviar seu c\u00f3digo-fonte<\/a>. Quando seu reposit\u00f3rio estiver pronto, siga estas etapas para implantar seu site est\u00e1tico na Kinsta:<\/p>\n<ol start=\"1\">\n<li>Fa\u00e7a login ou crie uma conta para visualizar seu painel <a href=\"https:\/\/my.kinsta.com\/?lang=pt\">MyKinsta<\/a>.<\/li>\n<li>Autorize a Kinsta com seu provedor Git.<\/li>\n<li>Clique em <strong>Sites est\u00e1ticos<\/strong> na barra lateral esquerda e, em seguida, clique em <strong>Adicionar site<\/strong>.<\/li>\n<li>Selecione o reposit\u00f3rio e a branch a partir da qual voc\u00ea deseja implantar.<\/li>\n<li>Atribua um nome exclusivo ao seu site.<\/li>\n<li>Adicione as configura\u00e7\u00f5es de build no seguinte formato:\n<ul>\n<li><strong>Comando de build<\/strong>: <code>npm run build<\/code><\/li>\n<li><strong>Vers\u00e3o do node<\/strong>: <code>16.20.0<\/code><\/li>\n<li><strong>Diret\u00f3rio de publica\u00e7\u00e3o<\/strong>: <code>.\/docs\/.vuepress\/dist<\/code> ou <code>public<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"7\">\n<li>Por fim, clique em <strong>Criar site<\/strong>.<\/li>\n<\/ol>\n<p>E \u00e9 isso! Agora voc\u00ea tem um site implantado em poucos segundos. Voc\u00ea receber\u00e1 um link para acessar a vers\u00e3o implantada do seu site. Posteriormente, voc\u00ea poder\u00e1 adicionar seu <a href=\"https:\/\/docs.sevalla.com\/applications\/domains\">dom\u00ednio personalizado<\/a> e o <a href=\"https:\/\/docs.sevalla.com\/applications\/domains#install-a-custom-ssl-certificate\">certificado SSL<\/a>, se desejar.<\/p>\n<p>Como alternativa \u00e0 Hospedagem de Site Est\u00e1tico, voc\u00ea pode optar por implantar seu site est\u00e1tico com a <a href=\"https:\/\/sevalla.com\/application-hosting\/\">Hospedagem de Aplicativos<\/a> da Kinsta, que oferece maior flexibilidade de hospedagem, uma gama mais ampla de benef\u00edcios e acesso a recursos mais robustos. Por exemplo, escalabilidade, implanta\u00e7\u00e3o personalizada usando um Dockerfile e <a href=\"https:\/\/docs.sevalla.com\/applications\/analytics\">an\u00e1lises abrangentes<\/a> que englobam dados hist\u00f3ricos em tempo real.<\/p>\n<h2>Resumo<\/h2>\n<p>O VuePress \u00e9 uma ferramenta vers\u00e1til e avan\u00e7ada para a cria\u00e7\u00e3o r\u00e1pida de sites de documenta\u00e7\u00e3o e blogs. Com sua configura\u00e7\u00e3o simples, temas personaliz\u00e1veis e plugins, voc\u00ea pode criar uma plataforma informativa e visualmente atraente para o seu p\u00fablico.<\/p>\n<p>Comece a criar seu site VuePress hoje mesmo e compartilhe seu conhecimento com o mundo hospedando gratuitamente em nossa Hospedagem de Site Est\u00e1tico!<\/p>\n<p><em>Voc\u00ea j\u00e1 utilizou o VuePress para criar alguma coisa? Sinta-se \u00e0 vontade para compartilhar seus projetos e experi\u00eancias conosco na se\u00e7\u00e3o de coment\u00e1rios abaixo.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>No cen\u00e1rio digital acelerado de hoje, ter uma documenta\u00e7\u00e3o ou site de blog bem organizado e visualmente atraente \u00e9 essencial para captar a aten\u00e7\u00e3o do seu &#8230;<\/p>\n","protected":false},"author":287,"featured_media":63961,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[1018,977,1009],"class_list":["post-63960","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-ferramentas-desenvolvimento-web","topic-frameworks-javascript","topic-geradores-sites-estaticos"],"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>Crie e Personalize um Site R\u00e1pido de Documenta\u00e7\u00e3o e Blog com VuePress - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Aprenda como criar e personalizar rapidamente seu site de documenta\u00e7\u00e3o e blog usando o VuePress. Comece a criar seu pr\u00f3prio site incr\u00edvel hoje mesmo!\" \/>\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\/pt\/blog\/vuepress\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Crie e Personalize um Site R\u00e1pido de Documenta\u00e7\u00e3o e Blog com VuePress\" \/>\n<meta property=\"og:description\" content=\"Aprenda como criar e personalizar rapidamente seu site de documenta\u00e7\u00e3o e blog usando o VuePress. Comece a criar seu pr\u00f3prio site incr\u00edvel hoje mesmo!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/pt\/blog\/vuepress\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstapt\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-10-11T14:22:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-10-24T06:09:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/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=\"Aprenda como criar e personalizar rapidamente seu site de documenta\u00e7\u00e3o e blog usando o VuePress. Comece a criar seu pr\u00f3prio site incr\u00edvel hoje mesmo!\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/10\/vuepress-1.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@olawanle_joel\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joel Olawanle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\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\/pt\/blog\/vuepress\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/vuepress\/\"},\"author\":{\"name\":\"Joel Olawanle\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\"},\"headline\":\"Crie e Personalize um Site R\u00e1pido de Documenta\u00e7\u00e3o e Blog com VuePress\",\"datePublished\":\"2023-10-11T14:22:48+00:00\",\"dateModified\":\"2023-10-24T06:09:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/vuepress\/\"},\"wordCount\":2543,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/vuepress\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/10\/vuepress-1.jpg\",\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/vuepress\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/vuepress\/\",\"url\":\"https:\/\/kinsta.com\/pt\/blog\/vuepress\/\",\"name\":\"Crie e Personalize um Site R\u00e1pido de Documenta\u00e7\u00e3o e Blog com VuePress - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/vuepress\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/vuepress\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/10\/vuepress-1.jpg\",\"datePublished\":\"2023-10-11T14:22:48+00:00\",\"dateModified\":\"2023-10-24T06:09:24+00:00\",\"description\":\"Aprenda como criar e personalizar rapidamente seu site de documenta\u00e7\u00e3o e blog usando o VuePress. Comece a criar seu pr\u00f3prio site incr\u00edvel hoje mesmo!\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/vuepress\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/vuepress\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/vuepress\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/10\/vuepress-1.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/10\/vuepress-1.jpg\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/vuepress\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Geradores de Sites Est\u00e1ticos\",\"item\":\"https:\/\/kinsta.com\/pt\/topicos\/geradores-sites-estaticos\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Crie e Personalize um Site R\u00e1pido de Documenta\u00e7\u00e3o e Blog com VuePress\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/pt\/#website\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstapt\/\",\"https:\/\/x.com\/kinsta_pt\",\"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\/pt\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\",\"name\":\"Joel Olawanle\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/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\/pt\/blog\/author\/joelolawanle\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Crie e Personalize um Site R\u00e1pido de Documenta\u00e7\u00e3o e Blog com VuePress - Kinsta\u00ae","description":"Aprenda como criar e personalizar rapidamente seu site de documenta\u00e7\u00e3o e blog usando o VuePress. Comece a criar seu pr\u00f3prio site incr\u00edvel hoje mesmo!","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\/pt\/blog\/vuepress\/","og_locale":"pt_PT","og_type":"article","og_title":"Crie e Personalize um Site R\u00e1pido de Documenta\u00e7\u00e3o e Blog com VuePress","og_description":"Aprenda como criar e personalizar rapidamente seu site de documenta\u00e7\u00e3o e blog usando o VuePress. Comece a criar seu pr\u00f3prio site incr\u00edvel hoje mesmo!","og_url":"https:\/\/kinsta.com\/pt\/blog\/vuepress\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstapt\/","article_published_time":"2023-10-11T14:22:48+00:00","article_modified_time":"2023-10-24T06:09:24+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/10\/vuepress-1.jpg","type":"image\/jpeg"}],"author":"Joel Olawanle","twitter_card":"summary_large_image","twitter_description":"Aprenda como criar e personalizar rapidamente seu site de documenta\u00e7\u00e3o e blog usando o VuePress. Comece a criar seu pr\u00f3prio site incr\u00edvel hoje mesmo!","twitter_image":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/10\/vuepress-1.jpg","twitter_creator":"@olawanle_joel","twitter_site":"@kinsta_pt","twitter_misc":{"Escrito por":"Joel Olawanle","Tempo estimado de leitura":"14 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/pt\/blog\/vuepress\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/blog\/vuepress\/"},"author":{"name":"Joel Olawanle","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07"},"headline":"Crie e Personalize um Site R\u00e1pido de Documenta\u00e7\u00e3o e Blog com VuePress","datePublished":"2023-10-11T14:22:48+00:00","dateModified":"2023-10-24T06:09:24+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/vuepress\/"},"wordCount":2543,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/vuepress\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/10\/vuepress-1.jpg","inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/pt\/blog\/vuepress\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/pt\/blog\/vuepress\/","url":"https:\/\/kinsta.com\/pt\/blog\/vuepress\/","name":"Crie e Personalize um Site R\u00e1pido de Documenta\u00e7\u00e3o e Blog com VuePress - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/vuepress\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/vuepress\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/10\/vuepress-1.jpg","datePublished":"2023-10-11T14:22:48+00:00","dateModified":"2023-10-24T06:09:24+00:00","description":"Aprenda como criar e personalizar rapidamente seu site de documenta\u00e7\u00e3o e blog usando o VuePress. Comece a criar seu pr\u00f3prio site incr\u00edvel hoje mesmo!","breadcrumb":{"@id":"https:\/\/kinsta.com\/pt\/blog\/vuepress\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/pt\/blog\/vuepress\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/blog\/vuepress\/#primaryimage","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/10\/vuepress-1.jpg","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/10\/vuepress-1.jpg","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/pt\/blog\/vuepress\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Geradores de Sites Est\u00e1ticos","item":"https:\/\/kinsta.com\/pt\/topicos\/geradores-sites-estaticos\/"},{"@type":"ListItem","position":3,"name":"Crie e Personalize um Site R\u00e1pido de Documenta\u00e7\u00e3o e Blog com VuePress"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/pt\/#website","url":"https:\/\/kinsta.com\/pt\/","name":"Kinsta\u00ae","description":"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura","publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/pt\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstapt\/","https:\/\/x.com\/kinsta_pt","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\/pt\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07","name":"Joel Olawanle","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/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\/pt\/blog\/author\/joelolawanle\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/63960","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/users\/287"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/comments?post=63960"}],"version-history":[{"count":7,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/63960\/revisions"}],"predecessor-version":[{"id":64251,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/63960\/revisions\/64251"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/63960\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/63960\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/63960\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/63960\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/63960\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/63960\/translations\/jp"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/63960\/translations\/es"},{"href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/63960\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media\/63961"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media?parent=63960"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/tags?post=63960"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/topic?post=63960"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}