<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Ruan Aragão</title>
    <description>The latest articles on Forem by Ruan Aragão (@ruanaragao).</description>
    <link>https://forem.com/ruanaragao</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F85%2Fdf3cc3e6-6656-431a-a7c8-9d8b07e76c6b.JPG</url>
      <title>Forem: Ruan Aragão</title>
      <link>https://forem.com/ruanaragao</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/ruanaragao"/>
    <language>en</language>
    <item>
      <title>Idealização e escolha de tecnologias</title>
      <dc:creator>Ruan Aragão</dc:creator>
      <pubDate>Mon, 19 Jan 2026 12:25:10 +0000</pubDate>
      <link>https://forem.com/ruanaragao/idealizacao-e-escolha-de-tecnologias-10nk</link>
      <guid>https://forem.com/ruanaragao/idealizacao-e-escolha-de-tecnologias-10nk</guid>
      <description>&lt;h2&gt;
  
  
  Introdução
&lt;/h2&gt;

&lt;p&gt;Essa série será dividida em diversas postagens curtas, pois se eu for fazer postagens grandes, simplesmente não vou concluir. &lt;/p&gt;

&lt;p&gt;Irei (tentar) abordar aqui os detalhes da criação do projeto &lt;a href="https://github.com/shopmaior/caju-blog" rel="noopener noreferrer"&gt;Blog do Caju&lt;/a&gt; e os motivos das principais tomadas de decisão.&lt;/p&gt;

&lt;h2&gt;
  
  
  Escolha das tecnologias
&lt;/h2&gt;

&lt;p&gt;Sabemos que hoje temos um oceano de opções para criar projetos, principalmente blogs. Então, para tomar a melhor decisão, precisamos saber onde queremos chegar, qual a principal finalidade do blog. Com isso, quero dizer: qual será o produto final de aproveitamento dele.&lt;/p&gt;

&lt;h3&gt;
  
  
  Qual o "ouro" desse blog?
&lt;/h3&gt;

&lt;p&gt;Estou desenvolvendo outro projeto chamado Caju Ofertas, um HUB de empresas locais focadas em segmentação, um dos principais topo de funil que estou preocupado é o engajamento orgânico e indexação pelos motores de busca, então um blog recheado de informações buscadas diariamente pelo meu público é uma excelente porta de entrada, esse é um terreno que precisava ir preparando desde já.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;O "ouro", ou seja, o produto de valor resultante do processo.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Precisamos entender nosso público, saber como ele age, de onde vem, porque vem, o que querem.&lt;/p&gt;

&lt;h3&gt;
  
  
  Requisitos
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;del&gt;Não temos dinheiro!&lt;/del&gt; &lt;em&gt;Budget&lt;/em&gt; reduzido para o projeto.&lt;/li&gt;
&lt;li&gt;Requisito 1&lt;/li&gt;
&lt;li&gt;Requisito 2&lt;/li&gt;
&lt;li&gt;SEO próximo da perfeição&lt;/li&gt;
&lt;li&gt;Identidade visual do projeto&lt;/li&gt;
&lt;li&gt;Acessibilidade&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Foi isso, ou mais ou menos o que lembro.&lt;/p&gt;

&lt;p&gt;Então, não sei se falei (risos), mas não temos dinheiro, então deveria ser algo com custo zero (ou quase).&lt;/p&gt;

&lt;p&gt;A opção que quase segui foi o Google Blogger, em um primeiro olhar seria o mais barato, nele poderíamos adicionar domínio personalizado sem ter que pagar por isso, teoricamente teria um SEO ótimo, é do Google hahaha. &lt;/p&gt;

&lt;p&gt;Trazendo para a realidade, seria um barato que se tornaria muito caro para o projeto a curto prazo. Logo no início tive muito problema com a personalização, aí que fui fazer um levantamento mais detalhado do projeto e dar o valor adequado para ele.&lt;/p&gt;

&lt;h3&gt;
  
  
  Um passo atrás para dar três à frente
&lt;/h3&gt;

