0.1.0 • Published 2 years ago

myllenammartins-md-links v0.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Markdown Links

Resumo do projeto

Neste projeto, foi desenvolvido uma ferramenta de linha de comando (CLI) assim como uma biblioteca (library) em Javascript para Análise de Links em Arquivos Markdown. Um projeto Back-end onde foi utilizado as tecnologias Node.js, para o desenvolvimento do código, e o Jest, para execusão dos testes unitários.

O propósito fundamental dessa biblioteca é possibilitar a leitura de arquivos no formato Markdown, localizados na máquina do usuário, e realizar uma análise da presença de links nesses documentos. A flexibilidade da biblioteca permite não somente a identificação de links, mas também a verificação de sua validade e a obtenção de estatísticas sobre cada um deles.

Para uma melhor visualização das informações no terminal, foi feita uma estilização da CLI utilizando o chalk-cli e cli-table3.

Objetivos de aprendizagem

  • JavaScript
  • Node.js
  • HTTP
  • Controle de Versões (Git e GitHub)

Considerações gerais

1. Instalação

O módulo pode ser instalado com o seguinte comando:

$ npm install myllenammartins-md-links

2. CLI (Command Line Interface - Interface de Linha de Comando)

Pré-requisitos:

  • Instalação do Node.js com versão >=16;
  • Instalação do gitbash para utiliza-lo como ambiente de execução;

Pode ser executado da seguinte maneira, através do terminal:

md-links <path-to-file> [options]

Deve identificar o arquivo Markdown (a partir da rota que recebeu como argumento), analisar o arquivo Markdown e imprimir os links que vão sendo encontrados, junto com a rota do arquivo onde aparece e o texto encontrado dentro do link (truncado 50 caracteres).

Por exemplo:

Options

--validate

Se passamos a opção --validate, o módulo deve fazer uma requisição HTTP para verificar se o link funciona ou não. Se o link resultar em um redirecionamento a uma URL que responde ok, então consideraremos o link como ok.

Por exemplo:

Vemos que o output neste caso inclui a palavra ok e fail depois da URL, assim como o status da resposta recebida à requisição HTTP feita pela URL.

--stats

Se passamos a opção --stats o output (saída) será um texto com estatísticas básicas sobre os links.

Também podemos combinar --stats e --validate para obter estatísticas que necessitem dos resultados da validação.

Fluxograma

Para aprimorar a visualização do planejamento de tarefas e objetivos a serem alcançados, a organização do projeto foi representada por meio de um fluxograma, conforme ilustrado abaixo: