gitextract_r4l6jmqc/ ├── .babelrc ├── .editorconfig ├── .eslintrc ├── .gitignore ├── .nvmrc ├── .prettierrc ├── Readme.md ├── jsconfig.json ├── next-seo.config.js ├── next.config.js ├── package.json ├── posts/ │ ├── 3-meses-de-globocom.md │ ├── 65-dicas-para-ser-um-programador-melhor.md │ ├── a-estrutura-do-svg.md │ ├── a-historia-por-tras-do-meu-curso-de-react-avancado.md │ ├── a-importancia-do-github-para-desenvolvedores.md │ ├── achievement-concluido-braziljs.md │ ├── adicionando-icone-de-github-nos-projetos-opensource.md │ ├── adicionando-night-mode-no-seu-site.md │ ├── alguns-seletores-css-importantes-para-aprender.md │ ├── analisando-seu-codigo-js-com-linter.md │ ├── animacoes-em-svg-com-css.md │ ├── animando-svg-com-smil.md │ ├── ano-novo-blog-novo.md │ ├── atomic-design-no-svg.md │ ├── atualizacoes.md │ ├── background-fixo-com-css.md │ ├── build-incremental-gatsby-netlify.md │ ├── burnout-e-o-tempo.md │ ├── chamada-curso-git-e-github-na-vida-real.md │ ├── coisas-que-eu-nao-sei-em-ti.md │ ├── colorindo-em-svg.md │ ├── comandos-uteis-do-chrome-devtools.md │ ├── comecando-com-react.md │ ├── como-colocar-seu-site-no-ar-de-graca.md │ ├── como-configurar-o-google-analytics-no-nextjs-em-2021.md │ ├── como-configuro-meu-editor-e-desktop-para-gravar-codigo.md │ ├── como-criar-e-publicar-um-pacote-de-extensoes-do-vscode.md │ ├── como-criar-footer-fixo.md │ ├── como-criar-secoes-fullscreen-com-css.md │ ├── como-criar-um-curso-online.md │ ├── como-criar-um-spinner-loader-com-css-puro-e-uma-div.md │ ├── como-deixar-a-imagem-da-webcam-redonda-no-obs.md │ ├── como-fazer-seu-site-funcionar-offline-com-pwa.md │ ├── como-melhorar-meu-seo.md │ ├── como-mostrar-trechos-de-codigo-num-blog-com-nextjs.md │ ├── como-se-manter-atualizado-no-frontend.md │ ├── como-se-tornar-um-desenvolvedor-front-end.md │ ├── como-ter-um-blog-ajuda-a-conseguir-oportunidades.md │ ├── como-um-patinho-me-ajudou-a-ser-um-programador-melhor.md │ ├── como-usar-e-se-comportar-melhor-em-chats.md │ ├── como-usar-o-google-analytics-events-tracker.md │ ├── como-usar-o-reactjs.md │ ├── como-usar-svg.md │ ├── configurando-2-contas-de-git-no-mesmo-computador.md │ ├── configurando-o-macbook-m1-para-desenvolvimento-web.md │ ├── configurando-o-webpack-para-rodar-react-e-es6.md │ ├── convertendo-um-class-based-component-para-react-hooks.md │ ├── criando-animacao-ondas-css-svg.md │ ├── criando-apresentacoes-e-hospedando-no-github.md │ ├── criando-botao-animado-com-css-e-svg.md │ ├── criando-componente-de-tipografia-com-styled-components.md │ ├── criando-componentes-react-com-testes-lyef-flag.md │ ├── criando-componentes-usando-so-es6.md │ ├── criando-e-exportando-svg-para-web.md │ ├── criando-efeito-parallax-no-header.md │ ├── criando-icone-menu-hamburguer-animado-com-css-puro.md │ ├── criando-imagens-bonitas-de-codigo.md │ ├── criando-menu-fullscreen-animado-com-css-puro.md │ ├── criando-o-efeito-da-chuva-do-matrix-com-javascript-puro.md │ ├── criando-reading-progress-com-css-variables.md │ ├── criando-svg-responsivo.md │ ├── criando-textos-responsivos-com-css.md │ ├── criando-toda-a-estrutura-de-um-site-usando-o-strapi-cms.md │ ├── criando-um-background-com-gradient-animado.md │ ├── criando-um-codepen-simples-em-poucas-linhas.md │ ├── criando-um-loader-animado-em-svg.md │ ├── criando-um-menu-off-canvas-com-css3.md │ ├── criando-um-react-custom-hook-com-testes.md │ ├── criando-um-switch-button-com-css.md │ ├── criando-um-tooltip-animado-com-css-clip-path.md │ ├── criando-uma-animacao-de-card-com-hover.md │ ├── criando-uma-animacao-de-digitacao-com-css.md │ ├── criando-uma-animacao-de-reveal-block-com-css.md │ ├── criando-uma-lib-js-com-testes-do-zero.md │ ├── customizando-o-disqus.md │ ├── debugando-e-agilizando-testes-na-react-testing-library.md │ ├── devo-fazer-faculdade.md │ ├── devs-brasileiros-gringos-trabalhar-exterior.md │ ├── dez-anos-de-blog.md │ ├── dica-de-css-scroll-snap.md │ ├── dica-rapida-1.md │ ├── diga-nao-ao-medium-tenha-sua-propria-plataforma.md │ ├── dominio-proprio-no-github-pages.md │ ├── efeito-de-desenhar-com-svg.md │ ├── entendendo-especificidade-em-css.md │ ├── entendendo-testes-de-software.md │ ├── erros-comuns-com-o-react-testing-library.md │ ├── esta-tudo-bem-nao-fazer-nada.md │ ├── estilizando-svg-com-css-parte-1.md │ ├── estilizando-svg-com-css-parte-2.md │ ├── exemplos-de-sites-com-parallax.md │ ├── falando-sobre-rscss.md │ ├── fazendo-o-browser-falar-por-voce-web-speech-api.md │ ├── feito-e-melhor-que-perfeito.md │ ├── filtros-css.md │ ├── formatando-datas-com-js-puro.md │ ├── formatando-numero-em-dinheiro-com-js-puro.md │ ├── fundamentos-javascript-antes-de-aprender-react.md │ ├── gatsby-e-nextjs-performance-e-developer-experience.md │ ├── guia-como-contribuir-em-open-source.md │ ├── habemus-react-hooks.md │ ├── happy-halloween-caca-ao-tesouro.md │ ├── https-no-github-pages-com-custom-domain.md │ ├── introducao-ao-strapi-headless-cms.md │ ├── js-com-tdd-na-pratica-e-novidades.md │ ├── juntando-arrays-e-objetos-com-spread-syntax-no-javascript.md │ ├── lancamento-curso-de-git-e-github-na-vida-real.md │ ├── links-da-semana-1.md │ ├── links-da-semana-2.md │ ├── links-da-semana-3.md │ ├── links-da-semana-4.md │ ├── links-da-semana-5.md │ ├── links-da-semana-6.md │ ├── lista-de-dicas-de-seo-para-devs.md │ ├── lyef-criando-componentes-desacoplados-em-reactjs.md │ ├── mais-de-10-mil-alunos-na-udemy.md │ ├── making-of-blog-novo-gatsby-js.md │ ├── making-of-parte-1.md │ ├── making-of-parte-2.md │ ├── manipulando-svg-com-js.md │ ├── mantendo-seu-projeto-atualizado-com-dependabot-e-github-actions.md │ ├── mask-e-clip-com-css-e-svg.md │ ├── medindo-performance-do-seu-site-com-lighthouse.md │ ├── menu-sticky-e-smooth-scroll-com-css-puro.md │ ├── meu-ano-de-2015.md │ ├── meu-ano-de-2016.md │ ├── meu-ano-de-2017.md │ ├── meu-ano-de-2018.md │ ├── meu-ano-de-2019.md │ ├── meu-ano-de-2020.md │ ├── meu-ano-de-2021.md │ ├── meu-ano-de-2023.md │ ├── meu-ano-de-2024.md │ ├── meu-dia-a-dia-como-dev-frontend.md │ ├── meu-processo-para-a-toptal.md │ ├── meu-setup.md │ ├── meus-15-dias-no-chile.md │ ├── meus-20-dias-no-peru.md │ ├── meus-50-dias-na-espanha.md │ ├── meus-plugins-favoritos-do-sublime-text.md │ ├── migrei-meu-blog-do-gatsby-para-o-nextjs.md │ ├── migrei-para-o-vscode-e-estou-feliz.md │ ├── minha-trajetoria-ate-ser-desenvolvedor.md │ ├── minhas-experiencias-com-trabalho-remoto-em-ti.md │ ├── mini-curso-gratuito-de-typescript.md │ ├── mostrando-ultimos-posts-e-videos-no-github-profile.md │ ├── mudando-sua-vida-atraves-de-projetos-paralelos.md │ ├── mude.md │ ├── mulheres-na-tecnologia.md │ ├── nextjs-gatsby-ou-create-react-app-entendendo-os-conceitos-de-ssr-ssg-e-spa.md │ ├── novidades-do-react-16.md │ ├── novo-curso-criando-um-ambiente-de-desenvolvimento-no-windows.md │ ├── novo-curso-de-git-e-github-para-iniciantes.md │ ├── novo-projeto-awesome-audioviz.md │ ├── o-basico-da-api-do-reactjs.md │ ├── o-que-ninguem-diz-para-iniciantes.md │ ├── o-que-preciso-saber-para-trabalhar-no-exterior.md │ ├── onde-baixar-svg.md │ ├── organizando-seu-css-com-itcss.md │ ├── perfomance-web-critical-css-e-jekyll.md │ ├── performance-web-evite-escrever-html-demais.md │ ├── performance-web-usando-fontes-do-sistema.md │ ├── perguntas-e-respostas-jekyll.md │ ├── por-que-ir-em-eventos-vale-a-pena.md │ ├── por-que-usar-jekyll.md │ ├── por-que-usar-svg.md │ ├── porque-eu-evito-funcoes-anonimas.md │ ├── pre-venda-curso-de-svg.md │ ├── refatorando-componentes-react-para-es6.md │ ├── saude-deve-ser-a-prioridade.md │ ├── semantic-version.md │ ├── share-button-sem-dependencias.md │ ├── sistemas-de-icones-em-svg.md │ ├── social-meta-tags.md │ ├── sou-bom-o-suficiente.md │ ├── talk-uma-conversa-sobre-trabalho-remoto.md │ ├── tecnicas-de-aprendizado.md │ ├── theme-color-android-lollipop.md │ ├── trabalhando-com-a-tela-util-do-iphone.md │ ├── trabalhando-com-git-hooks-de-forma-facil.md │ ├── um-novo-projeto-um-novo-desafio.md │ ├── um-post-por-dia.md │ ├── um-tema-para-todos-os-lugares-dracula-pro.md │ ├── usando-netlify-cms-com-nextjs-vercel-e-github.md │ ├── usando-o-preact-no-nextjs-para-mais-performance.md │ ├── usando-svg-sprites.md │ ├── usando-um-agregador-de-conteudo.md │ ├── utilizando-css-counters.md │ ├── utilizando-svg-sprites-com-react.md │ ├── valorize-suas-conquistas.md │ ├── varrendo-seu-site-atras-de-links-quebrados.md │ ├── video-em-background-com-object-fit.md │ ├── video-iniciando-um-app-react-em-3-minutos.md │ └── vindo-morar-e-estudar-na-irlanda.md ├── public/ │ ├── cms/ │ │ ├── config.yml │ │ └── index.html │ └── robots.txt └── src/ ├── components/ │ ├── Analytics/ │ │ └── index.js │ ├── Avatar/ │ │ ├── index.js │ │ └── styled.js │ ├── Comments/ │ │ └── index.js │ ├── Course/ │ │ ├── index.js │ │ └── styled.js │ ├── Layout/ │ │ ├── index.js │ │ └── styled.js │ ├── MenuBar/ │ │ ├── index.js │ │ └── styled.js │ ├── MenuLinks/ │ │ ├── content.js │ │ ├── index.js │ │ └── styled.js │ ├── Pagination/ │ │ ├── index.js │ │ └── styled.js │ ├── Post/ │ │ ├── index.js │ │ └── styled.js │ ├── Profile/ │ │ ├── index.js │ │ └── styled.js │ ├── RecommendedPosts/ │ │ ├── index.js │ │ └── styled.js │ ├── Search/ │ │ ├── Hit.js │ │ ├── index.js │ │ └── styled.js │ ├── Sidebar/ │ │ ├── index.js │ │ └── styled.js │ └── SocialLinks/ │ ├── Icons.js │ ├── content.js │ ├── index.js │ └── styled.js ├── lib/ │ ├── api.js │ ├── buildAlgoliaIndexes.js │ ├── constants.js │ ├── generateRSS.js │ ├── generateSitemap.js │ ├── gtag.js │ ├── markdownToHtml.js │ └── utils.js ├── pages/ │ ├── 404.js │ ├── [slug].js │ ├── _app.js │ ├── _document.js │ ├── about.js │ ├── api/ │ │ ├── auth.js │ │ └── callback.js │ ├── cursos.js │ ├── index.js │ ├── search.js │ └── series.js ├── styles/ │ ├── base.js │ ├── global.js │ └── transitions.js └── templates/ ├── blog-list.js └── blog-post.js