&lt;p&gt;Mantive algumas tecnologias que estou usando na &lt;em&gt;stack&lt;/em&gt; do Caju Ofertas.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Next.js para criação do blog, com ele conseguiria um desenvolvimento ágil e teria os recursos de SSR. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Para armazenas as postagens a escolha foi arquivos MDX dentro do próprio projeto.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Hospedagem fica com a Vercel, pois o ambiente é perfeito para isso e o custo zero*.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Para publicar um projeto sem custos na Vercel o repositório deve ser público, inicialmente isso foi um problema e fui avaliar novamente as opções, uma delas seria abrir o projeto, aí lembrei de que isso faz parte da minha vida e agora mais uma vez poderia manter um projeto de código aberto em um produto real 😍🥰. O que era um problema se tornou uma solução e motivação!&lt;/p&gt;

&lt;p&gt;Finalizo por aqui esta postagem, meus pomodoros para ela acabaram (e bem no momento que imaginei). Até a próxima!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>architecture</category>
      <category>programming</category>
      <category>nextjs</category>
    </item>
    <item>
      <title>Ctrl+C/Ctrl+V não funciona – Ubuntu no VirtualBox</title>
      <dc:creator>Ruan Aragão</dc:creator>
      <pubDate>Sun, 28 Dec 2025 06:38:17 +0000</pubDate>
      <link>https://forem.com/ruanaragao/ctrlcctrlv-nao-funciona-ubuntu-no-virtualbox-mj7</link>
      <guid>https://forem.com/ruanaragao/ctrlcctrlv-nao-funciona-ubuntu-no-virtualbox-mj7</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Instalei Ubuntu no VirtualBox, já habilitei área de transferência e DnD nas configurações, mas mesmo assim não funciona. :/&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Isso é &lt;strong&gt;bem comum no VirtualBox&lt;/strong&gt; &lt;br&gt;
Habilitar &lt;strong&gt;Área de Transferência&lt;/strong&gt; e &lt;strong&gt;Arrastar e Soltar&lt;/strong&gt; nas configurações não funciona sozinho.&lt;/p&gt;
&lt;h2&gt;
  
  
  Causa principal
&lt;/h2&gt;

&lt;p&gt;Os recursos de &lt;strong&gt;clipboard&lt;/strong&gt; e &lt;strong&gt;Drag &amp;amp; Drop&lt;/strong&gt; só funcionam quando o &lt;strong&gt;Guest Additions&lt;/strong&gt; está corretamente instalado &lt;strong&gt;dentro do Ubuntu&lt;/strong&gt;.&lt;/p&gt;


&lt;h2&gt;
  
  
  Vamos tentar corrigir isso passo a passo
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1. Verifique as configurações da VM
&lt;/h3&gt;

&lt;p&gt;Com a VM desligada:&lt;br&gt;
Configurações → Geral → Avançado&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Área de Transferência: &lt;strong&gt;Bidirecional&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Arrastar e Soltar: &lt;strong&gt;Bidirecional&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ligue a VM depois disso.&lt;/p&gt;


&lt;h3&gt;
  
  
  2. Instalar dependências no Ubuntu
&lt;/h3&gt;

&lt;p&gt;No Ubuntu, abra o terminal e execute os comandos:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; build-essential dkms linux-headers-&lt;span class="si"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;uname&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  3. Inserir o Guest Additions
&lt;/h3&gt;

&lt;p&gt;No menu do VirtualBox (com a VM ligada):&lt;/p&gt;

&lt;p&gt;Dispositivos → Inserir imagem de CD dos Adicionais para Convidado&lt;/p&gt;

&lt;p&gt;Se pedir para baixar, &lt;strong&gt;aceite&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqzcl2jz40vjzpu2d8zil.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqzcl2jz40vjzpu2d8zil.png" alt="Dispositivos → Inserir imagem de CD dos Adicionais para Convidado" width="684" height="409"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  4. Montar e instalar
&lt;/h3&gt;

&lt;p&gt;Normalmente o Ubuntu monta automaticamente.&lt;br&gt;
Se não aparecer nada, rode:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo mkdir&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; /media/cdrom
&lt;span class="nb"&gt;sudo &lt;/span&gt;mount /dev/cdrom /media/cdrom
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agora instale:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /media/&lt;span class="k"&gt;*&lt;/span&gt;/VBox_GAs&lt;span class="k"&gt;*&lt;/span&gt;
&lt;span class="nb"&gt;sudo&lt;/span&gt; ./VBoxLinuxAdditions.run
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;⚠️ Se aparecer aviso sobre Wayland, &lt;strong&gt;pode ignorar por enquanto&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  5. Reinicie o Ubuntu
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;reboot
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  Teste
&lt;/h3&gt;

