Markdown es un lenguaje de marcado
ligero muy popular entre developers. Es usado en muchísimas plataformas que
manejan texto plano (GitHub, foros, blogs, ...) y es muy común
encontrar varios archivos en ese formato en cualquier tipo de repositorio
(empezando por el tradicional README.md
).
Estos 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.
mdlinks-run
es una librería desarrollada usando Nodejs que permite leer y analizar archivos en formato Markdown
, para verificar los links que contengan y reportar algunas estadísticas.
Se elaboró un diagrama de flujo para organizar la ruta de desarrollo de este proyecto.
Ejecutando el comando npm i mdlinks-run
podras descargar el paquete de la libreria y ejecutando los siguientes comando podras usarlo:
El ejecutable de esta aplicación se puede ejecutar de la siguiente manera a través de la terminal: node cli.js [options]`
- Si solo se ingresa
node cli.js
, recibimos un mensaje de bienvenida y la información detallada acerca de los comandos
NODE CLI.JS
- Si se ingresa node cli.js `, no se valida si las URLs responden ok o no, solo identifica el archivo markdown (a partir de la ruta que recibe como argumento), analiza el archivo Markdown e imprime los links que vaya encontrando, junto con la ruta del archivo donde aparece y el texto que hay dentro del link.
node cli.js pruebaDocs/menos.md
- Si se ingresa node cli.js --validate`, el módulo hace una petición HTTP para averiguar si el link funciona o no. Si el link resulta en una redirección a una URL que responde ok, entonces consideraremos el link como ok.
- Si se ingresa node cli.js --stats`, el output (salida) será un texto con estadísticas básicas sobre los links.
- Si se ingresa node cli.js --stats --validate
o node cli.js <path-to-file> --validate --stats
, obtendremos estadísticas que necesiten de los resultados de la validación.
Retornara los siguientes errores al no cumplir con los parametros:
- Al ingresar un path que no existe
Error: The path DOES NOT exist
- Al ingresar un path que no es un archivo con extensión .md
Error: It IS NOT an .md file