Leitor de Markdown
Leitor de Markdown
Programa em Node.js Vanilla para leitura e verificação de links de arquivos md, projeto com base nas aulas de Node da Alura. Fr4nxxB0t-01 v1.0.0
🪧 Vitrine.Dev | https://cursos.alura.com.br/vitrinedev/franklindrw |
---|---|
✨ Nome | Leitor de Markdown |
🏷️ Tecnologias | Javascript, Node.js, Jest |
🚀 URL | |
🔥 Desafio | Criar um leitor de markdown para testar URL |
🧭 Índice
🔎 Sobre o Projeto
Objetivo
O Robo tem como objetivo abrir postagens de blogs ou artigos escritos em markdown para identificar e testar todos os links referenciados no texto para que não seja necessário a verificação manual abrindo link por link. Com isso é possível facilitar o dia-a-dia da redação do blog ou site para garantir que todos os conteúdos estão funcionando, deixando a manutenção automatizada.
Ao executar a aplicação ela mostra a lista de links encontradas no texto, e abaixo qual o status, sendo que status 200 está online, e status 400 ou maior está offline com o código do erro retornado.
Construção
Para essa aplicação foi usado na sua estrutura Vanilla.js (Javascript Puro), com ele foi possível fazer a leitura do arquivo e identificar o padrão dos links existentes com regex em todo o texto que está sendo lido pelo robo.
Aqui na função "pega arquivo" foi usado async e await para que o JS aguarde que o ReadFile (leitor de arquivos) do javascript possa ler e armazenar todo o texto em uma variável, para que assim possa seguir para as outras funções. E para validação de erros foi colocado um try catch, assim caso algum erro aconteça durante a operação possa ser identificado e tratado durante a construção da aplicação.
Após a captura do texto é passado para função de extração de links, que por sua vez usa regex para identificar os padrões dos links salvos no texto e monta a lista de links
Node-fetch
Após o robo montar a lista com todos os links encontrados no texto, ele faz o teste usando Node-fetch para capturar o retorno do servidor de cada link, assim identificando quais estão com algum problema e mostrar para o usuário do programa quais links precisam de reparos.
Então após validar todos os links, o robo monta novamente o array, inserindo conforme o index definido na função map o status code de cada objeto.
Testes unitários Jest.js
Por fim, toda a aplicação foi validada usando um framework de testes Jest.js, com ele conseguimos fazer um fluxo de testes para garantirmos que toda a aplicação está em funcionamento, então conforme foi construido o Robo, foi montado um fluxo de testes para que seja validado a qualidade do produto conforme ela se desenvolve.
Além de conseguirmos acompanhar todo o fluxo da aplicação é possível também vermos a tempo usado para executar cada fluxo programado.
🔨 Construindo com
📥 Instalação
- Verifique se você tem o node instalado em sua maquina executando o comando a baixo no prompt da sua máquina:
node -v
caso não tenha sido identificado o comando é necessário instalar node para executar o programa, siga os passos clicando aqui!
Clone o repositório
Navegue até a pasta clonada
Abra o CMD na pasta ou abra uma janela cmd e cole o caminho após digitar cd
▶️ Como usar
Copie o endereço do arquivo que você quer que o Robo faça leitura e teste as URLs encontradas
Depois com o CMD aberto na pasta do projeto execute o comando com o caminho do arquivo a frente:
node cli.js <caminho do arquivo>
Com isso é possível ver a lista impressa no cmd, com todos os links encontrados e seus respectivos status code.
Caso queira ver o fluxo de teste do jest, basta executar no cmd:
npm run test
🖊 Autor

Franklin Campos
Feito por Franklin Campos 👋🏻
Entre em contato!
📋 Licença
Copyright 2022 © Franklin Campos
This project is MIT licensed.