<?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>DEV Community: Leo Yassuda</title>
    <description>The latest articles on DEV Community by Leo Yassuda (@leoyassuda).</description>
    <link>https://dev.to/leoyassuda</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%2F446985%2F386ab37c-cd54-45dd-9342-7edbfc665fb6.jpg</url>
      <title>DEV Community: Leo Yassuda</title>
      <link>https://dev.to/leoyassuda</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/leoyassuda"/>
    <language>en</language>
    <item>
      <title>Experimentando o jamstack da Vercel com um encurtador de URLs</title>
      <dc:creator>Leo Yassuda</dc:creator>
      <pubDate>Sat, 05 Sep 2020 16:12:32 +0000</pubDate>
      <link>https://dev.to/leoyassuda/experimentando-o-jamstack-da-vercel-com-um-encurtador-de-urls-2be6</link>
      <guid>https://dev.to/leoyassuda/experimentando-o-jamstack-da-vercel-com-um-encurtador-de-urls-2be6</guid>
      <description>&lt;p&gt;Ultimamente tenho visto em muitos lugares os seguintes nomes: &lt;em&gt;jamstack, Netlify e&lt;/em&gt; &lt;em&gt;Vercel&lt;/em&gt;. Como a curiosidade procurei alguns canais e blogs para saber mais a respeito.&lt;/p&gt;

&lt;p&gt;Sendo breve o termo &lt;em&gt;jamstack&lt;/em&gt; foi criado por &lt;a href="https://twitter.com/biilmann"&gt;Matt Biilmann&lt;/a&gt; (CEO da Netlify) onde ele diz "&lt;em&gt;A modern web development architecture based on client-side JavaScript, reusable APIs, and prebuilt Markup&lt;/em&gt;"&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F01aljdeppscxvbvrzljl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F01aljdeppscxvbvrzljl.png" alt="Alt Text" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Javascript&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Funcionalidades dinâmicas tratadas pelo javascript, sem restrições de framework ou bibliotecas.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;APIs&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Operações executadas no servidor para serem reutilizáveis e acessadas por HTTPS podendo ser de terceiros ou a sua própria função customizada.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;Markup&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Websites entregues tanto em HTML estáticos, podendo ser gerados dos seus arquivos fonte, Markdown e geradores de site estáticos.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Tanto Netlify quanto Vercel, oferecem um rápido ambiente de desenvolvimento e infraestrutura para deploy de projetos em poucos passos. Sem servidores, sem uma complexa esteira de devops e baixo custo.&lt;/p&gt;

&lt;p&gt;Resultando em sites mais rápidos, melhoria na experiência do usuário e na classificação do Google.&lt;/p&gt;

&lt;p&gt;Alguns exemplos em ambas plataformas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://jamstack.org/examples/"&gt;https://jamstack.org/examples/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vercel.com/docs/introduction"&gt;https://vercel.com/docs/introduction&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  O Projeto Chiwawer 🐶
&lt;/h2&gt;

&lt;p&gt;Com base no git flow podemos entregar sites rapidamente e globalmente. 🙌&lt;/p&gt;

&lt;p&gt;Como exemplo, me aventurei criando um encurtador de URLs utilizando javascript, mongodb e VueJS para uma simples interface.&lt;/p&gt;

&lt;p&gt;Cadastrando uma URL e associando um "apelido" (alias) que servirá como o identificador para a aplicação realizar o redirect.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fz4ss01ocr02dsej16bng.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fz4ss01ocr02dsej16bng.png" alt="Alt Text" width="800" height="714"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Links:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://chiwawer.vercel.app/#/"&gt;Site&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/leoyassuda/chiwawer"&gt;Github&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Aqui vemos uma estrutura básica do projeto:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fyi5ahssu52b6m1sjic5s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fyi5ahssu52b6m1sjic5s.png" alt="Alt Text" width="269" height="572"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Vamos aproveitar e focar na estrutura das pastas de &lt;em&gt;API ,&lt;/em&gt; pela documentação do Vercel, para criarmos nossa camada de REST, basta incluir nossos arquivos diretamente na pas API. Dentro da pasta API, criamos o arquivo &lt;code&gt;index.js&lt;/code&gt; ele será a chamada raiz do nosso REST e cada arquivo funcionará com um serviço servless.&lt;/p&gt;