&lt;p&gt;Depois do reboot:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Copie um texto no Windows&lt;/li&gt;
&lt;li&gt;Cole no Ubuntu&lt;/li&gt;
&lt;li&gt;Teste arrastar um arquivo pequeno&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Se funcionar, show de bola, resolvido.&lt;/p&gt;




&lt;h2&gt;
  
  
  Deu ruim, NÃO funcionou?
&lt;/h2&gt;

&lt;p&gt;O Ubuntu recente usa &lt;strong&gt;Wayland&lt;/strong&gt;, e o VirtualBox &lt;strong&gt;tem limitações&lt;/strong&gt; com clipboard/DnD nele.&lt;/p&gt;

&lt;p&gt;Confirme se os módulos estão carregados:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;lsmod | &lt;span class="nb"&gt;grep &lt;/span&gt;vbox
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Deve aparecer algo como:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;vboxguest
vboxsf
vboxvideo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Para compartilhar arquivos sem DnD (muito útil):
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Configurações → Pastas Compartilhadas&lt;/li&gt;
&lt;li&gt;Marque:

&lt;ul&gt;
&lt;li&gt;✅ Automontar&lt;/li&gt;
&lt;li&gt;✅ Tornar permanente&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx6r3zo4aez33o7d2fh7n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx6r3zo4aez33o7d2fh7n.png" alt="Configurações → Pastas Compartilhadas" width="800" height="458"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo9uo2ikb6fwtk1ejih6c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo9uo2ikb6fwtk1ejih6c.png" alt="Marque Automontar e Tornar permanente" width="800" height="458"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No Ubuntu, o caminho será:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/media/sf_nome_da_pasta
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ica903bzg0baepak9ye.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ica903bzg0baepak9ye.png" alt="diretório montado nas mídias" width="800" height="493"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ⚠️ Aparece um alerta de permissão ao tentar entrar na pasta?
&lt;/h3&gt;

&lt;p&gt;Você pode precisar adicionar seu usuário ao grupo &lt;code&gt;vboxusers&lt;/code&gt; com o comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;usermod &lt;span class="nt"&gt;-aG&lt;/span&gt; vboxusers &lt;span class="nv"&gt;$USER&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Caso retorne um erro informando que o grupo não existe, você precisará criar o grupo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;groupadd vboxusers
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Após isso, tente adicionar novamente. Agora deverá funcionar normalmente.&lt;/p&gt;




&lt;p&gt;Caso tenha problemas, não hesite em comentar. Caso não tenha, comente também. &amp;lt;3&lt;/p&gt;

</description>
      <category>ubuntu</category>
      <category>linux</category>
      <category>help</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Create your own calculator</title>
      <dc:creator>Ruan Aragão</dc:creator>
      <pubDate>Tue, 31 Oct 2023 02:41:54 +0000</pubDate>
      <link>https://forem.com/ruanaragao/create-your-own-calculator-1n9i</link>
      <guid>https://forem.com/ruanaragao/create-your-own-calculator-1n9i</guid>
      <description>&lt;h3&gt;
  
  
  Intro
&lt;/h3&gt;

&lt;p&gt;For some years now, participating as a supporter during Hacktoberfest editions, small projects are always offered to the beginner public, so that they can make a valid contribution and learn more about how to contribute in the correct way.&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://github.com/RuanAragao" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F1015013%3Fv%3D4%3Fs%3D400" height="460" class="m-0" width="460"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://github.com/RuanAragao" rel="noopener noreferrer" class="c-link"&gt;
            RuanAragao (Ruan Aragão) · GitHub
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Vamos nos desesperar com calma. RuanAragao has 239 repositories available. Follow their code on GitHub.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.githubassets.com%2Ffavicons%2Ffavicon.svg" width="32" height="32"&gt;
          github.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;h3&gt;
  
  
  Project
&lt;/h3&gt;

&lt;p&gt;The project I focused on in this edition was a calculator, yes, but I'll explain it better below.&lt;/p&gt;

