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

fvm-md-links

v0.1.0

Published

Reads and parses markdown files. To verify the links they contain and report some features.

Downloads

3

Readme

Markdown Links

Índice


1. ¿Qué es mdlinks?

Los archivos Markdown normalmente contienen links (vínculos/ligas) que muchas veces están rotos o ya no son válidos y eso perjudica mucho el valor de la información que se quiere compartir.

Para solucionar esa problemática, fue creada mdlinks, la cual es una herramienta de Línea de comando(CLI), creada en Javascript usando Node.js, que lee y analiza archivos en formato Markdown, con el fin de verificar los links que contiene el archivo y reportar algunas estadísticas.

md-links

2. ¿Cómo se utiliza?

  • Puedes instalar el módulo desde mi repositorio en github via

npm install --global <github-FranciscaValdes>/md-links

Los comandos que ingreses dependerán de las verificaciones y estadísticas que desees obtener:

1.-Para ver un listado con los links y sus propiedades:

fvm-md-links 'tu ruta a tu archivo .md'

md-links

2.-Para averiguar si el link funciona o no:

fvm-md-links 'tu ruta a tu archivo .md' --validate

md-links

Vemos que el output en este caso incluye el status de la respuesta recibida a la petición HTTP a dicha URL, aspi como la palabra ok o fail después de la propiedad href, que será 'fail' en caso de que hubiera un error en el status recibido.

3.-Para ver de forma simple el total de links y los links únicos:

fvm-md-links 'tu ruta a tu archivo .md' --stats

md-links

4.-Para conocer el total de links, links únicos y links rotos:

fvm-md-links 'tu ruta a tu archivo .md' --validate--stats

md-links

3. ¿Cómo se pensó mdlinks?

Por parte del developer:

  • 1.- Developer necesita encontrar links rotos, buenos y repertidos en su archivo md
  • 2.- Instala npm install --global /md-links
  • 3.- Ejecutar (md-links [options])
  • 4.- $ md-links ./some/example.md Ejecuta el programa y entrega el archivo a revisar
  • 5.- Se imprime en consola la ruta y los links encontrados.

Por parte del programa

Programa debe estar disponible para ser instalado a través de npm install (Configurar package.json, repo público)

  • 1.- pásame una ruta
  • 2.-Ruta/ archivo: es válido? Si: se continúa / No: lanzar error: “Archivo/ Ruta no válidos”
  • 3.- Ruta: Absoluta || Relativa
  • 4.- Buscar archivo md válido para leer / si no lo encuentra, lanzar error: “No se ha encontrado archivo formato .md, verificar formato”
  • 5.- Analizar archivo md y encontrar links.
  • 6.- Retornar una promesa que resuelva un arreglo de objetos:

-Cada objeto representa un link y contiene las sgtes. Propiedades:

  • Con validate:false :

• href: URL encontrada.

• text: Texto que aparecía dentro del link ().

• file: Ruta del archivo donde se encontró el link.

  • Con validate:true :

• href: URL encontrada.

• text: Texto que aparecía dentro del link ().

• file: Ruta del archivo donde se encontró el link.

• status: Código de respuesta HTTP.

• ok: Mensaje fail en caso de fallo u ok en caso de éxito.

  • 7.- Imprimirlos en consola.

4. Desafíos personales enfrentados en el proyecto

Éste fue mi cuarto proyecto realizado en la generación SCL019 del bootcamp de Laboratoria, fue un tremendo desafío al principio, porque generó para mí un cambio total de escenario:

  • 1°: Se debía resolver de manera individual (los dos proyectos anteriores habían sido trabajados con una y dos compañeras más)

  • 2°: No se utilizaba html, ni css; nos alejamos completamente del navegador para adentrarnos en una forma de crear un programa de una forma un poco más abstracta.

Al principio todo fue un caos, tuve que leer el readme del proyecto muchas veces para ir adentrandome de a poco en cómo resolverlo. Finalmente mdLinks se transformó en uno de mis proyectos favoritos realizados en el bootcamp!

El gran aprendizaje que me dejó éste proyecto es que en equipo se avanza mejor y más rápido (aprendí ésto porque no trabajé el proyecto en equipo, pero sí pedí ayuda a mis compañeras, lo cual me ayudó a poder ir entendiendo mejor lo que debía hacer y finalmente poder resolverlo).