&lt;p&gt;Como por exemplo fazendo um GET em &lt;a href="https://chiwawer.vercel.app/api"&gt;https://chiwawer.vercel.app/api&lt;/a&gt; o index.js irá responder com uma mensagem como na imagem abaixo.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ffxhbr2i2lq5xfa4byffr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ffxhbr2i2lq5xfa4byffr.png" alt="Alt Text" width="800" height="96"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Então para estruturar a sua camada de API, as pastas serão os paths, a pasta URLS será associada ao path /urls e quem irá responder será o index.js pertencente a ela.&lt;/p&gt;

&lt;p&gt;E como ficam a passagem de parâmetros?&lt;/p&gt;

&lt;p&gt;Nos nossos arquivos js podemos pegar os parâmetros de algumas formas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Query Parameters&lt;/li&gt;
&lt;li&gt;Body Parameters&lt;/li&gt;
&lt;li&gt;Path Segments&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Query Parameters e Body Parameters&lt;/strong&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
    &lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;query&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;query&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;cookies&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;cookies&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No arquivo &lt;code&gt;index.js&lt;/code&gt; da nossa API, podemos receber os parâmetros req e res manipularmos conforme a nossa necessidade. Dentro do objeto req temos os objetos body e query são respectivos das chamadas REST, sendo uma query parameter &lt;code&gt;https://.../api?name=Leo&lt;/code&gt; e assim temos o valor &lt;code&gt;name = "Leo"&lt;/code&gt; e para o body, em um POST por exemplo, podemos ter &lt;code&gt;{ "sobrenome" : "Yassuda" }&lt;/code&gt; .&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://node-echo-api.now-examples.now.sh/api/?name=Leo"&gt;Aqui&lt;/a&gt;&lt;/strong&gt; contém um exemplo na prática, teste também fazendo um POST passando um body json para ver o resultado.&lt;/p&gt;

&lt;h3&gt;
  
  
  Path Segment
&lt;/h3&gt;

&lt;p&gt;Passando parametros pelo path da API exige um passo a mais mas nada complicado.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;https://.../api/name/Leo&lt;/code&gt; - Request de exemplo.&lt;/p&gt;

&lt;p&gt;Para receber esse valor, basta criar a estrura de pastas &lt;code&gt;/api/name/&lt;/code&gt; e nela o nosso js com o nome &lt;code&gt;[name].js&lt;/code&gt; e sim, o arquivo tem nome entre colchetes pois na abstração de roteamento da vercel saberá encaminha a requisição para este arquivo.&lt;/p&gt;

&lt;p&gt;E no arquivo:&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;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;query&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;send&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`Hello &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;!`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://path-segment-with-node.now-examples.now.sh/api/name/Leo"&gt;Aqui um link&lt;/a&gt; para o teste prático.&lt;/p&gt;




&lt;h2&gt;
  
  
  Site
&lt;/h2&gt;

&lt;p&gt;Para o front utilizei uma simples app em VueJs com as CDNs diretamente no HTML.&lt;/p&gt;

&lt;p&gt;Toda estrutura do VueJs e arquivos estáticos deverão ser alocadas na pasta &lt;code&gt;public&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Sem dores de cabeça e gastos com SSL para o seu site, por de baixo dos panos a Vercel usa o &lt;a href="https://letsencrypt.org/"&gt;Let's Encrypt&lt;/a&gt; para adicionar o certificados aos sites e com renovação automática. Portanto desde o primeiro dia em produção com HTTPS habilitado. 😎&lt;/p&gt;




&lt;h2&gt;
  
  
  Github + Vercel
&lt;/h2&gt;