&lt;p&gt;The proposal is for users to create their own calculators. The project has an &lt;code&gt;index.html&lt;/code&gt; which has a title and links to each calculator. There is also a directory called &lt;code&gt;calculators&lt;/code&gt;.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/RuanAragao" rel="noopener noreferrer"&gt;
        RuanAragao
      &lt;/a&gt; / &lt;a href="https://github.com/RuanAragao/calculator" rel="noopener noreferrer"&gt;
        calculator
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Create your own calculator
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Calculator&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;Create your own calculator&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;How&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;⚠️ Firstly, be willing to learn and/or teach. This project is not a PR farm for hacktoberfest.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Star ✨ this project 👀🫶&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Go to &lt;a href="https://github.com/RuanAragao/calculator/issues" rel="noopener noreferrer"&gt;issues&lt;/a&gt; and create a new. Add the name of your calculator in title and comment a short purpose of your calculator.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;Example:&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h4 class="heading-element"&gt;title:&lt;/h4&gt;
&lt;/div&gt;
&lt;p&gt;Screw calculator&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h4 class="heading-element"&gt;comment:&lt;/h4&gt;

&lt;/div&gt;
&lt;p&gt;convert weight to units&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol start="3"&gt;
&lt;li&gt;
&lt;p&gt;Fork this project&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create a folder in &lt;a href="https://github.com/calculators/" rel="noopener noreferrer"&gt;[root]/calculators&lt;/a&gt; with the name of your calculator using the &lt;em&gt;Kebab case&lt;/em&gt; convention.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;Example:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;mkdir example-calculator&lt;/code&gt; &amp;gt; &lt;code&gt;[root]/calculators/example-calculator&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol start="5"&gt;
&lt;li&gt;Inside your folder calculator is required &lt;code&gt;index.html&lt;/code&gt; file with your calculator.&lt;/li&gt;
&lt;li&gt;Edit the &lt;a href="https://github.com/index.html" rel="noopener noreferrer"&gt;/index.html&lt;/a&gt; file and add the your calculator folder link in alphabetical order with a &lt;code&gt;&amp;lt;br&amp;gt;&lt;/code&gt; in the end.
&lt;blockquote&gt;
&lt;p&gt;Example:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;a href="/calculators/example-calculator"&amp;gt;Example Calculator&amp;lt;/a&amp;gt;&amp;lt;br/&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;Open your pull request with "Closes #{your-issue-number}". Example "Closes #10".&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Contributing&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Steps to contribute:&lt;/h3&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Fork the repository by clicking the "Fork" button in the upper right corner of this page.&lt;/li&gt;
&lt;li&gt;Clone…&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/RuanAragao/calculator" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;The contributor creates an issue explaining the function of his calculator (his proposal), he must create his calculator following some basic rules: it will be created within the &lt;code&gt;/calculators&lt;/code&gt; directory and within its own directory; there should be at least one file called &lt;code&gt;index.html&lt;/code&gt;; add the relative link of the calculator to the list of links in the main &lt;code&gt;index.html&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;calculator
├── calculators
│   └── my-awesome-calculator
│       ├── index.html
│       ├── style.css (optional)
│       └── script.js (optional)
└── index.html
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;File and directory names should follow the &lt;em&gt;Kebab Case&lt;/em&gt; convention.&lt;/p&gt;

&lt;h3&gt;
  
  
  Highs and Lows
&lt;/h3&gt;

&lt;p&gt;The challenge of managing people, especially when there are prizes involved. This edition I noticed something new, the generation of code through AI, not just snippets of code, but the entire code, and often the participants had no idea how the code that was generated worked.&lt;/p&gt;

&lt;p&gt;I expected this, but it is still something that causes a certain sadness in us, especially when the person is not worried about learning, about receiving feedback, but just wants to push any PR up to the repository and repeatedly asks us to accept the PR.&lt;/p&gt;

&lt;p&gt;But overall it was really cool, many were there genuinely contributing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Growth
&lt;/h3&gt;

&lt;p&gt;Without a doubt, it was really cool to participate again this time and get the community moving a little, especially allowing some people to contribute for the first time in their lives. I am finishing this edition with more experience in managing projects involving people of multiple nationalities and levels of knowledge.&lt;/p&gt;

