Skip to content

Quarto projeto desenvolvido pelo bootcamp @Laboratoria . [BACK-END] Markdown Links (md-links) é uma lib para identificar links em arquivos markdown, bem como seus respectivos status https. Criada usando NodeJS, pode ser executada através de CLI.

Notifications You must be signed in to change notification settings

patriciadania/SAP009-md-links

 
 

Repository files navigation

Markdown Links 💻

Quarto projeto desenvolvido pelo bootcamp @Laboratoria . [BACK-END] Markdown Links (md-links) é uma lib para identificar links em arquivos markdown, bem como seus respectivos status https. Criada usando NodeJS, pode ser executada através de CLI.


Jest Rafa-Js git git vscode

Desenvolvido por :

Patricia Adania de Oliveira
Linkedin | Github


Índice


1. Prefácio

Markdown é uma linguagem de marcação muito popular entre os programadores. É usada em muitas plataformas que manipulam texto (GitHub, fórum, blogs e etc) e é muito comum encontrar arquivos com este formato em qualquer repositório (começando pelo tradicional README.md).

Os arquivos Markdown normalmente contém links que podem estar quebrados, ou que já não são válidos, prejudicando muito o valor da informação que está ali.

Uma comunidade open source nos propôs criar uma ferramenta, usando Node.js, que leia e analise arquivos no formato Markdown, para verificar os arquivos que contenham links e mostrar algumas estatísticas.

2. Resumo do projeto

Neste projeto, foi criado uma ferramenta de linha de comando (CLI) assim como a sua própria biblioteca (library) em Javascript.

Desta vez, ficamos um pouco longe do navegador para construir um programa executado com Node.js. Iremos aprender sobre processos (process.env, process.argv, ...),como interagir com sistemas de arquivos, como fazer consultas de rede, etc.

Node.js é um ambiente de execução para JavaScript construído com o motor de JavaScript V8 do Chrome. Ele vai nos permitir executar o JavaScript no nosso sistema operacional, seja no seu computador ou em um servidor, o que nos abre portas para poder interagir com sistemas, arquivos, redes e etc.

Desenvolver sua própria biblioteca é uma experiência fundamental para qualquer desenvolvedora, pois te obriga a pensar na interface (API) dos seus módulos e como ela será usada por outras desenvolvedoras. Você deve levar em conta as peculiaridades da linguagem, convenções e boas práticas.

3. Instalação

  • npm install md-links-patriciaadania

4. Comandos

sem comando
Comando: $ md-links ./arquivos/texto.md
comando validate
Comando: $ md-links ./arquivos/texto.md --validate
comando stats
Comando: $ md-links ./arquivos/texto.md --stats
comando validate e stats
Comando: $ md-links ./arquivos/texto.md --stats --validate

5. Arquivos do Projeto

  • README.md com descrição do módulo, instruções de instalação e uso, documentação da API e exemplos. Tudo que for relevante para qualquer desenvolvedora saber como utilizar a sua biblioteca sem inconvenientes.
  • index.js: este arquivo deve exportar a função mdLinks.
  • package.json deve possuir o nome, versão, descrição, autor, licença, dependências e scripts (pretest, test e etc).
  • .editorconfig com a configuração para o editor de texto. Este arquivo não deve ser alterado.
  • .eslintrc com a configuração para o linter. Este arquivo contém uma configuração básica para ESLint, se quiser colocar regras adicionais como Airbnb, você deverá modificar este arquivo.
  • .gitignore para ignorar o node_modules e outras pastas que não devem ser incluídas no controle de versão (git).
  • test/md-links.spec.js deve conter os testes unitários para a função mdLinks(). A sua implementação deve rodar estes testes.

6. Teste

teste

Função mdLinks passou no teste.

7. Fluxograma

fluxograma

Fluxograma para estudos.

About

Quarto projeto desenvolvido pelo bootcamp @Laboratoria . [BACK-END] Markdown Links (md-links) é uma lib para identificar links em arquivos markdown, bem como seus respectivos status https. Criada usando NodeJS, pode ser executada através de CLI.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%