&lt;p&gt;Para linkar seu repo com a conta na Vercel, vá em &lt;a href="https://vercel.com/import"&gt;import&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F5aas93ico7mhbhtutm6g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F5aas93ico7mhbhtutm6g.png" alt="Alt Text" width="648" height="303"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Insira a url do seu repo, nas próximas etapas de projeto é onde feita a configuração do framework usado, build e a localização da pasta do código.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fmutt1y2m0va7dlahb2yh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fmutt1y2m0va7dlahb2yh.png" alt="Alt Text" width="756" height="488"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nas variáveis de ambiente, podemos configurar informações para o usa na aplicação como a conexão do mongoDB e node_env.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwe37gnadp5tpii3gxf8y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwe37gnadp5tpii3gxf8y.png" alt="Alt Text" width="784" height="356"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feito deploy, já é possível acessar o dashboard com o projeto em execução.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1edo3z0fh7mgnfn8c8au.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1edo3z0fh7mgnfn8c8au.png" alt="Alt Text" width="595" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ao acessar o projeto já temos uma pré-vizualição do deploy.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fzcwl0chcdjm939y5qe3o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fzcwl0chcdjm939y5qe3o.png" alt="Alt Text" width="800" height="391"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Como o projeto está associado ao repo do github, a cada atualização na branch master, automaticamente será feito o build e deploy em produção.&lt;/p&gt;

&lt;p&gt;Um bom jeito para o desenvolvimento é seguir um git flow e fazendo os pull request, a cada pull request é possível realizar testes do que foi alterado um uma url pertecente a essa etapa do flow. Após essa verificação e realizando merge em master, o procedimento de produção será inciado.&lt;/p&gt;

&lt;p&gt;Para os detalhes do projeto, visite o repo no github 😊&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://github.com/leoyassuda/chiwawer"&gt;chiwawer&lt;/a&gt; 🐶&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>serverless</category>
      <category>jamstack</category>
      <category>brasil</category>
    </item>
    <item>
      <title>Automação de feed do seu blog no perfil do github 🤖</title>
      <dc:creator>Leo Yassuda</dc:creator>
      <pubDate>Sat, 08 Aug 2020 22:15:50 +0000</pubDate>
      <link>https://dev.to/leoyassuda/automacao-de-feed-do-seu-blog-no-perfil-do-github-41g0</link>
      <guid>https://dev.to/leoyassuda/automacao-de-feed-do-seu-blog-no-perfil-do-github-41g0</guid>
      <description>&lt;h2&gt;
  
  
  Que tal linkar seus novos posts de conteúdo no perfil do github de forma automática?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fde1f6g3icujra84gpmfd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fde1f6g3icujra84gpmfd.png" alt="Alt imagem exemplo no perfil do github" width="800" height="551"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Funciona com a maioria das plataformas de blogs como DEV, Wordpress, Mediume até playlist de youtube. Assim que você publicar um conteúdo novo, através do github actions, irá verificar de tempos em tempos se há uma atualização de FEED, com isso fará um update no readme do seu perfil.&lt;/p&gt;

&lt;p&gt;Caso não saiba como fazer um readme para o seu perfil, &lt;a href="https://dev.to/leoyassuda/um-readme-para-o-seu-user-do-github-27pf"&gt;clique aqui&lt;/a&gt;. 👈&lt;/p&gt;

&lt;p&gt;Então bora lá! 🦾&lt;/p&gt;

&lt;p&gt;Na imagem, tem como exemplo meu único post feito no &lt;a href="http://dev.to"&gt;dev.to&lt;/a&gt; 😜, mas assim que publicar esse conteúdo, teremos dois links na lista. 🤟&lt;/p&gt;

&lt;p&gt;Passo a passo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No seu arquivo &lt;code&gt;REAMDE.md&lt;/code&gt; vamos inserir duas tags de marcação.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Lastest Blog posts&lt;/span&gt;
&lt;span class="s"&gt;&amp;lt;!-- BLOG-POST-LIST:START --&amp;gt;&lt;/span&gt;
&lt;span class="s"&gt;&amp;lt;!-- BLOG-POST-LIST:END --&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Agora na raiz criaremos duas pastas a primeira &lt;code&gt;.github&lt;/code&gt; e dentro a pasta &lt;code&gt;workflows&lt;/code&gt; .&lt;/li&gt;
&lt;li&gt;Dentro da pasta &lt;code&gt;workflows&lt;/code&gt; , criaremos o arquivo de configuração yaml &lt;code&gt;blog-post-workflow.yml&lt;/code&gt; com o seguinte conteúdo.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Latest blog post workflow&lt;/span&gt;
&lt;span class="na"&gt;on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;schedule&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="c1"&gt;# Runs every hour&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;cron&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;0&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;*&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;*&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;*&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;*'&lt;/span&gt;