</description>
      <category>hack23maintainer</category>
      <category>beginners</category>
      <category>opensource</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Pledge movement (hacktoberfest #10)</title>
      <dc:creator>Ruan Aragão</dc:creator>
      <pubDate>Tue, 03 Oct 2023 13:17:40 +0000</pubDate>
      <link>https://forem.com/ruanaragao/pledge-movement-hacktoberfest-10-4l16</link>
      <guid>https://forem.com/ruanaragao/pledge-movement-hacktoberfest-10-4l16</guid>
      <description>&lt;p&gt;[pt-BR 🇧🇷]&lt;br&gt;
Um evento sempre muito esperado por mim e que sempre participei ativamente, seja de forma online, seja offline. Inclusive acredito que minhas maiores contribuições ao longo desses anos foi de forma offline, encabeçando um &lt;a href="https://hacktoberfest.shopmaior.com.br" rel="noopener noreferrer"&gt;evento presencial na edição de 2019&lt;/a&gt; na cidade de Teresina - Piauí - Brasil&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5k4jiit9t6gbsz0fcm4m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5k4jiit9t6gbsz0fcm4m.png" alt="[Banner Hacktoberfest Teresina 2019](https://hacktoberfest.shopmaior.com.br)" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Infelizmente ano passado não consegui ser ativo, mas nessa edição estou procurando movimentar um pouco por meio de meus repositórios, ou procurando projetos pequenos para participar (deixe o seu nos comentários).&lt;/p&gt;

&lt;p&gt;A DEV community foi uma comunidade que achei magnifica desde o principio. Não lembro como descobri ela, acredito eu que foi por meio do seu repositório aberto, mas depois de entrar meus olhos brilharam. Infelizmente eu já não estava mais em minha época de ouro como escritor de conteúdo de tecnologia, então durante esses anos fui mais consumidor e não gerei nada de conteúdo. Espero mudar isso, espero, e irei me mexer para isso.&lt;/p&gt;

&lt;p&gt;Meu compromisso será o de reforçar e reanimar meu eterno compromisso, o compromisso do movimento! O ciclo de APRENDER - COMPARTILHAR sempre me motivou e isso não pode parar.&lt;/p&gt;

&lt;p&gt;E você, já contribui para a comunidade? Se sim, deixa aí algo interessante nos comentário, vou adorar conhecer. Se você não contribui e tem vontade fala aí também, estou aqui para ajudar nesse primeiro passo.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;HACK - LEARN - FIX - TEACH&lt;/em&gt;&lt;br&gt;
(QUEBRE - APRENDA - CONSERTE - ENSINE)&lt;/p&gt;




&lt;p&gt;[en-US 🇺🇸]&lt;br&gt;
An event that has always been highly anticipated by me and that I have always actively participated in, whether online or offline. I even believe that my biggest contributions over the years were offline, leading an &lt;a href="https://hacktoberfest.shopmaior.com.br" rel="noopener noreferrer"&gt;in-person event in the 2019 edition&lt;/a&gt; in the city of Teresina - Piauí - Brazil&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5k4jiit9t6gbsz0fcm4m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5k4jiit9t6gbsz0fcm4m.png" alt="[Banner Hacktoberfest Teresina 2019](https://hacktoberfest.shopmaior.com.br)" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Unfortunately last year I wasn't able to be active, but in this edition I'm looking to move around a little through my repositories, or looking for small projects to participate in (leave yours in the comments).&lt;/p&gt;

&lt;p&gt;The DEV community was a community that I found magnificent from the beginning. I don't remember how I discovered it, I believe it was through its open repository, but after entering my eyes lit up. Unfortunately, I was no longer in my golden age as a technology content writer, so during those years I was more of a consumer and didn't generate any content. I hope to change that, I hope, and I will move towards it.&lt;/p&gt;

&lt;p&gt;My commitment will be to reinforce and revive my eternal commitment, the commitment of the movement! The LEARN - SHARE cycle has always motivated me and that can't stop.&lt;/p&gt;

&lt;p&gt;And you, do you already contribute to the community? If so, leave something interesting in the comments, I'd love to know. If you don't contribute and want to, say so too, I'm here to help with this first step.&lt;/p&gt;

&lt;p&gt;HACK - LEARN - FIX - TEACH&lt;/p&gt;

</description>
      <category>hacktoberfest23</category>
      <category>opensource</category>
      <category>hacktoberfest</category>
      <category>community</category>
    </item>
    <item>
      <title>Converter texto (string) para número em JavaScript e suas diferenças</title>
      <dc:creator>Ruan Aragão</dc:creator>
      <pubDate>Sat, 04 Mar 2023 03:47:38 +0000</pubDate>
      <link>https://forem.com/ruanaragao/converter-texto-string-para-numero-em-javascript-e-suas-diferencas-5hd1</link>
      <guid>https://forem.com/ruanaragao/converter-texto-string-para-numero-em-javascript-e-suas-diferencas-5hd1</guid>
      <description>&lt;p&gt;Pode parecer até trivial esse tipo de procedimento, mas para quem estar iniciando é bom saber as formas e suas particularidades de realizar uma conversão, evitando assim problemas futuros nos resultados esperados.&lt;/p&gt;

&lt;h2&gt;
  
  
  Number()
&lt;/h2&gt;

&lt;p&gt;Essa é uma função global de conversão para números.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Using the Number() function to convert a string to a number&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;str1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;42&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;num1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Number&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;str1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;  &lt;span class="c1"&gt;// num1 será 42&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Importante ressaltar que ela converte apenas strings que contenham valores numéricos, caso a string contenha valores não numéricos, a função retornará &lt;strong&gt;NaN&lt;/strong&gt; (not a number).&lt;/p&gt;

&lt;p&gt;Por exemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;str2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;hello&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;num2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Number&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;str2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;  &lt;span class="c1"&gt;// num2 será NaN&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Outro detalhe importante é que valores booleanos e vazios serão convertidos também.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;str3&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;num3&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Number&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;str3&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="c1"&gt;// Valor retornado: 0&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Operador unário de adição (+)
&lt;/h2&gt;

&lt;p&gt;A forma mais simples, que conheço, para converter uma string em um inteiro é adicionando o operador unário de adição (+) antes da string (ou variável contendo a string).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;2&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="c1"&gt;// Valor retornado: 2&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;myNumber&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;2&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="nx"&gt;myNumber&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="c1"&gt;// Valor retornado: 2&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;O operador de subtração também consegue realizar casting&lt;br&gt;
Mas atenção!&lt;br&gt;
O operador unário &lt;/p&gt;
&lt;h2&gt;
  
  
  parseInt() e parseFloat()
&lt;/h2&gt;

&lt;p&gt;O &lt;code&gt;parserInt()&lt;/code&gt; é a forma mais comumente usada, recebendo uma string e retornando um inteiro, e o &lt;code&gt;parserFloat()&lt;/code&gt; recendo uma string e retornando um número de ponto flutuante.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Usando parseInt(string, base) para converter uma string para um integer&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;str5&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;42&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;num5&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;parseInt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;str5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;  &lt;span class="c1"&gt;// num5 será 42&lt;/span&gt;

&lt;span class="c1"&gt;// Usando parseFloat(string) para converter uma string para um número de ponto flutuante&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;str6&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;3.14159&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;num6&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;parseFloat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;str6&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;  &lt;span class="c1"&gt;// num6 será 3.14159&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Como viram, no &lt;code&gt;parseInt(string, base)&lt;/code&gt; pode ser fornecido a base de conversão, um inteiro entre 2 e 36. Passei 10, pois queria a base decimal, o que não é obrigatório uma vez que a base 10 é assumida quando não se especifica, mas é sempre recomendado passar a base para ser o mais explícito possível sobre o que está ocorrendo.&lt;/p&gt;

&lt;p&gt;Dependendo da sua necessidade, essa forma de conversão tem uma certa diferença: ao passar uma string vazia e valores booleanos o retorno será NaN. Se tiver dúvidas em qual usar, essa é a melhor escolha para você.&lt;/p&gt;

&lt;p&gt;Também é possível converter strings que comecem com números e tenham caracteres na sequência, por exemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;parseInt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;1984book&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;  &lt;span class="c1"&gt;// o retorno será 1984&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>programming</category>
      <category>webdev</category>
    </item>
    <item>
      <title>FATAL Cannot destructure property 'nuxt' of 'this' as it is undefined.</title>
      <dc:creator>Ruan Aragão</dc:creator>
      <pubDate>Fri, 03 Mar 2023 10:01:35 +0000</pubDate>
      <link>https://forem.com/ruanaragao/fatal-cannot-destructure-property-nuxt-of-this-as-it-is-undefined-16l0</link>
      <guid>https://forem.com/ruanaragao/fatal-cannot-destructure-property-nuxt-of-this-as-it-is-undefined-16l0</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;nuxt
ℹ Using default Tailwind CSS file from runtime/tailwind.css                                                           nuxt:tailwindcss 06:42:07

 FATAL  Cannot destructure property &lt;span class="s1"&gt;'nuxt'&lt;/span&gt; of &lt;span class="s1"&gt;'this'&lt;/span&gt; as it is undefined.                                                               06:42:07

  at postcss8Module &lt;span class="o"&gt;(&lt;/span&gt;node_modules/@nuxt/postcss8/dist/index.js:15:10&lt;span class="o"&gt;)&lt;/span&gt;
  at installModule &lt;span class="o"&gt;(&lt;/span&gt;node_modules/@nuxt/kit/dist/index.mjs:435:21&lt;span class="o"&gt;)&lt;/span&gt;
  at async setup &lt;span class="o"&gt;(&lt;/span&gt;node_modules/@nuxtjs/tailwindcss/dist/module.mjs:186:7&lt;span class="o"&gt;)&lt;/span&gt;
  at async ModuleContainer.normalizedModule &lt;span class="o"&gt;(&lt;/span&gt;node_modules/@nuxt/kit/dist/index.mjs:167:5&lt;span class="o"&gt;)&lt;/span&gt;
  at async ModuleContainer.addModule &lt;span class="o"&gt;(&lt;/span&gt;node_modules/@nuxt/core/dist/core.js:167:20&lt;span class="o"&gt;)&lt;/span&gt;
  at async ModuleContainer.ready &lt;span class="o"&gt;(&lt;/span&gt;node_modules/@nuxt/core/dist/core.js:34:7&lt;span class="o"&gt;)&lt;/span&gt;
  at async Nuxt._init &lt;span class="o"&gt;(&lt;/span&gt;node_modules/@nuxt/core/dist/core.js:342:5&lt;span class="o"&gt;)&lt;/span&gt;


   ╭─────────────────────────────────────────────────────────────────────────────────╮
   │                                                                                 │
   │   ✖ Nuxt Fatal Error                                                            │
   │                                                                                 │
   │   TypeError: Cannot destructure property &lt;span class="s1"&gt;'nuxt'&lt;/span&gt; of &lt;span class="s1"&gt;'this'&lt;/span&gt; as it is undefined.   │
   │                                                                                 │
   ╰─────────────────────────────────────────────────────────────────────────────────╯

error Command failed with &lt;span class="nb"&gt;exit &lt;/span&gt;code 1.
info Visit https://yarnpkg.com/en/docs/cli/run &lt;span class="k"&gt;for &lt;/span&gt;documentation about this command.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;do...&lt;/p&gt;

&lt;p&gt;Add in your package.json:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  "resolutions": {
    "@nuxt/kit": "3.0.0-rc.13"
  }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and run:&lt;br&gt;
&lt;code&gt;$ yarn&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Font: &lt;a href="https://github.com/nuxt-modules/tailwindcss/issues/598" rel="noopener noreferrer"&gt;https://github.com/nuxt-modules/tailwindcss/issues/598&lt;/a&gt;&lt;/p&gt;

</description>
      <category>vue</category>
      <category>tailwindcss</category>
      <category>javascript</category>
      <category>nuxt</category>
    </item>
    <item>
      <title>Animated Car On The Road - Pure SVG (Follow path)</title>
      <dc:creator>Ruan Aragão</dc:creator>
      <pubDate>Thu, 11 Nov 2021 04:55:14 +0000</pubDate>
      <link>https://forem.com/ruanaragao/animated-car-on-the-road-pure-svg-follow-path-1ebi</link>
      <guid>https://forem.com/ruanaragao/animated-car-on-the-road-pure-svg-follow-path-1ebi</guid>
      <description>&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/RuanAragao/embed/yLoqvwe?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>codepen</category>
      <category>svg</category>
      <category>animation</category>
      <category>html</category>
    </item>
  </channel>
</rss>
