npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

md-links-cnpg

v0.1.0

Published

* [1. Prefácio](#1-prefácio) * [2. Resumo do projeto](#2-resumo-do-projeto) * [3. Objetivos de aprendizagem](#3-objetivos-de-aprendizagem) * [4. Considerações gerais](#4-considerações-gerais) * [5. Critérios de aceitação mínimos do projeto](#5-criteri

Downloads

2

Readme

Markdown Links

Í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.

Para este projeto, tendo este cenário em vista, foi criada uma biblioteca para verificar se existem links, e se os mesmos estão válidos, dentro de arquivos Markdown.

2. Objetivo

O pacote md-links-cnpg foi criado com o objetivo de auxiliar os usuários a encontrarem links dentro de arquivos do tipo Markdown (normalmente reconhecidos por terem como extensão .md ). Ela foi desenvolvida a partir da ferramenta de linha de comando (CLI), e disponibilizada na biblioteca npm.

3. Interface

O módulo oferece a seguinte interface:

mdLinks(path, options)

3.1.1. Parâmetros
  • path: Rota absoluta ou relativa ao arquivo ou diretório.
  • options: Um objeto com a seguinte propriedade:
    • validate: Um booleano que determina se deseja validar os links encontrados.
    • stats: Booleano que determina se deseja obter um output com informações estatísticas gerais.
3.1.2. Valor de retorno

A função retorna uma promessa (Promise) que resolve um array (Array) de objetos (Object), onde cada objeto representa um link, contendo as seguintes propriedades:

Apenas com o parâmetro path:

  • href: URL encontrada.
  • Texto: Texto que faz referência ao link.
  • Arquivo: Rota do arquivo onde foi encontrado o link.

Com os parâmetros: path e --validate:

  • href: URL encontrada.
  • Texto: Texto que faz referência ao link.
  • Arquivo: Rota do arquivo onde foi encontrado o link.
  • status: Código de resposta HTTP, OU N/A
  • Ok: Mensagem FAIL em caso de falha ou OK em caso de sucesso.

Com os parâmetros: path e --stats:

  • Total de links: Número total de links encontrados.
  • Links únicos: Número de links que não se repetem.

Com os parâmetros: path, --validate e --stats:

  • Total de links: Número total de links encontrados.
  • Links únicos: Número de links que não se repetem.
  • links Quebrados: Quantidade de links quebrados.

4. Instalação

Para começar a usar o md-links-cnpg, você precisa tê-lo instalado no seu projeto. Para fazer isso, abra o terminal e execute o seguinte comando:

$ npm install md-links-cnpg

Pré-requisitos:

  • instalação do noje.js versão >16;
  • instalação do gitbash para utiliza-lo como ambiente de execução.

5. Guia de Uso

A lib deve ser usada no terminal via linha de comando, recomendamos a utilização do Git Bash para evitar problemas de permissão.

Existem quatro formas de buscar por links dentro de arquivos .md usando esta lib, são elas:

5.1. Informando somente o caminho (path)

O Markdown Links utiliza o comando md-links para fazer a busca e recebe como parâmetro o path absoluto ou relativo.

Exemplo de utilização do comando:

$ md-links <path-to-file>

Sendo que em você insere o caminho do arquivo que deseja analisar

Exemplo de retorno que será exibido no terminal:

href: https://www.google.com/ 
Texto: Google
Arquivo: path/arquivo.md

href: https://www.facebook.com/ 
Texto: Facebook
Arquivo: path/arquivo.md

5.1.1. Fluxograma

Cenário 1: md-links executado apenas com o parâmetro path

Pré-requisito: inserir um path válido.

Diagrama1

5.2. Informando o caminho e a opção --validate

Exemplo de utilização do comando:

$ md-links <path-to-file> --validate

Sendo que em você insere o caminho do arquivo que deseja analisar

Exemplo de retorno que será exibido no terminal:

href: https://www.google.com/ 
Texto: Google
Arquivo: path/arquivo.md
Status: 200
Ok: Ok

href: https://www.goosgle.com/
Texto: Google
Arquivo: path/arquivo.md
Status: N/A
Ok: FAIL

5.2.1. Fluxograma

Cenário 2: md-links executado com os parâmetros path e --validate

Pré-requisito: inserir um path válido.

Diagrama2

5.3. Informando o path e --stats

Exemplo de utilização do comando:

$ md-links <path-to-file> --stats

Exemplo de retorno que será exibido no terminal:

Total de links: 2
Links únicos: 2

5.4. Informando o path, --stats e --validate

Exemplo de utilização do comando:

$ md-links <path-to-file> --validate --stats

Exemplo de retorno que será exibido no terminal:

Total de links: 2
Links únicos: 2
Links quebrados: 1

5.4.1. Fluxograma

Cenário 4: md-links executado com os parâmetros path. --stats e --validate

Pré-requisito: inserir um path válido.

Diagrama3

6. Cobertura de Testes

Cobertura-testes

7. Contato

Camila Gonçalves