&lt;span class="na"&gt;jobs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;update-readme-with-blog&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Update this repo's README with latest blog posts&lt;/span&gt;
    &lt;span class="na"&gt;runs-on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ubuntu-latest&lt;/span&gt;
    &lt;span class="na"&gt;steps&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;actions/checkout@v2&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;gautamkrishnar/blog-post-workflow@master&lt;/span&gt;
        &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;feed_list&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://dev.to/feed/seu_usuario,https://medium.com/feed/@seu_usuario"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Obs.: no atributo &lt;code&gt;feed_list&lt;/code&gt; passamos uma String separadas por vírgula dos links dos feeds que vocês queiram, nesse caso um exemplo para linkar o dev.to e o medium.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Agora podemos fazer o commit e push, e esperar pelo github actions ser rodado. ✌️&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Para mais customizações ou opções avançadas, segue o link do autor dessa automação.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/gautamkrishnar/blog-post-workflow#options"&gt;blog-post-workflow&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Espero que tenham gostado =]&lt;/p&gt;

</description>
      <category>brasil</category>
      <category>github</category>
      <category>codenewbie</category>
      <category>git</category>
    </item>
    <item>
      <title>Um README para o seu user do Github?</title>
      <dc:creator>Leo Yassuda</dc:creator>
      <pubDate>Thu, 06 Aug 2020 21:15:18 +0000</pubDate>
      <link>https://dev.to/leoyassuda/um-readme-para-o-seu-user-do-github-27pf</link>
      <guid>https://dev.to/leoyassuda/um-readme-para-o-seu-user-do-github-27pf</guid>
      <description>&lt;h1&gt;
  
  
  Dê um upgrade para o seu perfil =]
&lt;/h1&gt;

&lt;p&gt;Em poucos passos podemos modificar a página do nosso perfil e acrescentar uma cara mais bacaninha como se fosse um "about me". 🖖&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fxufwgv74epwtdzb1w5xg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fxufwgv74epwtdzb1w5xg.png" alt="Alt Text" width="800" height="584"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bora lá e sem enrolação! &lt;/p&gt;

&lt;p&gt;Passo a passo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Qualquer editor de texto (se tiver suporte para tipografia Markdown é bem vindo).&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Um repo com o mesmo nome de seu &lt;strong&gt;USERNAME&lt;/strong&gt; do Github.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;no meu caso, eu já tenho como podem ver na imagem 😛&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fdzx8do736bse65y18rto.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fdzx8do736bse65y18rto.png" alt="Alt Text" width="661" height="312"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;Esse repo tem de ser &lt;strong&gt;PÚBLICO&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1ma1rov2ztf5v22z80nm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1ma1rov2ztf5v22z80nm.png" alt="Alt Text" width="660" height="125"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Na raiz do repo criar o arquivo &lt;strong&gt;README.md&lt;/strong&gt; ou na própria página de criação de repo deixar clicado a opção de criar o arquivo junto do repo.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F8tnc4k6bgf5c5ugenqay.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F8tnc4k6bgf5c5ugenqay.png" alt="Alt Text" width="649" height="117"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pronto! Agora basta customizar o README.md como quiser! 🙌&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Se quiser pode usar o meu de exemplo [&lt;a href="https://bit.ly/30z0OT1"&gt;readme-exemplo&lt;/a&gt;] 👈&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dica:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Caso não apareça o README renderizado no seu perfil, vá no repo e clique no botão "&lt;strong&gt;Share to Profile&lt;/strong&gt;"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F8hjxm3n4azewbi4yb4as.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F8hjxm3n4azewbi4yb4as.png" alt="Alt Text" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>git</category>
      <category>codenewbie</category>
      <category>brasil</category>
    </item>
  </channel>
</rss>
