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.
Dentro de una comunidad de código abierto, nos han propuesto crear una
herramienta usando Node.js, que lea y analice archivos
en formato Markdown
, para verificar los links que contengan y reportar
algunas estadísticas.
La siguiente librería te permite encontrar y extraer todos los enlaces dentro de uno o varios archivos Markdown (.md) a la vez, además de analizarlos y mostrarlos por consola, junto con características como: el texto que los acompaña, la ruta donde se encuentran, si el enlace esta roto y su código de error. Igualmente, permite navegar por medio de un menú y así ver las estadísticas de los mismos, tales como: total de links encontrados, únicos y rotos.
El proyecto consta de dos partes:
-
API: Se divide en dos partes:
- Síncrona: Haciendo uso de módulos de Node.js como: file system, path, junto con sus métodos específicos para poder trabajar con archivos del sistema y sus correspondientes rutas. En esta parte se realizaron métodos que permiten resolver las rutas, encontrar los archivos .md de un directorio por medio de la recursividad, extraer los links de dichos archivos y retornar sus estadísticas.
- Asíncrona: Se hizo uso del módulo Fetch para poder hacer las peticiones HTTP correspondientes y verificar así el estado de los links. Luego, también se hizo uso de promesas para el manejo de errores y la creación de la función mdLinks que hace el llamado de los métodos anteriores.
-
CLI: Se hizo uso del módulo inquirer para la entrada de argumentos, en este caso la ruta, y se realizó el menú que permite escoger al usuario entre diferentes opciones de visualización de los datos
npm i md-links-bylizdelrio
Abrir una terminal y escribir: mdLinks
- Se ingresa la ruta que se desea analizar
- Luego se escoge entre las opciones del menú:
- Resultado para opción show
- Resultado para opción validate
- Resultado para opción validate-stats
- Resultado para opción help